1 2010-05-18 Jaime Yap <jaimeyap (a] google.com> 2 3 Reviewed by Pavel Feldman. 4 5 Removes public callLocation API and utility context from ScriptCallStack. 6 Adds ability to grab the top 5 JavaScript stack frames for each timeline 7 record using new fast V8 stack trace API. 8 https://bugs.webkit.org/show_bug.cgi?id=37502 9 10 * bindings/js/ScriptCallStack.cpp: 11 (WebCore::ScriptCallStack::stackTrace): 12 * bindings/js/ScriptCallStack.h: 13 * bindings/v8/ScriptArray.h: 14 (WebCore::ScriptArray::ScriptArray): 15 * bindings/v8/ScriptCallStack.cpp: 16 (WebCore::ScriptCallStack::callLocation): 17 (WebCore::ScriptCallStack::stackTrace): 18 * bindings/v8/ScriptCallStack.h: 19 * inspector/TimelineRecordFactory.cpp: 20 (WebCore::TimelineRecordFactory::createGenericRecord): 21 * inspector/front-end/TimelinePanel.js: 22 (WebInspector.TimelinePanel.FormattedRecord): 23 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 24 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 25 26 2010-05-24 Anders Carlsson <andersca (a] apple.com> 27 28 Try to fix build. 29 30 * plugins/npapi.cpp: 31 (NPN_ReloadPlugins): 32 33 2010-05-24 Anders Carlsson <andersca (a] apple.com> 34 35 Reviewed by Sam Weinig. 36 37 Get rid of PlugInInfoStore. 38 https://bugs.webkit.org/show_bug.cgi?id=39608 39 40 * WebCore.gyp/WebCore.gyp: 41 * WebCore.gypi: 42 * WebCore.pro: 43 * WebCore.vcproj/WebCore.vcproj: 44 * WebCore.xcodeproj/project.pbxproj: 45 * platform/android/TemporaryLinkStubs.cpp: 46 * plugins/PluginInfoStore.cpp: Removed. 47 * plugins/PluginInfoStore.h: Removed. 48 * plugins/npapi.cpp: 49 50 2010-05-24 Sheriff Bot <webkit.review.bot (a] gmail.com> 51 52 Unreviewed, rolling out r60068. 53 http://trac.webkit.org/changeset/60068 54 https://bugs.webkit.org/show_bug.cgi?id=39600 55 56 "Causes fast/repaint/search-field-cancel to fail." (Requested 57 by jparent on #webkit). 58 59 * rendering/RenderObject.h: 60 (WebCore::objectIsRelayoutBoundary): 61 62 2010-05-24 Jeremy Orlow <jorlow (a] chromium.org> 63 64 Unreviewed. Checked in merge error. :-( 65 66 * CMakeLists.txt: 67 68 2010-05-24 Steve Block <steveblock (a] google.com> 69 70 Reviewed by Darin Adler. 71 72 Geolocation causes DOMWindow to leak if position requests are in progress when the page is navigated away 73 https://bugs.webkit.org/show_bug.cgi?id=39288 74 75 Test: fast/dom/Geolocation/ongoing-request-leak.html 76 77 * loader/FrameLoader.cpp: 78 (WebCore::FrameLoader::stopLoading): Stop all Geolocation instances. This call is made after the unload event has fired, so no new Geolocation activity is possible. 79 * page/Geolocation.cpp: 80 (WebCore::Geolocation::stop): Removes all ongoing requests and stops the service. 81 (WebCore::Geolocation::disconnectFrame): Removed calls to stopUpdating() and stopTimers(), as this will already have been done in stop(); 82 * page/Geolocation.h: Added stop() method. 83 84 2010-05-24 MORITA Hajime <morrita (a] google.com> 85 86 Reviewed by Kent Tamura. 87 88 Textarea shouldn't grow when you type. 89 https://bugs.webkit.org/show_bug.cgi?id=32077 90 91 <textarea> with percent-specified, height-related properties did 92 cause partial-layout rooted from the renderer, that resulted 93 different box height between full-layout and partial-layout. This 94 is because calcHeight() assumes that the layout calculation of the 95 RenderBlock's parent is ongoing. But this assumption is violated 96 when the RenderBlock is root of the layout calculation. 97 98 So we prevent such <textarea>'s RenderObjects from being layout 99 root. 100 101 Test: fast/forms/textarea-percentage-dimensions.html 102 103 * rendering/RenderObject.h: 104 (WebCore::objectIsRelayoutBoundary): 105 106 2010-05-20 Jeremy Orlow <jorlow (a] chromium.org> 107 108 Reviewed by Alexey Proskuryakov. 109 110 Add DOMStringList idl, needed for IndexedDB and for HTML5 drag & drop 111 https://bugs.webkit.org/show_bug.cgi?id=39429 112 113 IndexedDB depends on DOMStringList. 114 http://dev.w3.org/2006/webapi/WebSimpleDB/#idl-def-IDBDatabase 115 It's currently specced here: 116 http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList 117 118 Existing tests cover the constructor. IndexedDB will also use this 119 soon (and thus add test coverage). 120 121 * Android.mk: 122 * Android.derived.jscbindings.mk: 123 * Android.derived.v8bindings.mk: 124 * CMakeLists.txt: 125 * DerivedSources.cpp: 126 * DerivedSources.make: 127 * GNUmakefile.am: 128 * WebCore.gypi: 129 * WebCore.pri: 130 * WebCore.pro: 131 * WebCore.vcproj/WebCore.vcproj: 132 * WebCore.xcodeproj/project.pbxproj: 133 * bindings/scripts/CodeGeneratorJS.pm: 134 * dom/DOMStringList.h: Added. 135 (WebCore::DOMStringList::create): 136 (WebCore::DOMStringList::length): 137 (WebCore::DOMStringList::item): 138 (WebCore::DOMStringList::isEmpty): 139 (WebCore::DOMStringList::clear): 140 (WebCore::DOMStringList::append): 141 (WebCore::DOMStringList::DOMStringList): 142 * dom/DOMStringList.idl: Added. 143 * page/DOMWIndow.idl: Re-enabled constructor 144 145 2010-05-23 Shinichiro Hamaji <hamaji (a] chromium.org> 146 147 Reviewed by Alexey Proskuryakov. 148 149 0x5C of EUC-JP is not Yen Sign but U+005C 150 https://bugs.webkit.org/show_bug.cgi?id=24906 151 152 Tests: editing/selection/find-yensign-and-backslash-with-japanese-fonts.html 153 fast/text/backslash-to-yen-sign-dynamic.html 154 fast/text/backslash-to-yen-sign.html 155 156 * GNUmakefile.am: 157 * WebCore.gyp/WebCore.gyp: 158 * WebCore.gypi: 159 * WebCore.pro: 160 * WebCore.vcproj/WebCore.vcproj: 161 * WebCore.vcproj/WebCoreCommon.vsprops: 162 * WebCore.xcodeproj/project.pbxproj: 163 * platform/graphics/Font.cpp: 164 (WebCore::Font::Font): 165 (WebCore::Font::operator=): 166 * platform/graphics/Font.h: 167 (WebCore::Font::needsTranscoding): 168 * platform/text/CharacterNames.h: 169 * platform/text/transcoder/FontTranscoder.cpp: Added. 170 (WebCore::FontTranscoder::FontTranscoder): 171 (WebCore::FontTranscoder::converterType): 172 (WebCore::FontTranscoder::convert): 173 (WebCore::FontTranscoder::needsTranscoding): 174 (WebCore::fontTranscoder): 175 * platform/text/transcoder/FontTranscoder.h: Added. 176 (WebCore::FontTranscoder::): 177 * rendering/RenderText.cpp: 178 (WebCore::RenderText::updateNeedsTranscoding): 179 (WebCore::RenderText::styleDidChange): 180 (WebCore::RenderText::setTextInternal): 181 182 2010-05-23 MORITA Hajime <morrita (a] google.com> 183 184 Unreviewed, rolling out r60060. 185 http://trac.webkit.org/changeset/60060 186 https://bugs.webkit.org/show_bug.cgi?id=32077 187 188 breaks chromium test 189 190 * rendering/RenderObject.h: 191 (WebCore::objectIsRelayoutBoundary): 192 193 2010-05-23 Justin Schuh <jschuh (a] chromium.org> 194 195 Reviewed by Shinichiro Hamaji. 196 197 Style cleanup for r56288 198 https://bugs.webkit.org/show_bug.cgi?id=39554 199 200 Cleaning up style from a previous patch. No tests needed because no 201 logic is changed. 202 203 * svg/SVGFEMorphologyElement.cpp: 204 (WebCore::SVGFEMorphologyElement::build): 205 206 2010-05-23 MORITA Hajime <morrita (a] google.com> 207 208 Reviewed by Kent Tamura. 209 210 Textarea shouldn't grow when you type. 211 https://bugs.webkit.org/show_bug.cgi?id=32077 212 213 <textarea> with percent-specified, height-related properties did 214 cause partial-layout rooted from the renderer, that resulted 215 different box height between full-layout and partial-layout. This 216 is because calcHeight() assumes that the layout calculation of the 217 RenderBlock's parent is ongoing. But this assumption is violated 218 when the RenderBlock is root of the layout calculation. 219 220 So we prevent such <textarea>'s RenderObjects from being layout 221 root. 222 223 Test: fast/forms/textarea-percentage-dimensions.html 224 225 * rendering/RenderObject.h: 226 (WebCore::objectIsRelayoutBoundary): 227 228 2010-05-23 Sam Weinig <sam (a] webkit.org> 229 230 Reviewed by Oliver Hunt. 231 232 Fix for https://bugs.webkit.org/show_bug.cgi?id=39575 233 Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject 234 235 - Changes JSDOMWindowShell to inherit from JSObject instead of 236 DOMObject since it doesn't ever go into any DOMObject tables. 237 In a separate change, we may want to make this inherit from 238 JSObjectWithGlobalObject since JSDOMWindowShell does store a 239 global object pointer. 240 - Change DOMObject to inherit from JSObjectWithGlobalObject 241 instead of JSObject. In this change I am keeping around 242 DOMObjectWithGlobalPointer, which now just uses the capabilities 243 of JSObjectWithGlobalObject instead of implementing them 244 itself. DOMObjectWithGlobalPointer will go away in a subsequent 245 patch. 246 247 * bindings/js/JSDOMBinding.h: 248 (WebCore::DOMObjectWithGlobalPointer::globalObject): 249 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 250 * bindings/js/JSDOMWindowShell.h: 251 * bindings/js/JSDOMWrapper.h: 252 (WebCore::DOMObject::DOMObject): 253 254 2010-05-23 Eric Seidel <eric (a] webkit.org> 255 256 Unreviewed, just being a copy/paste monkey. Oook, eeek. 257 258 Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec 259 https://bugs.webkit.org/show_bug.cgi?id=39572 260 261 Add HTML5TreeBuilder.* to each of WebKit's 85,324 build systems. 262 263 * Android.mk: 264 * CMakeLists.txt: 265 * GNUmakefile.am: 266 * WebCore.gypi: 267 * WebCore.pro: 268 * WebCore.vcproj/WebCore.vcproj: 269 270 2010-05-23 Eric Seidel <eric (a] webkit.org> 271 272 Reviewed by Adam Barth. 273 274 Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec 275 https://bugs.webkit.org/show_bug.cgi?id=39572 276 277 We've been working on the tokenization (lexing) section of the HTML5 278 spec until now and leaning on the old HTMLParser for tree building. 279 We need to start writing more of the tree building sections of the spec, 280 but to do that we need a place to put the new code. 281 282 This patch moves our old-to-new conversion hacks out of HTML5Tokenizer 283 (our Tokenizer.h implementation) and into HTML5TreeBuilder. 284 Follow-up patches will add new HTML5 tree building code to this file 285 and will allow us to switch between old and new parser/treebuilder 286 implementations. 287 288 No change in behavior, thus no new tests. 289 290 * WebCore.xcodeproj/project.pbxproj: 291 * html/HTML5Tokenizer.cpp: 292 (WebCore::HTML5Tokenizer::HTML5Tokenizer): 293 (WebCore::HTML5Tokenizer::write): 294 - Call the new HTML5TreeBuilder code. 295 * html/HTML5Tokenizer.h: 296 * html/HTML5TreeBuilder.cpp: Added. 297 * html/HTML5TreeBuilder.h: Added. 298 299 2010-05-23 Sam Weinig <sam (a] webkit.org> 300 301 Reviewed by Oliver Hunt. 302 303 Fix for https://bugs.webkit.org/show_bug.cgi?id=39574 304 Complete the merge of NamedMappedAttrMap into NamedNodeMap. 305 306 * Android.mk: 307 * CMakeLists.txt: 308 * GNUmakefile.am: 309 * WebCore.gypi: 310 * WebCore.pro: 311 * WebCore.vcproj/WebCore.vcproj: 312 * WebCore.xcodeproj/project.pbxproj: 313 * css/CSSStyleSelector.cpp: 314 (WebCore::CSSStyleSelector::canShareStyleWithElement): 315 (WebCore::CSSStyleSelector::styleForElement): 316 * dom/Element.cpp: 317 (WebCore::Element::createAttributeMap): 318 * dom/NamedMappedAttrMap.cpp: Removed. 319 * dom/NamedMappedAttrMap.h: Removed. 320 * dom/NamedNodeMap.cpp: 321 (WebCore::NamedNodeMap::setClass): 322 (WebCore::NamedNodeMap::declCount): 323 (WebCore::NamedNodeMap::mapsEquivalent): 324 (WebCore::NamedNodeMap::mappedMapsEquivalent): 325 * dom/NamedNodeMap.h: 326 (WebCore::NamedNodeMap::create): 327 (WebCore::NamedNodeMap::clearClass): 328 (WebCore::NamedNodeMap::classNames): 329 (WebCore::NamedNodeMap::hasMappedAttributes): 330 (WebCore::NamedNodeMap::declRemoved): 331 (WebCore::NamedNodeMap::declAdded): 332 (WebCore::NamedNodeMap::NamedNodeMap): 333 * dom/StyledElement.h: 334 (WebCore::StyledElement::mappedAttributes): 335 * html/HTML5Token.h: 336 * html/HTML5Tokenizer.cpp: 337 (WebCore::convertToOldStyle): 338 * html/HTMLInputElement.cpp: 339 (WebCore::HTMLInputElement::setInputType): 340 * html/HTMLParser.cpp: 341 (WebCore::HTMLParser::handleIsindex): 342 * html/HTMLTokenizer.cpp: 343 (WebCore::Token::addAttribute): 344 (WebCore::HTMLTokenizer::processToken): 345 * html/HTMLTokenizer.h: 346 * html/HTMLViewSourceDocument.cpp: 347 (WebCore::HTMLViewSourceDocument::createContainingTable): 348 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): 349 (WebCore::HTMLViewSourceDocument::addLine): 350 (WebCore::HTMLViewSourceDocument::addLink): 351 352 2010-05-23 Adam Barth <abarth (a] webkit.org> 353 354 Reviewed by Eric Seidel. 355 356 Teach HTML5 parser how to lex comments correctly 357 https://bugs.webkit.org/show_bug.cgi?id=39537 358 359 Implement the non-bogus comment states for the lexer. There's more 360 work to do in some of these states (e.g., to handle doctype tokens and 361 bogus comments), but I'm trying to keep the patches small. 362 363 Tests: comments01.dat 364 365 * html/HTML5Lexer.cpp: 366 (WebCore::HTML5Lexer::nextToken): 367 * html/HTML5Lexer.h: 368 * html/HTML5Token.h: 369 (WebCore::HTML5Token::beginComment): 370 (WebCore::HTML5Token::appendToComment): 371 (WebCore::HTML5Token::data): 372 * html/HTML5Tokenizer.cpp: 373 (WebCore::convertToOldStyle): 374 * platform/text/SegmentedString.h: 375 (WebCore::SegmentedString::): 376 (WebCore::SegmentedString::peek): 377 - Occationally, the HTML5 parsing algorithm looks ahead in the 378 input stream. The implementation here is incomplete, but its 379 enough to run the current HTML5 parsing tests. I'll eventually 380 need to implement the slow case here. 381 382 2010-05-23 Adam Barth <abarth (a] webkit.org> 383 384 Reviewed by Eric Seidel. 385 386 Make the html5lib parser tests run using the HTML5 parser 387 https://bugs.webkit.org/show_bug.cgi?id=39533 388 389 Turns out we're just one small tweak away from running the html5lib 390 tests. After this patch lands, we should be able to introduce tests 391 for every change to the HTML5 parser. 392 393 Test: html5lib/webkit-runner.html 394 395 * html/HTML5Lexer.cpp: 396 (WebCore::HTML5Lexer::nextToken): 397 398 2010-05-23 Adam Barth <abarth (a] webkit.org> 399 400 Reviewed by Eric Seidel. 401 402 Make HTML5 parser parse <script>alert("<hi>");</script> 403 https://bugs.webkit.org/show_bug.cgi?id=39525 404 405 More progress towards getting the html5lib test harness running. We 406 need to parse script data in the ScriptDataState. The spec says the 407 parser should set the lexer's state to ScriptDataState, but we want to 408 keep using the existing parser for a while so I've added some temporary 409 logic to HTML5Tokenizer to set the state in the lexer. 410 411 To get this case running, I needed to flesh out a bunch of the 412 ScriptDataState logic. There's a bunch more to do, but this is a 413 start. 414 415 I'm not 100% happy with this patch, but it lets us execute a simplified 416 version of the test harness up to the point where it starts running the 417 first test. 418 419 * html/HTML5Lexer.cpp: 420 (WebCore::HTML5Lexer::nextToken): 421 (WebCore::HTML5Lexer::isAppropriateEndTag): 422 (WebCore::HTML5Lexer::emitCurrentTagToken): 423 * html/HTML5Lexer.h: 424 (WebCore::HTML5Lexer::setState): 425 * html/HTML5Token.h: 426 (WebCore::HTML5Token::beginEndTag): 427 (WebCore::HTML5Token::appendToCharacter): 428 (WebCore::HTML5Token::name): 429 * html/HTML5Tokenizer.cpp: 430 (WebCore::HTML5Tokenizer::write): 431 432 2010-05-23 Chris Marrin <cmarrin (a] apple.com> 433 434 Reviewed by Simon Fraser. 435 436 Limit the number of tiles created for large tiled layers 437 https://bugs.webkit.org/show_bug.cgi?id=39522 438 439 I added an algorithm to limit the number of tiles created to 512. 440 It tried to limit them in only one dimension and if that's not 441 possible it limits them in both dimensions according to the 442 ratio of width to height. This has the effect of rendering 443 tiles starting from the upper-left, which is often the part 444 that is visible. So it both prevents crashing and tried to do 445 the best job it can of displaying what the author intended. 446 447 The test LayoutTests/compositing/geometry/huge-layers.html was 448 crashing before this fix. Now it works correctly. 449 450 * platform/graphics/win/WebTiledLayer.cpp: 451 (WebCore::WebTiledLayer::WebTiledLayer): 452 (WebCore::WebTiledLayer::setBounds): 453 (WebCore::WebTiledLayer::constrainedSize): 454 (WebCore::WebTiledLayer::updateTiles): 455 * platform/graphics/win/WebTiledLayer.h: 456 457 2010-05-23 Noam Rosenthal <noam.rosenthal (a] nokia.com> 458 459 Reviewed by Kenneth Rohde Christiansen. 460 461 [Qt] Using Accelerated Composing the rocket back animation on http://www.the-art-of-web.com/css/css-animation/ works differently as when not using AC. 462 https://bugs.webkit.org/show_bug.cgi?id=39513 463 464 The value of GraphicsLayer->transform() needs to be changed during the animation, regardless of m_fillsForward. 465 m_fillsForward should only apply at the end of the animation. Based on previous patch by Kenneth Christiansen. 466 467 * platform/graphics/qt/GraphicsLayerQt.cpp: 468 (WebCore::TransformAnimationQt::applyFrame): 469 (WebCore::OpacityAnimationQt::applyFrame): 470 471 2010-05-23 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 472 473 Reviewed by Eric Seidel. 474 475 [Qt] GraphicsLayerQt: Coding style and comment fixes. 476 477 * platform/graphics/qt/GraphicsLayerQt.cpp: 478 (WebCore::MaskEffectQt::MaskEffectQt): 479 (WebCore::MaskEffectQt::draw): 480 (WebCore::GraphicsLayerQtImpl::ContentData::ContentData): 481 (WebCore::GraphicsLayerQtImpl::State::State): 482 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 483 (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): 484 (WebCore::GraphicsLayerQtImpl::rootLayer): 485 (WebCore::GraphicsLayerQtImpl::recache): 486 (WebCore::GraphicsLayerQtImpl::updateTransform): 487 (WebCore::GraphicsLayerQtImpl::opaqueArea): 488 (WebCore::GraphicsLayerQtImpl::flushChanges): 489 (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted): 490 (WebCore::GraphicsLayerQt::setNeedsDisplayInRect): 491 (WebCore::GraphicsLayerQt::setContentsToImage): 492 (WebCore::applyTimingFunction): 493 (WebCore::AnimationQtBase::updateState): 494 (WebCore::AnimationQt::AnimationQt): 495 (WebCore::AnimationQt::updateCurrentTime): 496 (WebCore::TransformAnimationQt::applyFrame): 497 (WebCore::TransformAnimationQt::updateState): 498 (WebCore::OpacityAnimationQt::OpacityAnimationQt): 499 (WebCore::OpacityAnimationQt::applyFrame): 500 (WebCore::GraphicsLayerQt::addAnimation): 501 (WebCore::GraphicsLayerQt::removeAnimationsForProperty): 502 (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes): 503 (WebCore::GraphicsLayerQt::pauseAnimation): 504 (WebCore::GraphicsLayerQt::suspendAnimations): 505 (WebCore::GraphicsLayerQt::resumeAnimations): 506 * platform/graphics/qt/GraphicsLayerQt.h: 507 508 2010-05-23 Justin Schuh <jschuh (a] chromium.org> 509 510 Reviewed by Darin Adler. 511 512 Remove custom binding for Attr.value 513 https://bugs.webkit.org/show_bug.cgi?id=39499 514 515 Custom bindings are no longer needed because origin checks were moved 516 out of the bindings by: http://trac.webkit.org/changeset/59866 517 518 * Android.v8bindings.mk: 519 * WebCore.gypi: 520 * bindings/js/JSAttrCustom.cpp: 521 * bindings/v8/custom/V8AttrCustom.cpp: Removed. 522 * dom/Attr.idl: 523 524 2010-05-23 Grace Kloba <klobag (a] gmail.com> 525 526 Reviewed by Nate Chapin. 527 528 Match the call of scheduleLocationChange() to its correct signature. 529 Fixes <http://webkit.org/b/39452> 530 531 The call of scheduleLocationChange() in generic and v8 bindings assuming the 532 fourth parameter is "usergesture". But it is actually the fifth parameter. 533 534 No new features. No new tests. 535 536 * bindings/generic/BindingDOMWindow.h: 537 (WebCore::::createWindow): 538 * bindings/v8/custom/V8DOMWindowCustom.cpp: 539 (WebCore::V8DOMWindow::openCallback): 540 541 2010-05-23 Eric Seidel <eric (a] webkit.org> 542 543 Reviewed by Adam Barth. 544 545 Reduce copy/paste code in HTMLParser using some template functions 546 https://bugs.webkit.org/show_bug.cgi?id=39471 547 548 No functional changes, thus no tests. 549 550 * html/HTMLParser.cpp: 551 (WebCore::addTags): 552 - New function which takes a set an an array of QualifiedNames 553 and adds the localName().impl() to the set for each QualifiedName. 554 (WebCore::isTablePart): 555 (WebCore::isScopingTag): 556 (WebCore::mapTagToFunc): 557 (WebCore::mapTagsToFunc): 558 - New functions which take QualifiedNames and a function and map from the 559 localName().impl() to the function. 560 (WebCore::HTMLParser::getNode): 561 (WebCore::HTMLParser::isHeadingTag): 562 (WebCore::HTMLParser::isResidualStyleTag): 563 (WebCore::HTMLParser::isAffectedByResidualStyle): 564 565 2010-05-22 Julie Parent <jparent (a] chromium.org> 566 567 Reviewed by Adam Barth. 568 569 REGRESSION: xssAuditor tests failing in Chromium. 570 https://bugs.webkit.org/show_bug.cgi?id=39560 571 572 Follow up to r0014. Make if statement in V8 bindings match the one from jsc version. 573 574 * bindings/v8/ScriptController.cpp: 575 (WebCore::ScriptController::evaluate): 576 577 2010-05-22 Maciej Stachowiak <mjs (a] apple.com> 578 579 Reviewed by Mark Rowe. 580 581 REGRESSION(r59977): platform/mac/fast/AppleScript/001.html failure 582 https://bugs.webkit.org/show_bug.cgi?id=39531 583 584 Revert r59977 and r59943. These changes caused some exceptions to no longer be 585 reported in the inspector; I can't tell what they were originally trying to fix 586 so I am not sure how to fix them other than by reverting. 587 588 Covered by existing test platform/mac/fast/AppleScript/001.html, and 589 also added fast/dom/nested-script-exceptions.html to demonstrate the wider 590 consequences of the original change. 591 592 * bindings/js/ScriptController.cpp: 593 (WebCore::ScriptController::ScriptController): 594 (WebCore::ScriptController::evaluateInWorld): 595 * bindings/js/ScriptController.h: 596 597 2010-05-22 Kwang Yul Seo <skyul (a] company100.net> 598 599 Reviewed by Eric Seidel. 600 601 [BREWMP] Add DragData 602 https://bugs.webkit.org/show_bug.cgi?id=39469 603 604 As BREW MP does not support dragging, add dummy implementation of DragData. 605 606 * platform/DragData.h: 607 * platform/brew/DragDataBrew.cpp: Added. 608 (WebCore::DragData::canSmartReplace): 609 (WebCore::DragData::containsColor): 610 (WebCore::DragData::containsPlainText): 611 (WebCore::DragData::asPlainText): 612 (WebCore::DragData::asColor): 613 (WebCore::DragData::createClipboard): 614 (WebCore::DragData::containsCompatibleContent): 615 (WebCore::DragData::containsURL): 616 (WebCore::DragData::asURL): 617 (WebCore::DragData::asFragment): 618 (WebCore::DragData::asFilenames): 619 (WebCore::DragData::containsFiles): 620 621 2010-05-22 Kwang Yul Seo <skyul (a] company100.net> 622 623 Reviewed by Eric Seidel. 624 625 [BREWMP] Add dummy Icon 626 https://bugs.webkit.org/show_bug.cgi?id=39468 627 628 Add dummy implementation of Icon. 629 630 * platform/graphics/brew/IconBrew.cpp: Added. 631 (WebCore::Icon::~Icon): 632 (WebCore::Icon::createIconForFiles): 633 (WebCore::Icon::paint): 634 635 2010-05-22 Justin Schuh <jschuh (a] chromium.org> 636 637 Reviewed by Nate Chapin. 638 639 Remove and simplify custom bindings for Node 640 https://bugs.webkit.org/show_bug.cgi?id=39467 641 642 Custom bindings for nodeValue and textContent are no longer needed, 643 and child manipulators are simplified because origin checks were moved 644 out of the bindings by: http://trac.webkit.org/changeset/59866 645 646 * bindings/js/JSNodeCustom.cpp: 647 (WebCore::JSNode::insertBefore): 648 (WebCore::JSNode::replaceChild): 649 (WebCore::JSNode::removeChild): 650 (WebCore::JSNode::appendChild): 651 * bindings/v8/custom/V8NodeCustom.cpp: 652 (WebCore::V8Node::insertBeforeCallback): 653 (WebCore::V8Node::replaceChildCallback): 654 (WebCore::V8Node::removeChildCallback): 655 (WebCore::V8Node::appendChildCallback): 656 * dom/Node.idl: 657 658 2010-05-22 Justin Schuh <jschuh (a] chromium.org> 659 660 Reviewed by Nate Chapin. 661 662 Remove custom bindings for NamedNodeMap.setNamedItem and .setNamedItemNS 663 https://bugs.webkit.org/show_bug.cgi?id=39462 664 665 Custom bindings are no longer needed because origin checks were moved 666 out of the bindings by: http://trac.webkit.org/changeset/59866 667 668 Behavior isn't changed and is covered by existing tests. 669 670 * bindings/js/JSNamedNodeMapCustom.cpp: 671 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 672 * dom/NamedNodeMap.idl: 673 674 2010-05-22 Daniel Bates <dbates (a] rim.com> 675 676 No review, rolling out 60017. 677 http://trac.webkit.org/changeset/60017 678 https://bugs.webkit.org/show_bug.cgi?id=39339 679 680 Rolling out since this broke the build on the Windows and Qt bots. 681 Need to look into this some more. 682 683 * GNUmakefile.am: 684 * WebCore.gypi: 685 * WebCore.pro: 686 * WebCore.vcproj/WebCore.vcproj: 687 * WebCore.xcodeproj/project.pbxproj: 688 * bindings/ScriptControllerBase.h: Removed. 689 * bindings/js/ScriptController.h: 690 (WebCore::): 691 * bindings/v8/ScriptController.h: 692 (WebCore::): 693 694 2010-05-22 Daniel Bates <dbates (a] rim.com> 695 696 Reviewed by Darin Adler. 697 698 Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h 699 https://bugs.webkit.org/show_bug.cgi?id=39339 700 701 Moved the enum ReasonForCallingCanExecuteScripts and ShouldAllowXSS, which 702 was defined in both the JSC and V8 ScriptController.h file, into a shared 703 file called ScriptControllerBase.h. 704 705 No functionality was changed, so no new tests. 706 707 * GNUmakefile.am: Added file bindings/ScriptControllerBase.h. 708 * WebCore.gypi: Ditto. 709 * WebCore.pro: Ditto. 710 * WebCore.vcproj/WebCore.vcproj: Ditto. 711 * WebCore.xcodeproj/project.pbxproj: Ditto. 712 * bindings/ScriptControllerBase.h: Added. 713 (WebCore::): 714 * bindings/js/ScriptController.h: #include ScriptControllerBase.h 715 * bindings/v8/ScriptController.h: Ditto. 716 717 2010-05-22 Yong Li <yoli (a] rim.com> 718 719 Reviewed by Darin Adler. 720 721 Fix a crash when XHTMLMP is enabled. The frame pointer in Document 722 ctor can be null. 723 https://bugs.webkit.org/show_bug.cgi?id=39448 724 725 No new tests because it is obvious and it must be reproduced with 726 XHTMLMP enabled. 727 728 * dom/Document.cpp: 729 (WebCore::Document::Document): 730 731 2010-05-22 Daniel Bates <dbates (a] rim.com> 732 733 Reviewed by Adam Barth. 734 735 REGRESSION (r56295): Can't create a new wave on Google Wave 736 https://bugs.webkit.org/show_bug.cgi?id=39249 737 738 Instead of just using the source code portion of a JavaScript URL to 739 detect an XSS attack, we now include the JavaScript URL schema. This 740 reduces the chance of a false positive by providing additional context. 741 742 Test: http/tests/security/xssAuditor/javascript-link-safe.html 743 744 * WebCore.base.exp: Updated exported symbols as necessary. 745 * bindings/ScriptControllerBase.cpp: 746 (WebCore::ScriptController::executeScript): Added parameter shouldAllowXSS. 747 (WebCore::ScriptController::executeIfJavaScriptURL): Ditto. 748 * bindings/js/ScriptController.cpp: 749 (WebCore::ScriptController::evaluateInWorld): Ditto. 750 (WebCore::ScriptController::evaluate): Ditto. 751 (WebCore::ScriptController::executeScriptInWorld): Ditto. 752 * bindings/js/ScriptController.h: Added enum ShouldAllowXSS. 753 (WebCore::): 754 * bindings/v8/ScriptController.cpp: 755 (WebCore::ScriptController::evaluate): Added parameter shouldAllowXSS. 756 * bindings/v8/ScriptController.h: Added enum ShouldAllowXSS. 757 (WebCore::): 758 759 2010-05-22 Jeremy Moskovich <jeremy (a] chromium.org> 760 761 Reviewed by Eric Seidel. 762 763 Document RenderObject::m_hasOverflowClip. 764 765 https://bugs.webkit.org/show_bug.cgi?id=39425 766 767 No new functionality, so no new tests. 768 769 * rendering/RenderObject.h: 770 771 2010-05-22 Kwang Yul Seo <skyul (a] company100.net> 772 773 Reviewed by Eric Seidel. 774 775 [BREWMP] Add DragController 776 https://bugs.webkit.org/show_bug.cgi?id=39400 777 778 Add DragController for BREW MP. 779 780 * page/brew/DragControllerBrew.cpp: Added. 781 (WebCore::DragController::isCopyKeyDown): 782 (WebCore::DragController::dragOperation): 783 (WebCore::DragController::maxDragImageSize): 784 (WebCore::DragController::cleanupAfterSystemDrag): 785 786 2010-05-22 Leandro Pereira <leandro (a] profusion.mobi> 787 788 Reviewed by Eric Seidel. 789 790 [EFL] Build fix (update source code lists). 791 http://webkit.org/b/39235 792 793 * CMakeLists.txt: 794 795 2010-05-22 Martin Robinson <mrobinson (a] igalia.com> 796 797 Reviewed by Xan Lopez. 798 799 [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt 800 https://bugs.webkit.org/show_bug.cgi?id=39465 801 802 Added a helper function for converting a GDK action bitmask into a DragOperation bitmask. 803 804 No new tests as behavior has not changed. 805 806 * platform/gtk/ClipboardUtilitiesGtk.cpp: 807 (WebCore::gdkDragActionToDragOperation): Added. 808 * platform/gtk/ClipboardUtilitiesGtk.h: 809 810 2010-05-22 Patrick Gansterer <paroga (a] paroga.com> 811 812 Reviewed by Eric Seidel. 813 814 [Qt] Cleanup SharedBuffer::createWithContentsOfFile 815 https://bugs.webkit.org/show_bug.cgi?id=38917 816 817 * platform/qt/SharedBufferQt.cpp: 818 (WebCore::SharedBuffer::createWithContentsOfFile): 819 820 2010-05-22 Martin Robinson <mrobinson (a] igalia.com> 821 822 Reviewed by Xan Lopez. 823 824 [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation 825 https://bugs.webkit.org/show_bug.cgi?id=39459 826 827 Add ClipboardUtilitiesGtk, a container for GTK+/WebCore clipboard utility functions. 828 Initially add a function which converts a WebCore::DragOperation to a bitmask of 829 GdkDragActions. 830 831 No new tests, because behavior has not changed. 832 833 * GNUmakefile.am: 834 * platform/gtk/ClipboardUtilitiesGtk.cpp: Added. 835 (WebCore::dragOperationToGdkDragActions): Added. 836 * platform/gtk/ClipboardUtilitiesGtk.h: Added. 837 838 2010-05-21 Adam Barth <abarth (a] webkit.org> 839 840 Reviewed by Eric Seidel. 841 842 Parse attributes with HTML5 lexer 843 https://bugs.webkit.org/show_bug.cgi?id=39520 844 845 This patch lets the HTML5 lexer parse attributes, as in 846 <div attr="foo"></div>. This patch is on the critical path to running 847 the html5lib tests. 848 849 * html/HTML5Lexer.cpp: 850 (WebCore::HTML5Lexer::nextToken): 851 * html/HTML5Lexer.h: 852 * html/HTML5Token.h: 853 (WebCore::HTML5Token::beginStartTag): 854 (WebCore::HTML5Token::beginEndTag): 855 (WebCore::HTML5Token::addNewAttribute): 856 (WebCore::HTML5Token::appendToAttributeName): 857 (WebCore::HTML5Token::appendToAttributeValue): 858 (WebCore::HTML5Token::attributes): 859 * html/HTML5Tokenizer.cpp: 860 (WebCore::convertToOldStyle): 861 862 2010-05-21 Mark Rowe <mrowe (a] apple.com> 863 864 60,000! 865 866 * ChangeLog: Point out revision 60,000. 867 868 2010-05-21 David Hyatt <hyatt (a] apple.com> 869 870 Reviewed by Dan Bernstein. 871 872 Preparation for support of column-span, which will be implemented using continuations. When a block splits an inline, a 873 continuation chain is created of the form inline -> anonymous block -> inline. The middle block is always anonymous. When a column-span 874 splits the blocks in a multi-column block, it will create a similar chain: block -> anonymous block -> block. Enclosing split elements 875 directly connect to their continuations, so their chains will look like inline -> inline or block -> block. 876 877 This patch changes the member variable in RenderBlock, m_inlineContinuation, to simply be m_continuation and loosens up the type on it 878 to RenderBoxModelObject. This reflects the fact that the continuation of the block can now be another block and isn't always simply an inline. 879 880 Some renames have been done for cleanup: 881 isInlineContinuation -> isInlineElementContinuation to emphasize that this is a split non-anonymous element. 882 inlineContinuation -> inlineElementContinuation, again to emphasize that the inline is not anonymous. 883 884 Some new methods have been added: 885 isBlockElementContinuation - just like isInlineElementContinuation but for split block elements. 886 blockElementContinuation - just like inlineElementContinuation but for split block elements. 887 virtualContinuation - A way to just walk an entire continuation chain of mixed types (blocks and inlines) using their common base class. 888 isAnonymousBlockContinuation - A method for asking if a RenderBlock is an anonymous block in the continuation chain (the guy in the middle). 889 890 Code that was specific to the anonymous blocks in a continuation chain has been patched to ask isAnonymousBlockContinuation, so that it won't 891 incorrectly apply to non-anonymous blocks in the future. Where possible, code that really didn't care about being an inline vs. a block has 892 been broadened so that it will work with block continuations as well. 893 894 * accessibility/AccessibilityRenderObject.cpp: 895 (WebCore::lastChildConsideringContinuation): 896 (WebCore::startOfContinuations): 897 (WebCore::endOfContinuations): 898 (WebCore::childBeforeConsideringContinuations): 899 (WebCore::firstChildIsInlineContinuation): 900 (WebCore::AccessibilityRenderObject::nextSibling): 901 (WebCore::AccessibilityRenderObject::anchorElement): 902 * rendering/InlineFlowBox.cpp: 903 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 904 (WebCore::InlineFlowBox::paint): 905 * rendering/RenderBlock.cpp: 906 (WebCore::RenderBlock::RenderBlock): 907 (WebCore::RenderBlock::destroy): 908 (WebCore::RenderBlock::removeLeftoverAnonymousBlock): 909 (WebCore::RenderBlock::removeChild): 910 (WebCore::RenderBlock::paintObject): 911 (WebCore::RenderBlock::inlineElementContinuation): 912 (WebCore::RenderBlock::blockElementContinuation): 913 (WebCore::RenderBlock::addContinuationWithOutline): 914 (WebCore::RenderBlock::absoluteRects): 915 (WebCore::RenderBlock::absoluteQuads): 916 (WebCore::RenderBlock::rectWithOutlineForRepaint): 917 (WebCore::RenderBlock::hoverAncestor): 918 (WebCore::RenderBlock::updateDragState): 919 (WebCore::RenderBlock::outlineStyleForRepaint): 920 (WebCore::RenderBlock::updateHitTestResult): 921 (WebCore::RenderBlock::addFocusRingRects): 922 * rendering/RenderBlock.h: 923 (WebCore::RenderBlock::continuation): 924 (WebCore::RenderBlock::setContinuation): 925 (WebCore::RenderBlock::virtualContinuation): 926 (WebCore::RenderBlock::isAnonymousBlockContinuation): 927 * rendering/RenderInline.cpp: 928 (WebCore::RenderInline::inlineElementContinuation): 929 (WebCore::RenderInline::styleDidChange): 930 (WebCore::nextContinuation): 931 (WebCore::RenderInline::splitInlines): 932 (WebCore::RenderInline::positionForPoint): 933 (WebCore::RenderInline::updateHitTestResult): 934 * rendering/RenderInline.h: 935 (WebCore::RenderInline::setContinuation): 936 (WebCore::RenderInline::virtualContinuation): 937 * rendering/RenderObject.cpp: 938 (WebCore::RenderObject::getTextDecorationColors): 939 * rendering/RenderObject.h: 940 (WebCore::RenderObject::isElementContinuation): 941 (WebCore::RenderObject::isInlineElementContinuation): 942 (WebCore::RenderObject::isBlockElementContinuation): 943 (WebCore::RenderObject::virtualContinuation): 944 * rendering/RenderObjectChildList.cpp: 945 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 946 * rendering/RenderRubyBase.cpp: 947 (WebCore::RenderRubyBase::moveBlockChildren): 948 949 2010-05-21 Mark Rowe <mrowe (a] apple.com> 950 951 Reviewed by Oliver Hunt. 952 953 Teach WebKit2 to build in the Production configuration. 954 955 * Configurations/WebCore.xcconfig: Pass -allowable_client to the linker in all configurations. 956 957 2010-05-21 Chris Marrin <cmarrin (a] apple.com> 958 959 Reviewed by Simon Fraser. 960 961 Implement tiled compositing layers on Windows 962 https://bugs.webkit.org/show_bug.cgi?id=39461 963 964 This adds a tiling implementation similar (from a GraphicsLayer standpoint) 965 to the one for Mac. But where Mac uses the existing CATiledLayer, I've had 966 to implement one. If a layer is greater then 2k x 2k, I split it into an 967 array of 512 x 512 tiles. These tiles are positioned in the correct place 968 for the TiledLayer's content. When setNeedsDisplay is called on the TiledLayer 969 the tiles' setNeedDisplay methods are called. Each tile clips and positions the 970 CGContext appropriately and then renders the layer. 971 972 I also got rid of all frame()/setFrame() API to reduce the number of calls to 973 override for tiling. 974 975 Much optimization is possible. Most significantly right now all tiles are 976 rendered whether visible or not. We need to only render tiles that are 977 currently visible. 978 979 Tests: compositing/huge-layer-add-remove-child.html 980 compositing/huge-layer-resize.html 981 compositing/huge-layer-with-layer-children-resize.html 982 compositing/huge-layer-with-layer-children.html 983 compositing/huge-layer.html 984 985 * WebCore.vcproj/WebCore.vcproj: 986 * platform/graphics/win/GraphicsLayerCACF.cpp: Added tiling code similar to GraphicsLayerCA 987 (WebCore::GraphicsLayerCACF::requiresTiledLayer): 988 (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer): 989 (WebCore::GraphicsLayerCACF::updateLayerSize): 990 (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): 991 * platform/graphics/win/GraphicsLayerCACF.h: 992 * platform/graphics/win/WKCACFLayer.cpp: Made some methods virtual so WebTiledLayer can override. 993 Also added sublayer setting and manipulation methods needed for tiling 994 (WebCore::WKCACFLayer::addSublayer): 995 (WebCore::WKCACFLayer::internalInsertSublayer): 996 (WebCore::WKCACFLayer::insertSublayerAboveLayer): 997 (WebCore::WKCACFLayer::insertSublayerBelowLayer): 998 (WebCore::WKCACFLayer::replaceSublayer): 999 (WebCore::WKCACFLayer::internalSublayerCount): 1000 (WebCore::WKCACFLayer::adoptSublayers): 1001 (WebCore::WKCACFLayer::internalSublayerAtIndex): 1002 (WebCore::WKCACFLayer::internalIndexOfSublayer): 1003 (WebCore::WKCACFLayer::internalRemoveAllSublayers): 1004 (WebCore::WKCACFLayer::internalSetSublayers): 1005 (WebCore::WKCACFLayer::internalSetNeedsDisplay): 1006 (WebCore::WKCACFLayer::printLayer): 1007 * platform/graphics/win/WKCACFLayer.h: 1008 (WebCore::WKCACFLayer::setNeedsDisplay): 1009 (WebCore::WKCACFLayer::removeAllSublayers): 1010 (WebCore::WKCACFLayer::setSublayers): 1011 (WebCore::WKCACFLayer::insertSublayer): 1012 (WebCore::WKCACFLayer::sublayerCount): 1013 * platform/graphics/win/WKCACFLayerRenderer.cpp: Fix a crash exposed when tiling code is active 1014 (WebCore::WKCACFLayerRenderer::createRenderer): 1015 (WebCore::WKCACFLayerRenderer::destroyRenderer): 1016 (WebCore::WKCACFLayerRenderer::resize): 1017 * platform/graphics/win/WebLayer.cpp: Added. Split this out from GraphicsLayerCACF so it could be subclassed by WebTiledLayer 1018 (WebCore::WebLayer::internalSetNeedsDisplay): 1019 (WebCore::WebLayer::drawInContext): 1020 * platform/graphics/win/WebLayer.h: Added. 1021 (WebCore::WebLayer::create): 1022 (WebCore::WebLayer::WebLayer): 1023 * platform/graphics/win/WebTiledLayer.cpp: Added. Where all the tile construction and rendering is done 1024 (WebCore::WebTiledLayer::tileDisplayCallback): 1025 (WebCore::WebTiledLayer::create): 1026 (WebCore::WebTiledLayer::WebTiledLayer): 1027 (WebCore::WebTiledLayer::~WebTiledLayer): 1028 (WebCore::WebTiledLayer::setBounds): 1029 (WebCore::WebTiledLayer::internalSetNeedsDisplay): 1030 (WebCore::WebTiledLayer::internalSublayerCount): 1031 (WebCore::WebTiledLayer::internalRemoveAllSublayers): 1032 (WebCore::WebTiledLayer::internalSetSublayers): 1033 (WebCore::WebTiledLayer::internalInsertSublayer): 1034 (WebCore::WebTiledLayer::internalSublayerAtIndex): 1035 (WebCore::WebTiledLayer::internalIndexOfSublayer): 1036 (WebCore::WebTiledLayer::addTile): 1037 (WebCore::WebTiledLayer::removeTile): 1038 (WebCore::WebTiledLayer::tileAtIndex): 1039 (WebCore::WebTiledLayer::tileCount): 1040 (WebCore::WebTiledLayer::updateTiles): 1041 (WebCore::WebTiledLayer::drawTile): 1042 * platform/graphics/win/WebTiledLayer.h: Added. 1043 1044 2010-05-21 Geoffrey Garen <ggaren (a] apple.com> 1045 1046 Reviewed by Darin Adler. 1047 1048 Fixed a typo in my last commit: Reset m_inEvaluateInWorld to 1049 wasInEvaluateInWorld, rather than false, to avoid stomping the old value 1050 when it's true. 1051 https://bugs.webkit.org/show_bug.cgi?id=39518 1052 1053 * bindings/js/ScriptController.cpp: 1054 (WebCore::ScriptController::evaluateInWorld): 1055 1056 2010-05-21 David Hyatt <hyatt (a] apple.com> 1057 1058 Reviewed by Dan Bernstein. 1059 1060 https://bugs.webkit.org/show_bug.cgi?id=39516, back end support for column-span property. 1061 1062 * css/CSSComputedStyleDeclaration.cpp: 1063 (WebCore::): 1064 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 1065 * css/CSSParser.cpp: 1066 (WebCore::CSSParser::parseValue): 1067 * css/CSSPropertyNames.in: 1068 * css/CSSStyleSelector.cpp: 1069 (WebCore::CSSStyleSelector::applyProperty): 1070 * rendering/style/RenderStyle.h: 1071 (WebCore::InheritedFlags::columnSpan): 1072 (WebCore::InheritedFlags::setColumnSpan): 1073 (WebCore::InheritedFlags::initialColumnSpan): 1074 * rendering/style/StyleMultiColData.cpp: 1075 (WebCore::StyleMultiColData::StyleMultiColData): 1076 (WebCore::StyleMultiColData::operator==): 1077 * rendering/style/StyleMultiColData.h: 1078 1079 2010-05-21 Jer Noble <jer.noble (a] apple.com> 1080 1081 Reviewed by Anders Carlsson. 1082 1083 Disable full-screen video on Windows 1084 https://bugs.webkit.org/show_bug.cgi?id=39506 1085 rdar://problem/8012516 1086 1087 Disable full-screen video through MediaPlayerPrivateVisualContext since 1088 we no longer use GWorlds and QuickTime's built in full-screen support. 1089 1090 Media layout tests updated with new expected results. 1091 1092 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 1093 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen): 1094 1095 2010-05-21 Simon Fraser <simon.fraser (a] apple.com> 1096 1097 Reviewed by Dan Bernstein. 1098 1099 Avoid creating huge tiled layers with accelerated compositing 1100 https://bugs.webkit.org/show_bug.cgi?id=39515 1101 1102 Constrain the size of huge composited layers, to avoid bad behavior. We only 1103 need to do this if we detect that we need a tiled layer, since we'll make tiled 1104 layers for elements over a certain size that need to draw already. 1105 1106 Constrain the size by attempting to shrink the longer dimension first. 1107 1108 Test: compositing/geometry/huge-layer.html 1109 1110 * platform/graphics/mac/GraphicsLayerCA.h: 1111 * platform/graphics/mac/GraphicsLayerCA.mm: 1112 (WebCore::GraphicsLayerCA::updateLayerPosition): 1113 (WebCore::GraphicsLayerCA::updateLayerSize): 1114 (WebCore::GraphicsLayerCA::constrainedSize): 1115 1116 2010-05-21 David Hyatt <hyatt (a] apple.com> 1117 1118 Reviewed by Dan Bernstein. 1119 1120 https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color. 1121 1122 Make the RenderStyle color accessors private. This forces callers to use visitedDependentColor 1123 instead (or to make the decision to become friends of the RenderStyle class in order to get access 1124 to the real style information). 1125 1126 Modified history/self-is-visited.html to also test background colors. 1127 1128 * WebCore.base.exp: 1129 * accessibility/AccessibilityTable.cpp: 1130 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 1131 * accessibility/mac/AccessibilityObjectWrapper.mm: 1132 (AXAttributeStringSetStyle): 1133 * css/CSSComputedStyleDeclaration.cpp: 1134 (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor): 1135 * css/CSSComputedStyleDeclaration.h: 1136 * css/SVGCSSStyleSelector.cpp: 1137 (WebCore::colorFromSVGColorCSSValue): 1138 * editing/ApplyStyleCommand.cpp: 1139 (WebCore::ApplyStyleCommand::editingStyleAtPosition): 1140 (WebCore::prepareEditingStyleToApplyAt): 1141 (WebCore::removeStylesAddedByNode): 1142 (WebCore::fontColorChangesComputedStyle): 1143 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 1144 * editing/ApplyStyleCommand.h: 1145 (WebCore::): 1146 * editing/CompositeEditCommand.cpp: 1147 (WebCore::CompositeEditCommand::moveParagraphs): 1148 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 1149 * editing/DeleteButtonController.cpp: 1150 (WebCore::isDeletableElement): 1151 * editing/DeleteSelectionCommand.cpp: 1152 (WebCore::DeleteSelectionCommand::saveTypingStyleState): 1153 * editing/InsertParagraphSeparatorCommand.cpp: 1154 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): 1155 * editing/RemoveFormatCommand.cpp: 1156 (WebCore::RemoveFormatCommand::doApply): 1157 * editing/ReplaceSelectionCommand.cpp: 1158 (WebCore::handleStyleSpansBeforeInsertion): 1159 (WebCore::ReplaceSelectionCommand::handleStyleSpans): 1160 (WebCore::ReplaceSelectionCommand::doApply): 1161 * editing/SelectionController.cpp: 1162 (WebCore::SelectionController::paintCaret): 1163 * editing/markup.cpp: 1164 (WebCore::createMarkup): 1165 * page/animation/AnimationBase.cpp: 1166 (WebCore::AnimationBase::ensurePropertyMap): 1167 * page/animation/AnimationBase.h: 1168 * page/mac/FrameMac.mm: 1169 (WebCore::Frame::fontAttributesForSelectionStart): 1170 * rendering/EllipsisBox.cpp: 1171 (WebCore::EllipsisBox::paint): 1172 (WebCore::EllipsisBox::paintSelection): 1173 * rendering/InlineTextBox.cpp: 1174 (WebCore::InlineTextBox::paint): 1175 * rendering/RenderBox.cpp: 1176 (WebCore::RenderBox::styleDidChange): 1177 (WebCore::RenderBox::paintRootBoxDecorations): 1178 (WebCore::RenderBox::paintBoxDecorationsWithSize): 1179 * rendering/RenderBoxModelObject.cpp: 1180 (WebCore::RenderBoxModelObject::paintBoxShadow): 1181 * rendering/RenderFieldset.cpp: 1182 (WebCore::RenderFieldset::paintBoxDecorations): 1183 * rendering/RenderFileUploadControl.cpp: 1184 (WebCore::RenderFileUploadControl::paintObject): 1185 * rendering/RenderFrameSet.cpp: 1186 (WebCore::RenderFrameSet::paintColumnBorder): 1187 (WebCore::RenderFrameSet::paintRowBorder): 1188 * rendering/RenderImage.cpp: 1189 (WebCore::RenderImage::paintReplaced): 1190 * rendering/RenderLayerBacking.cpp: 1191 (WebCore::RenderLayerBacking::rendererBackgroundColor): 1192 * rendering/RenderLayerBacking.h: 1193 * rendering/RenderListBox.cpp: 1194 (WebCore::RenderListBox::paintItemForeground): 1195 (WebCore::RenderListBox::paintItemBackground): 1196 * rendering/RenderListMarker.cpp: 1197 (WebCore::RenderListMarker::paint): 1198 * rendering/RenderMenuList.cpp: 1199 (WebCore::RenderMenuList::itemStyle): 1200 (WebCore::RenderMenuList::itemBackgroundColor): 1201 (WebCore::RenderMenuList::menuStyle): 1202 * rendering/RenderObject.cpp: 1203 (WebCore::RenderObject::selectionBackgroundColor): 1204 (WebCore::RenderObject::selectionForegroundColor): 1205 * rendering/RenderSVGResource.cpp: 1206 (WebCore::RenderSVGResource::adjustColorForPseudoRules): 1207 (WebCore::RenderSVGResource::fillPaintingResource): 1208 (WebCore::RenderSVGResource::strokePaintingResource): 1209 * rendering/RenderSVGResource.h: 1210 * rendering/RenderTable.cpp: 1211 (WebCore::RenderTable::paintBoxDecorations): 1212 * rendering/RenderTable.h: 1213 (WebCore::RenderTable::bgColor): 1214 * rendering/RenderTableCell.cpp: 1215 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 1216 * rendering/RenderTextControl.cpp: 1217 (WebCore::RenderTextControl::adjustInnerTextStyle): 1218 * rendering/RenderTextControlSingleLine.cpp: 1219 (WebCore::RenderTextControlSingleLine::menuStyle): 1220 * rendering/RenderTheme.cpp: 1221 (WebCore::RenderTheme::isControlStyled): 1222 * rendering/RenderThemeMac.mm: 1223 (WebCore::RenderThemeMac::paintMenuListButton): 1224 * rendering/RenderTreeAsText.cpp: 1225 (WebCore::RenderTreeAsText::writeRenderObject): 1226 (WebCore::write): 1227 * rendering/RenderTreeAsText.h: 1228 * rendering/SVGInlineTextBox.cpp: 1229 (WebCore::SVGInlineTextBox::paintSelection): 1230 * rendering/SVGRenderTreeAsText.cpp: 1231 (WebCore::writeRenderSVGTextBox): 1232 * rendering/style/RenderStyle.cpp: 1233 (WebCore::RenderStyle::colorIncludingFallback): 1234 (WebCore::RenderStyle::visitedDependentColor): 1235 * rendering/style/RenderStyle.h: 1236 (WebCore::): 1237 (WebCore::InheritedFlags::hasBackground): 1238 (WebCore::InheritedFlags::borderLeftStyle): 1239 (WebCore::InheritedFlags::borderRightStyle): 1240 (WebCore::InheritedFlags::borderTopStyle): 1241 (WebCore::InheritedFlags::borderBottomStyle): 1242 (WebCore::InheritedFlags::textShadow): 1243 (WebCore::InheritedFlags::textStrokeWidth): 1244 (WebCore::InheritedFlags::hasNormalColumnGap): 1245 (WebCore::InheritedFlags::borderLeftColor): 1246 (WebCore::InheritedFlags::borderRightColor): 1247 (WebCore::InheritedFlags::borderTopColor): 1248 (WebCore::InheritedFlags::borderBottomColor): 1249 (WebCore::InheritedFlags::backgroundColor): 1250 (WebCore::InheritedFlags::color): 1251 (WebCore::InheritedFlags::columnRuleColor): 1252 (WebCore::InheritedFlags::outlineColor): 1253 (WebCore::InheritedFlags::textFillColor): 1254 (WebCore::InheritedFlags::textStrokeColor): 1255 * svg/SVGAnimationElement.cpp: 1256 (WebCore::adjustForCurrentColor): 1257 1258 2010-05-21 Beth Dakin <bdakin (a] apple.com> 1259 1260 Reviewed by Darin Adler. 1261 1262 Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic() 1263 while running MangleMe 1264 -and corresponding- 1265 https://bugs.webkit.org/show_bug.cgi?id=39508 1266 1267 The math was slightly off here, and we wound up trying to access an 1268 array at index -1 in some cases. We need to decrement numberShadow 1269 rather than subtracting one from the result of the modulo 1270 operation. 1271 1272 * rendering/RenderListMarker.cpp: 1273 (WebCore::toAlphabeticOrNumeric): 1274 1275 2010-05-21 Oliver Hunt <oliver (a] apple.com> 1276 1277 Qt buildfix #2 1278 1279 * bridge/qt/qt_runtime.cpp: 1280 (JSC::Bindings::convertQVariantToValue): 1281 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): 1282 1283 2010-05-21 Oliver Hunt <oliver (a] apple.com> 1284 1285 Qt buildfix #1 1286 1287 * bridge/qt/qt_instance.cpp: 1288 (JSC::Bindings::QtRuntimeObject::QtRuntimeObject): 1289 (JSC::Bindings::QtInstance::newRuntimeObject): 1290 (JSC::Bindings::QtInstance::getMethod): 1291 * bridge/qt/qt_pixmapruntime.cpp: 1292 (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject): 1293 (JSC::Bindings::QtPixmapInstance::getMethod): 1294 (JSC::Bindings::QtPixmapInstance::createRuntimeObject): 1295 1296 2010-05-21 Geoffrey Garen <ggaren (a] apple.com> 1297 1298 Reviewed by Oliver Hunt. 1299 1300 Fixed failure seen on buildbot (due to flaky test). 1301 1302 Don't report an exception in a nested script evaluation -- just pass the 1303 exception on to our caller. Our caller can decide to report the exception, 1304 if it fully propagates -- but we don't want to report an exception that's 1305 going to get caught. 1306 1307 * bindings/js/ScriptController.cpp: 1308 (WebCore::ScriptController::ScriptController): 1309 (WebCore::ScriptController::evaluateInWorld): 1310 * bindings/js/ScriptController.h: 1311 1312 2010-05-21 Oliver Hunt <oliver (a] apple.com> 1313 1314 Reviewed by Geoffrey Garen. 1315 1316 All callable objects should have a global object reference 1317 https://bugs.webkit.org/show_bug.cgi?id=39495 1318 1319 Update the bindings generator to give prototype objects a 1320 global object. Update all the manually written JSObject 1321 subclasses to pass a global object. 1322 1323 * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Added. 1324 * WebCore.PluginHostProcess.exp: 1325 * bindings/js/JSDOMBinding.cpp: 1326 (WebCore::objectToStringFunctionGetter): 1327 * bindings/js/JSDOMWindowCustom.cpp: 1328 (WebCore::nonCachingStaticFunctionGetter): 1329 * bindings/js/JSDOMWindowShell.cpp: 1330 (WebCore::JSDOMWindowShell::setWindow): 1331 * bindings/js/JSHistoryCustom.cpp: 1332 (WebCore::nonCachingStaticBackFunctionGetter): 1333 (WebCore::nonCachingStaticForwardFunctionGetter): 1334 (WebCore::nonCachingStaticGoFunctionGetter): 1335 * bindings/js/JSLocationCustom.cpp: 1336 (WebCore::nonCachingStaticReplaceFunctionGetter): 1337 (WebCore::nonCachingStaticReloadFunctionGetter): 1338 (WebCore::nonCachingStaticAssignFunctionGetter): 1339 * bindings/js/WorkerScriptController.cpp: 1340 (WebCore::WorkerScriptController::initScript): 1341 * bindings/scripts/CodeGeneratorJS.pm: 1342 * bridge/c/CRuntimeObject.cpp: 1343 (JSC::Bindings::CRuntimeObject::CRuntimeObject): 1344 * bridge/c/CRuntimeObject.h: 1345 * bridge/c/c_instance.cpp: 1346 (JSC::Bindings::CInstance::newRuntimeObject): 1347 (JSC::Bindings::CRuntimeMethod::CRuntimeMethod): 1348 (JSC::Bindings::CInstance::getMethod): 1349 * bridge/jni/jsc/JavaInstanceJSC.cpp: 1350 (JavaInstance::newRuntimeObject): 1351 (JavaRuntimeMethod::JavaRuntimeMethod): 1352 (JavaInstance::getMethod): 1353 * bridge/jni/jsc/JavaRuntimeObject.cpp: 1354 (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject): 1355 * bridge/jni/jsc/JavaRuntimeObject.h: 1356 * bridge/jsc/BridgeJSC.cpp: 1357 (JSC::Bindings::Instance::newRuntimeObject): 1358 * bridge/objc/ObjCRuntimeObject.h: 1359 * bridge/objc/ObjCRuntimeObject.mm: 1360 (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject): 1361 * bridge/objc/objc_class.mm: 1362 (JSC::Bindings::ObjcClass::fallbackObject): 1363 * bridge/objc/objc_instance.mm: 1364 (ObjcInstance::newRuntimeObject): 1365 (ObjCRuntimeMethod::ObjCRuntimeMethod): 1366 (ObjcInstance::getMethod): 1367 * bridge/objc/objc_runtime.h: 1368 * bridge/objc/objc_runtime.mm: 1369 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): 1370 * bridge/runtime_method.cpp: 1371 (JSC::RuntimeMethod::RuntimeMethod): 1372 * bridge/runtime_method.h: 1373 * bridge/runtime_object.cpp: 1374 (JSC::Bindings::RuntimeObject::RuntimeObject): 1375 * bridge/runtime_object.h: 1376 1377 2010-05-21 Steve Block <steveblock (a] google.com> 1378 1379 Reviewed by Jeremy Orlow. 1380 1381 Add DeviceOrientation and DeviceOrientationClient 1382 https://bugs.webkit.org/show_bug.cgi?id=39479 1383 1384 The page owns a DeviceOrientation object, which has a pointer to a 1385 DeviceOrientationClient object provided by the embedder. The 1386 DeviceOrientation object forwards requests to start listening to 1387 orientation to the client, and when updates are available, fires a 1388 DeviceOrientationEvent on the window object. 1389 1390 No new tests are possible at this time as the implementation is 1391 incomplete. Future patches will add LayoutTestController methods 1392 to provide mock orientation events to test this. 1393 1394 * Android.mk: 1395 * CMakeLists.txt: 1396 * GNUmakefile.am: 1397 * WebCore.base.exp: 1398 * WebCore.gypi: 1399 * WebCore.pro: 1400 * WebCore.vcproj/WebCore.vcproj 1401 * WebCore.xcodeproj/project.pbxproj: 1402 * dom/DeviceOrientation.cpp: Added. 1403 (WebCore::DeviceOrientation::DeviceOrientation): 1404 (WebCore::DeviceOrientation::onDeviceOrientationChange): 1405 * dom/DeviceOrientation.h: Added. 1406 * dom/DeviceOrientationClient.h: Added. 1407 (WebCore::DeviceOrientationClient::~DeviceOrientationClient): 1408 * page/Page.cpp: 1409 (WebCore::Page::Page): 1410 * page/Page.h: 1411 (WebCore::Page::deviceOrientation): 1412 * svg/graphics/SVGImage.cpp: 1413 (WebCore::SVGImage::dataChanged): 1414 1415 2010-05-21 Tasuku Suzuki <tasuku.suzuki (a] nokia.com> 1416 1417 Reviewed by Simon Hausmann. 1418 1419 [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT 1420 https://bugs.webkit.org/show_bug.cgi?id=38324 1421 1422 * platform/graphics/qt/GraphicsLayerQt.cpp: 1423 (WebCore::GraphicsLayerQtImpl::flushChanges): 1424 1425 2010-05-21 Jedrzej Nowacki <jedrzej.nowacki (a] nokia.com> 1426 1427 Reviewed by Darin Fisher. 1428 1429 Fix the HistoryController::pushState. 1430 1431 It should be possible to call the pushState method from 1432 the first page in a window. 1433 1434 history.pushState doesn't work for the first page in a window. 1435 https://bugs.webkit.org/show_bug.cgi?id=39418 1436 1437 * loader/HistoryController.cpp: 1438 (WebCore::HistoryController::pushState): 1439 1440 2010-05-21 Victoria Kirst <vrk (a] google.com> 1441 1442 Reviewed by David Levin. 1443 1444 [chromium] Fix slider status when buffering 1445 https://bugs.webkit.org/show_bug.cgi?id=39370 1446 Adjusts the buffering bar to be aligned with the slider thumb. 1447 1448 No new tests. (Covered by existing layout tests.) 1449 1450 * rendering/RenderMediaControlsChromium.cpp: 1451 (WebCore::paintMediaSlider): 1452 Added logic to align the buffering bar with the thumb. Half of the 1453 thumb image is transparent, so the buffer bar is adjusted to fill in 1454 this gap. 1455 1456 2010-05-21 Jesus Sanchez-Palencia <jesus (a] webkit.org> 1457 1458 Reviewed by Eric Seidel. 1459 1460 Extra processesArguments() calls in Document::processViewport 1461 https://bugs.webkit.org/show_bug.cgi?id=39358 1462 1463 The viewport arguments are only needed when there is a frame->page(), 1464 therefore we don't need to always call processArguments(). 1465 1466 * dom/Document.cpp: 1467 (WebCore::Document::processViewport): 1468 1469 2010-05-17 Philippe Normand <pnormand (a] igalia.com> 1470 1471 Reviewed by Eric Carlson. 1472 1473 [GStreamer] video painting support on mac port 1474 https://bugs.webkit.org/show_bug.cgi?id=39206 1475 1476 ImageGStreamer support for mac port. A CG Image is created using 1477 the GstBuffer data. It can then be painted by the gstreamer player. 1478 1479 * platform/graphics/gstreamer/ImageGStreamer.h: 1480 * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added. 1481 (ImageGStreamer::createImage): 1482 (ImageGStreamer::ImageGStreamer): 1483 (ImageGStreamer::~ImageGStreamer): 1484 1485 2010-05-21 Robin Cao <robin.cao (a] torchmobile.com.cn> 1486 1487 Reviewed by Eric Seidel. 1488 1489 animateTransform does not work on gradientTransform 1490 https://bugs.webkit.org/show_bug.cgi?id=38115 1491 1492 Tests: svg/animations/animate-gradient-transform.html 1493 1494 * svg/SVGAnimateTransformElement.cpp: 1495 (WebCore::SVGAnimateTransformElement::hasValidTarget): Check if the target element is gradient. 1496 (WebCore::transformListFor): Ditto. 1497 (WebCore::SVGAnimateTransformElement::resetToBaseValue): Ditto. 1498 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto. 1499 1500 2010-05-21 Young Han Lee <joybro (a] company100.net> 1501 1502 Reviewed by Eric Seidel. 1503 1504 Fix guard around DatabaseSync 1505 https://bugs.webkit.org/show_bug.cgi?id=38897 1506 1507 * storage/DatabaseSync.cpp: 1508 1509 2010-05-21 Simon Hausmann <simon.hausmann (a] nokia.com> 1510 1511 [Qt] Prospective Qt/Mac build fix 1512 1513 My cpp is paranoid and doesn't like #if Q_WS_MAC: 1514 error: #if with no expression 1515 1516 * page/qt/EventHandlerQt.cpp: 1517 1518 2010-05-21 Lucas De Marchi <lucas.demarchi (a] profusion.mobi> 1519 1520 Reviewed by Eric Seidel. 1521 1522 [EFL] Update Localized Strings. Remove markers from strings 1523 since we are not using them and they are only polluting output. 1524 https://bugs.webkit.org/show_bug.cgi?id=39371 1525 1526 No new tests required. 1527 1528 * platform/efl/LocalizedStringsEfl.cpp: 1529 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 1530 (WebCore::contextMenuItemTagDownloadLinkToDisk): 1531 (WebCore::contextMenuItemTagCopyLinkToClipboard): 1532 (WebCore::contextMenuItemTagOpenImageInNewWindow): 1533 (WebCore::contextMenuItemTagDownloadImageToDisk): 1534 (WebCore::contextMenuItemTagCopyImageToClipboard): 1535 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 1536 (WebCore::contextMenuItemTagSelectAll): 1537 (WebCore::contextMenuItemTagUnicode): 1538 (WebCore::contextMenuItemTagInputMethods): 1539 (WebCore::contextMenuItemTagGoBack): 1540 (WebCore::contextMenuItemTagGoForward): 1541 (WebCore::contextMenuItemTagReload): 1542 (WebCore::contextMenuItemTagIgnoreSpelling): 1543 (WebCore::contextMenuItemTagLearnSpelling): 1544 (WebCore::contextMenuItemTagSearchWeb): 1545 (WebCore::contextMenuItemTagLookUpInDictionary): 1546 (WebCore::contextMenuItemTagOpenLink): 1547 (WebCore::contextMenuItemTagIgnoreGrammar): 1548 (WebCore::contextMenuItemTagSpellingMenu): 1549 (WebCore::contextMenuItemTagCheckSpelling): 1550 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 1551 (WebCore::contextMenuItemTagFontMenu): 1552 (WebCore::contextMenuItemTagOutline): 1553 (WebCore::contextMenuItemTagInspectElement): 1554 (WebCore::searchMenuClearRecentSearchesText): 1555 (WebCore::missingPluginText): Add missing message. 1556 (WebCore::multipleFileUploadText): 1557 (WebCore::crashedPluginText): 1558 1559 2010-05-21 Lucas De Marchi <lucas.demarchi (a] profusion.mobi> 1560 1561 Reviewed by Eric Seidel. 1562 1563 [EF] Fix support for focus ring. 1564 https://bugs.webkit.org/show_bug.cgi?id=39387 1565 1566 No new tests required. 1567 1568 * html/HTMLAnchorElement.cpp: Add EFL to #ifdef 1569 (WebCore::HTMLAnchorElement::isMouseFocusable): 1570 1571 2010-05-21 Kwang Yul Seo <skyul (a] company100.net> 1572 1573 Reviewed by Eric Seidel. 1574 1575 [BREWMP] Add missing localized string symbols. 1576 https://bugs.webkit.org/show_bug.cgi?id=39394 1577 1578 Add missingPluginText and crashedPluginText. 1579 1580 * platform/brew/LocalizedStringsBrew.cpp: 1581 (WebCore::missingPluginText): 1582 (WebCore::crashedPluginText): 1583 1584 2010-05-21 Steve Block <steveblock (a] google.com> 1585 1586 Reviewed by Alexey Proskuryakov. 1587 1588 Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android 1589 https://bugs.webkit.org/show_bug.cgi?id=39426 1590 1591 This code path has always been used by Android, but was guarded with 1592 BUILDING_ON_TIGER in http://trac.webkit.org/changeset/55054, thus 1593 breaking the Android build. 1594 1595 No new tests, build fix only. 1596 1597 * bridge/jni/jsc/JavaInstanceJSC.cpp: 1598 (JavaInstance::invokeMethod): 1599 1600 2010-05-20 Tony Chang <tony (a] chromium.org> 1601 1602 Reviewed by Kent Tamura. 1603 1604 escape link text when copying or dragging links on win or chromium 1605 https://bugs.webkit.org/show_bug.cgi?id=39413 1606 1607 * editing/markup.cpp: 1608 (WebCore::urlToMarkup): 1609 * editing/markup.h: 1610 * platform/chromium/ClipboardUtilitiesChromium.cpp: 1611 * platform/chromium/ClipboardUtilitiesChromium.h: 1612 * platform/win/ClipboardUtilitiesWin.cpp: 1613 * platform/win/ClipboardUtilitiesWin.h: 1614 1615 2010-05-18 Philippe Normand <pnormand (a] igalia.com> 1616 1617 Reviewed by Eric Carlson. 1618 1619 [GStreamer] PlatformMedia support 1620 https://bugs.webkit.org/show_bug.cgi?id=39300 1621 1622 Basic support for PlatformMedia in the gst player. The 1623 PlatformMedia object contains a GStreamerGWorld object. That 1624 object is empty for now. XOverlay features will be added later 1625 on for easy review sake. 1626 1627 * GNUmakefile.am: 1628 * platform/graphics/MediaPlayer.h: 1629 (WebCore::PlatformMedia::): 1630 * platform/graphics/gstreamer/GStreamerGWorld.cpp: Added. 1631 (WebCore::GStreamerGWorld::createGWorld): 1632 (WebCore::GStreamerGWorld::GStreamerGWorld): 1633 (WebCore::GStreamerGWorld::~GStreamerGWorld): 1634 * platform/graphics/gstreamer/GStreamerGWorld.h: Added. 1635 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 1636 (WebCore::MediaPlayerPrivateGStreamer::platformMedia): 1637 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 1638 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 1639 1640 2010-05-20 Kwang Yul Seo <skyul (a] company100.net> 1641 1642 Reviewed by Eric Seidel. 1643 1644 [BREWMP] Add dummy SSLKeyGenerator 1645 https://bugs.webkit.org/show_bug.cgi?id=39403 1646 1647 Add dummy implementation of SSLKeyGenerator. 1648 1649 * platform/brew/SSLKeyGeneratorBrew.cpp: Added. 1650 (WebCore::WebCore::getSupportedKeySizes): 1651 (WebCore::WebCore::signedPublicKeyAndChallengeString): 1652 1653 2010-05-20 Mark Rowe <mrowe (a] apple.com> 1654 1655 Rubber-stamped by Dan Bernstein. 1656 1657 <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define. 1658 1659 * platform/mac/EmptyProtocolDefinitions.h: 1660 1661 2010-05-20 Kwang Yul Seo <skyul (a] company100.net> 1662 1663 Reviewed by Eric Seidel. 1664 1665 [BREWMP] Add Editor 1666 https://bugs.webkit.org/show_bug.cgi?id=39404 1667 1668 Implement Editor::newGeneralClipboard. 1669 1670 * editing/brew/EditorBrew.cpp: Added. 1671 (WebCore::Editor::newGeneralClipboard): 1672 1673 2010-05-20 Simon Fraser <simon.fraser (a] apple.com> 1674 1675 Reviewed by Adam Roben. 1676 1677 Avoid flushing CA layers when a layout is pending 1678 https://bugs.webkit.org/show_bug.cgi?id=39463 1679 <rdar://problem/7999463> 1680 1681 Avoid rendering the compositing layers to the screen if there's a layout pending, 1682 since the layer tree not in a state that should be presented to the user. 1683 1684 This fixes flashes in some types of content that dynamically add and remove layers. 1685 1686 Do this by adding a WKCACFLayerRendererClient for WKCACFLayerRenderer, which it can 1687 call through to ask whether now is a good time to render. If not, it schedules 1688 another render soon. 1689 1690 * platform/graphics/win/WKCACFLayerRenderer.h: 1691 (WebCore::WKCACFLayerRendererClient::~WKCACFLayerRendererClient): 1692 * platform/graphics/win/WKCACFLayerRenderer.cpp: 1693 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): 1694 (WebCore::WKCACFLayerRenderer::create): 1695 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): 1696 (WebCore::WKCACFLayerRenderer::render): 1697 1698 2010-05-20 Kwang Yul Seo <skyul (a] company100.net> 1699 1700 Reviewed by Eric Seidel. 1701 1702 [BREWMP] Don't include CoreFoundation.h when building for BREW MP 1703 https://bugs.webkit.org/show_bug.cgi?id=39405 1704 1705 Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h. 1706 1707 * WebCorePrefix.h: 1708 1709 2010-05-20 Kwang Yul Seo <skyul (a] company100.net> 1710 1711 Reviewed by Eric Seidel. 1712 1713 [BREWMP] Add ScrollTheme 1714 https://bugs.webkit.org/show_bug.cgi?id=39406 1715 1716 As BREW MP always uses frame flattening, there is no need to render scorllbars. 1717 Use the default scrollbar theme with thickness 0. 1718 1719 * platform/brew/ScrollbarThemeBrew.cpp: Added. 1720 (WebCore::ScrollbarTheme::nativeTheme): 1721 (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew): 1722 * platform/brew/ScrollbarThemeBrew.h: Added. 1723 1724 2010-05-20 Jon Honeycutt <jhoneycutt (a] apple.com> 1725 1726 REGRESSION(r53637): DivX plug-in fails to start until window is resized 1727 https://bugs.webkit.org/show_bug.cgi?id=39457 1728 <rdar://problem/8006102> 1729 1730 Before r53637, we called Widget::move() (which caused us to call 1731 NPP_SetWindow) before painting a plug-in. r53637 removed the call to 1732 Widget::move(), and we end up never calling NPP_SetWindow for plug-ins 1733 with the "DeferFirstSetWindowCall" quirk, including the DivX plug-in. 1734 1735 Reviewed by Simon Fraser. 1736 1737 * manual-tests/divx-plugin-fails-to-draw.html: Added. 1738 1739 * plugins/PluginView.cpp: 1740 (WebCore::PluginView::PluginView): 1741 Initialize new member to false. 1742 1743 * plugins/PluginView.h: 1744 Added new member. 1745 1746 * plugins/win/PluginViewWin.cpp: 1747 (WebCore::PluginView::paint): 1748 Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets 1749 called. 1750 (WebCore::PluginView::setNPWindowRect): 1751 Set m_haveCalledSetWindow. 1752 1753 2010-05-20 Fumitoshi Ukai <ukai (a] chromium.org> 1754 1755 Reviewed by Alexey Proskuryakov. 1756 1757 WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76 1758 https://bugs.webkit.org/show_bug.cgi?id=35572 1759 1760 WebSocket opening handshake is changed. New protocol draft could be found at http://www.whatwg.org/specs/web-socket-protocol/ 1761 It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests. 1762 1763 * websockets/WebSocketHandshake.cpp: 1764 (WebCore::extractResponseCode): 1765 add lineLength parameter to return length of status line. 1766 (WebCore::hostName): Added. 1767 (WebCore::generateSecWebSocketKey): Added. 1768 (WebCore::generateKey3): Added. 1769 (WebCore::setChallengeNumber): Added. 1770 (WebCore::generateChallengeResponseExpected): Added. 1771 (WebCore::WebSocketHandshake::WebSocketHandshake): 1772 generate challenge response key and expected data. 1773 (WebCore::WebSocketHandshake::clientLocation): 1774 use hostName. 1775 (WebCore::WebSocketHandshake::clientHandshakeMessage): 1776 changed for draft 76 spec. 1777 (WebCore::WebSocketHandshake::clientHandshakeRequest): 1778 (WebCore::WebSocketHandshake::readServerHandshake): 1779 changed for draft 76 spec. 1780 m_mode is managed in this method. 1781 (WebCore::WebSocketHandshake::readHTTPHeaders): 1782 change error log messages. 1783 (WebCore::WebSocketHandshake::processHeaders): 1784 chagned for draft 76 spec. 1785 (WebCore::WebSocketHandshake::checkResponseHeaders): 1786 return boolean whether response header is ok or not and not change m_mode in it. 1787 * websockets/WebSocketHandshake.h: 1788 1789 2010-05-20 Adam Roben <aroben (a] apple.com> 1790 1791 Stop leaking all CACFContexts 1792 1793 Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>. 1794 1795 Reviewed by Simon Fraser. 1796 1797 * platform/graphics/win/WKCACFContextFlusher.cpp: 1798 (WebCore::WKCACFContextFlusher::addContext): Only retain the context 1799 when we first add it to the m_contexts set. Otherwise we'll retain the 1800 same context multiple times, causing it to leak. 1801 1802 2010-05-20 Young Han Lee <joybro (a] company100.net> 1803 1804 Reviewed by Darin Adler. 1805 1806 Create filenameFromString for all ports except GTK and EFL. 1807 https://bugs.webkit.org/show_bug.cgi?id=39348 1808 1809 * platform/FileSystem.cpp: Added. 1810 (WebCore::filenameFromString): 1811 * platform/FileSystem.h: 1812 1813 2010-05-20 Young Han Lee <joybro (a] company100.net> 1814 1815 Reviewed by Darin Adler. 1816 1817 Port SharedBuffer to POSIX. 1818 https://bugs.webkit.org/show_bug.cgi?id=39283 1819 1820 * platform/posix/SharedBufferPOSIX.cpp: Added. 1821 (WebCore::SharedBuffer::createWithContentsOfFile): 1822 1823 2010-05-20 Zhenyao Mo <zmo (a] google.com> 1824 1825 Reviewed by Dimitri Glazkov. 1826 1827 Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage 1828 https://bugs.webkit.org/show_bug.cgi?id=39077 1829 1830 * platform/graphics/mac/GraphicsContext3DMac.cpp: 1831 (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums. 1832 1833 2010-05-20 Dan Bernstein <mitz (a] apple.com> 1834 1835 Reviewed by Dave Hyatt. 1836 1837 <rdar://problem/8007953> Textarea using custom font appears blank 1838 1839 Test: fast/css/font-face-in-shadow-DOM.html 1840 1841 When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all 1842 RenderSyles that have FontFallbackLists referencing the placeholder font with fresh 1843 RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with 1844 styles that still reference the placeholder font. 1845 1846 The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return 1847 true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles. 1848 1849 * dom/Element.cpp: 1850 (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated. 1851 * rendering/RenderButton.h: 1852 (WebCore::RenderButton::requiresForcedStyleRecalcPropagation): 1853 * rendering/RenderDataGrid.h: 1854 (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation): 1855 * rendering/RenderFileUploadControl.h: 1856 (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation): 1857 * rendering/RenderListItem.h: 1858 (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation): 1859 * rendering/RenderMedia.h: 1860 (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation): 1861 * rendering/RenderMenuList.h: 1862 (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation): 1863 * rendering/RenderObject.h: 1864 (WebCore::RenderObject::requiresForcedStyleRecalcPropagation): 1865 * rendering/RenderProgress.h: 1866 (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation): 1867 * rendering/RenderSlider.h: 1868 (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation): 1869 * rendering/RenderTextControl.h: 1870 (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation): 1871 1872 2010-05-20 Jer Noble <jer.noble (a] apple.com> 1873 1874 No review; build fix only. 1875 1876 When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp 1877 must include CoreGraphics/CGContext.h. 1878 1879 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 1880 1881 2010-05-20 Jer Noble <jer.noble (a] apple.com> 1882 1883 Reviewed by Sam Weinig. 1884 1885 Video elements show no video on Windows machines that do not support accelerated compositing 1886 https://bugs.webkit.org/show_bug.cgi?id=39446 1887 rdar://problem/7999794 1888 1889 Implement the paint() method in MediaPlayerPrivateQuickTimeVisualContext. The visual context should 1890 be set up in load() and torn down in the destructor (as opposed to setUpVideoRendering and 1891 tearDownVideoRendering, which won't get called in a non-accelerated compositing case). 1892 1893 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 1894 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext): 1895 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): 1896 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): 1897 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired): 1898 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage): 1899 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): 1900 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): 1901 1902 2010-05-20 Abhishek Arya <inferno (a] chromium.org> 1903 1904 Reviewed by Adam Barth. 1905 1906 Added a method to check if the security origin can access 1907 password manager. 1908 https://bugs.webkit.org/show_bug.cgi?id=38916 1909 1910 * page/SecurityOrigin.h: 1911 (WebCore::SecurityOrigin::canAccessPasswordManager): 1912 1913 2010-05-20 Darin Adler <darin (a] apple.com> 1914 1915 Reviewed by Eric Seidel. 1916 1917 Fix warnings seen on the buildbots today 1918 https://bugs.webkit.org/show_bug.cgi?id=39368 1919 1920 * loader/icon/IconDatabase.cpp: 1921 (WebCore::IconDatabase::pruneUnretainedIcons): Use the type "long long" for 1922 things being printed with "%lli". There is no guaranteed that int64_t is the 1923 same thing as long long. 1924 1925 * page/EventHandler.cpp: 1926 (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested 1927 by warnings in newer versions of GCC. 1928 1929 * platform/ContextMenu.cpp: Fix #if around the functions to match the #if 1930 around the call sites to avoid unused function warning. 1931 1932 * platform/graphics/gtk/ImageGtk.cpp: 1933 (WebCore::Image::loadPlatformResource): Use NULL to end a variable argument list 1934 rather than 0. This is a case where the WebKit "use 0 instead of NULL" guideline 1935 is incorrect and won't work properly. 1936 1937 * platform/win/SystemTimeWin.cpp: 1938 (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO. 1939 1940 * platform/win/WebCoreInstanceHandle.h: Added property svn:eol-style. 1941 Made functions inline instead of static. It's not correct to have functions with 1942 internal linkage in a header file. Marking them inline makes more sense. 1943 1944 * plugins/win/PluginMessageThrottlerWin.cpp: 1945 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Reordered the 1946 initializers to match the order of the data members from the class definition. 1947 1948 * plugins/win/PluginViewWin.cpp: 1949 (WebCore::PluginView::paintIntoTransformedContext): Initialized all the fields 1950 of WINDOWPOS. I know this goes against the traditions of Windows programming, 1951 but it's correct and silences the warning. Also removed the unneeded separate 1952 code path for non-WinCE platforms that translates only the corner of the window 1953 rectangle; the WinCE version is correct for normal Windows as well. Not sure 1954 why this wasn't caught when the code was originally checked in. 1955 1956 2010-05-20 Justin Schuh <jschuh (a] chromium.org> 1957 1958 Reviewed by Adam Barth. 1959 1960 Moving frame.src checks out of the bindings 1961 https://bugs.webkit.org/show_bug.cgi?id=37815 1962 1963 Moved JavaScript frame.src checks out of bindings and into 1964 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore 1965 so ExecState is available inside core DOM. Updated affected bindings 1966 (except for GObject, which will need to be updated to avoid origin 1967 failures inside native code). 1968 1969 * Android.jscbindings.mk: 1970 * CMakeLists.txt: 1971 * GNUmakefile.am: 1972 * WebCore.gypi: 1973 * WebCore.pro: 1974 * WebCore.vcproj/WebCore.vcproj: 1975 * WebCore.xcodeproj/project.pbxproj: 1976 * bindings/js/JSBindingsAllInOne.cpp: 1977 * bindings/js/JSCallbackData.cpp: 1978 (WebCore::JSCallbackData::invokeCallback): 1979 * bindings/js/JSEventListener.cpp: 1980 (WebCore::JSEventListener::handleEvent): 1981 * bindings/js/JSInjectedScriptHostCustom.cpp: 1982 (WebCore::InjectedScriptHost::createInjectedScript): 1983 * bindings/js/JSMainThreadExecState.cpp: Added. 1984 * bindings/js/JSMainThreadExecState.h: Added. 1985 (WebCore::JSMainThreadExecState::currentState): 1986 (WebCore::JSMainThreadExecState::call): 1987 (WebCore::JSMainThreadExecState::evaluate): 1988 (WebCore::JSMainThreadExecState::JSMainThreadExecState): 1989 (WebCore::JSMainThreadExecState::~JSMainThreadExecState): 1990 (WebCore::JSMainThreadNullState::JSMainThreadNullState): 1991 * bindings/js/ScheduledAction.cpp: 1992 (WebCore::ScheduledAction::executeFunctionInContext): 1993 (WebCore::ScheduledAction::execute): 1994 * bindings/js/ScheduledAction.h: 1995 * bindings/js/ScriptController.cpp: 1996 (WebCore::ScriptController::evaluateInWorld): 1997 (WebCore::ScriptController::canAccessFromCurrentOrigin): 1998 * bindings/js/ScriptController.h: 1999 * bindings/js/ScriptFunctionCall.cpp: 2000 (WebCore::ScriptFunctionCall::call): 2001 * bindings/objc/ObjCEventListener.mm: 2002 * bindings/objc/WebScriptObject.mm: 2003 (-[WebScriptObject callWebScriptMethod:withArguments:]): 2004 (-[WebScriptObject evaluateWebScript:]): 2005 * bindings/scripts/CodeGeneratorObjC.pm: 2006 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 2007 (-[DOMTestCallback callbackWithClass1Param:]): 2008 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 2009 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 2010 (-[DOMTestCallback customCallback:class6Param:]): 2011 * bindings/scripts/test/ObjC/DOMTestInterface.mm: 2012 * bindings/scripts/test/ObjC/DOMTestObj.mm: 2013 (-[DOMTestObj readOnlyIntAttr]): 2014 (-[DOMTestObj readOnlyStringAttr]): 2015 (-[DOMTestObj readOnlyTestObjAttr]): 2016 (-[DOMTestObj intAttr]): 2017 (-[DOMTestObj setIntAttr:]): 2018 (-[DOMTestObj longLongAttr]): 2019 (-[DOMTestObj setLongLongAttr:]): 2020 (-[DOMTestObj unsignedLongLongAttr]): 2021 (-[DOMTestObj setUnsignedLongLongAttr:]): 2022 (-[DOMTestObj stringAttr]): 2023 (-[DOMTestObj setStringAttr:]): 2024 (-[DOMTestObj testObjAttr]): 2025 (-[DOMTestObj setTestObjAttr:]): 2026 (-[DOMTestObj attrWithException]): 2027 (-[DOMTestObj setAttrWithException:]): 2028 (-[DOMTestObj attrWithSetterException]): 2029 (-[DOMTestObj setAttrWithSetterException:]): 2030 (-[DOMTestObj attrWithGetterException]): 2031 (-[DOMTestObj setAttrWithGetterException:]): 2032 (-[DOMTestObj customAttr]): 2033 (-[DOMTestObj setCustomAttr:]): 2034 (-[DOMTestObj scriptStringAttr]): 2035 (-[DOMTestObj voidMethod]): 2036 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 2037 (-[DOMTestObj intMethod]): 2038 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 2039 (-[DOMTestObj objMethod]): 2040 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 2041 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): 2042 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): 2043 (-[DOMTestObj serializedValue:]): 2044 (-[DOMTestObj methodWithException]): 2045 (-[DOMTestObj customMethod]): 2046 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 2047 (-[DOMTestObj customArgsAndException:]): 2048 (-[DOMTestObj addEventListener:listener:useCapture:]): 2049 (-[DOMTestObj removeEventListener:listener:useCapture:]): 2050 (-[DOMTestObj withDynamicFrame]): 2051 (-[DOMTestObj withDynamicFrameAndArg:]): 2052 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 2053 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 2054 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 2055 (-[DOMTestObj withScriptStateVoid]): 2056 (-[DOMTestObj withScriptStateObj]): 2057 (-[DOMTestObj withScriptStateVoidException]): 2058 (-[DOMTestObj withScriptStateObjException]): 2059 (-[DOMTestObj methodWithOptionalArg:]): 2060 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 2061 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 2062 * bindings/v8/ScriptController.cpp: 2063 (WebCore::ScriptController::canAccessFromCurrentOrigin): 2064 * bindings/v8/ScriptController.h: 2065 * html/HTMLFrameElementBase.cpp: 2066 (WebCore::HTMLFrameElementBase::isURLAllowed): 2067 2068 2010-05-20 Adam Roben <aroben (a] apple.com> 2069 2070 Fix an HRGN leak in WKCACFLayerRenderer 2071 2072 Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION 2073 (r53686-r55990): Graphics corruption when watching video (affects 2074 youtube.com) 2075 2076 Reviewed by Darin Adler. 2077 2078 * platform/graphics/win/WKCACFLayerRenderer.cpp: 2079 (WebCore::getDirtyRects): Use an OwnPtr to hold the HRGN we allocate. 2080 That way we don't have to remember to destroy it (as we were 2081 forgetting to do) when we bail out of this function early. 2082 2083 2010-05-20 Darin Fisher <darin (a] chromium.org> 2084 2085 Reviewed by Nate Chapin. 2086 2087 [chromium] Provide a way to catch exceptions thrown while interacting 2088 with a NPObject via WebBindings methods. 2089 https://bugs.webkit.org/show_bug.cgi?id=39378 2090 2091 This change also includes a small bit of cleanup in V8NPObject and 2092 friends. I moved code into the WebCore namespace where appropriate. 2093 2094 In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the 2095 context scope. I did this to avoid having nested ExceptionCatcher 2096 objects, which is not strictly necessary, but it seemed cleaner. 2097 _NPN_Evaluate already takes care of creating a context scope. 2098 2099 * bindings/v8/NPV8Object.cpp: 2100 (WebCore::v8ObjectToNPObject): 2101 (WebCore::npCreateV8ScriptObject): 2102 (_NPN_Invoke): 2103 (_NPN_InvokeDefault): 2104 (_NPN_Evaluate): 2105 (_NPN_EvaluateHelper): 2106 (_NPN_GetProperty): 2107 (_NPN_SetProperty): 2108 (_NPN_RemoveProperty): 2109 (_NPN_HasProperty): 2110 (_NPN_HasMethod): 2111 (_NPN_SetException): 2112 (_NPN_Enumerate): 2113 (_NPN_Construct): 2114 * bindings/v8/NPV8Object.h: 2115 * bindings/v8/V8NPObject.cpp: 2116 * bindings/v8/V8NPObject.h: 2117 * bindings/v8/V8NPUtils.cpp: 2118 (WebCore::convertV8ObjectToNPVariant): 2119 (WebCore::pushExceptionHandler): 2120 (WebCore::popExceptionHandler): 2121 (WebCore::ExceptionCatcher::ExceptionCatcher): 2122 (WebCore::ExceptionCatcher::~ExceptionCatcher): 2123 * bindings/v8/V8NPUtils.h: 2124 * bindings/v8/npruntime.cpp: 2125 2126 2010-05-20 Marcus Bulach <bulach (a] chromium.org> 2127 2128 Reviewed by Steve Block. 2129 2130 Ensure timers are stopped on Geolocation::disconnectFrame() 2131 https://bugs.webkit.org/show_bug.cgi?id=39388 2132 2133 fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests. 2134 2135 * page/Geolocation.cpp: 2136 (WebCore::Geolocation::disconnectFrame): 2137 2138 2010-05-20 James Robinson <jamesr (a] chromium.org> 2139 2140 Reviewed by Eric Seidel. 2141 2142 Ensures styles are up-to-date before determining selection 2143 https://bugs.webkit.org/show_bug.cgi?id=39389 2144 2145 This adds a call to document::updateStyleIfNeeded() to 2146 Frame::notifyRendererOfSelectionChange(). Without this call, if there 2147 is a pending style update that will detach part of the DOM and the 2148 the selection is within that part of the DOM when 2149 notifyRendererOfSeletionChange is called, the rootEditableElement 2150 algorithm ends up walking through detached parts of the render tree. 2151 2152 Test: editing/selection/focus-and-display-none.html 2153 2154 * page/Frame.cpp: 2155 (WebCore::Frame::notifyRendererOfSelectionChange): 2156 2157 2010-05-20 Adam Roben <aroben (a] apple.com> 2158 2159 Remove code that fetched, but did nothing useful with, a CFDictionary 2160 in MediaPlayerPrivateQuickTimeVisualContext 2161 2162 I also removed the code in QTPixelBuffer that vended the dictionary. 2163 2164 Fixes <http://webkit.org/b/39435> <rdar://problem/8009278> 2165 QTPixelBuffer passes CFDictionaries across the DLL boundary, which can 2166 lead to crashes 2167 2168 Reviewed by Darin Adler. 2169 2170 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 2171 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage): 2172 Deleted code that fetched the attachments dictionary, which was never 2173 used other than to pass it to CFRetain/CFRelease, which could be 2174 enough to cause a crash due to incompatible copies of 2175 CoreFoundation.dll. 2176 2177 * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed 2178 forward declaration. 2179 2180 * platform/graphics/win/QTPixelBuffer.cpp: 2181 * platform/graphics/win/QTPixelBuffer.h: 2182 Removed the now-unused attachments function. 2183 2184 2010-05-20 Adam Roben <aroben (a] apple.com> 2185 2186 Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext 2187 2188 Fixes <http://webkit.org/b/39432> <rdar://problem/8008992> 2189 2190 Reviewed by Ada Chan 2191 2192 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 2193 (WebCore::QTCFDictionaryCreateWithDataCallback): Use a RetainPtr to 2194 hold the CFData we allocate so it will get released when this function 2195 is exited. Also pass kCFAllocatorNull as the bytes deallocator to 2196 CFDataCreateWithBytesNoCopy so that CF doesn't try to deallocate the 2197 bytes we pass to it. 2198 2199 2010-05-20 Jian Li <jianli (a] chromium.org> 2200 2201 Reviewed by David Levin. 2202 2203 Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h. 2204 https://bugs.webkit.org/show_bug.cgi?id=39437 2205 2206 * dom/CrossThreadTask.h: 2207 (WebCore::): 2208 (WebCore::CrossThreadTask1::create): 2209 (WebCore::CrossThreadTask1::CrossThreadTask1): 2210 (WebCore::CrossThreadTask2::create): 2211 (WebCore::CrossThreadTask2::CrossThreadTask2): 2212 (WebCore::CrossThreadTask3::create): 2213 (WebCore::CrossThreadTask3::CrossThreadTask3): 2214 (WebCore::CrossThreadTask4::create): 2215 (WebCore::CrossThreadTask4::CrossThreadTask4): 2216 (WebCore::CrossThreadTask5::create): 2217 (WebCore::CrossThreadTask5::CrossThreadTask5): 2218 (WebCore::CrossThreadTask6::create): 2219 (WebCore::CrossThreadTask6::CrossThreadTask6): 2220 (WebCore::CrossThreadTask7::create): 2221 (WebCore::CrossThreadTask7::CrossThreadTask7): 2222 (WebCore::CrossThreadTask8::create): 2223 (WebCore::CrossThreadTask8::CrossThreadTask8): 2224 (WebCore::createCallbackTask): 2225 2226 2010-05-20 Jian Li <jianli (a] chromium.org> 2227 2228 Reviewed by David Levin. 2229 2230 Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory. 2231 https://bugs.webkit.org/show_bug.cgi?id=39135 2232 2233 * GNUmakefile.am: 2234 * WebCore.gypi: 2235 * WebCore.vcproj/WebCore.vcproj: 2236 * WebCore.xcodeproj/project.pbxproj: 2237 * dom/CrossThreadTask.h: Renamed from WebCore/workers/GenericWorkerTask.h. 2238 * html/FileStreamProxy.cpp: 2239 * loader/WorkerThreadableLoader.cpp: 2240 * websockets/WorkerThreadableWebSocketChannel.cpp: 2241 * workers/DefaultSharedWorkerRepository.cpp: 2242 * workers/WorkerMessagingProxy.cpp: 2243 * workers/WorkerScriptLoader.cpp: 2244 2245 2010-05-20 Adele Peterson <adele (a] apple.com> 2246 2247 Reviewed by Mark Rowe. 2248 2249 Remove the Safari welcome page site-specific quirk, since its no longer needed. 2250 2251 * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules): 2252 2253 2010-05-20 Steve Block <steveblock (a] google.com> 2254 2255 Reviewed by Jeremy Orlow. 2256 2257 Provide bindings for DeviceOrientation 2258 https://bugs.webkit.org/show_bug.cgi?id=39210 2259 2260 Tests: fast/dom/DeviceOrientation/window-property.html 2261 fast/dom/Window/window-properties-on-device-orientation.html 2262 2263 Adds bindings for DeviceOrientation as defined in 2264 http://dev.w3.org/geo/api/spec-source-orientation.html 2265 This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on 2266 all platforms but Android. 2267 2268 * Android.derived.jscbindings.mk: 2269 * Android.derived.v8bindings.mk: 2270 * Android.mk: 2271 * Configurations/FeatureDefines.xcconfig: 2272 * DerivedSources.cpp: 2273 * DerivedSources.make: 2274 * GNUmakefile.am: 2275 * WebCore.gypi: 2276 * WebCore.pri: 2277 * WebCore.pro: 2278 * WebCore.xcodeproj/project.pbxproj: 2279 * bindings/js/JSEventCustom.cpp: 2280 (WebCore::toJS): 2281 * bindings/v8/custom/V8EventCustom.cpp: 2282 (WebCore::toV8): 2283 * dom/DeviceOrientationEvent.cpp: Added. 2284 (WebCore::DeviceOrientationEvent::DeviceOrientationEvent): 2285 (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent): 2286 * dom/DeviceOrientationEvent.h: Added. 2287 (WebCore::DeviceOrientationEvent::create): 2288 (WebCore::DeviceOrientationEvent::alpha): 2289 (WebCore::DeviceOrientationEvent::beta): 2290 (WebCore::DeviceOrientationEvent::gamma): 2291 (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent): 2292 * dom/DeviceOrientationEvent.idl: Added. 2293 * dom/Event.cpp: 2294 (WebCore::Event::isDeviceOrientationEvent): 2295 * dom/Event.h: 2296 * dom/EventNames.h: 2297 * page/DOMWindow.h: 2298 * page/DOMWindow.idl: 2299 2300 2010-05-20 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 2301 2302 Rubberstamped by Antti Koivisto. 2303 2304 Use 0.15 as text drag delay when Q_WS_MAC is defined, which is 2305 consistent with the Mac OS X platform. 2306 2307 * page/qt/EventHandlerQt.cpp: 2308 2309 2010-05-19 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 2310 2311 Reviewed by Simon Hausmann. 2312 2313 Fix painting when using clipToImageBuffer() 2314 2315 When we apply the transform of the parent painter to the painter of 2316 the transparency layer, we adopt its coordinate system, thus offset 2317 should not be in page coordinates, but in the coordinate system of 2318 the parent painter. 2319 2320 * platform/graphics/qt/GraphicsContextQt.cpp: 2321 (WebCore::TransparencyLayer::TransparencyLayer): 2322 2323 2010-05-20 Adam Langley <agl (a] chromium.org> 2324 2325 Reviewed by David Levin. 2326 2327 [chromium] Avoid crash when msttcorefonts aren't provided 2328 2329 https://bugs.webkit.org/show_bug.cgi?id=39015 2330 http://code.google.com/p/chromium/issues/detail?id=43831 2331 2332 * platform/graphics/chromium/FontCacheLinux.cpp: 2333 (WebCore::FontCache::createFontPlatformData): 2334 2335 2010-05-20 Zoltan Herczeg <zherczeg (a] webkit.org> 2336 2337 Reviewed by Dirk Schulze. 2338 2339 Fix a crash caused by feLigthing::apply() 2340 https://bugs.webkit.org/show_bug.cgi?id=39004 2341 2342 Make FELighting::apply() similar to other filters' applies 2343 to avoid an assertion fail in putUnmultipliedImageData(), 2344 when effectDrawingRect has negative location (x or y is less than 0). 2345 2346 Test: svg/filters/feLighting-crash.svg 2347 2348 * svg/graphics/filters/SVGFELighting.cpp: 2349 (WebCore::FELighting::apply): 2350 2351 2010-05-20 Chris Jerdonek <cjerdonek (a] webkit.org> 2352 2353 Reviewed by Eric Seidel. 2354 2355 Modified FrameLoader::urlSelected() to accept a KURL instead of a 2356 ResourceRequest. 2357 2358 https://bugs.webkit.org/show_bug.cgi?id=39320 2359 2360 Since ResourceRequest has non-explicit single-parameter constructors for 2361 String and KURL, urlSelected() previously accepted any of String, KURL, 2362 and ResourceRequest. This revision changes urlSelected() to accept only 2363 a KURL to make the API tighter and easier to refactor. 2364 2365 No new functionality, so no new tests. 2366 2367 * loader/FrameLoader.cpp: 2368 (WebCore::FrameLoader::urlSelected): 2369 - Changed the public overload to accept a KURL instead of a ResourceRequest. 2370 * loader/FrameLoader.h: 2371 - Changed the public overload to accept a KURL instead of a ResourceRequest. 2372 * wml/WMLAElement.cpp: 2373 (WebCore::WMLAElement::defaultEventHandler): 2374 - Updated the call to urlSelected(). 2375 2376 2010-05-20 MORITA Hajime <morrita (a] google.com> 2377 2378 Reviewed by Kent Tamura. 2379 2380 2x execCommand ReadAV@NULL 2381 https://bugs.webkit.org/show_bug.cgi?id=35791 2382 2383 In applyBlockStyle(), a node which is referred from 2384 nextParagraphStart sometimes removed from the document and goes 2385 orphan, and that causes an assertion failed. This is because 2386 moveParagraphs() replaces the node with a new one with some new 2387 styles applied. So we re-compute nextParagraphStart in that case. 2388 2389 Test: editing/execCommand/35791.html 2390 2391 * dom/Position.h: 2392 (WebCore::Position::isOrphan): 2393 * editing/ApplyStyleCommand.cpp: 2394 (WebCore::ApplyStyleCommand::applyBlockStyle): 2395 * editing/VisiblePosition.h: 2396 (WebCore::VisiblePosition::isOrphan): 2397 2398 2010-05-20 Steve Block <steveblock (a] google.com> 2399 2400 Reviewed by Eric Seidel. 2401 2402 PluginView contains JSC-specific code 2403 https://bugs.webkit.org/show_bug.cgi?id=38907 2404 2405 Build fix only, no new tests. 2406 2407 * plugins/PluginView.cpp: 2408 (WebCore::PluginView::start): 2409 (WebCore::PluginView::stop): 2410 (WebCore::PluginView::performRequest): 2411 * plugins/PluginView.h: 2412 2413 2010-05-17 Philippe Normand <pnormand (a] igalia.com> 2414 2415 Reviewed by Eric Seidel. 2416 2417 [GStreamer] enable gst support if USE_GSTREAMER macro is defined 2418 https://bugs.webkit.org/show_bug.cgi?id=39205 2419 2420 Include gstreamer private player in the build when the 2421 USE_GSTREAMER macro is enabled. 2422 2423 * platform/graphics/MediaPlayer.cpp: 2424 (WebCore::installedMediaEngines): 2425 2426 2010-05-19 Vangelis Kokkevis <vangelis (a] chromium.org> 2427 2428 Reviewed by Darin Fisher. 2429 2430 Implementing hardware accelerated compositing of layers for Chromium. 2431 Completely removed the existing software compositing path to replace 2432 it with code implemented using OpenGL. 2433 https://bugs.webkit.org/show_bug.cgi?id=38783 2434 2435 Tests: Covered by existing compositing tests. 2436 2437 * WebCore.gyp/WebCore.gyp: 2438 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 2439 (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): 2440 (WebCore::GraphicsLayerChromium::updateLayerDrawsContent): 2441 (WebCore::GraphicsLayerChromium::updateContentsRect): 2442 * platform/graphics/chromium/LayerChromium.cpp: 2443 (WebCore::LayerChromium::LayerChromium): 2444 (WebCore::LayerChromium::~LayerChromium): 2445 (WebCore::LayerChromium::updateGraphicsContext): 2446 (WebCore::LayerChromium::drawsContentUpdated): 2447 (WebCore::LayerChromium::updateContents): 2448 (WebCore::LayerChromium::setContents): 2449 (WebCore::LayerChromium::setBackingStoreSize): 2450 (WebCore::LayerChromium::setBounds): 2451 (WebCore::LayerChromium::setNeedsDisplay): 2452 * platform/graphics/chromium/LayerChromium.h: 2453 (WebCore::LayerChromium::contentsDirty): 2454 (WebCore::LayerChromium::drawsContent): 2455 * platform/graphics/chromium/LayerRendererChromium.cpp: 2456 (WebCore::): 2457 (WebCore::checkGLError): 2458 (WebCore::loadShader): 2459 (WebCore::loadShaderProgram): 2460 (WebCore::toGLMatrix): 2461 (WebCore::orthoMatrix): 2462 (WebCore::createLayerTexture): 2463 (WebCore::LayerRendererChromium::create): 2464 (WebCore::LayerRendererChromium::LayerRendererChromium): 2465 (WebCore::LayerRendererChromium::~LayerRendererChromium): 2466 (WebCore::LayerRendererChromium::drawTexturedQuad): 2467 (WebCore::LayerRendererChromium::drawLayers): 2468 (WebCore::LayerRendererChromium::getTextureId): 2469 (WebCore::LayerRendererChromium::assignTextureForLayer): 2470 (WebCore::LayerRendererChromium::freeLayerTexture): 2471 (WebCore::LayerRendererChromium::drawDebugBorder): 2472 (WebCore::LayerRendererChromium::isLayerVisible): 2473 (WebCore::LayerRendererChromium::compositeLayersRecursive): 2474 (WebCore::LayerRendererChromium::makeContextCurrent): 2475 (WebCore::LayerRendererChromium::initGL): 2476 (WebCore::LayerRendererChromium::bindCommonAttribLocation): 2477 (WebCore::LayerRendererChromium::initializeSharedGLObjects): 2478 * platform/graphics/chromium/LayerRendererChromium.h: 2479 (WebCore::LayerRendererChromium::): 2480 2481 2010-05-19 Andrey Kosyakov <caseq (a] chromium.org> 2482 2483 Reviewed by Timothy Hatcher. 2484 2485 Maintain focus on help screen while it's active. 2486 https://bugs.webkit.org/show_bug.cgi?id=39237 2487 2488 * inspector/front-end/HelpScreen.js: 2489 (WebInspector.HelpScreen): 2490 (WebInspector.HelpScreen.prototype.show): 2491 (WebInspector.HelpScreen.prototype._hide): 2492 (WebInspector.HelpScreen.prototype._onBlur): 2493 2494 2010-05-19 Jedrzej Nowacki <jedrzej.nowacki (a] nokia.com> 2495 2496 Reviewed by Kenneth Rohde Christiansen. 2497 2498 Crash fix in the HistoryController. 2499 2500 The problem was casued by a documented feature of the QWebFrame::setHtml(). 2501 The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so 2502 m_currentItem and m_previousItem are not set. 2503 2504 A null check was added. 2505 2506 [Qt] The QWebPage crashes on history.pushState(). 2507 https://bugs.webkit.org/show_bug.cgi?id=38840 2508 2509 * loader/HistoryController.cpp: 2510 (WebCore::HistoryController::pushState): 2511 (WebCore::HistoryController::replaceState): 2512 2513 2010-05-19 Darin Fisher <darin (a] chromium.org> 2514 2515 Revert r59790 due to failing Chromium npruntime tests. 2516 2517 * bindings/v8/NPV8Object.cpp: 2518 (v8ObjectToNPObject): 2519 (npCreateV8ScriptObject): 2520 (_NPN_Invoke): 2521 (_NPN_InvokeDefault): 2522 (_NPN_Evaluate): 2523 (_NPN_EvaluateHelper): 2524 (_NPN_GetProperty): 2525 (_NPN_SetProperty): 2526 (_NPN_RemoveProperty): 2527 (_NPN_HasProperty): 2528 (_NPN_HasMethod): 2529 (_NPN_SetException): 2530 (_NPN_Enumerate): 2531 (_NPN_Construct): 2532 * bindings/v8/NPV8Object.h: 2533 * bindings/v8/V8NPObject.cpp: 2534 (forgetV8ObjectForNPObject): 2535 * bindings/v8/V8NPObject.h: 2536 * bindings/v8/V8NPUtils.cpp: 2537 (convertV8ObjectToNPVariant): 2538 (getStringIdentifier): 2539 * bindings/v8/V8NPUtils.h: 2540 * bindings/v8/npruntime.cpp: 2541 2542 2010-05-19 Gavin Barraclough <barraclough (a] apple.com> 2543 2544 Rubber Stamped by Sam Weinig. 2545 2546 JSFunctions are no longer a subclass of InternalFunction. 2547 2548 * bindings/js/ScriptCallStack.cpp: 2549 (WebCore::ScriptCallStack::ScriptCallStack): 2550 (WebCore::ScriptCallStack::initialize): 2551 * bindings/js/ScriptCallStack.h: 2552 2553 2010-05-19 Jian Li <jianli (a] chromium.org> 2554 2555 Reviewed by Alexey Proskuryakov. 2556 2557 Refactor text encoding detection logic in FileReader. 2558 https://bugs.webkit.org/show_bug.cgi?id=39131 2559 2560 Changed FileReader::convertToText to call TextResourceDecoder::decode to 2561 detect the encoding from BOM and decode the text. Though the File API 2562 spec says that the supplied encoding should be used if it is valid, we 2563 choose to ignore this requirement in order to be consistent with how 2564 WebKit decodes the web content: always has the BOM override the provided 2565 encoding. 2566 2567 * html/FileReader.cpp: 2568 (WebCore::FileReader::convertToText): 2569 * html/FileReader.h: 2570 2571 2010-05-19 Abhishek Arya <inferno (a] chromium.org> 2572 2573 Reviewed by David Hyatt. 2574 2575 Check that the node is a text node before doing a static cast 2576 to a Text class pointer. 2577 https://bugs.webkit.org/show_bug.cgi?id=38626 2578 2579 Test: fast/text/text-transform-nontext-node-crash.xhtml 2580 2581 * rendering/RenderText.cpp: 2582 (WebCore::RenderText::originalText): 2583 * rendering/RenderTextFragment.cpp: 2584 (WebCore::RenderTextFragment::originalText): 2585 (WebCore::RenderTextFragment::previousCharacter): 2586 2587 2010-05-19 Yaar Schnitman <yaar (a] chromium.org> 2588 2589 Reviewed by Eric Seidel. 2590 2591 Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC. 2592 https://bugs.webkit.org/show_bug.cgi?id=39390 2593 2594 * bindings/scripts/CodeGeneratorJS.pm: 2595 * bindings/scripts/test/JS/JSTestInterface.cpp: 2596 (WebCore::): 2597 * bindings/scripts/test/JS/JSTestObj.cpp: 2598 (WebCore::): 2599 2600 2010-05-19 Darin Fisher <darin (a] chromium.org> 2601 2602 Reviewed by Nate Chapin. 2603 2604 [chromium] Provide a way to catch exceptions thrown while interacting 2605 with a NPObject via WebBindings methods. 2606 https://bugs.webkit.org/show_bug.cgi?id=39378 2607 2608 This change also includes a small bit of cleanup in V8NPObject and 2609 friends. I moved code into the WebCore namespace where appropriate. 2610 2611 In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the 2612 context scope. I did this to avoid having nested ExceptionCatcher 2613 objects, which is not strictly necessary, but it seemed cleaner. 2614 _NPN_Evaluate already takes care of creating a context scope. 2615 2616 * bindings/v8/NPV8Object.cpp: 2617 (WebCore::v8ObjectToNPObject): 2618 (WebCore::npCreateV8ScriptObject): 2619 (_NPN_Invoke): 2620 (_NPN_InvokeDefault): 2621 (_NPN_Evaluate): 2622 (_NPN_EvaluateHelper): 2623 (_NPN_GetProperty): 2624 (_NPN_SetProperty): 2625 (_NPN_RemoveProperty): 2626 (_NPN_HasProperty): 2627 (_NPN_HasMethod): 2628 (_NPN_SetException): 2629 (_NPN_Enumerate): 2630 (_NPN_Construct): 2631 * bindings/v8/NPV8Object.h: 2632 * bindings/v8/V8NPObject.cpp: 2633 * bindings/v8/V8NPObject.h: 2634 * bindings/v8/V8NPUtils.cpp: 2635 (WebCore::convertV8ObjectToNPVariant): 2636 (WebCore::pushExceptionHandler): 2637 (WebCore::popExceptionHandler): 2638 (WebCore::ExceptionCatcher::~ExceptionCatcher): 2639 * bindings/v8/V8NPUtils.h: 2640 * bindings/v8/npruntime.cpp: 2641 2642 2010-05-19 Yaar Schnitman <yaar (a] chromium.org> 2643 2644 Unreviewed, rolling out r59769. 2645 http://trac.webkit.org/changeset/59769 2646 https://bugs.webkit.org/show_bug.cgi?id=37815 2647 2648 Broke GTK again 2649 2650 * Android.jscbindings.mk: 2651 * CMakeLists.txt: 2652 * GNUmakefile.am: 2653 * WebCore.gypi: 2654 * WebCore.pro: 2655 * WebCore.vcproj/WebCore.vcproj: 2656 * WebCore.xcodeproj/project.pbxproj: 2657 * bindings/js/JSBindingsAllInOne.cpp: 2658 * bindings/js/JSCallbackData.cpp: 2659 (WebCore::JSCallbackData::invokeCallback): 2660 * bindings/js/JSEventListener.cpp: 2661 (WebCore::JSEventListener::handleEvent): 2662 * bindings/js/JSInjectedScriptHostCustom.cpp: 2663 (WebCore::InjectedScriptHost::createInjectedScript): 2664 * bindings/js/JSMainThreadExecState.cpp: Removed. 2665 * bindings/js/JSMainThreadExecState.h: Removed. 2666 * bindings/js/ScheduledAction.cpp: 2667 (WebCore::ScheduledAction::executeFunctionInContext): 2668 (WebCore::ScheduledAction::execute): 2669 * bindings/js/ScheduledAction.h: 2670 * bindings/js/ScriptController.cpp: 2671 (WebCore::ScriptController::evaluateInWorld): 2672 * bindings/js/ScriptController.h: 2673 * bindings/js/ScriptFunctionCall.cpp: 2674 (WebCore::ScriptFunctionCall::call): 2675 * bindings/objc/ObjCEventListener.mm: 2676 * bindings/objc/WebScriptObject.mm: 2677 (-[WebScriptObject callWebScriptMethod:withArguments:]): 2678 (-[WebScriptObject evaluateWebScript:]): 2679 * bindings/scripts/CodeGeneratorObjC.pm: 2680 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 2681 (-[DOMTestCallback callbackWithClass1Param:]): 2682 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 2683 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 2684 (-[DOMTestCallback customCallback:class6Param:]): 2685 * bindings/scripts/test/ObjC/DOMTestInterface.mm: 2686 * bindings/scripts/test/ObjC/DOMTestObj.mm: 2687 (-[DOMTestObj readOnlyIntAttr]): 2688 (-[DOMTestObj readOnlyStringAttr]): 2689 (-[DOMTestObj readOnlyTestObjAttr]): 2690 (-[DOMTestObj intAttr]): 2691 (-[DOMTestObj setIntAttr:]): 2692 (-[DOMTestObj longLongAttr]): 2693 (-[DOMTestObj setLongLongAttr:]): 2694 (-[DOMTestObj unsignedLongLongAttr]): 2695 (-[DOMTestObj setUnsignedLongLongAttr:]): 2696 (-[DOMTestObj stringAttr]): 2697 (-[DOMTestObj setStringAttr:]): 2698 (-[DOMTestObj testObjAttr]): 2699 (-[DOMTestObj setTestObjAttr:]): 2700 (-[DOMTestObj attrWithException]): 2701 (-[DOMTestObj setAttrWithException:]): 2702 (-[DOMTestObj attrWithSetterException]): 2703 (-[DOMTestObj setAttrWithSetterException:]): 2704 (-[DOMTestObj attrWithGetterException]): 2705 (-[DOMTestObj setAttrWithGetterException:]): 2706 (-[DOMTestObj customAttr]): 2707 (-[DOMTestObj setCustomAttr:]): 2708 (-[DOMTestObj scriptStringAttr]): 2709 (-[DOMTestObj voidMethod]): 2710 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 2711 (-[DOMTestObj intMethod]): 2712 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 2713 (-[DOMTestObj objMethod]): 2714 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 2715 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): 2716 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): 2717 (-[DOMTestObj serializedValue:]): 2718 (-[DOMTestObj methodWithException]): 2719 (-[DOMTestObj customMethod]): 2720 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 2721 (-[DOMTestObj customArgsAndException:]): 2722 (-[DOMTestObj addEventListener:listener:useCapture:]): 2723 (-[DOMTestObj removeEventListener:listener:useCapture:]): 2724 (-[DOMTestObj withDynamicFrame]): 2725 (-[DOMTestObj withDynamicFrameAndArg:]): 2726 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 2727 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 2728 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 2729 (-[DOMTestObj withScriptStateVoid]): 2730 (-[DOMTestObj withScriptStateObj]): 2731 (-[DOMTestObj withScriptStateVoidException]): 2732 (-[DOMTestObj withScriptStateObjException]): 2733 (-[DOMTestObj methodWithOptionalArg:]): 2734 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 2735 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 2736 * bindings/v8/ScriptController.cpp: 2737 * bindings/v8/ScriptController.h: 2738 * html/HTMLFrameElementBase.cpp: 2739 (WebCore::HTMLFrameElementBase::isURLAllowed): 2740 2741 2010-05-19 Dirk Pranke <dpranke (a] chromium.org> 2742 2743 Try again to roll out r58675. 2744 2745 * notifications/Notification.h: 2746 * notifications/Notification.idl: 2747 2748 2010-05-19 Enrica Casucci <enrica (a] apple.com> 2749 2750 Reviewed by Dave Hyatt. 2751 2752 REGRESSION (r59385) crash destroying inline renderers 2753 https://bugs.webkit.org/show_bug.cgi?id=39143 2754 <rdar://problem/8003662> 2755 2756 The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result 2757 as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when 2758 the block had no children (as it is upon creation). 2759 I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed, 2760 without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy() 2761 tries to remove the continuations we are effectively deleting a renderer that had been deleted already. 2762 2763 Test: fast/inline-block/anonymous-block-crash.html 2764 2765 * rendering/RenderBlock.cpp: 2766 (WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in 2767 a double deletion of the renderer that causes the crash. 2768 2769 2010-05-19 Sheriff Bot <webkit.review.bot (a] gmail.com> 2770 2771 Unreviewed, rolling out r59782. 2772 http://trac.webkit.org/changeset/59782 2773 https://bugs.webkit.org/show_bug.cgi?id=39379 2774 2775 broke DRT build (Requested by dpranke on #webkit). 2776 2777 * notifications/Notification.h: 2778 (WebCore::Notification::dir): 2779 (WebCore::Notification::setDir): 2780 (WebCore::Notification::replaceId): 2781 (WebCore::Notification::setReplaceId): 2782 * notifications/Notification.idl: 2783 2784 2010-05-18 David Hyatt <hyatt (a] apple.com> 2785 2786 Reviewed by Oliver Hunt. 2787 2788 https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts. 2789 2790 Make layers split painting across columns just as normal flow content does. This is actually very 2791 challenging, since intermediate multicol layers can exist between a child that has to be split and 2792 its enclosing stacking context. 2793 2794 In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get 2795 split and thus split any descendant layers that they are also responsible for painting. For a paginated 2796 root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child 2797 and the enclosing stacking context. 2798 2799 We then recur from the outside in, applying clipping and translation as we break up the layer into strips. 2800 2801 Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right 2802 column. 2803 2804 Painting and hit testing of columns has been simplified in all of the functions to use the x position of 2805 the column rect instead of trying to increment an x offset by adding in widths and column gaps. This 2806 makes those functions directionality-independent (and the LTR/RTL code paths are now the same). 2807 2808 Fix repainting of columns as well to make sure rects are split across columns only after relative position 2809 and transforms have been applied. 2810 2811 Added fast/multicol/layers-split-across-columns.html 2812 2813 * rendering/RenderBlock.cpp: 2814 (WebCore::RenderBlock::paintColumnContents): 2815 (WebCore::RenderBlock::adjustRectForColumns): 2816 (WebCore::RenderBlock::adjustForColumns): 2817 * rendering/RenderBlock.h: 2818 * rendering/RenderBox.cpp: 2819 (WebCore::RenderBox::computeRectForRepaint): 2820 * rendering/RenderLayer.cpp: 2821 (WebCore::RenderLayer::RenderLayer): 2822 (WebCore::RenderLayer::updateLayerPositions): 2823 (WebCore::RenderLayer::updatePagination): 2824 (WebCore::RenderLayer::updateLayerPosition): 2825 (WebCore::RenderLayer::paintLayer): 2826 (WebCore::RenderLayer::paintList): 2827 (WebCore::RenderLayer::paintPaginatedChildLayer): 2828 (WebCore::RenderLayer::paintChildLayerIntoColumns): 2829 (WebCore::RenderLayer::hitTestLayer): 2830 (WebCore::RenderLayer::hitTestList): 2831 (WebCore::RenderLayer::hitTestPaginatedChildLayer): 2832 (WebCore::RenderLayer::hitTestChildLayerColumns): 2833 * rendering/RenderLayer.h: 2834 (WebCore::RenderLayer::): 2835 (WebCore::RenderLayer::isPaginated): 2836 2837 2010-05-18 Dirk Pranke <dpranke (a] chromium.org> 2838 2839 Reviewed by Dimitri Glazkov. 2840 2841 Attempt to revert r58765 to see if it was causing a performance 2842 regression. 2843 2844 https://bugs.webkit.org/show_bug.cgi?id=39328 2845 2846 * notifications/Notification.h: 2847 * notifications/Notification.idl: 2848 2849 2010-05-19 Kevin Watters <kevinwatters (a] gmail.com> 2850 2851 Reviewed by Kevin Ollivier. 2852 2853 [wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling 2854 to handle more cases. 2855 https://bugs.webkit.org/show_bug.cgi?id=39365 2856 2857 * platform/graphics/wx/FontCacheWx.cpp: 2858 (WebCore::FontCache::getFontDataForCharacters): 2859 (WebCore::FontCache::getSimilarFontPlatformData): 2860 (WebCore::FontCache::getLastResortFallbackFont): 2861 * platform/graphics/wx/FontPlatformDataWx.cpp: 2862 (WebCore::FontPlatformData::FontPlatformData): 2863 2864 2010-05-19 Marcus Bulach <bulach (a] chromium.org> 2865 2866 Reviewed by Eric Seidel. 2867 2868 Fixes Windows Qt Release post r59772. 2869 https://bugs.webkit.org/show_bug.cgi?id=39369 2870 2871 * platform/GeolocationService.cpp: 2872 2873 2010-05-19 Eric Seidel <eric (a] webkit.org> 2874 2875 Reviewed by Adam Barth. 2876 2877 Add support for handling basic <script> tags in the HTML5 Parser 2878 https://bugs.webkit.org/show_bug.cgi?id=39350 2879 2880 WebKit currently executes scripts from HTMLTokenizer in one giagantic 2881 hack. HTML 5 requires that we execute scripts from the tree-builders/parser. 2882 2883 It will take me a while to re-factor enough of HTMLTokenizer to be able to 2884 move the script execution logic without breaking things. In the interest 2885 of allowing Adam to continue improving the HTML 5 lexer I've added this 2886 very basic (and very incomplete) <script> support to the HTML 5 parser code 2887 path so the he can run the HTML5 parser test suite. 2888 2889 <script> support is tested by most of the layout tests. 2890 2891 * dom/ScriptElement.cpp: 2892 (WebCore::useHTML5Parser): 2893 (WebCore::ScriptElement::finishParsingChildren): 2894 2895 2010-05-19 Anders Carlsson <andersca (a] apple.com> 2896 2897 Reviewed by Sam Weinig. 2898 2899 Move member variables from NamedMappedAttrMap to its base class NamedNodeMap 2900 https://bugs.webkit.org/show_bug.cgi?id=39367 2901 <rdar://problem/8003304> 2902 2903 This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to 2904 fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit). 2905 2906 The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same. 2907 2908 * dom/Element.cpp: 2909 (WebCore::Element::createAttributeMap): 2910 * dom/Element.h: 2911 * dom/NamedMappedAttrMap.cpp: 2912 * dom/NamedMappedAttrMap.h: 2913 (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): 2914 * dom/NamedNodeMap.cpp: 2915 (WebCore::NamedNodeMap::clearAttributes): 2916 * dom/NamedNodeMap.h: 2917 (WebCore::NamedNodeMap::NamedNodeMap): 2918 * dom/Node.cpp: 2919 (WebCore::Node::dumpStatistics): 2920 * dom/StyledElement.cpp: 2921 * dom/StyledElement.h: 2922 2923 2010-05-19 Sam Weinig <sam (a] webkit.org> 2924 2925 Reviewed by Anders Carlsson. 2926 2927 Use ASSERT_UNUSED instead of UNUSED_PARAM. 2928 2929 * dom/Attribute.cpp: 2930 (WebCore::Attribute::unbindAttr): 2931 2932 2010-05-19 Sam Weinig <sam (a] webkit.org> 2933 2934 Rubber-stamped by Anders Carlsson. 2935 2936 Complete the merge of MappedAttribute and Attribute. 2937 2938 Files elided for brevity. 2939 2940 2010-05-19 Marcus Bulach <bulach (a] chromium.org> 2941 2942 Reviewed by Steve Block. 2943 2944 [chromium] Adds supports for layout tests using GeolocationServiceMock. 2945 https://bugs.webkit.org/show_bug.cgi?id=39081 2946 2947 Allows injection of GeolocationServiceMock factory. 2948 2949 Tests: existing fast/dom/Geolocation/* 2950 2951 * platform/GeolocationService.cpp: 2952 (WebCore::GeolocationService::useMock): 2953 (WebCore::GeolocationService::useMockFactory): 2954 * platform/GeolocationService.h: 2955 * platform/chromium/GeolocationServiceChromium.cpp: 2956 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): 2957 2958 2010-05-19 Justin Schuh <jschuh (a] chromium.org> 2959 2960 Reviewed by Adam Barth. 2961 2962 Moving frame.src checks out of the bindings 2963 https://bugs.webkit.org/show_bug.cgi?id=37815 2964 2965 Moved JavaScript frame.src checks out of bindings and into 2966 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore 2967 so ExecState is available inside core DOM. Updated affected bindings 2968 (except for GObject, which will need to be updated to avoid origin 2969 failures inside native code). 2970 2971 * Android.jscbindings.mk: 2972 * CMakeLists.txt: 2973 * GNUmakefile.am: 2974 * WebCore.gypi: 2975 * WebCore.pro: 2976 * WebCore.vcproj/WebCore.vcproj: 2977 * WebCore.xcodeproj/project.pbxproj: 2978 * bindings/js/JSBindingsAllInOne.cpp: 2979 * bindings/js/JSCallbackData.cpp: 2980 (WebCore::JSCallbackData::invokeCallback): 2981 * bindings/js/JSEventListener.cpp: 2982 (WebCore::JSEventListener::handleEvent): 2983 * bindings/js/JSInjectedScriptHostCustom.cpp: 2984 (WebCore::InjectedScriptHost::createInjectedScript): 2985 * bindings/js/JSMainThreadExecState.cpp: Added. 2986 * bindings/js/JSMainThreadExecState.h: Added. 2987 (WebCore::JSMainThreadExecState::currentState): 2988 (WebCore::JSMainThreadExecState::call): 2989 (WebCore::JSMainThreadExecState::evaluate): 2990 (WebCore::JSMainThreadExecState::JSMainThreadExecState): 2991 (WebCore::JSMainThreadExecState::~JSMainThreadExecState): 2992 (WebCore::JSMainThreadNullState::JSMainThreadNullState): 2993 * bindings/js/ScheduledAction.cpp: 2994 (WebCore::ScheduledAction::executeFunctionInContext): 2995 (WebCore::ScheduledAction::execute): 2996 * bindings/js/ScheduledAction.h: 2997 * bindings/js/ScriptController.cpp: 2998 (WebCore::ScriptController::evaluateInWorld): 2999 (WebCore::ScriptController::canAccessFromCurrentOrigin): 3000 * bindings/js/ScriptController.h: 3001 * bindings/js/ScriptFunctionCall.cpp: 3002 (WebCore::ScriptFunctionCall::call): 3003 * bindings/objc/ObjCEventListener.mm: 3004 * bindings/objc/WebScriptObject.mm: 3005 (-[WebScriptObject callWebScriptMethod:withArguments:]): 3006 (-[WebScriptObject evaluateWebScript:]): 3007 * bindings/scripts/CodeGeneratorObjC.pm: 3008 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 3009 (-[DOMTestCallback callbackWithClass1Param:]): 3010 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 3011 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 3012 (-[DOMTestCallback customCallback:class6Param:]): 3013 * bindings/scripts/test/ObjC/DOMTestInterface.mm: 3014 * bindings/scripts/test/ObjC/DOMTestObj.mm: 3015 (-[DOMTestObj readOnlyIntAttr]): 3016 (-[DOMTestObj readOnlyStringAttr]): 3017 (-[DOMTestObj readOnlyTestObjAttr]): 3018 (-[DOMTestObj intAttr]): 3019 (-[DOMTestObj setIntAttr:]): 3020 (-[DOMTestObj longLongAttr]): 3021 (-[DOMTestObj setLongLongAttr:]): 3022 (-[DOMTestObj unsignedLongLongAttr]): 3023 (-[DOMTestObj setUnsignedLongLongAttr:]): 3024 (-[DOMTestObj stringAttr]): 3025 (-[DOMTestObj setStringAttr:]): 3026 (-[DOMTestObj testObjAttr]): 3027 (-[DOMTestObj setTestObjAttr:]): 3028 (-[DOMTestObj attrWithException]): 3029 (-[DOMTestObj setAttrWithException:]): 3030 (-[DOMTestObj attrWithSetterException]): 3031 (-[DOMTestObj setAttrWithSetterException:]): 3032 (-[DOMTestObj attrWithGetterException]): 3033 (-[DOMTestObj setAttrWithGetterException:]): 3034 (-[DOMTestObj customAttr]): 3035 (-[DOMTestObj setCustomAttr:]): 3036 (-[DOMTestObj scriptStringAttr]): 3037 (-[DOMTestObj voidMethod]): 3038 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 3039 (-[DOMTestObj intMethod]): 3040 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 3041 (-[DOMTestObj objMethod]): 3042 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 3043 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): 3044 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): 3045 (-[DOMTestObj serializedValue:]): 3046 (-[DOMTestObj methodWithException]): 3047 (-[DOMTestObj customMethod]): 3048 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 3049 (-[DOMTestObj customArgsAndException:]): 3050 (-[DOMTestObj addEventListener:listener:useCapture:]): 3051 (-[DOMTestObj removeEventListener:listener:useCapture:]): 3052 (-[DOMTestObj withDynamicFrame]): 3053 (-[DOMTestObj withDynamicFrameAndArg:]): 3054 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 3055 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 3056 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 3057 (-[DOMTestObj withScriptStateVoid]): 3058 (-[DOMTestObj withScriptStateObj]): 3059 (-[DOMTestObj withScriptStateVoidException]): 3060 (-[DOMTestObj withScriptStateObjException]): 3061 (-[DOMTestObj methodWithOptionalArg:]): 3062 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 3063 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 3064 * bindings/v8/ScriptController.cpp: 3065 (WebCore::ScriptController::canAccessFromCurrentOrigin): 3066 * bindings/v8/ScriptController.h: 3067 * html/HTMLFrameElementBase.cpp: 3068 (WebCore::HTMLFrameElementBase::isURLAllowed): 3069 3070 2010-05-19 Andreas Kling <andreas.kling (a] nokia.com> 3071 3072 Reviewed by Darin Adler. 3073 3074 CanvasRenderingContext2D's property getters that return colors should 3075 serialize them in accordance with the HTML5 spec (4.8.11.1.4) 3076 Setters should ignore invalid colors. 3077 3078 Also, shadowColor should initially be transparent black (4.8.11.1.6) 3079 3080 https://bugs.webkit.org/show_bug.cgi?id=38845 3081 3082 Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string. 3083 3084 Spec links: 3085 http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color 3086 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor 3087 3088 * html/canvas/CanvasRenderingContext2D.cpp: 3089 (WebCore::CanvasRenderingContext2D::State::State): 3090 (WebCore::CanvasRenderingContext2D::shadowColor): 3091 (WebCore::CanvasRenderingContext2D::setShadowColor): 3092 (WebCore::CanvasRenderingContext2D::setShadow): 3093 (WebCore::CanvasRenderingContext2D::clearShadow): 3094 (WebCore::CanvasRenderingContext2D::applyShadow): 3095 * html/canvas/CanvasRenderingContext2D.h: 3096 * html/canvas/CanvasStyle.cpp: 3097 (WebCore::CanvasStyle::CanvasStyle): 3098 (WebCore::CanvasStyle::create): 3099 (WebCore::CanvasStyle::applyStrokeColor): 3100 (WebCore::CanvasStyle::applyFillColor): 3101 * html/canvas/CanvasStyle.h: 3102 (WebCore::CanvasStyle::create): 3103 (WebCore::CanvasStyle::color): 3104 (WebCore::CanvasStyle::): 3105 (WebCore::CanvasStyle::CMYKAValues::CMYKAValues): 3106 * platform/graphics/Color.cpp: 3107 (WebCore::Color::serialized): 3108 * platform/graphics/Color.h: 3109 3110 2010-05-19 Andreas Kling <andreas.kling (a] nokia.com> 3111 3112 Reviewed by Simon Hausmann. 3113 3114 [Qt] REGRESSION: CoolClock isn't rendered properly 3115 3116 https://bugs.webkit.org/show_bug.cgi?id=38526 3117 3118 CanvasRenderingContext2D's arc() should connect to the previous point 3119 with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty 3120 to begin with, we don't want a line back to (0,0) 3121 This also fixes the rendering artifact discussed in bug 36226. 3122 3123 Spec link: 3124 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc 3125 3126 Test: fast/canvas/canvas-arc-connecting-line.html 3127 3128 * platform/graphics/qt/PathQt.cpp: 3129 (WebCore::Path::addArc): 3130 3131 2010-05-19 Alexander Pavlov <apavlov (a] chromium.org> 3132 3133 Reviewed by Jeremy Orlow. 3134 3135 Fix whitespace for the bug 38906 3136 https://bugs.webkit.org/show_bug.cgi?id=39351 3137 3138 No new tests required (no code change). 3139 3140 * css/CSSParser.cpp: 3141 (WebCore::CSSParser::~CSSParser): 3142 (WebCore::CSSParser::setupParser): 3143 (WebCore::CSSParser::parseSheet): 3144 (WebCore::CSSParser::parseValue): 3145 (WebCore::CSSParser::parseSelector): 3146 (WebCore::unitFromString): 3147 (WebCore::CSSParser::checkForOrphanedUnits): 3148 (WebCore::CSSParser::parseWCSSInputProperty): 3149 (WebCore::CSSParser::parseFillShorthand): 3150 (WebCore::CSSParser::parseAnimationShorthand): 3151 (WebCore::CSSParser::parseTransitionShorthand): 3152 (WebCore::CSSParser::parseShorthand): 3153 (WebCore::CSSParser::parse4Values): 3154 (WebCore::CSSParser::parseAttr): 3155 (WebCore::CSSParser::parseFillPositionXY): 3156 (WebCore::CSSParser::parseFillPosition): 3157 (WebCore::CSSParser::parseFillRepeat): 3158 (WebCore::CSSParser::parseFillProperty): 3159 (WebCore::CSSParser::parseAnimationTimingFunction): 3160 (WebCore::CSSParser::parseAnimationProperty): 3161 (WebCore::CSSParser::parseDashboardRegions): 3162 (WebCore::CSSParser::parseCounterContent): 3163 (WebCore::CSSParser::parseShape): 3164 (WebCore::CSSParser::parseFont): 3165 (WebCore::CSSParser::parseFontFamily): 3166 (WebCore::CSSParser::parseFontFaceSrc): 3167 (WebCore::parseInt): 3168 (WebCore::CSSParser::parseColor): 3169 (WebCore::CSSParser::parseShadow): 3170 (WebCore::CSSParser::parseReflect): 3171 (WebCore::BorderImageParseContext::commitNumber): 3172 (WebCore::BorderImageParseContext::commitBorderImage): 3173 (WebCore::CSSParser::parseBorderImage): 3174 (WebCore::CSSParser::parseCounter): 3175 (WebCore::parseGradientPoint): 3176 (WebCore::parseGradientColorStop): 3177 (WebCore::CSSParser::parseGradient): 3178 (WebCore::CSSParser::parseCanvas): 3179 (WebCore::CSSParser::parseTransform): 3180 (WebCore::CSSParser::parseTransformOrigin): 3181 (WebCore::CSSParser::parsePerspectiveOrigin): 3182 (WebCore::CSSParser::text): 3183 (WebCore::CSSParser::createRuleList): 3184 (WebCore::CSSParser::createVariablesRule): 3185 (WebCore::CSSParser::parseVariable): 3186 (WebCore::CSSParser::parsePropertyWithResolvedVariables): 3187 (WebCore::CSSParser::checkForVariables): 3188 (WebCore::CSSParser::createKeyframeRule): 3189 * css/CSSParser.h: 3190 * inspector/InspectorController.cpp: 3191 (WebCore::InspectorController::setFrontend): 3192 (WebCore::InspectorController::show): 3193 (WebCore::InspectorController::unbindAllResources): 3194 (WebCore::InspectorController::didCommitLoad): 3195 (WebCore::InspectorController::scriptImported): 3196 (WebCore::InspectorController::getCurrentUserInitiatedProfileName): 3197 (WebCore::InspectorController::removeBreakpoint): 3198 (WebCore::drawOutlinedQuad): 3199 (WebCore::InspectorController::stopTiming): 3200 * inspector/InspectorDOMAgent.cpp: 3201 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 3202 (WebCore::InspectorDOMAgent::getStyles): 3203 (WebCore::InspectorDOMAgent::applyStyleText): 3204 3205 2010-05-19 Steve Block <steveblock (a] google.com> 3206 3207 Reviewed by Nate Chapin. 3208 3209 V8 code generator does not add ENABLE guards around attribute getters and setters 3210 https://bugs.webkit.org/show_bug.cgi?id=39222 3211 3212 No new tests, build fix only. 3213 3214 * bindings/scripts/CodeGeneratorV8.pm: 3215 3216 2010-05-19 Jeremy Orlow <jorlow (a] chromium.org> 3217 3218 Unreviewed build fix for Chromium. 3219 3220 * storage/IndexedDatabaseImpl.cpp: 3221 3222 2010-05-17 Jeremy Orlow <jorlow (a] chromium.org> 3223 3224 Reviewed by Darin Fisher. 3225 3226 Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl 3227 https://bugs.webkit.org/show_bug.cgi?id=39216 3228 3229 All of these functions are supposed to be passing around the origin since 3230 the caller of IndexedDatabaseImpl might not be able to pass in a Frame* 3231 object. I tried to fix this in an ealier patch, but obviously messed up. 3232 3233 Also change passing security origin strings to passing SecurityOrigin 3234 objects. 3235 3236 No behavior change because Chromium was emulating the old behavior before 3237 even though the code wasn't properly hooked up. 3238 3239 * storage/IndexedDatabase.h: 3240 * storage/IndexedDatabaseImpl.cpp: 3241 (WebCore::IndexedDatabaseImpl::open): 3242 * storage/IndexedDatabaseImpl.h: 3243 * storage/IndexedDatabaseRequest.cpp: 3244 (WebCore::IndexedDatabaseRequest::open): 3245 3246 2010-05-19 Ben Murdoch <benm (a] google.com> 3247 3248 Reviewed by Darin Adler. 3249 3250 Touch events are marked DontEnum in DOMWindow.idl 3251 https://bugs.webkit.org/show_bug.cgi?id=39118 3252 3253 Touch events are the only attribute event listeners on the 3254 window object that are marked DontEnum. For consistency allow 3255 them to be enumerated. 3256 3257 * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend, 3258 touchstart and touchmove attributes. 3259 3260 2010-05-19 Simon Hausmann <simon.hausmann (a] nokia.com> 3261 3262 [Qt] Fix build warning 3263 3264 NamedAttrMap.h has been renamed to NamedNodeMap.h 3265 3266 * WebCore.pro: 3267 3268 2010-05-19 Eric Seidel <eric (a] webkit.org> 3269 3270 Reviewed by Adam Barth. 3271 3272 Add an HTML parsing benchmark 3273 https://bugs.webkit.org/show_bug.cgi?id=39338 3274 3275 This benchmark parses the HTML5 specification 10 times and 3276 reports how long it takes. It does this 21 times, discarding 3277 the first warm-up run, and then prints the average time and 3278 standard deviation. 3279 3280 Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write(). 3281 The numbers from the benchmark are rather consistent. On my 3282 Mac Book Pro, I consistently see standard deviations < 2% of total time. 3283 3284 * benchmarks/parser/html-parser.html: Added. 3285 * benchmarks/parser/resources/html5.html: Added. 3286 3287 2010-05-18 Yuzo Fujishima <yuzo (a] google.com> 3288 3289 Reviewed by Shinichiro Hamaji. 3290 3291 Make CSS Parser properly handle only-for-pages pseudo-classes. 3292 3293 A new Match category, PagePseudoClass, is introduced to distinguish 3294 only-for-pages pseudo-classes from others. A new symbol, pseudo_page, 3295 is introduced to handle them separately. 3296 3297 https://bugs.webkit.org/show_bug.cgi?id=38731 3298 3299 * css/CSSGrammar.y: 3300 * css/CSSParser.cpp: 3301 (WebCore::CSSParser::createMarginAtRule): 3302 * css/CSSParser.h: 3303 * css/CSSSelector.cpp: 3304 (WebCore::CSSSelector::extractPseudoType): 3305 (WebCore::CSSSelector::selectorText): 3306 * css/CSSSelector.h: 3307 (WebCore::CSSSelector::): 3308 * css/CSSStyleSelector.cpp: 3309 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 3310 3311 2010-05-19 Adam Barth <abarth (a] webkit.org> 3312 3313 Reviewed by David Hyatt. 3314 3315 Change the API of nextToken to distinguish between emitting a token and just running out of input 3316 https://bugs.webkit.org/show_bug.cgi?id=39349 3317 3318 I'm not sure there's a functional difference with this patch yet, but 3319 as discussed with Eric, we need this to handle attributes. 3320 3321 * html/HTML5Lexer.cpp: 3322 (WebCore::HTML5Lexer::reset): 3323 (WebCore::HTML5Lexer::nextToken): 3324 * html/HTML5Lexer.h: 3325 * html/HTML5Token.h: 3326 (WebCore::HTML5Token::HTML5Token): 3327 (WebCore::HTML5Token::clear): 3328 (WebCore::HTML5Token::beginStartTag): 3329 (WebCore::HTML5Token::beginEndTag): 3330 (WebCore::HTML5Token::beginCharacter): 3331 * html/HTML5Tokenizer.cpp: 3332 (WebCore::HTML5Tokenizer::write): 3333 3334 2010-05-18 Eric Seidel <eric (a] webkit.org> 3335 3336 Reviewed by Maciej Stachowiak. 3337 3338 Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits 3339 https://bugs.webkit.org/show_bug.cgi?id=39318 3340 3341 No functional changes, only moving code into smaller functions. 3342 3343 This code is already covered by numerous layout tests. 3344 3345 HTML parsing benchmark shows this to be a wash. 3346 3347 * dom/Tokenizer.h: 3348 * html/HTMLTokenizer.cpp: 3349 (WebCore::HTMLTokenizer::advance): 3350 - New funtion to encapulate code which will move into HTMLLexer eventually. 3351 - Use ALWAYS_INLINE to make sure compilers inline this large 3352 function (otherwise this patch is a regression). 3353 (WebCore::HTMLTokenizer::willWriteHTML): 3354 - New function to handle calling any pre-write delegates. 3355 (WebCore::HTMLTokenizer::didWriteHTML): 3356 - New function to handle calling any post-write delegates. 3357 (WebCore::HTMLTokenizer::write): 3358 - Call the new functions. 3359 * html/HTMLTokenizer.h: 3360 3361 2010-05-18 Adam Barth <abarth (a] webkit.org> 3362 3363 Reviewed by Eric Seidel. 3364 3365 Make the HTML5 parser correctly parse <div>Hello</div> 3366 https://bugs.webkit.org/show_bug.cgi?id=39345 3367 3368 Again, this patch is covered by a large number of LayoutTests. 3369 3370 * html/HTML5Lexer.cpp: 3371 (WebCore::HTML5Lexer::HTML5Lexer): 3372 (WebCore::HTML5Lexer::reset): 3373 (WebCore::HTML5Lexer::nextToken): 3374 (WebCore::HTML5Lexer::emitCommentToken): 3375 (WebCore::HTML5Lexer::emitCharacter): 3376 (WebCore::HTML5Lexer::emitCurrentTagToken): 3377 * html/HTML5Lexer.h: 3378 * html/HTML5Token.h: 3379 (WebCore::HTML5Token::beginCharacter): 3380 (WebCore::HTML5Token::appendToCharacter): 3381 (WebCore::HTML5Token::characters): 3382 * html/HTML5Tokenizer.cpp: 3383 (WebCore::convertToOldStyle): 3384 3385 2010-05-18 Adam Barth <abarth (a] webkit.org> 3386 3387 Reviewed by Eric Seidel. 3388 3389 Make the HTML5 parser actually parse <div></div> 3390 https://bugs.webkit.org/show_bug.cgi?id=39342 3391 3392 This patch is covered by every LayoutTest. Yes. All of them. :) 3393 3394 * html/HTML5Lexer.cpp: 3395 (WebCore::toLowerCase): 3396 (WebCore::HTML5Lexer::HTML5Lexer): 3397 (WebCore::HTML5Lexer::nextToken): 3398 (WebCore::HTML5Lexer::emitCharacter): 3399 * html/HTML5Lexer.h: 3400 * html/HTML5Token.h: 3401 (WebCore::HTML5Token::HTML5Token): 3402 (WebCore::HTML5Token::beginStartTag): 3403 (WebCore::HTML5Token::beginEndTag): 3404 (WebCore::HTML5Token::appendToName): 3405 (WebCore::HTML5Token::type): 3406 (WebCore::HTML5Token::name): 3407 (WebCore::HTML5Token::selfClosing): 3408 (WebCore::HTML5Token::attrs): 3409 * html/HTML5Tokenizer.cpp: 3410 (WebCore::convertToOldStyle): 3411 (WebCore::HTML5Tokenizer::write): 3412 3413 2010-05-18 Tony Chang <tony (a] chromium.org> 3414 3415 Reviewed by Ojan Vafai. 3416 3417 REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li 3418 https://bugs.webkit.org/show_bug.cgi?id=38232 3419 3420 Test: editing/execCommand/crash-indenting-list-item.html 3421 3422 * editing/IndentOutdentCommand.cpp: 3423 (WebCore::IndentOutdentCommand::tryIndentingAsListItem): 3424 (WebCore::IndentOutdentCommand::indentIntoBlockquote): 3425 3426 2010-05-18 Kent Tamura <tkent (a] chromium.org> 3427 3428 Reviewed by Darin Adler. 3429 3430 ':optional' pseudo selector should not be applied to <keygen> and <progress> 3431 https://bugs.webkit.org/show_bug.cgi?id=39292 3432 3433 Test: fast/css/pseudo-required-optional-unapplied.html 3434 3435 * html/HTMLKeygenElement.h: 3436 (WebCore::HTMLKeygenElement::isOptionalFormControl): 3437 Add isOptionalFormControl() returning false. 3438 HTMLKeygenElement inherits HTMLSelectElement, which should return true 3439 for isOptionalFormControl(). However, <keygen> is not :optional 3440 according to the standard. 3441 * html/HTMLProgressElement.h: 3442 Remove isOptionalFormControl(). 3443 3444 2010-05-18 Adam Barth <abarth (a] webkit.org> 3445 3446 Reviewed by Eric Seidel. 3447 3448 Implement the DOCTYPE states for the HTML5 lexer 3449 https://bugs.webkit.org/show_bug.cgi?id=39335 3450 3451 * html/HTML5Lexer.cpp: 3452 (WebCore::HTML5Lexer::nextToken): 3453 (WebCore::emitCurrentDoctypeToken): 3454 * html/HTML5Lexer.h: 3455 3456 2010-05-18 Tony Chang <tony (a] chromium.org> 3457 3458 Reviewed by Ojan Vafai. 3459 3460 [chromium] ignore IME events if the keydown event was prevented 3461 https://bugs.webkit.org/show_bug.cgi?id=37692 3462 3463 A manual test to verify the IME behavior since the existing methods of 3464 textInputController test at a lower level than the fix. 3465 3466 * manual-tests/ime-keydown-preventdefault.html: Added. 3467 3468 2010-05-18 Sam Weinig <sam (a] webkit.org> 3469 3470 Fix the build for platforms that don't always include UnusedParam.h 3471 3472 * dom/Attribute.cpp: 3473 3474 2010-05-18 MORITA Hajime <morrita (a] google.com> 3475 3476 Reviewed by Kent Tamura. 3477 3478 [Chromium] Windows: Determinate progress bar should have glossy overlay 3479 https://bugs.webkit.org/show_bug.cgi?id=39269 3480 3481 - Moved animation code from RenderThemeChromiumWin to chromium tree 3482 because it should be behind the theme implementation, which lives 3483 in chromium tree. 3484 - Passed current time to the bridge, which will be used to compute 3485 the state of the theme animation. 3486 3487 No new tests, animation effect can be confirmed only manually. 3488 3489 * platform/chromium/ChromiumBridge.h: 3490 * rendering/RenderProgress.h: 3491 (WebCore::RenderProgress::animationStartTime): Added. 3492 * rendering/RenderThemeChromiumWin.cpp: 3493 (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar): 3494 (WebCore::RenderThemeChromiumWin::paintProgressBar): 3495 3496 2010-05-18 Sam Weinig <sam (a] webkit.org> 3497 3498 Fix release build. 3499 3500 * dom/Attribute.cpp: 3501 (WebCore::Attribute::unbindAttr): 3502 3503 2010-05-18 Sam Weinig <sam (a] webkit.org> 3504 3505 Reviewed by Maciej Stachowiak. 3506 3507 Move Attr pointer from Attribute to a global HashMap. 3508 https://bugs.webkit.org/show_bug.cgi?id=39337 3509 <rdar://problem/8001168> 3510 3511 Shaves another word off of Attribute. 3512 3513 * dom/Attr.cpp: 3514 (WebCore::Attr::Attr): 3515 (WebCore::Attr::~Attr): 3516 * dom/Attribute.cpp: 3517 (WebCore::attributeAttrMap): 3518 (WebCore::Attribute::attr): 3519 (WebCore::Attribute::createAttrIfNeeded): 3520 (WebCore::Attribute::bindAttr): 3521 (WebCore::Attribute::unbindAttr): 3522 * dom/Attribute.h: 3523 (WebCore::Attribute::Attribute): 3524 3525 2010-05-18 Jakob Petsovits <jpetsovits (a] rim.com> 3526 3527 Unreviewed, forgot to svn add source file in r59619. 3528 http://trac.webkit.org/changeset/59619 3529 3530 * platform/image-decoders/openvg: Added. 3531 * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added. 3532 (WebCore::RGBA32Buffer::asNewNativeImage): 3533 3534 2010-05-18 Yaar Schnitman <yaar (a] chromium.org> 3535 3536 Unreviewed, rolling out r59693. 3537 http://trac.webkit.org/changeset/59693 3538 https://bugs.webkit.org/show_bug.cgi?id=37815 3539 3540 Broke GTK Release 3541 3542 * Android.jscbindings.mk: 3543 * CMakeLists.txt: 3544 * GNUmakefile.am: 3545 * WebCore.gypi: 3546 * WebCore.pro: 3547 * WebCore.vcproj/WebCore.vcproj: 3548 * WebCore.xcodeproj/project.pbxproj: 3549 * bindings/js/JSBindingsAllInOne.cpp: 3550 * bindings/js/JSCallbackData.cpp: 3551 (WebCore::JSCallbackData::invokeCallback): 3552 * bindings/js/JSEventListener.cpp: 3553 (WebCore::JSEventListener::handleEvent): 3554 * bindings/js/JSInjectedScriptHostCustom.cpp: 3555 (WebCore::InjectedScriptHost::createInjectedScript): 3556 * bindings/js/JSMainThreadExecState.cpp: Removed. 3557 * bindings/js/JSMainThreadExecState.h: Removed. 3558 * bindings/js/ScheduledAction.cpp: 3559 (WebCore::ScheduledAction::executeFunctionInContext): 3560 (WebCore::ScheduledAction::execute): 3561 * bindings/js/ScheduledAction.h: 3562 * bindings/js/ScriptController.cpp: 3563 (WebCore::ScriptController::evaluateInWorld): 3564 * bindings/js/ScriptController.h: 3565 * bindings/js/ScriptFunctionCall.cpp: 3566 (WebCore::ScriptFunctionCall::call): 3567 * bindings/objc/ObjCEventListener.mm: 3568 * bindings/objc/WebScriptObject.mm: 3569 (-[WebScriptObject callWebScriptMethod:withArguments:]): 3570 (-[WebScriptObject evaluateWebScript:]): 3571 * bindings/scripts/CodeGeneratorObjC.pm: 3572 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 3573 (-[DOMTestCallback callbackWithClass1Param:]): 3574 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 3575 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 3576 (-[DOMTestCallback customCallback:class6Param:]): 3577 * bindings/scripts/test/ObjC/DOMTestInterface.mm: 3578 * bindings/scripts/test/ObjC/DOMTestObj.mm: 3579 (-[DOMTestObj readOnlyIntAttr]): 3580 (-[DOMTestObj readOnlyStringAttr]): 3581 (-[DOMTestObj readOnlyTestObjAttr]): 3582 (-[DOMTestObj intAttr]): 3583 (-[DOMTestObj setIntAttr:]): 3584 (-[DOMTestObj longLongAttr]): 3585 (-[DOMTestObj setLongLongAttr:]): 3586 (-[DOMTestObj unsignedLongLongAttr]): 3587 (-[DOMTestObj setUnsignedLongLongAttr:]): 3588 (-[DOMTestObj stringAttr]): 3589 (-[DOMTestObj setStringAttr:]): 3590 (-[DOMTestObj testObjAttr]): 3591 (-[DOMTestObj setTestObjAttr:]): 3592 (-[DOMTestObj attrWithException]): 3593 (-[DOMTestObj setAttrWithException:]): 3594 (-[DOMTestObj attrWithSetterException]): 3595 (-[DOMTestObj setAttrWithSetterException:]): 3596 (-[DOMTestObj attrWithGetterException]): 3597 (-[DOMTestObj setAttrWithGetterException:]): 3598 (-[DOMTestObj customAttr]): 3599 (-[DOMTestObj setCustomAttr:]): 3600 (-[DOMTestObj scriptStringAttr]): 3601 (-[DOMTestObj voidMethod]): 3602 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 3603 (-[DOMTestObj intMethod]): 3604 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 3605 (-[DOMTestObj objMethod]): 3606 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 3607 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): 3608 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): 3609 (-[DOMTestObj serializedValue:]): 3610 (-[DOMTestObj methodWithException]): 3611 (-[DOMTestObj customMethod]): 3612 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 3613 (-[DOMTestObj customArgsAndException:]): 3614 (-[DOMTestObj addEventListener:listener:useCapture:]): 3615 (-[DOMTestObj removeEventListener:listener:useCapture:]): 3616 (-[DOMTestObj withDynamicFrame]): 3617 (-[DOMTestObj withDynamicFrameAndArg:]): 3618 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 3619 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 3620 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 3621 (-[DOMTestObj withScriptStateVoid]): 3622 (-[DOMTestObj withScriptStateObj]): 3623 (-[DOMTestObj withScriptStateVoidException]): 3624 (-[DOMTestObj withScriptStateObjException]): 3625 (-[DOMTestObj methodWithOptionalArg:]): 3626 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 3627 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 3628 * bindings/v8/ScriptController.cpp: 3629 * bindings/v8/ScriptController.h: 3630 * html/HTMLFrameElementBase.cpp: 3631 (WebCore::HTMLFrameElementBase::isURLAllowed): 3632 3633 2010-05-18 Adam Barth <abarth (a] webkit.org> 3634 3635 Reviewed by Eric Seidel. 3636 3637 Implement comment states for HTML5 lexer 3638 https://bugs.webkit.org/show_bug.cgi?id=39334 3639 3640 * html/HTML5Lexer.cpp: 3641 (WebCore::HTML5Lexer::nextToken): 3642 3643 2010-05-18 Anders Carlsson <andersca (a] apple.com> 3644 3645 Reviewed by Sam Weinig. 3646 3647 Move all member variables from MappedAttribute to Attribute. 3648 https://bugs.webkit.org/show_bug.cgi?id=39336 3649 <rdar://problem/8000853> 3650 3651 This saves one word because we no longer have any virtual member functions in Attribute, and 3652 thus no vtable pointer. 3653 3654 I plan to remove MappedAttribute altogether in a subsequent commit. 3655 3656 * Android.mk: 3657 * GNUmakefile.am: 3658 * WebCore.gypi: 3659 * WebCore.pro: 3660 * WebCore.vcproj/WebCore.vcproj: 3661 * WebCore.xcodeproj/project.pbxproj: 3662 * css/CSSStyleSelector.cpp: 3663 (WebCore::CSSStyleSelector::styleForElement): 3664 * dom/Attribute.cpp: 3665 (WebCore::Attribute::clone): 3666 * dom/Attribute.h: 3667 (WebCore::Attribute::create): 3668 (WebCore::Attribute::style): 3669 (WebCore::Attribute::decl): 3670 (WebCore::Attribute::setDecl): 3671 (WebCore::Attribute::isMappedAttribute): 3672 (WebCore::Attribute::Attribute): 3673 * dom/MappedAttribute.cpp: Removed. 3674 * dom/MappedAttribute.h: 3675 (WebCore::MappedAttribute::create): 3676 (WebCore::MappedAttribute::MappedAttribute): 3677 (WebCore::toMappedAttribute): 3678 * dom/NamedMappedAttrMap.cpp: 3679 (WebCore::NamedMappedAttrMap::declCount): 3680 (WebCore::NamedMappedAttrMap::mapsEquivalent): 3681 * dom/StyledElement.cpp: 3682 (WebCore::StyledElement::attributeChanged): 3683 * svg/SVGSVGElement.cpp: 3684 (WebCore::updateCSSForAttribute): 3685 * svg/SVGStyledElement.cpp: 3686 (WebCore::SVGStyledElement::getPresentationAttribute): 3687 3688 2010-05-18 Tony Chang <tony (a] chromium.org> 3689 3690 Reviewed by Darin Adler. 3691 3692 https://bugs.webkit.org/show_bug.cgi?id=24943 3693 Command-B and Command-I do not generate keydown events in contentEditable regions. 3694 3695 * manual-tests/style-keypress-events.html: Added. 3696 3697 2010-05-18 Adam Barth <abarth (a] webkit.org> 3698 3699 Reviewed by Eric Seidel. 3700 3701 Add more state to the HTML5 lexer 3702 https://bugs.webkit.org/show_bug.cgi?id=39333 3703 3704 This code is just transliteration from the spec. 3705 3706 * html/HTML5Lexer.cpp: 3707 (WebCore::HTML5Lexer::HTML5Lexer): 3708 (WebCore::HTML5Lexer::nextToken): 3709 * html/HTML5Lexer.h: 3710 3711 2010-05-18 Adam Barth <abarth (a] webkit.org> 3712 3713 Reviewed by Eric Seidel. 3714 3715 Implement two more lexer states 3716 https://bugs.webkit.org/show_bug.cgi?id=39298 3717 3718 No tests because Eric is still working on wiring up the lexer to the 3719 test harness. 3720 3721 * html/HTML5Lexer.cpp: 3722 (WebCore::HTML5Lexer::nextToken): 3723 (WebCore::HTML5Lexer::emitParseError): 3724 (WebCore::HTML5Lexer::emitCurrentTagToken): 3725 * html/HTML5Lexer.h: 3726 3727 2010-05-18 Brady Eidson <beidson (a] apple.com> 3728 3729 Reviewed by Maciej Stachowiak. 3730 3731 Repro crash with many Google image search results 3732 <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323 3733 3734 When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load 3735 the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash. 3736 3737 By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the 3738 crash and also prevent actually loading the plugin binaries. 3739 3740 I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should. 3741 3742 Test: fast/loader/sandboxed-plugin-crash.html 3743 3744 * CMakeLists.txt: 3745 * GNUmakefile.am: 3746 * WebCore.gypi: 3747 * WebCore.pro: 3748 * WebCore.vcproj/WebCore.vcproj: 3749 * WebCore.xcodeproj/project.pbxproj: 3750 3751 * loader/DocumentWriter.cpp: 3752 (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set, 3753 replace it with a SinkDocument. 3754 3755 * loader/PluginDocument.h: 3756 (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level). 3757 3758 Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever 3759 data is handed to it: 3760 * loader/SinkDocument.cpp: Added. 3761 (WebCore::SinkTokenizer::SinkTokenizer): 3762 (WebCore::SinkTokenizer::write): 3763 (WebCore::SinkTokenizer::isWaitingForScripts): 3764 (WebCore::SinkTokenizer::wantsRawData): 3765 (WebCore::SinkTokenizer::writeRawData): 3766 (WebCore::SinkTokenizer::stopParsing): 3767 (WebCore::SinkTokenizer::finish): 3768 (WebCore::SinkDocument::SinkDocument): 3769 (WebCore::SinkDocument::createTokenizer): 3770 * loader/SinkDocument.h: Added. 3771 (WebCore::SinkDocument::create): 3772 3773 2010-05-18 Sam Weinig <sam (a] webkit.org> 3774 3775 Reviewed by Anders Carlsson. 3776 3777 https://bugs.webkit.org/show_bug.cgi?id=39321 3778 Reduce the size of ListHashSets used by Document 3779 <rdar://problem/7999388> 3780 3781 Reduce Membuster peak memory usage by ~450K by reducing the pool sizes 3782 of the ListHashSets used by Document. 3783 3784 * dom/Document.cpp: 3785 (WebCore::Document::addStyleSheetCandidateNode): 3786 (WebCore::Document::recalcStyleSelector): 3787 * dom/Document.h: 3788 3789 2010-05-18 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 3790 3791 Rubberstamped by Simon Hausmann. 3792 3793 Return null when creating an ImageBuffer failed, due to for 3794 instance a nulled pixmap. 3795 3796 * platform/graphics/qt/ImageBufferQt.cpp: 3797 (WebCore::ImageBufferData::ImageBufferData): 3798 (WebCore::ImageBuffer::ImageBuffer): 3799 3800 2010-05-18 Jian Li <jianli (a] chromium.org> 3801 3802 Reviewed by Dmitry Titov. 3803 3804 Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots. 3805 https://bugs.webkit.org/show_bug.cgi?id=39285 3806 3807 The timeout is caused by 59659 that changed the GC timer to 0 and thus 3808 triggered a bug in FileReader code. The fix is to add more states so 3809 that hasPendingActivity() can do the check correctly. 3810 3811 * html/FileReader.cpp: 3812 (WebCore::FileReader::FileReader): 3813 (WebCore::FileReader::hasPendingActivity): 3814 (WebCore::FileReader::readInternal): 3815 (WebCore::FileReader::terminate): 3816 (WebCore::FileReader::didStart): 3817 (WebCore::FileReader::didGetSize): 3818 (WebCore::FileReader::didRead): 3819 (WebCore::FileReader::didFinish): 3820 (WebCore::FileReader::didFail): 3821 (WebCore::FileReader::readyState): 3822 (WebCore::FileReader::result): 3823 * html/FileReader.h: 3824 (WebCore::FileReader::): 3825 3826 2010-05-18 Simon Fraser <simon.fraser (a] apple.com> 3827 3828 Reviewed by Darin Adler. 3829 3830 Clean up GraphicsLayer naming code 3831 https://bugs.webkit.org/show_bug.cgi?id=39316 3832 3833 Move code that generates a name for the GraphicsLayer (used in debug builds only) into 3834 a new nameForLayer() method. Use it when naming the foreground layer. 3835 3836 * rendering/RenderLayerBacking.cpp: 3837 (WebCore::RenderLayerBacking::createGraphicsLayer): 3838 (WebCore::RenderLayerBacking::updateForegroundLayer): 3839 (WebCore::RenderLayerBacking::nameForLayer): 3840 * rendering/RenderLayerBacking.h: 3841 3842 2010-05-18 Justin Schuh <jschuh (a] chromium.org> 3843 3844 Reviewed by Adam Barth. 3845 3846 Moving frame.src checks out of the bindings 3847 https://bugs.webkit.org/show_bug.cgi?id=37815 3848 3849 Moved JavaScript frame.src checks out of bindings and into 3850 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore 3851 so ExecState is available inside core DOM. Updated affected bindings 3852 (except for GObject, which will need to be updated to avoid origin 3853 failures inside native code). 3854 3855 * Android.jscbindings.mk: 3856 * CMakeLists.txt: 3857 * GNUmakefile.am: 3858 * WebCore.gypi: 3859 * WebCore.pro: 3860 * WebCore.vcproj/WebCore.vcproj: 3861 * WebCore.xcodeproj/project.pbxproj: 3862 * bindings/js/JSBindingsAllInOne.cpp: 3863 * bindings/js/JSCallbackData.cpp: 3864 (WebCore::JSCallbackData::invokeCallback): 3865 * bindings/js/JSEventListener.cpp: 3866 (WebCore::JSEventListener::handleEvent): 3867 * bindings/js/JSInjectedScriptHostCustom.cpp: 3868 (WebCore::InjectedScriptHost::createInjectedScript): 3869 * bindings/js/JSMainThreadExecState.cpp: Added. 3870 * bindings/js/JSMainThreadExecState.h: Added. 3871 (WebCore::JSMainThreadExecState::currentState): 3872 (WebCore::JSMainThreadExecState::call): 3873 (WebCore::JSMainThreadExecState::evaluate): 3874 (WebCore::JSMainThreadExecState::JSMainThreadExecState): 3875 (WebCore::JSMainThreadExecState::~JSMainThreadExecState): 3876 (WebCore::JSMainThreadNullState::JSMainThreadNullState): 3877 * bindings/js/ScheduledAction.cpp: 3878 (WebCore::ScheduledAction::executeFunctionInContext): 3879 (WebCore::ScheduledAction::execute): 3880 * bindings/js/ScheduledAction.h: 3881 * bindings/js/ScriptController.cpp: 3882 (WebCore::ScriptController::evaluateInWorld): 3883 (WebCore::ScriptController::canAccessFromCurrentOrigin): 3884 * bindings/js/ScriptController.h: 3885 * bindings/js/ScriptFunctionCall.cpp: 3886 (WebCore::ScriptFunctionCall::call): 3887 * bindings/objc/ObjCEventListener.mm: 3888 * bindings/objc/WebScriptObject.mm: 3889 (-[WebScriptObject callWebScriptMethod:withArguments:]): 3890 (-[WebScriptObject evaluateWebScript:]): 3891 * bindings/scripts/CodeGeneratorObjC.pm: 3892 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 3893 (-[DOMTestCallback callbackWithClass1Param:]): 3894 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 3895 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 3896 (-[DOMTestCallback customCallback:class6Param:]): 3897 * bindings/scripts/test/ObjC/DOMTestInterface.mm: 3898 * bindings/scripts/test/ObjC/DOMTestObj.mm: 3899 (-[DOMTestObj readOnlyIntAttr]): 3900 (-[DOMTestObj readOnlyStringAttr]): 3901 (-[DOMTestObj readOnlyTestObjAttr]): 3902 (-[DOMTestObj intAttr]): 3903 (-[DOMTestObj setIntAttr:]): 3904 (-[DOMTestObj longLongAttr]): 3905 (-[DOMTestObj setLongLongAttr:]): 3906 (-[DOMTestObj unsignedLongLongAttr]): 3907 (-[DOMTestObj setUnsignedLongLongAttr:]): 3908 (-[DOMTestObj stringAttr]): 3909 (-[DOMTestObj setStringAttr:]): 3910 (-[DOMTestObj testObjAttr]): 3911 (-[DOMTestObj setTestObjAttr:]): 3912 (-[DOMTestObj attrWithException]): 3913 (-[DOMTestObj setAttrWithException:]): 3914 (-[DOMTestObj attrWithSetterException]): 3915 (-[DOMTestObj setAttrWithSetterException:]): 3916 (-[DOMTestObj attrWithGetterException]): 3917 (-[DOMTestObj setAttrWithGetterException:]): 3918 (-[DOMTestObj customAttr]): 3919 (-[DOMTestObj setCustomAttr:]): 3920 (-[DOMTestObj scriptStringAttr]): 3921 (-[DOMTestObj voidMethod]): 3922 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 3923 (-[DOMTestObj intMethod]): 3924 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 3925 (-[DOMTestObj objMethod]): 3926 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 3927 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): 3928 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): 3929 (-[DOMTestObj serializedValue:]): 3930 (-[DOMTestObj methodWithException]): 3931 (-[DOMTestObj customMethod]): 3932 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 3933 (-[DOMTestObj customArgsAndException:]): 3934 (-[DOMTestObj addEventListener:listener:useCapture:]): 3935 (-[DOMTestObj removeEventListener:listener:useCapture:]): 3936 (-[DOMTestObj withDynamicFrame]): 3937 (-[DOMTestObj withDynamicFrameAndArg:]): 3938 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 3939 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 3940 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 3941 (-[DOMTestObj withScriptStateVoid]): 3942 (-[DOMTestObj withScriptStateObj]): 3943 (-[DOMTestObj withScriptStateVoidException]): 3944 (-[DOMTestObj withScriptStateObjException]): 3945 (-[DOMTestObj methodWithOptionalArg:]): 3946 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 3947 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 3948 * bindings/v8/ScriptController.cpp: 3949 (WebCore::ScriptController::canAccessFromCurrentOrigin): 3950 * bindings/v8/ScriptController.h: 3951 * html/HTMLFrameElementBase.cpp: 3952 (WebCore::HTMLFrameElementBase::isURLAllowed): 3953 3954 2010-05-18 Drew Wilson <atwilson (a] chromium.org> 3955 3956 Unreviewed: Speculative build fix for Chromium win. 3957 3958 * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity. 3959 3960 2010-05-18 Drew Wilson <atwilson (a] chromium.org> 3961 3962 Unreviewed fix for Chromium build break. 3963 3964 * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param. 3965 3966 2010-05-18 Daniel Cheng <dcheng (a] chromium.org> 3967 3968 Reviewed by Darin Adler, Jian Li. 3969 3970 DragData::asURL() shouldn't do file validity checks 3971 https://bugs.webkit.org/show_bug.cgi?id=38711 3972 3973 There's no point to trying to make sure the file is valid in 3974 DragData::asURL(). It's better to ask for forgiveness than to ask for 3975 permission, since asking for permission is prone to race conditions 3976 and results in unnecessary I/O. Consumers of this function either: 3977 - need to verify the file exists themselves (e.g. the loader) 3978 - don't care about file validity (rich text drag-and-drop) 3979 3980 * platform/chromium/DragDataChromium.cpp: 3981 (WebCore::DragData::asURL): 3982 3983 2010-05-18 Timothy Hatcher <timothy (a] apple.com> 3984 3985 Fix a handful of various localization issues in the Web Inspector. 3986 3987 * Localize strings that where not localized. 3988 * Make WebInspector.UIString work without bind. 3989 * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString. 3990 * Never pass a variable to WebInspector.UIString, since that prevents auto-generation. 3991 * Use an ellipsis instead of three periods. 3992 3993 https://webkit.org/b/39303 3994 rdar://problem/7997101 3995 3996 Reviewed by Adam Roben. 3997 3998 * English.lproj/localizedStrings.js: 3999 * inspector/front-end/AuditRules.js: 4000 (WebInspector.AuditRules.GzipRule.prototype.doRun): 4001 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): 4002 (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): 4003 * inspector/front-end/ConsoleView.js: 4004 (WebInspector.ConsoleView): 4005 * inspector/front-end/ImageView.js: 4006 (WebInspector.ImageView.prototype.contentTabSelected): 4007 * inspector/front-end/ProfileDataGridTree.js: 4008 (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): 4009 (WebInspector.ProfileDataGridNode.prototype.get data): 4010 * inspector/front-end/ResourcesPanel.js: 4011 (WebInspector.ResourceTimeCalculator.prototype.formatValue): 4012 (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue): 4013 (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue): 4014 (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue): 4015 * inspector/front-end/ScriptsPanel.js: 4016 (WebInspector.ScriptsPanel.prototype._registerShortcuts): 4017 * inspector/front-end/SourceFrame.js: 4018 (WebInspector.SourceFrame.prototype._contextMenu): 4019 * inspector/front-end/TimelineOverviewPane.js: 4020 (WebInspector.TimelineOverviewCalculator): 4021 (WebInspector.TimelineOverviewCalculator.prototype.formatValue): 4022 * inspector/front-end/TimelinePanel.js: 4023 (WebInspector.TimelinePanel): 4024 (WebInspector.TimelineCalculator): 4025 (WebInspector.TimelineCalculator.prototype.formatValue): 4026 (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo): 4027 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 4028 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 4029 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow): 4030 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow): 4031 * inspector/front-end/inspector.js: 4032 (WebInspector.loaded): 4033 (WebInspector.setRecordingProfile): 4034 (WebInspector.UIString): 4035 4036 2010-05-18 Sam Weinig <sam (a] webkit.org> 4037 4038 Another attempt to fix the build. 4039 4040 * css/CSSCursorImageValue.cpp: 4041 4042 2010-05-18 Adam Roben <aroben (a] apple.com> 4043 4044 Make accelerated compositing work on machines that don't support 4045 hardware vertex processing 4046 4047 Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated 4048 compositing on Windows doesn't work on machines that don't support 4049 hardware vertex processing, but should 4050 4051 Reviewed by Eric Carlson. 4052 4053 * platform/graphics/win/WKCACFLayerRenderer.cpp: 4054 (WebCore::WKCACFLayerRenderer::createRenderer): Query the device 4055 capabilities to decide whether to request hardware or software vertex 4056 processing. 4057 4058 2010-05-18 Adam Roben <aroben (a] apple.com> 4059 4060 Make WKCACFLayerRenderer robust against temporary failure of 4061 Direct3DCreate9 and IDirect3D9::CreateDevice 4062 4063 For a short time after waking from sleep, Direct3DCreate9() will 4064 return an IDirect3D9 for which IDirect3D9::CreateDevice will always 4065 fail. Also during this time period, IDirect3D9::CreateDevice 4066 will fail even for non-bad IDirect3D9s. (It will later start 4067 succeeding.) WKCACFLayerRenderer now works around this behavior by 4068 detecting when it might be in this situation and calling these 4069 functions again later. 4070 4071 Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView 4072 doesn't repaint until page reloads when page using hardware 4073 acceleration loads just after waking from sleep 4074 4075 Reviewed by John Sullivan. 4076 4077 * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html: 4078 Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html. 4079 Modified to also include instructions for reproducing this bug. 4080 4081 * platform/graphics/win/WKCACFLayerRenderer.cpp: 4082 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced 4083 m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The 4084 new member is initialized to true, since we haven't even tried to 4085 create a device once yet. 4086 (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a 4087 D3D device, or we don't have one and are sure that we won't be able to 4088 create one later, just return the previously-created device, if any. 4089 We assume that we won't be able to create a device later if this 4090 function fails, unless the function fails due to CreateDevice failing. 4091 As noted above, CreateDevice will sometimes temporarily fail and then 4092 later start working again. When CreateDevice fails, we also assume 4093 that we might have a bad IDirect3D9, so we get rid of the one we have 4094 so a new (and hopefully non-bad) one will be allocated later. 4095 (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset 4096 m_mightBeAbleToCreateDeviceLater to true, since we no longer have a 4097 device. 4098 (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to 4099 create our D3D device and renderer. If this fails, we bail out, but if 4100 we think we might be able to create a device later we schedule another 4101 paint (via renderSoon()) so that we'll try again soon. 4102 4103 * platform/graphics/win/WKCACFLayerRenderer.h: Replaced 4104 m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. 4105 4106 2010-05-18 Adam Roben <aroben (a] apple.com> 4107 4108 Fix a crash when a page that uses accelerated compositing loads soon 4109 after the computer wakes from sleep 4110 4111 The set-up: 4112 4113 For a short time after waking from sleep, IDirect3D9::CreateDevice 4114 will fail. This caused WKCACFLayerRenderer::createRenderer to fail, 4115 and meant that WKCACFLayerRenderer never allocated a root layer. 4116 WebView wouldn't notice that createRenderer failed, and would go ahead 4117 and try to use the root layer anyway, resulting in a crash. 4118 4119 The fix: 4120 4121 We now allocate the root layer (and all the other members of 4122 WKCACFLayerRenderer that aren't dependent on having an 4123 IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the 4124 layers will always be present, even when creating the D3D device 4125 fails. 4126 4127 There are two remaining problems: 4128 1) This results in slightly more memory usage in the case where 4129 CreateDevice fails. 4130 2) Once we get into this bad state, the WebView doesn't repaint 4131 until we navigate somewhere else. 4132 4133 (2) is covered by 4134 <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by 4135 retrying CreateDevice later in hopes that it will succeed after more 4136 time has passed. This will in turn fix (1). (We should never end up in 4137 a case where CreateDevice fails forever because we already did some 4138 preliminary checks in acceleratedCompositingAvailable().) 4139 4140 Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash 4141 (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when 4142 computer wakes from sleep on particular page 4143 4144 Reviewed by John Sullivan. 4145 4146 * manual-tests/crash-after-wake-from-sleep.html: Added. This 4147 is the Poster Circle demo from webkit.org/blog, but modified to 4148 automatically reload every 5 seconds and with instructions to put the 4149 computer to sleep and wake it up again. 4150 4151 * platform/graphics/win/WKCACFLayerRenderer.cpp: 4152 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to 4153 initialize m_context, m_renderContext, and m_*Layer here... 4154 (WebCore::WKCACFLayerRenderer::createRenderer): ...from here. 4155 4156 2010-05-18 Adam Roben <aroben (a] apple.com> 4157 4158 Remove an unused member variable from WKCACFLayerRenderer 4159 4160 Rubber-stamped by Ada Chan. 4161 4162 * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer, 4163 which is unused. 4164 4165 2010-05-18 Anders Carlsson <andersca (a] apple.com> 4166 4167 Reviewed by Sam Weinig. 4168 4169 Allocate the m_preloads list hash set dynamically and free it when done. 4170 https://bugs.webkit.org/show_bug.cgi?id=39309 4171 <rdar://problem/7998495> 4172 4173 This saves about 6000 bytes on a fully loaded document. 4174 4175 * loader/DocLoader.cpp: 4176 (WebCore::DocLoader::requestPreload): 4177 (WebCore::DocLoader::clearPreloads): 4178 * loader/DocLoader.h: 4179 4180 2010-05-18 Anders Carlsson <andersca (a] apple.com> 4181 4182 Revert unintended indentation and unnecessary nested name specifier. 4183 4184 * rendering/RenderBlock.cpp: 4185 (WebCore::clipOutPositionedObjects): 4186 (WebCore::RenderBlock::insertPositionedObject): 4187 4188 2010-05-18 Anders Carlsson <andersca (a] apple.com> 4189 4190 Reviewed by Sam Weinig. 4191 4192 Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set. 4193 https://bugs.webkit.org/show_bug.cgi?id=39304 4194 <rdar://problem/7998366> 4195 4196 Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has 4197 few positioned objects, this saves memory. 4198 4199 * WebCore.base.exp: 4200 * rendering/RenderBlock.cpp: 4201 (WebCore::clipOutPositionedObjects): 4202 (WebCore::RenderBlock::insertPositionedObject): 4203 * rendering/RenderBlock.h: 4204 (WebCore::RenderBlock::positionedObjects): 4205 4206 2010-05-17 Sam Weinig <sam (a] webkit.org> 4207 4208 Reviewed by Darin Adler. 4209 4210 https://bugs.webkit.org/show_bug.cgi?id=39258 4211 Remove NamedAttrMap residual gunk 4212 4213 Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class 4214 it contained. 4215 4216 * CMakeLists.txt: 4217 * GNUmakefile.am: 4218 * WebCore.gypi: 4219 * WebCore.pro: 4220 * WebCore.vcproj/WebCore.vcproj: 4221 * WebCore.xcodeproj/project.pbxproj: 4222 * bindings/v8/custom/V8NamedNodesCollection.cpp: 4223 * dom/NamedAttrMap.cpp: Removed. 4224 * dom/NamedAttrMap.h: Removed. 4225 * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp. 4226 * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h. 4227 * editing/ReplaceNodeWithSpanCommand.cpp: 4228 * platform/chromium/ClipboardChromium.cpp: 4229 4230 2010-05-18 Brady Eidson <beidson (a] apple.com> 4231 4232 Reviewed by Eric Carlson. 4233 4234 <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org 4235 4236 NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the 4237 canplay event to come in before calling play itself. 4238 4239 After the site specific hack added in r58586, we disallowed play() from within the canplay event handler. 4240 By tracking whether a load() was triggered by a user gesture, we can differentiate between the original 4241 canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor. 4242 4243 No new tests. (Currently no way to test such site specific hack behavior) 4244 4245 * html/HTMLMediaElement.cpp: 4246 (WebCore::HTMLMediaElement::HTMLMediaElement): 4247 (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag 4248 (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture. 4249 * html/HTMLMediaElement.h: 4250 4251 2010-05-18 Jakob Petsovits <jpetsovits (a] rim.com> 4252 4253 Reviewed by Dirk Schulze. 4254 4255 [OpenVG] Fix stupid build errors from the OpenVG Path commit 4256 https://bugs.webkit.org/show_bug.cgi?id=39228 4257 4258 * platform/graphics/openvg/PainterOpenVG.cpp: 4259 (WebCore::PainterOpenVG::clipPath): 4260 * platform/graphics/openvg/PathOpenVG.cpp: 4261 (WebCore::Path::transform): 4262 4263 2010-05-18 Chris Jerdonek <cjerdonek (a] webkit.org> 4264 4265 Reviewed by Darin Adler. 4266 4267 Refactored FrameLoader::isDocumentSandboxed() from a private member function 4268 to a static, non-member, non-friend function. 4269 4270 https://bugs.webkit.org/show_bug.cgi?id=39157 4271 4272 Making this function non-private lets us make FrameLoader::createWindow() 4273 a non-member function in a subsequent patch. We also made it non-member 4274 rather than member to increase encapsulation and limit the number of 4275 public functions with access to private FrameLoader data. 4276 4277 No new functionality, so no new tests. 4278 4279 * loader/FrameLoader.cpp: 4280 (WebCore::isDocumentSandboxed): 4281 - Moved this function from a private member function of FrameLoader 4282 to a static, non-member, non-friend function. 4283 (WebCore::FrameLoader::createWindow): 4284 - Updated the call to isDocumentSandboxed(). 4285 (WebCore::FrameLoader::submitForm): 4286 - Updated the call to isDocumentSandboxed(). 4287 (WebCore::FrameLoader::requestObject): 4288 - Updated the call to isDocumentSandboxed(). 4289 (WebCore::FrameLoader::shouldAllowNavigation): 4290 - Updated the call to isDocumentSandboxed(). 4291 * loader/FrameLoader.h: 4292 - Removed isDocumentSandboxed() and added a FIXME to move 4293 createWindow() out of the FrameLoader class. 4294 4295 2010-05-08 Robert Hogan <robert (a] roberthogan.net> 4296 4297 Reviewed by Simon Hausmann. 4298 4299 [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html 4300 and http/tests/xmlhttprequest/cross-origin-authorization.html 4301 4302 QHttpNetworkRequest adds Authorization and Cookie headers to XHRs 4303 without knowing if this is valid behaviour or not. In order to allow 4304 Qt to decide whether Cookie/Authorization headers should be added 4305 to an XHR QtWebKit needs to use an attribute added to QNetworkRequest. 4306 These new attributes are: QNetworkRequest::CookieLoadControlAttribute, 4307 QNetworkRequest::CookieSaveControlAttribute,and 4308 QNetworkRequest::AuthenticationReuseControlAttribute. 4309 4310 QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false 4311 unless withCredentials is set to true in the XHR. 4312 4313 QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials 4314 is set to true in the XHR. 4315 4316 Qt will pass the values onto QHttpNetworkRequest and this will permit 4317 the Qt network access processing to decide whether or not to add either 4318 or both of the Cookie/Authorisation headers, and whether to save cookies 4319 returned from such requests. By default the attribute 4320 will always be true so unless QtWebKit sets it to false normal 4321 header processing is unaffected. 4322 4323 The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592 4324 4325 https://bugs.webkit.org/show_bug.cgi?id=32967 4326 4327 * platform/network/qt/ResourceRequestQt.cpp: 4328 (WebCore::ResourceRequest::toNetworkRequest): 4329 4330 2010-05-18 Zoltan Herczeg <zherczeg (a] webkit.org> 4331 4332 Reviewed by Kenneth Rohde Christiansen. 4333 4334 [Qt] Implementing clipToImageBuffer for Qt port. 4335 https://bugs.webkit.org/show_bug.cgi?id=24289 4336 4337 The implementation combines pixmap layers and destinationIn 4338 composition mode. 4339 4340 * platform/graphics/qt/GraphicsContextQt.cpp: 4341 (WebCore::TransparencyLayer::TransparencyLayer): 4342 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 4343 (WebCore::GraphicsContext::savePlatformState): 4344 (WebCore::GraphicsContext::restorePlatformState): 4345 (WebCore::GraphicsContext::inTransparencyLayer): 4346 (WebCore::GraphicsContext::beginTransparencyLayer): 4347 (WebCore::GraphicsContext::endTransparencyLayer): 4348 (WebCore::GraphicsContext::clipToImageBuffer): 4349 4350 2010-05-18 Eric Seidel <eric (a] webkit.org> 4351 4352 Unreviewed build fix. 4353 4354 Make it possible to enable the new HTML5Tokenizer for testing 4355 https://bugs.webkit.org/show_bug.cgi?id=39275 4356 4357 * WebCore.gypi: 4358 - Fix HTMLLexer.* -> HTML5Lexer.* 4359 * WebCore.vcproj/WebCore.vcproj: 4360 - Add HTML5Lexer and HTML5Tokenizer to project. 4361 4362 2010-05-18 Eric Seidel <eric (a] webkit.org> 4363 4364 Unreviewed build fix. 4365 4366 Make it possible to enable the new HTML5Tokenizer for testing 4367 https://bugs.webkit.org/show_bug.cgi?id=39275 4368 4369 * dom/NamedAttrMap.cpp: 4370 (WebCore::NamedNodeMap::setNamedItemNS): 4371 - Move this to the .cpp file so as to avoid needing to include "Node.h" in the header. 4372 * dom/NamedAttrMap.h: 4373 * html/HTML5Token.h: 4374 - Remove #include "String.h" which was wrong. Adam meant "PlatformString.h" 4375 - Remove unneeded #include "Node.h", it was only needed because 4376 NamedAttrMap.h was incorrectly depending on Node.h but not 4377 including it. It didn't actually need Node.h except for one 4378 inlined method setNamedItemNS, so I moved setNamedItemNS into 4379 the .cpp to get rid of the Node.h requirement. 4380 4381 2010-05-18 Eric Seidel <eric (a] webkit.org> 4382 4383 Reviewed by Adam Barth. 4384 4385 Make it possible to enable the new HTML5Tokenizer for testing 4386 https://bugs.webkit.org/show_bug.cgi?id=39275 4387 4388 I added html5ParserEnabled to Settings so that we can enable/disable 4389 the HTML5 parser for testing. 4390 4391 I also ripped out a bunch of dead code from HTML5Lexer. 4392 4393 I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that 4394 the build wouldn't fail now that we reference these classes from HTMLDocument. 4395 4396 * Android.mk: 4397 * CMakeLists.txt: 4398 * GNUmakefile.am: 4399 * WebCore.gypi: 4400 * WebCore.pro: 4401 * WebCore.xcodeproj/project.pbxproj: 4402 * html/HTML5Lexer.cpp: 4403 (WebCore::HTML5Lexer::reset): 4404 (WebCore::isWhitespace): 4405 (WebCore::HTML5Lexer::nextToken): 4406 * html/HTML5Lexer.h: 4407 * html/HTML5Tokenizer.cpp: Added. 4408 (WebCore::HTML5Tokenizer::HTML5Tokenizer): 4409 (WebCore::HTML5Tokenizer::~HTML5Tokenizer): 4410 (WebCore::HTML5Tokenizer::begin): 4411 (WebCore::HTML5Tokenizer::write): 4412 (WebCore::HTML5Tokenizer::end): 4413 (WebCore::HTML5Tokenizer::finish): 4414 (WebCore::HTML5Tokenizer::isWaitingForScripts): 4415 * html/HTML5Tokenizer.h: Added. 4416 * html/HTMLDocument.cpp: 4417 (WebCore::HTMLDocument::createTokenizer): 4418 * html/HTMLTokenizer.h: 4419 * html/HTMLViewSourceDocument.cpp: 4420 (WebCore::HTMLViewSourceDocument::createTokenizer): 4421 * page/Settings.cpp: 4422 (WebCore::Settings::Settings): 4423 * page/Settings.h: 4424 (WebCore::Settings::setHTML5ParserEnabled): 4425 (WebCore::Settings::html5ParserEnabled): 4426 4427 2010-05-18 Maciej Stachowiak <mjs (a] apple.com> 4428 4429 Not reviewed, build fix. 4430 4431 Attempt to fix build for v8 bindings (untested). 4432 4433 * bindings/v8/ScriptController.cpp: 4434 (WebCore::ScriptController::clearWindowShell): 4435 * bindings/v8/ScriptController.h: 4436 4437 2010-05-17 Maciej Stachowiak <mjs (a] apple.com> 4438 4439 Reviewed by Oliver Hunt. 4440 4441 GC more promptly when navigating to a new inner window, but not at all when it went in the page cache 4442 https://bugs.webkit.org/show_bug.cgi?id=39254 4443 <rdar://problem/7996370> 4444 4445 ~1% PLT speedup 4446 ~4% iBench HTML speedup 4447 4448 * bindings/js/GCController.cpp: 4449 (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of 4450 0.5 second. 4451 * bindings/js/ScriptController.cpp: 4452 (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't 4453 garbageColectSoon if the page is going into the page cache. 4454 * bindings/js/ScriptController.h: Prototype change for above. 4455 * loader/FrameLoader.cpp: 4456 (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache. 4457 4458 2010-05-18 Adam Barth <abarth (a] webkit.org> 4459 4460 Reviewed by Eric Seidel. 4461 4462 Add an HTML5Token 4463 https://bugs.webkit.org/show_bug.cgi?id=39274 4464 4465 The token object is an ugly fake union, but I'm sure sure there's a 4466 better way... Eric needs this to provide output for the test harness. 4467 4468 * WebCore.xcodeproj/project.pbxproj: 4469 * html/HTML5Lexer.cpp: 4470 (WebCore::HTML5Lexer::HTML5Lexer): 4471 (WebCore::HTML5Lexer::write): 4472 (WebCore::HTML5Lexer::emitCharacter): 4473 * html/HTML5Lexer.h: 4474 * html/HTML5Token.h: Added. 4475 (WebCore::HTML5Token::): 4476 (WebCore::HTML5Token::HTML5Token): 4477 (WebCore::HTML5Token::setToCharacter): 4478 4479 2010-05-18 Adam Barth <abarth (a] webkit.org> 4480 4481 Reviewed by Eric Seidel. 4482 4483 Implement ScriptData states for HTML5Lexer 4484 https://bugs.webkit.org/show_bug.cgi?id=39273 4485 4486 This patch implements more of the lexer states according to the HTML5 4487 specification. Currently, this code is compiled by not tested. We're 4488 working on bringing up a test harness in parallel with transliterating 4489 the spec into code. 4490 4491 * html/HTML5Lexer.cpp: 4492 (WebCore::HTML5Lexer::tokenize): 4493 (WebCore::HTML5Lexer::temporaryBufferIs): 4494 * html/HTML5Lexer.h: 4495 (WebCore::HTML5Lexer::): 4496 4497 2010-05-17 Eric Seidel <eric (a] webkit.org> 4498 4499 Reviewed by Adam Barth. 4500 4501 Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer 4502 https://bugs.webkit.org/show_bug.cgi?id=39272 4503 4504 Strictly a rename, no functionality change. 4505 4506 * WebCore.xcodeproj/project.pbxproj: 4507 * html/HTML5Lexer.cpp: Added. 4508 * html/HTML5Lexer.h: Added. 4509 * html/HTML5Tokenizer.cpp: Removed. 4510 * html/HTML5Tokenizer.h: Removed. 4511 4512 2010-05-17 Sheriff Bot <webkit.review.bot (a] gmail.com> 4513 4514 Unreviewed, rolling out r59652. 4515 http://trac.webkit.org/changeset/59652 4516 https://bugs.webkit.org/show_bug.cgi?id=39268 4517 4518 file-input-files-access test is broken on Mac (Requested by 4519 dcheng on #webkit). 4520 4521 * platform/chromium/DragDataChromium.cpp: 4522 (WebCore::DragData::asURL): 4523 4524 2010-05-17 Adam Barth <abarth (a] webkit.org> 4525 4526 Reviewed by Eric Seidel. 4527 4528 Implement RAWTEXT tokenizer states 4529 https://bugs.webkit.org/show_bug.cgi?id=39267 4530 4531 More tokenizer states. There's a bunch of functionality notImplemented 4532 that we'll come back to. 4533 4534 * html/HTML5Tokenizer.cpp: 4535 (WebCore::HTML5Tokenizer::tokenize): 4536 * html/HTML5Tokenizer.h: 4537 4538 2010-05-17 Adam Barth <abarth (a] webkit.org> 4539 4540 Reviewed by Eric Seidel. 4541 4542 Implement more parser states in HTML5Tokenizer 4543 https://bugs.webkit.org/show_bug.cgi?id=39265 4544 4545 This patch implements some easy states. I'll come back and do the 4546 harder states later. 4547 4548 * html/HTML5Tokenizer.cpp: 4549 (WebCore::HTML5Tokenizer::tokenize): 4550 (WebCore::HTML5Tokenizer::emitParseError): 4551 * html/HTML5Tokenizer.h: 4552 4553 2010-05-17 Daniel Cheng <dcheng (a] chromium.org> 4554 4555 Reviewed by Darin Adler. 4556 4557 DragData::asURL() shouldn't do file validity checks 4558 https://bugs.webkit.org/show_bug.cgi?id=38711 4559 4560 There's no point to trying to make sure the file is valid in 4561 DragData::asURL(). It's better to ask for forgiveness than to ask for 4562 permission, since asking for permission is prone to race conditions 4563 and results in unnecessary I/O. Consumers of this function either: 4564 - need to verify the file exists themselves (e.g. the loader) 4565 - don't care about file validity (rich text drag-and-drop) 4566 4567 * platform/chromium/DragDataChromium.cpp: 4568 (WebCore::DragData::asURL): 4569 4570 2010-05-17 Adam Barth <abarth (a] webkit.org> 4571 4572 Reviewed by Eric Seidel. 4573 4574 Update states in HTML5Tokenizer to match HTML5 spec 4575 https://bugs.webkit.org/show_bug.cgi?id=39264 4576 4577 I've also implemented the DataState. More states to follow. 4578 4579 * html/HTML5Tokenizer.cpp: 4580 (WebCore::HTML5Tokenizer::reset): 4581 (WebCore::HTML5Tokenizer::tokenize): 4582 * html/HTML5Tokenizer.h: 4583 (WebCore::HTML5Tokenizer::): 4584 4585 2010-05-17 Kent Tamura <tkent (a] chromium.org> 4586 4587 Reviewed by Darin Adler. 4588 4589 ':valid' CSS selector should not be applied to some form controls 4590 https://bugs.webkit.org/show_bug.cgi?id=39162 4591 4592 * html/HTMLElement.cpp: 4593 (WebCore::inlineTagList): Always includes progressTag. This change is 4594 needed in a case of no ENABLE_PROGRESS_TAG. Without this change and 4595 ENABLE_PROGRESS_TAG, <progress> tags disappear. 4596 * html/HTMLInputElement.cpp: 4597 (WebCore::HTMLInputElement::recalcWillValidate): 4598 Return false for SUBMIT and IMAGE. 4599 * html/HTMLProgressElement.h: 4600 (WebCore::HTMLProgressElement::recalcWillValidate): 4601 Return false. This change is needed in a case of ENABLE_PROGRESS_TAG. 4602 4603 2010-05-17 Adam Barth <abarth (a] webkit.org> 4604 4605 Reviewed by Eric Seidel. 4606 4607 Remove load-related code from HTML5Tokenizer 4608 https://bugs.webkit.org/show_bug.cgi?id=39263 4609 4610 This code is related to reloading resources and not to tokenizing. In 4611 the PreloadScanner, these concerns are coupled, but we want to decouple 4612 them. 4613 4614 * html/HTML5Tokenizer.cpp: 4615 (WebCore::HTML5Tokenizer::HTML5Tokenizer): 4616 (WebCore::HTML5Tokenizer::~HTML5Tokenizer): 4617 (WebCore::HTML5Tokenizer::begin): 4618 (WebCore::HTML5Tokenizer::end): 4619 (WebCore::HTML5Tokenizer::reset): 4620 (WebCore::HTML5Tokenizer::write): 4621 (WebCore::HTML5Tokenizer::consumeEntity): 4622 (WebCore::HTML5Tokenizer::tokenize): 4623 (WebCore::HTML5Tokenizer::processAttribute): 4624 (WebCore::HTML5Tokenizer::emitCharacter): 4625 (WebCore::HTML5Tokenizer::emitTag): 4626 * html/HTML5Tokenizer.h: 4627 4628 2010-05-17 Adam Barth <abarth (a] webkit.org> 4629 4630 Reviewed by Eric Seidel. 4631 4632 Add HTML5Tokenizer to the build system on Mac 4633 https://bugs.webkit.org/show_bug.cgi?id=39262 4634 4635 This file will be easier to work with if we're actually compiling it. 4636 Hopefully we'll get this wired into the PreloadScanner soon. Once we 4637 start actually calling the code, we'll add it to the build system on 4638 other platforms. 4639 4640 * WebCore.xcodeproj/project.pbxproj: 4641 4642 2010-05-17 Eric Seidel <eric (a] webkit.org> 4643 4644 Reviewed by Adam Barth. 4645 4646 Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer 4647 https://bugs.webkit.org/show_bug.cgi?id=39261 4648 4649 * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer. 4650 * html/HTML5Tokenizer.h: ditto. 4651 4652 2010-05-17 Eric Seidel <eric (a] webkit.org> 4653 4654 Reviewed by Adam Barth. 4655 4656 Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer 4657 https://bugs.webkit.org/show_bug.cgi?id=39261 4658 4659 This time copy the cpp from the right file. 4660 4661 * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp. 4662 4663 2010-05-17 Eric Seidel <eric (a] webkit.org> 4664 4665 Reviewed by Adam Barth. 4666 4667 Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer 4668 https://bugs.webkit.org/show_bug.cgi?id=39261 4669 4670 * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h. 4671 * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h. 4672 4673 2010-05-17 MORITA Hajime <morrita (a] google.com> 4674 4675 Reviewed by Kent Tamura. 4676 4677 [Chromium] Windows: Speed of indeterminate progress bar should be constant 4678 https://bugs.webkit.org/show_bug.cgi?id=39211 4679 4680 No new tests, animation effect can be confirmed only manually. 4681 4682 * rendering/RenderThemeChromiumWin.cpp: 4683 (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar): 4684 (WebCore::RenderThemeChromiumWin::paintProgressBar): 4685 4686 2010-05-17 Drew Wilson <atwilson (a] chromium.org> 4687 4688 Unreviewed build fix for Qt and Chromium. 4689 4690 https://bugs.webkit.org/show_bug.cgi?id=39147 4691 4692 * page/Frame.h: Now includes CSSMutableStyleDeclaration.h. 4693 4694 2010-05-17 Simon Fraser <simon.fraser (a] apple.com> 4695 4696 Reviewed by Darin Adler. 4697 4698 Remove unused member member from Document 4699 https://bugs.webkit.org/show_bug.cgi?id=39251 4700 4701 Remove m_associatedHistoryItems from Document; it is never used. 4702 4703 * dom/Document.h: 4704 4705 2010-05-17 Darin Adler <darin (a] apple.com> 4706 4707 Fix Qt build. 4708 4709 * page/Frame.cpp: 4710 (WebCore::Frame::setTypingStyle): Move back to make non-inline. 4711 * page/Frame.h: Removed inline version of setTypingStyle. 4712 4713 2010-05-14 Darin Adler <darin (a] apple.com> 4714 4715 Reviewed by Brady Eidson. 4716 4717 Frame has many trivial member functions that should be inlined 4718 https://bugs.webkit.org/show_bug.cgi?id=39147 4719 4720 * WebCore.base.exp: Export the functions that are now inlined. 4721 4722 * page/Frame.cpp: 4723 (WebCore::Frame::removeEditingStyleFromBodyElement): 4724 Removed the body of this function. 4725 4726 * page/Frame.h: 4727 (WebCore::Frame::init): Moved here from .cpp. 4728 (WebCore::Frame::loader): Ditto. 4729 (WebCore::Frame::redirectScheduler): Ditto. 4730 (WebCore::Frame::view): Ditto. 4731 (WebCore::Frame::script): Ditto. 4732 (WebCore::Frame::document): Ditto. 4733 (WebCore::Frame::selection): Ditto. 4734 (WebCore::Frame::editor): Ditto. 4735 (WebCore::Frame::animation): Ditto. 4736 (WebCore::Frame::mark): Ditto. 4737 (WebCore::Frame::setMark): Ditto. 4738 (WebCore::Frame::zoomFactor): Ditto. 4739 (WebCore::Frame::jsStatusBarText): Ditto. 4740 (WebCore::Frame::jsDefaultStatusBarText): Ditto. 4741 (WebCore::Frame::needsReapplyStyles): Ditto. 4742 (WebCore::Frame::typingStyle): Ditto. 4743 (WebCore::Frame::setTypingStyle): Ditto. 4744 (WebCore::Frame::clearTypingStyle): Ditto. 4745 (WebCore::Frame::ownerElement): Ditto. 4746 (WebCore::Frame::isDisconnected): Ditto. 4747 (WebCore::Frame::setIsDisconnected): Ditto. 4748 (WebCore::Frame::excludeFromTextSearch): Ditto. 4749 (WebCore::Frame::setExcludeFromTextSearch): Ditto. 4750 (WebCore::Frame::inViewSourceMode): Ditto. 4751 (WebCore::Frame::setInViewSourceMode): Ditto. 4752 (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto. 4753 (WebCore::Frame::tree): Ditto. 4754 (WebCore::Frame::page): Ditto. 4755 (WebCore::Frame::detachFromPage): Ditto. 4756 (WebCore::Frame::eventHandler): Ditto. 4757 (WebCore::Frame::shouldClose): Ditto. 4758 4759 2010-05-17 Anders Carlsson <andersca (a] apple.com> 4760 4761 Reviewed by Sam Weinig. 4762 4763 https://bugs.webkit.org/show_bug.cgi?id=39247 4764 <rdar://problem/7994707> 4765 Move rarely used data members to the rare structures, thus saving memory. 4766 4767 Move rarely used member variables from StyleInheritedData and StyleVisualData to 4768 StyleRareInheritedData and StyleRareNonInheritedData, namely: 4769 4770 indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData. 4771 m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData. 4772 4773 * rendering/style/RenderStyle.cpp: 4774 (WebCore::RenderStyle::diff): 4775 (WebCore::RenderStyle::addCursor): 4776 (WebCore::RenderStyle::setCursorList): 4777 (WebCore::RenderStyle::clearCursorList): 4778 * rendering/style/RenderStyle.h: 4779 (WebCore::InheritedFlags::textIndent): 4780 (WebCore::InheritedFlags::effectiveZoom): 4781 (WebCore::InheritedFlags::counterIncrement): 4782 (WebCore::InheritedFlags::counterReset): 4783 (WebCore::InheritedFlags::cursors): 4784 (WebCore::InheritedFlags::widows): 4785 (WebCore::InheritedFlags::orphans): 4786 (WebCore::InheritedFlags::setTextIndent): 4787 (WebCore::InheritedFlags::setEffectiveZoom): 4788 (WebCore::InheritedFlags::setCounterIncrement): 4789 (WebCore::InheritedFlags::setCounterReset): 4790 (WebCore::InheritedFlags::setWidows): 4791 (WebCore::InheritedFlags::setOrphans): 4792 * rendering/style/StyleInheritedData.cpp: 4793 (WebCore::StyleInheritedData::StyleInheritedData): 4794 (WebCore::StyleInheritedData::operator==): 4795 * rendering/style/StyleInheritedData.h: 4796 * rendering/style/StyleRareInheritedData.cpp: 4797 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 4798 (WebCore::cursorDataEquivalent): 4799 (WebCore::StyleRareInheritedData::operator==): 4800 * rendering/style/StyleRareInheritedData.h: 4801 * rendering/style/StyleRareNonInheritedData.cpp: 4802 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 4803 (WebCore::StyleRareNonInheritedData::operator==): 4804 * rendering/style/StyleRareNonInheritedData.h: 4805 * rendering/style/StyleVisualData.cpp: 4806 (WebCore::StyleVisualData::StyleVisualData): 4807 * rendering/style/StyleVisualData.h: 4808 (WebCore::StyleVisualData::operator==): 4809 4810 2010-05-17 Robert Hogan <robert (a] webkit.org> 4811 4812 Rubber-stamped by Eric Seidel. 4813 4814 Fix --no-svg build. 4815 4816 I have no idea where the SVG-dependent include of this file is hidden, but 4817 it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp. 4818 4819 * bindings/js/JSWorkerContextCustom.cpp: 4820 4821 2010-05-17 David Hyatt <hyatt (a] apple.com> 4822 4823 Reviewed by Dan Bernstein. 4824 4825 https://bugs.webkit.org/show_bug.cgi?id=39231 4826 4827 Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html. Make sure block children of RTL blocks are positioned using 4828 the reduced column width instead of the total content width. 4829 4830 * rendering/RenderBlock.cpp: 4831 (WebCore::RenderBlock::determineHorizontalPosition): 4832 (WebCore::RenderBlock::nodeAtPoint): 4833 (WebCore::RenderBlock::hitTestContents): 4834 (WebCore::RenderBlock::adjustForColumns): 4835 4836 2010-05-17 Jakob Petsovits <jpetsovits (a] rim.com> 4837 4838 Reviewed by George Staikos. 4839 4840 [OpenVG] Add support for decoding and drawing images 4841 https://bugs.webkit.org/show_bug.cgi?id=36072 4842 4843 OpenVG has a maximum image size (how large is 4844 specific to the OpenVG implementation), so this 4845 requires us to store them as separate image tiles. 4846 4847 Image decoding and initial drawing code by 4848 Adam Treat <atreat (a] rim.com>. Image decoder 4849 downsampling support by Yong Li <yoli (a] rim.com>. 4850 4851 * platform/graphics/ImageSource.h: 4852 * platform/graphics/openvg/ImageOpenVG.cpp: Added. 4853 (WebCore::FrameData::clear): 4854 (WebCore::BitmapImage::BitmapImage): 4855 (WebCore::BitmapImage::checkForSolidColor): 4856 (WebCore::BitmapImage::initPlatformData): 4857 (WebCore::BitmapImage::invalidatePlatformData): 4858 (WebCore::adjustSourceRectForDownSampling): 4859 (WebCore::BitmapImage::draw): 4860 (WebCore::Image::drawPattern): 4861 (WebCore::Image::loadPlatformResource): 4862 * platform/graphics/openvg/PainterOpenVG.cpp: 4863 (WebCore::PainterOpenVG::drawImage): 4864 (WebCore::PainterOpenVG::asNewNativeImage): 4865 * platform/graphics/openvg/PainterOpenVG.h: 4866 * platform/graphics/openvg/TiledImageOpenVG.cpp: Added. 4867 (WebCore::TiledImageOpenVG::TiledImageOpenVG): 4868 (WebCore::TiledImageOpenVG::operator=): 4869 (WebCore::TiledImageOpenVG::~TiledImageOpenVG): 4870 (WebCore::TiledImageOpenVG::numTiles): 4871 (WebCore::TiledImageOpenVG::numColumns): 4872 (WebCore::TiledImageOpenVG::numRows): 4873 (WebCore::TiledImageOpenVG::setTile): 4874 (WebCore::TiledImageOpenVG::tilesInRect): 4875 (WebCore::TiledImageOpenVG::tile): 4876 (WebCore::TiledImageOpenVG::tileRect): 4877 (WebCore::TiledImageOpenVG::detachTiles): 4878 (WebCore::TiledImageOpenVG::destroyTiles): 4879 * platform/graphics/openvg/TiledImageOpenVG.h: Added. 4880 (WebCore::TiledImageOpenVG::size): 4881 (WebCore::TiledImageOpenVG::maxTileSize): 4882 * platform/graphics/openvg/VGUtils.cpp: 4883 (WebCore::VGUtils::bytesForImage): 4884 (WebCore::VGUtils::bytesForImageScanline): 4885 (WebCore::VGUtils::imageFormatBitsPerPixel): 4886 (WebCore::VGUtils::endianAwareImageFormat): 4887 * platform/graphics/openvg/VGUtils.h: 4888 * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added. 4889 (WebCore::RGBA32Buffer::asNewNativeImage): 4890 4891 2010-05-17 Yaar Schnitman <yaar (a] chromium.org> 4892 4893 Reviewed by Darin Adler. 4894 4895 Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads. 4896 https://bugs.webkit.org/show_bug.cgi?id=39227 4897 4898 * bindings/scripts/CodeGeneratorJS.pm: 4899 * bindings/scripts/test/JS/JSTestObj.cpp: 4900 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): 4901 4902 2010-05-16 Sam Weinig <sam (a] webkit.org> 4903 4904 Reviewed by Adam Barth. 4905 4906 https://bugs.webkit.org/show_bug.cgi?id=39192 4907 Remove unused PERFECT_HASH code CodeGeneratorJS. 4908 4909 * bindings/scripts/CodeGeneratorJS.pm: 4910 4911 2010-05-17 Jeremy Moskovich <jeremy (a] chromium.org> 4912 4913 Reviewed by Jeremy Orlow. 4914 4915 Remove debug code that was introduced to help narrow down the 4916 source of a crash. 4917 https://bugs.webkit.org/show_bug.cgi?id=36426 4918 4919 No change in behavior, so no new tests. 4920 4921 * loader/FrameLoader.cpp: 4922 (WebCore::FrameLoader::finishedLoadingDocument): 4923 4924 2010-05-17 Andreas Kling <andreas.kling (a] nokia.com> 4925 4926 Reviewed by Kenneth Rohde Christiansen. 4927 4928 Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec 4929 Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed. 4930 Changed createImageData(width, height) to use the absolute values of width and height. 4931 4932 https://bugs.webkit.org/show_bug.cgi?id=39189 4933 4934 Spec link: 4935 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata 4936 4937 Test: fast/canvas/canvas-createImageData.html 4938 4939 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 4940 (WebCore::JSCanvasRenderingContext2D::createImageData): 4941 * html/canvas/CanvasRenderingContext2D.cpp: 4942 (WebCore::CanvasRenderingContext2D::createImageData): 4943 * html/canvas/CanvasRenderingContext2D.h: 4944 * html/canvas/CanvasRenderingContext2D.idl: 4945 4946 2010-05-17 Antti Koivisto <koivisto (a] iki.fi> 4947 4948 This was missing from previous commit. 4949 4950 * platform/qt/QWebPageClient.h: 4951 (QWebPageClient::graphicsItemVisibleRect): 4952 4953 2010-05-17 Antti Koivisto <koivisto (a] iki.fi> 4954 4955 Reviewed by Kenneth Rohde Christiansen. 4956 4957 https://bugs.webkit.org/show_bug.cgi?id=39218 4958 [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation 4959 4960 Tiles sometimes flicker when exiting a zoom animation. This happens as a result 4961 of the visible rectangle being momentarily out of sync. 4962 4963 Instead of updating the visible rect by explicitly setting it, pull it through 4964 the client and recompute in the WebKit level. 4965 4966 * page/ChromeClient.h: 4967 (WebCore::ChromeClient::visibleRectForTiledBackingStore): 4968 * page/Frame.cpp: 4969 (WebCore::Frame::tiledBackingStoreVisibleRect): 4970 * page/Frame.h: 4971 * platform/graphics/TiledBackingStore.cpp: 4972 (WebCore::TiledBackingStore::checkVisibleRectChanged): 4973 (WebCore::TiledBackingStore::createTiles): 4974 * platform/graphics/TiledBackingStore.h: 4975 * platform/graphics/TiledBackingStoreClient.h: 4976 4977 2010-05-15 Adam Roben <aroben (a] apple.com> 4978 4979 Periodically try to reset a lost IDirect3DDevice9 until we succeed 4980 4981 This is how MSDN says we must respond to a lost device (see 4982 <http://msdn.microsoft.com/en-us/library/bb174714(v=VS.85).aspx>). 4983 4984 Only testable by a manual test, unfortunately. 4985 4986 Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that 4987 use hardware acceleration don't repaint after waking computer from 4988 sleep 4989 4990 Reviewed by John Sullivan. 4991 4992 * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is 4993 the Poster Circle demo from webkit.org/blog, but with instructions for 4994 putting the computer to sleep and waking it up again. 4995 4996 * platform/graphics/win/WKCACFLayerRenderer.cpp: 4997 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new 4998 member that tells us whether we need to try to reset the device before 4999 rendering. 5000 (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice 5001 the reason why the device needs to be reset (which is because the 5002 window's size has changed). 5003 (WebCore::WKCACFLayerRenderer::render): Before we do anything else, 5004 check if we need to reset the device before rendering. If we do, try 5005 to reset it. If that fails, bail out and set a timer to try again 5006 later. If we discover that the device is lost when calling 5007 IDirect3DDevice9::Present and resetting the device fails, bail out and 5008 set a timer to try again later. 5009 (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a 5010 boolean indicating whether resetting succeeded or not. Added a 5011 ResetReason parameter so callers can specify whey the device needs to 5012 be reset. Before trying to do anything, we call 5013 IDirect3DDevice9::TestCooperativeLevel to find out whether the device 5014 can be reset currently. If it can't, we set a flag to tell ourselves 5015 that the device must be reset before we next render, and indicate to 5016 the caller that the reset failed. If we thought the device was lost 5017 but it turns out not to be, we don't have to do anything and can tell 5018 the caller that the reset succeeded. Otherwise we go ahead and reset 5019 the device as before, and indicate to the caller that the reset 5020 succeeded. 5021 5022 * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to 5023 return a boolean and take a ResetReason parameter. Added a comment 5024 about when and why this function should be called. And added 5025 m_mustResetLostDeviceBeforeRendering. 5026 5027 2010-05-15 Adam Roben <aroben (a] apple.com> 5028 5029 Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset 5030 5031 MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be 5032 destroyed before calling IDirect3DDevice9::Reset. The only way to 5033 guarantee this with Core Animation is to call CARenderOGLPurge. 5034 5035 Unfortunately this isn't testable at the moment, as we don't use any 5036 features of Core Animation (e.g., mask layers) that actually make this 5037 required. But it seems like a good idea to fix the code now so that 5038 if/when we do start using those features we won't run into problems. 5039 5040 Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice 5041 might fail due to failing to destroy all D3DPOOL_DEFAULT resources 5042 5043 Reviewed by John Sullivan. 5044 5045 * platform/graphics/win/WKCACFLayerRenderer.cpp: 5046 (WebCore::WKCACFLayerRenderer::render): Moved the call to 5047 CARenderOGLPurge from here... 5048 (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it 5049 will be called whenever we reset the device (e.g., when resizing the 5050 window). 5051 5052 2010-05-17 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 5053 5054 Rubber-stamped by Xan Lopez. 5055 5056 Build fix. Remove bashism from build system. 5057 5058 * GNUmakefile.am: 5059 5060 2010-05-17 Sheriff Bot <webkit.review.bot (a] gmail.com> 5061 5062 Unreviewed, rolling out r59483. 5063 http://trac.webkit.org/changeset/59483 5064 https://bugs.webkit.org/show_bug.cgi?id=39215 5065 5066 "page_cycler_intl1 regression on Linux" (Requested by yurys on 5067 #webkit). 5068 5069 * platform/chromium/ChromiumBridge.h: 5070 * platform/graphics/chromium/FontCacheLinux.cpp: 5071 (WebCore::FontCache::getFontDataForCharacters): 5072 5073 2010-05-17 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 5074 5075 Reviewed by Laszlo Gombos. 5076 5077 REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized 5078 5079 Patch declared a variable index, which shadowed an earlier declared 5080 variable. 5081 5082 * bridge/qt/qt_class.cpp: 5083 (JSC::Bindings::QtClass::fallbackObject): 5084 5085 2010-05-14 Andrei Popescu <andreip (a] google.com> 5086 5087 Reviewed by Jeremy Orlow. 5088 5089 IDBRequest is not a proper ActiveDomObject 5090 https://bugs.webkit.org/show_bug.cgi?id=39001 5091 5092 Add IDBRequest interface to the IsActiveDomType 5093 routine of the CodeGeneratorV8.pm. 5094 5095 Rename IDBRequest::m_stopped to m_suspended and reset 5096 the flag when resume() is called. 5097 5098 No new tests, Indexed Database isn't yet testable. 5099 5100 * bindings/scripts/CodeGeneratorV8.pm: 5101 * storage/IDBRequest.cpp: 5102 (WebCore::IDBRequest::suspend): 5103 (WebCore::IDBRequest::resume): 5104 (WebCore::IDBRequest::timerFired): 5105 (WebCore::IDBRequest::onEventCommon): 5106 * storage/IDBRequest.h: 5107 5108 2010-05-17 Xan Lopez <xlopez (a] igalia.com> 5109 5110 Do not include the indexed database headers if the feature is not 5111 enabled. Should fix the build in GTK+. 5112 5113 * bindings/js/JSEventCustom.cpp: 5114 5115 2010-05-17 Xan Lopez <xlopez (a] igalia.com> 5116 5117 Try to fix GTK+ build. 5118 5119 * GNUmakefile.am: 5120 5121 2010-05-14 Jeremy Orlow <jorlow (a] chromium.org> 5122 5123 Reviewed by Nate Chapin. 5124 5125 Finish up IndexedDB events 5126 https://bugs.webkit.org/show_bug.cgi?id=39117 5127 5128 Implement the indexed database event interfaces as proposed by Mozilla. 5129 Refactor the run time type detection code that was in IDBRequest into its own 5130 class named IDBAny. Use this new class within the new event classes and 5131 IDBResults. 5132 5133 Test: storage/indexeddb/basics.html 5134 5135 * DerivedSources.cpp: 5136 * DerivedSources.make: 5137 * GNUmakefile.am: 5138 * WebCore.gyp/WebCore.gyp: 5139 * WebCore.gypi: 5140 * WebCore.pri: 5141 * WebCore.pro: 5142 * WebCore.vcproj/WebCore.vcproj: 5143 * WebCore.xcodeproj/project.pbxproj: 5144 * bindings/js/JSEventCustom.cpp: 5145 (WebCore::toJS): 5146 * bindings/js/JSEventTarget.cpp: 5147 (WebCore::toJS): 5148 * bindings/js/JSIDBAnyCustom.cpp: Added. 5149 (WebCore::toJS): 5150 * bindings/js/JSIDBRequestCustom.cpp: Removed. 5151 * bindings/v8/custom/V8EventCustom.cpp: 5152 (WebCore::toV8): 5153 * bindings/v8/custom/V8IDBAnyCustom.cpp: Added. 5154 (WebCore::toV8): 5155 * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed. 5156 * dom/Event.cpp: 5157 (WebCore::Event::isIDBErrorEvent): 5158 (WebCore::Event::isIDBSuccessEvent): 5159 * dom/Event.h: 5160 * storage/IDBAny.cpp: Added. 5161 (WebCore::IDBAny::create): 5162 (WebCore::IDBAny::IDBAny): 5163 (WebCore::IDBAny::~IDBAny): 5164 (WebCore::IDBAny::idbDatabaseRequest): 5165 (WebCore::IDBAny::indexedDatabaseRequest): 5166 (WebCore::IDBAny::serializedScriptValue): 5167 (WebCore::IDBAny::set): 5168 * storage/IDBAny.h: Added. 5169 (WebCore::IDBAny::): 5170 (WebCore::IDBAny::type): 5171 * storage/IDBAny.idl: Added. 5172 * storage/IDBErrorEvent.cpp: Added. 5173 (WebCore::IDBErrorEvent::create): 5174 (WebCore::IDBErrorEvent::IDBErrorEvent): 5175 (WebCore::IDBErrorEvent::~IDBErrorEvent): 5176 * storage/IDBErrorEvent.h: Added. 5177 (WebCore::IDBErrorEvent::code): 5178 (WebCore::IDBErrorEvent::message): 5179 (WebCore::IDBErrorEvent::isIDBErrorEvent): 5180 * storage/IDBErrorEvent.idl: Added. 5181 * storage/IDBEvent.cpp: Added. 5182 (WebCore::IDBEvent::IDBEvent): 5183 (WebCore::IDBEvent::~IDBEvent): 5184 (WebCore::IDBEvent::source): 5185 * storage/IDBEvent.h: Added. 5186 * storage/IDBEvent.idl: Added. 5187 * storage/IDBRequest.cpp: 5188 (WebCore::IDBRequest::IDBRequest): 5189 (WebCore::IDBRequest::onSuccess): 5190 (WebCore::IDBRequest::timerFired): 5191 (WebCore::IDBRequest::onEventCommon): 5192 * storage/IDBRequest.h: 5193 (WebCore::IDBRequest::create): 5194 (WebCore::IDBRequest::result): 5195 * storage/IDBRequest.idl: 5196 * storage/IDBSuccessEvent.cpp: Added. 5197 (WebCore::IDBSuccessEvent::create): 5198 (WebCore::IDBSuccessEvent::IDBSuccessEvent): 5199 (WebCore::IDBSuccessEvent::~IDBSuccessEvent): 5200 (WebCore::IDBSuccessEvent::result): 5201 * storage/IDBSuccessEvent.h: Added. 5202 (WebCore::IDBSuccessEvent::isIDBSuccessEvent): 5203 * storage/IDBSuccessEvent.idl: Added. 5204 * storage/IndexedDatabaseImpl.cpp: 5205 (WebCore::IndexedDatabaseImpl::open): 5206 * storage/IndexedDatabaseRequest.cpp: 5207 (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest): 5208 (WebCore::IndexedDatabaseRequest::open): 5209 * storage/IndexedDatabaseRequest.h: 5210 5211 2010-05-16 Chris Jerdonek <cjerdonek (a] webkit.org> 5212 5213 Unreviewed. 5214 5215 Removed the stray equals sign from the reviewer's name in the 5216 "Reviewed by" line of the ChangeLog entry for r59596: 5217 5218 http://trac.webkit.org/changeset/59596 5219 5220 2010-05-16 Chris Jerdonek <cjerdonek (a] webkit.org> 5221 5222 Reviewed by Adam Barth. 5223 5224 Refactored FrameLoader::changeLocation() and urlSelected() to share more code. 5225 5226 https://bugs.webkit.org/show_bug.cgi?id=38827 5227 5228 No change in behavior, so no new tests. 5229 5230 * bindings/ScriptControllerBase.cpp: 5231 (WebCore::ScriptController::executeIfJavaScriptURL): 5232 - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum. 5233 * bindings/js/ScriptController.h: 5234 - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum. 5235 * bindings/v8/ScriptController.h: 5236 - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum. 5237 * loader/FrameLoader.cpp: 5238 (WebCore::FrameLoader::changeLocation): 5239 - Changed to call the new private overload of urlSelected(). 5240 (WebCore::FrameLoader::urlSelected): 5241 - Added a private overload of urlSelected(). 5242 - Changed the public urlSelected() to call the private overload. 5243 (WebCore::FrameLoader::submitForm): 5244 * loader/FrameLoader.h: 5245 - Added a private overload of urlSelected(). 5246 * loader/FrameLoaderTypes.h: 5247 - Added a ShouldReplaceDocumentIfJavaScriptURL enum. 5248 5249 2010-05-16 Daniel Bates <dbates (a] rim.com> 5250 5251 Reviewed by David Hyatt. 5252 5253 https://bugs.webkit.org/show_bug.cgi?id=39196 5254 5255 Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>. 5256 5257 Prepared on behalf of David Hyatt. 5258 5259 "Not worth the memory use." Just roll this out. 5260 5261 * WebCore.vcproj/WebCore.vcproj: 5262 * WebCore.xcodeproj/project.pbxproj: 5263 * editing/visible_units.cpp: 5264 (WebCore::previousLinePosition): 5265 (WebCore::nextLinePosition): 5266 * rendering/EllipsisBox.cpp: 5267 (WebCore::EllipsisBox::paint): 5268 (WebCore::EllipsisBox::selectionRect): 5269 (WebCore::EllipsisBox::paintSelection): 5270 (WebCore::EllipsisBox::nodeAtPoint): 5271 * rendering/EllipsisBox.h: 5272 (WebCore::EllipsisBox::EllipsisBox): 5273 (WebCore::EllipsisBox::height): 5274 * rendering/InlineBox.cpp: 5275 (WebCore::InlineBox::height): 5276 (WebCore::InlineBox::adjustPosition): 5277 (WebCore::InlineBox::canAccommodateEllipsis): 5278 * rendering/InlineBox.h: 5279 (WebCore::InlineBox::InlineBox): 5280 (WebCore::InlineBox::isInlineBox): 5281 (WebCore::InlineBox::hasVirtualHeight): 5282 (WebCore::InlineBox::setHasVirtualHeight): 5283 (WebCore::InlineBox::virtualHeight): 5284 (WebCore::InlineBox::setWidth): 5285 (WebCore::InlineBox::width): 5286 (WebCore::InlineBox::setX): 5287 (WebCore::InlineBox::x): 5288 (WebCore::InlineBox::setY): 5289 (WebCore::InlineBox::y): 5290 (WebCore::InlineBox::baselinePosition): 5291 (WebCore::InlineBox::lineHeight): 5292 * rendering/InlineFlowBox.cpp: 5293 (WebCore::InlineFlowBox::placeBoxesVertically): 5294 (WebCore::InlineFlowBox::computeVerticalOverflow): 5295 (WebCore::InlineFlowBox::nodeAtPoint): 5296 (WebCore::InlineFlowBox::paintBoxDecorations): 5297 (WebCore::InlineFlowBox::paintMask): 5298 (WebCore::InlineFlowBox::paintTextDecorations): 5299 * rendering/InlineFlowBox.h: 5300 (WebCore::InlineFlowBox::visibleOverflowRect): 5301 (WebCore::InlineFlowBox::topLayoutOverflow): 5302 (WebCore::InlineFlowBox::bottomLayoutOverflow): 5303 (WebCore::InlineFlowBox::leftLayoutOverflow): 5304 (WebCore::InlineFlowBox::rightLayoutOverflow): 5305 (WebCore::InlineFlowBox::layoutOverflowRect): 5306 (WebCore::InlineFlowBox::topVisualOverflow): 5307 (WebCore::InlineFlowBox::bottomVisualOverflow): 5308 (WebCore::InlineFlowBox::leftVisualOverflow): 5309 (WebCore::InlineFlowBox::rightVisualOverflow): 5310 (WebCore::InlineFlowBox::visualOverflowRect): 5311 (WebCore::InlineFlowBox::setHorizontalOverflowPositions): 5312 (WebCore::InlineFlowBox::setVerticalOverflowPositions): 5313 * rendering/InlineTextBox.cpp: 5314 (WebCore::InlineTextBox::selectionRect): 5315 (WebCore::InlineTextBox::placeEllipsisBox): 5316 (WebCore::InlineTextBox::nodeAtPoint): 5317 (WebCore::InlineTextBox::paint): 5318 (WebCore::InlineTextBox::paintSelection): 5319 (WebCore::InlineTextBox::paintCompositionBackground): 5320 (WebCore::InlineTextBox::paintDecoration): 5321 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 5322 (WebCore::InlineTextBox::paintTextMatchMarker): 5323 (WebCore::InlineTextBox::computeRectForReplacementMarker): 5324 (WebCore::InlineTextBox::paintCompositionUnderline): 5325 (WebCore::InlineTextBox::offsetForPosition): 5326 (WebCore::InlineTextBox::positionForOffset): 5327 * rendering/InlineTextBox.h: 5328 (WebCore::InlineTextBox::setSpaceAdd): 5329 * rendering/RenderBlock.cpp: 5330 (WebCore::RenderBlock::positionForPointWithInlineChildren): 5331 * rendering/RenderBlockLineLayout.cpp: 5332 (WebCore::RenderBlock::computeVerticalPositionsForLine): 5333 (WebCore::RenderBlock::layoutInlineChildren): 5334 * rendering/RenderSVGInline.cpp: 5335 (WebCore::RenderSVGInline::createInlineFlowBox): 5336 * rendering/RenderSVGInlineText.cpp: 5337 (WebCore::RenderSVGInlineText::createTextBox): 5338 * rendering/RenderSVGText.cpp: 5339 (WebCore::RenderSVGText::createRootInlineBox): 5340 * rendering/RenderText.cpp: 5341 (WebCore::RenderText::positionForPoint): 5342 (WebCore::RenderText::firstRunX): 5343 (WebCore::RenderText::firstRunY): 5344 * rendering/RenderTreeAsText.cpp: 5345 (WebCore::writeTextRun): 5346 * rendering/RootInlineBox.cpp: 5347 (WebCore::RootInlineBox::placeEllipsis): 5348 (WebCore::RootInlineBox::addHighlightOverflow): 5349 (WebCore::RootInlineBox::closestLeafChildForXPos): 5350 * rendering/SVGInlineFlowBox.h: 5351 (WebCore::SVGInlineFlowBox::SVGInlineFlowBox): 5352 (WebCore::SVGInlineFlowBox::virtualHeight): 5353 (WebCore::SVGInlineFlowBox::setHeight): 5354 * rendering/SVGInlineTextBox.h: 5355 (WebCore::SVGInlineTextBox::virtualHeight): 5356 (WebCore::SVGInlineTextBox::setHeight): 5357 (WebCore::SVGInlineTextBox::selectionTop): 5358 (WebCore::SVGInlineTextBox::selectionHeight): 5359 * rendering/SVGRootInlineBox.h: 5360 (WebCore::SVGRootInlineBox::SVGRootInlineBox): 5361 (WebCore::SVGRootInlineBox::virtualHeight): 5362 (WebCore::SVGRootInlineBox::setHeight): 5363 * rendering/TrailingFloatsRootInlineBox.h: Added. 5364 (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): 5365 (WebCore::TrailingFloatsRootInlineBox::virtualHeight): 5366 5367 2010-05-13 Tony Chang <tony (a] chromium.org> 5368 5369 Reviewed by Darin Adler. 5370 5371 REGRESSION: Crash by pasting to a textarea with white-space:nowrap 5372 https://bugs.webkit.org/show_bug.cgi?id=38992 5373 5374 Test: editing/pasteboard/paste-plaintext-nowrap.html 5375 5376 * editing/InsertParagraphSeparatorCommand.cpp: 5377 (WebCore::highestVisuallyEquivalentDivBelowRoot): 5378 (WebCore::InsertParagraphSeparatorCommand::doApply): 5379 5380 2010-05-16 David Hyatt <hyatt (a] apple.com> 5381 5382 Reviewed by Dan Bernstein. 5383 5384 https://bugs.webkit.org/show_bug.cgi?id=39194 5385 5386 Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality. 5387 5388 Added fast/multicol/column-count-with-rules.html 5389 5390 * rendering/RenderBlock.cpp: 5391 (WebCore::RenderBlock::paintColumnRules): 5392 (WebCore::RenderBlock::paintColumnContents): 5393 (WebCore::RenderBlock::hitTestColumns): 5394 (WebCore::RenderBlock::adjustRectForColumns): 5395 5396 2010-05-16 Dan Bernstein <mitz (a] apple.com> 5397 5398 Reviewed by Dave Hyatt. 5399 5400 Fix SVG test failures after r59588. 5401 5402 Updated SVG InlineBox virtual method overrides to match HTML ones. Removed 5403 SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares 5404 verticallyAlignBoxes(). 5405 5406 * rendering/SVGInlineFlowBox.cpp: 5407 (WebCore::SVGInlineFlowBox::placeBoxesHorizontally): 5408 * rendering/SVGInlineFlowBox.h: 5409 * rendering/SVGRootInlineBox.cpp: 5410 (WebCore::SVGRootInlineBox::placeBoxesHorizontally): 5411 (WebCore::SVGRootInlineBox::verticallyAlignBoxes): 5412 * rendering/SVGRootInlineBox.h: 5413 5414 2010-05-16 Dan Bernstein <mitz (a] apple.com> 5415 5416 Reviewed by Darin Adler. 5417 5418 Move transient glyph overflow and fallback font data from a global to the stack 5419 https://bugs.webkit.org/show_bug.cgi?id=39050 5420 5421 * rendering/InlineFlowBox.cpp: 5422 (WebCore::InlineFlowBox::placeBoxesHorizontally): Added a GlyphOverflowAndFallbackFontsMap 5423 parameter. Read glyph overflow from the map. 5424 (WebCore::InlineFlowBox::computeLogicalBoxHeights): Added a GlyphOverflowAndFallbackFontsMap 5425 parameter. Read fallback fonts from the map. 5426 (WebCore::InlineFlowBox::computeVerticalOverflow): Added a GlyphOverflowAndFallbackFontsMap 5427 parameter. Read glyph overflow from the map. 5428 * rendering/InlineFlowBox.h: 5429 * rendering/InlineTextBox.cpp: Removed setFallbackFonts(), fallbackFonts(), setGlyphOverflow(), 5430 and glyphOverflow(). Removed s_glyphOverflowAndFallbackFontsMap. 5431 * rendering/InlineTextBox.h: 5432 * rendering/RenderBlock.h: 5433 * rendering/RenderBlockLineLayout.cpp: 5434 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap 5435 parameter. Write fallback fonts and glyph overflow into the map. 5436 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap 5437 parameter. Pass it down to verticallyAlignBoxes(). 5438 (WebCore::RenderBlock::layoutInlineChildren): Create a GlyphOverflowAndFallbackFontsMap on the 5439 stack and pass it down to computeHorizontalPositionsForLine(), computeVerticalPositionsForLine(), 5440 and verticallyAlignBoxes(). 5441 * rendering/RootInlineBox.cpp: 5442 (WebCore::RootInlineBox::verticallyAlignBoxes): Added a GlyphOverflowAndFallbackFontsMap parameter. 5443 Pass it down to computeLogicalBoxHeights() and computeVerticalOverflow(). 5444 * rendering/RootInlineBox.h: 5445 * rendering/SVGRootInlineBox.cpp: 5446 (WebCore::SVGRootInlineBox::layoutInlineBoxes): Updated. 5447 5448 2010-05-12 Tony Chang <tony (a] chromium.org> 5449 5450 Reviewed by Darin Adler. 5451 5452 Spellcheck disabling does not disable context menu 5453 https://bugs.webkit.org/show_bug.cgi?id=25639 5454 5455 Test: editing/spelling/context-menu-suggestions.html 5456 5457 * platform/ContextMenu.cpp: 5458 (WebCore::ContextMenu::populate): 5459 5460 2010-05-16 Sam Weinig <sam (a] webkit.org> 5461 5462 Reviewed by Dan Bernstein. 5463 5464 https://bugs.webkit.org/show_bug.cgi?id=39190 5465 Shave a word off of GlyphPageTreeNode 5466 <rdar://problem/7990428> 5467 5468 * platform/graphics/GlyphPageTreeNode.h: 5469 (WebCore::GlyphPageTreeNode::GlyphPageTreeNode): 5470 5471 2010-05-16 Andreas Kling <andreas.kling (a] nokia.com> 5472 5473 Reviewed by Kenneth Rohde Christiansen. 5474 5475 Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData(). 5476 Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments. 5477 getImageData() should throw INDEX_SIZE_ERR if either width or height is 0. 5478 5479 https://bugs.webkit.org/show_bug.cgi?id=39175 5480 5481 Spec link: 5482 http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation 5483 5484 Test: fast/canvas/canvas-getImageData-invalid.html 5485 5486 * html/canvas/CanvasRenderingContext2D.cpp: 5487 (WebCore::CanvasRenderingContext2D::createImageData): 5488 (WebCore::CanvasRenderingContext2D::getImageData): 5489 (WebCore::CanvasRenderingContext2D::putImageData): 5490 5491 2010-05-16 Andreas Kling <andreas.kling (a] nokia.com> 5492 5493 Reviewed by Kenneth Rohde Christiansen. 5494 5495 Canvas's toDataURL() should be case insensitive wrt the mimeType argument. 5496 https://bugs.webkit.org/show_bug.cgi?id=39153 5497 5498 Spec link: 5499 http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl 5500 5501 Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html 5502 5503 * dom/CanvasSurface.cpp: 5504 (WebCore::CanvasSurface::toDataURL): 5505 5506 2010-05-16 Simon Fraser <simon.fraser (a] apple.com> 5507 5508 Reviewed by Anders Carlsson. 5509 5510 Shrink SimpleFontData 5511 https://bugs.webkit.org/show_bug.cgi?id=39179 5512 5513 Change SimpleFontData to have a pointer to the m_glyphToBoundsMap, 5514 and to allocate this lazily. This reduces the size of the class from 5515 5632 to 1536 bytes. 5516 5517 * platform/graphics/SimpleFontData.h: 5518 (WebCore::SimpleFontData::boundsForGlyph): 5519 5520 2010-05-15 Simon Fraser <simon.fraser (a] apple.com> 5521 5522 Reviewed by Maciej Stachowiak. 5523 5524 Reduce the size of CachedResource 5525 https://bugs.webkit.org/show_bug.cgi?id=39171 5526 5527 Make protected data members of CachedResource private, to allow for 5528 easier rearrangement, and hide the fact that enums are in bitfields. 5529 5530 Rearrange the data members of CachedResource to save 32 bytes per instance 5531 in 64-bit. Also modernized the constructor code. 5532 5533 * loader/CachedCSSStyleSheet.cpp: 5534 (WebCore::CachedCSSStyleSheet::didAddClient): 5535 (WebCore::CachedCSSStyleSheet::data): 5536 (WebCore::CachedCSSStyleSheet::checkNotify): 5537 (WebCore::CachedCSSStyleSheet::error): 5538 * loader/CachedFont.cpp: 5539 (WebCore::CachedFont::load): 5540 (WebCore::CachedFont::didAddClient): 5541 (WebCore::CachedFont::data): 5542 (WebCore::CachedFont::ensureCustomFontData): 5543 (WebCore::CachedFont::ensureSVGFontData): 5544 (WebCore::CachedFont::checkNotify): 5545 (WebCore::CachedFont::error): 5546 * loader/CachedImage.cpp: 5547 (WebCore::CachedImage::CachedImage): 5548 (WebCore::CachedImage::load): 5549 (WebCore::CachedImage::didAddClient): 5550 (WebCore::CachedImage::allClientsRemoved): 5551 (WebCore::CachedImage::image): 5552 (WebCore::CachedImage::data): 5553 (WebCore::CachedImage::error): 5554 (WebCore::CachedImage::checkNotify): 5555 (WebCore::CachedImage::destroyDecodedData): 5556 * loader/CachedImage.h: 5557 (WebCore::CachedImage::stillNeedsLoad): 5558 * loader/CachedResource.cpp: 5559 (WebCore::CachedResource::CachedResource): 5560 * loader/CachedResource.h: 5561 (WebCore::CachedResource::type): 5562 (WebCore::CachedResource::preloadResult): 5563 (WebCore::CachedResource::status): 5564 (WebCore::CachedResource::setStatus): 5565 (WebCore::CachedResource::isLoaded): 5566 (WebCore::CachedResource::isLoading): 5567 (WebCore::CachedResource::setErrorOccurred): 5568 * loader/CachedScript.cpp: 5569 (WebCore::CachedScript::didAddClient): 5570 (WebCore::CachedScript::data): 5571 (WebCore::CachedScript::checkNotify): 5572 (WebCore::CachedScript::error): 5573 * loader/CachedXSLStyleSheet.cpp: 5574 (WebCore::CachedXSLStyleSheet::didAddClient): 5575 (WebCore::CachedXSLStyleSheet::data): 5576 (WebCore::CachedXSLStyleSheet::checkNotify): 5577 (WebCore::CachedXSLStyleSheet::error): 5578 5579 2010-05-16 Sheriff Bot <webkit.review.bot (a] gmail.com> 5580 5581 Unreviewed, rolling out r59574. 5582 http://trac.webkit.org/changeset/59574 5583 https://bugs.webkit.org/show_bug.cgi?id=39176 5584 5585 Supposedly broke cr-win, but the errors seems somewhat 5586 unrelated (Requested by abarth on #webkit). 5587 5588 * platform/network/chromium/ResourceResponse.h: 5589 (WebCore::ResourceResponse::ResourceResponse): 5590 (WebCore::ResourceResponse::setSecurityInfo): 5591 (WebCore::ResourceResponse::isContentFiltered): 5592 (WebCore::ResourceResponse::setIsContentFiltered): 5593 (WebCore::ResourceResponse::setAppCacheID): 5594 (WebCore::ResourceResponse::setAppCacheManifestURL): 5595 (WebCore::ResourceResponse::setWasFetchedViaSPDY): 5596 (WebCore::ResourceResponse::setIsMultipartPayload): 5597 (WebCore::ResourceResponse::setResponseTime): 5598 5599 2010-05-16 Dan Bernstein <mitz (a] apple.com> 5600 5601 Reviewed by Darin Adler. 5602 5603 Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL 5604 https://bugs.webkit.org/show_bug.cgi?id=39086 5605 5606 Use global variables directly. 5607 5608 * bindings/v8/ScriptCallStack.cpp: 5609 (WebCore::ScriptCallStack::createUtilityContext): 5610 * platform/ScrollView.cpp: 5611 (WebCore::ScrollView::wheelEvent): 5612 * platform/graphics/mac/ComplexTextController.cpp: 5613 (WebCore::shouldUseATSUIAPI): 5614 5615 2010-05-16 Andreas Kling <andreas.kling (a] nokia.com> 5616 5617 Reviewed by Kenneth Rohde Christiansen. 5618 5619 Canvas's getContext() must return null when called with an invalid/unsupported parameter. 5620 (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext 5621 5622 https://bugs.webkit.org/show_bug.cgi?id=39150 5623 5624 Test: fast/canvas/canvas-getContext-invalid.html 5625 5626 * bindings/js/JSHTMLCanvasElementCustom.cpp: 5627 (WebCore::JSHTMLCanvasElement::getContext): 5628 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 5629 (WebCore::V8HTMLCanvasElement::getContextCallback): 5630 5631 2010-05-15 Sheriff Bot <webkit.review.bot (a] gmail.com> 5632 5633 Unreviewed, rolling out r59565. 5634 http://trac.webkit.org/changeset/59565 5635 https://bugs.webkit.org/show_bug.cgi?id=39173 5636 5637 Broke GTK (Requested by abarth on #webkit). 5638 5639 * dom/CanvasSurface.cpp: 5640 (WebCore::CanvasSurface::toDataURL): 5641 5642 2010-05-15 Andreas Kling <andreas.kling (a] nokia.com> 5643 5644 Reviewed by Kenneth Rohde Christiansen. 5645 5646 Canvas's toDataURL() should be case insensitive wrt the mimeType argument. 5647 https://bugs.webkit.org/show_bug.cgi?id=39153 5648 5649 Spec link: 5650 http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl 5651 5652 Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html 5653 5654 * dom/CanvasSurface.cpp: 5655 (WebCore::CanvasSurface::toDataURL): 5656 5657 2010-05-15 Anders Bakken <agbakken (a] gmail.com> 5658 5659 Reviewed by Kenneth Rohde Christiansen. 5660 5661 QObject::objectName() returns a QString and QtField::name() 5662 creates a temporary QByteArray object and returns constData() from it. 5663 This is not safe. 5664 5665 This patch changes the signature of the function to return a 5666 QByteArray instead of const char *. 5667 5668 https://bugs.webkit.org/show_bug.cgi?id=39010 5669 5670 * bridge/qt/qt_instance.cpp: 5671 (JSC::Bindings::QtInstance::getPropertyNames): 5672 (JSC::Bindings::QtField::name): 5673 * bridge/qt/qt_runtime.h: 5674 5675 2010-05-15 Anders Bakken <agbakken (a] gmail.com> 5676 5677 Reviewed by Kenneth Rohde Christiansen. 5678 5679 Don't unnecessarily copy data when searching for methods in QtClass. 5680 5681 [Qt] JSValue QtClass::fallbackObject can be optimized 5682 https://bugs.webkit.org/show_bug.cgi?id=37684 5683 5684 * bridge/qt/qt_class.cpp: 5685 (JSC::Bindings::QtClass::fallbackObject): 5686 5687 2010-05-15 Anders Bakken <agbakken (a] gmail.com> 5688 5689 Reviewed by Kenneth Rohde Christiansen. 5690 5691 Identifier::ascii() is not threadsafe and shouldn't be used for 5692 converting to and from QString/QByteArray. 5693 5694 https://bugs.webkit.org/show_bug.cgi?id=39009 5695 5696 * bridge/qt/qt_class.cpp: 5697 (JSC::Bindings::QtClass::fallbackObject): 5698 (JSC::Bindings::QtClass::fieldNamed): 5699 5700 2010-05-15 Chang Shu <chang.shu (a] nokia.com> 5701 5702 Reviewed by Kenneth Rohde Christiansen. 5703 5704 Based on the spec and Philip Taylor's test suite, createImageData() should throw 5705 an INDEX_SIZE_ERR exception if either the sw or sh arguments are zero. 5706 The link to the spec: 5707 http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.imageData.getcreate.zero 5708 5709 https://bugs.webkit.org/show_bug.cgi?id=39166 5710 5711 The complete test suite is in the process of checking in. 5712 https://bugs.webkit.org/show_bug.cgi?id=20553 5713 5714 * html/canvas/CanvasRenderingContext2D.cpp: 5715 (WebCore::CanvasRenderingContext2D::createImageData): 5716 5717 2010-05-15 Adam Barth <abarth (a] webkit.org> 5718 5719 Reviewed by Darin Adler. 5720 5721 XMLHttpRequest.getResponseHeader doesn't need to be custom 5722 https://bugs.webkit.org/show_bug.cgi?id=39125 5723 5724 I don't see any reason this method needs to be custom. No new tests 5725 because there's no behavior change. 5726 5727 * bindings/js/JSXMLHttpRequestCustom.cpp: 5728 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 5729 * xml/XMLHttpRequest.idl: 5730 5731 2010-05-15 Adam Barth <abarth (a] webkit.org> 5732 5733 Reviewed by Darin Adler. 5734 5735 XMLHttpRequest.setRequestHeader shouldn't be custom 5736 https://bugs.webkit.org/show_bug.cgi?id=39124 5737 5738 I don't see any reason why this method needs to be custom. No tests 5739 because no behavior change. 5740 5741 * bindings/js/JSXMLHttpRequestCustom.cpp: 5742 * bindings/scripts/CodeGeneratorJS.pm: 5743 * bindings/scripts/CodeGeneratorV8.pm: 5744 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 5745 (webkit_dom_test_obj_method_that_requires_all_args): 5746 (webkit_dom_test_obj_method_that_requires_all_args_and_throws): 5747 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 5748 * bindings/scripts/test/JS/JSTestObj.cpp: 5749 (WebCore::): 5750 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs): 5751 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): 5752 * bindings/scripts/test/JS/JSTestObj.h: 5753 * bindings/scripts/test/ObjC/DOMTestObj.h: 5754 * bindings/scripts/test/ObjC/DOMTestObj.mm: 5755 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): 5756 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): 5757 * bindings/scripts/test/TestObj.idl: 5758 * bindings/scripts/test/V8/V8TestObj.cpp: 5759 (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback): 5760 (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback): 5761 (WebCore::ConfigureV8TestObjTemplate): 5762 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 5763 * xml/XMLHttpRequest.idl: 5764 5765 2010-05-14 Alexey Proskuryakov <ap (a] apple.com> 5766 5767 Reviewed by Darin Adler. 5768 5769 https://bugs.webkit.org/show_bug.cgi?id=39048 5770 <rdar://problem/7978384> REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not 5771 defined") with JavaScript disabled 5772 5773 Google Maps goes into mobile mode if JavaScript is disabled for some reason, and sends XHTML 5774 content with XHTML Mobile DOCTYPE. We want to handle it whether XHTMLMP is enabled or not. 5775 5776 Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml 5777 5778 * dom/XMLTokenizerLibxml2.cpp: (WebCore::externalSubsetHandler): Restore pre-55802 behavior 5779 for builds that don't have XHTMLMP enabled. Given that r55802 negated the condition without 5780 breaking XHTMLMP, this line is actually always needed. 5781 5782 2010-05-15 Vangelis Kokkevis <vangelis (a] chromium.org> 5783 5784 Reviewed by Darin Fisher. 5785 5786 Fixing LayerChromium hierarchy updates where due to mixed ownership 5787 handling, sublayer updates didn't always properly update parent-to-child 5788 and child-to-parent pointers in sync. 5789 https://bugs.webkit.org/show_bug.cgi?id=39138 5790 5791 * platform/graphics/chromium/LayerChromium.cpp: 5792 (WebCore::LayerChromium::~LayerChromium): 5793 (WebCore::LayerChromium::setNeedsCommit): Typo fix. 5794 (WebCore::LayerChromium::insertSublayer): 5795 (WebCore::LayerChromium::removeFromSuperlayer): 5796 (WebCore::LayerChromium::removeSublayer): 5797 (WebCore::LayerChromium::replaceSublayer): 5798 (WebCore::LayerChromium::removeAllSublayers): 5799 (WebCore::LayerChromium::setSublayers): 5800 * platform/graphics/chromium/LayerChromium.h: 5801 (WebCore::LayerChromium::setSuperlayer): 5802 5803 2010-05-15 Andrey Kosyakov <caseq (a] chromium.org> 5804 5805 Reviewed by Timothy Hatcher. 5806 5807 Got rid of absolute positioning in favor of flex boxes where possible. 5808 Added shadow for help window. 5809 Changed window style names to more comprehensible. 5810 https://bugs.webkit.org/show_bug.cgi?id=39120 5811 5812 * inspector/front-end/HelpScreen.js: 5813 (WebInspector.HelpScreen): 5814 * inspector/front-end/helpScreen.css: 5815 (.help-window-outer): 5816 (body.attached .help-window-outer): 5817 (.help-window-main): 5818 (body.attached .help-window-main): 5819 (.help-window-caption): 5820 (body.attached .help-window-caption): 5821 (.help-window-title): 5822 (.help-scrollable): 5823 (.help-close-button): 5824 (body.platform-mac .help-close-button): 5825 (body:not(.platform-mac) .help-close-button): 5826 5827 2010-05-15 Sheriff Bot <webkit.review.bot (a] gmail.com> 5828 5829 Unreviewed, rolling out r59549. 5830 http://trac.webkit.org/changeset/59549 5831 https://bugs.webkit.org/show_bug.cgi?id=39167 5832 5833 Broke Chromium build (Requested by abarth on #webkit). 5834 5835 * bindings/scripts/CodeGeneratorV8.pm: 5836 * storage/IDBRequest.cpp: 5837 (WebCore::IDBRequest::suspend): 5838 (WebCore::IDBRequest::resume): 5839 (WebCore::IDBRequest::timerFired): 5840 (WebCore::IDBRequest::onEventCommon): 5841 * storage/IDBRequest.h: 5842 5843 2010-05-15 Vangelis Kokkevis <vangelis (a] chromium.org> 5844 5845 Reviewed by Darin Fisher. 5846 5847 Adding code path for composited layers (LayerChromium) containing only 5848 an Image element. 5849 https://bugs.webkit.org/show_bug.cgi?id=39142 5850 5851 No new tests, covered under the existing tests for composited layers. 5852 5853 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 5854 (WebCore::GraphicsLayerChromium::setContentsToImage): 5855 (WebCore::GraphicsLayerChromium::updateContentsImage): 5856 * platform/graphics/chromium/GraphicsLayerChromium.h: 5857 * platform/graphics/chromium/LayerChromium.cpp: 5858 (WebCore::LayerChromium::LayerChromium): 5859 (WebCore::LayerChromium::setContents): 5860 * platform/graphics/chromium/LayerChromium.h: 5861 (WebCore::LayerChromium::contents): 5862 5863 2010-05-15 Andrei Popescu <andreip (a] google.com> 5864 5865 Reviewed by Jeremy Orlow. 5866 5867 IDBRequest is not a proper ActiveDomObject 5868 https://bugs.webkit.org/show_bug.cgi?id=39001 5869 5870 Add IDBRequest interface to the IsActiveDomType 5871 routine of the CodeGeneratorV8.pm. 5872 5873 Rename IDBRequest::m_stopped to m_suspended and reset 5874 the flag when resume() is called. 5875 5876 No new tests, Indexed Database isn't yet testable. 5877 5878 * bindings/scripts/CodeGeneratorV8.pm: 5879 * storage/IDBRequest.cpp: 5880 (WebCore::IDBRequest::suspend): 5881 (WebCore::IDBRequest::resume): 5882 (WebCore::IDBRequest::timerFired): 5883 (WebCore::IDBRequest::onEventCommon): 5884 * storage/IDBRequest.h: 5885 5886 2010-05-15 Andrei Bucur <abucur (a] adobe.com> 5887 5888 Reviewed by Gustavo Noronha Silva. 5889 5890 Functions using the cairo_pattern_t object returned by 5891 Pattern::createPlatformPattern sould destroy it after the painting 5892 operation. Failing to do so causes memory leaks. 5893 5894 Test: No test was added because the patch adds no new functionality. 5895 It just completes the normal life cycle of a cairo_pattern_t object. 5896 5897 * platform/graphics/cairo/FontCairo.cpp: 5898 (WebCore::Font::drawGlyphs): 5899 * platform/graphics/cairo/GraphicsContextCairo.cpp: 5900 (WebCore::setPlatformFill): 5901 (WebCore::setPlatformStroke): 5902 5903 2010-05-15 Yael Aharon <yael.aharon (a] nokia.com> 5904 5905 Reviewed by Kent Tamura. 5906 5907 Initial support for HTMLMeterElement 5908 https://bugs.webkit.org/show_bug.cgi?id=38140 5909 5910 This patch adds support for HTMLMeterElement, including default rendering 5911 of the meter element. That is because some platforms do not have a native gauge. 5912 The feature is turned on only for the Qt platform. 5913 5914 Tests: fast/dom/HTMLMeterElement/meter-element.html 5915 fast/dom/HTMLMeterElement/set-meter-properties.html 5916 5917 * DerivedSources.cpp: 5918 * DerivedSources.make: 5919 * GNUmakefile.am: 5920 * WebCore.gypi: 5921 * WebCore.pri: 5922 * WebCore.pro: 5923 * WebCore.vcproj/WebCore.vcproj: 5924 * css/CSSPrimitiveValueMappings.h: 5925 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 5926 * css/CSSValueKeywords.in: 5927 * css/html.css: 5928 (meter): 5929 (meter::-webkit-meter): 5930 * html/HTMLAttributeNames.in: 5931 * html/HTMLElement.cpp: 5932 (WebCore::inlineTagList): 5933 * html/HTMLElementsAllInOne.cpp: 5934 * html/HTMLMeterElement.cpp: Added. 5935 (WebCore::HTMLMeterElement::HTMLMeterElement): 5936 (WebCore::HTMLMeterElement::create): 5937 (WebCore::HTMLMeterElement::createRenderer): 5938 (WebCore::HTMLMeterElement::formControlType): 5939 (WebCore::HTMLMeterElement::parseMappedAttribute): 5940 (WebCore::HTMLMeterElement::min): 5941 (WebCore::HTMLMeterElement::setMin): 5942 (WebCore::HTMLMeterElement::max): 5943 (WebCore::HTMLMeterElement::setMax): 5944 (WebCore::HTMLMeterElement::value): 5945 (WebCore::HTMLMeterElement::setValue): 5946 (WebCore::HTMLMeterElement::low): 5947 (WebCore::HTMLMeterElement::setLow): 5948 (WebCore::HTMLMeterElement::high): 5949 (WebCore::HTMLMeterElement::setHigh): 5950 (WebCore::HTMLMeterElement::optimum): 5951 (WebCore::HTMLMeterElement::setOptimum): 5952 * html/HTMLMeterElement.h: Added. 5953 (WebCore::HTMLMeterElement::recalcWillValidate): 5954 * html/HTMLMeterElement.idl: Added. 5955 * html/HTMLTagNames.in: 5956 * page/DOMWindow.idl: 5957 * platform/ThemeTypes.h: 5958 * rendering/RenderMeter.cpp: Added. 5959 (WebCore::RenderMeter::RenderMeter): 5960 (WebCore::RenderMeter::layout): 5961 (WebCore::RenderMeter::updateFromElement): 5962 * rendering/RenderMeter.h: Added. 5963 (WebCore::RenderMeter::renderName): 5964 (WebCore::RenderMeter::isMeter): 5965 (WebCore::toRenderMeter): 5966 * rendering/RenderObject.h: 5967 (WebCore::RenderObject::isMeter): 5968 * rendering/RenderTheme.cpp: 5969 (WebCore::RenderTheme::adjustStyle): 5970 (WebCore::RenderTheme::paint): 5971 (WebCore::RenderTheme::paintBorderOnly): 5972 (WebCore::RenderTheme::paintDecorations): 5973 (WebCore::RenderTheme::adjustMeterStyle): 5974 (WebCore::RenderTheme::paintMeter): 5975 * rendering/RenderTheme.h: 5976 5977 2010-05-15 Eric Uhrhane <ericu (a] chromium.org> 5978 5979 Reviewed by Dmitry Titov. 5980 5981 Add bindings for async DB API in Workers. 5982 https://bugs.webkit.org/show_bug.cgi?id=34992 5983 5984 Tests: storage/change-version-handle-reuse-worker.html 5985 storage/execute-sql-args-worker.html 5986 5987 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding. 5988 (WebCore::JSWorkerContext::openDatabase): 5989 5990 * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there. 5991 (WebCore::V8WorkerContext::openDatabaseCallback): 5992 5993 Add NoStaticTables flags to all objects now shared with workers. 5994 * storage/Database.idl: 5995 * storage/SQLError.idl: 5996 * storage/SQLResultSet.idl: 5997 * storage/SQLResultSetRowList.idl: 5998 * storage/SQLTransaction.idl: 5999 6000 * workers/WorkerContext.h: Add databaseExceededQuota. 6001 * workers/WorkerContext.cpp: 6002 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now. 6003 (WebCore::WorkerContext::openDatabase): Remove invalid assertion. 6004 6005 Add the IDL for the call to openDatabase. 6006 * workers/WorkerContext.idl: 6007 6008 2010-05-15 Leandro Pereira <leandro (a] profusion.mobi> 6009 6010 Reviewed by Adam Treat. 6011 6012 [EFL] Add build system for the EFL port. 6013 http://webkit.org/b/37945 6014 6015 * CMakeLists.txt: Added. 6016 * CMakeListsEfl.txt: Added. 6017 * config.h: Add conditional to look for cmakeconfig.h. 6018 6019 2010-05-15 Adam Barth <abarth (a] webkit.org> 6020 6021 Reviewed by Darin Adler. 6022 6023 Clipboard.setData doesn't need to be custom 6024 https://bugs.webkit.org/show_bug.cgi?id=39133 6025 6026 The implementation of the custom binding for this function was a bit 6027 different than its declaration in the IDL file. I've updated the IDL 6028 to match the implementation, but we probably should check whether our 6029 behavior is correct with respect to the specification. 6030 6031 No tests because I've maintained our current behavior. 6032 6033 * bindings/js/JSClipboardCustom.cpp: 6034 * bindings/v8/custom/V8ClipboardCustom.cpp: 6035 * dom/Clipboard.idl: 6036 6037 2010-05-15 Yaar Schnitman <yaar (a] chromium.org> 6038 6039 Reviewed by Adam Barth. 6040 6041 V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches. 6042 https://bugs.webkit.org/show_bug.cgi?id=38920 6043 6044 Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator. 6045 6046 * bindings/scripts/CodeGenerator.pm: 6047 * bindings/scripts/CodeGeneratorJS.pm: 6048 * bindings/scripts/CodeGeneratorV8.pm: 6049 * bindings/scripts/test/JS/JSTestCallback.cpp: 6050 (WebCore::JSTestCallback::JSTestCallback): 6051 (WebCore::JSTestCallback::~JSTestCallback): 6052 * bindings/scripts/test/JS/JSTestCallback.h: 6053 * bindings/scripts/test/JS/JSTestObj.cpp: 6054 (WebCore::): 6055 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): 6056 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): 6057 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): 6058 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): 6059 (WebCore::testObjPrototypeFunctionOverloadedMethod): 6060 * bindings/scripts/test/JS/JSTestObj.h: 6061 * bindings/scripts/test/TestObj.idl: 6062 6063 2010-05-15 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 6064 6065 Reviewed by Xan Lopez. 6066 6067 https://bugs.webkit.org/show_bug.cgi?id=30500 6068 [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail 6069 6070 The "announcement" is now made in the form of an object attribute 6071 associated with the AtkObject. 6072 6073 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 6074 (webkit_accessible_get_attributes): 6075 6076 2010-05-15 Adam Barth <abarth (a] webkit.org> 6077 6078 Reviewed by Darin Adler. 6079 6080 Show a console message when X-Frame-Options blocks a load 6081 https://bugs.webkit.org/show_bug.cgi?id=39087 6082 6083 The blank page confuses people when X-Frame-Options blocks a load. The 6084 console message should at least give them a hint as to what's going on. 6085 6086 * dom/Document.cpp: 6087 (WebCore::Document::processHttpEquiv): 6088 6089 2010-05-15 Ilya Tikhonovsky <loislo (a] chromium.org> 6090 6091 Reviewed by Geoffrey Garen. 6092 6093 WebInspector: JSC Should provide heap size info for Timeline panel. 6094 https://bugs.webkit.org/show_bug.cgi?id=38420 6095 6096 * GNUmakefile.am: 6097 * WebCore.pro: 6098 * WebCore.vcproj/WebCore.vcproj: 6099 * WebCore.xcodeproj/project.pbxproj: 6100 * bindings/js/ScriptGCEvent.cpp: Added. 6101 (WebCore::ScriptGCEvent::getHeapSize): 6102 * bindings/js/ScriptGCEvent.h: 6103 6104 2010-05-15 Dave Tapuska <dtapuska (a] rim.com> 6105 6106 Reviewed by Darin Adler. 6107 6108 Fix alignment faults on ARMv5TE architectures. 6109 6110 In debug mode the RenderAreaDebugHeader was 12 bytes which 6111 caused an alignment failure for RenderObjects because they 6112 would start on a 4 byte boundary. Align the RenderArenaDebugHeader 6113 using the ARENA_ALIGN macro. 6114 6115 In NDEBUG mode the RenderArena objects come from a pool which 6116 has 4 byte alignment. Allow the alignment to be based on the 6117 AllocAlignmentInteger. This define will be activated for ARMv5TE. 6118 6119 https://bugs.webkit.org/show_bug.cgi?id=19946 6120 6121 2010-05-14 Adam Barth <abarth (a] webkit.org> 6122 6123 Reviewed by Darin Adler. 6124 6125 XMLHttpRequest.overrideMimeType doesn't need to be custom 6126 https://bugs.webkit.org/show_bug.cgi?id=39127 6127 6128 I don't see any reason why this method should be custom. No tests 6129 because no behavior change. 6130 6131 * bindings/js/JSXMLHttpRequestCustom.cpp: 6132 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 6133 * xml/XMLHttpRequest.idl: 6134 6135 2010-05-14 Adele Peterson <adele (a] apple.com> 6136 6137 Reviewed by Dave Hyatt. 6138 6139 Fix for https://bugs.webkit.org/show_bug.cgi?id=39095 6140 <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left 6141 6142 Test: editing/selection/applystyle-to-inline-inside-block.html 6143 6144 * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling 6145 downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to 6146 jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced). 6147 6148 2010-05-14 Brian Weinstein <bweinstein (a] apple.com> 6149 6150 Reviewed by Mark Rowe. 6151 6152 Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally, 6153 use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead 6154 of nmake variables. 6155 6156 * WebCore.vcproj/WebCore.make: 6157 6158 2010-05-14 Stephanie Lewis <slewis (a] apple.com> 6159 6160 Rubber-stamped by Mark Rowe. 6161 6162 Update order files. 6163 6164 * WebCore.order: 6165 6166 2010-05-14 David Hyatt <hyatt (a] apple.com> 6167 6168 Reviewed by Simon Fraser. 6169 6170 https://bugs.webkit.org/show_bug.cgi?id=39137 6171 6172 Make RenderLayers position properly inside multicolumn layout. 6173 6174 (1) Create RenderLayers when column properties are specified. This allows descendant layers to easily 6175 know they are inside a multicolumn layout when positioning. 6176 6177 (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer. Splitting 6178 of a layer across columns still does not work, but the layer will now at least appear in the first column in 6179 which it occurs. 6180 6181 (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers 6182 are involved. Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases 6183 working properly). With this change elements like <video> will paginate properly and not get split across pages. 6184 6185 (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to 6186 account for RTL. 6187 6188 (5) Fix RTL pagination by making sure the column pagination rects are the content width of the whole block and not just 6189 the width of one column. 6190 6191 Added fast/multicol/layers-in-multicol.html 6192 6193 * rendering/RenderBlock.cpp: 6194 (WebCore::RenderBlock::layoutColumns): 6195 (WebCore::RenderBlock::adjustForColumns): 6196 * rendering/RenderBox.h: 6197 (WebCore::RenderBox::locationOffset): 6198 * rendering/RenderBoxModelObject.h: 6199 (WebCore::RenderBoxModelObject::requiresLayer): 6200 * rendering/RenderLayer.cpp: 6201 (WebCore::RenderLayer::updateLayerPosition): 6202 (WebCore::RenderLayer::convertToLayerCoords): 6203 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 6204 * rendering/RenderLineBoxList.cpp: 6205 (WebCore::RenderLineBoxList::paint): 6206 * rendering/RenderView.cpp: 6207 (WebCore::RenderView::RenderView): 6208 * rendering/RenderView.h: 6209 (WebCore::RenderView::requiresLayer): 6210 * rendering/style/RenderStyle.h: 6211 (WebCore::InheritedFlags::specifiesColumns): 6212 6213 2010-05-14 Leon Clarke <leonclarke (a] google.com> 6214 6215 Reviewed by Steve Block. 6216 6217 Refactor signature of tokenizeRelAttribute and the variables it refers to so that new features don't keep changing the signature, and make m_disabledState into an enum. 6218 https://bugs.webkit.org/show_bug.cgi?id=38900 6219 6220 No new tests. Refactoring only. 6221 6222 * html/HTMLLinkElement.cpp: 6223 (WebCore::HTMLLinkElement::HTMLLinkElement): 6224 (WebCore::HTMLLinkElement::setDisabledState): 6225 (WebCore::HTMLLinkElement::parseMappedAttribute): 6226 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 6227 (WebCore::HTMLLinkElement::process): 6228 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): 6229 * html/HTMLLinkElement.h: 6230 (WebCore::HTMLLinkElement::RelAttribute::RelAttribute): 6231 (WebCore::HTMLLinkElement::isAlternate): 6232 (WebCore::HTMLLinkElement::isDisabled): 6233 (WebCore::HTMLLinkElement::isEnabledViaScript): 6234 (WebCore::HTMLLinkElement::isIcon): 6235 (WebCore::HTMLLinkElement::): 6236 * html/PreloadScanner.cpp: 6237 (WebCore::PreloadScanner::processAttribute): 6238 6239 2010-05-14 Noam Rosenthal <noam.rosenthal (a] nokia.com> 6240 6241 Reviewed by Kenneth Rohde Christiansen. 6242 6243 [Qt] GraphicsLayer caches directly composited images 6244 https://bugs.webkit.org/show_bug.cgi?id=38444 6245 6246 Directly-composited images and solid fills shouldn't be cached, as that cache 6247 is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content, 6248 but we were missing that test. 6249 The fix makes sure we only cache HTML content. 6250 6251 No new tests: this is a minor optimization. 6252 6253 * platform/graphics/qt/GraphicsLayerQt.cpp: 6254 (WebCore::GraphicsLayerQtImpl::flushChanges): 6255 6256 2010-05-14 Brian Weinstein <bweinstein (a] apple.com> 6257 6258 Reviewed by Mark Rowe. 6259 6260 Build fix. Had the environment variables wrong for source and destination of the copy operation 6261 that was added. 6262 6263 * WebCore.vcproj/WebCore.make: 6264 6265 2010-05-14 Adam Barth <abarth (a] webkit.org> 6266 6267 Reviewed by Eric Seidel. 6268 6269 Remove custom bindings for HTMLInputElement 6270 https://bugs.webkit.org/show_bug.cgi?id=38344 6271 6272 Fix a bug in the TestObj.idl file and update expected results. This 6273 was originally part of a larger change reviewed by Eric, but I'm 6274 landing it separately to help me understand the more interesting bits 6275 of the patch clearly. 6276 6277 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 6278 (webkit_dom_test_obj_get_attr_with_setter_exception): 6279 (webkit_dom_test_obj_set_attr_with_setter_exception): 6280 (webkit_dom_test_obj_set_attr_with_getter_exception): 6281 (webkit_dom_test_obj_set_property): 6282 (webkit_dom_test_obj_get_property): 6283 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 6284 * bindings/scripts/test/JS/JSTestObj.cpp: 6285 (WebCore::jsTestObjAttrWithSetterException): 6286 (WebCore::setJSTestObjAttrWithSetterException): 6287 (WebCore::setJSTestObjAttrWithGetterException): 6288 * bindings/scripts/test/ObjC/DOMTestObj.mm: 6289 (-[DOMTestObj attrWithSetterException]): 6290 (-[DOMTestObj setAttrWithSetterException:]): 6291 (-[DOMTestObj setAttrWithGetterException:]): 6292 * bindings/scripts/test/TestObj.idl: 6293 * bindings/scripts/test/V8/V8TestObj.cpp: 6294 (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter): 6295 (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter): 6296 (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter): 6297 6298 2010-05-14 Kenneth Russell <kbr (a] google.com> 6299 6300 Reviewed by Darin Adler. 6301 6302 Rename WebGLArray types to TypedArray types 6303 https://bugs.webkit.org/show_bug.cgi?id=39091 6304 6305 Extended functionality of do-webcore-rename script and used it to 6306 rename the WebGLArray types to the TypedArray naming convention. 6307 The only source files which were touched by hand, and which are 6308 being manually reviewed, are: 6309 WebCore/page/DOMWindow.idl 6310 WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone) 6311 WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp 6312 WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp 6313 These only needed to be touched to update the aliases between the 6314 WebGLArray and TypedArray names introduced in bug 39036. (It was 6315 not feasible to have do-webcore-rename handle this as it would 6316 introduce circular renamings.) These aliases will be removed in 6317 roughly a month once existing WebGL content has been updated. 6318 6319 No new tests; covered under existing WebGL tests. Updated 6320 constructed-objects-prototypes and prototype-inheritance-2 tests. 6321 Ran all layout tests in Safari and all WebGL tests in Chromium. 6322 6323 * DerivedSources.make: 6324 * GNUmakefile.am: 6325 * WebCore.gypi: 6326 * WebCore.pri: 6327 * WebCore.pro: 6328 * WebCore.xcodeproj/project.pbxproj: 6329 * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp. 6330 (WebCore::): 6331 (WebCore::JSArrayBufferConstructor::JSArrayBufferConstructor): 6332 (WebCore::constructCanvasArrayBuffer): 6333 (WebCore::JSArrayBufferConstructor::getConstructData): 6334 * bindings/js/JSArrayBufferConstructor.h: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.h. 6335 (WebCore::construct): 6336 * bindings/js/JSArrayBufferViewCustom.cpp: Copied from WebCore/bindings/js/JSWebGLArrayCustom.cpp. 6337 (WebCore::toJS): 6338 (WebCore::JSArrayBufferView::slice): 6339 * bindings/js/JSArrayBufferViewHelper.h: Copied from WebCore/bindings/js/JSWebGLArrayHelper.h. 6340 * bindings/js/JSDOMWindowCustom.cpp: 6341 (WebCore::JSDOMWindow::arrayBuffer): 6342 (WebCore::JSDOMWindow::int8Array): 6343 (WebCore::JSDOMWindow::uint8Array): 6344 (WebCore::JSDOMWindow::int32Array): 6345 (WebCore::JSDOMWindow::uint32Array): 6346 (WebCore::JSDOMWindow::int16Array): 6347 (WebCore::JSDOMWindow::uint16Array): 6348 (WebCore::JSDOMWindow::floatArray): 6349 (WebCore::JSDOMWindow::webGLArrayBuffer): 6350 (WebCore::JSDOMWindow::webGLByteArray): 6351 (WebCore::JSDOMWindow::webGLUnsignedByteArray): 6352 (WebCore::JSDOMWindow::webGLIntArray): 6353 (WebCore::JSDOMWindow::webGLUnsignedIntArray): 6354 (WebCore::JSDOMWindow::webGLShortArray): 6355 (WebCore::JSDOMWindow::webGLUnsignedShortArray): 6356 (WebCore::JSDOMWindow::webGLFloatArray): 6357 * bindings/js/JSFloatArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp. 6358 (WebCore::): 6359 (WebCore::JSFloatArrayConstructor::JSFloatArrayConstructor): 6360 (WebCore::constructCanvasFloatArray): 6361 (WebCore::JSFloatArrayConstructor::getConstructData): 6362 * bindings/js/JSFloatArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.h. 6363 * bindings/js/JSFloatArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp. 6364 (WebCore::JSFloatArray::indexSetter): 6365 (WebCore::toJS): 6366 (WebCore::JSFloatArray::set): 6367 * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp. 6368 (WebCore::): 6369 (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor): 6370 (WebCore::constructCanvasShortArray): 6371 (WebCore::JSInt16ArrayConstructor::getConstructData): 6372 * bindings/js/JSInt16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.h. 6373 * bindings/js/JSInt16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayCustom.cpp. 6374 (WebCore::JSInt16Array::indexSetter): 6375 (WebCore::toJS): 6376 (WebCore::JSInt16Array::set): 6377 * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp. 6378 (WebCore::): 6379 (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor): 6380 (WebCore::constructCanvasIntArray): 6381 (WebCore::JSInt32ArrayConstructor::getConstructData): 6382 * bindings/js/JSInt32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.h. 6383 * bindings/js/JSInt32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayCustom.cpp. 6384 (WebCore::JSInt32Array::indexSetter): 6385 (WebCore::toJS): 6386 (WebCore::JSInt32Array::set): 6387 * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp. 6388 (WebCore::): 6389 (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor): 6390 (WebCore::constructCanvasByteArray): 6391 (WebCore::JSInt8ArrayConstructor::getConstructData): 6392 * bindings/js/JSInt8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.h. 6393 * bindings/js/JSInt8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayCustom.cpp. 6394 (WebCore::JSInt8Array::indexSetter): 6395 (WebCore::toJS): 6396 (WebCore::JSInt8Array::set): 6397 * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp. 6398 (WebCore::): 6399 (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor): 6400 (WebCore::constructCanvasUnsignedShortArray): 6401 (WebCore::JSUint16ArrayConstructor::getConstructData): 6402 * bindings/js/JSUint16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h. 6403 * bindings/js/JSUint16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp. 6404 (WebCore::JSUint16Array::indexSetter): 6405 (WebCore::toJS): 6406 (WebCore::JSUint16Array::set): 6407 * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp. 6408 (WebCore::): 6409 (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor): 6410 (WebCore::constructCanvasUnsignedIntArray): 6411 (WebCore::JSUint32ArrayConstructor::getConstructData): 6412 * bindings/js/JSUint32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h. 6413 * bindings/js/JSUint32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp. 6414 (WebCore::JSUint32Array::indexSetter): 6415 (WebCore::toJS): 6416 (WebCore::JSUint32Array::set): 6417 * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp. 6418 (WebCore::): 6419 (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor): 6420 (WebCore::constructCanvasUnsignedByteArray): 6421 (WebCore::JSUint8ArrayConstructor::getConstructData): 6422 * bindings/js/JSUint8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h. 6423 * bindings/js/JSUint8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp. 6424 (WebCore::JSUint8Array::indexSetter): 6425 (WebCore::toJS): 6426 (WebCore::JSUint8Array::set): 6427 * bindings/js/JSWebGLArrayBufferConstructor.cpp: Removed. 6428 * bindings/js/JSWebGLArrayBufferConstructor.h: Removed. 6429 * bindings/js/JSWebGLArrayCustom.cpp: Removed. 6430 * bindings/js/JSWebGLArrayHelper.h: Removed. 6431 * bindings/js/JSWebGLByteArrayConstructor.cpp: Removed. 6432 * bindings/js/JSWebGLByteArrayConstructor.h: Removed. 6433 * bindings/js/JSWebGLByteArrayCustom.cpp: Removed. 6434 * bindings/js/JSWebGLFloatArrayConstructor.cpp: Removed. 6435 * bindings/js/JSWebGLFloatArrayConstructor.h: Removed. 6436 * bindings/js/JSWebGLFloatArrayCustom.cpp: Removed. 6437 * bindings/js/JSWebGLIntArrayConstructor.cpp: Removed. 6438 * bindings/js/JSWebGLIntArrayConstructor.h: Removed. 6439 * bindings/js/JSWebGLIntArrayCustom.cpp: Removed. 6440 * bindings/js/JSWebGLRenderingContextCustom.cpp: 6441 (WebCore::JSWebGLRenderingContext::bufferData): 6442 (WebCore::JSWebGLRenderingContext::bufferSubData): 6443 (WebCore::JSWebGLRenderingContext::texImage2D): 6444 (WebCore::JSWebGLRenderingContext::texSubImage2D): 6445 (WebCore::dataFunctionf): 6446 (WebCore::dataFunctioni): 6447 (WebCore::dataFunctionMatrix): 6448 * bindings/js/JSWebGLShortArrayConstructor.cpp: Removed. 6449 * bindings/js/JSWebGLShortArrayConstructor.h: Removed. 6450 * bindings/js/JSWebGLShortArrayCustom.cpp: Removed. 6451 * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: Removed. 6452 * bindings/js/JSWebGLUnsignedByteArrayConstructor.h: Removed. 6453 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: Removed. 6454 * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: Removed. 6455 * bindings/js/JSWebGLUnsignedIntArrayConstructor.h: Removed. 6456 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: Removed. 6457 * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: Removed. 6458 * bindings/js/JSWebGLUnsignedShortArrayConstructor.h: Removed. 6459 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: Removed. 6460 * bindings/v8/V8DOMWrapper.cpp: 6461 * bindings/v8/custom/V8ArrayBufferCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp. 6462 (WebCore::V8ArrayBuffer::constructorCallback): 6463 * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.cpp. 6464 (WebCore::toV8): 6465 (WebCore::V8ArrayBufferView::sliceCallback): 6466 * bindings/v8/custom/V8ArrayBufferViewCustom.h: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.h. 6467 (WebCore::constructWebGLArray): 6468 * bindings/v8/custom/V8DOMWindowCustom.cpp: 6469 (WebCore::V8DOMWindow::WebGLArrayBufferAccessorGetter): 6470 (WebCore::V8DOMWindow::WebGLByteArrayAccessorGetter): 6471 (WebCore::V8DOMWindow::WebGLUnsignedByteArrayAccessorGetter): 6472 (WebCore::V8DOMWindow::WebGLShortArrayAccessorGetter): 6473 (WebCore::V8DOMWindow::WebGLUnsignedShortArrayAccessorGetter): 6474 (WebCore::V8DOMWindow::WebGLIntArrayAccessorGetter): 6475 (WebCore::V8DOMWindow::WebGLUnsignedIntArrayAccessorGetter): 6476 (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter): 6477 * bindings/v8/custom/V8FloatArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp. 6478 (WebCore::V8FloatArray::constructorCallback): 6479 (WebCore::V8FloatArray::setCallback): 6480 (WebCore::toV8): 6481 * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp. 6482 (WebCore::V8Int16Array::constructorCallback): 6483 (WebCore::V8Int16Array::setCallback): 6484 (WebCore::toV8): 6485 * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp. 6486 (WebCore::V8Int32Array::constructorCallback): 6487 (WebCore::V8Int32Array::setCallback): 6488 (WebCore::toV8): 6489 * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp. 6490 (WebCore::V8Int8Array::constructorCallback): 6491 (WebCore::V8Int8Array::setCallback): 6492 (WebCore::toV8): 6493 * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp. 6494 (WebCore::V8Uint16Array::constructorCallback): 6495 (WebCore::V8Uint16Array::setCallback): 6496 (WebCore::toV8): 6497 * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp. 6498 (WebCore::V8Uint32Array::constructorCallback): 6499 (WebCore::V8Uint32Array::setCallback): 6500 (WebCore::toV8): 6501 * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp. 6502 (WebCore::V8Uint8Array::constructorCallback): 6503 (WebCore::V8Uint8Array::setCallback): 6504 (WebCore::toV8): 6505 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: Removed. 6506 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Removed. 6507 * bindings/v8/custom/V8WebGLArrayCustom.h: Removed. 6508 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: Removed. 6509 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: Removed. 6510 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: Removed. 6511 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 6512 (WebCore::vertexAttribAndUniformHelperf): 6513 (WebCore::uniformHelperi): 6514 (WebCore::uniformMatrixHelper): 6515 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: Removed. 6516 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: Removed. 6517 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: Removed. 6518 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: Removed. 6519 * html/canvas/ArrayBuffer.cpp: Copied from WebCore/html/canvas/WebGLArrayBuffer.cpp. 6520 (WebCore::ArrayBuffer::create): 6521 (WebCore::ArrayBuffer::ArrayBuffer): 6522 (WebCore::ArrayBuffer::data): 6523 (WebCore::ArrayBuffer::byteLength): 6524 (WebCore::ArrayBuffer::~ArrayBuffer): 6525 (WebCore::ArrayBuffer::tryAllocate): 6526 * html/canvas/ArrayBuffer.h: Copied from WebCore/html/canvas/WebGLArrayBuffer.h. 6527 * html/canvas/ArrayBuffer.idl: Copied from WebCore/html/canvas/WebGLArrayBuffer.idl. 6528 * html/canvas/ArrayBufferView.cpp: Copied from WebCore/html/canvas/WebGLArray.cpp. 6529 (WebCore::ArrayBufferView::ArrayBufferView): 6530 (WebCore::ArrayBufferView::~ArrayBufferView): 6531 (WebCore::ArrayBufferView::setImpl): 6532 (WebCore::ArrayBufferView::calculateOffsetAndLength): 6533 * html/canvas/ArrayBufferView.h: Copied from WebCore/html/canvas/WebGLArray.h. 6534 (WebCore::ArrayBufferView::buffer): 6535 (WebCore::ArrayBufferView::verifySubRange): 6536 (WebCore::ArrayBufferView::clampOffsetAndNumElements): 6537 * html/canvas/ArrayBufferView.idl: Copied from WebCore/html/canvas/WebGLArray.idl. 6538 * html/canvas/FloatArray.cpp: Copied from WebCore/html/canvas/WebGLFloatArray.cpp. 6539 (WebCore::FloatArray::create): 6540 (WebCore::FloatArray::FloatArray): 6541 (WebCore::FloatArray::slice): 6542 * html/canvas/FloatArray.h: Copied from WebCore/html/canvas/WebGLFloatArray.h. 6543 (WebCore::FloatArray::set): 6544 (WebCore::FloatArray::item): 6545 * html/canvas/FloatArray.idl: Copied from WebCore/html/canvas/WebGLFloatArray.idl. 6546 * html/canvas/Int16Array.cpp: Copied from WebCore/html/canvas/WebGLShortArray.cpp. 6547 (WebCore::Int16Array::create): 6548 (WebCore::Int16Array::Int16Array): 6549 (WebCore::Int16Array::slice): 6550 * html/canvas/Int16Array.h: Copied from WebCore/html/canvas/WebGLShortArray.h. 6551 * html/canvas/Int16Array.idl: Copied from WebCore/html/canvas/WebGLShortArray.idl. 6552 * html/canvas/Int32Array.cpp: Copied from WebCore/html/canvas/WebGLIntArray.cpp. 6553 (WebCore::Int32Array::create): 6554 (WebCore::Int32Array::Int32Array): 6555 (WebCore::Int32Array::slice): 6556 * html/canvas/Int32Array.h: Copied from WebCore/html/canvas/WebGLIntArray.h. 6557 * html/canvas/Int32Array.idl: Copied from WebCore/html/canvas/WebGLIntArray.idl. 6558 * html/canvas/Int8Array.cpp: Copied from WebCore/html/canvas/WebGLByteArray.cpp. 6559 (WebCore::Int8Array::create): 6560 (WebCore::Int8Array::Int8Array): 6561 (WebCore::Int8Array::slice): 6562 * html/canvas/Int8Array.h: Copied from WebCore/html/canvas/WebGLByteArray.h. 6563 * html/canvas/Int8Array.idl: Copied from WebCore/html/canvas/WebGLByteArray.idl. 6564 * html/canvas/IntegralTypedArrayBase.h: Copied from WebCore/html/canvas/WebGLIntegralTypedArrayBase.h. 6565 (WebCore::IntegralTypedArrayBase::set): 6566 (WebCore::IntegralTypedArrayBase::item): 6567 (WebCore::IntegralTypedArrayBase::IntegralTypedArrayBase): 6568 * html/canvas/TypedArrayBase.h: Copied from WebCore/html/canvas/WebGLTypedArrayBase.h. 6569 (WebCore::TypedArrayBase::set): 6570 (WebCore::TypedArrayBase::TypedArrayBase): 6571 (WebCore::TypedArrayBase::create): 6572 * html/canvas/Uint16Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.cpp. 6573 (WebCore::Uint16Array::create): 6574 (WebCore::Uint16Array::Uint16Array): 6575 (WebCore::Uint16Array::slice): 6576 * html/canvas/Uint16Array.h: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.h. 6577 * html/canvas/Uint16Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.idl. 6578 * html/canvas/Uint32Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.cpp. 6579 (WebCore::Uint32Array::create): 6580 (WebCore::Uint32Array::Uint32Array): 6581 (WebCore::Uint32Array::slice): 6582 * html/canvas/Uint32Array.h: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.h. 6583 * html/canvas/Uint32Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.idl. 6584 * html/canvas/Uint8Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.cpp. 6585 (WebCore::Uint8Array::create): 6586 (WebCore::Uint8Array::Uint8Array): 6587 (WebCore::Uint8Array::slice): 6588 * html/canvas/Uint8Array.h: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.h. 6589 * html/canvas/Uint8Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.idl. 6590 * html/canvas/WebGLArray.cpp: Removed. 6591 * html/canvas/WebGLArray.h: Removed. 6592 * html/canvas/WebGLArray.idl: Removed. 6593 * html/canvas/WebGLArrayBuffer.cpp: Removed. 6594 * html/canvas/WebGLArrayBuffer.h: Removed. 6595 * html/canvas/WebGLArrayBuffer.idl: Removed. 6596 * html/canvas/WebGLBuffer.cpp: 6597 (WebCore::WebGLBuffer::associateBufferData): 6598 (WebCore::WebGLBuffer::associateBufferSubData): 6599 * html/canvas/WebGLBuffer.h: 6600 (WebCore::WebGLBuffer::elementArrayBuffer): 6601 * html/canvas/WebGLByteArray.cpp: Removed. 6602 * html/canvas/WebGLByteArray.h: Removed. 6603 * html/canvas/WebGLByteArray.idl: Removed. 6604 * html/canvas/WebGLFloatArray.cpp: Removed. 6605 * html/canvas/WebGLFloatArray.h: Removed. 6606 * html/canvas/WebGLFloatArray.idl: Removed. 6607 * html/canvas/WebGLGetInfo.cpp: 6608 (WebCore::WebGLGetInfo::WebGLGetInfo): 6609 (WebCore::WebGLGetInfo::getWebGLFloatArray): 6610 (WebCore::WebGLGetInfo::getWebGLIntArray): 6611 (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray): 6612 * html/canvas/WebGLGetInfo.h: 6613 * html/canvas/WebGLIntArray.cpp: Removed. 6614 * html/canvas/WebGLIntArray.h: Removed. 6615 * html/canvas/WebGLIntArray.idl: Removed. 6616 * html/canvas/WebGLIntegralTypedArrayBase.h: Removed. 6617 * html/canvas/WebGLRenderingContext.cpp: 6618 (WebCore::WebGLRenderingContext::bufferData): 6619 (WebCore::WebGLRenderingContext::bufferSubData): 6620 (WebCore::WebGLRenderingContext::getUniform): 6621 (WebCore::WebGLRenderingContext::getVertexAttrib): 6622 (WebCore::WebGLRenderingContext::readPixels): 6623 (WebCore::WebGLRenderingContext::texImage2D): 6624 (WebCore::WebGLRenderingContext::texSubImage2D): 6625 (WebCore::WebGLRenderingContext::uniform1fv): 6626 (WebCore::WebGLRenderingContext::uniform1iv): 6627 (WebCore::WebGLRenderingContext::uniform2fv): 6628 (WebCore::WebGLRenderingContext::uniform2iv): 6629 (WebCore::WebGLRenderingContext::uniform3fv): 6630 (WebCore::WebGLRenderingContext::uniform3iv): 6631 (WebCore::WebGLRenderingContext::uniform4fv): 6632 (WebCore::WebGLRenderingContext::uniform4iv): 6633 (WebCore::WebGLRenderingContext::uniformMatrix2fv): 6634 (WebCore::WebGLRenderingContext::uniformMatrix3fv): 6635 (WebCore::WebGLRenderingContext::uniformMatrix4fv): 6636 (WebCore::WebGLRenderingContext::vertexAttrib1fv): 6637 (WebCore::WebGLRenderingContext::vertexAttrib2fv): 6638 (WebCore::WebGLRenderingContext::vertexAttrib3fv): 6639 (WebCore::WebGLRenderingContext::vertexAttrib4fv): 6640 (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter): 6641 (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter): 6642 (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter): 6643 * html/canvas/WebGLRenderingContext.h: 6644 * html/canvas/WebGLRenderingContext.idl: 6645 * html/canvas/WebGLShortArray.cpp: Removed. 6646 * html/canvas/WebGLShortArray.h: Removed. 6647 * html/canvas/WebGLShortArray.idl: Removed. 6648 * html/canvas/WebGLTypedArrayBase.h: Removed. 6649 * html/canvas/WebGLUnsignedByteArray.cpp: Removed. 6650 * html/canvas/WebGLUnsignedByteArray.h: Removed. 6651 * html/canvas/WebGLUnsignedByteArray.idl: Removed. 6652 * html/canvas/WebGLUnsignedIntArray.cpp: Removed. 6653 * html/canvas/WebGLUnsignedIntArray.h: Removed. 6654 * html/canvas/WebGLUnsignedIntArray.idl: Removed. 6655 * html/canvas/WebGLUnsignedShortArray.cpp: Removed. 6656 * html/canvas/WebGLUnsignedShortArray.h: Removed. 6657 * html/canvas/WebGLUnsignedShortArray.idl: Removed. 6658 * page/DOMWindow.idl: 6659 * platform/graphics/GraphicsContext3D.h: 6660 * platform/graphics/mac/GraphicsContext3DMac.cpp: 6661 (WebCore::GraphicsContext3D::bufferData): 6662 (WebCore::GraphicsContext3D::bufferSubData): 6663 * platform/graphics/qt/GraphicsContext3DQt.cpp: 6664 (WebCore::GraphicsContext3D::bufferData): 6665 (WebCore::GraphicsContext3D::bufferSubData): 6666 6667 2010-05-14 Steve Falkenburg <sfalken (a] apple.com> 6668 6669 Reviewed by Sam Weinig. 6670 6671 <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values 6672 https://bugs.webkit.org/show_bug.cgi?id=39132 6673 6674 * platform/network/cf/ResourceHandleCFNet.cpp: 6675 (WebCore::createConnectionProperties): 6676 6677 2010-05-14 Abhishek Arya <inferno (a] chromium.org> 6678 6679 Reviewed by David Hyatt. 6680 6681 Move the m_width(Length) and m_columns(RenderTable::ColumnStruct) 6682 vector out-of-bounds check out of the ASSERT into the main code. 6683 https://bugs.webkit.org/show_bug.cgi?id=38261 6684 6685 Test: fast/table/fixed-table-layout-large-colspan-crash.html 6686 6687 * rendering/FixedTableLayout.cpp: 6688 (WebCore::FixedTableLayout::calcWidthArray): 6689 6690 2010-05-14 Eric Seidel <eric (a] webkit.org> 6691 6692 Unreviewed, rolling out r59489. 6693 http://trac.webkit.org/changeset/59489 6694 https://bugs.webkit.org/show_bug.cgi?id=37815 6695 6696 abarth broke the known universe and then some. 6697 6698 * Android.jscbindings.mk: 6699 * GNUmakefile.am: 6700 * WebCore.gypi: 6701 * WebCore.pro: 6702 * WebCore.vcproj/WebCore.vcproj: 6703 * WebCore.xcodeproj/project.pbxproj: 6704 * bindings/js/JSBindingsAllInOne.cpp: 6705 * bindings/js/JSCallbackData.cpp: 6706 (WebCore::JSCallbackData::invokeCallback): 6707 * bindings/js/JSEventListener.cpp: 6708 (WebCore::JSEventListener::handleEvent): 6709 * bindings/js/JSInjectedScriptHostCustom.cpp: 6710 (WebCore::InjectedScriptHost::createInjectedScript): 6711 * bindings/js/ScheduledAction.cpp: 6712 (WebCore::ScheduledAction::executeFunctionInContext): 6713 (WebCore::ScheduledAction::execute): 6714 * bindings/js/ScheduledAction.h: 6715 * bindings/js/ScriptController.cpp: 6716 (WebCore::ScriptController::evaluateInWorld): 6717 * bindings/js/ScriptController.h: 6718 * bindings/js/ScriptFunctionCall.cpp: 6719 (WebCore::ScriptFunctionCall::call): 6720 * bindings/objc/ObjCEventListener.mm: 6721 (WebCore::ObjCEventListener::handleEvent): 6722 * bindings/objc/WebScriptObject.mm: 6723 (-[WebScriptObject callWebScriptMethod:withArguments:]): 6724 (-[WebScriptObject evaluateWebScript:]): 6725 * bindings/scripts/CodeGeneratorObjC.pm: 6726 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 6727 (-[DOMTestCallback callbackWithClass1Param:]): 6728 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 6729 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 6730 (-[DOMTestCallback customCallback:class6Param:]): 6731 * bindings/scripts/test/ObjC/DOMTestInterface.mm: 6732 * bindings/scripts/test/ObjC/DOMTestObj.mm: 6733 (-[DOMTestObj readOnlyIntAttr]): 6734 (-[DOMTestObj readOnlyStringAttr]): 6735 (-[DOMTestObj readOnlyTestObjAttr]): 6736 (-[DOMTestObj intAttr]): 6737 (-[DOMTestObj setIntAttr:]): 6738 (-[DOMTestObj longLongAttr]): 6739 (-[DOMTestObj setLongLongAttr:]): 6740 (-[DOMTestObj unsignedLongLongAttr]): 6741 (-[DOMTestObj setUnsignedLongLongAttr:]): 6742 (-[DOMTestObj stringAttr]): 6743 (-[DOMTestObj setStringAttr:]): 6744 (-[DOMTestObj testObjAttr]): 6745 (-[DOMTestObj setTestObjAttr:]): 6746 (-[DOMTestObj attrWithException]): 6747 (-[DOMTestObj setAttrWithException:]): 6748 (-[DOMTestObj attrWithSetterException]): 6749 (-[DOMTestObj setAttrWithSetterException:]): 6750 (-[DOMTestObj attrWithGetterException]): 6751 (-[DOMTestObj setAttrWithGetterException:]): 6752 (-[DOMTestObj customAttr]): 6753 (-[DOMTestObj setCustomAttr:]): 6754 (-[DOMTestObj scriptStringAttr]): 6755 (-[DOMTestObj voidMethod]): 6756 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 6757 (-[DOMTestObj intMethod]): 6758 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 6759 (-[DOMTestObj objMethod]): 6760 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 6761 (-[DOMTestObj serializedValue:]): 6762 (-[DOMTestObj methodWithException]): 6763 (-[DOMTestObj customMethod]): 6764 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 6765 (-[DOMTestObj customArgsAndException:]): 6766 (-[DOMTestObj addEventListener:listener:useCapture:]): 6767 (-[DOMTestObj removeEventListener:listener:useCapture:]): 6768 (-[DOMTestObj withDynamicFrame]): 6769 (-[DOMTestObj withDynamicFrameAndArg:]): 6770 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 6771 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 6772 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 6773 (-[DOMTestObj withScriptStateVoid]): 6774 (-[DOMTestObj withScriptStateObj]): 6775 (-[DOMTestObj withScriptStateVoidException]): 6776 (-[DOMTestObj withScriptStateObjException]): 6777 (-[DOMTestObj methodWithOptionalArg:]): 6778 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 6779 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 6780 * bindings/v8/ScriptController.cpp: 6781 * bindings/v8/ScriptController.h: 6782 * html/HTMLFrameElementBase.cpp: 6783 (WebCore::HTMLFrameElementBase::isURLAllowed): 6784 6785 2010-05-14 Justin Schuh <jschuh (a] chromium.org> 6786 6787 Reviewed by Adam Barth. 6788 6789 Moving frame.src checks out of the bindings 6790 https://bugs.webkit.org/show_bug.cgi?id=37815 6791 6792 Moved JavaScript frame.src checks out of bindings and into 6793 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore 6794 so ExecState is available inside core DOM. Updated affected bindings 6795 (except for GObject, which will need to be updated to avoid origin 6796 failures inside native code). 6797 6798 * Android.jscbindings.mk: 6799 * GNUmakefile.am: 6800 * WebCore.gypi: 6801 * WebCore.pro: 6802 * WebCore.vcproj/WebCore.vcproj: 6803 * WebCore.xcodeproj/project.pbxproj: 6804 * bindings/js/JSBindingsAllInOne.cpp: 6805 * bindings/js/JSCallbackData.cpp: 6806 (WebCore::JSCallbackData::invokeCallback): 6807 * bindings/js/JSEventListener.cpp: 6808 (WebCore::JSEventListener::handleEvent): 6809 * bindings/js/JSInjectedScriptHostCustom.cpp: 6810 (WebCore::InjectedScriptHost::createInjectedScript): 6811 * bindings/js/ScheduledAction.cpp: 6812 (WebCore::ScheduledAction::executeFunctionInContext): 6813 (WebCore::ScheduledAction::execute): 6814 * bindings/js/ScheduledAction.h: 6815 * bindings/js/ScriptController.cpp: 6816 (WebCore::ScriptController::evaluateInWorld): 6817 (WebCore::ScriptController::canAccessFromCurrentOrigin): 6818 * bindings/js/ScriptController.h: 6819 * bindings/js/ScriptFunctionCall.cpp: 6820 (WebCore::ScriptFunctionCall::call): 6821 * bindings/objc/ObjCEventListener.mm: 6822 (WebCore::ObjCEventListener::handleEvent): 6823 * bindings/objc/WebScriptObject.mm: 6824 (-[WebScriptObject callWebScriptMethod:withArguments:]): 6825 (-[WebScriptObject evaluateWebScript:]): 6826 * bindings/scripts/CodeGeneratorObjC.pm: 6827 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 6828 (-[DOMTestCallback callbackWithClass1Param:]): 6829 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 6830 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 6831 (-[DOMTestCallback customCallback:class6Param:]): 6832 * bindings/scripts/test/ObjC/DOMTestInterface.mm: 6833 * bindings/scripts/test/ObjC/DOMTestObj.mm: 6834 (-[DOMTestObj readOnlyIntAttr]): 6835 (-[DOMTestObj readOnlyStringAttr]): 6836 (-[DOMTestObj readOnlyTestObjAttr]): 6837 (-[DOMTestObj intAttr]): 6838 (-[DOMTestObj setIntAttr:]): 6839 (-[DOMTestObj longLongAttr]): 6840 (-[DOMTestObj setLongLongAttr:]): 6841 (-[DOMTestObj unsignedLongLongAttr]): 6842 (-[DOMTestObj setUnsignedLongLongAttr:]): 6843 (-[DOMTestObj stringAttr]): 6844 (-[DOMTestObj setStringAttr:]): 6845 (-[DOMTestObj testObjAttr]): 6846 (-[DOMTestObj setTestObjAttr:]): 6847 (-[DOMTestObj attrWithException]): 6848 (-[DOMTestObj setAttrWithException:]): 6849 (-[DOMTestObj attrWithSetterException]): 6850 (-[DOMTestObj setAttrWithSetterException:]): 6851 (-[DOMTestObj attrWithGetterException]): 6852 (-[DOMTestObj setAttrWithGetterException:]): 6853 (-[DOMTestObj customAttr]): 6854 (-[DOMTestObj setCustomAttr:]): 6855 (-[DOMTestObj scriptStringAttr]): 6856 (-[DOMTestObj voidMethod]): 6857 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 6858 (-[DOMTestObj intMethod]): 6859 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 6860 (-[DOMTestObj objMethod]): 6861 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 6862 (-[DOMTestObj serializedValue:]): 6863 (-[DOMTestObj methodWithException]): 6864 (-[DOMTestObj customMethod]): 6865 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 6866 (-[DOMTestObj customArgsAndException:]): 6867 (-[DOMTestObj addEventListener:listener:useCapture:]): 6868 (-[DOMTestObj removeEventListener:listener:useCapture:]): 6869 (-[DOMTestObj withDynamicFrame]): 6870 (-[DOMTestObj withDynamicFrameAndArg:]): 6871 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 6872 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 6873 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 6874 (-[DOMTestObj withScriptStateVoid]): 6875 (-[DOMTestObj withScriptStateObj]): 6876 (-[DOMTestObj withScriptStateVoidException]): 6877 (-[DOMTestObj withScriptStateObjException]): 6878 (-[DOMTestObj methodWithOptionalArg:]): 6879 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 6880 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 6881 * bindings/v8/ScriptController.cpp: 6882 (WebCore::ScriptController::canAccessFromCurrentOrigin): 6883 * bindings/v8/ScriptController.h: 6884 * html/HTMLFrameElementBase.cpp: 6885 (WebCore::HTMLFrameElementBase::isURLAllowed): 6886 6887 2010-05-14 Sergey Ulanov <sergeyu (a] chromium.org> 6888 6889 Reviewed by Dmitry Titov and Brett Wilson. 6890 6891 Adding resized image caching for Skia. 6892 https://bugs.webkit.org/show_bug.cgi?id=39085 6893 6894 Tests: HTML5 video on YouTube. 6895 6896 * platform/graphics/skia/ImageSkia.cpp: 6897 (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible. 6898 6899 2010-05-14 Alexey Proskuryakov <ap (a] apple.com> 6900 6901 Reviewed by Brady Eidson. 6902 6903 https://bugs.webkit.org/show_bug.cgi?id=39008 6904 <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail 6905 6906 Test: fast/parser/tokenizer-close-during-document-write.html 6907 6908 * dom/Document.cpp: (WebCore::Document::write): Check that the tokenizer is still around 6909 after calling write(). It can become null (as it happens in regression test), and I don't 6910 see any guarantee that it would never be replaced with a different one (but I can't make a 6911 test for that). 6912 6913 2010-05-14 Jian Li <jianli (a] chromium.org> 6914 6915 Rubber-stamped by Dmitry Titov. 6916 6917 Fix the code indentation inside a namespace to be consistent with the 6918 style guide. 6919 6920 * workers/GenericWorkerTask.h: 6921 6922 2010-05-14 Jian Li <jianli (a] chromium.org> 6923 6924 Reviewed by Dmitry Titov. 6925 6926 Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and rename 6927 all occurrences of GenericWorkerTask* to GenericTask* in this file. 6928 https://bugs.webkit.org/show_bug.cgi?id=39129 6929 6930 I will have another patch to rename the file and move it to the right 6931 place. 6932 6933 * workers/GenericWorkerTask.h: 6934 (WebCore::): 6935 (WebCore::GenericTask1::create): 6936 (WebCore::GenericTask1::GenericTask1): 6937 (WebCore::GenericTask2::create): 6938 (WebCore::GenericTask2::GenericTask2): 6939 (WebCore::GenericTask3::create): 6940 (WebCore::GenericTask3::GenericTask3): 6941 (WebCore::GenericTask4::create): 6942 (WebCore::GenericTask4::GenericTask4): 6943 (WebCore::GenericTask5::create): 6944 (WebCore::GenericTask5::GenericTask5): 6945 (WebCore::GenericTask6::create): 6946 (WebCore::GenericTask6::GenericTask6): 6947 (WebCore::GenericTask7::create): 6948 (WebCore::GenericTask7::GenericTask7): 6949 (WebCore::GenericTask8::create): 6950 (WebCore::GenericTask8::GenericTask8): 6951 (WebCore::createCallbackTask): 6952 6953 2010-05-14 Evan Martin <evan (a] chromium.org> 6954 6955 Reviewed by David Levin. 6956 6957 [chromium] don't call fontconfig twice in complex text path 6958 https://bugs.webkit.org/show_bug.cgi?id=38701 6959 6960 Previously getFontDataForCharacters would call fontconfig once to 6961 resolve a font name, then pass that name to getCachedFontPlatformData 6962 to load the font. This would be two trips through fontconfig (including 6963 IPCs). With this change, we completely load the font in the first pass. 6964 6965 This patch is actually the same code as in r58341, which was reverted 6966 because of a performance problem; a performance improvement has now 6967 been committed, and with that change in place this change improves 6968 the Chromium intl2 page cycler performance by another 5%. 6969 6970 See also https://bugs.webkit.org/show_bug.cgi?id=37904 . 6971 6972 Test: fast/text/international/bold-bengali.html 6973 (Was checked in as part of the first attempt at this change, continues 6974 to pass after this change.) 6975 6976 * platform/chromium/ChromiumBridge.h: 6977 * platform/graphics/chromium/FontCacheLinux.cpp: 6978 (WebCore::FontCache::getFontDataForCharacters): 6979 6980 2010-05-14 Young Han Lee <joybro (a] company100.net> 6981 6982 Reviewed by Darin Adler. 6983 6984 Don't include RetainPtr.h unless PLATFORM(CF) is set. 6985 The RetainPtr is only used for CF platform in this class. 6986 https://bugs.webkit.org/show_bug.cgi?id=39043 6987 6988 No new tests, there is no new functionality. 6989 6990 * platform/network/curl/ResourceHandleManager.cpp: 6991 6992 2010-05-14 Brian Weinstein <bweinstein (a] apple.com> 6993 6994 Reviewed by Adam Roben. 6995 6996 Build fix, we need to copy over the files in $(WebKitOutputDir)/include/JavaScriptCore/private before 6997 WebCore builds. This is because we are building a couple WTF files in WebCore and JavaScriptCore. 6998 6999 * WebCore.vcproj/WebCore.make: 7000 7001 2010-05-14 Shinichiro Hamaji <hamaji (a] chromium.org> 7002 7003 Unreviewed. Attempt to fix chromium's memory bot error. 7004 7005 More :visited link optimizations to reduce memory usage 7006 https://bugs.webkit.org/show_bug.cgi?id=39084 7007 7008 The original change (r59386) adds check for m_element in initElement. 7009 As don't initialize m_element in the constructor of CSSStyleSelector, 7010 valgrind complains. 7011 7012 * css/CSSStyleSelector.cpp: 7013 (WebCore::CSSStyleSelector::CSSStyleSelector): 7014 7015 2010-05-14 Andreas Kling <andreas.kling (a] nokia.com> 7016 7017 Reviewed by Darin Adler. 7018 7019 CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string. 7020 https://bugs.webkit.org/show_bug.cgi?id=39031 7021 7022 * css/CSSParser.cpp: 7023 (WebCore::CSSParser::parseColor): 7024 * editing/ApplyStyleCommand.cpp: 7025 (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior. 7026 * html/canvas/CanvasRenderingContext2D.cpp: 7027 (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code. 7028 7029 2010-05-14 Jens Alfke <snej (a] chromium.org> 7030 7031 Reviewed by John Sullivan. 7032 7033 Don't clear yellow autofill highlight from text fields until the user edits them. 7034 https://bugs.webkit.org/show_bug.cgi?id=39032 7035 No new tests (Couldn't find any autofill tests. The flag doesn't seem to be exposed to JS.) 7036 7037 * html/HTMLInputElement.cpp: 7038 (WebCore::HTMLInputElement::handleFocusEvent): Don't clear the autofilled flag. 7039 (WebCore::HTMLInputElement::setValueFromRenderer): Clear the autofilled flag. 7040 7041 2010-05-14 Zhenyao Mo <zmo (a] google.com> 7042 7043 Reviewed by Dimitri Glazkov. 7044 7045 Must implement OpenGL ES 2.0 semantics for NPOT textures 7046 https://bugs.webkit.org/show_bug.cgi?id=33805 7047 7048 Test: fast/canvas/webgl/texture-npot.html 7049 7050 * html/canvas/WebGLRenderingContext.cpp: 7051 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Create black 1x1 textures. 7052 (WebCore::WebGLRenderingContext::bindTexture): Set texture dimensionality. 7053 (WebCore::WebGLRenderingContext::copyTexImage2D): Error check, set texture size. 7054 (WebCore::WebGLRenderingContext::drawArrays): Bind to black textures if needed. 7055 (WebCore::WebGLRenderingContext::drawElements): Bind to black textures if needed. 7056 (WebCore::WebGLRenderingContext::generateMipmap): Error check. 7057 (WebCore::WebGLRenderingContext::texImage2DBase): Error check, set texture size. 7058 (WebCore::WebGLRenderingContext::texParameterf): Set texture parameter. 7059 (WebCore::WebGLRenderingContext::texParameteri): Ditto. 7060 (WebCore::WebGLRenderingContext::handleNPOTTextures): Bind to black textures if needed before draw, and bind back to original textures after draw. 7061 * html/canvas/WebGLRenderingContext.h: Add black 1x1 textures. 7062 * html/canvas/WebGLTexture.cpp: Add support to track NPOT textures. 7063 (WebCore::WebGLTexture::createBlackTexture1x1): Create a black 1x1 texture. 7064 (WebCore::WebGLTexture::WebGLTexture): Initialize parameters and states. 7065 (WebCore::WebGLTexture::setDimensionality): Set dimensionality. 7066 (WebCore::WebGLTexture::setParameteri): Set parameter. 7067 (WebCore::WebGLTexture::setParameterf): Ditto. 7068 (WebCore::WebGLTexture::setSize): Set level 0 texture size. 7069 (WebCore::WebGLTexture::isNPOT): Whether the texture is NPOT. 7070 (WebCore::WebGLTexture::updateNPOTStates): Calculate NPOT and NeedToUseBlackTexture states. 7071 * html/canvas/WebGLTexture.h: Add support to track NPOT textures. 7072 (WebCore::WebGLTexture::isNPOT): 7073 (WebCore::WebGLTexture::needToUseBlackTexture): 7074 7075 2010-05-14 Andrey Kosyakov <caseq (a] chromium.org> 7076 7077 Reviewed by Pavel Feldman. 7078 7079 Web Inspector: add help on keyboard shortcuts (take 2). 7080 7081 https://bugs.webkit.org/show_bug.cgi?id=38667 7082 7083 * English.lproj/localizedStrings.js: 7084 * WebCore.gypi: 7085 * WebCore.vcproj/WebCore.vcproj: 7086 * inspector/front-end/CallStackSidebarPane.js: 7087 (WebInspector.CallStackSidebarPane): 7088 (WebInspector.CallStackSidebarPane.prototype._placardSelected): 7089 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): 7090 * inspector/front-end/ConsoleView.js: 7091 (WebInspector.ConsoleView): 7092 (WebInspector.ConsoleView.prototype._registerShortcuts): 7093 * inspector/front-end/ElementsPanel.js: 7094 (WebInspector.ElementsPanel): 7095 (WebInspector.ElementsPanel.prototype._registerShortcuts): 7096 * inspector/front-end/ElementsTreeOutline.js: 7097 (WebInspector.ElementsTreeOutline.prototype._keyDown): 7098 * inspector/front-end/HelpScreen.js: Added. 7099 * inspector/front-end/KeyboardShortcut.js: 7100 * inspector/front-end/ScriptsPanel.js: 7101 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor): 7102 (WebInspector.ScriptsPanel.prototype._registerShortcuts): 7103 * inspector/front-end/ShortcutsHelp.js: Added. 7104 * inspector/front-end/SidebarPane.js: 7105 (WebInspector.SidebarPane.prototype._onTitleKeyDown): 7106 * inspector/front-end/StylesSidebarPane.js: 7107 (WebInspector.StylesSidebarPane.prototype.removeSection): 7108 (WebInspector.StylesSidebarPane.prototype.registerShortcuts): 7109 * inspector/front-end/TextViewer.js: 7110 (WebInspector.TextViewer.prototype._handleKeyDown): 7111 * inspector/front-end/WebKit.qrc: 7112 * inspector/front-end/helpScreen.css: Added. 7113 7114 2010-05-14 Tony Gentilcore <tonyg (a] chromium.org> 7115 7116 Reviewed by Darin Fisher. 7117 7118 [chromium] Update chromium port to send/receive cached metadata 7119 https://bugs.webkit.org/show_bug.cgi?id=38665 7120 7121 No new tests because no new functionality. 7122 7123 * platform/chromium/ChromiumBridge.h: 7124 * platform/network/chromium/ResourceResponse.h: 7125 (WebCore::ResourceResponse::ResourceResponse): 7126 (WebCore::ResourceResponse::responseTime): 7127 (WebCore::ResourceResponse::setResponseTime): 7128 7129 2010-05-14 Chris Evans <cevans (a] chromium.org> 7130 7131 Reviewed by Adam Barth. 7132 7133 Chromium-specific fix to prevent zombie infobars. 7134 7135 https://bugs.webkit.org/show_bug.cgi?id=38948 7136 7137 * bindings/v8/ScriptController.cpp 7138 (WebCore::ScriptController::processingUserGesture): 7139 Require a more definite "no" signal. 7140 * loader/RedirectScheduler.cpp: 7141 (WebCore::ScheduledFormSubmission::fire): 7142 Use a very strong yes / no signal; no need for "possible" here. 7143 * dom/UserGestureIndicator.h: 7144 * dom/UserGestureIndicator.cpp: 7145 Adapt to tri-state: definitely yes; definitely no; not sure. 7146 7147 2010-05-14 Aaron Kennedy <tffeeb (a] gmail.com> 7148 7149 Reviewed by Simon Hausmann. 7150 7151 [Qt] JavaScript unable to invoke methods declared in QML 7152 https://bugs.webkit.org/show_bug.cgi?id=38949 7153 7154 JavaScript code executed by webkit cannot call into QML declared 7155 methods, as it does not check for dynamic meta objects. 7156 7157 * bridge/qt/qt_instance.cpp: 7158 (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall. 7159 * bridge/qt/qt_runtime.cpp: 7160 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto. 7161 7162 2010-05-14 Ben Murdoch <benm (a] google.com> 7163 7164 Reviewed by Darin Fisher. 7165 7166 Touch events are disabled by default when using V8. 7167 https://bugs.webkit.org/show_bug.cgi?id=38990 7168 7169 Touch events are protected by a compile time guard, so it's safe to 7170 assume that the runtime flag should be enabled by default when this 7171 guard is present. 7172 7173 No new tests, build fix for Android. 7174 7175 * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default. 7176 7177 2010-05-14 George Wright <gwright (a] rim.com> 7178 7179 Reviewed by George Staikos. 7180 7181 https://bugs.webkit.org/show_bug.cgi?id=38909 7182 7183 Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString() 7184 on the property name. 7185 7186 * bindings/js/JSDataGridColumnListCustom.cpp: 7187 (WebCore::JSDataGridColumnList::canGetItemsForName): 7188 (WebCore::JSDataGridColumnList::nameGetter): 7189 7190 2010-05-14 Andreas Kling <andreas.kling (a] nokia.com> 7191 7192 Reviewed by Darin Adler. 7193 7194 Ignore invalid values for various CanvasRenderingContext2D properties 7195 (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur) 7196 7197 https://bugs.webkit.org/show_bug.cgi?id=38841 7198 7199 Test: fast/canvas/canvas-invalid-values.html 7200 7201 * html/canvas/CanvasRenderingContext2D.cpp: 7202 (WebCore::CanvasRenderingContext2D::setLineWidth): 7203 (WebCore::CanvasRenderingContext2D::setMiterLimit): 7204 (WebCore::CanvasRenderingContext2D::setShadowOffsetX): 7205 (WebCore::CanvasRenderingContext2D::setShadowOffsetY): 7206 (WebCore::CanvasRenderingContext2D::setShadowBlur): 7207 7208 2010-05-13 Timothy Hatcher <timothy (a] apple.com> 7209 7210 Expose WebCore::reportException and WebCore::toJSDOMWindow symbols. 7211 7212 Reviewed by Sam Weinig. 7213 7214 * WebCore.base.exp: Expose reportException and toJSDOMWindow. 7215 7216 2010-05-13 Joseph Pecoraro <joepeck (a] webkit.org> 7217 7218 Reviewed by Timothy Hatcher. 7219 7220 Web Inspector: Clearing Breakpoints Too Often 7221 https://bugs.webkit.org/show_bug.cgi?id=39094 7222 7223 Minor resets should preserve both workers and breakpoints. 7224 7225 * inspector/front-end/ScriptsPanel.js: 7226 (WebInspector.ScriptsPanel.prototype.reset): 7227 7228 2010-05-13 Simon Fraser <simon.fraser (a] apple.com> 7229 7230 Reviewed by Dan Bernstein. 7231 7232 iframes in compositing layers don't redraw correctly on scrolling 7233 https://bugs.webkit.org/show_bug.cgi?id=39096 7234 7235 When an iframe ends up in a compositing layer (that is painting to its backing store), we need 7236 to turn off blitting on scrolling. RenderView::paintBoxDecorations() already has code to do this 7237 for transformed frames, so do the same thing when the frame is enclosed in a compositing layer. 7238 7239 Test: compositing/iframes/iframe-copy-on-scroll.html 7240 7241 * rendering/RenderView.cpp: 7242 (WebCore::RenderView::paintBoxDecorations): 7243 7244 2010-05-13 Simon Fraser <simon.fraser (a] apple.com> 7245 7246 Reviewed by Dave Hyatt. 7247 7248 Fix scrolling in composited iframes 7249 https://bugs.webkit.org/show_bug.cgi?id=39088 7250 <rdar://problem/7980099> 7251 7252 When propagating compositing out of iframes, we have to update the position of the iframe content 7253 layers on scrolling. 7254 7255 Test: compositing/iframes/scrolling-iframe.html 7256 7257 * page/FrameView.cpp: 7258 (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling. 7259 7260 * rendering/RenderLayerBacking.cpp: 7261 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset(). 7262 7263 * rendering/RenderLayerCompositor.h: 7264 * rendering/RenderLayerCompositor.cpp: Rename m_clippingLayer to m_clipLayer to go better with m_scrollLayer. 7265 (WebCore::RenderLayerCompositor::updateContentLayerOffset): Renamed from setRootPlatformLayerClippingBox(). 7266 Set the size of the clipping layer from the FrameView now, so that scrollbars are not clipped out. 7267 Update the scroll layer position too. 7268 (WebCore::RenderLayerCompositor::updateContentLayerScrollPosition): Set the position of the scroll layer 7269 when the ScrollView is scrolled. 7270 (WebCore::RenderLayerCompositor::rootPlatformLayer): m_clippingLayer rename. 7271 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): m_clippingLayer rename. Also create m_scrollLayer at 7272 the same time as the clip layer, and clean it up as necessary. 7273 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): m_clippingLayer rename, and clean up the m_scrollLayer too. 7274 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): m_clippingLayer rename 7275 7276 2010-05-13 Sam Weinig <sam (a] webkit.org> 7277 7278 Reviewed by Anders Carlsson. 7279 7280 Follow up to: 7281 Fix for https://bugs.webkit.org/show_bug.cgi?id=38221 7282 Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size). 7283 Part of <rdar://problem/7921275> 7284 7285 Fix failing tests on Leopard. 7286 7287 Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods. 7288 7289 * css/CSSPrimitiveValue.cpp: 7290 (WebCore::CSSPrimitiveValue::init): 7291 (WebCore::CSSPrimitiveValue::cssText): Add extra assertion. 7292 7293 2010-05-13 Kent Tamura <tkent (a] chromium.org> 7294 7295 Reviewed by Darin Adler. 7296 7297 Can't submit a form with <input type=checkbox required> 7298 https://bugs.webkit.org/show_bug.cgi?id=39065 7299 7300 Test: fast/forms/interactive-validation-required-checkbox.html 7301 7302 * html/HTMLInputElement.cpp: 7303 (WebCore::HTMLInputElement::setChecked): 7304 Update the validity cache when a checkbox state is changed. 7305 7306 2010-05-13 Kenneth Russell <kbr (a] google.com> 7307 7308 Reviewed by Dimitri Glazkov. 7309 7310 Alias WebGLArray type names to TypedArray type names 7311 https://bugs.webkit.org/show_bug.cgi?id=39036 7312 7313 Exposed the existing WebGL<T>Array constructor functions on the 7314 DOMWindow under the naming convention in the TypedArray spec. The 7315 implementations will be renamed in a subsequent bug, and the 7316 aliases to the WebGL<T>Array type names eventually removed. Ran 7317 all layout tests (including WebGL) in Safari, and WebGL tests in 7318 Chromium. 7319 7320 Test: revised array-unit-tests.html to test both type names. 7321 Revised global prototype and constructor tests to ignore new types. 7322 7323 * bindings/generic/RuntimeEnabledFeatures.h: 7324 (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled): 7325 (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled): 7326 (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled): 7327 (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled): 7328 (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled): 7329 (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled): 7330 (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled): 7331 (WebCore::RuntimeEnabledFeatures::floatArrayEnabled): 7332 * bindings/js/JSDOMWindowCustom.cpp: 7333 (WebCore::JSDOMWindow::arrayBuffer): 7334 (WebCore::JSDOMWindow::int8Array): 7335 (WebCore::JSDOMWindow::uint8Array): 7336 (WebCore::JSDOMWindow::int32Array): 7337 (WebCore::JSDOMWindow::uint32Array): 7338 (WebCore::JSDOMWindow::int16Array): 7339 (WebCore::JSDOMWindow::uint16Array): 7340 (WebCore::JSDOMWindow::floatArray): 7341 * bindings/v8/custom/V8DOMWindowCustom.cpp: 7342 (WebCore::V8DOMWindow::ArrayBufferAccessorGetter): 7343 (WebCore::V8DOMWindow::Int8ArrayAccessorGetter): 7344 (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter): 7345 (WebCore::V8DOMWindow::Int16ArrayAccessorGetter): 7346 (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter): 7347 (WebCore::V8DOMWindow::Int32ArrayAccessorGetter): 7348 (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter): 7349 (WebCore::V8DOMWindow::FloatArrayAccessorGetter): 7350 * page/DOMWindow.idl: 7351 7352 2010-05-13 David Hyatt <hyatt (a] apple.com> 7353 7354 Reviewed by Anders Carlsson. 7355 7356 https://bugs.webkit.org/show_bug.cgi?id=39084 7357 7358 Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and 7359 simplifications. 7360 7361 (1) Tie the caching of link state on CSSStyleSelector to the element. Just clear out the element when 7362 style resolution finishes for the unvisited case to avoid caching across external calls. The internal 7363 calls share the cache just fine by doing this. 7364 7365 (2) Delete the RenderStyle if the link is unvisited. This shouldn't take long enough to make us vulnerable 7366 to timing attacks, and it makes sure the overall footprint stays the way it used to be for unvisited links. 7367 7368 (3) Limit the set of properties that can be applied to :visited links to only the colors it supports. This 7369 stops images from being loadable from :visited rules. 7370 7371 * css/CSSStyleSelector.cpp: 7372 (WebCore::CSSStyleSelector::init): 7373 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): 7374 (WebCore::CSSStyleSelector::initElement): 7375 (WebCore::CSSStyleSelector::canShareStyleWithElement): 7376 (WebCore::CSSStyleSelector::styleForElement): 7377 (WebCore::CSSStyleSelector::pseudoStyleForElement): 7378 (WebCore::isValidVisitedLinkProperty): 7379 (WebCore::CSSStyleSelector::applyProperty): 7380 * css/CSSStyleSelector.h: 7381 * rendering/style/RenderStyle.cpp: 7382 (WebCore::colorIncludingFallback): 7383 7384 2010-05-13 Sam Weinig <sam (a] webkit.org> 7385 7386 Reviewed by Darin Adler. 7387 7388 Fix for https://bugs.webkit.org/show_bug.cgi?id=38221 7389 Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size). 7390 Part of <rdar://problem/7921275> 7391 7392 - Use an external cache to speedup cssText for CSSPrimitiveValue instead 7393 of an extra member variable. 7394 7395 * css/CSSPrimitiveValue.cpp: 7396 (WebCore::cssTextCache): 7397 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 7398 (WebCore::CSSPrimitiveValue::cleanup): 7399 (WebCore::CSSPrimitiveValue::cssText): 7400 * css/CSSPrimitiveValue.h: 7401 (WebCore::CSSPrimitiveValue::): 7402 * css/CSSPrimitiveValueMappings.h: 7403 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 7404 7405 2010-05-13 Enrica Casucci <enrica (a] apple.com> 7406 7407 Reviewed by Dave Hyatt. 7408 7409 Adding block elements to a block and removing them changes the height of the element. 7410 https://bugs.webkit.org/show_bug.cgi?id=38874 7411 7412 The initial height of an empty editable block is different from the height of the same block after we add block elements 7413 and remove them. 7414 7415 Test: editing/deleting/delete-block-contents-004.html 7416 7417 * rendering/RenderBlock.cpp: 7418 (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children. 7419 7420 2010-05-13 Brady Eidson <beidson (a] apple.com> 7421 7422 Reviewed by Darin Adler. 7423 7424 Repro crash at www.sears.com (infinite recursion in beforeunload handler) 7425 <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928 7426 7427 Test: fast/loader/recursive-before-unload-crash.html 7428 7429 * loader/FrameLoader.cpp: 7430 (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set. 7431 * loader/FrameLoader.h: 7432 7433 * page/Frame.cpp: 7434 (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose(). 7435 * page/Frame.h: 7436 (WebCore::Frame::existingDOMWindow): 7437 7438 2010-05-13 Sheriff Bot <webkit.review.bot (a] gmail.com> 7439 7440 Unreviewed, rolling out r59376. 7441 http://trac.webkit.org/changeset/59376 7442 https://bugs.webkit.org/show_bug.cgi?id=39080 7443 7444 Broke window prototype tests (Requested by jamesr on #webkit). 7445 7446 * bindings/generic/RuntimeEnabledFeatures.h: 7447 * bindings/js/JSDOMWindowCustom.cpp: 7448 (WebCore::JSDOMWindow::webGLFloatArray): 7449 * bindings/v8/custom/V8DOMWindowCustom.cpp: 7450 * page/DOMWindow.idl: 7451 7452 2010-05-13 Pavel Feldman <pfeldman (a] chromium.org> 7453 7454 Reviewed by Yury Semikhatsky. 7455 7456 Web Inspector: A disabled style property cannot be deleted. 7457 7458 https://bugs.webkit.org/show_bug.cgi?id=39057 7459 7460 * inspector/InspectorDOMAgent.cpp: 7461 (WebCore::InspectorDOMAgent::applyStyleText): 7462 7463 2010-05-12 Kenneth Russell <kbr (a] google.com> 7464 7465 Reviewed by Dimitri Glazkov. 7466 7467 Alias WebGLArray type names to TypedArray type names 7468 https://bugs.webkit.org/show_bug.cgi?id=39036 7469 7470 Exposed the existing WebGL<T>Array constructor functions on the 7471 DOMWindow under the naming convention in the TypedArray spec. The 7472 implementations will be renamed in a subsequent bug, and the 7473 aliases to the WebGL<T>Array type names eventually removed. Ran 7474 all WebGL layout tests in Safari and Chromium. 7475 7476 Test: revised array-unit-tests.html to test both type names. 7477 7478 * bindings/generic/RuntimeEnabledFeatures.h: 7479 (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled): 7480 (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled): 7481 (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled): 7482 (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled): 7483 (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled): 7484 (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled): 7485 (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled): 7486 (WebCore::RuntimeEnabledFeatures::floatArrayEnabled): 7487 * bindings/js/JSDOMWindowCustom.cpp: 7488 (WebCore::JSDOMWindow::arrayBuffer): 7489 (WebCore::JSDOMWindow::int8Array): 7490 (WebCore::JSDOMWindow::uint8Array): 7491 (WebCore::JSDOMWindow::int32Array): 7492 (WebCore::JSDOMWindow::uint32Array): 7493 (WebCore::JSDOMWindow::int16Array): 7494 (WebCore::JSDOMWindow::uint16Array): 7495 (WebCore::JSDOMWindow::floatArray): 7496 * bindings/v8/custom/V8DOMWindowCustom.cpp: 7497 (WebCore::V8DOMWindow::ArrayBufferAccessorGetter): 7498 (WebCore::V8DOMWindow::Int8ArrayAccessorGetter): 7499 (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter): 7500 (WebCore::V8DOMWindow::Int16ArrayAccessorGetter): 7501 (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter): 7502 (WebCore::V8DOMWindow::Int32ArrayAccessorGetter): 7503 (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter): 7504 (WebCore::V8DOMWindow::FloatArrayAccessorGetter): 7505 * page/DOMWindow.idl: 7506 7507 2010-05-13 Brady Eidson <beidson (a] apple.com> 7508 7509 Reviewed by John Sullivan. 7510 7511 Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928 7512 7513 No new tests. (No change in behavior) 7514 7515 m_unloadEventBeingDispatched was already overloaded to include both unload and pagehide events. 7516 In general, these are "page dismissal" events, and might also include beforeunload, so let's rename 7517 the flag! 7518 7519 * loader/FrameLoader.cpp: 7520 (WebCore::FrameLoader::FrameLoader): 7521 (WebCore::FrameLoader::stopLoading): 7522 (WebCore::FrameLoader::loadURL): 7523 (WebCore::FrameLoader::loadWithDocumentLoader): 7524 (WebCore::FrameLoader::stopAllLoaders): 7525 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 7526 (WebCore::FrameLoader::pageHidden): 7527 * loader/FrameLoader.h: 7528 7529 2010-05-13 Joseph Pecoraro <joepeck (a] webkit.org> 7530 7531 Reviewed by Pavel Feldman. 7532 7533 Web Inspector: Event Markers should be hidden in Resource's "Size" Graph 7534 https://bugs.webkit.org/show_bug.cgi?id=39074 7535 7536 Added Show / Hide event dividers functionality to the timeline grid, 7537 and included delegation functions in AbstractTimelinePanel. 7538 7539 * inspector/front-end/AbstractTimelinePanel.js: delegate to the inner grid 7540 (WebInspector.AbstractTimelinePanel.prototype.hideEventDividers): 7541 (WebInspector.AbstractTimelinePanel.prototype.showEventDividers): 7542 * inspector/front-end/ResourcesPanel.js: 7543 (WebInspector.ResourcesPanel.prototype.populateSidebar): save a reference to the size graph item to know when its selected 7544 (WebInspector.ResourcesPanel.prototype._graphSelected): if the size graph is selected hide the dividers, otherwise show them 7545 * inspector/front-end/TimelineGrid.js: 7546 (WebInspector.TimelineGrid.prototype.hideEventDividers): set the container to display: none 7547 (WebInspector.TimelineGrid.prototype.showEventDividers): set the container to display: block 7548 7549 2010-05-13 Chang Shu <chang.shu (a] nokia.com> 7550 7551 Reviewed by Kenneth Rohde Christiansen. 7552 7553 Based on the spec and Philip Taylor's test suite, strokeStyle and fillStyle attributes 7554 must initially have the string value #000000. 7555 The link to the spec: 7556 http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.colours.default 7557 7558 https://bugs.webkit.org/show_bug.cgi?id=39068 7559 7560 The complete test suite is in the process of checking in. 7561 https://bugs.webkit.org/show_bug.cgi?id=20553 7562 7563 * html/canvas/CanvasRenderingContext2D.cpp: 7564 (WebCore::CanvasRenderingContext2D::State::State): 7565 7566 2010-05-13 Yury Semikhatsky <yurys (a] chromium.org> 7567 7568 Unreviewed, rolling out r59360. 7569 http://trac.webkit.org/changeset/59360 7570 https://bugs.webkit.org/show_bug.cgi?id=38667 7571 7572 It broke Chromium Win build 7573 7574 * English.lproj/localizedStrings.js: 7575 * WebCore.gypi: 7576 * WebCore.vcproj/WebCore.vcproj: 7577 * inspector/front-end/CallStackSidebarPane.js: 7578 (WebInspector.CallStackSidebarPane): 7579 (WebInspector.CallStackSidebarPane.prototype._placardSelected): 7580 * inspector/front-end/ConsoleView.js: 7581 (WebInspector.ConsoleView): 7582 * inspector/front-end/ElementsPanel.js: 7583 (WebInspector.ElementsPanel): 7584 * inspector/front-end/ElementsTreeOutline.js: 7585 (WebInspector.ElementsTreeOutline.prototype._keyDown): 7586 * inspector/front-end/HelpScreen.js: Removed. 7587 * inspector/front-end/KeyboardShortcut.js: 7588 (WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers): 7589 * inspector/front-end/ScriptsPanel.js: 7590 (WebInspector.ScriptsPanel): 7591 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor): 7592 * inspector/front-end/ShortcutsHelp.js: Removed. 7593 * inspector/front-end/SidebarPane.js: 7594 (WebInspector.SidebarPane.prototype._onTitleKeyDown): 7595 * inspector/front-end/StylesSidebarPane.js: 7596 (WebInspector.StylesSidebarPane.prototype.removeSection): 7597 * inspector/front-end/TextViewer.js: 7598 (WebInspector.TextViewer.prototype._handleKeyDown): 7599 * inspector/front-end/WebKit.qrc: 7600 * inspector/front-end/helpScreen.css: Removed. 7601 * inspector/front-end/inspector.html: 7602 * inspector/front-end/inspector.js: 7603 (WebInspector.loaded): 7604 (WebInspector.documentKeyDown): 7605 (WebInspector._searchKeyDown): 7606 (WebInspector.startEditing.keyDownEventListener): 7607 (WebInspector.startEditing): 7608 * inspector/front-end/utilities.js: 7609 7610 2010-05-13 Antti Koivisto <koivisto (a] iki.fi> 7611 7612 Reviewed by Kenneth Rohde Christiansen. 7613 7614 https://bugs.webkit.org/show_bug.cgi?id=39063 7615 [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1 7616 7617 Use the dirty rect that has been adjusted for scaling instead of the original one. 7618 7619 * platform/graphics/TiledBackingStore.cpp: 7620 (WebCore::TiledBackingStore::paint): 7621 7622 2010-05-13 Chang Shu <chang.shu (a] nokia.com> 7623 7624 Reviewed by Kenneth Rohde Christiansen. 7625 7626 Based on Philip Taylor's test suite, resetting the canvas 7627 state resets the current path. 7628 https://bugs.webkit.org/show_bug.cgi?id=38934 7629 7630 The complete test suite is in the process of checking in. 7631 https://bugs.webkit.org/show_bug.cgi?id=20553 7632 7633 * html/canvas/CanvasRenderingContext2D.cpp: 7634 (WebCore::CanvasRenderingContext2D::reset): 7635 7636 2010-05-13 Andrey Kosyakov <caseq (a] chromium.org> 7637 7638 Reviewed by Pavel Feldman. 7639 7640 Added help screen with keyboard shortcuts. 7641 https://bugs.webkit.org/show_bug.cgi?id=38667 7642 7643 * English.lproj/localizedStrings.js: 7644 * WebCore.gypi: 7645 * WebCore.vcproj/WebCore.vcproj: 7646 * inspector/front-end/CallStackSidebarPane.js: 7647 (WebInspector.CallStackSidebarPane): 7648 (WebInspector.CallStackSidebarPane.prototype._placardSelected): 7649 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): 7650 * inspector/front-end/ConsoleView.js: 7651 (WebInspector.ConsoleView): 7652 (WebInspector.ConsoleView.prototype._registerShortcuts): 7653 * inspector/front-end/ElementsPanel.js: 7654 (WebInspector.ElementsPanel): 7655 (WebInspector.ElementsPanel.prototype._registerShortcuts): 7656 * inspector/front-end/HelpScreen.js: Added. 7657 * inspector/front-end/KeyboardShortcut.js: 7658 (WebInspector.KeyboardShortcut.makeDescriptor): 7659 (WebInspector.KeyboardShortcut.shortcutToString): 7660 (WebInspector.KeyboardShortcut._modifiersToString): 7661 * inspector/front-end/ScriptsPanel.js: 7662 (WebInspector.ScriptsPanel): 7663 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor): 7664 (WebInspector.ScriptsPanel.prototype._registerShortcuts): 7665 * inspector/front-end/ShortcutsHelp.js: Added. 7666 * inspector/front-end/StylesSidebarPane.js: 7667 (WebInspector.StylesSidebarPane.prototype.removeSection): 7668 (WebInspector.StylesSidebarPane.prototype.registerShortcuts): 7669 * inspector/front-end/WebKit.qrc: 7670 * inspector/front-end/helpScreen.css: Added. 7671 7672 2010-05-13 Yoshiki Hayashi <yhayashi (a] google.com> 7673 7674 Reviewed by Darin Adler. 7675 7676 Fix a bug in handleRunInChild where only the first child run-in block 7677 is inserted because removeChildNode clears next sibling. 7678 https://bugs.webkit.org/show_bug.cgi?id=25047 7679 7680 Test: fast/css/run-in-children.html 7681 7682 * rendering/RenderBlock.cpp: 7683 (WebCore::RenderBlock::handleRunInChild): 7684 7685 2010-05-13 Alejandro G. Castro <alex (a] igalia.com> 7686 7687 Reviewed by Xan Lopez. 7688 7689 In case there is no expose event we render the theme in a pixmap 7690 and copy it to the cairo context. This is slow but it is used just 7691 in case we are printing nowadays. 7692 7693 [GTK] Theme does not render when printing 7694 https://bugs.webkit.org/show_bug.cgi?id=38896 7695 7696 * platform/gtk/RenderThemeGtk.cpp: 7697 (WebCore::paintMozillaGtkWidget): 7698 7699 2010-05-12 Yuzo Fujishima <yuzo (a] google.com> 7700 7701 Reviewed by Darin Adler. 7702 7703 Fix Bug 35014 - Modifying UA rules from page JS crashes 7704 Added a NULL check. 7705 https://bugs.webkit.org/show_bug.cgi?id=35014 7706 7707 Test: fast/css/modify-ua-rules-from-javascript.html 7708 7709 * css/CSSMutableStyleDeclaration.cpp: 7710 (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): 7711 7712 2010-05-12 Dumitru Daniliuc <dumi (a] chromium.org> 7713 7714 Reviewed by Adam Barth. 7715 7716 Add the parent class for Database and DatabaseSync. 7717 https://bugs.webkit.org/show_bug.cgi?id=39041 7718 7719 * GNUmakefile.am: 7720 * WebCore.gypi: 7721 * WebCore.pro: 7722 * WebCore.vcproj/WebCore.vcproj: 7723 * WebCore.xcodeproj/project.pbxproj: 7724 * storage/AbstractDatabase.cpp: Added. 7725 * storage/AbstractDatabase.h: Added. 7726 7727 2010-05-12 Noam Rosenthal <noam.rosenthal (a] nokia.com> 7728 7729 Reviewed by Kenneth Rohde Christiansen. 7730 7731 [Qt] GraphicsLayer: depth-test causes flicker in certain situations 7732 7733 This patch removes the simplistic 2D depth test as it leads to flickering side effects. 7734 https://bugs.webkit.org/show_bug.cgi?id=38370 7735 7736 Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html 7737 7738 * platform/graphics/qt/GraphicsLayerQt.cpp: 7739 (WebCore::GraphicsLayerQtImpl::updateTransform): 7740 7741 2010-05-12 Simon Fraser <simon.fraser (a] apple.com> 7742 7743 Reviewed by Mark Rowe. 7744 7745 Fix layer dump to avoid spurious platform differences 7746 https://bugs.webkit.org/show_bug.cgi?id=39045 7747 7748 Only dump the children transform on layers that are not the root layer. 7749 The children transform on the root layer is used on Leopard to implement 7750 geometry flipping, so avoid this supurious difference in test output. 7751 7752 * platform/graphics/GraphicsLayer.cpp: 7753 (WebCore::GraphicsLayer::dumpProperties): 7754 7755 2010-05-12 Sheriff Bot <webkit.review.bot (a] gmail.com> 7756 7757 Unreviewed, rolling out r59270. 7758 http://trac.webkit.org/changeset/59270 7759 https://bugs.webkit.org/show_bug.cgi?id=39044 7760 7761 Caused a crash on some pages - bug 39042 (Requested by smfr on 7762 #webkit). 7763 7764 * rendering/RenderBlock.cpp: 7765 (WebCore::RenderBlock::removeChild): 7766 7767 2010-05-12 Simon Fraser <simon.fraser (a] apple.com> 7768 7769 Reviewed by David Hyatt. 7770 7771 Composited plug-ins can cause missed painting 7772 https://bugs.webkit.org/show_bug.cgi?id=39033 7773 <rdar://problem/7972478> 7774 7775 Fixed missed painting (and assertions in debug builds) related to compositing 7776 propagating out of iframes that contain plug-ins. 7777 7778 When an iframe enters or leaves compositing mode, RenderLayerCompositor uses 7779 setNeedsStyleRecalc(SyntheticStyleChange) to trigger the parent document to re-evaluate 7780 whether the iframe itself should be composited. However, for iframes containing plug-ins, 7781 this can happen at inappropriate times. For example, when a browser tab is brought frontmost, 7782 plug-ins are instantiated for the first time (via -viewDidMoveToWindow), which triggers a 7783 setNeedsStyleRecalc() on the object element. Soon after, the -viewWillDraw machinery 7784 does layout from the top down. During layout of the iframe, the iframe enters compositing mode, 7785 and does a setNeedsStyleRecalc() on the iframe element in its parent document. This leaves the 7786 FrameView as needsLayout(), so the FrameView::paintContents() asserts and bails. 7787 7788 The fix is to avoid doing a setNeedsStyleRecalc() on the root while inside a recalcStyle on 7789 the iframe. We do this by switching the iframe into compositing mode eagerly as soon as we know 7790 the plug-in needs it. 7791 7792 A secondary fix is to ensure that if a document has composited iframes, when that document becomes 7793 composited, we connect compositing layers between the iframes and the parent document. 7794 7795 Tests: compositing/iframes/connect-compositing-iframe-delayed.html 7796 compositing/iframes/iframe-src-change.html 7797 7798 * WebCore.base.exp: Export FrameView::enterCompositingMode() 7799 7800 * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code. 7801 * page/FrameView.cpp: 7802 (WebCore::FrameView::enterCompositingMode): 7803 7804 * rendering/RenderLayerCompositor.h: 7805 * rendering/RenderLayerCompositor.cpp: 7806 (WebCore::RenderLayerCompositor::enableCompositingMode): When we switch into compositing mode, we 7807 force a style recaclc on any iframes to get them into compositing layers, so they can hook up 7808 with their content layers if necessary. 7809 (WebCore::RenderLayerCompositor::didMoveOnscreen): Only call attachRootPlatformLayer() if we really need to. 7810 (WebCore::RenderLayerCompositor::willMoveOffscreen): Only call detachRootPlatformLayer() if we really need to. 7811 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Whitespace. 7812 (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): Fetch iframe elements, and send a 7813 synthetic style recalc on them. 7814 7815 2010-05-12 Anders Carlsson <andersca (a] apple.com> 7816 7817 Reviewed by Simon Fraser. 7818 7819 Shrink the size of FillLayer by moving a member variable. 7820 https://bugs.webkit.org/show_bug.cgi?id=39035 7821 7822 * rendering/style/FillLayer.cpp: 7823 (WebCore::FillLayer::FillLayer): 7824 * rendering/style/FillLayer.h: 7825 7826 2010-05-12 Sam Weinig <sam (a] webkit.org> 7827 7828 Reviewed by Anders Carlsson. 7829 7830 A bunch of nice micro-optimizations for ~1% speedup on PLT. 7831 - Add fastGetAttribute. The same as getAttribute except can only be 7832 called when it is known not to be style attribute or one of the SVG 7833 animatable attributes. 7834 - Inline some functions from Font. 7835 - Return the same string from deprecatedParseURL if there is nothing 7836 to strip. 7837 - Use a member variable instead of a virtual function to determine 7838 whether a ScheduledNavigation is a location change. 7839 7840 * WebCore.base.exp: 7841 * css/CSSHelper.cpp: 7842 (WebCore::deprecatedParseURL): 7843 * css/CSSStyleSelector.cpp: 7844 (WebCore::linkAttribute): 7845 (WebCore::CSSStyleSelector::canShareStyleWithElement): 7846 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 7847 * dom/Element.cpp: 7848 (WebCore::Element::getAttribute): 7849 * dom/Element.h: 7850 (WebCore::Element::fastHasAttribute): 7851 (WebCore::Element::fastGetAttribute): 7852 * html/HTMLFormControlElement.cpp: 7853 (WebCore::HTMLFormControlElement::formControlName): 7854 * html/HTMLInputElement.cpp: 7855 (WebCore::HTMLInputElement::value): 7856 * loader/RedirectScheduler.cpp: 7857 (WebCore::ScheduledNavigation::ScheduledNavigation): 7858 (WebCore::ScheduledNavigation::isLocationChange): 7859 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): 7860 (WebCore::ScheduledRedirect::ScheduledRedirect): 7861 (WebCore::ScheduledLocationChange::ScheduledLocationChange): 7862 (WebCore::ScheduledRefresh::ScheduledRefresh): 7863 (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation): 7864 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): 7865 (WebCore::RedirectScheduler::locationChangePending): 7866 * platform/graphics/Font.cpp: 7867 * platform/graphics/Font.h: 7868 (WebCore::Font::~Font): 7869 (WebCore::Font::primaryFont): 7870 (WebCore::Font::fontDataAt): 7871 (WebCore::Font::fontDataForCharacters): 7872 (WebCore::Font::isFixedPitch): 7873 (WebCore::Font::fontSelector): 7874 * platform/graphics/FontFallbackList.h: 7875 * rendering/RenderImage.cpp: 7876 (WebCore::RenderImage::imageMap): 7877 7878 2010-05-12 David Hyatt <hyatt (a] apple.com> 7879 7880 Reviewed by Sam Weinig. 7881 7882 Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time. 7883 7884 * WebCore.xcodeproj/project.pbxproj: 7885 * editing/visible_units.cpp: 7886 (WebCore::previousLinePosition): 7887 (WebCore::nextLinePosition): 7888 * rendering/EllipsisBox.cpp: 7889 (WebCore::EllipsisBox::paint): 7890 (WebCore::EllipsisBox::selectionRect): 7891 (WebCore::EllipsisBox::paintSelection): 7892 (WebCore::EllipsisBox::nodeAtPoint): 7893 * rendering/EllipsisBox.h: 7894 (WebCore::EllipsisBox::EllipsisBox): 7895 * rendering/InlineBox.cpp: 7896 (WebCore::InlineBox::adjustPosition): 7897 (WebCore::InlineBox::canAccommodateEllipsis): 7898 * rendering/InlineBox.h: 7899 (WebCore::InlineBox::InlineBox): 7900 (WebCore::InlineBox::isSVGRootInlineBox): 7901 (WebCore::InlineBox::x): 7902 (WebCore::InlineBox::y): 7903 (WebCore::InlineBox::width): 7904 (WebCore::InlineBox::height): 7905 (WebCore::InlineBox::bottom): 7906 (WebCore::InlineBox::right): 7907 (WebCore::InlineBox::setX): 7908 (WebCore::InlineBox::setY): 7909 (WebCore::InlineBox::setWidth): 7910 (WebCore::InlineBox::setHeight): 7911 (WebCore::InlineBox::location): 7912 (WebCore::InlineBox::size): 7913 (WebCore::InlineBox::setLocation): 7914 (WebCore::InlineBox::setSize): 7915 (WebCore::InlineBox::move): 7916 (WebCore::InlineBox::frameRect): 7917 (WebCore::InlineBox::setFrameRect): 7918 (WebCore::InlineBox::baselinePosition): 7919 (WebCore::InlineBox::lineHeight): 7920 * rendering/InlineFlowBox.cpp: 7921 (WebCore::InlineFlowBox::placeBoxesVertically): 7922 (WebCore::InlineFlowBox::computeVerticalOverflow): 7923 (WebCore::InlineFlowBox::nodeAtPoint): 7924 (WebCore::InlineFlowBox::paintBoxDecorations): 7925 (WebCore::InlineFlowBox::paintMask): 7926 (WebCore::InlineFlowBox::paintTextDecorations): 7927 * rendering/InlineFlowBox.h: 7928 (WebCore::InlineFlowBox::visibleOverflowRect): 7929 (WebCore::InlineFlowBox::topLayoutOverflow): 7930 (WebCore::InlineFlowBox::bottomLayoutOverflow): 7931 (WebCore::InlineFlowBox::leftLayoutOverflow): 7932 (WebCore::InlineFlowBox::rightLayoutOverflow): 7933 (WebCore::InlineFlowBox::layoutOverflowRect): 7934 (WebCore::InlineFlowBox::topVisualOverflow): 7935 (WebCore::InlineFlowBox::bottomVisualOverflow): 7936 (WebCore::InlineFlowBox::leftVisualOverflow): 7937 (WebCore::InlineFlowBox::rightVisualOverflow): 7938 (WebCore::InlineFlowBox::visualOverflowRect): 7939 (WebCore::InlineFlowBox::setHorizontalOverflowPositions): 7940 (WebCore::InlineFlowBox::setVerticalOverflowPositions): 7941 * rendering/InlineTextBox.cpp: 7942 (WebCore::InlineTextBox::selectionRect): 7943 (WebCore::InlineTextBox::placeEllipsisBox): 7944 (WebCore::InlineTextBox::nodeAtPoint): 7945 (WebCore::InlineTextBox::paint): 7946 (WebCore::InlineTextBox::paintSelection): 7947 (WebCore::InlineTextBox::paintCompositionBackground): 7948 (WebCore::InlineTextBox::paintDecoration): 7949 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 7950 (WebCore::InlineTextBox::paintTextMatchMarker): 7951 (WebCore::InlineTextBox::computeRectForReplacementMarker): 7952 (WebCore::InlineTextBox::paintCompositionUnderline): 7953 (WebCore::InlineTextBox::offsetForPosition): 7954 (WebCore::InlineTextBox::positionForOffset): 7955 * rendering/InlineTextBox.h: 7956 (WebCore::InlineTextBox::setSpaceAdd): 7957 * rendering/RenderBlock.cpp: 7958 (WebCore::RenderBlock::positionForPointWithInlineChildren): 7959 * rendering/RenderBlockLineLayout.cpp: 7960 (WebCore::RenderBlock::computeVerticalPositionsForLine): 7961 (WebCore::RenderBlock::layoutInlineChildren): 7962 * rendering/RenderSVGInline.cpp: 7963 (WebCore::RenderSVGInline::createInlineFlowBox): 7964 * rendering/RenderSVGInlineText.cpp: 7965 (WebCore::RenderSVGInlineText::createTextBox): 7966 * rendering/RenderSVGText.cpp: 7967 (WebCore::RenderSVGText::createRootInlineBox): 7968 * rendering/RenderText.cpp: 7969 (WebCore::RenderText::positionForPoint): 7970 (WebCore::RenderText::firstRunX): 7971 (WebCore::RenderText::firstRunY): 7972 * rendering/RenderTreeAsText.cpp: 7973 (WebCore::writeTextRun): 7974 * rendering/RootInlineBox.cpp: 7975 (WebCore::RootInlineBox::placeEllipsis): 7976 (WebCore::RootInlineBox::addHighlightOverflow): 7977 (WebCore::RootInlineBox::closestLeafChildForXPos): 7978 * rendering/SVGInlineFlowBox.h: 7979 (WebCore::SVGInlineFlowBox::SVGInlineFlowBox): 7980 * rendering/SVGInlineTextBox.h: 7981 (WebCore::SVGInlineTextBox::selectionTop): 7982 (WebCore::SVGInlineTextBox::selectionHeight): 7983 * rendering/SVGRootInlineBox.h: 7984 (WebCore::SVGRootInlineBox::SVGRootInlineBox): 7985 (WebCore::SVGRootInlineBox::isSVGRootInlineBox): 7986 * rendering/TrailingFloatsRootInlineBox.h: Removed. 7987 7988 2010-05-12 Dumitru Daniliuc <dumi (a] chromium.org> 7989 7990 Reviewed by Dimitri Glazkov. 7991 7992 Removing the unnecessary dirfd parameter. 7993 https://bugs.webkit.org/show_bug.cgi?id=38869 7994 7995 * platform/chromium/ChromiumBridge.h: 7996 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 7997 7998 2010-05-12 Enrica Casucci <enrica (a] apple.com> 7999 8000 Reviewed by Dave Hyatt. 8001 8002 Adding block elements to a block and removing them changes the height of the element. 8003 https://bugs.webkit.org/show_bug.cgi?id=38874 8004 8005 The initial height of an empty editable block is different from the height of the same block after we add block elements 8006 and remove them. 8007 8008 Test: editing/deleting/delete-block-contents-004.html 8009 8010 * rendering/RenderBlock.cpp: 8011 (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created 8012 and never reset to true when all the block elements contained are removed. 8013 8014 2010-05-11 Dumitru Daniliuc <dumi (a] chromium.org> 8015 8016 Reviewed by Dimitri Glazkov. 8017 8018 Do not check if a database needs to be vacuumed after a read-only transaction. 8019 https://bugs.webkit.org/show_bug.cgi?id=38972 8020 8021 * storage/SQLTransaction.cpp: 8022 (WebCore::SQLTransaction::postflightAndCommit): 8023 8024 2010-05-12 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 8025 8026 Reviewed by Kenneth Rohde Christiansen. 8027 8028 [Qt] Detect debug mode consistently 8029 https://bugs.webkit.org/show_bug.cgi?id=38863 8030 8031 No new tests as there is no new functionality. 8032 8033 * WebCore.pro: 8034 8035 2010-05-12 James Robinson <jamesr (a] chromium.org> 8036 8037 Patch by Dan Bernstein. 8038 8039 Reviewed by David Hyatt. 8040 8041 Fix marking the layout root's parent as needing layout 8042 https://bugs.webkit.org/show_bug.cgi?id=37760 8043 8044 If an element gets marked as needing layout due to the recalcStyle() 8045 call in FrameView::layout(), the m_layoutSchedulingEnabled flag will 8046 be set to false. It's possible at this point that a parent of the 8047 existing FrameView::m_layoutRoot will be marked as needing layout. 8048 8049 This patch updates FrameView::scheduleRelayoutOfSubtree to account 8050 for this case. 8051 8052 Manual test only due to subtle timing issues. 8053 8054 * manual-tests/layoutroot_detach.xml: Added. 8055 * page/FrameView.cpp: 8056 (WebCore::FrameView::scheduleRelayoutOfSubtree): 8057 8058 2010-05-12 Eric Seidel <eric (a] webkit.org> 8059 8060 Unreviewed, rolling out r59245. 8061 http://trac.webkit.org/changeset/59245 8062 https://bugs.webkit.org/show_bug.cgi?id=38874 8063 8064 Broke at least one test on multiple platforms 8065 8066 * rendering/RenderBlock.cpp: 8067 (WebCore::RenderBlock::removeChild): 8068 8069 2010-05-12 Alexey Proskuryakov <ap (a] apple.com> 8070 8071 Reviewed by Darin Adler. 8072 8073 https://bugs.webkit.org/show_bug.cgi?id=38752 8074 Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc) 8075 8076 Test: fast/images/extra-image-in-image-document.html 8077 8078 * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages 8079 after manually feeding an image - there may be more coming. 8080 8081 2010-05-12 yael aharon <yael.aharon (a] nokia.com> 8082 8083 Reviewed by Dan Bernstein. 8084 8085 HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement 8086 https://bugs.webkit.org/show_bug.cgi?id=38991 8087 8088 No new tests since no new functionality was introduced. 8089 8090 * html/HTMLLabelElement.cpp: 8091 (WebCore::HTMLLabelElement::control): 8092 * html/HTMLLabelElement.h: 8093 8094 2010-05-12 David Hyatt <hyatt (a] apple.com> 8095 8096 Reviewed by Darin Adler. 8097 8098 https://bugs.webkit.org/show_bug.cgi?id=38891 8099 8100 First-letter had a number of bugs that were exposed by my attempt to optimize the setting of styles when updating first-letter. 8101 The code that drills down to find the first-letter child stopped if it hit an element that didn't need layout. This means it could 8102 return random incorrect results (and cause the first-letter object to not be found). 8103 8104 In addition when the first-letter was floated/positioned, the text child was not correctly returned, but the container itself was 8105 returned instead. 8106 8107 Finally, the updating code was leaving the box that wrapped the first letter text with a stale style. The old code happened to work because 8108 it made new styles for the text elements instead of using the enclosing box style. The regression was caused by my change to make the 8109 text children simply share style with their parent (thus making the bug that the parent had the wrong style become more prominent). 8110 8111 No new tests, since there's a timing component to reproducing the issue. 8112 8113 * rendering/RenderBlock.cpp: 8114 (WebCore::RenderBlock::updateFirstLetter): 8115 8116 2010-05-12 Enrica Casucci <enrica (a] apple.com> 8117 8118 Reviewed by Dave Hyatt. 8119 8120 Adding block elements to a block and removing them changes the height of the element. 8121 https://bugs.webkit.org/show_bug.cgi?id=38874 8122 8123 The initial height of an empty editable block is different from the height of the same block after we add block elements 8124 and remove them. 8125 8126 Test: editing/deleting/delete-block-contents-004.html 8127 8128 * rendering/RenderBlock.cpp: 8129 (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created 8130 and never reset to true when all the block elements contained are removed. 8131 8132 2010-05-12 Pavel Feldman <pfeldman (a] chromium.org> 8133 8134 Reviewed by Timothy Hatcher. 8135 8136 Web Inspector: disabling style property on container breaks styles inspection for given node. 8137 8138 https://bugs.webkit.org/show_bug.cgi?id=39005 8139 8140 Tests: inspector/styles-disable-inherited.html 8141 inspector/styles-disable-then-enable.html 8142 8143 * inspector/front-end/StylesSidebarPane.js: 8144 (WebInspector.StylesSidebarPane.prototype._containsInherited): 8145 (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty): 8146 8147 2010-05-12 Abhishek Arya <inferno (a] chromium.org> 8148 8149 Reviewed by Darin Adler. 8150 8151 HTML Entity Escape the contents of a textarea node when accessed 8152 via the innerHTML and outerHTML node properties. 8153 https://bugs.webkit.org/show_bug.cgi?id=38922 8154 8155 Test: fast/innerHTML/innerHTML-special-elements.html 8156 8157 * editing/markup.cpp: 8158 (WebCore::appendStartMarkup): 8159 8160 2010-05-12 Beth Dakin <bdakin (a] apple.com> 8161 8162 Reviewed by Darin Adler. 8163 8164 Fix for https://bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: 8165 Crash clicking background NPR tab after few minutes of sitting idle 8166 -and corresponding- 8167 <rdar://problem/7941504> 8168 8169 Move m_mediaCanStartListeners HashSet to Document away from Page. 8170 * dom/Document.cpp: 8171 (WebCore::Document::Document): 8172 (WebCore::Document::addMediaCanStartListener): 8173 (WebCore::Document::removeMediaCanStartListener): 8174 (WebCore::Document::takeAnyMediaCanStartListener): 8175 * dom/Document.h: 8176 * page/Page.cpp: 8177 (WebCore::Page::takeAnyMediaCanStartListener): 8178 * page/Page.h: 8179 (WebCore::Page::canStartMedia): 8180 8181 2010-05-11 Ilya Tikhonovsky <loislo (a] chromium.org> 8182 8183 Reviewed by Pavel Feldman. 8184 8185 WebInspector: Sometimes ResourceRequest records aren't connected to the initiator. 8186 https://bugs.webkit.org/show_bug.cgi?id=38925 8187 8188 * inspector/InspectorTimelineAgent.cpp: 8189 (WebCore::InspectorTimelineAgent::didScheduleResourceRequest): 8190 * inspector/InspectorTimelineAgent.h: 8191 (WebCore::): 8192 * inspector/TimelineRecordFactory.cpp: 8193 (WebCore::TimelineRecordFactory::createScheduleResourceRequestData): 8194 * inspector/TimelineRecordFactory.h: 8195 * inspector/front-end/TimelineAgent.js: 8196 * inspector/front-end/TimelinePanel.js: 8197 (WebInspector.TimelinePanel): 8198 (WebInspector.TimelinePanel.prototype.get _recordStyles): 8199 (WebInspector.TimelinePanel.prototype._findParentRecord): 8200 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 8201 (WebInspector.TimelinePanel.prototype._clearPanel): 8202 (WebInspector.TimelinePanel.FormattedRecord): 8203 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 8204 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 8205 * loader/loader.cpp: 8206 (WebCore::Loader::load): 8207 8208 2010-05-12 Kent Tamura <tkent (a] chromium.org> 8209 8210 Reviewed by Darin Adler. 8211 8212 placeholder text should be stripped from line breaks 8213 https://bugs.webkit.org/show_bug.cgi?id=36291 8214 8215 According to http://dev.w3.org/html5/spec/forms.html#attr-input-placeholder , 8216 we need to remove CR and LF from the placeholder attribute values. 8217 Introduce HTMLTextFormControlElement::strippedPlaceholder(), which 8218 returns stripped value, and replace getAttribute(placeholderAttr) with it. 8219 8220 Test: fast/forms/placeholder-stripped.html 8221 8222 * html/HTMLFormControlElement.cpp: 8223 (WebCore::HTMLTextFormControlElement::strippedPlaceholder): 8224 (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty): 8225 (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): 8226 Use strippedPlaceholder(). 8227 * html/HTMLFormControlElement.h: 8228 * platform/text/CharacterNames.h: Add carriageReturn. 8229 * rendering/RenderTextControlMultiLine.cpp: 8230 (WebCore::RenderTextControlMultiLine::updateFromElement): 8231 Use strippedPlaceholder(). 8232 * rendering/RenderTextControlSingleLine.cpp: 8233 (WebCore::RenderTextControlSingleLine::updateFromElement): 8234 Use strippedPlaceholder(). 8235 8236 2010-05-10 Rodrigo Belem <rodrigo.belem (a] openbossa.org> 8237 8238 Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha. 8239 8240 [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter 8241 https://bugs.webkit.org/show_bug.cgi?id=26224 8242 8243 This patch adds the ability, in the QtWebkit build system, to change 8244 the installation path. 8245 8246 * WebCore.pro: 8247 8248 2010-05-12 Jer Noble <jer.noble (a] apple.com> 8249 8250 Reviewed by Darin Adler. 8251 8252 Bug 38689: #34005 will break fullscreen video playback 8253 https://bugs.webkit.org/show_bug.cgi?id=38689 8254 8255 The PlatformMedia struct now contains a type field indicating which type 8256 it contains. The struct now contains a union of all possible return types, 8257 allowing the type of media returned by MediaPlayerPrivate instances to be 8258 determined at runtime. 8259 8260 * platform/graphics/MediaPlayer.h: 8261 (WebCore::PlatformMedia::): 8262 (WebCore::): 8263 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 8264 (WebCore::MediaPlayerPrivate::platformMedia): 8265 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 8266 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia): 8267 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 8268 (WebCore::MediaPlayerPrivate::platformMedia): 8269 8270 2010-05-12 Young Han Lee <joybro (a] company100.net> 8271 8272 Reviewed by Darin Adler. 8273 8274 Add missing ENABLE(SVG) guards. 8275 https://bugs.webkit.org/show_bug.cgi?id=38892 8276 8277 * rendering/RenderSVGResourceClipper.cpp: 8278 * rendering/RenderSVGResourceMarker.cpp: 8279 * rendering/RenderSVGResourceMasker.cpp: 8280 8281 2010-05-12 Pavel Feldman <pfeldman (a] chromium.org> 8282 8283 Reviewed by Yury Semikhatsky. 8284 8285 Web Inspector: align sidebar checkboxes on windows. 8286 8287 https://bugs.webkit.org/show_bug.cgi?id=38986 8288 8289 * inspector/front-end/StylesSidebarPane.js: 8290 * inspector/front-end/inspector.css: 8291 (.sidebar-pane-subtitle): 8292 (body.platform-windows .sidebar-pane-subtitle): 8293 8294 2010-05-10 yael aharon <yael.aharon (a] nokia.com> 8295 8296 Reviewed by Darin Adler. 8297 8298 Support control attribute of HTMLLabelElement 8299 https://bugs.webkit.org/show_bug.cgi?id=38688 8300 8301 Added support for the control attribute of HTMLLabelElement and changed the logic of determining 8302 which control is associated with the label to conform to HTML5 spec. 8303 Added a manual test for testing the logic of selecting the control to get focused, activated or hovered 8304 when the label gets focused, activated or is hovered. 8305 8306 Test: fast/dom/HTMLLabelElement/click-label.html 8307 Test: fast/dom/HTMLLabelElement/focus-label.html 8308 Test: fast/dom/HTMLLabelElement/label-control.html 8309 8310 * accessibility/AccessibilityRenderObject.cpp: 8311 (WebCore::labelForElement): 8312 (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement): 8313 * html/HTMLFormControlElement.cpp: 8314 (WebCore::HTMLFormControlElement::isLabelable): 8315 * html/HTMLFormControlElement.h: 8316 * html/HTMLLabelElement.cpp: 8317 (WebCore::nodeAsLabelableFormControl): 8318 (WebCore::HTMLLabelElement::control): 8319 (WebCore::HTMLLabelElement::setActive): 8320 (WebCore::HTMLLabelElement::setHovered): 8321 (WebCore::HTMLLabelElement::defaultEventHandler): 8322 (WebCore::HTMLLabelElement::focus): 8323 (WebCore::HTMLLabelElement::accessKeyAction): 8324 * html/HTMLLabelElement.h: 8325 * html/HTMLLabelElement.idl: 8326 * manual-tests/dom/form-control-for-label.html: Added. 8327 8328 2010-05-12 Steve Block <steveblock (a] google.com> 8329 8330 Reviewed by David Levin. 8331 8332 Android's writeToFile() is buggy 8333 https://bugs.webkit.org/show_bug.cgi?id=38908 8334 8335 No new tests, build fix only. 8336 8337 * platform/android/FileSystemAndroid.cpp: Remove Android's version of writeToFile(). 8338 * platform/posix/FileSystemPOSIX.cpp: Use POSIX version of writeToFile() on Android. 8339 (WebCore::writeToFile): 8340 8341 2010-05-10 Philippe Normand <pnormand (a] igalia.com> 8342 8343 Reviewed by David Levin. 8344 8345 [GStreamer] incoherent #ifdef in GOwnPtrGStreamer.h 8346 https://bugs.webkit.org/show_bug.cgi?id=38839 8347 8348 Fixed #ifdef/curly braces coherence. 8349 8350 * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: 8351 (WTF::GstElement): 8352 8353 2010-05-10 Philippe Normand <pnormand (a] igalia.com> 8354 8355 Reviewed by Dirk Schulze. 8356 8357 [GStreamer] un-needed cairo.h include 8358 https://bugs.webkit.org/show_bug.cgi?id=38837 8359 8360 Cairo not used in the sink anymore. So it's not needed to include 8361 the header. 8362 8363 * platform/graphics/gstreamer/VideoSinkGStreamer.h: 8364 8365 2010-05-12 Zoltan Herczeg <zherczeg (a] webkit.org> 8366 8367 Reviewed by Nikolas Zimmermann. 8368 8369 Build fix for Windows and Chromium builds. 8370 8371 * WebCore.gypi: 8372 * WebCore.vcproj/WebCore.vcproj: 8373 * svg/graphics/filters/SVGFELighting.cpp: 8374 (WebCore::FELighting::LightingData::upLeftPixelValue): 8375 (WebCore::FELighting::LightingData::upPixelValue): 8376 (WebCore::FELighting::LightingData::upRightPixelValue): 8377 (WebCore::FELighting::LightingData::leftPixelValue): 8378 (WebCore::FELighting::LightingData::centerPixelValue): 8379 (WebCore::FELighting::LightingData::rightPixelValue): 8380 (WebCore::FELighting::LightingData::downLeftPixelValue): 8381 (WebCore::FELighting::LightingData::downPixelValue): 8382 (WebCore::FELighting::LightingData::downRightPixelValue): 8383 (WebCore::FELighting::setPixel): 8384 8385 2010-05-12 Zoltan Herczeg <zherczeg (a] webkit.org> 8386 8387 Reviewed by Nikolas Zimmermann. 8388 8389 Implementing SVG filters: feDiffuseLighting and feSpecularLighting 8390 https://bugs.webkit.org/show_bug.cgi?id=32197 8391 https://bugs.webkit.org/show_bug.cgi?id=32199 8392 8393 The patch implements the SVG filters feDiffuseLighting and 8394 feSpecularLighting including the impementation of their possible 8395 light sources according to the Scalable Vector Graphics (SVG) 8396 1.1 Specification. Only two features are missing: supporting images 8397 with height or width set to 1, and kernelUnitLength other than (1,1). 8398 Since the two lighting filters have a similar body, a common base 8399 class called FELighting is introduced, and contains the code for 8400 both filters. The implementation employs single precision floating 8401 point arithmetic (fixed precision integer arithmetic seemed too difficult). 8402 8403 Indentation is removed of the modified header files in svg/graphics/filters 8404 8405 * GNUmakefile.am: 8406 * WebCore.pro: 8407 * WebCore.xcodeproj/project.pbxproj: 8408 * platform/graphics/FloatPoint3D.cpp: 8409 * platform/graphics/FloatPoint3D.h: 8410 (WebCore::FloatPoint3D::FloatPoint3D): constructors changed to inline 8411 (WebCore::operator*): dot product 8412 * svg/SVGFESpotLightElement.cpp: 8413 (WebCore::SVGFESpotLightElement::lightSource): 8414 * svg/graphics/filters/SVGDistantLightSource.h: 8415 (WebCore::DistantLightSource::create): 8416 (WebCore::DistantLightSource::azimuth): 8417 (WebCore::DistantLightSource::elevation): 8418 (WebCore::DistantLightSource::DistantLightSource): 8419 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 8420 (WebCore::FEDiffuseLighting::FEDiffuseLighting): 8421 (WebCore::FEDiffuseLighting::create): 8422 * svg/graphics/filters/SVGFEDiffuseLighting.h: 8423 * svg/graphics/filters/SVGFELighting.cpp: Added. 8424 (WebCore::FELighting::FELighting): 8425 (WebCore::FELighting::LightingData::upLeftPixelValue): 8426 (WebCore::FELighting::LightingData::upPixelValue): 8427 (WebCore::FELighting::LightingData::upRightPixelValue): 8428 (WebCore::FELighting::LightingData::leftPixelValue): 8429 (WebCore::FELighting::LightingData::centerPixelValue): 8430 (WebCore::FELighting::LightingData::rightPixelValue): 8431 (WebCore::FELighting::LightingData::downLeftPixelValue): 8432 (WebCore::FELighting::LightingData::downPixelValue): 8433 (WebCore::FELighting::LightingData::downRightPixelValue): 8434 (WebCore::FELighting::setPixel): 8435 (WebCore::FELighting::drawLighting): 8436 (WebCore::FELighting::apply): 8437 * svg/graphics/filters/SVGFELighting.h: Added. 8438 (WebCore::FELighting::uniteChildEffectSubregions): 8439 (WebCore::FELighting::): 8440 * svg/graphics/filters/SVGFESpecularLighting.cpp: 8441 (WebCore::FESpecularLighting::FESpecularLighting): 8442 (WebCore::FESpecularLighting::create): 8443 * svg/graphics/filters/SVGFESpecularLighting.h: 8444 * svg/graphics/filters/SVGLightSource.cpp: 8445 (WebCore::PointLightSource::initPaintingData): 8446 (WebCore::PointLightSource::updatePaintingData): 8447 (WebCore::SpotLightSource::initPaintingData): 8448 (WebCore::SpotLightSource::updatePaintingData): 8449 (WebCore::DistantLightSource::initPaintingData): 8450 (WebCore::DistantLightSource::updatePaintingData): 8451 * svg/graphics/filters/SVGLightSource.h: 8452 (WebCore::): 8453 (WebCore::LightSource::LightSource): 8454 (WebCore::LightSource::~LightSource): 8455 (WebCore::LightSource::type): 8456 * svg/graphics/filters/SVGPointLightSource.h: 8457 (WebCore::PointLightSource::create): 8458 (WebCore::PointLightSource::position): 8459 (WebCore::PointLightSource::PointLightSource): 8460 * svg/graphics/filters/SVGSpotLightSource.h: 8461 (WebCore::SpotLightSource::create): 8462 (WebCore::SpotLightSource::position): 8463 (WebCore::SpotLightSource::direction): 8464 (WebCore::SpotLightSource::specularExponent): 8465 (WebCore::SpotLightSource::limitingConeAngle): 8466 (WebCore::SpotLightSource::SpotLightSource): 8467 8468 2010-05-12 Xan Lopez <xlopez (a] igalia.com> 8469 8470 Reviewed by Nikolas Zimmermann. 8471 8472 Add missing AM_V_GEN directives to generation rules so that they 8473 remain silent when requested. 8474 8475 * GNUmakefile.am: 8476 8477 2010-05-12 Lucas De Marchi <lucas.demarchi (a] profusion.mobi> 8478 8479 Reviewed by Jeremy Orlow. 8480 8481 [EFL] It does not make sense to use ScrollbarEfl::ScrollbarEfl, so 8482 use ScrollbarEfl (GCC 4.5 seems to be pickier about this). Revision 59030 8483 fixed cases for RenderThemeEfl, but missed this for ScrollbarEfl. 8484 http://webkit.org/b/38904 8485 8486 No new tests required. 8487 8488 * platform/efl/ScrollbarEfl.cpp: 8489 (scrollbarEflEdjeMessage): 8490 8491 2010-05-12 MORITA Hajime <morrita (a] google.com> 8492 8493 Reviewed by Kent Tamura. 8494 8495 [Chromium] Support HTML5 <progress> element on Windows. 8496 https://bugs.webkit.org/show_bug.cgi?id=37308 8497 8498 Extended ChromiumBridge to handle progress bar painting, 8499 and added delegations to it. 8500 8501 No new tests. Test cases should be shared with existing ones for 8502 progress element. Expectaions will be added after PROGRESS_TAG is 8503 enabled on Chromium tree. 8504 8505 * platform/chromium/ChromiumBridge.h: 8506 * rendering/RenderProgress.cpp: 8507 (WebCore::RenderProgress::animationProgress): 8508 (WebCore::RenderProgress::isDeterminate): 8509 * rendering/RenderProgress.h: 8510 (WebCore::RenderProgress::position): 8511 * rendering/RenderThemeChromiumWin.cpp: 8512 (WebCore::RenderThemeChromiumWin::animationRepeatIntervalForProgressBar): 8513 (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar): 8514 (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle): 8515 (WebCore::RenderThemeChromiumWin::paintProgressBar): 8516 * rendering/RenderThemeChromiumWin.h: 8517 8518 2010-05-12 Marcus Bulach <bulach (a] chromium.org> 8519 8520 Reviewed by Steve Block. 8521 8522 Removes Geolocation::setPosition and uses positionChanged() to capture lastPosition(). 8523 This brings CLIENT_BASED_GEOLOCATION more inline with the non-client based. 8524 https://bugs.webkit.org/show_bug.cgi?id=38195 8525 8526 * page/Geolocation.cpp: 8527 (WebCore::Geolocation::lastPosition): 8528 (WebCore::Geolocation::requestPermission): 8529 (WebCore::Geolocation::positionChangedInternal): 8530 (WebCore::Geolocation::positionChanged): 8531 (WebCore::Geolocation::geolocationServicePositionChanged): 8532 * page/Geolocation.h: 8533 * page/GeolocationController.cpp: 8534 (WebCore::GeolocationController::positionChanged): 8535 (WebCore::GeolocationController::lastPosition): 8536 * page/GeolocationController.h: 8537 8538 2010-05-12 Marcus Bulach <bulach (a] chromium.org> 8539 8540 Reviewed by Steve Block. 8541 8542 Attaches the geolocation bridge later on startUpdating(). 8543 This prevents a page requesting permission when it has just accessed navigator.geolocation (without calling navigator.geolocation.getCurrentPosition/watchPosition). 8544 Note: when Geolocation::haveSuitableCachedPosition(), WebGeolocationServiceBridgeImpl::startUpdating() is not called, 8545 so we attach the bridge if needed at requestGeolocationPermissionForFrame(). 8546 https://bugs.webkit.org/show_bug.cgi?id=38323 8547 http://crbug.com/42789 8548 8549 * platform/chromium/GeolocationServiceChromium.h: 8550 8551 2010-05-12 Robin Qiu <robin.qiu (a] torchmobile.com.cn> 8552 8553 Reviewed by Dirk Schulze. 8554 8555 Fix a bug in SVGPathSegList::getPathSegAtLength(). 8556 This bug is just a misktake: almost all of the code is OK, but the 8557 parameter is not used at all, therefore, this function always returns 8558 "1". 8559 And make a modification to return the last path segment if the distance 8560 exceeds the actual path length. 8561 https://bugs.webkit.org/show_bug.cgi?id=37515 8562 8563 Test: svg/dom/svgpath-getPathSegAtLength.html 8564 8565 * svg/SVGPathSegList.cpp: 8566 (WebCore::SVGPathSegList::getPathSegAtLength): 8567 8568 2010-05-11 David Hyatt <hyatt (a] apple.com> 8569 8570 Reviewed by Maciej Stachowiak. 8571 8572 https://bugs.webkit.org/show_bug.cgi?id=38976, fast/css/pseudo-cache-stale.html has incorrect results. 8573 8574 Make sure to trigger a relayout of any objects whose first-line styles change dynamically. 8575 8576 * dom/Element.cpp: 8577 (WebCore::Element::pseudoStyleCacheIsInvalid): 8578 8579 2010-05-11 Joseph Pecoraro <joepeck (a] webkit.org> 8580 8581 Reviewed by Timothy Hatcher. 8582 8583 Web Inspector: Shorthand Properties Getting Deleted When Editing 8584 https://bugs.webkit.org/show_bug.cgi?id=38958 8585 8586 * inspector/front-end/DOMAgent.js: 8587 (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values 8588 8589 2010-05-11 Tony Chang <tony (a] chromium.org> 8590 8591 Reviewed by Darin Fisher. 8592 8593 [chromium] Remove subframe scrollbar routing (r58937) 8594 https://bugs.webkit.org/show_bug.cgi?id=38894 8595 8596 * page/chromium/EventHandlerChromium.cpp: 8597 (WebCore::EventHandler::passMousePressEventToSubframe): 8598 8599 2010-05-11 Simon Fraser <simon.fraser (a] apple.com> 8600 8601 Reviewed by Maciej Stachowiak. 8602 8603 Body not redrawn, and filled with garbage on some composited pages 8604 https://bugs.webkit.org/show_bug.cgi?id=38951 8605 <rdar://problem/7891548> 8606 8607 When the root layer becomes composited (for example, because a negative z-index 8608 descendant in its stacking context becomes composited), then it has to be made 8609 large enough to fill the viewport, because the page background draws into it. 8610 8611 Test: compositing/geometry/composited-html-size.html 8612 8613 * rendering/RenderLayerCompositor.cpp: 8614 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 8615 8616 2010-05-11 Anders Carlsson <andersca (a] apple.com> 8617 8618 Reviewed by Mark Rowe. 8619 8620 https://bugs.webkit.org/show_bug.cgi?id=38961 8621 Move some member variables around to reduce class sizes. 8622 8623 If a class inherits (directly or indirectly) from FastAllocBase, we don't want the first member variable 8624 of that class to also inherit (directly or indirectly) from FastAllocBase as this will add padding to the class 8625 and thus increasing its size. 8626 8627 * css/CSSParserValues.h: 8628 * css/CSSSelector.h: 8629 (WebCore::CSSSelector::CSSSelector): 8630 (WebCore::CSSSelector::RareData::RareData): 8631 * platform/graphics/FontCache.cpp: 8632 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 8633 8634 2010-05-11 Dumitru Daniliuc <dumi (a] chromium.org> 8635 8636 Reviewed by Adam Barth. 8637 8638 Adding a function needed by the V8 code generator to turn on/off 8639 the binding for WorkerContext::openDatabaseSync(). 8640 https://bugs.webkit.org/show_bug.cgi?id=38960 8641 8642 * bindings/generic/RuntimeEnabledFeatures.cpp: 8643 (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled): 8644 * bindings/generic/RuntimeEnabledFeatures.h: 8645 8646 2010-05-11 MORITA Hajime <morrita (a] google.com> 8647 8648 Reviewed by Dirk Schulze. 8649 8650 CSS SVG font doesn't recognize URL without element reference 8651 https://bugs.webkit.org/show_bug.cgi?id=37144 8652 8653 CachedFont::getSVGFontById() did assume that element reference (ID) is given. 8654 So fixed to handle an empty or missing element reference. In which case, 8655 the first font element is returned if available. 8656 8657 Test: svg/custom/svg-fonts-with-no-element-reference.html 8658 8659 * loader/CachedFont.cpp: 8660 (WebCore::CachedFont::getSVGFontById): 8661 8662 2010-05-11 Jer Noble <jer.noble (a] apple.com> 8663 8664 No Review. 8665 8666 Fix the Windows Debug Build: the correct VCProj variable to use when linking against 8667 JavaScriptCore is $(WebKitDLLConfigSuffix), not $(WebKitConfigSuffix), which expands 8668 to an empty string rather than "_debug". 8669 8670 * WebCore.vcproj/QTMovieWin.vcproj: 8671 8672 2010-05-11 Jer Noble <jer.noble (a] apple.com> 8673 8674 Darin Adler. 8675 8676 19 media tests are crashing on Windows Release 8677 https://bugs.webkit.org/show_bug.cgi?id=38950 8678 rdar://problem/7971658 8679 8680 Link against JavaScriptCore.lib instead of WTF.lib, so the free and malloc used by 8681 QTMovieWin is always the free and malloc in JavaScriptCore.dll. 8682 8683 * WebCore.vcproj/QTMovieWin.vcproj: 8684 8685 2010-05-11 Darin Adler <darin (a] apple.com> 8686 8687 Reviewed by Beth Dakin. 8688 8689 Another refactoring patch in preparation for a fix to 8690 https://bugs.webkit.org/show_bug.cgi?id=38871 8691 REGRESSION: Crash clicking background NPR tab after few minutes of sitting idle 8692 8693 * dom/Document.cpp: 8694 (WebCore::Document::addMediaCanStartListener): Added. 8695 (WebCore::Document::removeMediaCanStartListener): Added. 8696 8697 * dom/Document.h: Added add/removeMediaCanStartListener. 8698 8699 * html/HTMLMediaElement.cpp: 8700 (WebCore::HTMLMediaElement::~HTMLMediaElement): Call removeMediaCanStartListener 8701 on the document instead of the page. 8702 (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Call 8703 removeMediaCanStartListener on the current document. 8704 (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Call 8705 addMediaCanStartListener on the new document. 8706 (WebCore::HTMLMediaElement::loadInternal): Call addMediaCanStartListener 8707 on the document instead of the page. 8708 8709 * plugins/PluginView.cpp: 8710 (WebCore::PluginView::startOrAddToUnstartedList): Call addMediaCanStartListener 8711 on the document instead of the page. 8712 (WebCore::PluginView::~PluginView): Call removeMediaCanStartListener 8713 on the document instead of the page, and do it in line instead of calling 8714 a function. 8715 8716 * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary. 8717 8718 2010-05-11 Brian Weinstein <bweinstein (a] apple.com> 8719 8720 Reviewed by Steve Falkenburg and Jon Honeycutt. 8721 Patch by Gavin Barraclough. 8722 8723 REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF. 8724 https://bugs.webkit.org/show_bug.cgi?id=38930 8725 <rdar://problem/7937188> 8726 8727 Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir). 8728 8729 No new tests because no change in behavior. 8730 8731 * WebCore.vcproj/WebCore.vcproj: 8732 8733 2010-05-11 Beth Dakin <bdakin (a] apple.com> 8734 8735 Reviewed by Darin Adler. 8736 8737 Small re-factoring patch in preparation for fixing https:// 8738 bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: Crash clicking 8739 background NPR tab after few minutes of sitting idle 8740 8741 * page/Page.cpp: 8742 (WebCore::Page::takeAnyMediaCanStartListener): 8743 (WebCore::Page::setCanStartMedia): 8744 * page/Page.h: 8745 8746 2010-05-11 Alexey Proskuryakov <ap (a] apple.com> 8747 8748 Reviewed by Brady Eidson. 8749 8750 https://bugs.webkit.org/show_bug.cgi?id=37989 8751 Safari (still) doesn't always send basic credentials preemptively 8752 8753 Test: http/tests/xmlhttprequest/basic-auth-default.html 8754 8755 After fetching credentials from WebCore storage, put them back right away. This will add 8756 default credentials for the directory, since this may be the first time we learn about its 8757 associated protection space. 8758 8759 * platform/network/cf/ResourceHandleCFNet.cpp: 8760 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 8761 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): 8762 * platform/network/mac/ResourceHandleMac.mm: 8763 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 8764 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): 8765 8766 2010-05-11 Kevin Watters <kevinwatters (a] gmail.com> 8767 8768 Reviewed by Kevin Ollivier. 8769 8770 [wx] Create an NSFont on Mac builds that do not have built-in methods to do so. 8771 https://bugs.webkit.org/show_bug.cgi?id=38931 8772 8773 * platform/graphics/wx/FontPlatformData.h: 8774 (WebCore::FontPlatformData::nsFont): 8775 * platform/graphics/wx/FontPlatformDataWxMac.mm: 8776 (DegToRad): 8777 (OSXCreateNSFont): 8778 (WebCore::FontPlatformData::cacheNSFont): 8779 * platform/graphics/wx/SimpleFontDataWx.cpp: 8780 (WebCore::SimpleFontData::platformWidthForGlyph): 8781 8782 2010-05-11 Avi Drissman <avi (a] chromium.org> 8783 8784 Reviewed by Darin Fisher. 8785 8786 [Chromium] Pipe RTL info into WebPopupMenuInfo 8787 https://bugs.webkit.org/show_bug.cgi?id=38749 8788 8789 * platform/chromium/PopupMenuChromium.cpp: 8790 (WebCore::PopupContainer::menuStyle): 8791 * platform/chromium/PopupMenuChromium.h: 8792 8793 2010-05-11 Mark Rowe <mrowe (a] apple.com> 8794 8795 Fix the world. 8796 8797 In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER. 8798 The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking 8799 that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept 8800 in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable 8801 and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong 8802 function in WebCore being called. 8803 8804 We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and 8805 other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change 8806 has been reverted. 8807 8808 * Configurations/FeatureDefines.xcconfig: 8809 8810 2010-05-11 Dimitri Glazkov <dglazkov (a] chromium.org> 8811 8812 Reviewed by Darin Adler. 8813 8814 REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works 8815 https://bugs.webkit.org/show_bug.cgi?id=38913 8816 8817 * Widened the check for a successful submit button to include all HTMLFormControlElements. 8818 * Clarified implicit submission code by: 8819 - introducing HTMLFormControlElement::canTriggerImplicitSubmission flag, 8820 - getting rid of static casting and checking for tag names. 8821 8822 * html/HTMLFormControlElement.h: 8823 (WebCore::HTMLFormControlElement::canTriggerImplicitSubmission): Added. 8824 * html/HTMLFormElement.cpp: 8825 (WebCore::HTMLFormElement::submitImplicitly): Renamed parameters for clarity, refactored code 8826 to use canTriggerImplicitSubmission. 8827 * html/HTMLFormElement.h: Renamed parameter for clarity. 8828 * html/HTMLInputElement.cpp: 8829 (WebCore::HTMLInputElement::defaultEventHandler): Used canTriggerImplicitSubmission() 8830 instead of isTextField() for clarity. 8831 * html/HTMLInputElement.h: 8832 (WebCore::HTMLInputElement::canTriggerImplicitSubmission): Added. 8833 * html/HTMLIsIndexElement.h: 8834 (WebCore::HTMLIsIndexElement::canTriggerImplicitSubmission): Added. 8835 8836 2010-05-11 Sheriff Bot <webkit.review.bot (a] gmail.com> 8837 8838 Unreviewed, rolling out r59171. 8839 http://trac.webkit.org/changeset/59171 8840 https://bugs.webkit.org/show_bug.cgi?id=38933 8841 8842 "Broke the world" (Requested by bweinstein on #webkit). 8843 8844 * WebCore.vcproj/WebCore.vcproj: 8845 8846 2010-05-11 Brian Weinstein <bweinstein (a] apple.com> 8847 8848 Reviewed by Steve Falkenburg. 8849 Patch by Gavin Barraclough. 8850 8851 REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF. 8852 https://bugs.webkit.org/show_bug.cgi?id=38930 8853 <rdar://problem/7937188> 8854 8855 Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir). 8856 8857 No new tests because no change in behavior. 8858 8859 * WebCore.vcproj/WebCore.vcproj: 8860 8861 2010-05-11 Jian Li <jianli (a] chromium.org> 8862 8863 Unreviewed. Fix compiling erron on snow leopard. 8864 8865 * html/FileThreadTask.h: 8866 (WebCore::createFileThreadTask): 8867 8868 2010-05-11 Jian Li <jianli (a] chromium.org> 8869 8870 Reviewed by Dmitry Titov. 8871 8872 Expose FileReader interface. 8873 https://bugs.webkit.org/show_bug.cgi?id=38609 8874 8875 Test: fast/files/file-reader.html 8876 8877 * Configurations/FeatureDefines.xcconfig: 8878 * DerivedSources.cpp: 8879 * DerivedSources.make: 8880 * GNUmakefile.am: 8881 * WebCore.gypi: 8882 * WebCore.pri: 8883 * WebCore.vcproj/WebCore.vcproj: 8884 * WebCore.xcodeproj/project.pbxproj: 8885 * bindings/js/JSEventTarget.cpp: 8886 (WebCore::toJS): 8887 * bindings/v8/V8DOMWrapper.cpp: 8888 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 8889 * html/FileError.idl: 8890 * html/FileReader.idl: Added. 8891 * page/DOMWindow.idl: 8892 8893 2010-05-11 Xan Lopez <xlopez (a] igalia.com> 8894 8895 Reviewed by Gustavo Noronha. 8896 8897 [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation 8898 https://bugs.webkit.org/show_bug.cgi?id=38653 8899 8900 Check if willSendRequest cancelled the request before setting the 8901 first party for the cookies in the message, otherwise we'll get a 8902 critical warning. 8903 8904 * platform/network/soup/ResourceHandleSoup.cpp: 8905 (WebCore::restartedCallback): 8906 8907 2010-05-11 Jer Noble <jer.noble (a] apple.com> 8908 8909 Reviewed by Adele Peterson. 8910 8911 REGRESSION (r59001): 11 media tests are failing on Windows (38847) 8912 rdar://problem/7962997 8913 https://bugs.webkit.org/show_bug.cgi?id=38847 8914 8915 QTMovieWin was too much refactored; the cacheMovieScale() function should have 8916 been left in QTMovie (instead of being moved into QTMovieGWorld). This fixes the 8917 video-size-intrinsic-scale test. 8918 8919 QTMovieTask::updateTaskTimer() was ignoring the maxInterval parameter unless 8920 QTGetTimeUntilNextTask() returned an error, which caused the next timer to be 8921 scheduled for extremely far in the future, breaking some of the layout tests. 8922 8923 QTMovieTask::fireTaskClients() now makes a local copy of the task list before 8924 calling clients, in case one of them removes themselves from the task list and 8925 invalidates our iterating pointer. 8926 8927 * platform/graphics/win/QTMovie.cpp: 8928 (QTMoviePrivate::task): 8929 (QTMoviePrivate::createMovieController): 8930 (QTMoviePrivate::cacheMovieScale): 8931 * platform/graphics/win/QTMovieGWorld.cpp: 8932 (QTMovieGWorldPrivate::movieLoadStateChanged): 8933 * platform/graphics/win/QTMovieTask.cpp: 8934 (QTMovieTask::updateTaskTimer): 8935 (QTMovieTask::fireTaskClients): 8936 8937 2010-05-11 Patrick Gansterer <paroga (a] paroga.com> 8938 8939 Reviewed by Adam Roben. 8940 8941 Port SharedBuffer to WinCE. 8942 https://bugs.webkit.org/show_bug.cgi?id=37222 8943 8944 Use only functions which are available on Win32 and WinCE. 8945 8946 * platform/win/SharedBufferWin.cpp: 8947 (WebCore::SharedBuffer::createWithContentsOfFile): 8948 8949 2010-05-11 Benjamin Poulain <benjamin.poulain (a] nokia.com> 8950 8951 Reviewed by Kenneth Rohde Christiansen. 8952 8953 [Qt] fast/text/find-hidden-text.html 8954 https://bugs.webkit.org/show_bug.cgi?id=32922 8955 8956 Use the real page step for populating the QStyleOption otherwhise 8957 the size can be negative, which can break the QStyle used. 8958 8959 * platform/qt/ScrollbarThemeQt.cpp: 8960 (WebCore::styleOptionSlider): 8961 8962 2010-05-11 Pavel Feldman <pfeldman (a] chromium.org> 8963 8964 Reviewed by Yury Semikhatsky. 8965 8966 Web Inspector: make styles rendering more user-friendly. 8967 8968 https://bugs.webkit.org/show_bug.cgi?id=36747 8969 8970 * inspector/front-end/ElementsPanel.js: 8971 (WebInspector.ElementsPanel): 8972 * inspector/front-end/StylesSidebarPane.js: 8973 (WebInspector.StylesSidebarPane.prototype._update): 8974 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules): 8975 (WebInspector.ComputedStyleSidebarPane): 8976 (WebInspector.StylePropertiesSection): 8977 (WebInspector.StylePropertiesSection.prototype.collapse): 8978 (WebInspector.StylePropertiesSection.prototype.startEditingSelector): 8979 * inspector/front-end/inspector.css: 8980 (#elements-content): 8981 (#elements-sidebar): 8982 (.styles-sidebar-separator): 8983 (.styles-section): 8984 (.styles-section .header): 8985 (.styles-section .header .title): 8986 (.styles-section .header .subtitle): 8987 (.styles-section .header .subtitle a): 8988 (.styles-section .properties): 8989 (.styles-section.no-affect .properties li): 8990 (.styles-section.no-affect .properties li.editing): 8991 (.styles-section.expanded .properties): 8992 (.styles-section .properties li): 8993 (.styles-section .properties li.parent): 8994 (.styles-section .properties ol): 8995 (.styles-section .properties ol.expanded): 8996 (.styles-section .properties li.parent::before): 8997 (.styles-section .properties li.parent.expanded::before): 8998 (.styles-section .properties li .info): 8999 (.styles-section:hover .properties .enabled-button): 9000 (.styles-section .properties li.disabled .enabled-button): 9001 (.styles-section .properties .enabled-button): 9002 (.styles-section .properties .overloaded, .styles-section .properties .disabled): 9003 (.styles-section.computed-style .properties .disabled): 9004 (.styles-section .properties .implicit, .styles-section .properties .inherited): 9005 (.styles-section .properties .inherited): 9006 (.styles-section.show-inherited .properties .inherited): 9007 9008 2010-05-11 Nikolas Zimmermann <nzimmermann (a] rim.com> 9009 9010 Reviewed by Dirk Schulze. 9011 9012 Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs 9013 https://bugs.webkit.org/show_bug.cgi?id=38799 9014 9015 Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox. 9016 Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites. 9017 9018 Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests. 9019 9020 Tests: svg/text/text-hkern-on-vertical-text.svg 9021 svg/text/text-vkern-on-horizontal-text.svg 9022 9023 * Android.mk: Add SVGTextLayoutUtilities.cpp/h to build. 9024 * GNUmakefile.am: Ditto. 9025 * WebCore.gypi: Ditto. 9026 * WebCore.pro: Ditto. 9027 * WebCore.vcproj/WebCore.vcproj: Ditto. 9028 * WebCore.xcodeproj/project.pbxproj: Ditto. 9029 * rendering/SVGInlineTextBox.cpp: 9030 (WebCore::SVGInlineTextBox::calculateGlyphWidth): Use textRenderer()->characters() instead of textRenderer()->text()->characters() as shortcut. 9031 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): Fix style issue, no else if after a return branch. 9032 (WebCore::SVGInlineTextBox::paintSelection): Use !color.alpha() instead of color.alpha() == 0. 9033 (WebCore::SVGInlineTextBox::buildLayoutInformation): Moved from SVGRootInlineBox::buildLayoutInformationForTextBox. 9034 * rendering/SVGInlineTextBox.h: Fix indention. 9035 (WebCore::SVGInlineTextBox::selectionTop): Inlined. 9036 (WebCore::SVGInlineTextBox::selectionHeight): Inlined. 9037 * rendering/SVGRenderTreeAsText.cpp: Include SVGTextLayoutUtilities.h 9038 * rendering/SVGRootInlineBox.cpp: Move almost all static text layout helper functions in SVGTextLayoutUtilities 9039 (WebCore::calculateTextLengthCorrectionForTextChunk): Fixed style issue in long if conditions spanning multiple lines. 9040 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use different topLeftPositionOfCharacterRange() taking start/end iterators. 9041 (WebCore::SVGRootInlineBox::buildLayoutInformation): Use the moved SVGInlineTextBox::buildLayoutInformation() method. 9042 (WebCore::SVGRootInlineBox::buildTextChunks): Fixed small style issue, remove unneeded parenthesis. 9043 (WebCore::SVGRootInlineBox::layoutTextChunks): Fix style issue in debugging code. 9044 * rendering/SVGRootInlineBox.h: Rename 'LastGlyphInfo' to 'SVGLastGlyphInfo' and move to SVGTextLayoutUtilities. 9045 (WebCore::SVGRootInlineBox::svgTextChunks): Inlined for speed. 9046 * rendering/SVGTextLayoutUtilities.cpp: Added. 9047 (WebCore::isVerticalWritingMode): 9048 (WebCore::dominantBaselineToShift): 9049 (WebCore::alignmentBaselineToShift): 9050 (WebCore::glyphOrientationToAngle): 9051 (WebCore::glyphOrientationIsMultiplyOf180Degrees): 9052 (WebCore::applyGlyphAdvanceAndShiftRespectingOrientation): 9053 (WebCore::topLeftPositionOfCharacterRange): 9054 (WebCore::cummulatedWidthOfInlineBoxCharacterRange): 9055 (WebCore::cummulatedHeightOfInlineBoxCharacterRange): 9056 (WebCore::svgTextRunForInlineTextBox): 9057 (WebCore::calculateCSSKerning): 9058 (WebCore::applySVGKerning): 9059 * rendering/SVGTextLayoutUtilities.h: Added. 9060 (WebCore::): 9061 (WebCore::SVGTextPaintInfo::SVGTextPaintInfo): 9062 (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo): 9063 9064 2010-05-11 Zoltan Herczeg <zherczeg (a] webkit.org> 9065 9066 Reviewed by Dirk Schulze. 9067 9068 RenderSVGImage::imageChanged should invalidate the SVG filter cache 9069 https://bugs.webkit.org/show_bug.cgi?id=38838 9070 9071 Test: svg/filters/filteredImage.svg 9072 9073 * rendering/RenderSVGImage.cpp: 9074 (WebCore::RenderSVGImage::imageChanged): 9075 9076 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9077 9078 Fix asserting GTK build. 9079 9080 r59137 changed the behavior of RenderObject::repaintUsingContainer(). I mistakenly 9081 thought that non-compositing builds would always pass a 0 repaintContainer, but 9082 actually the RenderView is passed in this case. So use this to repaint if 9083 ACCELERATED_COMPOSITING is turned off. 9084 9085 * rendering/RenderObject.cpp: 9086 (WebCore::RenderObject::repaintUsingContainer): 9087 9088 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9089 9090 Fix warning on Windows about unreachable code. 9091 9092 * rendering/RenderLayerCompositor.cpp: 9093 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): 9094 9095 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9096 9097 Reviewed by Anders Carlsson 9098 9099 Allow compositing layers to be connected across iframe boundaries on Mac 9100 https://bugs.webkit.org/show_bug.cgi?id=38856 9101 9102 RenderObject::repaintUsingContainer() incorrectly did a view-based 9103 repaint if the repaint container was the RenderView. Instead, we need 9104 to check to see if the RenderView's layer is composited, and, if so, 9105 whether it's painting into the window or not. This can occur when iframes 9106 are composited. 9107 9108 The bug is timing-sensitive, involving compositing in iframes, and I was not able to 9109 concoct a good testcase. 9110 9111 * rendering/RenderObject.cpp: 9112 (WebCore::RenderObject::repaintUsingContainer): 9113 9114 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9115 9116 Reviewed by Anders Carlsson 9117 9118 Allow compositing layers to be connected across iframe boundaries on Mac 9119 https://bugs.webkit.org/show_bug.cgi?id=38856 9120 9121 Changes to allow compositing layers for iframes to switch between being hosted 9122 by the iframe's layer-backed NSView, and parented in the GraphicsLayer tree of the 9123 enclosing document. 9124 9125 Tests: compositing/iframes/connect-compositing-iframe.html 9126 compositing/iframes/connect-compositing-iframe2.html 9127 compositing/iframes/connect-compositing-iframe3.html 9128 9129 * page/FrameView.h: 9130 * page/FrameView.cpp: 9131 (WebCore::FrameView::hasCompositedContent): New convenience method. 9132 (WebCore::FrameView::setIsOverlapped): If we're composited, poke the owner document in case it 9133 wants to re-evaluate compositing decisions. 9134 (WebCore::FrameView::isOverlapped): Just expose the existing flag. 9135 9136 * rendering/RenderLayer.cpp: 9137 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 9138 (WebCore::RenderLayer::isSelfPaintingLayer): 9139 9140 * rendering/RenderLayerBacking.cpp: 9141 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): If this is an iframe, we need 9142 to ensure that the layers for the iframe content are hooked up. 9143 (WebCore::RenderLayerBacking::updateDrawsContent): When an iframe toggles between different 9144 attachments, the 'drawsContent' behavior of its root layer changes, so needs to be updated. 9145 9146 * rendering/RenderLayerCompositor.h: 9147 (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer() 9148 instead of detachRootPlatformLayer() and manually zeroing out the OwnPtrs. 9149 (WebCore::RenderLayerCompositor::updateBacking): If a RenderIFrame changes compositing mode, 9150 we need to ensure that its content compositor attachment is updated. 9151 (WebCore::RenderLayerCompositor::repaintOnCompositingChange): The existing code had a bug 9152 that caused repaints for RenderViews (which have no parent) to bail. We only want to bail 9153 for non-RenderViews that are not attached. 9154 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Factored the iframe-connecting 9155 code into a new method, parentIFrameContentLayers(). 9156 (WebCore::RenderLayerCompositor::parentIFrameContentLayers): New method to share the code that hooks 9157 up the iframe's compositing layers to the parent. 9158 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Add logic to propagate 9159 compositing out of iframes on Mac in two situations: 1) when the FrameView is overlapped, and 2) 9160 if the parent document is already composited. 9161 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Clean up the logic here to better deal 9162 with dynamic changes of the attachment type. 9163 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Clean up and null out the clipping layer here. 9164 (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call rootLayerAttachmentChanged(). 9165 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. Also unparent the clipping and platform layers. 9166 (WebCore::RenderLayerCompositor::updateRootLayerAttachment): Call ensureRootPlatformLayer() to re-evaluate 9167 the layer attachment. 9168 (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): We need to update the drawsContent() status 9169 of the RenderView's layer's backing, because it changes depending on the attachment. 9170 9171 * rendering/RenderWidget.cpp: 9172 (WebCore::RenderWidget::paint): Do overlap testing if the frameView can do fast repaints (as before), 9173 but also now when the frameView has composited content. 9174 9175 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9176 9177 Reviewed by Anders Carlsson 9178 9179 Allow compositing layers to be connected across iframe boundaries on Mac 9180 https://bugs.webkit.org/show_bug.cgi?id=38856 9181 9182 Rename the static shouldPropagateCompositingToIFrameParent() to shouldPropagateCompositingToEnclosingIFrame(), 9183 to pave the way for runtime switches in the propagation behavior. We have to make sure we call it on 9184 the correct RenderLayerCompositor (that belonging to the iframe's content document). 9185 9186 * rendering/RenderLayerBacking.cpp: 9187 (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we 9188 can simplify this method. 9189 9190 * rendering/RenderLayerCompositor.h: 9191 * rendering/RenderLayerCompositor.cpp: 9192 (WebCore::RenderLayerCompositor::enableCompositingMode): No need for the setNeedsStyleRecalc() 9193 here, because the ensureRootPlatformLayer() or destroyRootPlatformLayer() will have already done it. 9194 9195 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine 9196 whether to parent the iframe's layers. 9197 9198 (WebCore::RenderLayerCompositor::didMoveOnscreen): Method name change. 9199 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Name change. 9200 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): We need to consult the iframe contents 9201 document's compositor to ask whether propagation is appropriate. 9202 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Name change. 9203 9204 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9205 9206 Reviewed by Anders Carlsson 9207 9208 Allow compositing layers to be connected across iframe boundaries on Mac 9209 https://bugs.webkit.org/show_bug.cgi?id=38856 9210 9211 Use an enum for the type of root layer attachment on a RenderLayerCompositor, so we can 9212 determine if the attachment is via the ChromeClient, via an enclosing iframe, or unattached. 9213 9214 * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum. 9215 (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment. 9216 9217 * rendering/RenderLayerCompositor.cpp: 9218 (WebCore::RenderLayerCompositor::RenderLayerCompositor): Init m_rootLayerAttachment. 9219 (WebCore::RenderLayerCompositor::~RenderLayerCompositor): Assert that is unattached. 9220 (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer instead of willMoveOffscreen, 9221 when there are no layers left. Also clear out the clipping layer. 9222 (WebCore::RenderLayerCompositor::didMoveOnscreen): Call attachRootPlatformLayer. 9223 (WebCore::RenderLayerCompositor::willMoveOffscreen): Call ensureRootPlatformLayer with the appropriate attachment. 9224 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Only create the m_rootPlatformLayer if we don't have one 9225 already, but be sure to always set the root layer geometry orientation. Also only create the 9226 m_clippingLayer if we need to. 9227 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Call detachRootPlatformLayer(). 9228 (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Code moved from didMoveOnscreen, but switching on 9229 attachment. 9230 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on 9231 attachment. 9232 9233 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9234 9235 Reviewed by Anders Carlsson 9236 9237 Allow compositing layers to be connected across iframe boundaries on Mac 9238 https://bugs.webkit.org/show_bug.cgi?id=38856 9239 9240 Clean up the geometry logic when propagating compositing out of iframes. 9241 9242 * rendering/RenderLayerCompositor.cpp: 9243 (WebCore::RenderLayerCompositor::updateRootLayerPosition): Geometry on m_rootPlatformLayer no longer 9244 needs to be special when there's a clipping layer. 9245 9246 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Don't set the clipping layer to have 9247 flipped geometry ever, and only set the root layer to have flipped geometry if it is not 9248 being hosted in an iframe. Also no need to set a custom anchor point on the clipping layer. 9249 9250 2010-05-10 Simon Fraser <simon.fraser (a] apple.com> 9251 9252 Reviewed by Anders Carlsson 9253 9254 Allow compositing layers to be connected across iframe boundaries on Mac 9255 https://bugs.webkit.org/show_bug.cgi?id=38856 9256 9257 Clean up some methods related to composited iframes. No behavioral changes. 9258 9259 * rendering/RenderLayerBacking.h: Move innerRenderLayerCompositor() to be a static method: 9260 RenderLayerCompositor::iframeContentsCompositor(). 9261 * rendering/RenderLayerBacking.cpp: Remove innerRenderLayerCompositor(). 9262 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call iframeContentsCompositor(). 9263 9264 * rendering/RenderLayerCompositor.cpp: 9265 (WebCore::RenderLayerCompositor::enableCompositingMode): Call enclosingIFrameElement() 9266 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): iframeContentsCompositor() is now a static method in this class. 9267 Also check that the iframe contents are in compositing mode (slightly clearer than relying on rootPlatformLayer() returning 9268 null). 9269 (WebCore::RenderLayerCompositor::iframeContentsCompositor): Moved from RenderLayerBacking. 9270 (WebCore::RenderLayerCompositor::didMoveOnscreen): Use enclosingIFrameElement() method. 9271 (WebCore::RenderLayerCompositor::willMoveOffscreen): Ditto. 9272 (WebCore::RenderLayerCompositor::enclosingIFrameElement): New method. 9273 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Call enclosingIFrameElement(). 9274 * rendering/RenderLayerCompositor.h: New method, iframeContentsCompositor(). 9275 9276 2010-05-10 Dumitru Daniliuc <dumi (a] chromium.org> 9277 9278 Reviewed by Brady Eidson. 9279 9280 Cleaning up and fixing the existing JSC DB bindings. 9281 https://bugs.webkit.org/show_bug.cgi?id=34994 9282 9283 * bindings/js/JSDOMWindowCustom.cpp: 9284 (WebCore::JSDOMWindow::openDatabase): 9285 * bindings/js/JSDatabaseCustom.cpp: 9286 (WebCore::JSDatabase::changeVersion): 9287 (WebCore::createTransaction): 9288 (WebCore::JSDatabase::transaction): 9289 (WebCore::JSDatabase::readTransaction): 9290 * bindings/js/JSSQLTransactionCustom.cpp: 9291 (WebCore::JSSQLTransaction::executeSql): 9292 9293 2010-05-10 Fumitoshi Ukai <ukai (a] chromium.org> 9294 9295 Reviewed by Alexey Proskuryakov. 9296 9297 WebSocket needs to suspend/resume as Active DOM object. 9298 https://bugs.webkit.org/show_bug.cgi?id=38171 9299 9300 Implement suspend()/resume() in WebSocket and WebSocketChannel. 9301 While WebSocketChannel is suspended, it only adds received data in m_buffer 9302 or record the handle was closed, and report no event to WebSocket. 9303 When resumed, it will process buffer or handle closing. 9304 Since suspend/resume would be called while processing JavaScript event handler (e.g. before/after alert()), WebSocketChannel method that would fire an event need to be reentrant. 9305 So, WebSocketChannel::processBuffer() call WebSocket to fire an event at most once and skips buffer before the calling, 9306 so that next call of processBuffer() would process the next frame. 9307 9308 * websockets/ThreadableWebSocketChannel.h: 9309 * websockets/ThreadableWebSocketChannelClientWrapper.h: 9310 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect): 9311 Mark channel is opened, and process pending events if not suspended. 9312 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage): 9313 Push message back in pending queue, and process pending events if not suspended. 9314 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): 9315 Mark channel is closed, and process pending events if not suspended. 9316 (WebCore::ThreadableWebSocketChannelClientWrapper::suspend): 9317 Mark suspended. 9318 (WebCore::ThreadableWebSocketChannelClientWrapper::resume): 9319 Unmark suspended, and process pending events. 9320 (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper): 9321 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents): 9322 * websockets/WebSocket.cpp: 9323 (WebCore::WebSocket::canSuspend): 9324 (WebCore::WebSocket::suspend): 9325 (WebCore::WebSocket::resume): 9326 (WebCore::WebSocket::didClose): 9327 * websockets/WebSocket.h: 9328 * websockets/WebSocketChannel.cpp: 9329 (WebCore::WebSocketChannel::WebSocketChannel): 9330 (WebCore::WebSocketChannel::connect): 9331 (WebCore::WebSocketChannel::send): 9332 (WebCore::WebSocketChannel::bufferedAmount): 9333 (WebCore::WebSocketChannel::close): 9334 (WebCore::WebSocketChannel::suspend): 9335 (WebCore::WebSocketChannel::resume): 9336 When resumed, it will process buffer and 9337 handle closing if handle was already closed while suspended. 9338 (WebCore::WebSocketChannel::didClose): 9339 If suspended, record unhandled bufferedAmount and set m_closed true, so that closing will be processed when resumed. 9340 (WebCore::WebSocketChannel::didReceiveData): 9341 Add received data in buffer and process buffer while it is not suspended. 9342 (WebCore::WebSocketChannel::processBuffer): 9343 Process handshake header or one frame message. 9344 Return true if there are more data to be processed. 9345 Return false otherwise (e.g. incomplete handshake header or incomplete frame). 9346 * websockets/WebSocketChannel.h: 9347 * websockets/WorkerThreadableWebSocketChannel.cpp: 9348 (WebCore::WorkerThreadableWebSocketChannel::suspend): 9349 (WebCore::WorkerThreadableWebSocketChannel::resume): 9350 (WebCore::WorkerThreadableWebSocketChannel::Peer::suspend): 9351 (WebCore::WorkerThreadableWebSocketChannel::Peer::resume): 9352 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend): 9353 (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend): 9354 (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume): 9355 (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume): 9356 * websockets/WorkerThreadableWebSocketChannel.h: 9357 9358 2010-05-07 Dumitru Daniliuc <dumi (a] chromium.org> 9359 9360 Reviewed by Brady Eidson. 9361 9362 Implement the JSC bindings for the sync DB API. 9363 https://bugs.webkit.org/show_bug.cgi?id=34994 9364 9365 * bindings/js/JSDatabaseSyncCustom.cpp: 9366 (WebCore::JSDatabaseSync::changeVersion): 9367 (WebCore::createTransaction): 9368 * bindings/js/JSSQLTransactionSyncCustom.cpp: 9369 (WebCore::JSSQLTransactionSync::executeSql): 9370 9371 2010-05-10 Dean Jackson <dino (a] apple.com> 9372 9373 Reviewed by Simon Fraser. 9374 9375 https://bugs.webkit.org/show_bug.cgi?id=36566 9376 The animation-fill-mode property was missing from 9377 a few places where the animation shorthand is set up. 9378 9379 Test: animations/animation-shorthand-removed.html 9380 9381 * css/CSSMutableStyleDeclaration.cpp: 9382 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Make sure 9383 animation-fill-mode is included in the animation shorthand 9384 * css/CSSPropertyLonghand.cpp: 9385 (WebCore::initShorthandMap): 9386 9387 2010-05-10 Sam Weinig <sam (a] webkit.org> 9388 9389 Reviewed by Darin Adler. 9390 9391 Fix for https://bugs.webkit.org/show_bug.cgi?id=38583 9392 <rdar://problem/7948784> Crash in Element::normalizeAttributes. 9393 9394 Test: fast/dom/Element/normalize-crash.html 9395 9396 * dom/Element.cpp: 9397 (WebCore::Element::normalizeAttributes): Copy attributes to a vector 9398 before iterating. 9399 * dom/NamedAttrMap.cpp: 9400 (WebCore::NamedNodeMap::copyAttributesToVector): Added. 9401 * dom/NamedAttrMap.h: 9402 9403 2010-05-10 Jian Li <jianli (a] chromium.org> 9404 9405 Reviewed by Adam Barth. 9406 9407 [V8] Fix V8 code generator script to generate the correct code for 9408 converting ScriptString. 9409 https://bugs.webkit.org/show_bug.cgi?id=38873 9410 9411 Updated the bindings test result. Note that the result is also updated 9412 to reflect other script generator changes not introduced by this patch. 9413 9414 * bindings/scripts/CodeGeneratorV8.pm: 9415 * bindings/scripts/test/JS/JSTestCallback.cpp: 9416 (WebCore::JSTestCallback::JSTestCallback): 9417 (WebCore::JSTestCallback::~JSTestCallback): 9418 * bindings/scripts/test/JS/JSTestCallback.h: 9419 * bindings/scripts/test/V8/V8TestObj.cpp: 9420 (WebCore::TestObjInternal::scriptStringAttrAttrGetter): 9421 9422 2010-05-10 Mark Rowe <mrowe (a] apple.com> 9423 9424 Fix the 32-bit WebKit2 build. 9425 9426 * WebCore.base.exp: 9427 9428 2010-05-07 Jon Honeycutt <jhoneycutt (a] apple.com> 9429 9430 Crash closing window containing Flash plug-in 9431 https://bugs.webkit.org/show_bug.cgi?id=38797 9432 <rdar://problem/7935266> 9433 9434 Reviewed by Eric Seidel. 9435 9436 Test: plugins/geturlnotify-during-document-teardown.html 9437 9438 * plugins/PluginView.cpp: 9439 (WebCore::PluginView::load): 9440 Null check the DocumentLoader; it's possible for this to be null while 9441 the Document is being torn down and before the plug-in is destroyed. 9442 9443 2010-05-10 Alexey Proskuryakov <ap (a] apple.com> 9444 9445 Reviewed by Darin Adler. 9446 9447 Based on a patch by Eric Seidel. 9448 9449 https://bugs.webkit.org/show_bug.cgi?id=28697 9450 <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex() 9451 9452 It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes 9453 that it can adjust start and end position to any node except for the one being removed - 9454 so these notifications cannot be batched. 9455 9456 Test: fast/dom/Range/remove-all-children-crash.html 9457 9458 * dom/ContainerNode.cpp: 9459 (WebCore::willRemoveChild): Removed unused ExceptionCode. 9460 (WebCore::willRemoveChildren): New function, used in removeChildren() case. 9461 (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it. 9462 (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode. 9463 (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode 9464 and willRemoveChild. 9465 9466 * dom/Document.cpp: 9467 (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case. 9468 9469 * dom/Document.h: 9470 (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case. 9471 9472 * dom/Range.h: 9473 * dom/Range.cpp: 9474 (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case. 9475 (WebCore::Range::nodeChildrenWillBeRemoved): Ditto. 9476 9477 2010-05-10 Dumitru Daniliuc <dumi (a] chromium.org> 9478 9479 Reviewed by Adam Barth. 9480 9481 Implement the V8 bindings for the sync DB API. 9482 https://bugs.webkit.org.show_bug.cgi?id=34994 9483 9484 * bindings/v8/custom/V8DatabaseSyncCustom.cpp: 9485 (WebCore::V8DatabaseSync::changeVersionCallback): 9486 (WebCore::createTransaction): 9487 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: 9488 (WebCore::V8SQLTransactionSync::executeSqlCallback): 9489 * bindings/v8/custom/V8WorkerContextCustom.cpp: 9490 (WebCore::V8WorkerContextCustom::openDatabaseSyncCallback): 9491 9492 2010-05-10 Dumitru Daniliuc <dumi (a] chromium.org> 9493 9494 Reviewed by Adam Barth. 9495 9496 Clean up and fix the existing V8 DB bindings. 9497 https://bugs.webkit.org/show_bug.cgi?id=34994 9498 9499 * bindings/v8/custom/V8DOMWindowCustom.cpp: 9500 (WebCore::V8DOMWindow::openDatabaseCallback): 9501 * bindings/v8/custom/V8DatabaseCustom.cpp: 9502 (WebCore::V8Database::changeVersionCallback): 9503 (WebCore::createTransaction): 9504 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 9505 (WebCore::V8SQLTransaction::executeSqlCallback): 9506 9507 2010-05-10 Kevin Ollivier <kevino (a] theolliviers.com> 9508 9509 [wx] Build fix for wx 2.8 after complex text changes. 9510 9511 * platform/graphics/wx/FontPlatformDataWxMac.mm: 9512 (WebCore::FontPlatformData::nsFont): 9513 * platform/graphics/wx/SimpleFontDataWx.cpp: 9514 (WebCore::SimpleFontData::platformWidthForGlyph): 9515 9516 2010-05-10 John Gregg <johnnyg (a] google.com> 9517 9518 [chromium] Try to fix the chromium build after r59085 by 9519 including MathExtras.h before using isnan(). 9520 https://bugs.webkit.org/show_bug.cgi?id=38860 9521 9522 * html/canvas/WebGLIntegralTypedArrayBase.h: 9523 9524 2010-05-10 Kevin Ollivier <kevino (a] theolliviers.com> 9525 9526 [wx] Build fix for wx trunk after complex text changes. 9527 9528 * platform/graphics/wx/FontPlatformDataWx.cpp: 9529 (WebCore::FontPlatformData::FontPlatformData): 9530 9531 2010-05-10 Tony Gentilcore <tonyg (a] chromium.org> 9532 9533 Reviewed by Adam Barth. 9534 9535 Provide mechanism to cache metadata for a resource 9536 https://bugs.webkit.org/show_bug.cgi?id=37874 9537 9538 No new tests because no new functionality. 9539 9540 * WebCore.gypi: 9541 * loader/CachedMetadata.h: Added. 9542 (WebCore::CachedMetadata::create): 9543 (WebCore::CachedMetadata::deserialize): 9544 (WebCore::CachedMetadata::serialize): 9545 (WebCore::CachedMetadata::~CachedMetadata): 9546 (WebCore::CachedMetadata::dataTypeID): 9547 (WebCore::CachedMetadata::data): 9548 (WebCore::CachedMetadata::size): 9549 (WebCore::CachedMetadata::readUnsigned): 9550 (WebCore::CachedMetadata::appendUnsigned): 9551 (WebCore::CachedMetadata::CachedMetadata): 9552 * loader/CachedResource.cpp: 9553 (WebCore::CachedResource::setSerializedCachedMetadata): 9554 (WebCore::CachedResource::setCachedMetadata): 9555 (WebCore::CachedResource::cachedMetadata): 9556 * loader/CachedResource.h: 9557 * loader/ResourceLoader.h: 9558 (WebCore::ResourceLoader::didReceiveCachedMetadata): 9559 * loader/SubresourceLoader.cpp: 9560 (WebCore::SubresourceLoader::didReceiveCachedMetadata): 9561 * loader/SubresourceLoader.h: 9562 * loader/SubresourceLoaderClient.h: 9563 (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata): 9564 * loader/loader.cpp: 9565 (WebCore::Loader::Host::didReceiveCachedMetadata): 9566 * loader/loader.h: 9567 * platform/network/ResourceHandle.cpp: 9568 (WebCore::ResourceHandle::cacheMetadata): 9569 * platform/network/ResourceHandle.h: 9570 * platform/network/ResourceHandleClient.h: 9571 (WebCore::ResourceHandleClient::didReceiveCachedMetadata): 9572 9573 2010-05-09 Kenneth Russell <kbr (a] google.com> 9574 9575 Reviewed by Dimitri Glazkov. 9576 9577 Refactor WebGLArray types to share more code 9578 https://bugs.webkit.org/show_bug.cgi?id=37712 9579 9580 Refactored WebGLArray types for maximal code sharing. Added 9581 WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template 9582 superclasses. Changed overridden virtuals to have minimal 9583 visibility (private instead of public). Fixed const correctness of 9584 a few methods. There are no changes to the public APIs of the 9585 WebGLArray classes; the JavaScript bindings are unchanged. 9586 9587 No new tests; existing tests cover this functionality. Ran all 9588 WebGL layout tests in Safari and Chromium on Mac OS X. 9589 9590 * WebCore.gypi: 9591 * WebCore.xcodeproj/project.pbxproj: 9592 * html/canvas/WebGLArray.h: 9593 (WebCore::WebGLArray::buffer): 9594 (WebCore::WebGLArray::baseAddress): 9595 (WebCore::WebGLArray::byteOffset): 9596 * html/canvas/WebGLByteArray.cpp: 9597 (WebCore::WebGLByteArray::create): 9598 (WebCore::WebGLByteArray::WebGLByteArray): 9599 (WebCore::WebGLByteArray::slice): 9600 * html/canvas/WebGLByteArray.h: 9601 (WebCore::WebGLByteArray::isByteArray): 9602 * html/canvas/WebGLFloatArray.cpp: 9603 (WebCore::WebGLFloatArray::create): 9604 (WebCore::WebGLFloatArray::WebGLFloatArray): 9605 (WebCore::WebGLFloatArray::slice): 9606 * html/canvas/WebGLFloatArray.h: 9607 (WebCore::WebGLFloatArray::set): 9608 (WebCore::WebGLFloatArray::item): 9609 (WebCore::WebGLFloatArray::isFloatArray): 9610 * html/canvas/WebGLIntArray.cpp: 9611 (WebCore::WebGLIntArray::create): 9612 (WebCore::WebGLIntArray::WebGLIntArray): 9613 (WebCore::WebGLIntArray::slice): 9614 * html/canvas/WebGLIntArray.h: 9615 (WebCore::WebGLIntArray::isIntArray): 9616 * html/canvas/WebGLIntegralTypedArrayBase.h: Added. 9617 (WebCore::WebGLIntegralTypedArrayBase::set): 9618 (WebCore::WebGLIntegralTypedArrayBase::item): 9619 (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase): 9620 * html/canvas/WebGLShortArray.cpp: 9621 (WebCore::WebGLShortArray::create): 9622 (WebCore::WebGLShortArray::WebGLShortArray): 9623 (WebCore::WebGLShortArray::slice): 9624 * html/canvas/WebGLShortArray.h: 9625 (WebCore::WebGLShortArray::isShortArray): 9626 * html/canvas/WebGLTypedArrayBase.h: Added. 9627 (WebCore::WebGLTypedArrayBase::data): 9628 (WebCore::WebGLTypedArrayBase::set): 9629 (WebCore::WebGLTypedArrayBase::length): 9630 (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase): 9631 (WebCore::WebGLTypedArrayBase::create): 9632 (WebCore::WebGLTypedArrayBase::sliceImpl): 9633 (WebCore::WebGLTypedArrayBase::byteLength): 9634 * html/canvas/WebGLUnsignedByteArray.cpp: 9635 (WebCore::WebGLUnsignedByteArray::create): 9636 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray): 9637 (WebCore::WebGLUnsignedByteArray::slice): 9638 * html/canvas/WebGLUnsignedByteArray.h: 9639 (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray): 9640 * html/canvas/WebGLUnsignedIntArray.cpp: 9641 (WebCore::WebGLUnsignedIntArray::create): 9642 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray): 9643 (WebCore::WebGLUnsignedIntArray::slice): 9644 * html/canvas/WebGLUnsignedIntArray.h: 9645 (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray): 9646 * html/canvas/WebGLUnsignedShortArray.cpp: 9647 (WebCore::WebGLUnsignedShortArray::create): 9648 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray): 9649 (WebCore::WebGLUnsignedShortArray::slice): 9650 * html/canvas/WebGLUnsignedShortArray.h: 9651 (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray): 9652 9653 2010-05-10 Kenneth Russell <kbr (a] google.com> 9654 9655 Reviewed by Dimitri Glazkov. 9656 9657 Refactor WebGLArray types to share more code 9658 https://bugs.webkit.org/show_bug.cgi?id=37712 9659 9660 Refactored WebGLArray types for maximal code sharing. Added 9661 WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template 9662 superclasses. Changed overridden virtuals to have minimal 9663 visibility (private instead of public). Fixed const correctness of 9664 a few methods. There are no changes to the public APIs of the 9665 WebGLArray classes; the JavaScript bindings are unchanged. 9666 9667 No new tests; existing tests cover this functionality. Ran all 9668 WebGL layout tests in Safari and Chromium on Mac OS X. 9669 9670 * WebCore.gypi: 9671 * WebCore.xcodeproj/project.pbxproj: 9672 * html/canvas/WebGLArray.h: 9673 (WebCore::WebGLArray::buffer): 9674 (WebCore::WebGLArray::baseAddress): 9675 (WebCore::WebGLArray::byteOffset): 9676 * html/canvas/WebGLByteArray.cpp: 9677 (WebCore::WebGLByteArray::create): 9678 (WebCore::WebGLByteArray::WebGLByteArray): 9679 (WebCore::WebGLByteArray::slice): 9680 * html/canvas/WebGLByteArray.h: 9681 (WebCore::WebGLByteArray::isByteArray): 9682 * html/canvas/WebGLFloatArray.cpp: 9683 (WebCore::WebGLFloatArray::create): 9684 (WebCore::WebGLFloatArray::WebGLFloatArray): 9685 (WebCore::WebGLFloatArray::slice): 9686 * html/canvas/WebGLFloatArray.h: 9687 (WebCore::WebGLFloatArray::set): 9688 (WebCore::WebGLFloatArray::item): 9689 (WebCore::WebGLFloatArray::isFloatArray): 9690 * html/canvas/WebGLIntArray.cpp: 9691 (WebCore::WebGLIntArray::create): 9692 (WebCore::WebGLIntArray::WebGLIntArray): 9693 (WebCore::WebGLIntArray::slice): 9694 * html/canvas/WebGLIntArray.h: 9695 (WebCore::WebGLIntArray::isIntArray): 9696 * html/canvas/WebGLIntegralTypedArrayBase.h: Added. 9697 (WebCore::WebGLIntegralTypedArrayBase::set): 9698 (WebCore::WebGLIntegralTypedArrayBase::item): 9699 (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase): 9700 * html/canvas/WebGLShortArray.cpp: 9701 (WebCore::WebGLShortArray::create): 9702 (WebCore::WebGLShortArray::WebGLShortArray): 9703 (WebCore::WebGLShortArray::slice): 9704 * html/canvas/WebGLShortArray.h: 9705 (WebCore::WebGLShortArray::isShortArray): 9706 * html/canvas/WebGLTypedArrayBase.h: Added. 9707 (WebCore::WebGLTypedArrayBase::data): 9708 (WebCore::WebGLTypedArrayBase::set): 9709 (WebCore::WebGLTypedArrayBase::length): 9710 (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase): 9711 (WebCore::WebGLTypedArrayBase::create): 9712 (WebCore::WebGLTypedArrayBase::sliceImpl): 9713 (WebCore::WebGLTypedArrayBase::byteLength): 9714 * html/canvas/WebGLUnsignedByteArray.cpp: 9715 (WebCore::WebGLUnsignedByteArray::create): 9716 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray): 9717 (WebCore::WebGLUnsignedByteArray::slice): 9718 * html/canvas/WebGLUnsignedByteArray.h: 9719 (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray): 9720 * html/canvas/WebGLUnsignedIntArray.cpp: 9721 (WebCore::WebGLUnsignedIntArray::create): 9722 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray): 9723 (WebCore::WebGLUnsignedIntArray::slice): 9724 * html/canvas/WebGLUnsignedIntArray.h: 9725 (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray): 9726 * html/canvas/WebGLUnsignedShortArray.cpp: 9727 (WebCore::WebGLUnsignedShortArray::create): 9728 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray): 9729 (WebCore::WebGLUnsignedShortArray::slice): 9730 * html/canvas/WebGLUnsignedShortArray.h: 9731 (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray): 9732 9733 2010-05-10 Brent Fulgham <bfulgham (a] webkit.org> 9734 9735 Build fix, not reviewed. 9736 9737 Correct post-build copy command for WinCairo port to make sure 9738 cairo headers are available for WebKit.dll build. 9739 9740 * WebCore.vcproj/WebCore.vcproj: 9741 9742 2010-05-10 Dirk Schulze <krit (a] webkit.org> 9743 9744 Reviewed by Nikolas Zimmermann. 9745 9746 Further optimization for SVG's repaintRect calculation 9747 https://bugs.webkit.org/show_bug.cgi?id=38820 9748 9749 This is a further optimization to get smaller repaintRects on SVG objects 9750 in combination with masker or clipper resources. 9751 Masker takes the unite of all stroke boundaries of it's childs. 9752 Both, clipper and masker, store this union to avoid multiple calls of the childs 9753 and the unite calculations now. 9754 The unite rect can be transformed to any targets objectBoundingBox, if the content 9755 unit of the resource is set to objectBoundingBoxMode. 9756 This speeds up the use of resources with multiple target objects. 9757 9758 No behavior changes, the smaller repaintRects cause updates for DRT results. 9759 9760 * rendering/RenderSVGResource.h: 9761 * rendering/RenderSVGResourceClipper.cpp: 9762 (WebCore::RenderSVGResourceClipper::invalidateClients): 9763 (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): 9764 (WebCore::RenderSVGResourceClipper::resourceBoundingBox): 9765 * rendering/RenderSVGResourceClipper.h: 9766 * rendering/RenderSVGResourceFilter.cpp: 9767 (WebCore::RenderSVGResourceFilter::resourceBoundingBox): 9768 * rendering/RenderSVGResourceFilter.h: 9769 * rendering/RenderSVGResourceGradient.h: 9770 (WebCore::RenderSVGResourceGradient::resourceBoundingBox): 9771 * rendering/RenderSVGResourceMarker.h: 9772 (WebCore::RenderSVGResourceMarker::resourceBoundingBox): 9773 * rendering/RenderSVGResourceMasker.cpp: 9774 (WebCore::RenderSVGResourceMasker::invalidateClients): 9775 (WebCore::RenderSVGResourceMasker::createMaskImage): 9776 (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect): 9777 (WebCore::RenderSVGResourceMasker::resourceBoundingBox): 9778 * rendering/RenderSVGResourceMasker.h: 9779 * rendering/RenderSVGResourcePattern.h: 9780 (WebCore::RenderSVGResourcePattern::resourceBoundingBox): 9781 * rendering/RenderSVGResourceSolidColor.h: 9782 (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox): 9783 9784 2010-05-11 Ilya Tikhonovsky <loislo (a] chromium.org> 9785 9786 Reviewed by Pavel Feldman. 9787 9788 WebInspector: Cosmetic changes. 9789 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child. 9790 2) Standard tooltips for resource links are clashing with Popover. 9791 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows). 9792 https://bugs.webkit.org/show_bug.cgi?id=38732 9793 9794 * inspector/front-end/TimelinePanel.js: 9795 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 9796 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 9797 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 9798 * inspector/front-end/inspector.js: 9799 (WebInspector.linkifyURLAsNode): 9800 9801 2010-05-10 Csaba Osztrogonc <ossy (a] webkit.org> 9802 9803 Rubber-stamped by Simon Hausmann. 9804 9805 [Qt] Roll-out r59020 and r59021, because the Qt part of these changes 9806 haven't been landed in Qt trunk yet. Should be rolled-in again after the merge. 9807 9808 https://bugs.webkit.org/show_bug.cgi?id=32967 9809 9810 * platform/network/qt/ResourceRequestQt.cpp: 9811 (WebCore::ResourceRequest::toNetworkRequest): 9812 9813 2010-05-10 Markus Goetz <Markus.Goetz (a] nokia.com> 9814 9815 Reviewed by Simon Hausmann. 9816 9817 Qt after 4.6.3 has its integrated DNS cache. Therefore some 9818 code is not necessary anymore. 9819 9820 https://bugs.webkit.org/show_bug.cgi?id=38834 9821 9822 * platform/network/qt/DnsPrefetchHelper.h: 9823 (WebCore::DnsPrefetchHelper::lookup): 9824 (WebCore::DnsPrefetchHelper::lookedUp): 9825 9826 2010-05-10 Chris Jerdonek <cjerdonek (a] webkit.org> 9827 9828 Reviewed by Darin Adler. 9829 9830 Asserted that Node::setDocument() is not being used to change 9831 the document of a node. 9832 9833 https://bugs.webkit.org/show_bug.cgi?id=38821 9834 9835 * dom/Node.cpp: 9836 (WebCore::Node::setDocument): 9837 Added an ASSERT at the beginning of the function. 9838 * dom/Node.h: 9839 Documented that Node::setDocument() should not be used to change the 9840 document of a node until after the node has been removed from its 9841 prior document. 9842 9843 2010-05-10 Dirk Schulze <krit (a] webkit.org> 9844 9845 Reviewed by Darin Adler. 9846 9847 SVG FilterEffects need more detailed DRT information 9848 https://bugs.webkit.org/show_bug.cgi?id=38683 9849 9850 All SVG Filter effects get dumped now. The structure of the DRT output 9851 changed. The last effect is shown first, followed by the previous effects. 9852 9853 No changed behaior, so no new test added. 9854 9855 * platform/graphics/filters/FEBlend.cpp: 9856 (WebCore::operator<<): 9857 (WebCore::FEBlend::externalRepresentation): 9858 * platform/graphics/filters/FEBlend.h: 9859 * platform/graphics/filters/FEColorMatrix.cpp: 9860 (WebCore::operator<<): 9861 (WebCore::FEColorMatrix::externalRepresentation): 9862 * platform/graphics/filters/FEColorMatrix.h: 9863 * platform/graphics/filters/FEComponentTransfer.cpp: 9864 (WebCore::operator<<): 9865 (WebCore::FEComponentTransfer::externalRepresentation): 9866 * platform/graphics/filters/FEComponentTransfer.h: 9867 * platform/graphics/filters/FEComposite.cpp: 9868 (WebCore::operator<<): 9869 (WebCore::FEComposite::externalRepresentation): 9870 * platform/graphics/filters/FEComposite.h: 9871 (WebCore::): 9872 (WebCore::FEComposite::uniteChildEffectSubregions): 9873 * platform/graphics/filters/FEGaussianBlur.cpp: 9874 (WebCore::FEGaussianBlur::externalRepresentation): 9875 * platform/graphics/filters/FEGaussianBlur.h: 9876 (WebCore::FEGaussianBlur::uniteChildEffectSubregions): 9877 * platform/graphics/filters/FilterEffect.cpp: 9878 (WebCore::FilterEffect::externalRepresentation): 9879 * platform/graphics/filters/FilterEffect.h: 9880 * platform/graphics/filters/SourceAlpha.cpp: 9881 (WebCore::SourceAlpha::externalRepresentation): 9882 * platform/graphics/filters/SourceAlpha.h: 9883 * platform/graphics/filters/SourceGraphic.cpp: 9884 (WebCore::SourceGraphic::externalRepresentation): 9885 * platform/graphics/filters/SourceGraphic.h: 9886 * rendering/RenderTreeAsText.cpp: 9887 (WebCore::writeIndent): 9888 * rendering/RenderTreeAsText.h: 9889 * rendering/SVGRenderTreeAsText.cpp: 9890 (WebCore::writeSVGResourceContainer): 9891 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 9892 (WebCore::operator<<): 9893 (WebCore::FEConvolveMatrix::externalRepresentation): 9894 * svg/graphics/filters/SVGFEConvolveMatrix.h: 9895 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 9896 (WebCore::FEDiffuseLighting::externalRepresentation): 9897 * svg/graphics/filters/SVGFEDiffuseLighting.h: 9898 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 9899 (WebCore::operator<<): 9900 (WebCore::FEDisplacementMap::externalRepresentation): 9901 * svg/graphics/filters/SVGFEDisplacementMap.h: 9902 * svg/graphics/filters/SVGFEFlood.cpp: 9903 (WebCore::FEFlood::externalRepresentation): 9904 * svg/graphics/filters/SVGFEFlood.h: 9905 * svg/graphics/filters/SVGFEImage.cpp: 9906 (WebCore::FEImage::externalRepresentation): 9907 * svg/graphics/filters/SVGFEImage.h: 9908 * svg/graphics/filters/SVGFEMerge.cpp: 9909 (WebCore::FEMerge::externalRepresentation): 9910 * svg/graphics/filters/SVGFEMerge.h: 9911 * svg/graphics/filters/SVGFEMorphology.cpp: 9912 (WebCore::operator<<): 9913 (WebCore::FEMorphology::externalRepresentation): 9914 * svg/graphics/filters/SVGFEMorphology.h: 9915 * svg/graphics/filters/SVGFEOffset.cpp: 9916 (WebCore::FEOffset::externalRepresentation): 9917 * svg/graphics/filters/SVGFEOffset.h: 9918 * svg/graphics/filters/SVGFESpecularLighting.cpp: 9919 (WebCore::FESpecularLighting::externalRepresentation): 9920 * svg/graphics/filters/SVGFESpecularLighting.h: 9921 * svg/graphics/filters/SVGFETile.cpp: 9922 (WebCore::FETile::externalRepresentation): 9923 * svg/graphics/filters/SVGFETile.h: 9924 * svg/graphics/filters/SVGFETurbulence.cpp: 9925 (WebCore::operator<<): 9926 (WebCore::FETurbulence::externalRepresentation): 9927 * svg/graphics/filters/SVGFETurbulence.h: 9928 9929 2010-05-10 Jeremy Orlow <jorlow (a] chromium.org> 9930 9931 Reviewed by Nate Chapin. 9932 9933 Change IndexedDB to use events instead of callbacks 9934 https://bugs.webkit.org/show_bug.cgi?id=38594 9935 9936 Switch IndexedDB over to an event based model to match what 9937 Mozilla (and probably MS?) are doing. This also gets rid of 9938 a lot of template mess at the expense of a little extra boiler 9939 plate code (for each type that IDBResult.result could be). 9940 9941 This change also introduces JSC bindings that match the level of 9942 functionality the V8 bindings have. 9943 9944 Still not testable, but that shoudl change shortly. 9945 9946 * DerivedSources.cpp: 9947 * DerivedSources.make: 9948 * GNUmakefile.am: 9949 * WebCore.gypi: 9950 * WebCore.pri: 9951 * WebCore.pro: 9952 * WebCore.vcproj/WebCore.vcproj: 9953 * WebCore.xcodeproj/project.pbxproj: 9954 * bindings/js/JSEventCustom.cpp: 9955 * bindings/js/JSIDBRequestCustom.cpp: Added. 9956 (WebCore::JSIDBRequest::result): 9957 * bindings/v8/V8DOMWrapper.cpp: 9958 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 9959 * bindings/v8/custom/V8CustomIDBCallbacks.h: Removed. 9960 * bindings/v8/custom/V8IDBRequestCustom.cpp: Added. 9961 (WebCore::V8IDBRequest::resultAccessorGetter): 9962 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Removed. 9963 * dom/EventTarget.cpp: 9964 (WebCore::EventTarget::toIDBRequest): 9965 * dom/EventTarget.h: 9966 * storage/IDBCallbacks.h: 9967 * storage/IDBDatabaseRequest.h: 9968 (WebCore::IDBDatabaseRequest::createObjectStore): 9969 * storage/IDBRequest.cpp: Added. 9970 (WebCore::IDBRequest::IDBRequest): 9971 (WebCore::IDBRequest::~IDBRequest): 9972 (WebCore::IDBRequest::idbDatabaseResult): 9973 (WebCore::IDBRequest::serializedScriptValueResult): 9974 (WebCore::IDBRequest::onError): 9975 (WebCore::IDBRequest::onSuccess): 9976 (WebCore::IDBRequest::abort): 9977 (WebCore::IDBRequest::scriptExecutionContext): 9978 (WebCore::IDBRequest::stop): 9979 (WebCore::IDBRequest::suspend): 9980 (WebCore::IDBRequest::resume): 9981 (WebCore::IDBRequest::eventTargetData): 9982 (WebCore::IDBRequest::ensureEventTargetData): 9983 (WebCore::IDBRequest::timerFired): 9984 (WebCore::IDBRequest::onEventCommon): 9985 * storage/IDBRequest.h: Added. 9986 (WebCore::IDBRequest::create): 9987 (WebCore::IDBRequest::): 9988 (WebCore::IDBRequest::resultType): 9989 (WebCore::IDBRequest::readyState): 9990 (WebCore::IDBRequest::error): 9991 (WebCore::IDBRequest::toIDBRequest): 9992 (WebCore::IDBRequest::refEventTarget): 9993 (WebCore::IDBRequest::derefEventTarget): 9994 * storage/IDBRequest.idl: Added. 9995 * storage/IndexedDatabase.h: 9996 * storage/IndexedDatabaseImpl.cpp: 9997 (WebCore::IndexedDatabaseImpl::open): 9998 * storage/IndexedDatabaseImpl.h: 9999 * storage/IndexedDatabaseRequest.cpp: 10000 (WebCore::IndexedDatabaseRequest::open): 10001 * storage/IndexedDatabaseRequest.h: 10002 * storage/IndexedDatabaseRequest.idl: 10003 10004 2010-05-10 Ilya Tikhonovsky <loislo (a] chromium.org> 10005 10006 Not reviewed: rollback the commit r59062 10007 10008 * inspector/front-end/TimelinePanel.js: 10009 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 10010 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 10011 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 10012 * inspector/front-end/inspector.js: 10013 (WebInspector.linkifyURLAsNode): 10014 10015 2010-05-10 Ilya Tikhonovsky <loislo (a] chromium.org> 10016 10017 Reviewed by Pavel Feldman. 10018 10019 WebInspector: Cosmetic changes. 10020 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child. 10021 2) Standard tooltips for resource links are clashing with Popover. 10022 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows). 10023 https://bugs.webkit.org/show_bug.cgi?id=38732 10024 10025 * inspector/front-end/TimelinePanel.js: 10026 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 10027 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 10028 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 10029 * inspector/front-end/inspector.js: 10030 (WebInspector.linkifyURLAsNode): 10031 10032 2010-05-08 Ilya Tikhonovsky <loislo (a] chromium.org> 10033 10034 Reviewed by Pavel Feldman. 10035 10036 WebInspector: If some record is not in visible area then it's expand element also is not 10037 visible even if it has children in visible area. 10038 https://bugs.webkit.org/show_bug.cgi?id=38643 10039 10040 * inspector/front-end/TimelinePanel.js: 10041 (WebInspector.TimelinePanel): 10042 (WebInspector.TimelinePanel.prototype._refreshRecords): 10043 10044 2010-05-07 Sam Weinig <sam (a] webkit.org> 10045 10046 Reviewed by Darin Adler. 10047 10048 Fix for https://bugs.webkit.org/show_bug.cgi?id=38557 10049 r58526 introduced a ~30% regression on Dromaeo JS lib 10050 10051 This fix does two things. 10052 - Don't use QualifiedName as the key to a HashMap, use a 10053 RefPtr<QualifiedNameImpl> instead. We should remove the HashTraits for 10054 QualifiedName and that will happen in a follow up patch. 10055 - Only mark cached NodeLists on Documents instead of all Nodes. This is 10056 okay since the marking of NodeLists is an optimization to keep NodeList 10057 wrappers alive and is not mandated by any spec. 10058 10059 * bindings/js/JSDocumentCustom.cpp: 10060 (WebCore::JSDocument::markChildren): 10061 * bindings/js/JSNodeCustom.cpp: 10062 (WebCore::JSNode::markChildren): 10063 * dom/Node.cpp: 10064 (WebCore::Node::removeCachedTagNodeList): 10065 (WebCore::Node::getElementsByTagNameNS): 10066 * dom/NodeRareData.h: 10067 10068 2010-05-08 Antonio Gomes <tonikitoo (a] webkit.org> 10069 10070 Unreviewed attempt to fix Windows build. 10071 10072 * page/SpatialNavigation.h: 10073 (WebCore::fudgeFactor): 10074 10075 2010-05-03 Antonio Gomes <tonikitoo (a] webkit.org> 10076 10077 Reviewed by Kenneth Christiansen. 10078 10079 Spatial Navigation: create a getter for the "fudgeFactor" 10080 https://bugs.webkit.org/show_bug.cgi?id=38488 10081 10082 A couple of places in the Spatial Navigation code make use of a "fudge factor" 10083 to improve precision by working around outline focus metrics and such. Patch adds 10084 a helper method for unify getter operations of this value, instead of having it 10085 declared locally in the various methods it is used. 10086 10087 No behaviour change. 10088 10089 * page/SpatialNavigation.cpp: 10090 (WebCore::scrollIntoView): 10091 (WebCore::deflateIfOverlapped): 10092 * page/SpatialNavigation.h: 10093 (WebCore::fudgeFactor): 10094 10095 2010-05-08 Stuart Morgan <stuartmorgan (a] chromium.org> 10096 10097 Reviewed by Darin Adler. 10098 10099 Change the npapi.h header guards to match the npapi-headers repository 10100 copy. 10101 10102 https://bugs.webkit.org/show_bug.cgi?id=38666 10103 10104 * bridge/npapi.h: 10105 10106 2010-05-08 Stuart Morgan <stuartmorgan (a] chromium.org> 10107 10108 Reviewed by Darin Fisher. 10109 10110 Resolve most of the whitespace/comment/order differences in npapi.h 10111 and npruntime.h relative to the npapi-headers repository versions. 10112 No changes to the substance of the code. 10113 10114 https://bugs.webkit.org/show_bug.cgi?id=38666 10115 10116 * bridge/npapi.h: 10117 (_NPPrint::): 10118 (_NPCocoaEvent::): 10119 * bridge/npruntime.h: 10120 10121 2010-05-08 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 10122 10123 Reviewed by Darin Adler. 10124 10125 Fix guard around IndexedDatabase 10126 https://bugs.webkit.org/show_bug.cgi?id=38710 10127 10128 No new tests, there is no new functionality. 10129 10130 * page/PageGroup.h: 10131 10132 2010-05-08 Luiz Agostini <luiz.agostini (a] openbossa.org> 10133 10134 Reviewed by Simon Hausmann. 10135 10136 [Qt] Platform plugin 10137 https://bugs.webkit.org/show_bug.cgi?id=38438 10138 10139 Select popups delegate private API. To provide select popup delegates 10140 a plugin that implements QWebKitPlatformPlugin must be found 10141 in QCoreApplication::libraryPaths. 10142 10143 * WebCore.pro: 10144 10145 2010-05-08 Leandro Pereira <leandro (a] profusion.mobi> 10146 10147 Reviewed by Gustavo Noronha Silva. 10148 10149 [EFL] It does not make sense to use RenderThemeEfl::RenderThemeEfl, so 10150 use RenderThemeEfl (GCC 4.5 seems to be pickier about this). 10151 http://webkit.org/b/38770 10152 10153 * platform/efl/RenderThemeEfl.cpp: 10154 (WebCore::renderThemeEflColorClassSelectionActive): 10155 (WebCore::renderThemeEflColorClassSelectionInactive): 10156 (WebCore::renderThemeEflColorClassFocusRing): 10157 (WebCore::renderThemeEflColorClassButtonText): 10158 (WebCore::renderThemeEflColorClassComboText): 10159 (WebCore::renderThemeEflColorClassEntryText): 10160 (WebCore::renderThemeEflColorClassSearchText): 10161 (WebCore::RenderThemeEfl::adjustCheckboxStyle): 10162 (WebCore::RenderThemeEfl::adjustRadioStyle): 10163 (WebCore::RenderThemeEfl::adjustButtonStyle): 10164 (WebCore::RenderThemeEfl::adjustMenuListStyle): 10165 (WebCore::RenderThemeEfl::adjustTextFieldStyle): 10166 (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle): 10167 (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle): 10168 (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle): 10169 (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle): 10170 (WebCore::RenderThemeEfl::adjustSearchFieldStyle): 10171 10172 2010-05-08 Leandro Pereira <leandro (a] profusion.mobi> 10173 10174 Reviewed by Gustavo Noronha Silva. 10175 10176 ResourceHandleSoup should depend only on GLib, not on GTK+. 10177 http://webkit.org/b/38763 10178 10179 * platform/network/soup/ResourceHandleSoup.cpp: Include glib.h 10180 instead of gtk/gtk.h. 10181 10182 2010-05-08 Eric Seidel <eric (a] webkit.org> 10183 10184 Unreviewed, rolling out r59023. 10185 http://trac.webkit.org/changeset/59023 10186 https://bugs.webkit.org/show_bug.cgi?id=37874 10187 10188 Caused Chromium Windows build to fail to link. 10189 10190 * WebCore.gypi: 10191 * loader/CachedMetadata.h: Removed. 10192 * loader/CachedResource.cpp: 10193 * loader/CachedResource.h: 10194 * loader/ResourceLoader.h: 10195 * loader/SubresourceLoader.cpp: 10196 * loader/SubresourceLoader.h: 10197 * loader/SubresourceLoaderClient.h: 10198 * loader/loader.cpp: 10199 * loader/loader.h: 10200 * platform/network/ResourceHandle.cpp: 10201 * platform/network/ResourceHandle.h: 10202 * platform/network/ResourceHandleClient.h: 10203 10204 2010-05-08 Ilya Tikhonovsky <loislo (a] chromium.org> 10205 10206 Reviewed by Timothy Hatcher. 10207 10208 WebInspector: Autocompletion in console is not usable because it is not add to the entered text the common prefix of suggestions. 10209 As example if you entered $0.getE then getElementByClassName will be suggested as gray text. 10210 If you press tab then getElementByClassName be suggested again and lementByClassName becomes selected as black text with selection background. 10211 Really after pressing the TAB the next suggestion should be selected (getElementByTagName) and only flexible part of suggestions should be selected. 10212 In this case it should be TagName because getElementBy is the common part for all getE prefix suggestions. 10213 https://bugs.webkit.org/show_bug.cgi?id=38753 10214 10215 * inspector/front-end/TextPrompt.js: 10216 (WebInspector.TextPrompt.prototype._completionsReady): 10217 10218 2010-05-08 Tony Gentilcore <tonyg (a] chromium.org> 10219 10220 Reviewed by Darin Fisher. 10221 10222 Provide mechanism to store cached metadata on a CachedResource. 10223 https://bugs.webkit.org/show_bug.cgi?id=37874 10224 10225 No new tests because no new functionality. 10226 10227 * WebCore.gypi: 10228 * loader/CachedMetadata.h: Added. 10229 (WebCore::CachedMetadata::~CachedMetadata): 10230 (WebCore::CachedMetadata::data): 10231 (WebCore::CachedMetadata::size): 10232 (WebCore::CachedMetadata::create): 10233 (WebCore::CachedMetadata::deserialize): 10234 (WebCore::CachedMetadata::serialize): 10235 (WebCore::CachedMetadata::dataTypeID): 10236 (WebCore::CachedMetadata::readUnsigned): 10237 (WebCore::CachedMetadata::appendUnsigned): 10238 (WebCore::CachedMetadata::CachedMetadata): 10239 * loader/CachedResource.cpp: 10240 (WebCore::CachedResource::setSerializedCachedMetadata): 10241 (WebCore::CachedResource::setCachedMetadata): 10242 (WebCore::CachedResource::cachedMetadata): 10243 * loader/CachedResource.h: 10244 * loader/ResourceLoader.h: 10245 (WebCore::ResourceLoader::didReceiveCachedMetadata): 10246 * loader/SubresourceLoader.cpp: 10247 (WebCore::SubresourceLoader::didReceiveCachedMetadata): 10248 * loader/SubresourceLoader.h: 10249 * loader/SubresourceLoaderClient.h: 10250 (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata): 10251 * loader/loader.cpp: 10252 (WebCore::Loader::Host::didReceiveCachedMetadata): 10253 * loader/loader.h: 10254 * platform/network/ResourceHandle.cpp: 10255 (WebCore::ResourceHandle::cacheMetadata): 10256 * platform/network/ResourceHandle.h: 10257 * platform/network/ResourceHandleClient.h: 10258 (WebCore::ResourceHandleClient::didReceiveCachedMetadata): 10259 10260 2010-05-08 Michael Nordman <michaeln (a] google.com> 10261 10262 Reviewed by Dmitry Titov. 10263 10264 Have WorkerScriptLoader provide access to the ResourceResponse for the loaded script 10265 through the WorkerScriptLoaderClient interface. 10266 https://bugs.webkit.org/show_bug.cgi?id=38605 10267 10268 No new tests. There are no script visible changes. 10269 10270 * workers/WorkerScriptLoader.cpp: Call the client with the response. 10271 (WebCore::WorkerScriptLoader::didReceiveResponse): 10272 * workers/WorkerScriptLoaderClient.h: Define a new method to receive the response. 10273 (WebCore::WorkerScriptLoaderClient::didReceiveResponse): 10274 10275 2010-05-08 Robert Hogan <robert (a] roberthogan.net> 10276 10277 Reviewed by Simon Hausmann. 10278 10279 [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html 10280 and http/tests/xmlhttprequest/cross-origin-authorization.html 10281 10282 QHttpNetworkRequest adds Authorization and Cookie headers to XHRs 10283 without knowing if this is valid behaviour or not. In order to allow 10284 Qt to decide whether Cookie/Authorization headers should be added 10285 to an XHR QtWebKit needs to use an attribute added to QNetworkRequest. 10286 These new attributes are: QNetworkRequest::CookieLoadControlAttribute, 10287 QNetworkRequest::CookieSaveControlAttribute,and 10288 QNetworkRequest::AuthenticationReuseControlAttribute. 10289 10290 QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false 10291 unless withCredentials is set to true in the XHR. 10292 10293 QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials 10294 is set to true in the XHR. 10295 10296 Qt will pass the values onto QHttpNetworkRequest and this will permit 10297 the Qt network access processing to decide whether or not to add either 10298 or both of the Cookie/Authorisation headers, and whether to save cookies 10299 returned from such requests. By default the attribute 10300 will always be true so unless QtWebKit sets it to false normal 10301 header processing is unaffected. 10302 10303 The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592 10304 10305 https://bugs.webkit.org/show_bug.cgi?id=32967 10306 10307 * platform/network/qt/ResourceRequestQt.cpp: 10308 (WebCore::ResourceRequest::toNetworkRequest): 10309 10310 2010-05-08 Ilya Tikhonovsky <loislo (a] chromium.org> 10311 10312 Reviewed by Pavel Feldman. 10313 10314 WebInsector: Record expand UI element should be extracted from TimelineRecordGraphRow as separate class for future reuse. 10315 https://bugs.webkit.org/show_bug.cgi?id=38726 10316 10317 * inspector/front-end/TimelinePanel.js: 10318 (WebInspector.TimelinePanel): 10319 (WebInspector.TimelinePanel.prototype._refreshRecords): 10320 (WebInspector.TimelineRecordGraphRow): 10321 (WebInspector.TimelineRecordGraphRow.prototype.update): 10322 (WebInspector.TimelineExpandableElement): 10323 (WebInspector.TimelineExpandableElement.prototype._update): 10324 (WebInspector.TimelineExpandableElement.prototype._dispose): 10325 10326 2010-05-05 Robert Hogan <robert (a] webkit.org> 10327 10328 Reviewed by Alexey Proskuryakov. 10329 10330 [Qt] Fix encoding of status message in Plugin API 10331 10332 https://bugs.webkit.org/show_bug.cgi?id=35144 10333 10334 Spotted by Alexey Proskuryakov. 10335 10336 * plugins/PluginView.cpp: 10337 (WebCore::PluginView::status): 10338 10339 2010-05-08 Dirk Schulze <krit (a] webkit.org> 10340 10341 Unreviewed win build fix. 10342 10343 JS bindings were missing in DerivedSources.cpp 10344 10345 * DerivedSources.cpp: 10346 10347 2010-05-08 Dirk Schulze <krit (a] webkit.org> 10348 10349 Uneviewed fix of Win bot 10350 10351 Added JS bindings to Win build system. 10352 10353 * WebCore.vcproj/WebCore.vcproj: 10354 10355 2010-05-08 Dirk Schulze <krit (a] webkit.org> 10356 10357 Unreviewed try to fix Win bot. 10358 10359 SVGFont's VKern implementation missing 10360 https://bugs.webkit.org/show_bug.cgi?id=38663 10361 10362 * bindings/scripts/CodeGeneratorJS.pm: 10363 10364 2010-05-08 Dirk Schulze <krit (a] webkit.org> 10365 10366 Reviewed by Nikolas Zimmermann. 10367 10368 SVGFont's VKern implementation missing 10369 https://bugs.webkit.org/show_bug.cgi?id=38663 10370 10371 Implementation of vkern, needed by SVGFont. Also added DOM and JS bindings 10372 for vkern and hkern. Made some clean-up in SVGParserUtilities and SVGFontElement. 10373 SVGHKernElement and SVGVKernElement share most of the code now. 10374 10375 Test: svg/text/text-vkern.svg 10376 10377 * Android.derived.jscbindings.mk: 10378 * Android.derived.v8bindings.mk: 10379 * Android.mk: 10380 * DerivedSources.make: 10381 * GNUmakefile.am: 10382 * WebCore.gyp/WebCore.gyp: 10383 * WebCore.gypi: 10384 * WebCore.pri: 10385 * WebCore.pro: 10386 * WebCore.vcproj/WebCore.vcproj: 10387 * WebCore.xcodeproj/project.pbxproj: 10388 * page/DOMWindow.idl: 10389 * rendering/SVGRootInlineBox.cpp: 10390 (WebCore::applySVGKerning): 10391 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 10392 * svg/SVGAllInOne.cpp: 10393 * svg/SVGFontElement.cpp: 10394 (WebCore::SVGFontElement::invalidateGlyphCache): 10395 (WebCore::SVGFontElement::ensureGlyphCache): 10396 (WebCore::matches): 10397 (WebCore::kerningForPairOfStringsAndGlyphs): 10398 (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs): 10399 (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs): 10400 * svg/SVGFontElement.h: 10401 (WebCore::SVGKerningPair::SVGKerningPair): 10402 (WebCore::SVGFontElement::rendererIsNeeded): 10403 * svg/SVGHKernElement.cpp: 10404 (WebCore::SVGHKernElement::buildHorizontalKerningPair): 10405 * svg/SVGHKernElement.h: 10406 * svg/SVGParserUtilities.cpp: 10407 (WebCore::parseGlyphName): 10408 (WebCore::parseKerningUnicodeString): 10409 * svg/SVGParserUtilities.h: 10410 * svg/SVGVKernElement.cpp: Added. 10411 (WebCore::SVGVKernElement::SVGVKernElement): 10412 (WebCore::SVGVKernElement::~SVGVKernElement): 10413 (WebCore::SVGVKernElement::insertedIntoDocument): 10414 (WebCore::SVGVKernElement::removedFromDocument): 10415 (WebCore::SVGVKernElement::buildVerticalKerningPair): 10416 * svg/SVGVKernElement.h: Added. 10417 (WebCore::SVGVKernElement::rendererIsNeeded): 10418 * svg/SVGVKernElement.idl: Added. 10419 * svg/svgtags.in: 10420 10421 2010-05-08 Jer Noble <jer.noble (a] apple.com> 10422 10423 Unreviewed, just fixing windows build. 10424 10425 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Add #if USE(ACCELERATED_COMPOSITING) guards around GraphicsLayer areas of the code. Include GraphicsLayer.h directly. 10426 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: As above. 10427 * platform/graphics/win/QTMovieVisualContext.cpp: Remove the #include of d3d9types.h. 10428 10429 2010-05-08 Eric Seidel <eric (a] webkit.org> 10430 10431 Unreviewed, just reverting commit. 10432 10433 REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert. 10434 https://bugs.webkit.org/show_bug.cgi?id=38798 10435 10436 Test: fast/js/global-resolve-through-eval.html 10437 10438 * bindings/js/JSCallbackData.h: 10439 (WebCore::JSCallbackData::JSCallbackData): 10440 (WebCore::JSCallbackData::~JSCallbackData): 10441 (WebCore::DeleteCallbackDataTask::create): 10442 (WebCore::DeleteCallbackDataTask::performTask): 10443 (WebCore::DeleteCallbackDataTask::isCleanupTask): 10444 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask): 10445 * bindings/js/JSCustomVoidCallback.cpp: 10446 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback): 10447 (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): 10448 * bindings/js/JSCustomVoidCallback.h: 10449 * bindings/scripts/CodeGeneratorJS.pm: 10450 * bindings/scripts/test/JS/JSTestInterface.cpp: 10451 (WebCore::): 10452 * bindings/scripts/test/JS/JSTestObj.cpp: 10453 (WebCore::): 10454 * workers/WorkerThread.cpp: 10455 (WebCore::WorkerThreadShutdownFinishTask::performTask): 10456 (WebCore::WorkerThreadShutdownStartTask::performTask): 10457 10458 2010-05-07 Zoltan Herczeg <zherczeg (a] webkit.org> 10459 10460 Reviewed by Dirk Schulze 10461 10462 Fixed the inverse function of f(x) = ((x + 0.055) / 1.055) ^ 2.4 10463 https://bugs.webkit.org/show_bug.cgi?id=38735 10464 10465 It is ((x ^ (1 / 2.4)) * 1.055) - 0.055 10466 10467 Chromium pixel tests cover the issue. 10468 10469 * platform/graphics/ImageBuffer.cpp: 10470 (WebCore::ImageBuffer::transformColorSpace): 10471 10472 2010-05-04 Jer Noble <jer.noble (a] apple.com> 10473 10474 Reviewed by Eric Carlson 10475 10476 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player 10477 <https://bugs.webkit.org/show_bug.cgi?id=34005> 10478 <rdar://problem/7569713> 10479 10480 The original functionality of QTMovieWin has been split between QTMovieGWorld, 10481 and a new class: QTMovie. QTMovie contains all the "controller" parts (changing 10482 the rate, seeking, etc) while QTMovieGWorld retains all the drawing code. QTMovieGWorld 10483 now takes a QTMovie, and as such QTMovie is now retainable. QTMovieGWorld registers 10484 itself as a client of QTMovie, so that it can receive load-state notifications, 10485 and thus QTMovie must now support multiple clients. Movie tasking timer support 10486 has been moved into its own class (QTMovieTask) and will be addressed in a future 10487 patch. Most of the functions listed below only changed so much as their class name changed. 10488 10489 * platform/graphics/win/QTMovie.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp. 10490 (QTMoviePrivate::QTMoviePrivate): 10491 (QTMoviePrivate::~QTMoviePrivate): 10492 (QTMoviePrivate::startTask): 10493 (QTMoviePrivate::endTask): 10494 (QTMoviePrivate::task): 10495 (QTMoviePrivate::createMovieController): 10496 (QTMovie::QTMovie): 10497 (QTMovie::~QTMovie): 10498 (QTMovie::addClient): 10499 (QTMovie::removeClient): 10500 (QTMovie::play): 10501 (QTMovie::pause): 10502 (QTMovie::rate): 10503 (QTMovie::setRate): 10504 (QTMovie::duration): 10505 (QTMovie::currentTime): 10506 (QTMovie::setCurrentTime): 10507 (QTMovie::setVolume): 10508 (QTMovie::setPreservesPitch): 10509 (QTMovie::dataSize): 10510 (QTMovie::maxTimeLoaded): 10511 (QTMovie::loadState): 10512 (QTMovie::getNaturalSize): 10513 (QTMovie::load): 10514 (QTMovie::disableUnsupportedTracks): 10515 (QTMovie::isDisabled): 10516 (QTMovie::setDisabled): 10517 (QTMovie::hasVideo): 10518 (QTMovie::hasAudio): 10519 (QTMovie::hasClosedCaptions): 10520 (QTMovie::setClosedCaptionsVisible): 10521 (QTMovie::countSupportedTypes): 10522 (QTMovie::getSupportedType): 10523 (QTMovie::initializeQuickTime): 10524 (QTMovie::getMovieHandle): 10525 * platform/graphics/win/QTMovie.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h. 10526 * platform/graphics/win/QTMovieGWorld.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp. 10527 (QTMovieGWorldPrivate::QTMovieGWorldPrivate): 10528 (QTMovieGWorldPrivate::~QTMovieGWorldPrivate): 10529 (QTMovieGWorldPrivate::cacheMovieScale): 10530 (movieDrawingCompleteProc): 10531 (QTMovieGWorldPrivate::registerDrawingCallback): 10532 (QTMovieGWorldPrivate::unregisterDrawingCallback): 10533 (QTMovieGWorldPrivate::drawingComplete): 10534 (QTMovieGWorldPrivate::updateGWorld): 10535 (QTMovieGWorldPrivate::createGWorld): 10536 (QTMovieGWorldPrivate::clearGWorld): 10537 (QTMovieGWorldPrivate::setSize): 10538 (QTMovieGWorldPrivate::updateMovieSize): 10539 (QTMovieGWorldPrivate::deleteGWorld): 10540 (QTMovieGWorldPrivate::movieEnded): 10541 (QTMovieGWorldPrivate::movieLoadStateChanged): 10542 (QTMovieGWorldPrivate::movieTimeChanged): 10543 (QTMovieGWorld::QTMovieGWorld): 10544 (QTMovieGWorld::~QTMovieGWorld): 10545 (QTMovieGWorld::setSize): 10546 (QTMovieGWorld::setVisible): 10547 (QTMovieGWorld::getCurrentFrameInfo): 10548 (QTMovieGWorld::paint): 10549 (QTMovieGWorld::setDisabled): 10550 (QTMovieGWorld::isDisabled): 10551 (QTMovieGWorld::fullscreenWndProc): 10552 (QTMovieGWorld::enterFullscreen): 10553 (QTMovieGWorld::exitFullscreen): 10554 (QTMovieGWorld::setMovie): 10555 (QTMovieGWorld::movie): 10556 * platform/graphics/win/QTMovieGWorld.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h. 10557 * platform/graphics/win/QTMovieTask.cpp: Added. 10558 (QTMovieTask::QTMovieTask): 10559 (QTMovieTask::~QTMovieTask): 10560 (QTMovieTask::sharedTask): 10561 (QTMovieTask::updateTaskTimer): 10562 (QTMovieTask::fireTaskClients): 10563 (QTMovieTask::addTaskClient): 10564 (QTMovieTask::removeTaskClient): 10565 (QTMovieTask::setTaskTimerFuncs): 10566 * platform/graphics/win/QTMovieTask.h: Added. 10567 10568 2010-05-04 Jer Noble <jer.noble (a] apple.com> 10569 10570 Reviewed by Eric Carlson 10571 10572 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player 10573 <https://bugs.webkit.org/show_bug.cgi?id=34005> 10574 <rdar://problem/7569713> 10575 10576 MediaPlayerPrivateQuickTimeVisualContext has been added as a 10577 supported MediaPlayer implementation. MediaPlayerPrivateQuickTimeWin 10578 has been left as a fallback MediaPlayer implementation for those media 10579 types which do not support visual contexts (currently, none). 10580 10581 * platform/graphics/MediaPlayer.cpp: 10582 (WebCore::installedMediaEngines): 10583 10584 2010-05-04 Jer Noble <jer.noble (a] apple.com> 10585 10586 Reviewed by Maciej Stachowiak 10587 10588 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player 10589 <https://bugs.webkit.org/show_bug.cgi?id=34005> 10590 <rdar://problem/7569713> 10591 10592 MediaPlayerPrivateTaskTimer has been broken out from MediaPlayerPrivateQuickTimeWin::TaskTimer 10593 so that multiple clients can share its implementation. It works with the new 10594 QTMovieTaskTimer to provide timer support to QTMovieTaskTimer clients. 10595 10596 * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: Added. 10597 (WebCore::MediaPlayerPrivateTaskTimer::initialize): 10598 (WebCore::MediaPlayerPrivateTaskTimer::setDelay): 10599 (WebCore::MediaPlayerPrivateTaskTimer::stopTaskTimer): 10600 (WebCore::MediaPlayerPrivateTaskTimer::fired): 10601 * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: Added. 10602 10603 2010-05-04 Jer Noble <jer.noble (a] apple.com> 10604 10605 Reviewed by Eric Carlson 10606 10607 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player 10608 <https://bugs.webkit.org/show_bug.cgi?id=34005> 10609 <rdar://problem/7569713> 10610 10611 MediaPlayerPrivateQuickTimeVisualContext is a new MediaPlayerPrivate implementation 10612 which uses QTMovieVisualContext instead of QTMovieWin to render video frames. Much 10613 like MediaPlayerPrivateQuickTimeWin, MPPQTVisualContext breaks out QTMovie and 10614 QTMovieVisualContext, and uses the newly shared MediaPlayerPrivateTaskTimer. It also 10615 uses aggregation (in the form of friend classes) instead of multiple inheritence 10616 to implement its various client callbacks, so as not to expose its own clients to 10617 the QTMovie classes. 10618 10619 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp. 10620 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h. 10621 10622 2010-05-04 Jer Noble <jer.noble (a] apple.com> 10623 10624 Reviewed by Maciej Stachowiak 10625 10626 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player 10627 <https://bugs.webkit.org/show_bug.cgi?id=34005> 10628 <rdar://problem/7569713> 10629 10630 MediaPlayerPrivateQuickTimeWin has been modified to support the new bifurcated 10631 QTMovie/QTMovieWin classes. It's private TaskTimer class has been broken out 10632 into a new top-level class (MediaPlayerPrivateTaskTimer) which will be addressed 10633 in a future patch. 10634 10635 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 10636 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 10637 (WebCore::MediaPlayerPrivate::load): 10638 (WebCore::MediaPlayerPrivate::paused): 10639 (WebCore::MediaPlayerPrivate::setSize): 10640 (WebCore::MediaPlayerPrivate::setVisible): 10641 (WebCore::MediaPlayerPrivate::paint): 10642 (WebCore::mimeTypeCache): 10643 (WebCore::MediaPlayerPrivate::isAvailable): 10644 (WebCore::MediaPlayerPrivate::movieEnded): 10645 (WebCore::MediaPlayerPrivate::movieLoadStateChanged): 10646 (WebCore::MediaPlayerPrivate::movieTimeChanged): 10647 (WebCore::MediaPlayerPrivate::movieNewImageAvailable): 10648 (WebCore::MediaPlayerPrivate::paintContents): 10649 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 10650 10651 2010-05-04 Jer Noble <jer.noble (a] apple.com> 10652 10653 Reviewed by Anders Carlsson 10654 10655 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player 10656 <https://bugs.webkit.org/show_bug.cgi?id=34005> 10657 <rdar://problem/7569713> 10658 10659 QTCFDictionary defines functions which help serialize and unserialize 10660 CFDictionaries. This is necessary because QuickTime links against a 10661 non-debug CoreFoundation in our debug build, and passing non-debug 10662 CFDictionaries to a debug CF will cause a crash. 10663 10664 QTMovieTask is a new class containing the tasking functionality broken 10665 out from QTMovieWin. This is necessary now that the tasking 10666 functionality is needed in multiple files/classes. 10667 10668 QTPixelBuffer is a C++ wrapper for CVPixelBuffers, necessary because 10669 like the CF case above, QuickTime has its own implementation of CoreVideo 10670 and its CV types cannot be used with the AAS version of CoreVideo. 10671 10672 QTMovieVisualContext is the new drawing implementation, parallel to 10673 QTMovieWin. It currently uses a software rendering path, but can be 10674 extended in the future to support hardware rendering. 10675 10676 * platform/graphics/win/QTCFDictionary.cpp: Added. 10677 * platform/graphics/win/QTCFDictionary.h: Added. 10678 * platform/graphics/win/QTMovieTask.cpp: Added. 10679 * platform/graphics/win/QTMovieTask.h: Added. 10680 * platform/graphics/win/QTMovieVisualContext.cpp: Added. 10681 * platform/graphics/win/QTMovieVisualContext.h: Added. 10682 * platform/graphics/win/QTPixelBuffer.cpp: Added. 10683 * platform/graphics/win/QTPixelBuffer.h: Added. 10684 10685 2010-05-07 Eric Uhrhane <ericu (a] chromium.org> 10686 10687 Reviewed by Dmitry Titov. 10688 10689 JSCallbackData is deleted on the Main thread, not the Context thread. 10690 https://bugs.webkit.org/show_bug.cgi?id=38623 10691 10692 No new tests; you'll only see a problem after the worker-access-to-DB 10693 code goes in. Without this fix, the GTK bots assert, but it's 10694 timing-sensitive and not truly platform-specific. 10695 10696 * bindings/js/JSCallbackData.h: 10697 (WebCore::JSCallbackData::JSCallbackData): 10698 (WebCore::JSCallbackData::~JSCallbackData): 10699 Store the allocating thread, then assert that we're on it at deletion. 10700 10701 (WebCore::DeleteCallbackDataTask): 10702 This is the task that can get posted to the context thread for cleanup. 10703 10704 * bindings/js/JSCustomVoidCallback.cpp: 10705 * bindings/js/JSCustomVoidCallback.h: 10706 This callback isn't autogenerated, so we have to do the cleanup manually. 10707 10708 * bindings/scripts/CodeGeneratorJS.pm: 10709 Add the proper cleanup to all autogenerated callbacks. 10710 10711 * workers/WorkerThread.cpp: 10712 (WebCore::WorkerThreadShutdownFinishTask::performTask): 10713 (WebCore::WorkerThreadShutdownStartTask::performTask): 10714 WorkerContext::clearScript can't be called until the posted deletion tasks have completed; move the call from shutdown start to shutdown finish. 10715 10716 2010-05-07 Eric Seidel <eric (a] webkit.org> 10717 10718 Reviewed by Adam Barth. 10719 10720 Fix JSC binding generation to match webkit style 10721 https://bugs.webkit.org/show_bug.cgi?id=38173 10722 10723 Add spaces around "|" to match webkit style. 10724 10725 * bindings/scripts/CodeGeneratorJS.pm: 10726 * bindings/scripts/test/JS/JSTestObj.cpp: 10727 10728 2010-05-07 Dumitru Daniliuc <dumi (a] chromium.org> 10729 10730 Reviewed by Brady Eidson. 10731 10732 Adding the IDL files for the sync DB API and the stubs for the JS and V8 bindings. 10733 https://bugs.webkit.org/show_bug.cgi?id=34994 10734 10735 * DerivedSources.cpp: 10736 * DerivedSources.make: 10737 * GNUmakefile.am: 10738 * WebCore.gypi: 10739 * WebCore.pri: 10740 * WebCore.pro: 10741 * WebCore.vcproj/WebCore.vcproj: 10742 * WebCore.xcodeproj/project.pbxproj: 10743 * bindings/js/JSBindingsAllInOne.cpp: 10744 * bindings/js/JSDatabaseSyncCustom.cpp: Added. 10745 (WebCore::JSDatabaseSync::changeVersion): 10746 (WebCore::createTransaction): 10747 (WebCore::JSDatabaseSync::transaction): 10748 (WebCore::JSDatabaseSync::readTransaction): 10749 * bindings/js/JSSQLTransactionSyncCustom.cpp: Added. 10750 (WebCore::JSSQLTransactionSync::executeSql): 10751 * bindings/js/JSWorkerContextCustom.cpp: 10752 (WebCore::JSWorkerContext::openDatabaseSync): 10753 * bindings/v8/custom/V8BindingMacros.h: Added. 10754 * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added. 10755 (WebCore::V8DatabaseSync::changeVersionCallback): 10756 (WebCore::createTransaction): 10757 (WebCore::V8DatabaseSync::transactionCallback): 10758 (WebCore::V8DatabaseSync::readTransactionCallback): 10759 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: Added. 10760 (WebCore::V8SQLTransactionSync::executeSqlCallback): 10761 * bindings/v8/custom/V8WorkerContextCustom.cpp: 10762 (WebCore::V8WorkerContext::openDatabaseSyncCallback): 10763 * storage/Database.idl: 10764 * storage/DatabaseCallback.h: 10765 * storage/DatabaseCallback.idl: 10766 * storage/DatabaseSync.cpp: 10767 (WebCore::DatabaseSync::changeVersion): 10768 (WebCore::DatabaseSync::transaction): 10769 * storage/DatabaseSync.h: 10770 * storage/DatabaseSync.idl: Added. 10771 * storage/SQLError.idl: 10772 * storage/SQLResultSet.idl: 10773 * storage/SQLResultSetRowList.idl: 10774 * storage/SQLTransaction.idl: 10775 * storage/SQLTransactionSync.idl: Added. 10776 * storage/SQLTransactionSyncCallback.h: 10777 * storage/SQLTransactionSyncCallback.idl: Added. 10778 * workers/WorkerContext.cpp: 10779 (WebCore::WorkerContext::openDatabaseSync): 10780 * workers/WorkerContext.h: 10781 * workers/WorkerContext.idl: 10782 10783 2010-05-07 Beth Dakin <bdakin (a] apple.com> 10784 10785 Reviewed by Simon Fraser. 10786 10787 Fix for <rdar://problem/7956972> REGRESSION: Can't focus and type 10788 in GMail due to bad repainting 10789 -and corresponding- 10790 https://bugs.webkit.org/show_bug.cgi?id=38782 10791 10792 This patch reverts back to pre-r58797 behavior when 10793 shouldPropagateCompositingToIFrameParent() is false. 10794 * rendering/RenderLayerBacking.cpp: 10795 (WebCore::RenderLayerBacking::paintingGoesToWindow): 10796 10797 2010-05-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 10798 10799 Unreviewed, rolling out r58963. 10800 http://trac.webkit.org/changeset/58963 10801 https://bugs.webkit.org/show_bug.cgi?id=38773 10802 10803 Broke Chromium layout tests. (Requested by dcheng on #webkit). 10804 10805 * platform/chromium/DragDataChromium.cpp: 10806 (WebCore::DragData::asURL): 10807 10808 2010-05-07 Martin Robinson <mrobinson (a] igalia.com> 10809 10810 Reviewed by Gustavo Noronha Silva. 10811 10812 https://bugs.webkit.org/show_bug.cgi?id=38769 10813 ClipboardGtk should write the URL label in the text portion of the DataObject 10814 10815 No tests as this code path is currently unused in the GTK+ port. 10816 10817 * platform/gtk/ClipboardGtk.cpp: 10818 (WebCore::ClipboardGtk::writeURL): Write the label to the text portion of the DataObject, instead of the URL. 10819 10820 2010-05-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 10821 10822 Reviewed by Dirk Schulze. 10823 10824 RenderSVGResourceClipper assigns a temporary mutated RenderStyle but does not correctly preserve the old style 10825 https://bugs.webkit.org/show_bug.cgi?id=38767 10826 10827 Fix small logic error leading to a problem in RenderSVGResourceClipper. It assigns a new temporary RenderStyle 10828 to the target object, but fails to reset it correctly to the old style. Fixes all svg/clip-path errors on the windows bots. 10829 10830 * rendering/RenderSVGResourceClipper.cpp: 10831 (WebCore::RenderSVGResourceClipper::createClipData): 10832 10833 2010-05-07 Daniel Cheng <dcheng (a] chromium.org> 10834 10835 Reviewed by Jian Li. 10836 10837 [chromium] DragDataChromium::asURL() shouldn't do file validity checks 10838 https://bugs.webkit.org/show_bug.cgi?id=38711 10839 10840 The renderer is sandboxed in Chromium, so these calls will give us no 10841 meaningful information. The loader will do the right thing if we pass 10842 it a file URL that points to an invalid file. 10843 10844 No new tests. 10845 10846 * platform/chromium/DragDataChromium.cpp: 10847 (WebCore::DragData::asURL): 10848 10849 2010-05-07 Simon Fraser <simon.fraser (a] apple.com> 10850 10851 Reviewed by Dan Bernstein. 10852 10853 Fix debug-only render tree output to show object addresses in hex. 10854 10855 * rendering/RenderTreeAsText.cpp: 10856 (WebCore::writeRenderObject): 10857 (WebCore::write): 10858 10859 2010-05-07 Alexey Proskuryakov <ap (a] apple.com> 10860 10861 Reviewed by Adele Peterson. 10862 10863 https://bugs.webkit.org/show_bug.cgi?id=38546 10864 Node.focus() fails to move focus from subframe properly 10865 10866 Test: fast/frames/take-focus-from-iframe.html 10867 10868 * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear 10869 focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas 10870 of focused frame get out of sync temporarily. 10871 10872 2010-05-07 Nikolas Zimmermann <nzimmermann (a] rim.com> 10873 10874 Reviewed by Dirk Schulze. 10875 10876 svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly 10877 https://bugs.webkit.org/show_bug.cgi?id=37798 10878 10879 When creating JSEventListeners through attributes (onclick, etc..) or add/removeEventListener 10880 calls on a SVGElementInstance, do NOT pass the element instance itself as JS wrapper object 10881 but the correspondingElement(). SVGElementInstance redirects all event listener registrations 10882 to the correspondingElement(), as they share an event listener list, per SVG spec. The old 10883 code was very dangerous, leading to random assertions, when garbage collection teared down 10884 the JSSVGElementInstance and event listeners fired, whose listeners were registered with 10885 it, but residing in the correspondingElement() event listener list. 10886 10887 Removes the need for CustomToJS code for JSSVGElementInstance, which was wrong anyways. We hoped 10888 to keep the event listeers alive by just creating a js wrapper of the correspondingElement(), that 10889 could only work as long as garbage collection didn't tear it down, just luck. Also remove the 10890 CustomPushEventHandlerScope marker, as it is only used for JSLazyEventListeners and only works 10891 for JSNode derived objects, it was a no-op for SVGElementInstance, thus removed it. 10892 10893 Should fix all random crashes/assertions seen with svg/custom/use-instanceRoot-as-event-target.xhtml 10894 See bug report for a detailed crash analysis. 10895 10896 * bindings/js/JSSVGElementInstanceCustom.cpp: Remove custom toJS()/pushEventHandlerScope() handling, not necessary anymore. 10897 (WebCore::JSSVGElementInstance::markChildren): 10898 * bindings/scripts/CodeGeneratorJS.pm: For JSSVGElementInstance pass the correspondingElement() as JS wrapper object, not itself. 10899 * svg/SVGElementInstance.cpp: 10900 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Be sure to trigger a style update here, so dirty shadow trees for <use> get rebuild. Otherwhise DOM may be out-of-sync. 10901 (WebCore::SVGElementInstance::eventTargetData): Add ASSERT_NOT_REACHED(), all event listener calls are forwarded to the correspondingElement(). 10902 (WebCore::SVGElementInstance::ensureEventTargetData): Ditto. 10903 * svg/SVGElementInstance.idl: Remove CustomToJS, CustomPushEventHandlerScope markers. 10904 10905 2010-05-06 Kenneth Russell <kbr (a] google.com> 10906 10907 Reviewed by Dimitri Glazkov. 10908 10909 WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c) 10910 https://bugs.webkit.org/show_bug.cgi?id=38039 10911 10912 Web IDL now allows indexed getters and setters to be unnamed. Per 10913 discussion in WebGL working group and recent update to spec, 10914 removed the buggy get() and single-element set() methods from the 10915 JavaScript bindings to the WebGL array types. Refactored set() 10916 implementation in JSC bindings to share more code and modified V8 10917 binding to look more like it. Added unit tests for indexed getter 10918 with out-of-range indices and verifying removal of get and 10919 single-element set methods. Updated existing WebGL array tests. 10920 10921 Tests: fast/canvas/webgl/array-get-and-set-method-removal.html 10922 fast/canvas/webgl/array-get-out-of-bounds.html 10923 10924 * bindings/js/JSWebGLArrayHelper.h: 10925 (WebCore::setWebGLArrayHelper): 10926 * bindings/js/JSWebGLByteArrayCustom.cpp: 10927 (WebCore::JSWebGLByteArray::set): 10928 * bindings/js/JSWebGLFloatArrayCustom.cpp: 10929 (WebCore::JSWebGLFloatArray::set): 10930 * bindings/js/JSWebGLIntArrayCustom.cpp: 10931 (WebCore::JSWebGLIntArray::set): 10932 * bindings/js/JSWebGLShortArrayCustom.cpp: 10933 (WebCore::JSWebGLShortArray::set): 10934 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: 10935 (WebCore::JSWebGLUnsignedByteArray::set): 10936 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: 10937 (WebCore::JSWebGLUnsignedIntArray::set): 10938 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: 10939 (WebCore::JSWebGLUnsignedShortArray::set): 10940 * bindings/v8/custom/V8WebGLArrayCustom.h: 10941 (WebCore::setWebGLArrayHelper): 10942 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 10943 (WebCore::V8WebGLByteArray::setCallback): 10944 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 10945 (WebCore::V8WebGLFloatArray::setCallback): 10946 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 10947 (WebCore::V8WebGLIntArray::setCallback): 10948 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 10949 (WebCore::V8WebGLShortArray::setCallback): 10950 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 10951 (WebCore::V8WebGLUnsignedByteArray::setCallback): 10952 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 10953 (WebCore::V8WebGLUnsignedIntArray::setCallback): 10954 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 10955 (WebCore::V8WebGLUnsignedShortArray::setCallback): 10956 * html/canvas/WebGLByteArray.h: 10957 * html/canvas/WebGLByteArray.idl: 10958 * html/canvas/WebGLFloatArray.h: 10959 * html/canvas/WebGLFloatArray.idl: 10960 * html/canvas/WebGLIntArray.h: 10961 * html/canvas/WebGLIntArray.idl: 10962 * html/canvas/WebGLShortArray.h: 10963 * html/canvas/WebGLShortArray.idl: 10964 * html/canvas/WebGLUnsignedByteArray.h: 10965 * html/canvas/WebGLUnsignedByteArray.idl: 10966 * html/canvas/WebGLUnsignedIntArray.h: 10967 * html/canvas/WebGLUnsignedIntArray.idl: 10968 * html/canvas/WebGLUnsignedShortArray.h: 10969 * html/canvas/WebGLUnsignedShortArray.idl: 10970 10971 2010-05-07 Pavel Feldman <pfeldman (a] chromium.org> 10972 10973 Not reviewed: chromium dev tools tests fix. 10974 Add a more strict check prior to accessing constructor property in 10975 Web Inspector frontend. 10976 10977 * inspector/front-end/InjectedScript.js: 10978 (injectedScriptConstructor): 10979 10980 2010-05-07 Pavel Feldman <pfeldman (a] chromium.org> 10981 10982 Reviewed by Joseph Pecoraro. 10983 10984 Web Inspector: On Linux/Windows panel history is 10985 traversed while iterating over words in text prompt. 10986 10987 https://bugs.webkit.org/show_bug.cgi?id=38740 10988 10989 * inspector/front-end/TextPrompt.js: 10990 (WebInspector.TextPrompt): 10991 * inspector/front-end/inspector.js: 10992 (WebInspector.documentKeyDown): 10993 10994 2010-05-07 Pavel Feldman <pfeldman (a] chromium.org> 10995 10996 Reviewed by Timothy Hatcher. 10997 10998 Web Inspector: come up with InjectedScript._className that works for both JSC and V8. 10999 11000 https://bugs.webkit.org/show_bug.cgi?id=38755 11001 11002 * inspector/front-end/InjectedScript.js: 11003 (injectedScriptConstructor): 11004 11005 2010-05-07 Joseph Pecoraro <joepeck (a] webkit.org> 11006 11007 Reviewed by Adam Barth. 11008 11009 document.write is not synchronous after page load 11010 https://bugs.webkit.org/show_bug.cgi?id=38146 11011 11012 If there are no pending scripts, a document.write call should be 11013 synchronous. This matches other browsers and the HTML5 spec. Forcing 11014 the tokenizer to be synchronous in Document::write does not affect 11015 external scripts written by the write call. This should only change 11016 behavior of document.write after the page is done loading. 11017 11018 Difficult to test reliably due to HTMLTokenizing relying on processing time. 11019 I made a manual test because the test requires processing very large strings 11020 synchronously and therefore can take some time. 11021 11022 Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html 11023 11024 * dom/Document.cpp: 11025 (WebCore::SynchronousHTMLTokenizerGuard::SynchronousHTMLTokenizerGuard): if the provided tokenizer is an HTMLTokenizer make it synchronous 11026 (WebCore::SynchronousHTMLTokenizerGuard::~SynchronousHTMLTokenizerGuard): if the provided tokenizer was an HTMLTokenizer return its synchronous state 11027 (WebCore::Document::write): temporarily set the tokenizer to synchronous during document.write 11028 * dom/Tokenizer.h: 11029 (WebCore::Tokenizer::asHTMLTokenizer): default implementation returns 0, to be overridden by HTMLTokenizer 11030 * html/HTMLTokenizer.h: allow access to to the force synchronous state 11031 (WebCore::HTMLTokenizer::forceSynchronous): accessor 11032 (WebCore::HTMLTokenizer::asHTMLTokenizer): override the default to return itself 11033 * manual-tests/dom/document-write-synchronous-after-page-load.html: Added. 11034 11035 2010-05-07 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 11036 11037 Reviewed by Simon Hausmann. 11038 11039 [Qt] Fix rendering of -webkit-user-select: none 11040 11041 -webkit-user-select: none is implemented by filling 11042 the area with an invalid default-constructed Color. 11043 In most ports passing an invalid color down to the 11044 graphics backend seems to produce transparent fills. 11045 11046 In Qt the behavior of painting with an invalid QColor 11047 is undefined, and in practice it results in painting 11048 black opaque areas. 11049 11050 One way to fix this would be to use Qt::transparent 11051 when converting an undefined Color to a QColor, but 11052 Qt does not have short circuits for fully transparent 11053 painting, and we actually end up in slow code paths 11054 due to the transparency. So, we're better of doing the 11055 short circuit in WebKit. 11056 11057 https://bugs.webkit.org/show_bug.cgi?id=38523 11058 11059 * platform/graphics/qt/GraphicsContextQt.cpp: 11060 11061 2010-05-07 Ben Murdoch <benm (a] google.com> 11062 11063 Reviewed by Darin Adler. 11064 11065 Potential crash in EventHandler::handleTouchEvent 11066 https://bugs.webkit.org/show_bug.cgi?id=38646 11067 11068 Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets 11069 hashmap holds the last ref to an EventTarget when the user lifts their finger. 11070 11071 This is very hard to reproduce in a consistent way and clearly a 11072 simple logic error in the code, therefore no new tests. 11073 11074 * page/EventHandler.cpp: 11075 (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from 11076 the hasmap go out of scope so soon as it could delete the wrapped ptr if the 11077 hashmap held the last ref (and we use the raw ptr that the RefPtr 11078 wraps later in the WebCore::Touch constructor). 11079 11080 2010-05-07 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 11081 11082 Rubber-stamped by Kenneth Rohde Christiansen. 11083 11084 [GTK] Fails to build on GTK+ < 2.14 11085 https://bugs.webkit.org/show_bug.cgi?id=38746 11086 11087 Build fix only. Do basically the same as gtk_adjustment_configure 11088 would do if we are bellow GTK+ 2.14. 11089 11090 * platform/gtk/ScrollViewGtk.cpp: 11091 (WebCore::AdjustmentConfigure): 11092 11093 2010-05-07 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 11094 11095 Rubber-stamped by Xan Lopez. 11096 11097 Crash with MgOpenModerna font, with non-UTF-8 character 11098 https://bugs.webkit.org/show_bug.cgi?id=37795 11099 11100 NULL-check the font platform data, for now, to avoid the crash. 11101 11102 Could not yet figure out a way to get a test written that does not 11103 involve adding the font to the tree, but there are doubts about 11104 licensing. 11105 11106 * platform/graphics/cairo/FontCacheCairo.cpp: 11107 (WebCore::FontCache::getFontDataForCharacters): 11108 11109 2010-05-07 MORITA Hajime <morrita (a] google.com> 11110 11111 Reviewed by Eric Seidel. 11112 11113 [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm 11114 https://bugs.webkit.org/show_bug.cgi?id=37204 11115 11116 Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme. 11117 Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac. 11118 11119 No new tests; Should have no behavioural change. 11120 11121 * WebCore.gyp/WebCore.gyp: 11122 * rendering/RenderThemeChromiumMac.h: 11123 * rendering/RenderThemeChromiumMac.mm: 11124 (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): 11125 (WebCore::RenderThemeChromiumMac::documentViewFor): 11126 (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize): 11127 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): 11128 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): 11129 * rendering/RenderThemeMac.h: 11130 (WebCore::RenderThemeMac::updateActiveState): Added for overriding 11131 * rendering/RenderThemeMac.mm: 11132 (WebCore::RenderThemeMac::usesTestModeFocusRingColor): Added for overriding 11133 (WebCore::RenderThemeMac::documentViewFor): Added for overriding 11134 (WebCore::RenderThemeMac::paintMenuList): 11135 (WebCore::RenderThemeMac::setPopupButtonCellState): 11136 (WebCore::RenderThemeMac::paintSliderThumb): 11137 (WebCore::RenderThemeMac::paintSearchField): 11138 (WebCore::RenderThemeMac::setSearchCellState): 11139 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): 11140 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): 11141 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): 11142 (WebCore::RenderThemeMac::adjustSliderThumbSize): 11143 (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Added for overriding 11144 (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): 11145 11146 2010-05-06 Fumitoshi Ukai <ukai (a] chromium.org> 11147 11148 Reviewed by Alexey Proskuryakov. 11149 11150 JavaScriptCore/wtf/RandomNumber.h should provide using WTF::* 11151 https://bugs.webkit.org/show_bug.cgi?id=38719 11152 11153 * platform/graphics/wince/FontCustomPlatformData.cpp: 11154 (WebCore::createUniqueFontName): 11155 Remove WTF:: prefix from randomNumber() 11156 * platform/network/FormDataBuilder.cpp: 11157 (WebCore::FormDataBuilder::generateUniqueBoundaryString): 11158 Ditto. 11159 11160 2010-04-27 Tony Chang <tony (a] chromium.org> 11161 11162 Reviewed by Eric Seidel. 11163 11164 [chromium] clicking a scrollbar in an iframe shouldn't lose the selection 11165 https://bugs.webkit.org/show_bug.cgi?id=38189 11166 11167 Test: fast/events/mousedown-in-subframe-scrollbar.html 11168 11169 * page/chromium/EventHandlerChromium.cpp: 11170 (WebCore::EventHandler::passMousePressEventToSubframe): If clicking on 11171 a scrollbar, pass the event directly to the scrollbar. This matches 11172 mac which passes the event to the NSScroller. 11173 11174 2010-05-06 Simon Fraser <simon.fraser (a] apple.com> 11175 11176 Reviewed by Dan Bernstein. 11177 11178 Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal 11179 https://bugs.webkit.org/show_bug.cgi?id=38712 11180 11181 When compositing layer creation is testing layer overlap, we need to re-run the 11182 algorithm when an overflow:scroll element scrolls, to create new layers for revealed 11183 elements. 11184 11185 Test: compositing/layer-creation/overflow-scroll-overlap.html 11186 11187 * rendering/RenderLayer.cpp: 11188 (WebCore::RenderLayer::scrollToOffset): First, move the compositing updates 11189 until after the call to updateWidgetPositions(), so that this order is similar 11190 to what we done when a FrameView scrolls. This change has no known side effects. 11191 Second, if compositingConsultsOverlap() is true, we need to actually do a 11192 compositing layer update to compute whether revealed/hidden layers should 11193 be created/destroyed. 11194 11195 2010-05-06 Maciej Stachowiak <mjs (a] apple.com> 11196 11197 Not reviewed, build fix. 11198 11199 Try again - with quotes this time. *facepalm* 11200 11201 * dom/Notation.cpp: 11202 11203 2010-05-06 Maciej Stachowiak <mjs (a] apple.com> 11204 11205 Not reviewed, build fix. 11206 11207 Speculative fix for Qt and Gtk. 11208 11209 * dom/Notation.cpp: 11210 11211 2010-05-06 Maciej Stachowiak <mjs (a] apple.com> 11212 11213 Not reviewed, build fix. 11214 11215 Fix an assert that I failed to update in my earlier change. 11216 11217 * dom/CharacterData.h: 11218 (WebCore::CharacterData::CharacterData): 11219 11220 2010-05-06 Alexey Proskuryakov <ap (a] apple.com> 11221 11222 Reviewed by Geoff Garen. 11223 11224 https://bugs.webkit.org/show_bug.cgi?id=38697 11225 REGRESSION (r58299): Replying on reddit.com no longer works 11226 11227 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first, 11228 :left and :right. The aren't allowed in all contexts, and properly implementing them is out 11229 of scope for this regression fix. 11230 11231 2010-05-06 Jian Li <jianli (a] chromium.org> 11232 11233 Reviewed by Adam Barth. 11234 11235 Improve code generator scripts to support converting ScriptString. 11236 https://bugs.webkit.org/show_bug.cgi?id=38699 11237 11238 Change both JSC and V8 generators to introduce "ConvertScriptString" 11239 attribute to allow converting from ScriptString. Also updated the 11240 bindings test result. 11241 11242 These changes are necessary in order to avoid adding custom binding codes 11243 when we add the FileReader interface. 11244 11245 * bindings/scripts/CodeGeneratorJS.pm: 11246 * bindings/scripts/CodeGeneratorV8.pm: 11247 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 11248 (webkit_dom_test_obj_get_script_string_attr): 11249 (webkit_dom_test_obj_get_property): 11250 (webkit_dom_test_obj_class_init): 11251 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 11252 * bindings/scripts/test/JS/JSTestObj.cpp: 11253 (WebCore::): 11254 (WebCore::jsTestObjScriptStringAttr): 11255 * bindings/scripts/test/JS/JSTestObj.h: 11256 * bindings/scripts/test/ObjC/DOMTestObj.h: 11257 * bindings/scripts/test/ObjC/DOMTestObj.mm: 11258 (-[DOMTestObj scriptStringAttr]): 11259 * bindings/scripts/test/TestObj.idl: 11260 * bindings/scripts/test/V8/V8TestObj.cpp: 11261 (WebCore::TestObjInternal::scriptStringAttrAttrGetter): 11262 (WebCore::): 11263 11264 2010-05-06 Jian Li <jianli (a] chromium.org> 11265 11266 Reviewed by Adam Barth. 11267 11268 Improve code generator scripts to pass additional ScriptExecutionContext 11269 argument to the constructor. 11270 https://bugs.webkit.org/show_bug.cgi?id=38687 11271 11272 Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext" 11273 attribute to allow passing the additional ScriptExecutionContext argument to 11274 the constructor. Also add another test IDL file to test interface-level 11275 features. 11276 11277 These changes are necessary in order to avoid adding custom binding codes 11278 when we add the FileReader interface. 11279 11280 * bindings/scripts/CodeGeneratorJS.pm: 11281 * bindings/scripts/CodeGeneratorV8.pm: 11282 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added. 11283 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added. 11284 * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added. 11285 * bindings/scripts/test/JS/JSTestInterface.cpp: Added. 11286 * bindings/scripts/test/JS/JSTestInterface.h: Added. 11287 * bindings/scripts/test/ObjC/DOMTestInterface.h: Added. 11288 * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added. 11289 * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added. 11290 * bindings/scripts/test/TestInterface.idl: Added. 11291 * bindings/scripts/test/V8/V8TestInterface.cpp: Added. 11292 * bindings/scripts/test/V8/V8TestInterface.h: Added. 11293 * bindings/v8/V8Proxy.h: 11294 (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext): 11295 11296 2010-05-06 Maciej Stachowiak <mjs (a] apple.com> 11297 11298 Build fix, not reviewed. 11299 11300 Speculative Windows and Debug build fixes for the last change. 11301 11302 * dom/Node.h: 11303 (WebCore::Node::inDocument): 11304 (WebCore::Node::setFlag): 11305 11306 2010-05-06 James Robinson <jamesr (a] chromium.org> 11307 11308 Reviewed by Eric Seidel. 11309 11310 Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files. 11311 https://bugs.webkit.org/show_bug.cgi?id=38158 11312 11313 Fixes: 11314 - replace NULL with 0 11315 - remove unusued locals 11316 - add parens around ambiguous looking compound predicates like (a || b && c) 11317 11318 This also adds a check for x >= 0 to FontLinux.cpp's in this statement: 11319 if (x < walker.width()) 11320 This is more documentation than anything else since walker.width() returns 11321 an unsigned the current behavior is that x is promoted to unsigned and as 11322 long as x + walker.width() is less than 2^31 all negative values of x 11323 end up wrapping around and not being < walker.width(). This behavior is 11324 tested by fast/text/international/khmer-selection.html 11325 11326 * platform/graphics/chromium/FontLinux.cpp: 11327 (WebCore::adjustTextRenderMode): 11328 (WebCore::TextRunWalker::TextRunWalker): 11329 (WebCore::TextRunWalker::length): 11330 (WebCore::TextRunWalker::width): 11331 (WebCore::TextRunWalker::getTextRun): 11332 (WebCore::TextRunWalker::getNormalizedTextRun): 11333 (WebCore::Font::offsetForPositionForComplexText): 11334 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 11335 (WebCore::FontPlatformData::setupPaint): 11336 * platform/graphics/chromium/HarfbuzzSkia.cpp: 11337 (WebCore::getOutlinePoint): 11338 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 11339 (WebCore::GraphicsContext3D::getImageData): 11340 * platform/graphics/skia/GraphicsContextSkia.cpp: 11341 (WebCore::isCoordinateSkiaSafe): 11342 (WebCore::GraphicsContext::fillRect): 11343 (WebCore::GraphicsContext::strokePath): 11344 (WebCore::GraphicsContext::strokeRect): 11345 11346 2010-05-06 Ada Chan <adachan (a] apple.com> 11347 11348 Reviewed by David Kilzer. 11349 11350 https://bugs.webkit.org/show_bug.cgi?id=38695 11351 11352 Check the result from widget() for NULL before accessing it. 11353 11354 * rendering/RenderIFrame.cpp: 11355 (WebCore::RenderIFrame::calcHeight): 11356 (WebCore::RenderIFrame::calcWidth): 11357 11358 2010-05-06 Maciej Stachowiak <mjs (a] apple.com> 11359 11360 Reviewed by Darin Adler. 11361 11362 further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix 11363 https://bugs.webkit.org/show_bug.cgi?id=38682 11364 <rdar://problem/7859794> 11365 11366 Looks like a 1-2% speedup on PLT. 11367 11368 - Reorder CSS properties. 11369 - Remove short circuit tag check in matchRulesForList which costs more than it saves. 11370 - Inline initForStyleResolve. 11371 - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop. 11372 11373 - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking, 11374 to make it cheaper to initialize the bits and give faster access. 11375 - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment, 11376 and devirtualize those methods. 11377 - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since 11378 they are very simple and lots of nodes get constructed. 11379 11380 * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them 11381 with < instead of switch statements 11382 * css/CSSStyleSelector.cpp: 11383 (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check 11384 for tag match before checking selector. This check very rarely short circuits anything, 11385 since most rules with a tag end up in the appropriate tag bucket. So doing the check 11386 cost more time than the time saved. 11387 (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way. 11388 (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to 11389 check for the high priority properties. Convert to template to avoid checking "applyFirst" 11390 each time through the loop. 11391 (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature. 11392 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto 11393 (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto 11394 * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature. 11395 * rendering/style/RenderStyle.cpp: 11396 (WebCore::RenderStyle::RenderStyle): Inline constructor. 11397 * rendering/style/RenderStyle.h: Make constructor private so it can be inline. 11398 * dom/Node.h: 11399 (WebCore::): See high-level description of changes above. Redid the 11400 way boolean flags work. 11401 (WebCore::Node::isElementNode): 11402 (WebCore::Node::isContainerNode): 11403 (WebCore::Node::isTextNode): 11404 (WebCore::Node::isHTMLElement): 11405 (WebCore::Node::isSVGElement): 11406 (WebCore::Node::isStyledElement): 11407 (WebCore::Node::isCommentNode): 11408 (WebCore::Node::hasID): 11409 (WebCore::Node::hasClass): 11410 (WebCore::Node::active): 11411 (WebCore::Node::inActiveChain): 11412 (WebCore::Node::inDetach): 11413 (WebCore::Node::hovered): 11414 (WebCore::Node::attached): 11415 (WebCore::Node::setAttached): 11416 (WebCore::Node::needsStyleRecalc): 11417 (WebCore::Node::styleChangeType): 11418 (WebCore::Node::childNeedsStyleRecalc): 11419 (WebCore::Node::isLink): 11420 (WebCore::Node::setHasID): 11421 (WebCore::Node::setHasClass): 11422 (WebCore::Node::setChildNeedsStyleRecalc): 11423 (WebCore::Node::clearChildNeedsStyleRecalc): 11424 (WebCore::Node::setInDocument): 11425 (WebCore::Node::clearInDocument): 11426 (WebCore::Node::setInActiveChain): 11427 (WebCore::Node::clearInActiveChain): 11428 (WebCore::Node::setIsLink): 11429 (WebCore::Node::clearIsLink): 11430 (WebCore::Node::setActive): 11431 (WebCore::Node::setHovered): 11432 (WebCore::Node::inDocument): 11433 (WebCore::Node::): 11434 (WebCore::Node::getFlag): 11435 (WebCore::Node::setFlag): 11436 (WebCore::Node::clearFlag): 11437 (WebCore::Node::hasRareData): 11438 (WebCore::Node::isParsingChildrenFinished): 11439 (WebCore::Node::setIsParsingChildrenFinished): 11440 (WebCore::Node::clearIsParsingChildrenFinished): 11441 (WebCore::Node::isStyleAttributeValid): 11442 (WebCore::Node::setIsStyleAttributeValid): 11443 (WebCore::Node::clearIsStyleAttributeValid): 11444 (WebCore::Node::isSynchronizingStyleAttribute): 11445 (WebCore::Node::setIsSynchronizingStyleAttribute): 11446 (WebCore::Node::clearIsSynchronizingStyleAttribute): 11447 (WebCore::Node::areSVGAttributesValid): 11448 (WebCore::Node::setAreSVGAttributesValid): 11449 (WebCore::Node::clearAreSVGAttributesValid): 11450 (WebCore::Node::isSynchronizingSVGAttributes): 11451 (WebCore::Node::setIsSynchronizingSVGAttributes): 11452 (WebCore::Node::clearIsSynchronizingSVGAttributes): 11453 (WebCore::Node::hasRareSVGData): 11454 (WebCore::Node::setHasRareSVGData): 11455 (WebCore::Node::clearHasRareSVGData): 11456 (WebCore::Node::initialRefCount): 11457 * dom/Node.cpp: 11458 (WebCore::Node::trackForDebugging): Adjusted for changes in 11459 flag handling. 11460 (WebCore::Node::ensureRareData): ditto 11461 (WebCore::Node::setStyleChange): ditto 11462 (WebCore::Node::setNeedsStyleRecalc): ditto 11463 (WebCore::Node::lazyAttach): ditto 11464 (WebCore::Node::attach): ditto 11465 (WebCore::Node::detach): ditto 11466 (WebCore::Node::insertedIntoDocument): ditto 11467 (WebCore::Node::removedFromDocument): ditto 11468 * dom/CharacterData.cpp: 11469 * dom/CharacterData.h: 11470 (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp) 11471 * dom/Comment.cpp: 11472 (WebCore::Comment::Comment): Tell the base class that we're a comment. 11473 * dom/Comment.h: Remove isCommentNode override. 11474 * dom/ContainerNode.cpp: 11475 (WebCore::ContainerNode::detach): Adjusted for changes in flag 11476 handling. 11477 (WebCore::ContainerNode::removedFromDocument): ditto 11478 * dom/Document.cpp: 11479 (WebCore::Document::Document): Adjusted for changes in flag handling. 11480 (WebCore::Document::recalcStyle): ditto 11481 (WebCore::Document::setFocusedNode): ditto 11482 * dom/Document.h: 11483 (WebCore::Node::Node): Inline the Node constructor - goes here 11484 because it uses Document. 11485 * dom/DocumentFragment.cpp: include Document.h due to above change 11486 * dom/EditingText.cpp: ditto 11487 * dom/EntityReference.cpp: ditto 11488 * dom/Element.cpp: 11489 (WebCore::Element::getAttribute): Adjusted for changes in flag 11490 handling. 11491 (WebCore::Element::setAttribute): ditto 11492 (WebCore::Element::hasAttributes): ditto 11493 (WebCore::Element::recalcStyle): ditto 11494 (WebCore::Element::finishParsingChildren): ditto 11495 * dom/Element.h: 11496 (WebCore::Element::Element): Inline (moved from .cpp) 11497 (WebCore::Element::isFinishedParsingChildren): 11498 (WebCore::Element::beginParsingChildren): 11499 (WebCore::Element::attributes): Adjusted for changes in flag 11500 handling. 11501 * dom/StyledElement.cpp: 11502 (WebCore::StyledElement::updateStyleAttribute): Adjust for 11503 changes to flag handling. 11504 (WebCore::StyledElement::mapToEntry): ditto 11505 (WebCore::StyledElement::parseMappedAttribute): ditto 11506 (WebCore::StyledElement::copyNonAttributeProperties): ditto 11507 * dom/StyledElement.h: 11508 (WebCore::StyledElement::StyledElement): Inline (moved from.cpp) 11509 (WebCore::StyledElement::invalidateStyleAttribute): Adjust for 11510 changes in flag handling. 11511 * dom/Text.h: 11512 (WebCore::Text::Text): Inline (moved from .cpp) 11513 * dom/Text.cpp: 11514 * html/HTMLAnchorElement.cpp: 11515 (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in 11516 flag handling. 11517 (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto 11518 * html/HTMLElement.cpp: 11519 (WebCore::HTMLElement::create): Tell base class we're an HTML element. 11520 * html/HTMLElement.h: ditto above; remove isHTMLElement override. 11521 * html/HTMLFormControlElement.h: Tell base class we're an HTML element. 11522 * html/HTMLFrameOwnerElement.cpp: 11523 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto 11524 * html/HTMLProgressElement.cpp: 11525 (WebCore::HTMLProgressElement::HTMLProgressElement): ditto 11526 * mathml/MathMLElement.cpp: 11527 (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled 11528 element. 11529 * rendering/MediaControlElements.cpp: 11530 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 11531 Adjust for changes in flag handling. 11532 (WebCore::MediaControlElement::MediaControlElement): ditto 11533 (WebCore::MediaControlInputElement::MediaControlInputElement): ditto 11534 * rendering/RenderFileUploadControl.cpp: 11535 (WebCore::RenderFileUploadControl::updateFromElement): ditto 11536 * rendering/RenderLayer.cpp: 11537 (WebCore::RenderLayer::updateHoverActiveState): ditto 11538 * rendering/RenderProgress.cpp: 11539 (WebCore::RenderProgress::updateValuePartState): ditto 11540 * rendering/RenderSlider.cpp: 11541 (WebCore::RenderSlider::updateFromElement): ditto 11542 * rendering/SVGShadowTreeElements.cpp: 11543 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto 11544 * rendering/TextControlInnerElements.cpp: 11545 (WebCore::TextControlInnerElement::attachInnerElement): ditto 11546 * svg/SVGAnimatedProperty.h: 11547 (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto 11548 (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto 11549 * svg/SVGElement.cpp: 11550 (WebCore::SVGElement::SVGElement): Tell base class we're 11551 an svg element. 11552 (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling 11553 changes. 11554 (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto 11555 * svg/SVGElement.h: 11556 (WebCore::SVGElement::invalidateSVGAttributes): ditto 11557 * svg/SVGPolyElement.cpp: 11558 (WebCore::SVGPolyElement::svgAttributeChanged): ditto 11559 * wml/WMLAnchorElement.cpp: 11560 (WebCore::WMLAnchorElement::WMLAnchorElement): ditto 11561 * wml/WMLElement.cpp: 11562 (WebCore::WMLElement::WMLElement): Tell base class we're a styled 11563 element. 11564 11565 2010-05-06 Adam Barth <abarth (a] webkit.org> 11566 11567 Unreviewed. Fix indent. Sorry, my OCD was acting up. 11568 11569 * page/EventHandler.cpp: 11570 (WebCore::EventHandler::handleMouseReleaseEvent): 11571 11572 2010-05-06 Pavel Feldman <pfeldman (a] chromium.org> 11573 11574 Reviewed by Joseph Pecoraro. 11575 11576 Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only. 11577 11578 https://bugs.webkit.org/show_bug.cgi?id=38660 11579 11580 * inspector/front-end/ResourceView.js: 11581 (WebInspector.ResourceView): 11582 (WebInspector.ResourceView.prototype._selectHeadersTab): 11583 (WebInspector.ResourceView.prototype.selectContentTab): 11584 * inspector/front-end/ResourcesPanel.js: 11585 (WebInspector.ResourcesPanel.prototype.showResource): 11586 11587 2010-05-06 Luiz Agostini <luiz.agostini (a] openbossa.org> 11588 11589 Rubber-stamped by Simon Hausmann. 11590 11591 [Qt] use QT_MOBILE_THEME in Symbian 11592 https://bugs.webkit.org/show_bug.cgi?id=38440 11593 11594 Putting QT_MOBILE_THEME into use for Symbian. 11595 11596 * WebCore.pro: 11597 11598 2010-05-06 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 11599 11600 Unreviewed, build fix WinCE for QtWebKit. 11601 11602 [Qt] Compilation with Plugins disabled is broken 11603 https://bugs.webkit.org/show_bug.cgi?id=31407 11604 11605 Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on 11606 Windows. 11607 11608 Thanks for Ismail "cartman" Donmez for help. 11609 11610 No new tests, as there is no new functionality. 11611 11612 * WebCore.gypi: 11613 * WebCore.pro: 11614 * platform/qt/TemporaryLinkStubs.cpp: Removed. 11615 * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp. 11616 11617 2010-05-06 Simon Hausmann <simon.hausmann (a] nokia.com> 11618 11619 Reviewed by Kenneth Rohde Christiansen. 11620 11621 [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases 11622 https://bugs.webkit.org/show_bug.cgi?id=36755 11623 11624 Enable the direct connection between QtNetwork and QtWebKit only for Qt versions 11625 greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2. 11626 11627 * platform/network/qt/QNetworkReplyHandler.cpp: 11628 11629 2010-05-06 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 11630 11631 Reviewed by Xan Lopez. 11632 11633 Rework where we get page step and line step from, so we do not 11634 depend on scrollbars existing. Caught by API test I forgot to run. 11635 11636 * platform/gtk/ScrollViewGtk.cpp: 11637 (WebCore::ScrollView::setGtkAdjustments): 11638 11639 2010-05-06 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 11640 11641 Reviewed by Xan Lopez. 11642 11643 [GTK] Adjustment resetting uses wrong values, and misses page_size and steps 11644 https://bugs.webkit.org/show_bug.cgi?id=38657 11645 11646 Fix resetting adjustment values. In the page cache case, we were 11647 confusing page_size and upper, leading to stray scrollbars 11648 sometimes. 11649 11650 * platform/gtk/ScrollViewGtk.cpp: 11651 (WebCore::ScrollView::setGtkAdjustments): 11652 11653 2010-05-06 Darin Adler <darin (a] apple.com> 11654 11655 Reviewed by Beth Dakin. 11656 11657 Page::setCanStartMedia does not properly handle the case where a media listener is removed 11658 https://bugs.webkit.org/show_bug.cgi?id=38602 11659 11660 We can't find any real case where this causes a crash at this time, but 11661 we want to harden the code anyway. Thus there are no new regression tests. 11662 11663 * page/Page.cpp: 11664 (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion. 11665 (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners 11666 one at a time and don't notify any listener that has already been removed 11667 from the set. 11668 11669 2010-05-05 Ojan Vafai <ojan (a] chromium.org> 11670 11671 Reviewed by Darin Adler. 11672 11673 shift+click on an existing selection doesn't work right 11674 https://bugs.webkit.org/show_bug.cgi?id=36542 11675 11676 NSTextView behavior is to move the end of the selection 11677 closest to the shift-click. Win/Linux behavior is to always 11678 move the focus end of the selection. 11679 11680 Test: editing/selection/shift-click.html 11681 11682 * page/EventHandler.cpp: 11683 (WebCore::textDistance): 11684 (WebCore::EventHandler::handleMousePressEventSingleClick): 11685 11686 2010-05-06 Pavel Feldman <pfeldman (a] chromium.org> 11687 11688 Reviewed by Timothy Hatcher. 11689 11690 Web Inspector: implement panels history traversal on Cmd+Left/Right. 11691 11692 https://bugs.webkit.org/show_bug.cgi?id=38649 11693 11694 * inspector/front-end/inspector.js: 11695 (WebInspector.set currentPanel): 11696 (WebInspector.loaded): 11697 (WebInspector.documentKeyDown): 11698 (WebInspector.PanelHistory): 11699 (WebInspector.PanelHistory.prototype.canGoBack): 11700 (WebInspector.PanelHistory.prototype.goBack): 11701 (WebInspector.PanelHistory.prototype.canGoForward): 11702 (WebInspector.PanelHistory.prototype.goForward): 11703 (WebInspector.PanelHistory.prototype.setPanel): 11704 11705 2010-05-03 Evan Martin <evan (a] chromium.org> 11706 11707 Reviewed by Eric Seidel. 11708 11709 [chromium] use glyphDataForCharacter so we hit the glyphdata cache 11710 https://bugs.webkit.org/show_bug.cgi?id=38500 11711 11712 Calling fontDataForCharacters() while rendering text is expensive. 11713 Examining the relevant Mac code in WebKit revealed that calling the 11714 similarly-named glyphDataForCharacters() results in caching the font 11715 data on a per-glyph basis. 11716 11717 Since we now choose a font based on the first character in a run, we 11718 need to be careful that all the glyphs within the run use the same font. 11719 This is also similar to the WebKit Mac code. We need to remove all of 11720 the script run bits eventually and this is a step in that direction. 11721 11722 Tests: fast/text/international/danda-space.html spacing changes slightly 11723 (now matches Firefox better) and fast/text/international/thai-baht-space.html 11724 now picks the correct (serif) font for the digits. 11725 11726 * platform/graphics/chromium/FontLinux.cpp: 11727 (WebCore::TextRunWalker::nextScriptRun): 11728 (WebCore::TextRunWalker::setupFontForScriptRun): 11729 11730 2010-05-06 Martin Robinson <mrobinson (a] webkit.org> 11731 11732 Reviewed by Gustavo Noronha Silva. 11733 11734 [GTK] Enable DOM clipboard and drag-and-drop access 11735 https://bugs.webkit.org/show_bug.cgi?id=30623 11736 11737 Convert dragging portion of drag-and-drop to use DataObjectGtk. 11738 11739 No new tests, because functionality has not changed. 11740 11741 * page/gtk/EventHandlerGtk.cpp: 11742 (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here. 11743 * platform/gtk/ClipboardGtk.h: 11744 (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here. 11745 (WebCore::ClipboardGtk::helper): Added. 11746 (WebCore::ClipboardGtk::dataObject): Added. 11747 * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method. 11748 11749 2010-05-06 Pavel Feldman <pfeldman (a] chromium.org> 11750 11751 Reviewed by Timothy Hatcher. 11752 11753 Web Inspector: Do not show content tab for resources 11754 not supporting content preview. 11755 11756 https://bugs.webkit.org/show_bug.cgi?id=38635 11757 11758 * English.lproj/localizedStrings.js: 11759 * inspector/front-end/FontView.js: 11760 (WebInspector.FontView.prototype.hasContentTab): 11761 * inspector/front-end/ImageView.js: 11762 (WebInspector.ImageView.prototype.hasContentTab): 11763 * inspector/front-end/ResourceView.js: 11764 (WebInspector.ResourceView): 11765 (WebInspector.ResourceView.prototype._selectTab): 11766 (WebInspector.ResourceView.prototype.hasContentTab): 11767 * inspector/front-end/SourceView.js: 11768 (WebInspector.SourceView.prototype.hasContentTab): 11769 11770 2010-05-06 Antonio Gomes <tonikitoo (a] webkit.org> 11771 11772 Reviewed by Kenneth Christiansen. 11773 11774 Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document* 11775 https://bugs.webkit.org/show_bug.cgi?id=37803 11776 11777 Instead of receiving a Document pointer as incoming parameter, patch modifies 11778 findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to 11779 receive a Node pointer as start for content traversal. 11780 This way we can make good use of deepFindFocusableNodeInDirection to traverse 11781 other scrollable container like scrollable div's, and not only frames or iframes. 11782 11783 Patch also makes use of 'while' instead of 'for' to loop control, that gives move 11784 flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental 11785 step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling(). 11786 11787 No behavior change. It is a preparation for supporting scrollable containers in Spatial 11788 Navigation. 11789 11790 * page/FocusController.cpp: 11791 (WebCore::FocusController::advanceFocusDirectionally): 11792 (WebCore::FocusController::findFocusableNodeInDirection): 11793 (WebCore::FocusController::deepFindFocusableNodeInDirection): 11794 * page/FocusController.h: 11795 11796 2010-05-06 Csaba Osztrogonc <ossy (a] webkit.org> 11797 11798 Unreviewed WinCE buildfix after r58842. 11799 Preprocessor doesn't understand "true", changed to "1" 11800 11801 * platform/graphics/MediaPlayer.cpp: 11802 11803 2010-05-06 Mikhail Naganov <mnaganov (a] chromium.org> 11804 11805 Reviewed by Pavel Feldman. 11806 11807 Temporarily disable 'console.profiles' until we can distinguish 11808 functions from different frames 11809 11810 https://bugs.webkit.org/show_bug.cgi?id=38638 11811 11812 * bindings/v8/custom/V8ConsoleCustom.cpp: 11813 (WebCore::V8Console::profilesAccessorGetter): 11814 11815 2010-05-06 Steve Block <steveblock (a] google.com> 11816 11817 Reviewed by Eric Seidel. 11818 11819 MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE 11820 https://bugs.webkit.org/show_bug.cgi?id=38544 11821 11822 No new tests, build fix only. 11823 11824 * DerivedSources.make: 11825 * bindings/js/ScriptController.cpp: 11826 (WebCore::ScriptController::ScriptController): 11827 * bindings/js/ScriptController.h: 11828 * bindings/js/ScriptControllerMac.mm: 11829 (WebCore::ScriptController::createScriptInstanceForWidget): 11830 * bridge/jni/JNIBridge.cpp: 11831 * bridge/jni/JNIBridge.h: 11832 * bridge/jni/JNIUtility.cpp: 11833 * bridge/jni/JNIUtility.h: 11834 * bridge/jni/jni_jsobject.h: 11835 * bridge/jni/jni_jsobject.mm: 11836 * bridge/jni/jni_objc.mm: 11837 * bridge/jni/jsc/JNIBridgeJSC.cpp: 11838 * bridge/jni/jsc/JNIBridgeJSC.h: 11839 * bridge/jni/jsc/JNIUtilityPrivate.cpp: 11840 * bridge/jni/jsc/JNIUtilityPrivate.h: 11841 * bridge/jni/jsc/JavaClassJSC.cpp: 11842 * bridge/jni/jsc/JavaClassJSC.h: 11843 * bridge/jni/jsc/JavaInstanceJSC.cpp: 11844 * bridge/jni/jsc/JavaInstanceJSC.h: 11845 * loader/FrameLoaderClient.h: 11846 11847 2010-05-05 Alejandro G. Castro <alex (a] igalia.com> 11848 11849 Reviewed by Xan Lopez. 11850 11851 Fixed the gobject introspection compilation with the new DOM 11852 bindings, we needed to add DOM objects. 11853 11854 * GNUmakefile.am: 11855 11856 2010-05-06 Adam Barth <abarth (a] webkit.org> 11857 11858 Reviewed by Eric Seidel. 11859 11860 drop support for sessionStorage in sandbox iframes 11861 https://bugs.webkit.org/show_bug.cgi?id=38151 11862 11863 This patch causes us to throw a security exception when a sandboxed 11864 iframe attempts to access sessionStorage, matching our behavior for 11865 localStorage. The letter of the spec asks us to create a separate 11866 storage area for each unique origin. We might want to do that in a 11867 future patch, but throwing a security error seems like a safe move now. 11868 11869 * page/DOMWindow.cpp: 11870 (WebCore::DOMWindow::sessionStorage): 11871 (WebCore::DOMWindow::localStorage): 11872 * page/DOMWindow.h: 11873 * page/DOMWindow.idl: 11874 * page/SecurityOrigin.h: 11875 (WebCore::SecurityOrigin::canAccessSessionStorage): 11876 * storage/StorageEventDispatcher.cpp: 11877 (WebCore::StorageEventDispatcher::dispatch): 11878 11879 2010-05-06 Andy Estes <aestes (a] apple.com> 11880 11881 Reviewed by Maciej Stachowiak. 11882 11883 Allow forms submitting to target="_blank" to open popups if the submission 11884 originated from a user gesture. 11885 11886 https://bugs.webkit.org/show_bug.cgi?id=37335 11887 <rdar://problem/7884980> 11888 11889 Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html 11890 11891 * bindings/js/ScriptController.cpp: 11892 (WebCore::ScriptController::processingUserGesture): If no DOM event is 11893 being processed, consult UserGestureIndicator to determine return value. 11894 * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent() 11895 into processingUserGesture(). 11896 11897 2010-05-06 Xan Lopez <xlopez (a] igalia.com> 11898 11899 Rubber-stamped by Eric Seidel. 11900 11901 [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm 11902 https://bugs.webkit.org/show_bug.cgi?id=38577 11903 11904 Thinko caught while refactoring, $custom variable was not 11905 initialized. 11906 11907 * bindings/scripts/CodeGeneratorGObject.pm: 11908 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 11909 (webkit_dom_test_obj_set_property): 11910 (webkit_dom_test_obj_get_property): 11911 (webkit_dom_test_obj_class_init): 11912 11913 2010-05-06 Xan Lopez <xlopez (a] igalia.com> 11914 11915 Rubber-stamped by Eric Seidel. 11916 11917 [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm 11918 https://bugs.webkit.org/show_bug.cgi?id=38577 11919 11920 Refactor GenerateProperty out of GenerateProperties. This is in 11921 preparation for EventListeren attributes, which won't generate 11922 normal GObject properties. 11923 11924 * bindings/scripts/CodeGeneratorGObject.pm: 11925 11926 2010-05-06 Pavel Feldman <pfeldman (a] chromium.org> 11927 11928 Reviewed by Joseph Pecoraro. 11929 11930 Web Inspector: follow up to linkify event listeners. 11931 11932 https://bugs.webkit.org/show_bug.cgi?id=38257 11933 11934 * bindings/js/ScriptEventListener.cpp: 11935 (WebCore::eventListenerHandlerLocation): 11936 * bindings/v8/ScriptEventListener.cpp: 11937 (WebCore::eventListenerHandlerLocation): 11938 * inspector/front-end/ElementsPanel.js: 11939 (WebInspector.ElementsPanel.prototype.linkifyNodeReference): 11940 * inspector/front-end/EventListenersSidebarPane.js: 11941 11942 2010-05-05 Charles Wei <charles.wei (a] torchmobile.com.cn> 11943 11944 Reviewed by George Staikos 11945 11946 https://bugs.webkit.org/show_bug.cgi?id=37848 11947 This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit 11948 11949 Tests: fast/wcss/wap-input-format.xhtml 11950 fast/wcss/wap-input-required.xhtml 11951 11952 * css/CSSParser.cpp: 11953 (WebCore::CSSParser::parseValue): 11954 (WebCore::CSSParser::parseWCSSInputProperty): 11955 * css/CSSParser.h: 11956 * css/CSSStyleSelector.cpp: 11957 (WebCore::CSSStyleSelector::applyProperty): 11958 * css/WCSSPropertyNames.in: 11959 * dom/InputElement.cpp: 11960 (WebCore::InputElement::sanitizeValue): 11961 (WebCore::InputElement::handleBeforeTextInsertedEvent): 11962 (WebCore::InputElementData::InputElementData): 11963 (WebCore::formatCodes): 11964 (WebCore::cursorPositionToMaskIndex): 11965 (WebCore::InputElement::isConformToInputMask): 11966 (WebCore::InputElement::validateInputMask): 11967 * dom/InputElement.h: 11968 (WebCore::InputElementData::inputFormatMask): 11969 (WebCore::InputElementData::setInputFormatMask): 11970 (WebCore::InputElementData::maxInputCharsAllowed): 11971 (WebCore::InputElementData::setMaxInputCharsAllowed): 11972 * html/HTMLInputElement.cpp: 11973 (WebCore::HTMLInputElement::setWapInputFormat): 11974 * html/HTMLInputElement.h: 11975 (WebCore::HTMLInputElement::data): 11976 * wml/WMLInputElement.h: 11977 (WebCore::WMLInputElement::data): 11978 11979 2010-05-05 MORITA Hajime <morrita (a] google.com> 11980 11981 Reviewed by Darin Adler. 11982 11983 https://bugs.webkit.org/show_bug.cgi?id=38150 11984 Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer. 11985 11986 Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler() 11987 which accesses the renderer from foreign node, 11988 to TextControlInnerTextElement::defaultEventHandler() which owns the renderer. 11989 11990 No new tests. No behavioral change. 11991 11992 * html/HTMLFormControlElement.cpp: 11993 (WebCore::HTMLFormControlElementWithState::defaultEventHandler): 11994 * html/HTMLFormControlElement.h: 11995 * html/HTMLInputElement.h: 11996 * html/HTMLTextAreaElement.h: 11997 * rendering/TextControlInnerElements.cpp: 11998 (WebCore::TextControlInnerTextElement::defaultEventHandler): 11999 12000 2010-05-05 Joseph Pecoraro <joepeck (a] webkit.org> 12001 12002 Reviewed by Timothy Hatcher. 12003 12004 Web Inspector: Line Numbers should be Aligned with the Source Code Line 12005 https://bugs.webkit.org/show_bug.cgi?id=38593 12006 12007 If there is a message bubble, such as an error message, in a source view 12008 the line number should be in line with the source code line, not centered 12009 between the source and bubble. 12010 12011 * inspector/front-end/textViewer.css: 12012 (.webkit-line-number): added vertical-align: top 12013 12014 2010-05-05 Dan Bernstein <mitz (a] apple.com> 12015 12016 Fix the decelerated compositing build. 12017 12018 * page/FrameView.cpp: 12019 (WebCore::FrameView::isEnclosedInCompositingLayer): 12020 * page/FrameView.h: 12021 12022 2010-05-05 Gavin Barraclough <barraclough (a] apple.com> 12023 12024 Reviewed by Darin Adler. 12025 12026 Bug 38604 - workers-gc2 crashing on Qt 12027 12028 This appears to be due to a couple of issues. 12029 (1) When the atomic string table is deleted it does not clear the 'inTable' bit 12030 on AtomicStrings - it implicitly assumes that all AtomicStrings have already 12031 been deleted at this point (otherwise they will crash in their destructor when 12032 they try to remove themselves from the atomic string table). 12033 (2) We don't fix the ordering in which WTF::WTFThreadData and 12034 WebCore::ThreadGlobalData are destructed. 12035 12036 We should make sure that ThreadGlobalData is cleaned up before worker threads 12037 terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable 12038 bit of members on atomic string table destruction. 12039 12040 WTF changes (fix issue 2, above) - clean up the thread data on worker termination. 12041 12042 * platform/ThreadGlobalData.cpp: 12043 (WebCore::ThreadGlobalData::~ThreadGlobalData): 12044 (WebCore::ThreadGlobalData::destroy): 12045 * platform/ThreadGlobalData.h: 12046 * workers/WorkerThread.cpp: 12047 (WebCore::WorkerThread::workerThread): 12048 12049 2010-05-05 Dan Bernstein <mitz (a] apple.com> 12050 12051 Reviewed by Simon Fraser. 12052 12053 <rdar://problem/7932072> Iframes in composited layers dont repaint correctly (affects Yahoo! Mail with Flash Player 10.1) 12054 https://bugs.webkit.org/show_bug.cgi?id=38427 12055 12056 Test: compositing/iframes/iframe-in-composited-layer.html 12057 12058 * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer(). 12059 * page/FrameView.cpp: 12060 (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate. 12061 * page/FrameView.h: 12062 12063 2010-05-05 Chris Marrin <cmarrin (a] apple.com> 12064 12065 Reviewed by Simon Fraser. 12066 12067 Got composited iframes showing up on Mac again 12068 https://bugs.webkit.org/show_bug.cgi?id=38565 12069 12070 This was broken by http://trac.webkit.org/changeset/58798. That 12071 change connected iframes through the parent document to the root 12072 of the layer tree. That is correct for Windows, but not for Mac. 12073 So the places where the linkage is made were wrapped in 12074 shouldPropagateCompositingToIFrameParent() calls, which is 12075 always false for Mac. 12076 12077 Test: compositing/iframes/composited-iframe-alignment.html 12078 12079 * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac 12080 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 12081 (WebCore::RenderLayerCompositor::didMoveOnscreen): 12082 (WebCore::RenderLayerCompositor::willMoveOffscreen): 12083 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 12084 12085 2010-05-05 Alexey Proskuryakov <ap (a] apple.com> 12086 12087 Reviewed by Darin Adler. 12088 12089 https://bugs.webkit.org/show_bug.cgi?id=38260 12090 <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL(). 12091 12092 Broken all the way since r4 (yes, that's a revision number). 12093 12094 Test: http/tests/security/xss-DENIED-javascript-with-spaces.html 12095 12096 * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length. 12097 12098 2010-05-05 Chris Fleizach <cfleizach (a] apple.com> 12099 12100 Reviewed by Beth Dakin. 12101 12102 Many AXUnknown showing up in the hierarchy 12103 https://bugs.webkit.org/show_bug.cgi?id=38607 12104 12105 The RenderTableSection should not be an accessible element. 12106 12107 Test: platform/mac/accessibility/parent-of-table-row-is-table.html 12108 12109 * accessibility/AccessibilityRenderObject.cpp: 12110 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 12111 12112 2010-05-05 Csaba Osztrogonc <ossy (a] webkit.org> 12113 12114 Reviewed by Simon Hausmann. 12115 12116 [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements 12117 Fall back to the Phonon backend until the release situation has been cleared up. 12118 12119 https://bugs.webkit.org/show_bug.cgi?id=38612 12120 12121 Buildfix for QT_VERSION >= 0x040700 after r58810. 12122 12123 * platform/graphics/MediaPlayer.cpp: 12124 12125 2010-05-05 Jian Li <jianli (a] chromium.org> 12126 12127 Reviewed by David Levin. 12128 12129 XMLHttpRequestUpload events do not fire when sending a raw file or FormData object. 12130 https://bugs.webkit.org/show_bug.cgi?id=37771 12131 12132 Test: http/tests/local/formdata/upload-events.html 12133 12134 * xml/XMLHttpRequest.cpp: 12135 (WebCore::XMLHttpRequest::createRequest): 12136 12137 2010-05-05 Csaba Osztrogonc <ossy (a] webkit.org> 12138 12139 Reviewed by Simon Hausmann. 12140 12141 [Qt] Qt port should use its own QUuid class to create UUID string. 12142 https://bugs.webkit.org/show_bug.cgi?id=38581 12143 12144 * platform/UUID.cpp: 12145 (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case. 12146 12147 2010-05-05 Alexey Proskuryakov <ap (a] apple.com> 12148 12149 Roll out r58830 for breaking tests. 12150 12151 Was: https://bugs.webkit.org/show_bug.cgi?id=38546 12152 Node.focus() fails to move focus from subframe properly 12153 12154 * html/HTMLFrameElementBase.cpp: 12155 (WebCore::HTMLFrameElementBase::setFocus): 12156 12157 2010-05-05 Jian Li <jianli (a] chromium.org> 12158 12159 Reviewed by Adam Barth. 12160 12161 Implement FileReader class. 12162 https://bugs.webkit.org/show_bug.cgi?id=38157 12163 12164 This patch only contains the implementation of FileReader class as defined 12165 in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader. 12166 12167 New test will be added when a IDL is exposed and the FILE_READER is turned 12168 on. 12169 12170 * GNUmakefile.am: 12171 * WebCore.gypi: 12172 * WebCore.pro: 12173 * WebCore.vcproj/WebCore.vcproj: 12174 * WebCore.xcodeproj/project.pbxproj: 12175 * dom/EventNames.h: 12176 * dom/EventTarget.cpp: 12177 (WebCore::EventTarget::toFileReader): 12178 * dom/EventTarget.h: 12179 * html/FileError.h: 12180 (WebCore::FileError::FileError): 12181 * html/FileReader.cpp: Added. 12182 * html/FileReader.h: Added. 12183 * html/FileStream.cpp: 12184 (WebCore::FileStream::FileStream): 12185 (WebCore::FileStream::openForRead): 12186 (WebCore::FileStream::close): 12187 (WebCore::FileStream::read): 12188 * html/FileStream.h: 12189 12190 2010-05-05 Steve Falkenburg <sfalken (a] apple.com> 12191 12192 Reviewed by Maciej Stachowiak. 12193 12194 REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit 12195 https://bugs.webkit.org/show_bug.cgi?id=38595 12196 12197 * platform/graphics/cg/ImageSourceCG.cpp: 12198 (WebCore::ImageSource::setData): 12199 12200 2010-05-05 Alexey Proskuryakov <ap (a] apple.com> 12201 12202 Reviewed by Adele Peterson. 12203 12204 https://bugs.webkit.org/show_bug.cgi?id=38546 12205 Node.focus() fails to move focus from subframe properly 12206 12207 Test: fast/frames/take-focus-from-iframe.html 12208 12209 * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear 12210 focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas 12211 of focused frame get out of sync temporarily. 12212 12213 2010-05-05 Alexey Proskuryakov <ap (a] apple.com> 12214 12215 Reviewed by Adele Peterson. 12216 12217 https://bugs.webkit.org/show_bug.cgi?id=26824 12218 <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during 12219 keyboard event dispatch. 12220 12221 EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard 12222 event if focused frame changes between keydown and keypress. 12223 12224 * manual-tests/focus-change-between-key-events.html: Added. 12225 12226 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame 12227 changes while dispatching keydown. Also made similar changes for Windows to maintain matching 12228 behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being 12229 separate events. 12230 12231 2010-05-05 Steve Block <steveblock (a] google.com> 12232 12233 Reviewed by Adam Barth. 12234 12235 MediaError.h is missing PassRefPtr.h include 12236 https://bugs.webkit.org/show_bug.cgi?id=38575 12237 12238 No new tests, build fix only. 12239 12240 * html/MediaError.h: 12241 12242 2010-05-05 Alexander Pavlov <apavlov (a] chromium.org> 12243 12244 Reviewed by Pavel Feldman. 12245 12246 Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page 12247 https://bugs.webkit.org/show_bug.cgi?id=38579 12248 12249 * inspector/front-end/AuditLauncherView.js: 12250 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): 12251 (WebInspector.AuditLauncherView.prototype._updateResourceProgress): 12252 12253 2010-05-05 Pavel Feldman <pfeldman (a] chromium.org> 12254 12255 Reviewed by Joseph Pecoraro. 12256 12257 Web Inspector: Doubleclick on line number should not trigger source editing. 12258 12259 https://bugs.webkit.org/show_bug.cgi?id=38588 12260 12261 * inspector/front-end/TextViewer.js: 12262 (WebInspector.TextViewer.prototype._handleDoubleClick): 12263 12264 2010-05-05 Martin Robinson <mrobinson (a] webkit.org> 12265 12266 Reviewed by Gustavo Noronha. 12267 12268 [GTK] Enable DOM clipboard and drag-and-drop access 12269 https://bugs.webkit.org/show_bug.cgi?id=30623 12270 12271 Add support in the PasteboardHelper for images, in preparation for drag-and-drop data. 12272 12273 No new tests as functionality has not changed. 12274 12275 * platform/gtk/PasteboardHelper.cpp: 12276 (WebCore::PasteboardHelper::fillSelectionData): Add support for images here. 12277 (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here. 12278 12279 2010-05-05 Stuart Morgan <stuartmorgan (a] chromium.org> 12280 12281 Reviewed by Darin Fisher. 12282 12283 Add a "focused" parameter to Widget::setFocus, and updates Document 12284 so that Widget is informed of focus loss as well as focus gain. 12285 Changes all existing setFocus implementations so that they ignore 12286 the 'false' case, so no behavior is changed until individual 12287 platforms are updated to handle the new case (if they want to). 12288 12289 https://bugs.webkit.org/show_bug.cgi?id=37961 12290 12291 * dom/Document.cpp: 12292 (WebCore::Document::setFocusedNode): 12293 * platform/Widget.h: 12294 * platform/android/WidgetAndroid.cpp: 12295 (WebCore::Widget::setFocus): 12296 * platform/chromium/WidgetChromium.cpp: 12297 (WebCore::Widget::setFocus): 12298 * platform/efl/WidgetEfl.cpp: 12299 (WebCore::Widget::setFocus): 12300 * platform/gtk/WidgetGtk.cpp: 12301 (WebCore::Widget::setFocus): 12302 * platform/haiku/WidgetHaiku.cpp: 12303 (WebCore::Widget::setFocus): 12304 * platform/mac/WidgetMac.mm: 12305 (WebCore::Widget::setFocus): 12306 * platform/qt/WidgetQt.cpp: 12307 (WebCore::Widget::setFocus): 12308 * platform/win/WidgetWin.cpp: 12309 (WebCore::Widget::setFocus): 12310 * platform/wx/WidgetWx.cpp: 12311 (WebCore::Widget::setFocus): 12312 * plugins/PluginView.h: 12313 * plugins/PluginViewNone.cpp: 12314 (WebCore::PluginView::setFocus): 12315 * plugins/gtk/PluginViewGtk.cpp: 12316 (WebCore::PluginView::setFocus): 12317 * plugins/mac/PluginViewMac.cpp: 12318 (WebCore::PluginView::setFocus): 12319 * plugins/qt/PluginViewQt.cpp: 12320 (WebCore::PluginView::setFocus): 12321 * plugins/symbian/PluginViewSymbian.cpp: 12322 (WebCore::PluginView::setFocus): 12323 * plugins/win/PluginViewWin.cpp: 12324 (WebCore::PluginView::setFocus): 12325 12326 2010-05-05 Steve Block <steveblock (a] google.com> 12327 12328 Reviewed by Pavel Feldman. 12329 12330 Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack 12331 https://bugs.webkit.org/show_bug.cgi?id=38531 12332 12333 ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer 12334 is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being 12335 built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER). 12336 12337 No new tests, build fix only. 12338 12339 * bindings/v8/ScriptCallStack.cpp: 12340 (WebCore::ScriptCallStack::callLocation): 12341 (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer 12342 (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer 12343 * bindings/v8/ScriptCallStack.h: 12344 (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer 12345 * bindings/v8/ScriptDebugServer.cpp: 12346 * bindings/v8/ScriptDebugServer.h: 12347 12348 2010-05-05 Csaba Osztrogonc <ossy (a] webkit.org> 12349 12350 Rubber-stamped by Simon Hausmann. 12351 12352 [Qt] REGRESSION(r56869): WinCE build is broken 12353 https://bugs.webkit.org/show_bug.cgi?id=36929 12354 12355 * WebCore.pro: LIBS += -lOle32 added. 12356 12357 2010-05-05 Simon Hausmann <simon.hausmann (a] nokia.com> 12358 12359 Reviewed by Tor Arne Vestb. 12360 12361 [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements 12362 12363 Fall back to the Phonon backend until the release situation has been cleared up. 12364 12365 * WebCore.pro: 12366 12367 2010-05-05 Ilya Tikhonovsky <loislo (a] chromium.org> 12368 12369 Reviewed by Pavel Feldman. 12370 12371 WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records. 12372 https://bugs.webkit.org/show_bug.cgi?id=38542 12373 12374 * inspector/front-end/TimelinePanel.js: 12375 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 12376 (WebInspector.TimelineRecordListRow): 12377 (WebInspector.TimelineRecordListRow.prototype.update): 12378 (WebInspector.TimelinePanel.FormattedRecord): 12379 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 12380 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 12381 (WebInspector.TimelinePanel.PopupContentHelper): 12382 (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell): 12383 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow): 12384 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow): 12385 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow): 12386 12387 2010-05-05 Nikolas Zimmermann <nzimmermann (a] rim.com> 12388 12389 Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition. 12390 12391 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added. 12392 (WebKit::kit): 12393 (webkit_dom_test_callback_callback_with_class1param): 12394 (webkit_dom_test_callback_callback_with_class2param): 12395 (webkit_dom_test_callback_callback_with_non_bool_return_type): 12396 (WebKit::wrapTestCallback): 12397 (WebKit::core): 12398 (webkit_dom_test_callback_finalize): 12399 (webkit_dom_test_callback_set_property): 12400 (webkit_dom_test_callback_get_property): 12401 (webkit_dom_test_callback_class_init): 12402 (webkit_dom_test_callback_init): 12403 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added. 12404 * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added. 12405 * bindings/scripts/test/ObjC/DOMTestCallback.h: Added. 12406 * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added. 12407 (-[DOMTestCallback dealloc]): 12408 (-[DOMTestCallback finalize]): 12409 (-[DOMTestCallback callbackWithClass1Param:]): 12410 (-[DOMTestCallback callbackWithClass2Param:strArg:]): 12411 (-[DOMTestCallback callbackWithNonBoolReturnType:]): 12412 (-[DOMTestCallback customCallback:class6Param:]): 12413 (core): 12414 (kit): 12415 * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added. 12416 12417 2010-05-05 Joseph Pecoraro <joepeck (a] webkit.org> 12418 12419 Reviewed by Pavel Feldman. 12420 12421 Web Inspector: FontView needs Cleanup 12422 https://bugs.webkit.org/show_bug.cgi?id=38567 12423 12424 FontView was missing some of the newer practices for initialization 12425 that other Resource Views had. Also its width calculations could 12426 result in a single character wrapping. This is general cleanup. 12427 12428 * inspector/front-end/FontView.js: 12429 (WebInspector.FontView): move initialization into contentTabSelected 12430 (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views 12431 (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing 12432 12433 2010-05-05 Dirk Schulze <krit (a] webkit.org> 12434 12435 Reviewed by Nikolas Zimmermann. 12436 12437 SVG hit testing is *way* too slow 12438 https://bugs.webkit.org/show_bug.cgi?id=19312 12439 12440 Use the cached stroke and fill boundaries in RenderPath as a heuristik to 12441 speed up SVG's hit testing. 12442 12443 No new tests added. 12444 12445 * rendering/RenderPath.cpp: 12446 (WebCore::RenderPath::fillContains): 12447 (WebCore::RenderPath::strokeContains): 12448 12449 2010-05-04 Dumitru Daniliuc <dumi (a] chromium.org> 12450 12451 Reviewed by Adam Barth. 12452 12453 Auto-generate all Database callbacks. 12454 https://bugs.webkit.org/show_bug.cgi?id=38503 12455 12456 * DerivedSources.cpp: 12457 * DerivedSources.make: 12458 * GNUmakefile.am: 12459 * WebCore.gypi: 12460 * WebCore.pri: 12461 * WebCore.pro: 12462 * WebCore.vcproj/WebCore.vcproj: 12463 * WebCore.xcodeproj/project.pbxproj: 12464 * bindings/js/JSBindingsAllInOne.cpp: 12465 * bindings/js/JSCustomSQLStatementCallback.cpp: Removed. 12466 * bindings/js/JSCustomSQLStatementCallback.h: Removed. 12467 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 12468 (WebCore::JSSQLStatementErrorCallback::handleEvent): 12469 * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed. 12470 * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed. 12471 * bindings/js/JSCustomSQLTransactionCallback.h: Removed. 12472 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed. 12473 * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed. 12474 * bindings/js/JSDatabaseCallback.cpp: Removed. 12475 * bindings/js/JSDatabaseCallback.h: Removed. 12476 * bindings/js/JSDatabaseCustom.cpp: 12477 (WebCore::JSDatabase::changeVersion): 12478 (WebCore::createTransaction): 12479 * bindings/js/JSSQLTransactionCustom.cpp: 12480 (WebCore::JSSQLTransaction::executeSql): 12481 * bindings/scripts/CodeGeneratorJS.pm: 12482 * bindings/scripts/test/JS/JSTestCallback.cpp: 12483 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed. 12484 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed. 12485 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 12486 (WebCore::V8SQLStatementErrorCallback::handleEvent): 12487 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed. 12488 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed. 12489 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed. 12490 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed. 12491 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed. 12492 * bindings/v8/custom/V8DatabaseCallback.cpp: Removed. 12493 * bindings/v8/custom/V8DatabaseCallback.h: Removed. 12494 * bindings/v8/custom/V8DatabaseCustom.cpp: 12495 (WebCore::V8Database::changeVersionCallback): 12496 (WebCore::createTransaction): 12497 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 12498 (WebCore::V8SQLTransaction::executeSqlCallback): 12499 * storage/DatabaseCallback.h: 12500 * storage/DatabaseCallback.idl: Added. 12501 * storage/SQLStatement.cpp: 12502 (WebCore::SQLStatement::performCallback): 12503 * storage/SQLStatementCallback.h: 12504 * storage/SQLStatementCallback.idl: Added. 12505 * storage/SQLStatementErrorCallback.idl: Added. 12506 * storage/SQLTransaction.cpp: 12507 (WebCore::SQLTransaction::deliverTransactionCallback): 12508 * storage/SQLTransactionCallback.h: 12509 * storage/SQLTransactionCallback.idl: Added. 12510 * storage/SQLTransactionErrorCallback.h: 12511 * storage/SQLTransactionErrorCallback.idl: Added. 12512 12513 2010-05-04 Chris Marrin <cmarrin (a] apple.com> 12514 12515 Reviewed by Simon Fraser. 12516 12517 Made composited iframes work on Windows 12518 https://bugs.webkit.org/show_bug.cgi?id=32446 12519 12520 This completes the work in http://trac.webkit.org/changeset/57919 12521 to create compositing layers in the parent document when an iframe has 12522 a compositing layer. The parent document has a layer for the iframe 12523 element and builds a layer tree to the page root. The layer tree for the 12524 iframe document is then parented to the iframe element's GraphicsLayer. 12525 12526 The RenderLayerCompositor for the iframe document (which owns the 12527 root of the layer tree) now has a clippingLayer which is the 12528 parent of the layer tree root so it can be clipped to the parent 12529 iframe's bounds, taking into account borders, padding, etc. in 12530 the parent iframe element. 12531 12532 I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer 12533 12534 Test: compositing/iframes/composited-parent-iframe.html 12535 12536 * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content 12537 * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element 12538 * rendering/RenderLayerCompositor.h: 12539 12540 2010-05-03 Alexey Proskuryakov <ap (a] apple.com> 12541 12542 Reviewed by Adam Barth. 12543 12544 https://bugs.webkit.org/show_bug.cgi?id=38497 12545 <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin 12546 12547 This is a hardening fix, and behavior really depends on what an underlying networking layer 12548 does. So, no test. 12549 12550 * page/SecurityOrigin.cpp: 12551 (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading. 12552 (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities 12553 have the same security origin. 12554 12555 2010-05-04 Zhenyao Mo <zmo (a] google.com> 12556 12557 Reviewed by Dimitri Glazkov. 12558 12559 getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names. 12560 https://bugs.webkit.org/show_bug.cgi?id=38236 12561 12562 * html/canvas/CanvasObject.h: Add type check functions. 12563 (WebCore::CanvasObject::isBuffer): 12564 (WebCore::CanvasObject::isFramebuffer): 12565 (WebCore::CanvasObject::isProgram): 12566 (WebCore::CanvasObject::isRenderbuffer): 12567 (WebCore::CanvasObject::isShader): 12568 (WebCore::CanvasObject::isTexture): 12569 * html/canvas/WebGLBuffer.h: Add type check functions. 12570 (WebCore::WebGLBuffer::isBuffer): 12571 * html/canvas/WebGLFramebuffer.h: Add type check functions. 12572 (WebCore::WebGLFramebuffer::isFramebuffer): 12573 * html/canvas/WebGLProgram.h: Add type check functions. 12574 (WebCore::WebGLProgram::isProgram): 12575 * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name. 12576 * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name. 12577 (WebCore::WebGLRenderbuffer::isRenderbuffer): 12578 * html/canvas/WebGLRenderingContext.cpp: 12579 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones. 12580 (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name. 12581 (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name. 12582 * html/canvas/WebGLRenderingContext.h: Add find* functions. 12583 * html/canvas/WebGLShader.h: Add type check functions. 12584 (WebCore::WebGLShader::isShader): 12585 * html/canvas/WebGLTexture.cpp: remove constructor using existing name. 12586 * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name. 12587 (WebCore::WebGLTexture::isTexture): 12588 12589 2010-05-04 Luiz Agostini <luiz.agostini (a] openbossa.org> 12590 12591 Reviewed by Simon Hausmann. 12592 12593 [Qt] QT_MOBILE_THEME compile time flag 12594 https://bugs.webkit.org/show_bug.cgi?id=38439 12595 12596 Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to 12597 USE(QT_MOBILE_THEME). 12598 12599 * WebCore.pro: 12600 * platform/qt/RenderThemeQt.cpp: 12601 (WebCore::RenderThemeQt::RenderThemeQt): 12602 (WebCore::RenderThemeQt::qStyle): 12603 (WebCore::RenderThemeQt::extraDefaultStyleSheet): 12604 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 12605 (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists): 12606 * platform/qt/RenderThemeQt.h: 12607 12608 2010-05-04 Joseph Pecoraro <joepeck (a] webkit.org> 12609 12610 Reviewed by Dan Bernstein. 12611 12612 SVG fonts trigger GlyphPage::fill with null font 12613 https://bugs.webkit.org/show_bug.cgi?id=38530 12614 12615 SVG fonts do not use the glyph page cache. This change detects when 12616 attempting to fill a GlyphPage with an SVG font and indicates that 12617 the glyphs were not available. 12618 12619 * platform/graphics/GlyphPageTreeNode.cpp: 12620 (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts 12621 (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate 12622 12623 2010-05-04 Kent Tamura <tkent (a] chromium.org> 12624 12625 Reviewed by David Levin (and unofficially by Enrica Casucci). 12626 12627 REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work 12628 if the text is like a URL 12629 https://bugs.webkit.org/show_bug.cgi?id=38374 12630 12631 Since r54368, documentFragmentFromDragData() creates an <a> element 12632 with no anchor text for URL-like text dragged from input/textarea 12633 element. If such text is dropped to input/textarea element, the text 12634 is not inserted. 12635 To fix this problem, use the original text or the URL as an anchor 12636 text. 12637 12638 Test: editing/pasteboard/drag-drop-url-text.html 12639 12640 * page/DragController.cpp: 12641 (WebCore::documentFragmentFromDragData): 12642 12643 2010-05-04 Steve Block <steveblock (a] google.com> 12644 12645 Reviewed by Darin Adler. 12646 12647 JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong() 12648 https://bugs.webkit.org/show_bug.cgi?id=38525 12649 12650 No new tests, build fix only. 12651 12652 * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC) 12653 * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h 12654 * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h 12655 12656 2010-05-04 Steve Block <steveblock (a] google.com> 12657 12658 Reviewed by Darin Adler. 12659 12660 New FileSystemPOSIX functions cause linker errors on Android 12661 https://bugs.webkit.org/show_bug.cgi?id=38521 12662 12663 No new tests, build fix only. 12664 12665 * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp 12666 * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID) 12667 12668 2010-05-04 Pavel Feldman <pfeldman (a] chromium.org> 12669 12670 Reviewed by Timothy Hatcher. 12671 12672 Web Inspector: restore main and sidebar scroller positions 12673 when switching between panels. 12674 12675 https://bugs.webkit.org/show_bug.cgi?id=38522 12676 12677 * inspector/front-end/ElementsPanel.js: 12678 (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor): 12679 * inspector/front-end/Panel.js: 12680 (WebInspector.Panel.prototype.show): 12681 (WebInspector.Panel.prototype.hide): 12682 (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor): 12683 (WebInspector.Panel.prototype._storeScrollPositions): 12684 (WebInspector.Panel.prototype._restoreScrollPositions): 12685 * inspector/front-end/ResourcesPanel.js: 12686 (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor): 12687 * inspector/front-end/ScriptsPanel.js: 12688 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor): 12689 12690 2010-05-04 Steven Lai <steven_lai (a] asia.apple.com> 12691 12692 Reviewed by Darin Adler. 12693 12694 https://bugs.webkit.org/show_bug.cgi?id=37900 12695 <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits 12696 12697 Tests: fast/dom/HTMLInputElement/clone-input-checked.html 12698 fast/dom/clone-node-z-index.html 12699 12700 * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes() 12701 (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree 12702 * html/HTMLInputElement.cpp: 12703 (WebCore::HTMLInputElement::updateCheckedRadioButtons): 12704 (WebCore::HTMLInputElement::attach): 12705 (WebCore::HTMLInputElement::setChecked): 12706 * html/HTMLInputElement.h: 12707 12708 2010-04-29 John Gregg <johnnyg (a] google.com> 12709 12710 Reviewed by Dmitry Titov. 12711 12712 notifications should have dir and replaceId attributes. 12713 Note that tests are only enabled in Chromium, skipped elsewhere 12714 since notifications aren't implemented. 12715 https://bugs.webkit.org/show_bug.cgi?id=38336 12716 12717 Tests: fast/notifications/notifications-replace.html 12718 fast/notifications/notifications-rtl.html 12719 12720 * notifications/Notification.h: 12721 (WebCore::Notification::dir): 12722 (WebCore::Notification::setDir): 12723 (WebCore::Notification::replaceId): 12724 (WebCore::Notification::setReplaceId): 12725 * notifications/Notification.idl: 12726 12727 2010-05-04 Alejandro G. Castro <alex (a] igalia.com> 12728 12729 Reviewed by Xan Lopez. 12730 12731 Fixed error defining the float/double minimum in the object 12732 properties, the smallest value of a float/double is 12733 -G_MAXDOUBLE/-G_MAXFLOAT. 12734 12735 * bindings/scripts/CodeGeneratorGObject.pm: 12736 12737 2010-05-03 Joseph Pecoraro <joepeck (a] webkit.org> 12738 12739 Reviewed by Dan Bernstein. 12740 12741 REGRESSION: Text clipped in absolutely positioned search inputs 12742 https://bugs.webkit.org/show_bug.cgi?id=38468 12743 12744 Previously I incorrectly added x() and y() to the tx and ty positioning. 12745 This clips a search input like a text input, respecting the vertically 12746 centered text. 12747 12748 * rendering/RenderTextControlSingleLine.cpp: 12749 (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY 12750 (WebCore::RenderTextControlSingleLine::controlClipRect): 12751 12752 2010-05-04 Alexander Pavlov <apavlov (a] chromium.org> 12753 12754 Reviewed by Timothy Hatcher. 12755 12756 Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties 12757 https://bugs.webkit.org/show_bug.cgi?id=38516 12758 12759 * inspector/front-end/StylesSidebarPane.js: 12760 (WebInspector.StylePropertyTreeElement.prototype): 12761 12762 2010-05-04 Ben Murdoch <benm (a] google.com> 12763 12764 Reviewed by Simon Hausmann. 12765 12766 Crash in handleTouchEvent: using dangling node ptrs in hashmap 12767 https://bugs.webkit.org/show_bug.cgi?id=38514 12768 12769 When navigating away from a page, if you have your finger still 12770 pressed and then lift it on the new page we see a crash if the 12771 node got deleted as we still have a dangling pointer in the 12772 m_originatingTouchPointTargets hashmap and try to use it as the 12773 receiver to dispatch a touchend event. 12774 12775 Test: fast/events/touch/touch-stale-node-crash.html 12776 12777 * page/EventHandler.cpp: 12778 (WebCore::EventHandler::clear): Clear the hashmap of touch targets. 12779 12780 2010-05-04 Joseph Pecoraro <joepeck (a] webkit.org> 12781 12782 Reviewed by Pavel Feldman. 12783 12784 Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel 12785 https://bugs.webkit.org/show_bug.cgi?id=38510 12786 12787 * inspector/front-end/inspector.js: 12788 (WebInspector.set attached): resize the drawer after docking/undocking 12789 12790 2010-05-04 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 12791 12792 Unreviewed, build fix for Symbian. 12793 12794 [Symbian] Build fix after r58598. 12795 12796 Use C99 integer types for the Symbian plugin 12797 implementation. 12798 12799 No new tests, as there is no new functionality. 12800 12801 * plugins/symbian/PluginPackageSymbian.cpp: 12802 (WebCore::PluginPackage::NPVersion): 12803 * plugins/symbian/PluginViewSymbian.cpp: 12804 (WebCore::PluginView::handlePostReadFile): 12805 12806 2010-05-04 Nikolas Zimmermann <nzimmermann (a] rim.com> 12807 12808 Reviewed by Dirk Schulze. 12809 12810 Split SVGCharacterLayoutInfo in smaller pieces 12811 https://bugs.webkit.org/show_bug.cgi?id=38513 12812 12813 Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo. 12814 This is a preparation for more work in the text area. 12815 12816 * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build. 12817 * GNUmakefile.am: Ditto. 12818 * WebCore.gypi: Ditto. 12819 * WebCore.pro: Ditto 12820 * WebCore.vcproj/WebCore.vcproj: Ditto. 12821 * WebCore.xcodeproj/project.pbxproj: Ditto. 12822 * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp. 12823 * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h. 12824 (WebCore::SVGChar::SVGChar): 12825 * rendering/SVGCharacterLayoutInfo.cpp: 12826 (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent. 12827 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function. 12828 (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto 12829 * rendering/SVGCharacterLayoutInfo.h: 12830 * rendering/SVGRootInlineBox.h: Include new files. 12831 * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h. 12832 12833 2010-05-04 Xan Lopez <xlopez (a] igalia.com> 12834 12835 Reviewed by Holger Freyther. 12836 12837 [GTK] GObject DOM bindings 12838 https://bugs.webkit.org/show_bug.cgi?id=33590 12839 12840 Use helper functions from CodeGenerator.pm to figure out whether a 12841 type is "fundamental" or not (basically whether it's anything 12842 other than a string or a non-pointer type). 12843 12844 * bindings/scripts/CodeGeneratorGObject.pm: 12845 12846 2010-04-30 Alexander Pavlov <apavlov (a] chromium.org> 12847 12848 Reviewed by Yury Semikhatsky. 12849 12850 Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened 12851 https://bugs.webkit.org/show_bug.cgi?id=38255 12852 12853 Moved stylesheet-related mappings into a separate object stored 12854 in InspectorController rather than InspectorDOMAgent (which gets reset 12855 on every frontend [dis]connect). 12856 12857 * GNUmakefile.am: 12858 * WebCore.gypi: 12859 * WebCore.pro: 12860 * WebCore.vcproj/WebCore.vcproj: 12861 * WebCore.xcodeproj/project.pbxproj: 12862 * inspector/InspectorCSSStore.cpp: Added. 12863 (WebCore::InspectorCSSStore::InspectorCSSStore): 12864 (WebCore::InspectorCSSStore::~InspectorCSSStore): 12865 (WebCore::InspectorCSSStore::reset): 12866 * inspector/InspectorCSSStore.h: Added. 12867 * inspector/InspectorController.cpp: 12868 (WebCore::InspectorController::InspectorController): 12869 (WebCore::InspectorController::setFrontend): 12870 (WebCore::InspectorController::didCommitLoad): 12871 * inspector/InspectorController.h: 12872 * inspector/InspectorDOMAgent.cpp: 12873 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 12874 (WebCore::InspectorDOMAgent::discardBindings): 12875 (WebCore::InspectorDOMAgent::applyStyleText): 12876 (WebCore::InspectorDOMAgent::setStyleText): 12877 (WebCore::InspectorDOMAgent::setStyleProperty): 12878 (WebCore::InspectorDOMAgent::toggleStyleEnabled): 12879 (WebCore::InspectorDOMAgent::setRuleSelector): 12880 (WebCore::InspectorDOMAgent::addRule): 12881 (WebCore::InspectorDOMAgent::bindStyle): 12882 (WebCore::InspectorDOMAgent::bindRule): 12883 (WebCore::InspectorDOMAgent::buildObjectForStyle): 12884 (WebCore::InspectorDOMAgent::buildObjectForRule): 12885 * inspector/InspectorDOMAgent.h: 12886 (WebCore::InspectorDOMAgent::create): 12887 (WebCore::InspectorDOMAgent::cssStore): 12888 12889 2010-05-04 Mikhail Naganov <mnaganov (a] chromium.org> 12890 12891 Reviewed by Pavel Feldman. 12892 12893 Display "Recording..." item when recording an user-initiated CPU profile. 12894 12895 https://bugs.webkit.org/show_bug.cgi?id=38043 12896 12897 * English.lproj/localizedStrings.js: 12898 * inspector/front-end/ProfilesPanel.js: 12899 (WebInspector.ProfilesPanel.prototype.addProfileHeader): 12900 (WebInspector.ProfilesPanel.prototype.removeProfileHeader): 12901 (WebInspector.ProfilesPanel.prototype.showProfile): 12902 * inspector/front-end/inspector.js: 12903 (WebInspector.setRecordingProfile): 12904 12905 2010-05-04 Tucker Jay <jay.tucker (a] nokia.com> 12906 12907 Reviewed by Holger Freyther. 12908 12909 Animated GIF images does not animate 10x as expected by default. 12910 https://bugs.webkit.org/show_bug.cgi?id=36818 12911 12912 Added test case to existing manual test to test the 12913 fixed functionality. 12914 12915 * manual-tests/qt/qt-10loop-anim.gif: Added. 12916 * manual-tests/qt/qt-gif-test.html: 12917 * platform/graphics/qt/ImageDecoderQt.cpp: 12918 (WebCore::ImageDecoderQt::repetitionCount): 12919 12920 2010-05-04 Dirk Schulze <krit (a] webkit.org> 12921 12922 Unreviewed sort of XCodes project file. 12923 12924 * WebCore.xcodeproj/project.pbxproj: 12925 12926 2010-05-03 Steven Lai <steven_lai (a] asia.apple.com> 12927 12928 Reviewed by Brady Eidson. 12929 12930 Reverted hashchange() event back to async. 12931 (This change does not update HashChangeEvent to its new proposed interface) 12932 https://bugs.webkit.org/show_bug.cgi?id=36201 12933 rdar://problem/7780794 12934 rdar://problem/7761278 (partial fix) 12935 12936 Tests: fast/loader/hashchange-event-async.html 12937 12938 * dom/Document.cpp: reverted hashchange() event back to async 12939 (WebCore::Document::enqueueHashchangeEvent): 12940 12941 2010-05-03 Holger Hans Peter Freyther <zecke (a] selfish.org> 12942 12943 Rubber-stamped by Xan Lopez. 12944 12945 [Cairo,WX] Stop leaking a FontPlatformData. 12946 https://bugs.webkit.org/show_bug.cgi?id=37500 12947 12948 Stephan Amus pointed out that the pango font backend 12949 is leaking memory and fixed it. The WX font backend 12950 and the Cairo/Fontconfig backend have the same snippet 12951 of code and are leaking memory as well. This commit is 12952 fixing that. 12953 12954 * platform/graphics/cairo/SimpleFontDataCairo.cpp: 12955 (WebCore::SimpleFontData::smallCapsFontData): 12956 * platform/graphics/wx/SimpleFontDataWx.cpp: 12957 (WebCore::SimpleFontData::smallCapsFontData): 12958 12959 2010-05-03 James Robinson <jamesr (a] chromium.org> 12960 12961 Reviewed by Eric Seidel. 12962 12963 Clean up a few compiler warnings 12964 https://bugs.webkit.org/show_bug.cgi?id=38073 12965 12966 * html/TextMetrics.h: 12967 (WebCore::TextMetrics::width): 12968 * rendering/style/StyleRareInheritedData.h: 12969 * rendering/style/StyleRareNonInheritedData.h: 12970 12971 2010-05-02 Dumitru Daniliuc <dumi (a] chromium.org> 12972 12973 Reviewed by Adam Barth. 12974 12975 Add the ability to auto-generate callbacks to all code generators. 12976 https://bugs.webkit.org/show_bug.cgi?id=38414 12977 12978 * bindings/scripts/CodeGeneratorJS.pm: 12979 * bindings/scripts/CodeGeneratorV8.pm: 12980 * bindings/scripts/test/JS/JSTestCallback.cpp: Added. 12981 (WebCore::JSTestCallback::JSTestCallback): 12982 (WebCore::JSTestCallback::~JSTestCallback): 12983 (WebCore::JSTestCallback::callbackWithClass1Param): 12984 (WebCore::JSTestCallback::callbackWithClass2Param): 12985 * bindings/scripts/test/JS/JSTestCallback.h: Added. 12986 (WebCore::JSTestCallback::create): 12987 * bindings/scripts/test/V8/JSTestCallback.cpp: Added. 12988 (WebCore::V8TestCallback::V8TestCallback): 12989 (WebCore::V8TestCallback::~V8TestCallback): 12990 (WebCore::V8TestCallback::callbackWithClass1Param): 12991 (WebCore::V8TestCallback::callbackWithClass2Param): 12992 * bindings/scripts/test/V8/V8TestCallback.h: Added. 12993 (WebCore::V8TestCallback::create): 12994 * bindings/scripts/test/TestCallback.idl: Added. 12995 12996 2010-05-03 Kevin Watters <kevinwatters (a] gmail.com> 12997 12998 Reviewed by Kevin Ollivier. 12999 13000 [wx] Build and use Mac's ComplexTextController to support complex text in wx. 13001 https://bugs.webkit.org/show_bug.cgi?id=38482 13002 13003 * platform/graphics/FloatSize.h: 13004 * platform/graphics/GlyphBuffer.h: 13005 (WebCore::GlyphBuffer::advanceAt): 13006 (WebCore::GlyphBuffer::add): 13007 * platform/graphics/SimpleFontData.h: 13008 (WebCore::SimpleFontData::getNSFont): 13009 * platform/graphics/mac/ComplexTextController.cpp: 13010 * platform/graphics/mac/ComplexTextController.h: 13011 * platform/graphics/wx/FontCacheWx.cpp: 13012 (WebCore::FontCache::getFontDataForCharacters): 13013 (WebCore::FontCache::getLastResortFallbackFont): 13014 * platform/graphics/wx/FontPlatformData.h: 13015 (toCTFontRef): 13016 (WebCore::FontPlatformData::FontPlatformData): 13017 (WebCore::FontPlatformData::allowsLigatures): 13018 * platform/graphics/wx/FontPlatformDataWx.cpp: 13019 (WebCore::FontPlatformData::FontPlatformData): 13020 (WebCore::FontPlatformData::cgFont): 13021 * platform/graphics/wx/FontPlatformDataWxMac.mm: Added. 13022 (WebCore::FontPlatformData::nsFont): 13023 (WebCore::FontPlatformData::cacheNSFont): 13024 * platform/graphics/wx/FontWx.cpp: 13025 (WebCore::Font::canReturnFallbackFontsForComplexText): 13026 (WebCore::Font::selectionRectForComplexText): 13027 (WebCore::Font::drawComplexText): 13028 (WebCore::Font::floatWidthForComplexText): 13029 (WebCore::Font::offsetForPositionForComplexText): 13030 * platform/graphics/wx/SimpleFontDataWx.cpp: 13031 (WebCore::SimpleFontData::platformInit): 13032 (WebCore::SimpleFontData::containsCharacters): 13033 (WebCore::SimpleFontData::platformWidthForGlyph): 13034 * platform/wx/wxcode/fontprops.h: 13035 * platform/wx/wxcode/mac/carbon/fontprops.mm: 13036 (wxFontContainsCharacters): 13037 (GetTextExtent): 13038 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: 13039 (WebCore::drawTextWithSpacing): 13040 * platform/wx/wxcode/win/fontprops.cpp: 13041 (wxFontContainsCharacters): 13042 * wscript: 13043 13044 2010-05-03 Abhishek Arya <inferno (a] chromium.org> 13045 13046 Reviewed by Adam Barth. 13047 13048 Add support for controlling clipboard access from javascript. 13049 Clipboard access from javascript is disabled by default. 13050 https://bugs.webkit.org/show_bug.cgi?id=27751 13051 13052 Test: editing/execCommand/clipboard-access.html 13053 13054 * WebCore.base.exp: 13055 * editing/EditorCommand.cpp: 13056 (WebCore::supportedCopyCut): 13057 (WebCore::supportedPaste): 13058 (WebCore::createCommandMap): 13059 * page/Settings.cpp: 13060 (WebCore::Settings::Settings): 13061 (WebCore::Settings::setJavaScriptCanAccessClipboard): 13062 * page/Settings.h: 13063 (WebCore::Settings::javaScriptCanAccessClipboard): 13064 13065 2010-05-03 Alexey Proskuryakov <ap (a] apple.com> 13066 13067 Reviewed by Adam Barth. 13068 13069 https://bugs.webkit.org/show_bug.cgi?id=38285 13070 <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab 13071 13072 Cannot be tested, because new windows created in DRT always have an opener, and thus inherit 13073 its security origin. Only new windows and tabs created by browser chrome had this problem. 13074 13075 * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to 13076 the beginning, so that an initial document would get correct flags. 13077 13078 2010-05-03 Noam Rosenthal <noam.rosenthal (a] nokia.com> 13079 13080 Reviewed by Darin Adler. 13081 13082 WebGL compile issue. 13083 Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing. 13084 https://bugs.webkit.org/show_bug.cgi?id=38453 13085 13086 No new tests: compile fix. 13087 13088 * bindings/js/JSWebGLArrayBufferConstructor.cpp: 13089 13090 2010-05-03 Eric Seidel <eric (a] webkit.org> 13091 13092 Unreviewed, rolling out r58685. 13093 http://trac.webkit.org/changeset/58685 13094 https://bugs.webkit.org/show_bug.cgi?id=38461 13095 13096 Broke a test on Gtk 13097 13098 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 13099 (WebCore::MediaPlayerPrivateGStreamer::updateStates): 13100 13101 2010-05-03 Yael Aharon <yael.aharon (a] nokia.com> 13102 13103 Reviewed by Darin Adler. 13104 13105 Use HTML5 number parsing in HTMLProgressElement 13106 https://bugs.webkit.org/show_bug.cgi?id=38434 13107 13108 Use parseToDoubleForNumberType instead of toDouble. 13109 Throw an exception when the number is NaN or Infinity. 13110 13111 * html/HTMLProgressElement.cpp: 13112 (WebCore::HTMLProgressElement::value): 13113 (WebCore::HTMLProgressElement::setValue): 13114 (WebCore::HTMLProgressElement::max): 13115 (WebCore::HTMLProgressElement::setMax): 13116 * html/HTMLProgressElement.h: 13117 * html/HTMLProgressElement.idl: 13118 13119 2010-05-03 Jens Alfke <snej (a] chromium.org> 13120 13121 Reviewed by Darin Fisher. 13122 13123 [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient 13124 https://bugs.webkit.org/show_bug.cgi?id=38397 13125 13126 No tests (functionality is exposed only through native WebKit API.) 13127 13128 * html/HTMLFormElement.cpp: 13129 (WebCore::HTMLFormElement::prepareSubmit): Call frame loader's dispatchWillSendSubmitEvent 13130 * loader/EmptyClients.h: 13131 * loader/FrameLoaderClient.h: 13132 (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent): New empty method 13133 13134 2010-05-03 Philippe Normand <pnormand (a] igalia.com> 13135 13136 Reviewed by Eric Carlson. 13137 13138 [GStreamer] forgotten call to durationChanged in updateStates() 13139 https://bugs.webkit.org/show_bug.cgi?id=38461 13140 13141 Notify MediaPlayer if duration is known after playback started. 13142 13143 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 13144 (WebCore::MediaPlayerPrivateGStreamer::updateStates): 13145 13146 2010-05-03 Ryuan Choi <ryuan.choi (a] gmail.com> 13147 13148 Reviewed by Darin Adler. 13149 13150 fixing build break due to clearWatch() when Geolocation feature is 13151 disabled. 13152 13153 https://bugs.webkit.org/show_bug.cgi?id=38091 13154 13155 no test because this is a build fix only 13156 13157 * page/Geolocation.cpp: 13158 (WebCore::Geolocation::clearWatch): 13159 13160 2010-05-03 Stephan Amus <superstippi (a] gmx.de> 13161 13162 Reviewed by Holger Freyther. 13163 13164 [Gtk] Fix leaking the FontPlatformData instance used to create the the 13165 small caps font data. 13166 https://bugs.webkit.org/show_bug.cgi?id=37500 13167 13168 No new tests needed. 13169 13170 * platform/graphics/gtk/SimpleFontDataPango.cpp: 13171 (WebCore::SimpleFontData::smallCapsFontData): 13172 - Use a stack allocated FontPlatformData instead of a heap allocated 13173 one that is never freed. 13174 13175 2010-05-03 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 13176 13177 Reviewed by Simon Hausmann. 13178 13179 [Qt] GraphicsLayer: support webGL 13180 https://bugs.webkit.org/show_bug.cgi?id=35388 13181 13182 Added support GraphicsContext3D to GraphicsLayer. 13183 Added paint method to GraphicsContext3D for Qt platform that 13184 uses drawTexture() when QGLWidget is used as viewport of 13185 QGraphicsWebView. 13186 Fine-tuned texture and handling and image to texture conversion to 13187 work also when drawTexture() blitting is used. 13188 13189 * platform/graphics/GraphicsContext3D.h: 13190 * platform/graphics/qt/GraphicsContext3DQt.cpp: 13191 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 13192 (WebCore::GraphicsContext3D::beginPaint): 13193 (WebCore::GraphicsContext3D::paint): 13194 (WebCore::GraphicsContext3D::texImage2D): 13195 (WebCore::GraphicsContext3D::texSubImage2D): 13196 (WebCore::GraphicsContext3D::getImageData): 13197 * platform/graphics/qt/GraphicsLayerQt.cpp: 13198 (WebCore::GraphicsLayerQtImpl::): 13199 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 13200 (WebCore::GraphicsLayerQtImpl::paint): 13201 (WebCore::GraphicsLayerQtImpl::flushChanges): 13202 (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D): 13203 (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay): 13204 * platform/graphics/qt/GraphicsLayerQt.h: 13205 13206 2010-05-03 Janne Koskinen <janne.p.koskinen (a] digia.com> 13207 13208 Reviewed by Simon Hausmann. 13209 13210 [Qt] Fix qtlibraryinfix not to contain space 13211 13212 List catenation with += adds whitespace cutting the infix 13213 from the final target. 13214 13215 * WebCore.pro: 13216 13217 2010-05-03 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 13218 13219 Reviewed by Simon Hausmann. 13220 13221 [Qt] Fix rendering of <button> elements on Mac OS X 13222 13223 The <button> element has ButtonPart appearance, not PushButton part, 13224 so we have to include ButtonPart when we decide if we should draw the 13225 button as raised on Mac OS X. 13226 13227 https://bugs.webkit.org/show_bug.cgi?id=38458 13228 13229 * platform/qt/RenderThemeQt.cpp: 13230 (WebCore::RenderThemeQt::initializeCommonQStyleOptions): 13231 13232 2010-04-30 Philippe Normand <pnormand (a] igalia.com> 13233 13234 Reviewed by Eric Seidel. 13235 13236 [GStreamer] endless loop after playback ended 13237 https://bugs.webkit.org/show_bug.cgi?id=38384 13238 13239 At playback end ensure duration() will return a valid duration if 13240 we managed to calculate it based on current position. 13241 13242 Test: media/video-duration-known-after-eos.html 13243 13244 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 13245 (WebCore::MediaPlayerPrivateGStreamer::didEnd): 13246 13247 2010-05-03 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 13248 13249 [Qt] Fix build break on Mac OS X 13250 13251 * plugins/mac/PluginPackageMac.cpp: Use correct type 13252 * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation 13253 13254 2010-05-03 Thomas Zander <t.zander (a] nokia.com> 13255 13256 Reviewed by Simon Hausmann. 13257 13258 [Qt] Fix library infix usage when compiling inside of Qt 13259 13260 Don't apply the infix when building inside Qt, as that's done through the 13261 inclusion of qbase.pri. 13262 13263 * WebCore.pro: 13264 13265 2010-05-02 Dan Bernstein <mitz (a] apple.com> 13266 13267 Reviewed by Simon Fraser. 13268 13269 Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset() 13270 https://bugs.webkit.org/show_bug.cgi?id=38445 13271 13272 Test: editing/selection/mixed-editability-11.html 13273 13274 * dom/Position.cpp: 13275 (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent 13276 position downstream, crossing any editability boundaries. 13277 (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream. 13278 (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions 13279 whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as 13280 possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way 13281 and checking that the new position is different from the starting position. Also replaced the specific 13282 test for buttons with the generic and more comprehensive canHaveChildrenForEditing(). 13283 13284 2010-05-02 Tasuku Suzuki <tasuku.suzuki (a] nokia.com> 13285 13286 Reviewed by Simon Hausmann. 13287 13288 [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT 13289 https://bugs.webkit.org/show_bug.cgi?id=38324 13290 13291 * platform/network/NetworkStateNotifier.h: 13292 * platform/network/qt/NetworkStateNotifierQt.cpp: 13293 13294 2010-04-29 Janne Koskinen <janne.p.koskinen (a] digia.com> 13295 13296 Reviewed by Simon Hausmann. 13297 13298 [Qt] QtWebKit versioning added 13299 https://bugs.webkit.org/show_bug.cgi?id=37207 13300 13301 QtWebkit releases separated from Qt release cycle. 13302 13303 * WebCore.pro: 13304 13305 2010-05-02 Joseph Pecoraro <joepeck (a] webkit.org> 13306 13307 Reviewed by Timothy Hatcher. 13308 13309 Web Inspector: Old Style trimWhitespace() should be trim() 13310 https://bugs.webkit.org/show_bug.cgi?id=38441 13311 13312 * inspector/front-end/SourceFrame.js: 13313 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): 13314 13315 2010-05-02 Tasuku Suzuki <tasuku.suzuki (a] nokia.com> 13316 13317 Reviewed by Simon Hausmann. 13318 13319 [Qt] Fix compilation with QT_NO_LINEEDIT 13320 https://bugs.webkit.org/show_bug.cgi?id=38324 13321 13322 * platform/qt/RenderThemeQt.cpp: 13323 (WebCore::RenderThemeQt::~RenderThemeQt): 13324 (WebCore::RenderThemeQt::findFrameLineWidth): 13325 13326 2010-05-02 Pavel Feldman <pfeldman (a] chromium.org> 13327 13328 Not reviewed: Touch inspector controller to kick windows tests. 13329 13330 * inspector/InspectorController.cpp: 13331 13332 2010-05-02 Pavel Feldman <pfeldman (a] chromium.org> 13333 13334 Reviewed by Timothy Hatcher. 13335 13336 Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element. 13337 13338 https://bugs.webkit.org/show_bug.cgi?id=38432 13339 13340 * inspector/front-end/ElementsTreeOutline.js: 13341 (WebInspector.ElementsTreeOutline.prototype._onmousemove): 13342 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip): 13343 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): 13344 (WebInspector.ElementsTreeElement.prototype.updateTitle): 13345 (WebInspector.ElementsTreeElement.prototype._attributeHTML): 13346 (): 13347 13348 2010-05-02 Dirk Schulze <krit (a] webkit.org> 13349 13350 Reviewed by Nikolas Zimmermann. 13351 13352 SVG hkern implementation incomplete 13353 https://bugs.webkit.org/show_bug.cgi?id=38407 13354 13355 Test: svg/text/text-hkern.svg 13356 13357 The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test 13358 by accident. 13359 The new implementation supports all glyph and unicode combinations that are allowed by the Spec 13360 and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in 13361 SVGParserUtilities. 13362 Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation. 13363 hkern support for text on path is missing and will be added by a following patch. 13364 Unicode strings of hkern elements are just parsed once and not on every glyph again anymore. 13365 13366 * rendering/SVGRootInlineBox.cpp: 13367 (WebCore::calculateCSSKerning): 13368 (WebCore::applySVGKerning): 13369 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 13370 * svg/SVGFontElement.cpp: 13371 (WebCore::stringMatchesUnicodeRange): 13372 (WebCore::stringMatchesGlyphName): 13373 (WebCore::matches): 13374 (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs): 13375 * svg/SVGFontElement.h: 13376 * svg/SVGHKernElement.cpp: 13377 (WebCore::SVGHKernElement::buildHorizontalKerningPair): 13378 * svg/SVGHKernElement.h: 13379 * svg/SVGParserUtilities.cpp: 13380 (WebCore::parseGlyphName): 13381 (WebCore::parseUnicodeRange): 13382 (WebCore::parseKerningUnicodeString): 13383 * svg/SVGParserUtilities.h: 13384 13385 2010-05-02 Pavel Feldman <pfeldman (a] chromium.org> 13386 13387 Reviewed by Timothy Hatcher. 13388 13389 Web Inspector: debugger shortcuts are processed twice if source frame has focus. 13390 13391 https://bugs.webkit.org/show_bug.cgi?id=38431 13392 13393 * inspector/front-end/SourceFrame.js: 13394 (WebInspector.SourceFrame): 13395 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 13396 13397 2010-05-02 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 13398 13399 Reviewed by Eric Seidel. 13400 13401 [Qt] Build error in GraphicsContext3DQt.cpp 13402 https://bugs.webkit.org/show_bug.cgi?id=38382 13403 13404 Removed duplicate implementation of isGLES2Compliant from 13405 GraphicsContext3DQt.cpp. Removed deprecated API stuff for 13406 texImage2D/texSubImage2D. 13407 * platform/graphics/qt/GraphicsContext3DQt.cpp: 13408 13409 2010-05-02 Garret Kelly <gdk (a] chromium.org> 13410 13411 Reviewed by David Levin. 13412 13413 Make the Touch RuntimeEnabledFeature disabled by default. 13414 https://bugs.webkit.org/show_bug.cgi?id=38392 13415 13416 * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default. 13417 13418 2010-05-02 Michael Nordman <michaeln (a] google.com> 13419 13420 Reviewed by Dmitry Titov. 13421 13422 Define two new ResourceRequestBase TargetTypes for worker and shared worker 13423 main resources. Use the new target types where appropiate. Add logic to marshal 13424 the target type specified by requests initiated on a background worker thread. 13425 13426 https://bugs.webkit.org/show_bug.cgi?id=38295 13427 13428 No new tests. This doesn't have script visible artifacts. 13429 13430 * platform/network/ResourceRequestBase.cpp: marshal the values 13431 (WebCore::ResourceRequestBase::adopt): 13432 (WebCore::ResourceRequestBase::copyData): 13433 * platform/network/ResourceRequestBase.h: define the types 13434 (WebCore::ResourceRequestBase::): 13435 * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker 13436 (WebCore::SharedWorkerScriptLoader::load): 13437 * workers/Worker.cpp: use TargetIsWorker 13438 (WebCore::Worker::Worker): 13439 * workers/WorkerContext.cpp: use TargetIsScript for importScripts 13440 (WebCore::WorkerContext::importScripts): 13441 * workers/WorkerScriptLoader.cpp: add a data member for the target type 13442 (WebCore::WorkerScriptLoader::WorkerScriptLoader): 13443 (WebCore::WorkerScriptLoader::createResourceRequest): 13444 * workers/WorkerScriptLoader.h: 13445 13446 2010-05-02 Noam Rosenthal <noam.rosenthal (a] nokia.com> 13447 13448 Reviewed by Adele Peterson. 13449 13450 Webkit doesn't compile with 3D-canvas enabled and video disabled 13451 https://bugs.webkit.org/show_bug.cgi?id=38297 13452 13453 Added a #ifdef ENABLE(VIDEO) to WebGL code 13454 13455 No new tests: compile fix. 13456 13457 * bindings/js/JSWebGLRenderingContextCustom.cpp: 13458 (WebCore::JSWebGLRenderingContext::texImage2D): 13459 (WebCore::JSWebGLRenderingContext::texSubImage2D): 13460 13461 2010-05-01 Evan Stade <estade (a] chromium.org> 13462 13463 Reviewed by David Levin. 13464 13465 [chromium] Skia needs to fade DragImages 13466 https://bugs.webkit.org/show_bug.cgi?id=38008 13467 13468 tested by DragImageTest 13469 13470 * platform/chromium/DragImageChromiumSkia.cpp: 13471 (WebCore::dissolveDragImageToFraction):implement 13472 (WebCore::createDragImageFromImage):deep copy instead of shallow 13473 13474 2010-05-01 Maciej Stachowiak <mjs (a] apple.com> 13475 13476 Reviewed by Sam Weinig. 13477 13478 REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked 13479 https://bugs.webkit.org/show_bug.cgi?id=38422 13480 <rdar://problem/7921778> 13481 13482 Tests: 13483 manual-tests/visited-link-new-window.html 13484 13485 * css/CSSStyleSelector.cpp: 13486 (WebCore::CSSStyleSelector::initElement): Only cache the visited link state 13487 when invoked as part of a helper call to styleForElement or pseudoStyleForElement, 13488 to avoid caching the visited link state beyond the scope of a single style lookup. 13489 (WebCore::CSSStyleSelector::styleForElement): Adjust for above change. 13490 (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change. 13491 * css/CSSStyleSelector.h: 13492 (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode" 13493 can't accidentally be called from outside CSSStyleSelector itself. 13494 (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto 13495 * manual-tests/visited-link-new-window.html: Added. I could not figure out any way 13496 to make an automated test that supports visited link coloring. 13497 13498 2010-05-01 Yael Aharon <yael.aharon (a] nokia.com> 13499 13500 Reviewed by Darin Adler. 13501 13502 Move number parsing code out of HTMLInputElement. 13503 https://bugs.webkit.org/show_bug.cgi?id=38203 13504 13505 The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement. 13506 No new tests as no new functionality was introduced. 13507 13508 * html/HTMLInputElement.cpp: 13509 * html/HTMLInputElement.h: 13510 * html/HTMLParser.cpp: 13511 (WebCore::serializeForNumberType): 13512 (WebCore::parseToDoubleForNumberType): 13513 * html/HTMLParser.h: 13514 * html/StepRange.cpp: 13515 (WebCore::StepRange::clampValue): 13516 (WebCore::StepRange::valueFromElement): 13517 * html/ValidityState.cpp: 13518 (WebCore::ValidityState::typeMismatch): 13519 * rendering/RenderSlider.cpp: 13520 (WebCore::RenderSlider::setValueForPosition): 13521 13522 2010-05-01 Xan Lopez <xlopez (a] igalia.com> 13523 13524 Reviewed by Oliver Hunt. 13525 13526 [GTK] GObject DOM bindings 13527 https://bugs.webkit.org/show_bug.cgi?id=33590 13528 13529 Unify more logic to skip functions into SkipFunction, and 13530 whitelist the two [Custom] methods in HTMLCollection.idl. 13531 13532 * bindings/scripts/CodeGeneratorGObject.pm: 13533 13534 2010-05-01 Robert Hogan <robert (a] webkit.org> 13535 13536 Reviewed by Simon Hausmann. 13537 13538 [Qt] Add smart paste support 13539 13540 https://bugs.webkit.org/show_bug.cgi?id=38136 13541 13542 * WebCore.pro: 13543 * editing/qt/SmartReplaceQt.cpp: Added. 13544 (WebCore::isCharacterSmartReplaceExempt): 13545 * platform/qt/PasteboardQt.cpp: 13546 (WebCore::Pasteboard::writeSelection): 13547 (WebCore::Pasteboard::canSmartReplace): 13548 13549 2010-04-30 Yoshiki Hayashi <yhayashi (a] google.com> 13550 13551 Reviewed by Shinichiro Hamaji. 13552 13553 https://bugs.webkit.org/show_bug.cgi?id=38249 13554 13555 Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height. 13556 13557 Test: fast/flexbox/child-flexing.html 13558 13559 * rendering/RenderFlexibleBox.cpp: 13560 (WebCore::RenderFlexibleBox::allowedChildFlex): 13561 13562 2010-04-30 Shinichiro Hamaji <hamaji (a] chromium.org> 13563 13564 Reviewed by Darin Adler. 13565 13566 Add layoutTestController.setPrinting() 13567 https://bugs.webkit.org/show_bug.cgi?id=37203 13568 13569 Use the renderer's width insteead of screen's width as the width of 13570 a screen depends on machines. 13571 13572 * rendering/RenderTreeAsText.cpp: 13573 (WebCore::externalRepresentation): 13574 13575 2010-04-30 Joseph Pecoraro <joepeck (a] webkit.org> 13576 13577 Reviewed by Timothy Hatcher. 13578 13579 Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage 13580 https://bugs.webkit.org/show_bug.cgi?id=38366 13581 13582 Console::lastWMLErrorMessage is only available if WML is enabled, however 13583 its implementation only makes sense as long as INSPECTOR is enabled 13584 as well. So this adds the ENABLE(INSPECTOR) guard in the function. A 13585 browser without ENABLE(INSPECTOR) will always get an empty result. 13586 13587 * page/Console.cpp: 13588 13589 2010-04-28 Joseph Pecoraro <joepeck (a] webkit.org> 13590 13591 Reviewed by Oliver Hunt. 13592 13593 REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom. 13594 https://bugs.webkit.org/show_bug.cgi?id=38253 13595 13596 Test: fast/css/input-search-padding.html 13597 13598 An <input type="search"> contains an inner block, which is explicitly 13599 centered in RenderTextControlSingleLine based on the height of the element. 13600 However, the clipping rect was not using the set location, and instead 13601 calculated off of the top border and padding alone. This also vertically 13602 centers the Caps Lock indicator. 13603 13604 * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine 13605 * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect 13606 * rendering/RenderTextControlSingleLine.cpp: 13607 (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator 13608 (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead 13609 * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search"> 13610 13611 2010-04-30 Jon Honeycutt <jhoneycutt (a] apple.com> 13612 13613 Caret may fail to blink if a focus handler brings up a modal dialog 13614 https://bugs.webkit.org/show_bug.cgi?id=38372 13615 13616 Reviewed by Darin Adler. 13617 13618 * manual-tests/onfocus-alert-blinking-caret.html: Added. 13619 13620 * page/EventHandler.cpp: 13621 (WebCore::EventHandler::handleMousePressEvent): 13622 Moved the call to setCaretBlinkingSuspended() from here... 13623 (WebCore::EventHandler::handleMousePressEvent): 13624 ... to here. This makes us suspend caret blinking before dispatching the 13625 mouse down event. If dispatching the mouse down event allows the message 13626 loop to run, we want mouse up events received in that message loop to be 13627 able to resume caret blinking. 13628 (WebCore::EventHandler::lostMouseCapture): 13629 We've lost mouse capture and won't be notified of mouse up events; 13630 resume caret blinking. 13631 13632 * page/EventHandler.h: 13633 Declare lostMouseCapture(). 13634 13635 2010-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 13636 13637 Unreviewed, build fix. 13638 13639 [Chromium] Added a simple IdentifierRep struct and removed dependency on 13640 IdentifierRep.h. 13641 13642 * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct. 13643 13644 2010-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 13645 13646 Unreviewed, build fix. 13647 13648 [Chromium] Remove bridge/ from include paths. 13649 13650 * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path. 13651 13652 2010-04-30 Abhishek Arya <inferno (a] chromium.org> 13653 13654 Reviewed by David Kilzer. 13655 13656 Convert m_documentUnderMouse, m_dragInitiator to RefPtr. 13657 Eliminated unused m_dragInitiator accessor to prevent dereferencing. 13658 https://bugs.webkit.org/show_bug.cgi?id=37618 13659 13660 Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html 13661 13662 * page/DragController.cpp: 13663 (WebCore::DragController::tryDocumentDrag): 13664 (WebCore::DragController::concludeEditDrag): 13665 * page/DragController.h: 13666 (WebCore::DragController::draggingImageURL): 13667 (WebCore::DragController::documentUnderMouse): 13668 13669 2010-04-29 James Robinson <jamesr (a] chromium.org> 13670 13671 Reviewed by Simon Fraser. 13672 13673 Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled 13674 https://bugs.webkit.org/show_bug.cgi?id=38286 13675 13676 When a ScrollView's scroll position is changed, we have to call 13677 FrameView::scrollPositionChanged to generate repaint invalidation for 13678 fixed position elements. This ends up getting called indirectly when 13679 the ScrollView has a platformWidget through the port layer 13680 (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac 13681 port does it) but not when there is no platformWidget. 13682 13683 This is tested by the fast/repaint/fixed-* tests when run in pixel 13684 mode. 13685 13686 Test: fast/repaint/fixed-move-after-keyboard-scroll.html 13687 13688 * page/FrameView.h: 13689 * platform/ScrollView.cpp: 13690 (WebCore::ScrollView::valueChanged): 13691 * platform/ScrollView.h: 13692 (WebCore::ScrollView::scrollPositionChanged): 13693 13694 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13695 13696 Reviewed by Darin Adler. 13697 13698 Use C99 integer types in more places. 13699 13700 * manual-tests/NPN_Invoke/main.c: 13701 (NPP_New): 13702 (NPP_NewStream): 13703 (NPP_WriteReady): 13704 (NPP_Write): 13705 (NPP_HandleEvent): 13706 (functionPointerForTVector): 13707 * plugins/mac/PluginViewMac.cpp: 13708 (WebCore::PluginView::platformGetValueStatic): 13709 (WebCore::PluginView::handlePostReadFile): 13710 13711 2010-04-30 Darin Adler <darin (a] apple.com> 13712 13713 Reviewed by Oliver Hunt. 13714 13715 Remove unused scrollRectIntoViewRecursively function 13716 https://bugs.webkit.org/show_bug.cgi?id=38403 13717 13718 * page/Chrome.cpp: 13719 (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously 13720 in the scrollRectIntoViewRecursively function. 13721 13722 * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively. 13723 * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions. 13724 Also correct all uses of the term "method" to use the C++ term "function" and 13725 got rid of double spaces after periods. 13726 13727 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13728 13729 Another Qt build fix. 13730 13731 * plugins/qt/PluginViewQt.cpp: 13732 (WebCore::PluginView::platformGetValueStatic): 13733 13734 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13735 13736 Add back TRUE, FALSE and NULL macros. They were not meant to be removed! 13737 13738 * bridge/npapi.h: 13739 13740 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13741 13742 Try to fix the Qt build this time. 13743 13744 * plugins/qt/PluginPackageQt.cpp: 13745 (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue): 13746 (WebCore::PluginPackage::NPVersion): 13747 13748 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13749 13750 Yet another build fix. 13751 13752 * plugins/gtk/PluginPackageGtk.cpp: 13753 (WebCore::PluginPackage::NPVersion): 13754 13755 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13756 13757 Fix build. 13758 13759 * bridge/npapi.h: 13760 13761 2010-04-30 Jian Li <jianli (a] chromium.org> 13762 13763 Reviewed by Darin Fisher. 13764 13765 [chromium] Add WebFileSystem interface and hook up with all FileSystem methods. 13766 https://bugs.webkit.org/show_bug.cgi?id=38228 13767 13768 * platform/chromium/ChromiumBridge.h: 13769 * platform/chromium/FileSystemChromium.cpp: 13770 (WebCore::openFile): 13771 (WebCore::closeFile): 13772 (WebCore::seekFile): 13773 (WebCore::truncateFile): 13774 (WebCore::readFromFile): 13775 (WebCore::writeToFile): 13776 13777 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13778 13779 Reviewed by Dan Bernstein. 13780 13781 Final part of 13782 13783 https://bugs.webkit.org/show_bug.cgi?id=20784 13784 move npapi.h to C99 integer types 13785 13786 * bridge/npapi.h: 13787 Remove the old types. 13788 13789 2010-04-30 Sheriff Bot <webkit.review.bot (a] gmail.com> 13790 13791 Unreviewed, rolling out r58569. 13792 http://trac.webkit.org/changeset/58569 13793 https://bugs.webkit.org/show_bug.cgi?id=38399 13794 13795 This broke the GTK bots due to bad GC behavior (Requested by 13796 ericu on #webkit). 13797 13798 * bindings/js/JSWorkerContextCustom.cpp: 13799 * bindings/v8/custom/V8WorkerContextCustom.cpp: 13800 * storage/Database.idl: 13801 * storage/SQLError.idl: 13802 * storage/SQLResultSet.idl: 13803 * storage/SQLResultSetRowList.idl: 13804 * storage/SQLTransaction.idl: 13805 * workers/WorkerContext.cpp: 13806 (WebCore::WorkerContext::openDatabase): 13807 * workers/WorkerContext.h: 13808 (WebCore::WorkerContext::databaseExceededQuota): 13809 * workers/WorkerContext.idl: 13810 13811 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13812 13813 Fix GTK+ build. 13814 13815 * plugins/gtk/PluginViewGtk.cpp: 13816 (WebCore::PluginView::handlePostReadFile): 13817 (WebCore::PluginView::platformGetValueStatic): 13818 13819 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13820 13821 Fix Qt build. 13822 13823 * plugins/qt/PluginViewQt.cpp: 13824 (WebCore::PluginView::handlePostReadFile): 13825 (WebCore::PluginView::platformGetValue): 13826 13827 2010-04-30 Anders Carlsson <andersca (a] apple.com> 13828 13829 Reviewed by Timothy Hatcher. 13830 13831 Next step towards fixing 13832 13833 https://bugs.webkit.org/show_bug.cgi?id=20784 13834 move npapi.h to C99 integer types 13835 13836 Use the C99 types everywhere. The "old" types are still around but will be removed 13837 in a subsequent commit. 13838 13839 * bridge/npapi.h: 13840 (_NPCocoaEvent::): 13841 * plugins/PluginPackage.h: 13842 * plugins/PluginStream.cpp: 13843 (WebCore::PluginStream::deliverData): 13844 * plugins/PluginStream.h: 13845 * plugins/PluginView.cpp: 13846 (WebCore::PluginView::postURLNotify): 13847 (WebCore::PluginView::postURL): 13848 (WebCore::PluginView::write): 13849 (WebCore::PluginView::handlePost): 13850 * plugins/PluginView.h: 13851 * plugins/PluginViewNone.cpp: 13852 (WebCore::PluginView::handlePostReadFile): 13853 * plugins/npapi.cpp: 13854 (NPN_MemAlloc): 13855 (NPN_MemFlush): 13856 (NPN_PostURLNotify): 13857 (NPN_PostURL): 13858 (NPN_Write): 13859 * plugins/npfunctions.h: 13860 * plugins/win/PluginPackageWin.cpp: 13861 (WebCore::PluginPackage::NPVersion): 13862 * plugins/win/PluginViewWin.cpp: 13863 (WebCore::PluginView::handlePostReadFile): 13864 13865 2010-04-30 Peter Kasting <pkasting (a] google.com> 13866 13867 Reviewed by David Levin. 13868 13869 Make all image decoders set the "failed" bit if an image could not be 13870 completely decoded, but no more data is coming. The ICO and BMP 13871 decoders already did this. 13872 https://bugs.webkit.org/show_bug.cgi?id=35411 13873 13874 "Failed" does not cause the image to not be displayed, it simply causes 13875 us to not bother to try to decode again if future requests are made, and 13876 for some decoders, lets the decoder clean up some of its temporary 13877 objects. 13878 13879 No layout tests because this does not change the visible output of decoding in any way. 13880 13881 * platform/image-decoders/gif/GIFImageDecoder.cpp: 13882 (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete. 13883 (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming. 13884 * platform/image-decoders/gif/GIFImageDecoder.h: 13885 * platform/image-decoders/gif/GIFImageReader.cpp: 13886 (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure. 13887 (GIFImageReader::read): Ditto. 13888 * platform/image-decoders/gif/GIFImageReader.h: 13889 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 13890 (WebCore::): 13891 (WebCore::JPEGImageReader::decode): See do_lzw() comment above. 13892 (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming. 13893 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 13894 * platform/image-decoders/png/PNGImageDecoder.cpp: 13895 (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure. 13896 (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above. 13897 * platform/image-decoders/png/PNGImageDecoder.h: 13898 13899 2010-04-30 Brady Eidson <beidson (a] apple.com> 13900 13901 Reviewed by Eric Carlson. 13902 13903 <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't 13904 13905 No new tests. (Currently no way to test such site specific hack behavior) 13906 13907 * html/HTMLMediaElement.cpp: 13908 (WebCore::HTMLMediaElement::HTMLMediaElement): 13909 (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay 13910 event, wrap the dispatch with m_dispatchingCanPlayEvent set. 13911 (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org, 13912 don't perform the play(). 13913 * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member. 13914 13915 2010-04-30 Dan Bernstein <mitz (a] apple.com> 13916 13917 Reviewed by Adele Peterson. 13918 13919 Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font 13920 https://bugs.webkit.org/show_bug.cgi?id=6274 13921 13922 Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them 13923 through the complex text code path. Instead, introduce a variant of the fast path that tracks 13924 glyph overflow. 13925 13926 * platform/graphics/Font.cpp: 13927 (WebCore::Font::drawText): Use codePath(). 13928 (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to 13929 floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow. 13930 (WebCore::Font::selectionRectForText): Use codePath(). 13931 (WebCore::Font::offsetForPosition): Ditto. 13932 * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow 13933 parameter to floatWidthForSimpleText(). 13934 * platform/graphics/FontFastPath.cpp: 13935 Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE. 13936 (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false, 13937 it now returns Complex. Where it used to return true, it now returns Simple, except for 13938 the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow. 13939 (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the 13940 width iterator account for glyph bounds, then update the GlyphOverflow accordingly. 13941 * platform/graphics/WidthIterator.cpp: 13942 (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator 13943 whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize 13944 m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow. 13945 (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables. 13946 * platform/graphics/WidthIterator.h: 13947 (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor. 13948 (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto. 13949 (WebCore::WidthIterator::firstGlyphOverflow): Ditto. 13950 (WebCore::WidthIterator::lastGlyphOverflow): Ditto. 13951 13952 2010-04-30 Chris Marrin <cmarrin (a] apple.com> 13953 13954 Reviewed by Simon Fraser. 13955 13956 Reversed the order of the CSSMatrix.multiply method 13957 https://bugs.webkit.org/show_bug.cgi?id=38337 13958 13959 Test: transforms/svg-vs-css.xhtml 13960 13961 * css/WebKitCSSMatrix.cpp: 13962 (WebCore::WebKitCSSMatrix::multiply): 13963 * platform/graphics/transforms/TransformationMatrix.cpp: 13964 13965 2010-04-30 Kevin Ollivier <kevino (a] theolliviers.com> 13966 13967 Unreviewed. Attempt to fix the Chromium Mac build after the last commit. 13968 13969 * WebCore.gypi: 13970 13971 2010-04-30 Kevin Ollivier <kevino (a] theolliviers.com> 13972 13973 Reviewed by Dan Bernstein. 13974 13975 Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac. 13976 https://bugs.webkit.org/show_bug.cgi?id=38334 13977 13978 * WebCore.xcodeproj/project.pbxproj: 13979 * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm. 13980 * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm. 13981 * platform/graphics/mac/SimpleFontDataMac.mm: 13982 13983 2010-04-30 Shinichiro Hamaji <hamaji (a] chromium.org> 13984 13985 Reviewed by Simon Fraser. 13986 13987 SHOULD NEVER BE REACHED assertion loading forbes.com 13988 https://bugs.webkit.org/show_bug.cgi?id=38272 13989 13990 Ignore page media related pseudo classes. 13991 13992 Test: printing/pseudo-class-outside-page.html 13993 13994 * css/CSSStyleSelector.cpp: 13995 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 13996 13997 2010-04-30 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 13998 13999 Unreviewed, build fix. 14000 14001 Fix compiler warning "suggest parentheses around" 14002 14003 No new tests as there is no new functionality. 14004 14005 * svg/SVGAnimateElement.cpp: 14006 (WebCore::SVGAnimateElement::calculateFromAndToValues): 14007 14008 2010-04-30 Kent Tamura <tkent (a] chromium.org> 14009 14010 Unreviewed. Regression fix. 14011 14012 Revert a part of r58564 to be compatible with prior behavior 14013 https://bugs.webkit.org/show_bug.cgi?id=38383 14014 14015 * rendering/RenderTextControlSingleLine.cpp: 14016 (WebCore::RenderTextControlSingleLine::forwardEvent): 14017 r58564 made a region check for the cancel button stricter, but it 14018 made some tests failing on Chromium. So, relax the check again. 14019 14020 2010-04-29 Jeremy Orlow <jorlow (a] chromium.org> 14021 14022 Reviewed by Darin Fisher. 14023 14024 Change StorageEvent.uri to StorageEvent.url to match the spec 14025 https://bugs.webkit.org/show_bug.cgi?id=38331 14026 14027 As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html 14028 WebKit is the only one who places the document's URL in a 'uri' property 14029 rather than a 'url' property. Even though we've shipped several versions of 14030 browsers with the old name, we probably should change this to comply with the 14031 spec. 14032 14033 This stuff is covered by existing tests. 14034 14035 * storage/StorageEvent.cpp: 14036 (WebCore::StorageEvent::create): 14037 (WebCore::StorageEvent::StorageEvent): 14038 (WebCore::StorageEvent::initStorageEvent): 14039 * storage/StorageEvent.h: 14040 (WebCore::StorageEvent::url): 14041 * storage/StorageEvent.idl: 14042 14043 2010-04-30 Nikolas Zimmermann <nzimmermann (a] rim.com> 14044 14045 Reviewed by Dirk Schulze. 14046 14047 REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed 14048 https://bugs.webkit.org/show_bug.cgi?id=38385 14049 14050 The last SVG performance patch broke repainting if bounds of a RenderPath get smaller. 14051 It would only repaint the smaller part, not the original larger bounds. 14052 14053 Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates 14054 once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline 14055 all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(), 14056 combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject, 14057 right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method. 14058 14059 Overall this is a regression fix, a performance improvement and saves memory. Something for everyone. 14060 14061 Tests: svg/custom/repaint-stroke-width-changes.svg 14062 14063 * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance. 14064 (WebCore::RenderObject::strokeBoundingBox): 14065 * rendering/RenderObject.h: Ditto. 14066 * rendering/RenderPath.cpp: 14067 (WebCore::RenderPath::RenderPath): 14068 (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them. 14069 (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME. 14070 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated. 14071 (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty. 14072 (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout(). 14073 * rendering/RenderPath.h: Rename cached rect variables to have more sensible names. 14074 (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code. 14075 (WebCore::RenderPath::strokeBoundingBox): Ditto. 14076 (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto. 14077 * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method. 14078 * rendering/RenderSVGImage.h: Ditto. 14079 * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes. 14080 (WebCore::RenderSVGInline::strokeBoundingBox): 14081 * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method. 14082 * rendering/RenderSVGModelObject.h: Ditto. 14083 * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject. 14084 (WebCore::RenderSVGResourceFilter::applyResource): 14085 * rendering/RenderSVGText.h: Remove toSVGRenderBase() method. 14086 * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox(). 14087 (WebCore::SVGRenderBase::strokeBoundingBox): 14088 * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method. 14089 * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath. 14090 (WebCore::SVGRenderStyle::hasMarkers): 14091 14092 2010-04-30 Eric Uhrhane <ericu (a] chromium.org> 14093 14094 Reviewed by Dmitry Titov. 14095 14096 Add bindings for async DB API in Workers. 14097 https://bugs.webkit.org/show_bug.cgi?id=34992 14098 14099 Tests: storage/change-version-handle-reuse-worker.html 14100 storage/execute-sql-args-worker.html 14101 14102 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding. 14103 (WebCore::JSWorkerContext::openDatabase): 14104 14105 * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there. 14106 (WebCore::V8WorkerContext::openDatabaseCallback): 14107 14108 Add NoStaticTables flags to all objects now shared with workers. 14109 * storage/Database.idl: 14110 * storage/SQLError.idl: 14111 * storage/SQLResultSet.idl: 14112 * storage/SQLResultSetRowList.idl: 14113 * storage/SQLTransaction.idl: 14114 14115 * workers/WorkerContext.h: Add databaseExceededQuota. 14116 * workers/WorkerContext.cpp: 14117 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now. 14118 (WebCore::WorkerContext::openDatabase): Remove invalid assertion. 14119 14120 Add the IDL for the call to openDatabase. 14121 * workers/WorkerContext.idl: 14122 14123 2010-04-30 Shinichiro Hamaji <hamaji (a] chromium.org> 14124 14125 Reviewed by Darin Adler. 14126 14127 Unnecessary PrintContext::end() calls 14128 https://bugs.webkit.org/show_bug.cgi?id=38247 14129 14130 Refactoring only, so no new tests. 14131 14132 * page/PrintContext.cpp: 14133 (WebCore::PrintContext::pageNumberForElement): 14134 (WebCore::PrintContext::numberOfPages): 14135 14136 2010-04-30 Kent Tamura <tkent (a] chromium.org> 14137 14138 Reviewed by Adele Peterson. 14139 14140 Implement interactive behavior of spin buttons. 14141 https://bugs.webkit.org/show_bug.cgi?id=35686 14142 14143 Introduce SpinButtonElement. It is a shadow element class for 14144 spin buttons. If the upper side of the element is clicked, calls 14145 HTMLInputElement::stepUpFromRenderer(1). If the lower button is 14146 clicked, calls HTMLInputElement::stepUpFromRenderer(-1). 14147 14148 SpinButtonElement tracks the mouse pointer position, and 14149 RenderTheme sets ControlStates::SpinUpState if the pointer is on 14150 the upper side. 14151 14152 Test: platform/mac/fast/forms/input-number-click.html 14153 14154 * dom/Element.h: 14155 (WebCore::Element::isSpinButtonElement): 14156 * editing/VisibleSelection.cpp: 14157 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): 14158 Remove an assertion. lastEditablePositionBeforePositionInRoot() can 14159 return null in a case that m_end is at a shadow element (a spin button) 14160 and baseRoot is another shadow element (inner text block) in the same 14161 node (an INPUT element). 14162 * html/HTMLInputElement.cpp: 14163 (WebCore::HTMLInputElement::stepUpFromRenderer): 14164 * html/HTMLInputElement.h: 14165 (WebCore::HTMLInputElement::hasSpinButton): 14166 Add types supporting step attribute except RANGE. 14167 * rendering/RenderTextControlSingleLine.cpp: 14168 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 14169 (WebCore::RenderTextControlSingleLine::forwardEvent): 14170 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 14171 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): 14172 * rendering/RenderTextControlSingleLine.h: 14173 * rendering/RenderTheme.cpp: 14174 (WebCore::RenderTheme::controlStatesForRenderer): 14175 (WebCore::RenderTheme::isSpinUpButtonPartPressed): 14176 (WebCore::RenderTheme::isSpinUpButtonPartHovered): 14177 * rendering/RenderTheme.h: 14178 * rendering/TextControlInnerElements.cpp: 14179 (WebCore::SpinButtonElement::SpinButtonElement): 14180 (WebCore::SpinButtonElement::defaultEventHandler): 14181 * rendering/TextControlInnerElements.h: 14182 (WebCore::SpinButtonElement::isSpinButtonElement): 14183 (WebCore::SpinButtonElement::isEnabledFormControl): 14184 (WebCore::SpinButtonElement::onUpButton): 14185 14186 2010-04-30 Yael Aharon <yael.aharon (a] nokia.com> 14187 14188 Reviewed by Kenneth Rohde Christiansen. 14189 14190 [Qt] Enable DOMWindow constructor for HTMLProgressElement 14191 https://bugs.webkit.org/show_bug.cgi?id=38333 14192 14193 Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT. 14194 14195 * WebCore.pri: 14196 14197 2010-04-30 Kent Tamura <tkent (a] chromium.org> 14198 14199 Reviewed by Adele Peterson. 14200 14201 Mac implementation of outer-spin-button appearance, and anonymous 14202 element generation for <input type=number>. 14203 https://bugs.webkit.org/show_bug.cgi?id=32813 14204 14205 The implementation uses NSStepperCell. Like the other Mac 14206 controls, it has only three candidates for sizes. 14207 14208 The editable block of an input element is shrunk, and the 14209 anonymous block for a spin button is put on the right of the 14210 editable block. 14211 14212 Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html 14213 platform/mac/fast/forms/input-appearance-spinbutton.html 14214 14215 * dom/Element.cpp: 14216 (WebCore::Element::pseudoStyleCacheIsInvalid): 14217 * dom/InputElement.h: 14218 (WebCore::InputElement::hasSpinButton): 14219 * html/HTMLInputElement.h: 14220 (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type. 14221 * platform/mac/ThemeMac.mm: 14222 (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont() 14223 to this in order to use stepperControlSizeForFont() instead of 14224 controlSizeForFont(). 14225 (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with 14226 sizeFromFont(). No behavior changes. 14227 (WebCore::stepperSizes): Returns sizes for mini, small, and regular. 14228 (WebCore::stepperControlSizeForFont): 14229 Dedicated version of controlSizeForFont(). 14230 (WebCore::stepper): Returns NSStepperCell object with specified settings. 14231 (WebCore::paintStepper): 14232 (WebCore::ThemeMac::controlSize): Support for OuterSpinButton. 14233 (WebCore::ThemeMac::minimumControlSize): ditto. 14234 (WebCore::ThemeMac::inflateControlPaintRect): ditto. 14235 (WebCore::ThemeMac::paint): ditto. 14236 * rendering/RenderBox.cpp: 14237 (WebCore::RenderBox::paintBoxDecorations): 14238 Move the content to paintBoxDecorationsWithSize(). 14239 (WebCore::RenderBox::paintBoxDecorationsWithSize): 14240 * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize(). 14241 * rendering/RenderTextControlSingleLine.cpp: 14242 (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): 14243 (WebCore::RenderTextControlSingleLine::paintBoxDecorations): 14244 Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight(). 14245 (WebCore::RenderTextControlSingleLine::addFocusRingRects): 14246 Add a rectangle of which width is smaller by decorationWidthRight(). 14247 (WebCore::RenderTextControlSingleLine::layout): 14248 Adjust m_outerSpinButton position. 14249 (WebCore::RenderTextControlSingleLine::styleDidChange): 14250 (WebCore::RenderTextControlSingleLine::textBlockWidth): 14251 (WebCore::RenderTextControlSingleLine::decorationWidthRight): 14252 (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight): 14253 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): 14254 Creates an element for m_outerSpinButton if it is needed. 14255 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 14256 (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle): 14257 * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton. 14258 * rendering/RenderThemeMac.mm: 14259 (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton. 14260 14261 2010-04-29 Adam Barth <abarth (a] webkit.org> 14262 14263 Unreviewed. Update JSC CodeGenerator baseline. Not sure how I missed 14264 this one earlier. 14265 14266 * bindings/scripts/test/JS/JSTestObj.cpp: 14267 (WebCore::jsTestObjPrototypeFunctionSerializedValue): 14268 14269 2010-04-29 Justin Garcia <justin.garcia (a] apple.com> 14270 14271 Reviewed by Adele Peterson. 14272 14273 Need to updateLayout after typing commands too 14274 https://bugs.webkit.org/show_bug.cgi?id=38352 14275 14276 Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand(). 14277 Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions, 14278 which don't go through EditCommand::{un,re}apply() can benefit from it too. No test case possible 14279 since most platforms have a layout performed as a side effect of post operation selection code. 14280 14281 * editing/EditCommand.cpp: 14282 (WebCore::EditCommand::apply): 14283 (WebCore::EditCommand::unapply): 14284 (WebCore::EditCommand::reapply): 14285 * editing/EditCommand.h: 14286 (WebCore::EditCommand::isTopLevelCommand): 14287 * editing/Editor.cpp: 14288 (WebCore::Editor::appliedEditing): 14289 (WebCore::Editor::unappliedEditing): 14290 (WebCore::Editor::reappliedEditing): 14291 14292 2010-04-29 Dan Bernstein <mitz (a] apple.com> 14293 14294 Reviewed by Simon Fraser. 14295 14296 <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window 14297 https://bugs.webkit.org/show_bug.cgi?id=38350 14298 14299 Tests: media/audio-only-video-intrinsic-size.html 14300 media/media-document-audio-size.html 14301 14302 * rendering/RenderVideo.cpp: 14303 (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size 14304 reported by the player. 14305 (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the 14306 player, except in standalone media documents. 14307 14308 2010-04-29 Anders Carlsson <andersca (a] apple.com> 14309 14310 Reviewed by Dan Bernstein. 14311 14312 First part of 14313 https://bugs.webkit.org/show_bug.cgi?id=20784 14314 move npapi.h to C99 integer types. 14315 14316 Add nptypes.h to the build. 14317 14318 * WebCore.xcodeproj/project.pbxproj: 14319 * bridge/npapi.h: 14320 * bridge/npruntime.h: 14321 * bridge/nptypes.h: Added. 14322 14323 2010-04-29 Xan Lopez <xlopez (a] igalia.com> 14324 14325 Rubber-stamped by Adam Barth. 14326 14327 Update GObject bindings test results. We are actually moving 14328 backwards here, but we'll update them again when we figure out 14329 what broke. 14330 14331 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 14332 (webkit_dom_test_obj_set_property): 14333 (webkit_dom_test_obj_get_property): 14334 14335 2010-04-29 Sam Weinig <sam (a] webkit.org> 14336 14337 Reviewed by Anders Carlsson. 14338 14339 Fix for https://bugs.webkit.org/show_bug.cgi?id=38277 14340 MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector 14341 14342 * platform/mac/ThemeMac.mm: 14343 (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation. 14344 14345 2010-04-29 Adam Barth <abarth (a] webkit.org> 14346 14347 Reviewed by Eric Seidel. 14348 14349 CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj 14350 https://bugs.webkit.org/show_bug.cgi?id=38338 14351 14352 Currently CodeGeneratorJS.pm uses castThis for methods and 14353 castedThisObj for attributes. This inconsistency makes it difficult to 14354 factor common code genereration code into methods shared by both kinds 14355 of bindings. This match aligns the names so that a future patch (e.g., 14356 in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste 14357 code. 14358 14359 * bindings/scripts/CodeGeneratorJS.pm: 14360 * bindings/scripts/test/JS/JSTestObj.cpp: 14361 (WebCore::setJSTestObjIntAttr): 14362 (WebCore::setJSTestObjLongLongAttr): 14363 (WebCore::setJSTestObjUnsignedLongLongAttr): 14364 (WebCore::setJSTestObjStringAttr): 14365 (WebCore::setJSTestObjTestObjAttr): 14366 (WebCore::setJSTestObjAttrWithException): 14367 (WebCore::setJSTestObjAttrWithSetterException): 14368 (WebCore::setJSTestObjAttrWithGetterException): 14369 (WebCore::jsTestObjPrototypeFunctionVoidMethod): 14370 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): 14371 (WebCore::jsTestObjPrototypeFunctionIntMethod): 14372 (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): 14373 (WebCore::jsTestObjPrototypeFunctionObjMethod): 14374 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): 14375 (WebCore::jsTestObjPrototypeFunctionMethodWithException): 14376 (WebCore::jsTestObjPrototypeFunctionCustomMethod): 14377 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): 14378 (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): 14379 (WebCore::jsTestObjPrototypeFunctionAddEventListener): 14380 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): 14381 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame): 14382 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): 14383 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): 14384 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): 14385 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): 14386 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid): 14387 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj): 14388 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException): 14389 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException): 14390 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): 14391 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): 14392 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): 14393 14394 2010-04-29 Gustavo Noronha Silva <gustavo.noronhaollabora.co.uk> 14395 14396 Reviewed by Xan Lopez. 14397 14398 [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR 14399 https://bugs.webkit.org/show_bug.cgi?id=36963 14400 14401 Use the default cursor instead of hard-coding left pointer. 14402 14403 * platform/gtk/CursorGtk.cpp: 14404 (WebCore::Cursor::Cursor): 14405 (WebCore::pointerCursor): 14406 14407 2010-04-29 Ilya Tikhonovsky <loislo (a] chromium.org> 14408 14409 Reviewed by Yury Semikhatsky. 14410 14411 WebInspector: If Timeline panel is in recording mode and is not visible and has received 14412 new events then these events do not appear in the panel when the panel becomes visible. 14413 Timeline popup may appear in the upper left window corner when you switch to another panel. 14414 https://bugs.webkit.org/show_bug.cgi?id=38322 14415 14416 * inspector/front-end/Popover.js: 14417 (WebInspector.PopoverHelper.prototype._mouseMove.doHide): 14418 (WebInspector.PopoverHelper.prototype._mouseMove): 14419 (WebInspector.PopoverHelper.prototype.hidePopup): 14420 (WebInspector.PopoverHelper.prototype._hidePopup): 14421 * inspector/front-end/TimelinePanel.js: 14422 (WebInspector.TimelinePanel.prototype.show): 14423 (WebInspector.TimelinePanel.prototype._scheduleRefresh): 14424 (WebInspector.TimelinePanel.prototype._refresh): 14425 14426 2010-04-29 Anton Muhin <antonm (a] chromium.org> 14427 14428 Reviewed by Darin Adler. 14429 14430 Let's cache nodelists instead of DynamicNodeList::Caches 14431 https://bugs.webkit.org/show_bug.cgi?id=33696 14432 14433 Test: fast/dom/Element/node-list-identity.html 14434 14435 * bindings/js/JSNodeCustom.cpp: 14436 (WebCore::JSNode::markChildren): Mark all cached node lists as well 14437 * dom/ClassNodeList.cpp: 14438 (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more 14439 (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache 14440 * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache 14441 (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more 14442 * dom/NameNodeList.cpp: 14443 (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more 14444 (WebCore::NameNodeList::~NameNodeList): Remove from the cache 14445 * dom/NameNodeList.h: 14446 (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more 14447 * dom/Node.cpp: 14448 (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache 14449 (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache 14450 (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache 14451 (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data 14452 (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data 14453 (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data 14454 (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data 14455 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data 14456 (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data 14457 (WebCore::markNodeLists): Helper to mark all the node lists in the cache 14458 (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present 14459 * dom/Node.h: 14460 (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data 14461 * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data 14462 * dom/TagNodeList.cpp: 14463 (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more 14464 (WebCore::TagNodeList::~TagNodeList): Remove from the cache 14465 * dom/TagNodeList.h: 14466 (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more 14467 14468 2010-04-29 Mikhail Naganov <mnaganov (a] chromium.org> 14469 14470 Reviewed by Yury Semikhatsky. 14471 14472 [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds. 14473 14474 https://bugs.webkit.org/show_bug.cgi?id=38330 14475 14476 * bindings/v8/ScriptProfileNode.cpp: 14477 (WebCore::ScriptProfileNode::totalTime): 14478 (WebCore::ScriptProfileNode::selfTime): 14479 14480 2010-04-28 Dimitri Glazkov <dglazkov (a] chromium.org> 14481 14482 Reviewed by Darin Adler. 14483 14484 A form without a submit button unexpectedly performs its action when Return is pressed 14485 https://bugs.webkit.org/show_bug.cgi?id=9756 14486 14487 Implemented implicit form submission algorithm as defined in HTML5 spec: 14488 http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission, 14489 falling back to match IE's behavior in the edge cases. 14490 14491 The underlying rules are: 14492 14493 * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field. 14494 14495 * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field 14496 that's not a textarea or a select. 14497 14498 Test: fast/forms/implicit-submission.html 14499 14500 * dom/SelectElement.cpp: 14501 (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements. 14502 (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto. 14503 (WebCore::SelectElement::defaultEventHandler): Ditto. 14504 * dom/SelectElement.h: Ditto. 14505 (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec 14506 language, changed the logic to match the rules above. 14507 * html/HTMLInputElement.cpp: 14508 (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match 14509 HTML5 spec language, made radio element to trigger implicit submission. 14510 * html/HTMLSelectElement.cpp: 14511 (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer 14512 necessary. 14513 14514 2010-04-29 Pawe Hajdan, Jr. <phajdan.jr (a] chromium.org> 14515 14516 Reviewed by Jeremy Orlow. 14517 14518 Fix building with libpng-1.4. 14519 https://bugs.webkit.org/show_bug.cgi?id=33287 14520 14521 No new tests (no behavior change). 14522 14523 Original patch by John Bowler <jbowler (a] acm.org> 14524 14525 * platform/image-encoders/skia/PNGImageEncoder.cpp: 14526 (WebCore::PNGImageEncoder::encode): 14527 14528 2010-04-29 Adam Langley <agl (a] chromium.org> 14529 14530 Reviewed by David Levin. 14531 14532 This patch adds support for WOFF in Chromium. Since Chromium 14533 already transcodes all OpenType files for security reasons we 14534 are adding WOFF support into the transcoder. 14535 14536 https://bugs.webkit.org/show_bug.cgi?id=38217 14537 14538 * css/CSSFontFaceSrcValue.cpp: 14539 (WebCore::CSSFontFaceSrcValue::isSupportedFormat): 14540 Recognise "woff" as a font-face format value (guarded by 14541 ENABLE(OPENTYPE_SANITIZER) at this point) 14542 * platform/graphics/opentype/OpenTypeSanitizer.cpp: 14543 (WebCore::OpenTypeSanitizer::sanitize): 14544 Change so that the transcoded font can be larger than the original. 14545 (WOFF files are compressed, so the transcoded TTF is typically 14546 larger.) 14547 14548 2010-04-29 Alex Milowski <alex (a] milowski.com> 14549 14550 Reviewed by Kenneth Rohde Christiansen. 14551 14552 Updates to the Qt build to enable building MathML support. 14553 14554 * WebCore.pri: 14555 * WebCore.pro: 14556 14557 2010-04-29 Xan Lopez <xlopez (a] igalia.com> 14558 14559 Reviewed by Gustavo Noronha. 14560 14561 [GTK] GObject DOM bindings 14562 https://bugs.webkit.org/show_bug.cgi?id=33590 14563 14564 Do not generate unneeded boilerplate in {get,set}_property methods 14565 when there are no properties to generate code for. This gets rid 14566 of lots of compiler warnings. 14567 14568 * bindings/scripts/CodeGeneratorGObject.pm: 14569 14570 2010-04-29 Simon Hausmann <simon.hausmann (a] nokia.com> 14571 14572 Reviewed by Kenneth Rohde Christiansen. 14573 14574 [Qt] Speed up text layouting 14575 https://bugs.webkit.org/show_bug.cgi?id=31719 14576 14577 Use QFontMetrics::width() for the text width calculation instead 14578 of QTextLayout. This avoids expensive bearing calculations and the 14579 line breaking code. 14580 14581 * platform/graphics/qt/FontQt.cpp: 14582 (WebCore::Font::floatWidthForComplexText): 14583 14584 2010-04-29 Kwang Yul Seo <skyul (a] company100.net> 14585 14586 Reviewed by Simon Hausmann. 14587 14588 [WINCE] Export g_stackBase with JS_EXPORTDATA 14589 https://bugs.webkit.org/show_bug.cgi?id=37437 14590 14591 Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore. 14592 14593 * platform/wince/SharedTimerWince.cpp: 14594 14595 2010-04-29 Adam Barth <abarth (a] webkit.org> 14596 14597 Reviewed by Maciej Stachowiak. 14598 14599 Remove custom bindings for PopStateEvent.initPopStateEvent 14600 https://bugs.webkit.org/show_bug.cgi?id=38311 14601 14602 Our code generation of SerializedScriptValue was slightly buggy, but 14603 it's easy to fix. Notice that the conversion to an atomic string is 14604 handled by the C++ type system and doesn't require logic in the code 14605 generator. 14606 14607 * bindings/js/JSPopStateEventCustom.cpp: 14608 * bindings/scripts/CodeGeneratorJS.pm: 14609 * bindings/scripts/CodeGeneratorV8.pm: 14610 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 14611 (webkit_dom_test_obj_serialized_value): 14612 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 14613 * bindings/scripts/test/JS/JSTestObj.cpp: 14614 (WebCore::): 14615 (WebCore::jsTestObjPrototypeFunctionSerializedValue): 14616 * bindings/scripts/test/JS/JSTestObj.h: 14617 * bindings/scripts/test/ObjC/DOMTestObj.h: 14618 * bindings/scripts/test/ObjC/DOMTestObj.mm: 14619 (-[DOMTestObj serializedValue:]): 14620 * bindings/scripts/test/TestObj.idl: 14621 * bindings/scripts/test/V8/V8TestObj.cpp: 14622 (WebCore::TestObjInternal::serializedValueCallback): 14623 (WebCore::ConfigureV8TestObjTemplate): 14624 * bindings/v8/custom/V8PopStateEventCustom.cpp: 14625 * dom/PopStateEvent.idl: 14626 14627 2010-04-29 Kent Tamura <tkent (a] chromium.org> 14628 14629 Reviewed by Darin Adler. 14630 14631 Fix a bug that selection drag-and-drop doesn't work for input/textarea. 14632 https://bugs.webkit.org/show_bug.cgi?id=38175 14633 14634 The code supposed the selected region was in the destination text 14635 field. It is not true in a case of drag-and-drop. 14636 14637 Test: editing/pasteboard/drag-drop-input-textarea.html 14638 14639 * dom/InputElement.cpp: 14640 (WebCore::InputElement::handleBeforeTextInsertedEvent): 14641 * html/HTMLTextAreaElement.cpp: 14642 (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): 14643 14644 2010-04-29 Adam Barth <abarth (a] webkit.org> 14645 14646 Reviewed by Maciej Stachowiak. 14647 14648 Remove custom bindings for NodeFilter.acceptNode 14649 https://bugs.webkit.org/show_bug.cgi?id=38309 14650 14651 This "custom" code was just an instance of the CallWith=ScriptState 14652 pattern. Also, it looks like V8 just had a garbage implemenation that 14653 did nothing. 14654 14655 * WebCore.gypi: 14656 * bindings/js/JSNodeFilterCustom.cpp: 14657 * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed. 14658 * dom/NodeFilter.idl: 14659 14660 2010-04-29 Noam Rosenthal <noam.rosenthal (a] nokia.com> 14661 14662 Reviewed by Laszlo Gombos. 14663 14664 [Qt] QtWebkit doesn't link with 3D canvas 14665 https://bugs.webkit.org/show_bug.cgi?id=38299 14666 14667 Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define. 14668 14669 No new tests: build fix 14670 14671 * platform/graphics/qt/GraphicsContext3DQt.cpp: 14672 (WebCore::GraphicsContext3D::isGLES2Compliant): 14673 14674 2010-04-29 Simon Hausmann <simon.hausmann (a] nokia.com> 14675 14676 Reviewed by Tor Arne Vestb. 14677 14678 [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails 14679 https://bugs.webkit.org/show_bug.cgi?id=38316 14680 14681 Accessing properties of a deleted objects doesn't throw an exception 14682 anymore. 14683 14684 Continue to expose the QObject class wrapper for objects that 14685 previously existed but don't exist anymore. QtClass is safe to 14686 use with a deleted QObject. 14687 14688 * bridge/qt/qt_instance.cpp: 14689 (JSC::Bindings::QtInstance::getClass): Return null only if m_class 14690 doesn't exist yet and there's no m_object. 14691 14692 2010-04-29 Noam Rosenthal <noam.rosenthal (a] nokia.com> 14693 14694 Reviewed by Simon Hausmann. 14695 14696 Reverse animations don't work in some use cases 14697 https://bugs.webkit.org/show_bug.cgi?id=38075 14698 14699 This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code 14700 with the CA implementation. That special case code path is now a bug - and this patch removes it. 14701 14702 http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse 14703 animation correctly. 14704 14705 * platform/graphics/qt/GraphicsLayerQt.cpp: 14706 (WebCore::TransformAnimationQt::applyFrame): 14707 14708 2010-04-29 Jan Hanssen <jhanssen (a] codeaurora.org> 14709 14710 Reviewed by Adam Barth. 14711 14712 HTMLOptionElement::ownerSelectElement() needs to consider keygen elements 14713 https://bugs.webkit.org/show_bug.cgi?id=26016 14714 14715 Patch written by Grace Kloba <klobag (a] gmail.com>, test fixed by me. 14716 14717 Test: fast/dom/HTMLKeygenElement/keygen-option-select.html 14718 14719 * html/HTMLOptionElement.cpp: 14720 (WebCore::HTMLOptionElement::ownerSelectElement): 14721 Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element. 14722 14723 2010-04-29 Gustavo Sverzut Barbieri <barbieri (a] profusion.mobi> 14724 14725 Reviewed by Eric Seidel. 14726 14727 Add EFL-specific code to Widget.h and move the empty 14728 frameRectsChanged() definition to Widget.cpp, since the EFL port 14729 needs to override that. 14730 http://webkit.org/b/36317 14731 14732 No new tests required. 14733 14734 * WebCore.base.exp: 14735 * platform/Widget.cpp: 14736 (WebCore::Widget::frameRectsChanged): 14737 * platform/Widget.h: 14738 14739 2010-04-29 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 14740 14741 Reviewed by Simon Hausmann. 14742 14743 [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant() 14744 https://bugs.webkit.org/show_bug.cgi?id=38216 14745 14746 * platform/graphics/qt/GraphicsContext3DQt.cpp: 14747 (WebCore::GraphicsContext3D::isGLES2Compliant): 14748 14749 2010-04-29 Zhenyao Mo <zmo (a] google.com> 14750 14751 Reviewed by Dimitri Glazkov. 14752 14753 Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D 14754 https://bugs.webkit.org/show_bug.cgi?id=38235 14755 14756 * html/canvas/WebGLRenderingContext.cpp: 14757 (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input. 14758 (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D. 14759 (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input. 14760 (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D. 14761 * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration. 14762 * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input. 14763 * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input. 14764 (WebCore::GraphicsContext3D::texImage2D): 14765 (WebCore::GraphicsContext3D::texSubImage2D): 14766 14767 2010-04-29 Noam Rosenthal <noam.rosenthal (a] nokia.com> 14768 14769 Reviewed by Simon Hausmann. 14770 14771 [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended. 14772 https://bugs.webkit.org/show_bug.cgi?id=38076 14773 14774 This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the 14775 animation synchronously. The delay between the call to that function and the actual call to the animation's destructor 14776 is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted 14777 upon stop (updateState) and not upon the object's destruction. 14778 14779 http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when 14780 the animation is toggled frequently. 14781 14782 * platform/graphics/qt/GraphicsLayerQt.cpp: 14783 (WebCore::TransformAnimationQt::~TransformAnimationQt): 14784 (WebCore::TransformAnimationQt::applyFrame): 14785 (WebCore::TransformAnimationQt::updateState): 14786 (WebCore::OpacityAnimationQt::~OpacityAnimationQt): 14787 (WebCore::OpacityAnimationQt::updateState): 14788 (WebCore::GraphicsLayerQt::removeAnimationsForProperty): 14789 (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes): 14790 14791 2010-04-28 Luiz Agostini <luiz.agostini (a] openbossa.org> 14792 14793 Reviewed by Simon Fraser. 14794 14795 Media queries empty values 14796 https://bugs.webkit.org/show_bug.cgi?id=38116 14797 14798 Adding isValid() method to MediaQueryExp to make it possible to differentiate 14799 between queries with empty values and queries with invalid values. 14800 14801 Test: fast/media/media-query-invalid-value.html 14802 14803 * css/MediaQueryEvaluator.cpp: 14804 (WebCore::MediaQueryEvaluator::eval): 14805 * css/MediaQueryExp.cpp: 14806 (WebCore::MediaQueryExp::MediaQueryExp): 14807 * css/MediaQueryExp.h: 14808 (WebCore::MediaQueryExp::isValid): 14809 14810 2010-04-28 Pavel Feldman <pfeldman (a] chromium.org> 14811 14812 Reviewed by Yury Semikhatsky. 14813 14814 Web Inspector: Allow editing script resources when resource tracking is enabled. 14815 14816 https://bugs.webkit.org/show_bug.cgi?id=38269 14817 14818 * inspector/front-end/ScriptView.js: 14819 * inspector/front-end/ScriptsPanel.js: 14820 (WebInspector.ScriptsPanel.prototype.canEditScripts): 14821 (WebInspector.ScriptsPanel.prototype.editScriptSource): 14822 * inspector/front-end/SourceFrame.js: 14823 (WebInspector.SourceFrame.prototype.get textModel): 14824 * inspector/front-end/SourceView.js: 14825 (WebInspector.SourceView): 14826 (WebInspector.SourceView.prototype._addBreakpoint): 14827 (WebInspector.SourceView.prototype._editLine): 14828 (WebInspector.SourceView.prototype._editLineComplete): 14829 (WebInspector.SourceView.prototype._sourceIDForLine): 14830 14831 2010-04-25 Antonio Gomes <tonikitoo (a] webkit.org> 14832 14833 Reviewed by Darin Adler. 14834 14835 Clicking a scrollbar blurs the currently focused element 14836 https://bugs.webkit.org/show_bug.cgi?id=16809 14837 14838 WebKit ports that do not use native (platform) widgets for rendering the scrollbars 14839 are currently mismatching a common behaviour of other browser vendors (including 14840 Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content. 14841 WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for 14842 instance, can observe the opposite behaviour. 14843 14844 Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar. 14845 If that is the case, it bails out and do not change focus behavior at all. 14846 14847 It is important to note that the given way this is implemented by this patch, non-frame 14848 scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working 14849 in the same way as it works currently. 14850 14851 Tests: scrollbars/scrollbar-click-does-not-blur-content.html 14852 scrollbars/scrollbar-iframe-click-does-not-blur-content.html 14853 14854 * page/EventHandler.cpp: 14855 (WebCore::EventHandler::dispatchMouseEvent): 14856 14857 2010-04-28 Dan Bernstein <mitz (a] apple.com> 14858 14859 Rubber-stamped by Maciej Stachowiak. 14860 14861 Try to fix test failures seen on the Leopard build bot after r58467 14862 14863 * platform/graphics/SimpleFontData.cpp: 14864 (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before 14865 calling widthForGlyph(), as the latter uses the former. 14866 14867 2010-04-28 Martin Robinson <mrobinson (a] webkit.org> 14868 14869 Reviewed by Gustavo Noronha. 14870 14871 [GTK] Enable DOM clipboard and drag-and-drop access 14872 https://bugs.webkit.org/show_bug.cgi?id=30623 14873 14874 Make ClipboardGtk a "live" DataTransfer object, able to modify 14875 the clipboard when setData(...) is called. 14876 14877 * platform/gtk/ClipboardGtk.cpp: 14878 (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method. 14879 (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data. 14880 (WebCore::dataObjectTypeFromHTMLClipboardType): Added. 14881 (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard. 14882 (WebCore::ClipboardGtk::clearAllData): Ditto. 14883 (WebCore::joinURIList): Added. 14884 (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible. 14885 (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard. 14886 (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types. 14887 (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files. 14888 (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard. 14889 (WebCore::ClipboardGtk::writeRange): Ditto. 14890 (WebCore::ClipboardGtk::writePlainText): Ditto. 14891 (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject. 14892 * platform/gtk/ClipboardGtk.h: 14893 (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects. 14894 * platform/gtk/DataObjectGtk.cpp: 14895 (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean from plain text. 14896 (WebCore::DataObjectGtk::markup): Actually return the range if it's set. 14897 (WebCore::DataObjectGtk::setText): Clean from plain text. 14898 (WebCore::DataObjectGtk::clearText): Added. 14899 (WebCore::DataObjectGtk::clearMarkup): Added. 14900 * platform/gtk/DataObjectGtk.h: 14901 (WebCore::DataObjectGtk::clearURIList): Added. 14902 (WebCore::DataObjectGtk::clearImage): Added. 14903 * platform/gtk/PasteboardHelper.cpp: 14904 (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets. 14905 (WebCore::urisToKURLVector): Added. 14906 (WebCore::PasteboardHelper::getClipboardContents): Added. 14907 (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs. 14908 (WebCore::PasteboardHelper::targetListForDataObject): Ditto. 14909 * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method. 14910 14911 2010-04-28 Martin Robinson <mrobinson (a] webkit.org> 14912 14913 Reviewed by Gustavo Noronha. 14914 14915 [GTK] Enable DOM clipboard and drag-and-drop access 14916 https://bugs.webkit.org/show_bug.cgi?id=30623 14917 14918 Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData. 14919 14920 No new tests, because pasteboard DataTransfer tests will be enabled 14921 with the completion of the GTK+ DataTransfer object. 14922 14923 * platform/gtk/PasteboardGtk.cpp: 14924 (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen. 14925 14926 2010-04-28 Dan Bernstein <mitz (a] apple.com> 14927 14928 Reviewed by Adele Peterson. 14929 14930 More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap 14931 https://bugs.webkit.org/show_bug.cgi?id=37936 14932 14933 Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map 14934 page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save 14935 this space by not storing the zero width and empty bounds in the metrics maps. 14936 14937 * platform/graphics/SimpleFontData.cpp: 14938 (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph. 14939 (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Dont create entries 14940 for the ZERO WIDTH SPACE glyph in the width map and in the bounds map. 14941 * platform/graphics/SimpleFontData.h: 14942 (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph 14943 without consulting the bounds map. 14944 (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without 14945 consulting the width map. 14946 14947 2010-04-28 Mark Rowe <mrowe (a] apple.com> 14948 14949 Reviewed by Adele Peterson. 14950 14951 <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load 14952 14953 The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules 14954 that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're 14955 adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin 14956 access that occurs on the Safari welcome page. 14957 14958 * css/CSSStyleSheet.cpp: 14959 (WebCore::CSSStyleSheet::cssRules): 14960 14961 2010-04-28 Mike Thole <mthole (a] apple.com> 14962 14963 Reviewed by Mark Rowe. 14964 14965 Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK. 14966 14967 * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp. 14968 * WebCore.ProtectionSpaceAuthCallback.exp: Added. 14969 * WebCore.xcodeproj/project.pbxproj: 14970 14971 2010-04-28 Evan Martin <evan (a] chromium.org> 14972 14973 Reviewed by David Levin. 14974 14975 [chromium] revert getFontDataForCharacters change in r58341 14976 https://bugs.webkit.org/show_bug.cgi?id=38288 14977 14978 It caused a performance regression. 14979 14980 * platform/chromium/ChromiumBridge.h: 14981 * platform/graphics/chromium/FontCacheLinux.cpp: 14982 (WebCore::FontCache::getFontDataForCharacters): 14983 14984 2010-04-28 Eric Seidel <eric (a] webkit.org> 14985 14986 Unreviewed, rolling out r58441. 14987 http://trac.webkit.org/changeset/58441 14988 https://bugs.webkit.org/show_bug.cgi?id=37618 14989 14990 Broke 3 test on Qt. 14991 14992 * page/DragController.cpp: 14993 (WebCore::DragController::tryDocumentDrag): 14994 (WebCore::DragController::concludeEditDrag): 14995 * page/DragController.h: 14996 (WebCore::DragController::setDragInitiator): 14997 (WebCore::DragController::dragInitiator): 14998 (WebCore::DragController::documentUnderMouse): 14999 15000 2010-04-28 Darin Adler <darin (a] apple.com> 15001 15002 Reviewed by Dan Bernstein. 15003 15004 Remove some obsolete scrolling code 15005 https://bugs.webkit.org/show_bug.cgi?id=38293 15006 15007 * page/Chrome.cpp: 15008 (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument. 15009 * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument. 15010 15011 * page/FrameView.cpp: Removed scrollRectIntoViewRecursively. 15012 * page/FrameView.h: Removed scrollRectIntoViewRecursively and made 15013 setScrollPosition non-virtual, since there is no class derived from 15014 this class, and ScrollView's setScrollPosition is non-virtual. 15015 15016 * platform/HostWindow.h: Removed scrollRectIntoView. 15017 15018 * platform/ScrollView.cpp: 15019 (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment 15020 since I was able to do most of the tasks listed here. 15021 15022 * rendering/RenderLayer.cpp: 15023 (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for 15024 ScrollView* argument to Chrome::scrollRectIntoView. 15025 15026 2010-04-28 Mike Thole <mthole (a] apple.com> 15027 15028 Reviewed by David Kilzer. 15029 15030 Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 15031 can be inspected before attempting to authenticate against it 15032 https://bugs.webkit.org/show_bug.cgi?id=38271 15033 15034 * loader/EmptyClients.h: 15035 (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added. 15036 * loader/FrameLoader.cpp: 15037 (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added. 15038 * loader/FrameLoader.h: 15039 * loader/FrameLoaderClient.h: 15040 * loader/ResourceLoader.cpp: 15041 (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added. 15042 * loader/ResourceLoader.h: 15043 (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added. 15044 * platform/network/ProtectionSpace.h: 15045 (WebCore::): 15046 * platform/network/ResourceHandle.h: 15047 * platform/network/ResourceHandleClient.h: 15048 (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added. 15049 * platform/network/mac/AuthenticationMac.mm: 15050 (WebCore::mac): 15051 Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and 15052 ProtectionSpaceAuthenticationSchemeClientCertificateRequested. Guarded with the 15053 #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't 15054 exist prior to Mac OS X 10.6. 15055 (WebCore::core): Ditto. 15056 * platform/network/mac/ResourceHandleMac.mm: 15057 (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added. 15058 (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added. 15059 15060 2010-04-28 Abhishek Arya <inferno (a] chromium.org> 15061 15062 Reviewed by Eric Seidel. 15063 15064 Convert m_documentUnderMouse, m_dragInitiator to RefPtr. 15065 Eliminated unused m_dragInitiator accessor to prevent dereferencing. 15066 https://bugs.webkit.org/show_bug.cgi?id=37618 15067 15068 Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html 15069 15070 * page/DragController.cpp: 15071 (WebCore::DragController::tryDocumentDrag): 15072 (WebCore::DragController::concludeEditDrag): 15073 * page/DragController.h: 15074 (WebCore::DragController::draggingImageURL): 15075 (WebCore::DragController::documentUnderMouse): 15076 15077 2010-04-28 Dumitru Daniliuc <dumi (a] chromium.org> 15078 15079 Unreviewed, fixing a build problem introduced by the previous patch. 15080 15081 * storage/DatabaseSync.cpp: 15082 (WebCore::DatabaseSync::openDatabaseSync): 15083 15084 2010-04-23 Dumitru Daniliuc <dumi (a] chromium.org> 15085 15086 Reviewed by Jeremy Orlow. 15087 15088 Adding some required classes for the sync WebSQLDatabases API. 15089 https://bugs.webkit.org/show_bug.cgi?id=34994 15090 15091 * GNUmakefile.am: 15092 * WebCore.gypi: 15093 * WebCore.pro: 15094 * WebCore.vcproj/WebCore.vcproj: 15095 * WebCore.xcodeproj/project.pbxproj: 15096 * storage/DatabaseSync.cpp: Added. 15097 (WebCore::DatabaseSync::databaseInfoTableName): 15098 (WebCore::DatabaseSync::setIsAvailable): 15099 (WebCore::DatabaseSync::isAvailable): 15100 (WebCore::DatabaseSync::openDatabaseSync): 15101 (WebCore::DatabaseSync::DatabaseSync): 15102 (WebCore::DatabaseSync::~DatabaseSync): 15103 (WebCore::DatabaseSync::version): 15104 (WebCore::DatabaseSync::changeVersion): 15105 (WebCore::DatabaseSync::transaction): 15106 * storage/DatabaseSync.h: Added. 15107 (WebCore::DatabaseSync::databaseDebugName): 15108 * storage/SQLTransactionSync.cpp: Added. 15109 (WebCore::SQLTransactionSync::create): 15110 (WebCore::SQLTransactionSync::SQLTransactionSync): 15111 (WebCore::SQLTransactionSync::~SQLTransactionSync): 15112 (WebCore::SQLTransactionSync::executeSQL): 15113 * storage/SQLTransactionSync.h: Added. 15114 (WebCore::SQLTransactionSync::database): 15115 (WebCore::SQLTransactionSync::isReadOnly): 15116 * storage/SQLTransactionSyncCallback.h: Added. 15117 (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback): 15118 15119 2010-04-28 smail Dnmez <ismail (a] namtrac.org> 15120 15121 Reviewed by Simon Hausmann. 15122 15123 Fix compilation with QT_NO_CURSOR defined. 15124 15125 * platform/qt/QWebPageClient.h: 15126 (QWebPageClient::resetCursor): 15127 (QWebPageClient::setCursor): 15128 15129 2010-04-28 Abhishek Arya <inferno (a] chromium.org> 15130 15131 Reviewed by Alexey Proskuryakov. 15132 15133 Added a check to make sure that resources from a different https origin are not cached. 15134 https://bugs.webkit.org/show_bug.cgi?id=33456 15135 15136 Test: http/tests/appcache/different-https-origin-resource-main.html 15137 15138 * loader/appcache/ManifestParser.cpp: 15139 (WebCore::parseManifest): 15140 15141 2010-04-28 Sam Weinig <sam (a] webkit.org> 15142 15143 Reviewed by Mark Rowe. 15144 15145 Only set -allowable_client WebKit2 for engineering builds on SnowLeopard 15146 and later. 15147 15148 * Configurations/WebCore.xcconfig: 15149 15150 2010-04-28 Darin Adler <darin (a] apple.com> 15151 15152 Reviewed by Adele Peterson. 15153 15154 REGRESSION: Autoscroll does not work in Mail messages 15155 https://bugs.webkit.org/show_bug.cgi?id=38267 15156 rdar://problem/7559799 15157 15158 Still haven't figured out a good way to test this with DumpRenderTree 15159 or with Safari. Testing has to be done with Mail for now. 15160 15161 The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another 15162 view had gotten broken in multiple ways. For some reason, a combination of bugs made it 15163 partly work until around r48064. This brings it back. 15164 15165 There were three problems: 15166 15167 1) Code in EventHandler decided there was nothing to scroll, so didn't start 15168 the autoscroll timer. 15169 2) The wrong rectangle was passed to Chrome::scrollRectIntoView. 15170 3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect 15171 coordinate conversion. 15172 15173 I verified that none of these have any effect on regression tests, or behavior in 15174 web browsers, or behavior on platforms other than Mac. 15175 15176 * page/EventHandler.cpp: 15177 (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly 15178 and for the top level box of the top frame. 15179 (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll. 15180 (WebCore::EventHandler::updateAutoscrollRenderer): Ditto. 15181 15182 * page/FrameView.cpp: 15183 (WebCore::FrameView::scrollToAnchor): Fixed comment. 15184 15185 * platform/ScrollView.cpp: 15186 (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this 15187 now-unused function along with some comments about removing some obsolete code. 15188 15189 * rendering/RenderLayer.cpp: 15190 (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively 15191 since from the WebKit point of view this is the topmost scroll view anyway. Instead call 15192 setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs 15193 to use a different rectangle anyway. 15194 15195 2010-04-21 Ojan Vafai <ojan (a] chromium.org> 15196 15197 Reviewed by Adele Peterson. 15198 15199 http://trac.webkit.org/changeset/57215 caused perf/memory regressions 15200 https://bugs.webkit.org/show_bug.cgi?id=37292 15201 15202 #if out the canUseGlyphCache Changes from r57215 as they caused a 15203 8% perf regression on Chromium's international page load tests so that 15204 the perf regression can be fixed properly without being left in the tree. 15205 15206 * platform/graphics/FontFastPath.cpp: 15207 (WebCore::Font::canUseGlyphCache): 15208 15209 2010-04-28 Beth Dakin <bdakin (a] apple.com> 15210 15211 Reviewed by Darin Adler. 15212 15213 Fix for <rdar://problem/7474349> 15214 15215 Add a synchronous display mechanism for WKCACFLayerRenderer. 15216 15217 * platform/graphics/win/WKCACFLayerRenderer.cpp: 15218 (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is 15219 just like setRootContents(), but it calls paint() instead of 15220 renderSoon(). 15221 * platform/graphics/win/WKCACFLayerRenderer.h: 15222 15223 2010-04-28 Dmitry Titov <dimich (a] chromium.org> 15224 15225 Reviewed by Geoffrey Garen. 15226 15227 REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot 15228 https://bugs.webkit.org/show_bug.cgi?id=37554 15229 15230 The flaky fast/workers/wrapper-map-gc.html will stop being flaky. 15231 15232 * bindings/js/JSEventListener.cpp: 15233 (WebCore::JSEventListener::handleEvent): 15234 check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close(). 15235 * bindings/js/JSWorkerContextBase.cpp: 15236 (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0. 15237 * bindings/js/WorkerScriptController.h: 15238 (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden. 15239 (WebCore::WorkerScriptController::isExecutionForbidden): 15240 * bindings/v8/WorkerScriptController.h: 15241 (WebCore::WorkerScriptController::isExecutionForbidden): 15242 15243 Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document 15244 and 'true' for WorkerContext when script is terminated. 15245 * dom/ScriptExecutionContext.h: 15246 * dom/Document.h: 15247 (WebCore::Document::isJSExecutionTerminated): 15248 * workers/WorkerContext.cpp: 15249 (WebCore::WorkerContext::isJSExecutionTerminated): 15250 * workers/WorkerContext.h: 15251 15252 2010-04-28 Ilya Tikhonovsky <loislo (a] chromium.org> 15253 15254 Reviewed by Yury Semikhatsky. 15255 15256 WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel. 15257 https://bugs.webkit.org/show_bug.cgi?id=38270 15258 15259 * inspector/front-end/ResourcesPanel.js: 15260 (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded): 15261 15262 2010-04-28 Ilya Tikhonovsky <loislo (a] chromium.org> 15263 15264 Reviewed by Yury Semikhatsky. 15265 15266 WebInspector: Timeline: We can have precise urls in the EvaluateScript records. 15267 https://bugs.webkit.org/show_bug.cgi?id=38264 15268 15269 * inspector/front-end/TimelinePanel.js: 15270 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 15271 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 15272 15273 2010-04-28 Pavel Feldman <pfeldman (a] chromium.org> 15274 15275 Reviewed by Timothy Hatcher. 15276 15277 Web Inspector: Linkify node and function in the event listeners panel. 15278 15279 https://bugs.webkit.org/show_bug.cgi?id=38251 15280 15281 * bindings/js/ScriptEventListener.cpp: 15282 (WebCore::eventListenerHandlerBody): 15283 (WebCore::eventListenerHandlerLocation): 15284 * bindings/js/ScriptEventListener.h: 15285 * bindings/v8/ScriptEventListener.cpp: 15286 (WebCore::eventListenerHandlerBody): 15287 (WebCore::eventListenerHandlerLocation): 15288 * bindings/v8/ScriptEventListener.h: 15289 * inspector/InspectorDOMAgent.cpp: 15290 (WebCore::InspectorDOMAgent::buildObjectForEventListener): 15291 * inspector/front-end/ElementsPanel.js: 15292 (WebInspector.ElementsPanel.prototype.linkifyNodeReference): 15293 (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault): 15294 * inspector/front-end/EventListenersSidebarPane.js: 15295 (WebInspector.EventListenersSidebarPane.prototype.update.callback): 15296 (WebInspector.EventListenersSidebarPane.prototype.update): 15297 (): 15298 * inspector/front-end/StylesSidebarPane.js: 15299 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules): 15300 * inspector/front-end/inspector.css: 15301 (.node-link): 15302 15303 2010-04-28 Julien Chaffraix <jchaffraix (a] webkit.org> 15304 15305 Reviewed by Alexey Proskuryakov. 15306 15307 [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR 15308 https://bugs.webkit.org/show_bug.cgi?id=37781 15309 <rdar://problem/7905150> 15310 15311 Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html 15312 http/tests/xmlhttprequest/access-control-preflight-credential-sync.html 15313 15314 Rolling the patch in as I could not reproduce Qt results locally. 15315 15316 * loader/DocumentThreadableLoader.cpp: 15317 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the 15318 credential from the request here to avoid forgetting to do so in the different code path. 15319 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the 15320 "Origin" header. 15321 (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have 15322 been removed so that we don't leak them. Also tweaked a comment to make it clear that 15323 the URL check has issue when credential is involved. 15324 15325 2010-04-28 Noam Rosenthal <noam.rosenthal (a] nokia.com> 15326 15327 Reviewed by Kenneth Rohde Christiansen. 15328 15329 [Qt] GraphicsLayer: preserves-3d and backface visibility 15330 https://bugs.webkit.org/show_bug.cgi?id=35312 15331 15332 Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating 15333 the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change. 15334 15335 WebKitSite/blog-files/3d-transforms test now work with Qt. 15336 15337 * platform/graphics/qt/GraphicsLayerQt.cpp: 15338 (WebCore::GraphicsLayerQtImpl::updateTransform): 15339 (WebCore::GraphicsLayerQtImpl::opaqueArea): 15340 (WebCore::GraphicsLayerQtImpl::boundingRect): 15341 (WebCore::GraphicsLayerQtImpl::paint): 15342 (WebCore::GraphicsLayerQtImpl::flushChanges): 15343 15344 2010-04-28 Ilya Tikhonovsky <loislo (a] chromium.org> 15345 15346 Reviewed by Yury Semikhatsky. 15347 15348 Web Inspector: View frame selector for Timeline overview panel is redesigned a bit. 15349 Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane. 15350 https://bugs.webkit.org/show_bug.cgi?id=38251 15351 15352 * inspector/front-end/TimelineOverviewPane.js: 15353 (WebInspector.TimelineOverviewPane): 15354 (WebInspector.TimelineOverviewPane.prototype.reset): 15355 (WebInspector.TimelineOverviewPane.prototype._dragWindow): 15356 (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging): 15357 (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging): 15358 (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft): 15359 (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight): 15360 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition): 15361 (WebInspector.TimelinePanel.WindowSelector): 15362 (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement): 15363 (WebInspector.TimelinePanel.WindowSelector.prototype._close): 15364 (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition): 15365 * inspector/front-end/inspector.css: 15366 (#timeline-overview-grid): 15367 (.timeline-window-selector): 15368 (#timeline-overview-window): 15369 (.timeline-overview-dividers-background): 15370 (.timeline-overview-window-rulers): 15371 (.timeline-window-resizer): 15372 15373 2010-04-28 Marcus Bulach <bulach (a] chromium.org> 15374 15375 Reviewed by Jeremy Orlow. 15376 15377 Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html 15378 https://bugs.webkit.org/show_bug.cgi?id=38254 15379 15380 * platform/graphics/chromium/FontLinux.cpp: 15381 (WebCore::adjustTextRenderMode): 15382 (WebCore::TextRunWalker::getTextRun): 15383 (WebCore::TextRunWalker::getNormalizedTextRun): 15384 (WebCore::TextRunWalker::setGlyphXPositions): 15385 (WebCore::glyphIndexForXPositionInScriptRun): 15386 (WebCore::Font::offsetForPositionForComplexText): 15387 (WebCore::Font::selectionRectForComplexText): 15388 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 15389 (WebCore::FontPlatformData::setupPaint): 15390 * platform/graphics/chromium/HarfbuzzSkia.cpp: 15391 (WebCore::getOutlinePoint): 15392 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 15393 (WebCore::GraphicsContext3D::getImageData): 15394 * platform/graphics/skia/GraphicsContextSkia.cpp: 15395 (WebCore::isCoordinateSkiaSafe): 15396 (WebCore::GraphicsContext::fillRect): 15397 (WebCore::GraphicsContext::strokePath): 15398 (WebCore::GraphicsContext::strokeRect): 15399 15400 2010-04-28 Andrey Kosyakov <caseq (a] chromium.org> 15401 15402 Reviewed by Yury Semikhatsky. 15403 15404 Log error message to inspector console if a resource fails to load. 15405 Disable checking of mime-type consistency for failed resources. 15406 https://bugs.webkit.org/show_bug.cgi?id=37215 15407 15408 Test: http/tests/inspector/console-resource-errors.html 15409 15410 * inspector/InspectorController.cpp: 15411 (WebCore::InspectorController::didReceiveResponse): 15412 (WebCore::InspectorController::didFailLoading): 15413 * inspector/front-end/Resource.js: 15414 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): 15415 * inspector/front-end/ResourcesPanel.js: 15416 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 15417 15418 2010-04-28 Yury Semikhatsky <yurys (a] chromium.org> 15419 15420 Reviewed by Pavel Feldman. 15421 15422 Support pause on exceptions in v8 implementation of ScriptDebugServer. 15423 15424 https://bugs.webkit.org/show_bug.cgi?id=38205 15425 15426 * bindings/v8/ScriptDebugServer.cpp: 15427 (WebCore::ScriptDebugServer::addListener): 15428 (WebCore::ScriptDebugServer::pauseOnExceptionsState): 15429 (WebCore::ScriptDebugServer::setPauseOnExceptionsState): 15430 (WebCore::ScriptDebugServer::currentCallFrame): 15431 (WebCore::ScriptDebugServer::handleV8DebugMessage): 15432 (WebCore::ScriptDebugServer::dispatchDidParseSource): 15433 * bindings/v8/ScriptDebugServer.h: 15434 15435 2010-04-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 15436 15437 Unreviewed, rolling out r58313. 15438 http://trac.webkit.org/changeset/58313 15439 https://bugs.webkit.org/show_bug.cgi?id=38253 15440 15441 Regression evident in pixel tests: the search icon is always 15442 clipped at the bottom. (Requested by jorlow on #webkit). 15443 15444 * rendering/RenderTextControl.cpp: 15445 (WebCore::RenderTextControl::controlClipRect): 15446 * rendering/RenderTextControl.h: 15447 (WebCore::RenderTextControl::hasControlClip): 15448 * rendering/RenderTextControlSingleLine.cpp: 15449 (WebCore::RenderTextControlSingleLine::paint): 15450 * rendering/RenderTextControlSingleLine.h: 15451 15452 2010-04-28 Justin McPherson <justin.mcpherson (a] nokia.com> 15453 15454 Reviewed by Simon Hausmann. 15455 15456 [Qt] Fix detection of Qt 4.7's multimedia libraries 15457 15458 QtMultimedia has been split into an additional media services library, which 15459 we're using. mediaservices depends on multimedia. 15460 15461 * WebCore.pro: 15462 15463 2010-04-28 Shinichiro Hamaji <hamaji (a] chromium.org> 15464 15465 Unreviewed attempt to fix the chromium build. 15466 15467 Add layoutTestController.setPrinting() 15468 https://bugs.webkit.org/show_bug.cgi?id=37203 15469 15470 * rendering/RenderTreeAsText.cpp: 15471 15472 2010-04-27 Shinichiro Hamaji <hamaji (a] chromium.org> 15473 15474 Reviewed by Darin Adler and Eric Seidel. 15475 15476 Add layoutTestController.setPrinting() 15477 https://bugs.webkit.org/show_bug.cgi?id=37203 15478 15479 Added RenderAsTextPrintingMode as a behavior of externalRepresentation. 15480 15481 Now ~PrintContext() calls end() automatically. 15482 15483 * page/PrintContext.cpp: 15484 (WebCore::PrintContext::~PrintContext): 15485 * rendering/RenderTreeAsText.cpp: 15486 (WebCore::externalRepresentation): 15487 * rendering/RenderTreeAsText.h: 15488 (WebCore::): 15489 15490 2010-04-27 Yuzo Fujishima <yuzo (a] google.com> 15491 15492 Reviewed by Eric Seidel. 15493 15494 Enhance CSS parser for Paged Media (Iteration 4) 15495 Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages. 15496 https://bugs.webkit.org/show_bug.cgi?id=35853 15497 15498 * css/CSSParser.cpp: 15499 (WebCore::CSSParser::parseValue): 15500 (WebCore::CSSParser::parsePage): 15501 * css/CSSParser.h: 15502 15503 2010-04-27 Yuzo Fujishima <yuzo (a] google.com> 15504 15505 Reviewed by Dimitri Glazkov. 15506 15507 Enhance CSS parser for Paged Media (Iteration 3) 15508 Implement size parameter parsing for Paged Media. 15509 https://bugs.webkit.org/show_bug.cgi?id=35851 15510 15511 I believe size property hasn't been used so far because (1) it hasn't been properly parsed and 15512 (2) a comment in CSSComputedStyleDeclaration::getPropertyCSSValue says so. 15513 Changing the way of parsing it should not cause any regressions -- no existing tests fail because of this change. 15514 15515 * css/CSSParser.cpp: 15516 (WebCore::CSSParser::parseValue): 15517 (WebCore::CSSParser::parseSize): 15518 (WebCore::CSSParser::parseSizeParameter): 15519 * css/CSSParser.h: 15520 (WebCore::CSSParser::): 15521 * css/CSSValueKeywords.in: 15522 15523 2010-04-27 Yuzo Fujishima <yuzo (a] google.com> 15524 15525 Reviewed by Eric Seidel. 15526 15527 Enhance CSS parser for Paged Media (Iteration 2) 15528 Parse and hold paged media rules in CSSStyleSelector. 15529 15530 https://bugs.webkit.org/show_bug.cgi?id=35782 15531 15532 Test: printing/page-rule-css-text.html 15533 15534 * css/CSSGrammar.y: 15535 * css/CSSPageRule.cpp: 15536 (WebCore::CSSPageRule::CSSPageRule): 15537 (WebCore::CSSPageRule::selectorText): 15538 * css/CSSPageRule.h: 15539 (WebCore::CSSPageRule::create): 15540 (WebCore::CSSPageRule::isPageRule): 15541 * css/CSSParser.cpp: 15542 (WebCore::CSSParser::createPageRule): 15543 * css/CSSStyleRule.h: 15544 * css/CSSStyleSelector.cpp: 15545 (WebCore::CSSRuleSet::getPageRules): 15546 (WebCore::CSSRuleSet::CSSRuleSet): 15547 (WebCore::CSSRuleSet::~CSSRuleSet): 15548 (WebCore::CSSRuleSet::addPageRule): 15549 (WebCore::CSSRuleSet::addRulesFromSheet): 15550 * css/CSSStyleSelector.h: 15551 * css/StyleBase.h: 15552 (WebCore::StyleBase::isPageRule): 15553 15554 2010-04-27 Daniel Bates <dbates (a] rim.com> 15555 15556 Reviewed by Oliver Hunt. 15557 15558 https://bugs.webkit.org/show_bug.cgi?id=37686 15559 15560 Fixes an issue where the canvas method strokeRect will stroke a 15561 rectangle whose dimensions are 0 when lineWidth > 1. 15562 15563 As per the definition of strokeRect in the HTML Canvas 2D Context 15564 spec. <http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect>, 15565 this method should have no effect when both the height and width 15566 are zero. 15567 15568 Tests: fast/canvas/canvas-clearRect.html 15569 fast/canvas/canvas-fillRect.html 15570 15571 * html/canvas/CanvasRenderingContext2D.cpp: 15572 (WebCore::validateRectForCanvas): Return false if height, width == 0. 15573 15574 2010-04-27 Adam Barth <abarth (a] webkit.org> 15575 15576 Reviewed by Eric Seidel. 15577 15578 Remove obsolete custom bindings file 15579 https://bugs.webkit.org/show_bug.cgi?id=38223 15580 15581 We don't need these files anymore because they are empty. 15582 15583 * Android.jscbindings.mk: 15584 * GNUmakefile.am: 15585 * WebCore.pro: 15586 * WebCore.vcproj/WebCore.vcproj: 15587 * WebCore.xcodeproj/project.pbxproj: 15588 * bindings/js/JSAbstractWorkerCustom.cpp: Removed. 15589 * bindings/js/JSBindingsAllInOne.cpp: 15590 * bindings/js/JSDocumentFragmentCustom.cpp: Removed. 15591 * bindings/js/JSEventSourceCustom.cpp: Removed. 15592 15593 2010-04-27 Daniel Cheng <dcheng (a] chromium.org> 15594 15595 Reviewed by Jian Li. 15596 15597 [Chromium] Filter out URLs with a file scheme from text/uri-list when dragging. 15598 https://bugs.webkit.org/show_bug.cgi?id=38227 15599 15600 Unfortunately, the simple fix of not populating the drag data with file URLs doesn't work 15601 since the default drop handling uses the drag data URL to navigate to dropped files/URLs. 15602 For now, we hack around the problem in the Chromium platform, but the proper long term 15603 solution is to change DragController::performDrag to check dragData::asFilenames(). 15604 15605 No new tests. 15606 15607 * platform/chromium/ClipboardChromium.cpp: 15608 (WebCore::ClipboardChromium::getData): 15609 (WebCore::ClipboardChromium::types): 15610 15611 2010-04-27 Simon Fraser <simon.fraser (a] apple.com> 15612 15613 Reviewed by the inimitable Dan Bernstein. 15614 15615 SVG as background image renders incorrectly after zooming 15616 https://bugs.webkit.org/show_bug.cgi?id=38215 15617 15618 When doing a partial redraw of an SVGImage used as a CSS background 15619 image, we're limited to drawing the entire Frame, clipped to the dirty rect. 15620 Because of this, we need to fix up the CTM so that the origin is at the 15621 top left of the unclipped image, rather than the top left of the 15622 portion being redrawn. 15623 15624 Test: fast/images/svg-background-partial-redraw.html 15625 15626 * svg/graphics/SVGImage.cpp: 15627 (WebCore::SVGImage::draw): 15628 15629 2010-04-27 Yuzo Fujishima <yuzo (a] google.com> 15630 15631 Reviewed by David Hyatt. 15632 15633 Retry of: Enhance CSS parser for Paged Media (Iteration 1) 15634 15635 In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined. 15636 The contents of the methods should be implemented by other changes. 15637 15638 https://bugs.webkit.org/show_bug.cgi?id=35329 15639 15640 Test: fast/css/parsing-page-rule.html 15641 15642 * css/CSSGrammar.y: 15643 * css/CSSParser.cpp: 15644 (WebCore::CSSParser::CSSParser): 15645 (WebCore::CSSParser::clearProperties): 15646 (WebCore::CSSParser::createPageRule): 15647 (WebCore::CSSParser::createMarginAtRule): 15648 (WebCore::CSSParser::startDeclarationsForMarginBox): 15649 (WebCore::CSSParser::endDeclarationsForMarginBox): 15650 * css/CSSParser.h: 15651 * css/CSSSelector.cpp: 15652 (WebCore::CSSSelector::pseudoId): 15653 (WebCore::nameToPseudoTypeMap): 15654 (WebCore::CSSSelector::extractPseudoType): 15655 * css/CSSSelector.h: 15656 (WebCore::CSSSelector::): 15657 * css/tokenizer.flex: 15658 15659 2010-04-27 Julien Chaffraix <jchaffraix (a] webkit.org> 15660 15661 Unreviewed, rolling out my changes as it rendered the Qt bot unreliable. 15662 15663 * loader/DocumentThreadableLoader.cpp: 15664 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): 15665 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): 15666 (WebCore::DocumentThreadableLoader::loadRequest): 15667 15668 2010-04-27 Julien Chaffraix <jchaffraix (a] webkit.org> 15669 15670 Reviewed by Alexey Proskuryakov. 15671 15672 [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR 15673 https://bugs.webkit.org/show_bug.cgi?id=37781 15674 <rdar://problem/7905150> 15675 15676 Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html 15677 http/tests/xmlhttprequest/access-control-preflight-credential-sync.html 15678 15679 * loader/DocumentThreadableLoader.cpp: 15680 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the 15681 credential from the request here to avoid forgetting to do so in the different code path. 15682 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the 15683 "Origin" header. 15684 (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have 15685 been removed so that we don't leak them. Also tweaked a comment to make it clear that 15686 the URL check has issue when credential is involved. 15687 15688 2010-04-27 Sam Weinig <sam (a] webkit.org> 15689 15690 Reviewed by Maciej Stachowiak. 15691 15692 Fix for https://bugs.webkit.org/show_bug.cgi?id=38238 15693 Allow both WebKit and WebKit2 to link to the same WebCore.framework 15694 15695 * Configurations/WebCore.xcconfig: Use -allowable_client WebKit2 to add 15696 WebKit2 to the list of frameworks that can link directly to WebCore. It 15697 is not necessary for it to be an umbrella since we don't need to reexport 15698 any symbols. 15699 15700 2010-04-27 Dumitru Daniliuc <dumi (a] chromium.org> 15701 15702 Reviewed by David Levin. 15703 15704 Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases. 15705 https://bugs.webkit.org/show_bug.cgi?id=38191 15706 15707 Vacuum all databases when the number of free pages is at least 10% 15708 of the number of total pages. Also, add a guard against a bug that 15709 was fixed in SQLite only starting with version 3.6.16. 15710 15711 * platform/sql/SQLiteDatabase.cpp: 15712 (WebCore::SQLiteDatabase::maximumSize): 15713 (WebCore::SQLiteDatabase::freeSpaceSize): 15714 (WebCore::SQLiteDatabase::totalSize): 15715 (WebCore::SQLiteDatabase::runIncrementalVacuumCommand): 15716 (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum): 15717 * platform/sql/SQLiteDatabase.h: 15718 (WebCore::SQLiteDatabase::): 15719 * platform/sql/SQLiteStatement.cpp: 15720 (WebCore::SQLiteStatement::prepare): 15721 (WebCore::SQLiteStatement::step): 15722 * storage/Database.cpp: 15723 (WebCore::Database::performOpenAndVerify): 15724 (WebCore::Database::incrementalVacuumIfNeeded): 15725 * storage/Database.h: 15726 * storage/SQLTransaction.cpp: 15727 (WebCore::SQLTransaction::postflightAndCommit): 15728 15729 2010-04-27 Garret Kelly <gdk (a] chromium.org> 15730 15731 Reviewed by Darin Fisher. 15732 15733 Turn all of the touch event handlers into RuntimeEnabledFeatures, and 15734 modify the createEvent methond on Document so that it won't create a 15735 TouchEvent if the feature is disabled. 15736 https://bugs.webkit.org/show_bug.cgi?id=37485 15737 15738 * bindings/generic/RuntimeEnabledFeatures.cpp: 15739 * bindings/generic/RuntimeEnabledFeatures.h: 15740 (WebCore::RuntimeEnabledFeatures::touchEnabled): 15741 (WebCore::RuntimeEnabledFeatures::setTouchEnabled): 15742 (WebCore::RuntimeEnabledFeatures::ontouchstartEnabled): 15743 (WebCore::RuntimeEnabledFeatures::ontouchmoveEnabled): 15744 (WebCore::RuntimeEnabledFeatures::ontouchendEnabled): 15745 (WebCore::RuntimeEnabledFeatures::ontouchcancelEnabled): 15746 * dom/Document.cpp: 15747 (WebCore::Document::createEvent): 15748 * dom/Document.idl: 15749 * dom/Element.idl: 15750 * page/DOMWindow.idl: 15751 15752 2010-04-27 Jens Alfke <snej (a] chromium.org> 15753 15754 Reviewed by Darin Fisher. 15755 15756 [Chromium] Add some notifications and an accessor to WebKit API 15757 https://bugs.webkit.org/show_bug.cgi?id=37625 15758 15759 * dom/Node.cpp: 15760 (WebCore::Node::hasNonEmptyBoundingBox): New method. 15761 * dom/Node.h: 15762 * html/HTMLAnchorElement.cpp: 15763 (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method 15764 15765 2010-04-27 Jochen Eisinger <jochen (a] chromium.org> 15766 15767 Reviewed by Shinichiro Hamaji. 15768 15769 Fix gyp build on Mac OS X with enable_svg=0. 15770 https://bugs.webkit.org/show_bug.cgi?id=38192 15771 15772 * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0. 15773 * css/CSSComputedStyleDeclaration.cpp: 15774 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement. 15775 15776 2010-04-27 Kinuko Yasuda <kinuko (a] chromium.org> 15777 15778 Reviewed by Jian Li. 15779 15780 [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py 15781 https://bugs.webkit.org/show_bug.cgi?id=38207 15782 15783 No new tests. 15784 15785 * WebCore.gyp/scripts/action_derivedsourcesallinone.py: 15786 15787 2010-04-27 Franois Sausset <sausset (a] gmail.com> 15788 15789 Reviewed by Kenneth Rohde Christiansen. 15790 15791 Implementation of the MathML mroot & msqrt elements. 15792 https://bugs.webkit.org/show_bug.cgi?id=37044 15793 15794 Test: mathml/presentation/roots.xhtml 15795 15796 * WebCore.xcodeproj/project.pbxproj: 15797 * css/mathml.css: 15798 (mroot): 15799 (mroot > * + *): 15800 (mroot > * + mrow, mroot > * + mfenced): 15801 * mathml/MathMLInlineContainerElement.cpp: 15802 (WebCore::MathMLInlineContainerElement::createRenderer): 15803 * mathml/RenderMathMLRoot.cpp: Added. 15804 (WebCore::RenderMathMLRoot::RenderMathMLRoot): 15805 (WebCore::RenderMathMLRoot::addChild): 15806 (WebCore::RenderMathMLRoot::paint): 15807 (WebCore::RenderMathMLRoot::layout): 15808 * mathml/RenderMathMLRoot.h: Added. 15809 * mathml/RenderMathMLSquareRoot.cpp: Added. 15810 (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot): 15811 (WebCore::RenderMathMLSquareRoot::paint): 15812 (WebCore::RenderMathMLSquareRoot::layout): 15813 * mathml/RenderMathMLSquareRoot.h: Added. 15814 15815 2010-04-27 Darin Adler <darin (a] apple.com> 15816 15817 Reviewed by Maciej Stachowiak. 15818 15819 I noticed an unused forwarding header. 15820 15821 * ForwardingHeaders/runtime/PropertyMap.h: Removed. 15822 15823 2010-04-27 James Robinson <jamesr (a] chromium.org> 15824 15825 Reviewed by Adam Barth. 15826 15827 Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code. 15828 https://bugs.webkit.org/show_bug.cgi?id=38153 15829 15830 * bindings/scripts/CodeGeneratorV8.pm: 15831 * bindings/v8/V8Proxy.cpp: 15832 (WebCore::V8Proxy::callFunction): 15833 15834 2010-04-27 Eric Seidel <eric (a] webkit.org> 15835 15836 Unreviewed, rolling out r58318. 15837 http://trac.webkit.org/changeset/58318 15838 https://bugs.webkit.org/show_bug.cgi?id=37215 15839 15840 Broke test on Tiger. Might just need updated results, 15841 unclear. 15842 15843 * inspector/InspectorController.cpp: 15844 (WebCore::InspectorController::didReceiveResponse): 15845 (WebCore::InspectorController::didFailLoading): 15846 * inspector/front-end/Resource.js: 15847 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): 15848 * inspector/front-end/ResourcesPanel.js: 15849 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 15850 15851 2010-04-27 Evan Martin <evan (a] chromium.org> 15852 15853 Reviewed by David Levin. 15854 15855 [chromium] bold bengali text not rendered properly on Linux 15856 https://bugs.webkit.org/show_bug.cgi?id=37904 15857 15858 We must let Skia do font fallback, rather than picking a font name 15859 then handing that to Skia. For example, if we have Bengali text and 15860 choose FreeSans + fake bold, and then later reuse the name, Skia will 15861 helpfully use FreeSansBold (which doesn't cover Bengali). 15862 15863 Test: fast/text/international/bold-bengali.html 15864 15865 * platform/graphics/chromium/FontCacheLinux.cpp: 15866 (WebCore::FontCache::getFontDataForCharacters): 15867 15868 2010-04-27 James Robinson <jamesr (a] chromium.org> 15869 15870 Reviewed by Darin Adler. 15871 15872 Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files. 15873 https://bugs.webkit.org/show_bug.cgi?id=38158 15874 15875 Most of the issues are signed/unsigned mismatches, but there are a few unusued variables 15876 and functions mixed in. 15877 15878 * platform/graphics/chromium/FontLinux.cpp: 15879 (WebCore::adjustTextRenderMode): 15880 (WebCore::TextRunWalker::getTextRun): 15881 (WebCore::TextRunWalker::getNormalizedTextRun): 15882 (WebCore::TextRunWalker::setGlyphXPositions): 15883 (WebCore::glyphIndexForXPositionInScriptRun): 15884 (WebCore::Font::offsetForPositionForComplexText): 15885 (WebCore::Font::selectionRectForComplexText): 15886 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 15887 (WebCore::FontPlatformData::setupPaint): 15888 * platform/graphics/chromium/HarfbuzzSkia.cpp: 15889 (WebCore::getOutlinePoint): 15890 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 15891 (WebCore::GraphicsContext3D::getImageData): 15892 * platform/graphics/skia/GraphicsContextSkia.cpp: 15893 (WebCore::isCoordinateSkiaSafe): 15894 (WebCore::GraphicsContext::fillRect): 15895 (WebCore::GraphicsContext::strokePath): 15896 (WebCore::GraphicsContext::strokeRect): 15897 15898 2010-04-27 Jian Li <jianli (a] chromium.org> 15899 15900 Reviewed by Darin Adler. 15901 15902 Sending a package file using FormData crashes WebKit on Mac. 15903 https://bugs.webkit.org/show_bug.cgi?id=37882 15904 15905 Can't add a layout test because DRT does not support generating the file name. 15906 15907 * loader/FrameLoader.cpp: 15908 (WebCore::FrameLoader::submitForm): 15909 (WebCore::FrameLoader::navigateToDifferentDocument): 15910 * platform/network/FormData.cpp: 15911 (WebCore::FormData::appendDOMFormData): 15912 * platform/network/FormData.h: 15913 * xml/XMLHttpRequest.cpp: 15914 (WebCore::XMLHttpRequest::send): 15915 15916 2010-04-27 Adam Barth <abarth (a] webkit.org> 15917 15918 Reviewed by Eric Seidel. 15919 15920 Remove custom NodeIterator bindings 15921 https://bugs.webkit.org/show_bug.cgi?id=38188 15922 15923 Another example of CallWith=ScriptState. This case shows us the right 15924 way to handle the interaction with exception codes. 15925 15926 In my previous patch, I put the exception code handling after the 15927 ScriptState exception handling. It turns out this was a mistake 15928 (although a harmless one at the time because no IDL caused us to 15929 generate that code). Now that we're generating both kinds of exception 15930 handling, we need to generate them in the right order. 15931 15932 * WebCore.gypi: 15933 * bindings/js/JSNodeIteratorCustom.cpp: 15934 * bindings/scripts/CodeGeneratorJS.pm: 15935 * bindings/scripts/CodeGeneratorV8.pm: 15936 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 15937 (webkit_dom_test_obj_with_script_state_void_exception): 15938 (webkit_dom_test_obj_with_script_state_obj_exception): 15939 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 15940 * bindings/scripts/test/JS/JSTestObj.cpp: 15941 (WebCore::): 15942 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException): 15943 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException): 15944 * bindings/scripts/test/JS/JSTestObj.h: 15945 * bindings/scripts/test/ObjC/DOMTestObj.h: 15946 * bindings/scripts/test/ObjC/DOMTestObj.mm: 15947 (-[DOMTestObj withScriptStateVoidException]): 15948 (-[DOMTestObj withScriptStateObjException]): 15949 * bindings/scripts/test/TestObj.idl: 15950 * bindings/scripts/test/V8/V8TestObj.cpp: 15951 (WebCore::TestObjInternal::withScriptStateVoidCallback): 15952 (WebCore::TestObjInternal::withScriptStateObjCallback): 15953 (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback): 15954 (WebCore::TestObjInternal::withScriptStateObjExceptionCallback): 15955 (WebCore::): 15956 * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed. 15957 * dom/NodeIterator.idl: 15958 15959 2010-04-27 Adam Barth <abarth (a] webkit.org> 15960 15961 Reviewed by Darin Adler. 15962 15963 Remove copy/paste addEventListener "custom" bindings via code generation 15964 https://bugs.webkit.org/show_bug.cgi?id=38210 15965 15966 It's somewhat lame to special case addEventListener and 15967 removeEventListener in the code generator, but it saves a large amount 15968 of boilerplate "custom" bindings code. 15969 15970 Idea shamelessly stolen from the V8 code generator. 15971 15972 This patch points to some good refactoring opportunities in 15973 CodeGeneratorJS.pm, but I'm going to hold off on those for a future 15974 patch. By generating test coverage for the code generator, we make 15975 these future refactorings easier. 15976 15977 * bindings/js/JSAbstractWorkerCustom.cpp: 15978 * bindings/js/JSDOMApplicationCacheCustom.cpp: 15979 * bindings/js/JSDesktopNotificationsCustom.cpp: 15980 * bindings/js/JSEventSourceCustom.cpp: 15981 * bindings/js/JSMessagePortCustom.cpp: 15982 * bindings/js/JSNodeCustom.cpp: 15983 * bindings/js/JSSVGElementInstanceCustom.cpp: 15984 * bindings/js/JSWebSocketCustom.cpp: 15985 * bindings/js/JSWorkerContextCustom.cpp: 15986 * bindings/js/JSXMLHttpRequestCustom.cpp: 15987 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 15988 * bindings/scripts/CodeGeneratorJS.pm: 15989 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 15990 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 15991 * bindings/scripts/test/JS/JSTestObj.cpp: 15992 (WebCore::): 15993 (WebCore::jsTestObjPrototypeFunctionAddEventListener): 15994 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): 15995 * bindings/scripts/test/JS/JSTestObj.h: 15996 * bindings/scripts/test/ObjC/DOMTestObj.h: 15997 * bindings/scripts/test/ObjC/DOMTestObj.mm: 15998 (-[DOMTestObj addEventListener:listener:useCapture:]): 15999 (-[DOMTestObj removeEventListener:listener:useCapture:]): 16000 * bindings/scripts/test/TestObj.idl: 16001 * bindings/scripts/test/V8/V8TestObj.cpp: 16002 (WebCore::TestObjInternal::addEventListenerCallback): 16003 (WebCore::TestObjInternal::removeEventListenerCallback): 16004 (WebCore::): 16005 * dom/MessagePort.idl: 16006 * dom/Node.idl: 16007 * loader/appcache/DOMApplicationCache.idl: 16008 * notifications/Notification.idl: 16009 * page/EventSource.idl: 16010 * svg/SVGElementInstance.idl: 16011 * websockets/WebSocket.idl: 16012 * workers/AbstractWorker.idl: 16013 * workers/WorkerContext.idl: 16014 * xml/XMLHttpRequest.idl: 16015 * xml/XMLHttpRequestUpload.idl: 16016 16017 2010-04-27 Sam Weinig <sam (a] webkit.org> 16018 16019 Rubber-stamped by Beth Dakin. 16020 16021 Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define. 16022 16023 * page/EventHandler.cpp: 16024 (WebCore::EventHandler::EventHandler): 16025 (WebCore::EventHandler::clearDragState): 16026 * page/EventHandler.h: 16027 * page/mac/DragControllerMac.mm: 16028 * page/mac/EventHandlerMac.mm: 16029 * platform/mac/PopupMenuMac.mm: 16030 16031 2010-04-27 Ben Murdoch <benm (a] google.com> 16032 16033 Reviewed by Simon Hausmann. 16034 16035 The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler. 16036 https://bugs.webkit.org/show_bug.cgi?id=37609 16037 16038 No new tests required, only updating documentation. 16039 16040 * page/EventHandler.cpp: 16041 (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling 16042 the TouchStationary state as a result of discussions in bug 37609. 16043 16044 2010-04-27 Simon Fraser <simon.fraser (a] apple.com> 16045 16046 Reviewed by Darin Adler, Maciej Stachowiak. 16047 16048 REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab 16049 https://bugs.webkit.org/show_bug.cgi?id=38183 16050 16051 Rather than sprinkle PLATFORM #ifdefs around, add a new method, 16052 RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether 16053 an iframe with composited content should trigger compositing mode in the enclosing document 16054 (a behavior that differs between platforms). 16055 16056 Use this new method to determine whether to trigger a style recalc in the parent document 16057 when an iframe becomes composited. 16058 16059 Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor(). 16060 16061 * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added. 16062 * manual-tests/compositing/resources/flash-frame.html: Added. 16063 * manual-tests/compositing/resources/tab-repaint-part-2.html: Added. 16064 * rendering/RenderLayerCompositor.cpp: 16065 (WebCore::RenderLayerCompositor::enableCompositingMode): 16066 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent): 16067 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): 16068 * rendering/RenderLayerCompositor.h: 16069 * rendering/RenderView.cpp: 16070 * rendering/RenderView.h: 16071 16072 2010-04-27 Andrey Kosyakov <caseq (a] chromium.org> 16073 16074 Reviewed by Yury Semikhatsky. 16075 16076 Log error message to inspector console if a resource fails to load. 16077 Disable checking of mime-type consistency for failed resources. 16078 https://bugs.webkit.org/show_bug.cgi?id=37215 16079 16080 Test: http/tests/inspector/console-resource-errors.html 16081 16082 * inspector/InspectorController.cpp: 16083 (WebCore::InspectorController::didReceiveResponse): 16084 (WebCore::InspectorController::didFailLoading): 16085 * inspector/front-end/Resource.js: 16086 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): 16087 * inspector/front-end/ResourcesPanel.js: 16088 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 16089 16090 2010-04-27 Vitaly Repeshko <vitalyr (a] chromium.org> 16091 16092 Reviewed by Nate Chapin. 16093 16094 [V8] Fix XHR memory leak in GC controller. 16095 https://bugs.webkit.org/show_bug.cgi?id=38202 16096 16097 http://trac.webkit.org/changeset/55798 simplified processing of 16098 active DOM objects but introduced a subtle bug in garbage 16099 collection of XHRs. ActiveDOMObject is not a direct base class of 16100 XHR and so upcasting changes pointer identity and breaks DOM 16101 maps. This leads to forever live persistent handles to XHR that 16102 had pending activity while V8 GC happened. 16103 16104 * bindings/v8/V8GCController.cpp: 16105 (WebCore::GCEpilogueVisitor::visitDOMWrapper): 16106 16107 2010-04-27 Adam Barth <abarth (a] webkit.org> 16108 16109 Unreviewed. Regenerate reference bindings code generator output. 16110 16111 * bindings/scripts/test/V8/V8TestObj.cpp: 16112 (WebCore::TestObjInternal::withScriptStateVoidCallback): 16113 (WebCore::TestObjInternal::withScriptStateObjCallback): 16114 16115 2010-04-27 Joseph Pecoraro <joepeck (a] webkit.org> 16116 16117 Reviewed by Dan Bernstein. 16118 16119 <input type="search"> with uneven padding causes text clipping 16120 https://bugs.webkit.org/show_bug.cgi?id=38160 16121 16122 Test: fast/css/input-search-padding.html 16123 16124 An <input type="search"> contains an inner block, which is explicitly 16125 centered in RenderTextControlSingleLine based on the height of the element. 16126 However, the clipping rect was not using the set location, and instead 16127 calculated off of the top border and padding alone. This also vertically 16128 centers the Caps Lock indicator. 16129 16130 * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine 16131 * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect 16132 * rendering/RenderTextControlSingleLine.cpp: 16133 (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator 16134 (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead 16135 * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search"> 16136 16137 2010-04-27 Thomas Zander <t.zander (a] nokia.com> 16138 16139 Reviewed by Simon Hausmann. 16140 16141 [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec. 16142 16143 Disable thumb mode due to library size limitations, just like it's done 16144 for the sbs/sbsv2 based build system. 16145 16146 * WebCore.pro: 16147 16148 2010-04-21 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 16149 16150 Reviewed by Kenneth Rohde Christiansen. 16151 16152 [Qt] Make sure WebKit is not compiled using C++0x. 16153 https://bugs.webkit.org/show_bug.cgi?id=37867 16154 16155 As the rest of Qt compiles in the C++0x mode, people might start 16156 compiling it in this mode. WebKit don't support this yet. 16157 16158 Patch by Thiago Macieira <thiago.macieira (a] nokia.com> 16159 16160 * WebCore.pro: 16161 16162 2010-04-27 Jeremy Orlow <jorlow (a] chromium.org> 16163 16164 Unreviewed build fix. 16165 16166 Revert 58274 and 58269 (WebSQLDatabase changes) 16167 https://bugs.webkit.org/show_bug.cgi?id=38191 16168 16169 Chromium bots are hitting ASSERTS when running layout tests. 16170 16171 * platform/sql/SQLiteDatabase.cpp: 16172 (WebCore::SQLiteDatabase::maximumSize): 16173 (WebCore::SQLiteDatabase::freeSpaceSize): 16174 * platform/sql/SQLiteDatabase.h: 16175 * platform/sql/SQLiteStatement.cpp: 16176 (WebCore::SQLiteStatement::prepare): 16177 * storage/Database.cpp: 16178 (WebCore::Database::performOpenAndVerify): 16179 * storage/Database.h: 16180 * storage/SQLTransaction.cpp: 16181 (WebCore::SQLTransaction::postflightAndCommit): 16182 16183 2010-04-27 Yuzo Fujishima <yuzo (a] google.com> 16184 16185 Unreviewed, fix build breakage by reverting r58299. 16186 16187 * css/CSSGrammar.y: 16188 * css/CSSParser.cpp: 16189 (WebCore::CSSParser::CSSParser): 16190 (WebCore::CSSParser::clearProperties): 16191 * css/CSSParser.h: 16192 * css/CSSSelector.cpp: 16193 (WebCore::CSSSelector::pseudoId): 16194 (WebCore::nameToPseudoTypeMap): 16195 (WebCore::CSSSelector::extractPseudoType): 16196 * css/CSSSelector.h: 16197 (WebCore::CSSSelector::): 16198 * css/tokenizer.flex: 16199 16200 2010-04-27 Yuzo Fujishima <yuzo (a] google.com> 16201 16202 Reviewed by Shinichiro Hamaji. 16203 16204 WebCore::CSSSelector::RareData::parseNth doesn't check whether the search for '-' in the argument was successful. 16205 This results in incorrect parsing. 16206 For example, '3n' is parsed as if it were '3n-3'. The code has been working OK just accidentally. 16207 16208 https://bugs.webkit.org/show_bug.cgi?id=37787 16209 16210 No new tests are added because the original behavior is accidentally OK. 16211 16212 * css/CSSSelector.cpp: 16213 (WebCore::CSSSelector::RareData::parseNth): 16214 16215 2010-04-27 Yuzo Fujishima <yuzo (a] google.com> 16216 16217 Reviewed by David Hyatt. 16218 16219 Enhance CSS parser for Paged Media (Iteration 1) 16220 16221 In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined. 16222 The contents of the methods should be implemented by other changes. 16223 16224 https://bugs.webkit.org/show_bug.cgi?id=35329 16225 16226 Test: fast/css/parsing-page-rule.html 16227 16228 * css/CSSGrammar.y: 16229 * css/CSSParser.cpp: 16230 (WebCore::CSSParser::CSSParser): 16231 (WebCore::CSSParser::clearProperties): 16232 (WebCore::CSSParser::lex): 16233 (WebCore::CSSParser::text): 16234 (WebCore::CSSParser::createPageRule): 16235 (WebCore::CSSParser::createMarginAtRule): 16236 (WebCore::CSSParser::startDeclarationsForMarginBox): 16237 (WebCore::CSSParser::endDeclarationsForMarginBox): 16238 * css/CSSParser.h: 16239 * css/CSSSelector.cpp: 16240 (WebCore::CSSSelector::extractPseudoType): 16241 * css/CSSSelector.h: 16242 (WebCore::CSSSelector::): 16243 * css/tokenizer.flex: 16244 16245 2010-04-27 Adam Barth <abarth (a] webkit.org> 16246 16247 Reviewed by Eric Seidel. 16248 16249 Remove custom bindings for TreeWalker 16250 https://bugs.webkit.org/show_bug.cgi?id=38182 16251 16252 This custom code is just CallWith=ScriptState. 16253 16254 * WebCore.gypi: 16255 * bindings/js/JSTreeWalkerCustom.cpp: 16256 (WebCore::JSTreeWalker::markChildren): 16257 * bindings/scripts/CodeGeneratorJS.pm: 16258 * bindings/scripts/CodeGeneratorV8.pm: 16259 * bindings/scripts/test/TestObj.idl: 16260 * bindings/v8/custom/V8TreeWalkerCustom.cpp: Removed. 16261 * dom/TreeWalker.idl: 16262 16263 2010-04-27 Eric Seidel <eric (a] webkit.org> 16264 16265 Reviewed by Adam Barth. 16266 16267 Move code out of GenerateImplementation to make it more smaller 16268 https://bugs.webkit.org/show_bug.cgi?id=38176 16269 16270 * bindings/scripts/CodeGeneratorJS.pm: 16271 - Move some code into a new GenerateAttributesHashTable method. 16272 16273 2010-04-26 Adam Barth <abarth (a] webkit.org> 16274 16275 Reviewed by Eric Seidel. 16276 16277 Add CallWith=DynamicFrame to CodeGenerator 16278 https://bugs.webkit.org/show_bug.cgi?id=38174 16279 16280 I've only used this in one instance, but this is infrastructure that I 16281 think will help remove a bunch of custom bindings code. Also, added a 16282 few tests of tricky argument cases. 16283 16284 * bindings/js/JSHTMLFormElementCustom.cpp: 16285 * bindings/scripts/CodeGeneratorJS.pm: 16286 * bindings/scripts/CodeGeneratorV8.pm: 16287 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 16288 (webkit_dom_test_obj_with_dynamic_frame): 16289 (webkit_dom_test_obj_with_dynamic_frame_and_arg): 16290 (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg): 16291 (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture): 16292 (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad): 16293 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 16294 * bindings/scripts/test/JS/JSTestObj.cpp: 16295 (WebCore::): 16296 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame): 16297 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): 16298 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): 16299 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): 16300 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): 16301 * bindings/scripts/test/JS/JSTestObj.h: 16302 * bindings/scripts/test/ObjC/DOMTestObj.h: 16303 * bindings/scripts/test/ObjC/DOMTestObj.mm: 16304 (-[DOMTestObj withDynamicFrame]): 16305 (-[DOMTestObj withDynamicFrameAndArg:]): 16306 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]): 16307 (-[DOMTestObj withDynamicFrameAndUserGesture:]): 16308 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]): 16309 * bindings/scripts/test/TestObj.idl: 16310 * bindings/scripts/test/V8/V8TestObj.cpp: 16311 (WebCore::TestObjInternal::withDynamicFrameCallback): 16312 (WebCore::TestObjInternal::withDynamicFrameAndArgCallback): 16313 (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): 16314 (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): 16315 (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): 16316 (WebCore::): 16317 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 16318 * html/HTMLFormElement.idl: 16319 16320 2010-04-26 Adam Barth <abarth (a] webkit.org> 16321 16322 Unreviewed. Update comment to better reflect reality. 16323 16324 * bindings/scripts/test/TestObj.idl: 16325 16326 2010-04-26 Adam Barth <abarth (a] webkit.org> 16327 16328 Reviewed by Eric Seidel. 16329 16330 Add ObjC and GObject to run-bindings-test 16331 https://bugs.webkit.org/show_bug.cgi?id=38168 16332 16333 Added expected results. 16334 16335 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added. 16336 (WebKit::kit): 16337 (webkit_dom_test_obj_void_method): 16338 (webkit_dom_test_obj_void_method_with_args): 16339 (webkit_dom_test_obj_int_method): 16340 (webkit_dom_test_obj_int_method_with_args): 16341 (webkit_dom_test_obj_obj_method): 16342 (webkit_dom_test_obj_obj_method_with_args): 16343 (webkit_dom_test_obj_method_with_exception): 16344 (webkit_dom_test_obj_method_with_optional_arg): 16345 (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg): 16346 (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args): 16347 (webkit_dom_test_obj_get_read_only_int_attr): 16348 (webkit_dom_test_obj_get_read_only_string_attr): 16349 (webkit_dom_test_obj_get_read_only_test_obj_attr): 16350 (webkit_dom_test_obj_get_int_attr): 16351 (webkit_dom_test_obj_set_int_attr): 16352 (webkit_dom_test_obj_get_string_attr): 16353 (webkit_dom_test_obj_set_string_attr): 16354 (webkit_dom_test_obj_get_test_obj_attr): 16355 (webkit_dom_test_obj_set_test_obj_attr): 16356 (webkit_dom_test_obj_get_attr_with_exception): 16357 (webkit_dom_test_obj_set_attr_with_exception): 16358 (webkit_dom_test_obj_get_attr_with_setter_exception): 16359 (webkit_dom_test_obj_set_attr_with_setter_exception): 16360 (webkit_dom_test_obj_get_attr_with_getter_exception): 16361 (webkit_dom_test_obj_set_attr_with_getter_exception): 16362 (WebKit::wrapTestObj): 16363 (WebKit::core): 16364 (webkit_dom_test_obj_finalize): 16365 (webkit_dom_test_obj_set_property): 16366 (webkit_dom_test_obj_get_property): 16367 (webkit_dom_test_obj_class_init): 16368 (webkit_dom_test_obj_init): 16369 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Added. 16370 * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h: Added. 16371 * bindings/scripts/test/ObjC/DOMTestObj.h: Added. 16372 * bindings/scripts/test/ObjC/DOMTestObj.mm: Added. 16373 (-[DOMTestObj dealloc]): 16374 (-[DOMTestObj finalize]): 16375 (-[DOMTestObj readOnlyIntAttr]): 16376 (-[DOMTestObj readOnlyStringAttr]): 16377 (-[DOMTestObj readOnlyTestObjAttr]): 16378 (-[DOMTestObj intAttr]): 16379 (-[DOMTestObj setIntAttr:]): 16380 (-[DOMTestObj stringAttr]): 16381 (-[DOMTestObj setStringAttr:]): 16382 (-[DOMTestObj testObjAttr]): 16383 (-[DOMTestObj setTestObjAttr:]): 16384 (-[DOMTestObj attrWithException]): 16385 (-[DOMTestObj setAttrWithException:]): 16386 (-[DOMTestObj attrWithSetterException]): 16387 (-[DOMTestObj setAttrWithSetterException:]): 16388 (-[DOMTestObj attrWithGetterException]): 16389 (-[DOMTestObj setAttrWithGetterException:]): 16390 (-[DOMTestObj customAttr]): 16391 (-[DOMTestObj setCustomAttr:]): 16392 (-[DOMTestObj voidMethod]): 16393 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]): 16394 (-[DOMTestObj intMethod]): 16395 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]): 16396 (-[DOMTestObj objMethod]): 16397 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]): 16398 (-[DOMTestObj methodWithException]): 16399 (-[DOMTestObj customMethod]): 16400 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]): 16401 (-[DOMTestObj methodWithOptionalArg:]): 16402 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]): 16403 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]): 16404 (core): 16405 (kit): 16406 * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added. 16407 16408 2010-04-26 Adam Barth <abarth (a] webkit.org> 16409 16410 Reviewed by Eric Seidel. 16411 16412 Add testing infrastructure for JSC bindings generator 16413 https://bugs.webkit.org/show_bug.cgi?id=38167 16414 16415 This required moving the test files around a bit more. 16416 16417 * bindings/scripts/test/JS/JSTestObj.cpp: Added. 16418 (WebCore::): 16419 (WebCore::JSTestObjConstructor::JSTestObjConstructor): 16420 (WebCore::JSTestObjConstructor::classInfo): 16421 (WebCore::JSTestObjConstructor::createStructure): 16422 (WebCore::JSTestObjConstructor::getOwnPropertySlot): 16423 (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor): 16424 (WebCore::JSTestObjPrototype::self): 16425 (WebCore::JSTestObjPrototype::getOwnPropertySlot): 16426 (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor): 16427 (WebCore::JSTestObj::JSTestObj): 16428 (WebCore::JSTestObj::~JSTestObj): 16429 (WebCore::JSTestObj::createPrototype): 16430 (WebCore::JSTestObj::getOwnPropertySlot): 16431 (WebCore::JSTestObj::getOwnPropertyDescriptor): 16432 (WebCore::jsTestObjReadOnlyIntAttr): 16433 (WebCore::jsTestObjReadOnlyStringAttr): 16434 (WebCore::jsTestObjReadOnlyTestObjAttr): 16435 (WebCore::jsTestObjIntAttr): 16436 (WebCore::jsTestObjStringAttr): 16437 (WebCore::jsTestObjTestObjAttr): 16438 (WebCore::jsTestObjAttrWithException): 16439 (WebCore::jsTestObjAttrWithSetterException): 16440 (WebCore::jsTestObjAttrWithGetterException): 16441 (WebCore::jsTestObjCustomAttr): 16442 (WebCore::jsTestObjConstructor): 16443 (WebCore::JSTestObj::put): 16444 (WebCore::setJSTestObjIntAttr): 16445 (WebCore::setJSTestObjStringAttr): 16446 (WebCore::setJSTestObjTestObjAttr): 16447 (WebCore::setJSTestObjAttrWithException): 16448 (WebCore::setJSTestObjAttrWithSetterException): 16449 (WebCore::setJSTestObjAttrWithGetterException): 16450 (WebCore::setJSTestObjCustomAttr): 16451 (WebCore::JSTestObj::getConstructor): 16452 (WebCore::jsTestObjPrototypeFunctionVoidMethod): 16453 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): 16454 (WebCore::jsTestObjPrototypeFunctionIntMethod): 16455 (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): 16456 (WebCore::jsTestObjPrototypeFunctionObjMethod): 16457 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): 16458 (WebCore::jsTestObjPrototypeFunctionMethodWithException): 16459 (WebCore::jsTestObjPrototypeFunctionCustomMethod): 16460 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): 16461 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): 16462 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): 16463 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): 16464 (WebCore::toJS): 16465 (WebCore::toTestObj): 16466 * bindings/scripts/test/JS/JSTestObj.h: Added. 16467 (WebCore::JSTestObj::classInfo): 16468 (WebCore::JSTestObj::createStructure): 16469 (WebCore::JSTestObj::impl): 16470 (WebCore::JSTestObjPrototype::classInfo): 16471 (WebCore::JSTestObjPrototype::createStructure): 16472 (WebCore::JSTestObjPrototype::JSTestObjPrototype): 16473 * bindings/scripts/test/TestObj.idl: 16474 * bindings/scripts/test/V8/V8TestObj.cpp: Renamed from WebCore/bindings/scripts/test/V8TestObj.cpp. 16475 (WebCore::): 16476 (WebCore::TestObjInternal::V8_USE): 16477 (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter): 16478 (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter): 16479 (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): 16480 (WebCore::TestObjInternal::intAttrAttrGetter): 16481 (WebCore::TestObjInternal::intAttrAttrSetter): 16482 (WebCore::TestObjInternal::stringAttrAttrGetter): 16483 (WebCore::TestObjInternal::stringAttrAttrSetter): 16484 (WebCore::TestObjInternal::testObjAttrAttrGetter): 16485 (WebCore::TestObjInternal::testObjAttrAttrSetter): 16486 (WebCore::TestObjInternal::attrWithExceptionAttrGetter): 16487 (WebCore::TestObjInternal::attrWithExceptionAttrSetter): 16488 (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter): 16489 (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter): 16490 (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter): 16491 (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter): 16492 (WebCore::TestObjInternal::voidMethodCallback): 16493 (WebCore::TestObjInternal::voidMethodWithArgsCallback): 16494 (WebCore::TestObjInternal::intMethodCallback): 16495 (WebCore::TestObjInternal::intMethodWithArgsCallback): 16496 (WebCore::TestObjInternal::objMethodCallback): 16497 (WebCore::TestObjInternal::objMethodWithArgsCallback): 16498 (WebCore::TestObjInternal::methodWithExceptionCallback): 16499 (WebCore::TestObjInternal::methodWithOptionalArgCallback): 16500 (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): 16501 (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): 16502 (WebCore::TestObjInternal::overloadedMethod1Callback): 16503 (WebCore::TestObjInternal::overloadedMethod2Callback): 16504 (WebCore::TestObjInternal::overloadedMethod3Callback): 16505 (WebCore::TestObjInternal::overloadedMethod4Callback): 16506 (WebCore::TestObjInternal::overloadedMethodCallback): 16507 (WebCore::ConfigureV8TestObjTemplate): 16508 (WebCore::V8TestObj::GetRawTemplate): 16509 (WebCore::V8TestObj::GetTemplate): 16510 (WebCore::V8TestObj::toNative): 16511 (WebCore::V8TestObj::HasInstance): 16512 (WebCore::V8TestObj::wrap): 16513 (WebCore::toV8): 16514 (WebCore::V8TestObj::derefObject): 16515 * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h. 16516 16517 2010-04-26 Oliver Hunt <oliver (a] apple.com> 16518 16519 Reviewed by Gavin Barraclough. 16520 16521 Need to support more efficient dispatch of lightweight builtins 16522 https://bugs.webkit.org/show_bug.cgi?id=38155 16523 16524 Update bindings generation to include new thunk generator field 16525 in the property map hash tables. 16526 16527 * bindings/scripts/CodeGeneratorJS.pm: 16528 16529 2010-04-26 Adam Barth <abarth (a] webkit.org> 16530 16531 Reviewed by Eric Seidel. 16532 16533 Move bindings test directory into the scripts directory 16534 https://bugs.webkit.org/show_bug.cgi?id=38161 16535 16536 This test is really of the bindings scripts not of the bindings 16537 themselves. By moving the files into the scripts directory, we'll be 16538 able to test JSC as well. 16539 16540 * bindings/scripts/test/TestObj.idl: Renamed from WebCore/bindings/v8/test/TestObj.idl. 16541 * bindings/scripts/test/V8TestObj.cpp: Renamed from WebCore/bindings/v8/test/V8TestObj.cpp. 16542 (WebCore::): 16543 (WebCore::TestObjInternal::V8_USE): 16544 (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter): 16545 (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter): 16546 (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): 16547 (WebCore::TestObjInternal::intAttrAttrGetter): 16548 (WebCore::TestObjInternal::intAttrAttrSetter): 16549 (WebCore::TestObjInternal::stringAttrAttrGetter): 16550 (WebCore::TestObjInternal::stringAttrAttrSetter): 16551 (WebCore::TestObjInternal::testObjAttrAttrGetter): 16552 (WebCore::TestObjInternal::testObjAttrAttrSetter): 16553 (WebCore::TestObjInternal::attrWithExceptionAttrGetter): 16554 (WebCore::TestObjInternal::attrWithExceptionAttrSetter): 16555 (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter): 16556 (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter): 16557 (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter): 16558 (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter): 16559 (WebCore::TestObjInternal::voidMethodCallback): 16560 (WebCore::TestObjInternal::voidMethodWithArgsCallback): 16561 (WebCore::TestObjInternal::intMethodCallback): 16562 (WebCore::TestObjInternal::intMethodWithArgsCallback): 16563 (WebCore::TestObjInternal::objMethodCallback): 16564 (WebCore::TestObjInternal::objMethodWithArgsCallback): 16565 (WebCore::TestObjInternal::methodWithExceptionCallback): 16566 (WebCore::TestObjInternal::methodWithOptionalArgCallback): 16567 (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): 16568 (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): 16569 (WebCore::TestObjInternal::overloadedMethod1Callback): 16570 (WebCore::TestObjInternal::overloadedMethod2Callback): 16571 (WebCore::TestObjInternal::overloadedMethod3Callback): 16572 (WebCore::TestObjInternal::overloadedMethod4Callback): 16573 (WebCore::TestObjInternal::overloadedMethodCallback): 16574 (WebCore::ConfigureV8TestObjTemplate): 16575 (WebCore::V8TestObj::GetRawTemplate): 16576 (WebCore::V8TestObj::GetTemplate): 16577 (WebCore::V8TestObj::toNative): 16578 (WebCore::V8TestObj::HasInstance): 16579 (WebCore::V8TestObj::wrap): 16580 (WebCore::toV8): 16581 (WebCore::V8TestObj::derefObject): 16582 * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h. 16583 16584 2010-04-26 Daniel Cheng <dcheng (a] chromium.org> 16585 16586 Reviewed by Jian Li. 16587 16588 [chromium] Fix ChromiumDataObject::setURL to not populate its internal URL list with empty URLs. 16589 https://bugs.webkit.org/show_bug.cgi?id=38159 16590 16591 No new tests. 16592 16593 * platform/chromium/ChromiumDataObject.h: 16594 (WebCore::ChromiumDataObject::setURL): 16595 16596 2010-04-26 Daniel Cheng <dcheng (a] chromium.org> 16597 16598 Reviewed by Jian Li. 16599 16600 [Chromium] Don't make file paths available in text/uri-list when dragging files. 16601 https://bugs.webkit.org/show_bug.cgi?id=25882 16602 16603 Test will be checked in with WebCore/platform/mac fix. 16604 16605 * platform/chromium/ClipboardChromium.cpp: 16606 (WebCore::ClipboardChromium::getData): 16607 (WebCore::ClipboardChromium::types): 16608 16609 2010-04-26 Maciej Stachowiak <mjs (a] apple.com> 16610 16611 Reviewed by Darin Adler. 16612 16613 REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix 16614 https://bugs.webkit.org/show_bug.cgi?id=38131 16615 16616 I did a number of separate optimizations which speed up style 16617 resolution enough to more than make up for the regression. This 16618 measures as a total PLT speedup of somewhere between 1.5% and 16619 3.7%. 16620 16621 Optimizations done: 16622 - Cache determineLinkState results, to avoid the need to repeatedly compute 16623 the visited link hash for the same element. This directly addresses much 16624 of the slowdown, since all elements get their style computed twice now. 16625 - Added a fast way to get the length of a CSSMutableStyleDeclaration, and use 16626 in CSSStyleSelector::matchRulesForList, since it was hot there. 16627 - Hoist some loop invariant code that's not detected by the compiler out of the 16628 main loop in matchRulesForList 16629 - inline CSSStyleSelector::initElement and locateSharedStyle, 16630 since there is only one call site in each case 16631 - Inline the common non-line fast case of determineLinkState, and split the rest into 16632 out-of-line determineLinkStateSlowCase. 16633 - Added inline versions of the functions called by 16634 visitedLinkHash (the version called by determineLinkState). 16635 16636 * css/CSSMutableStyleDeclaration.cpp: 16637 (WebCore::CSSMutableStyleDeclaration::length): Implemented in terms of new 16638 inline nonvirtual mutableLength(). 16639 * css/CSSMutableStyleDeclaration.h: 16640 (WebCore::CSSMutableStyleDeclaration::mutableLength): Added new nonvirtual 16641 inline way to get the length if you know you have a mutable style decl. 16642 * css/CSSStyleSelector.cpp: 16643 (WebCore::CSSStyleSelector::init): Clear cached link state. 16644 (WebCore::CSSStyleSelector::matchRulesForList): hoist some code out of the main 16645 loop and get style decl length more efficiently. 16646 (WebCore::CSSStyleSelector::initElement): inline (only one call site) 16647 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): Inline fast 16648 case, call slow case. 16649 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Split 16650 most of the above function into this slow case helper. 16651 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the cache-enabled 16652 way to get the current link state. 16653 (WebCore::CSSStyleSelector::locateSharedStyle): inline 16654 (WebCore::CSSStyleSelector::styleForElement): Use the cache-enabled way 16655 to get the current link state. 16656 * css/CSSStyleSelector.h: 16657 (WebCore::CSSStyleSelector::currentElementLinkState): inline way to 16658 get link state for the current element; manages the cache 16659 * platform/LinkHash.cpp: 16660 (WebCore::visitedLinkHashInline): inline version of below function 16661 (WebCore::visitedLinkHash): call the inline version 16662 (WebCore::visitedURLInline): inline version of below function 16663 (WebCore::visitedURL): call the inline version 16664 (WebCore::visitedURL): call inline versions of above two functions 16665 16666 2010-04-26 Sam Weinig <sam (a] webkit.org> 16667 16668 Reviewed by Alexey Proskuryakov. 16669 16670 Remove last use of WEB_THREAD. 16671 16672 * platform/mac/WebCoreObjCExtras.mm: 16673 (WebCoreObjCScheduleDeallocateOnMainThread): This can always use 16674 isMainThread(). 16675 16676 2010-04-26 Dumitru Daniliuc <dumi (a] chromium.org> 16677 16678 Reviewed by Dimitri Glazkov. 16679 16680 Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases, and 16681 vacuum all databases when the number of free pages is at least 10% 16682 of the number of total pages. Also, adding a guard against a bug 16683 that was fixed in SQLite only starting with version 3.6.16. 16684 16685 https://bugs.webkit.org/show_bug.cgi?id=36251 16686 16687 * platform/sql/SQLiteDatabase.cpp: 16688 (WebCore::SQLiteDatabase::totalSize): 16689 (WebCore::SQLiteDatabase::runIncrementalVacuumCommand): 16690 (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum): 16691 * platform/sql/SQLiteDatabase.h: 16692 * platform/sql/SQLiteStatement.cpp: 16693 (WebCore::SQLiteStatement::prepare): 16694 * storage/Database.cpp: 16695 (WebCore::Database::performOpenAndVerify): 16696 (WebCore::Database::incrementalVacuumIfNeeded): 16697 * storage/Database.h: 16698 * storage/SQLTransaction.cpp: 16699 (WebCore::SQLTransaction::postflightAndCommit): 16700 16701 2010-04-26 Geoffrey Garen <ggaren (a] apple.com> 16702 16703 Reviewed by Sam Weinig. 16704 16705 <rdar://problem/7766413> 16706 16707 Fixed a crash seen when using the JavaScriptCore API with WebKit. 16708 16709 No layout test because DumpRenderTree doesn't use the JavaScriptCore API 16710 in this way. 16711 16712 * bindings/js/JSEventListener.cpp: 16713 (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr. 16714 JavaScriptCore no longer allows this. 16715 16716 * bindings/js/ScriptWrappable.h: 16717 (WebCore::ScriptWrappable::setWrapper): No need to initialize a WeakGCPtr 16718 to 0, or ASSERT a non-0 value before assigning to a WeakGCPtr -- both are 16719 default behaviors. 16720 16721 2010-04-25 Sam Weinig <sam (a] webkit.org> 16722 16723 Reviewed by Maciej Stachowiak. 16724 16725 Fix for https://bugs.webkit.org/show_bug.cgi?id=38097 16726 Disentangle initializing the main thread from initializing threading 16727 16728 * WebCore.xcodeproj/project.pbxproj: Sort files. 16729 16730 * accessibility/mac/AccessibilityObjectWrapper.mm: Remove unnessary 16731 +initialize method. The AccessibilityObjectWrapper has no data members 16732 that need to be derefed, so it does not need to be finalized on the main 16733 thread. 16734 16735 * bindings/js/ScriptController.cpp: 16736 (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread. 16737 * bindings/objc/WebScriptObject.mm: 16738 (+[WebScriptObject initialize]): Add call to initializeMainThreadToProcessMainThread. 16739 * bindings/v8/ScriptController.cpp: 16740 (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread. 16741 * platform/mac/SharedBufferMac.mm: 16742 (+[WebCoreSharedBufferData initialize]): Add call to initializeMainThreadToProcessMainThread. 16743 16744 2010-04-26 Yongjun Zhang <yongjun_zhang (a] apple.com> 16745 16746 Reviewed by Alexey Proskuryakov. 16747 16748 https://bugs.webkit.org/show_bug.cgi?id=38128 16749 Don't add empty credential to CredentialStorage. 16750 16751 An empty credential is currently regarded as a invalid login because it means a missing value in 16752 protectionSpaceToCredentialMap. This change makes it consistent with current WebCore's behavior 16753 by ignoring empty credentials. 16754 16755 No new tests added since this only affects credential entered by user from credential dialog, 16756 which is not testable in DRT. 16757 16758 * platform/network/mac/ResourceHandleMac.mm: 16759 (WebCore::ResourceHandle::receivedCredential): 16760 16761 2010-04-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16762 16763 Reviewed by Simon Hausmann. 16764 16765 [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately 16766 https://bugs.webkit.org/show_bug.cgi?id=38123 16767 16768 HAVE_STDINT_H, and HAVE_PTHREAD_NP_H no longer needs to be defined 16769 for QtWebKit as JavaScriptCore is built separately. These defines are only 16770 used by JavaScriptCore and for JavaScriptCore these are already 16771 properly defined in JavaScriptCore/config.h. 16772 16773 No new tests, no new functionality. 16774 16775 * WebCore.pro: 16776 16777 2010-04-26 Roman Gershman <romange (a] google.com> 16778 16779 Reviewed by Adam Barth. 16780 16781 [Chromium] Font size in suggestions popup menu should be correlated with the font size of its text field. 16782 The following manual test checks for desired behavior. 16783 16784 https://bugs.webkit.org/show_bug.cgi?id=37977 16785 16786 * manual-tests/chromium/suggestions-popup-font-change.html: Added. 16787 16788 2010-04-26 Luiz Agostini <luiz.agostini (a] openbossa.org> 16789 16790 Reviewed by Kenneth Rohde Christiansen. 16791 16792 View modes names in CSSValueKeywords.in 16793 https://bugs.webkit.org/show_bug.cgi?id=38125 16794 16795 View mode names has changed in previous patch but CSSValueKeywords.in file was 16796 not updated. 16797 16798 * css/CSSValueKeywords.in: 16799 16800 2010-04-26 Simon Hausmann <simon.hausmann (a] nokia.com> 16801 16802 Reviewed by Kenneth Rohde Christiansen. 16803 16804 [Qt] Fix compilation with RVCT 4 16805 https://bugs.webkit.org/show_bug.cgi?id=37727 16806 16807 Swap extern and declspec to fix visibility of symbol imported from QtGui. 16808 16809 * page/qt/EventHandlerQt.cpp: 16810 16811 2010-04-26 Ruben Van Boxem <vanboxem.ruben (a] gmail.com> 16812 16813 Reviewed by Adam Roben. 16814 16815 Fixes for Win64 compilation under gcc (mingw-w64) 16816 16817 * WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298 16818 * WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems 16819 * WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath 16820 * WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath 16821 * WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath 16822 * WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath 16823 * WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64 16824 16825 2010-04-26 Markus Goetz <Markus.Goetz (a] nokia.com> 16826 16827 Reviewed by Simon Hausmann. 16828 16829 [Qt] HTTP pipelining efficiency increase 16830 https://bugs.webkit.org/show_bug.cgi?id=38062 16831 16832 Increase number of network requests that are fed into 16833 QNetworkAccessManager. 16834 16835 * platform/network/qt/ResourceRequestQt.cpp: 16836 (WebCore::initializeMaximumHTTPConnectionCountPerHost): 16837 16838 2010-04-26 Ilya Tikhonovsky <loislo (a] chromium.org> 16839 16840 Reviewed by Yury Semikhatsky. 16841 16842 Web Inspector: undefined shows up on inspector. 16843 https://bugs.webkit.org/show_bug.cgi?id=38120 16844 16845 * inspector/front-end/ScriptsPanel.js: 16846 (WebInspector.ScriptsPanel.prototype.hide): 16847 * inspector/front-end/SourceFrame.js: 16848 (WebInspector.SourceFrame.prototype.set visible): 16849 16850 2010-04-26 Bruno Schmidt <bruno.schmidt (a] gmail.com> 16851 16852 Reviewed by Kenneth Rohde Christiansen. 16853 16854 [Qt] Exposing an QVariantMap containing QObjectStar to Javascript 16855 causes Segmentation Fault 16856 https://bugs.webkit.org/show_bug.cgi?id=34729 16857 16858 If an QVariantMap containing QObjectStar is added to the to QtWebkit 16859 Javascript, it's use causes Segmentation Fault. 16860 It happens because, in the case QMetaType::QVariantMap, the "root" 16861 object that is inside of a PassRefPtr is passed recursively inside a 16862 loop to recover the content of the map, but the PassRefPtr semantics 16863 prohibit its use inside a loop, so the "root" object mus be passed 16864 using the method "PassRefPtr::get" in order to keep the current 16865 reference. 16866 16867 * bridge/qt/qt_runtime.cpp: 16868 (JSC::Bindings::convertValueToQVariant): 16869 (JSC::Bindings::convertQVariantToValue): change to root.get() 16870 16871 2010-04-26 Pavel Feldman <pfeldman (a] chromium.org> 16872 16873 Reviewed by Yury Semikhatsky. 16874 16875 Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo". 16876 16877 https://bugs.webkit.org/show_bug.cgi?id=38107 16878 16879 * inspector/front-end/SummaryBar.js: 16880 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill): 16881 (WebInspector.SummaryBar.prototype._drawSummaryGraph): 16882 16883 2010-04-26 Andreas Kling <andreas.kling (a] nokia.com> 16884 16885 Reviewed by Tor Arne Vestb. 16886 16887 [Qt] Fix compilation against Qt 4.7 16888 16889 Some QtMultimedia things have been moved into QtMediaServices 16890 https://bugs.webkit.org/show_bug.cgi?id=38111 16891 16892 * WebCore.pro: 16893 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 16894 (WebCore::MediaPlayerPrivate::supportsType): 16895 (WebCore::MediaPlayerPrivate::totalBytes): 16896 16897 2010-04-26 Zoltan Herczeg <zherczeg (a] webkit.org> 16898 16899 Reviewed by Dirk Schulze. 16900 16901 Call setStrokeStyle in applyStrokeStyleToContext 16902 https://bugs.webkit.org/show_bug.cgi?id=37849 16903 16904 Not all platforms set the stroke style to solid if they 16905 get an empty line dash array. Some just ignore the operation. 16906 16907 * rendering/SVGRenderSupport.cpp: 16908 (WebCore::applyStrokeStyleToContext): 16909 16910 2010-04-23 Ilya Tikhonovsky <loislo (a] chromium.org> 16911 16912 Reviewed by Pavel Feldman. 16913 16914 WebInspector: Aggregated stats of time spent in children records should be visible 16915 in the popup panel of parent record. Crash in pushGCEventRecord also was fixed. 16916 https://bugs.webkit.org/show_bug.cgi?id=37820 16917 16918 * English.lproj/localizedStrings.js: 16919 * inspector/InspectorTimelineAgent.cpp: 16920 (WebCore::InspectorTimelineAgent::pushGCEventRecords): 16921 * inspector/front-end/TimelinePanel.js: 16922 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 16923 (WebInspector.TimelinePanel.prototype._createRootRecord): 16924 (WebInspector.TimelinePanel.prototype._showPopover): 16925 (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): 16926 (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition): 16927 (WebInspector.TimelineRecordGraphRow): 16928 (WebInspector.TimelineRecordGraphRow.prototype.update): 16929 (WebInspector.TimelinePanel.FormattedRecord): 16930 (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo): 16931 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 16932 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 16933 (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats): 16934 * inspector/front-end/inspector.css: 16935 (.timeline-graph-bar.with-children): 16936 (.timeline-graph-bar.cpu): 16937 (.timeline-aggregated-category): 16938 (.timeline-loading): 16939 (.timeline-scripting): 16940 (.timeline-rendering): 16941 (.popover .timeline-aggregated-category.timeline-loading): 16942 (.timeline-details-title): 16943 16944 2010-04-25 Kent Tamura <tkent (a] chromium.org> 16945 16946 Reviewed by Darin Adler. 16947 16948 WebKit crashes with deeply nested divs 16949 https://bugs.webkit.org/show_bug.cgi?id=18282 16950 16951 The HTML parser caps a tree depth by MAX_DOM_TREE_DEPTH defined in 16952 TreeDepthLimit.h. This is performance-efficient, but does not work for 16953 DOM operations such as Node.appendChild(). 16954 16955 Test: fast/parser/element-nesting-cap.html 16956 16957 * dom/Node.h: 16958 * dom/XMLTokenizer.cpp: 16959 (WebCore::XMLTokenizer::pushCurrentNode): 16960 * html/HTMLParser.cpp: 16961 16962 * GNUmakefile.am: 16963 * WebCore.gypi: 16964 * WebCore.pro: 16965 * WebCore.vcproj/WebCore.vcproj: 16966 * WebCore.xcodeproj/project.pbxproj: 16967 * dom/TreeDepthLimit.h: 16968 Added. Define MAX_DOM_TREE_DEPTH. The default value is 5000. 16969 * dom/XMLTokenizer.cpp: Use maxDOMTreeDepth. 16970 (WebCore::XMLTokenizer::pushCurrentNode): 16971 * html/HTMLParser.cpp: 16972 Introduce m_treeDepth, which counts the depth of the tree. 16973 Unlike m_blocksInStack, it contains the number of non-block nodes. 16974 (WebCore::HTMLParser::HTMLParser): 16975 (WebCore::HTMLParser::reset): 16976 (WebCore::HTMLParser::limitDepth): 16977 Renamed from limitBlockDepth. Add check for m_nodeDepth. 16978 (WebCore::HTMLParser::insertNodeAfterLimitDepth): 16979 Renamed from insertNodeAfterLimitBlockDepth. 16980 (WebCore::HTMLParser::parseToken): 16981 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): 16982 (WebCore::HTMLParser::pushBlock): 16983 (WebCore::HTMLParser::popOneBlockCommon): 16984 (WebCore::HTMLParser::freeBlock): 16985 * html/HTMLParser.h: 16986 16987 2010-04-25 Andrey Kosyakov <caseq (a] chromium.org> 16988 16989 Reviewed by Adam Barth. 16990 16991 Get context properly when event handler was created on 16992 the main world. 16993 https://bugs.webkit.org/show_bug.cgi?id=37947 16994 16995 Test: http/tests/security/isolatedWorld/dispatchEvent.html 16996 16997 * bindings/v8/WorldContextHandle.cpp: 16998 (WebCore::WorldContextHandle::adjustedContext): 16999 17000 2010-04-25 yael aharon <yael.aharon (a] nokia.com> 17001 17002 Reviewed by Adele Peterson. 17003 17004 Allow styling of HTMLProgressElement. 17005 https://bugs.webkit.org/show_bug.cgi?id=37901 17006 17007 Added a new pseudo element to represent the value portion of the progress element. 17008 Web developers can style this pseudo element separate from the rest of the progress element. 17009 17010 Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html 17011 17012 * css/CSSPrimitiveValueMappings.h: 17013 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 17014 * css/CSSSelector.cpp: 17015 (WebCore::CSSSelector::pseudoId): 17016 (WebCore::nameToPseudoTypeMap): 17017 (WebCore::CSSSelector::extractPseudoType): 17018 * css/CSSSelector.h: 17019 * css/CSSValueKeywords.in: 17020 * platform/ThemeTypes.h: 17021 * rendering/RenderProgress.cpp: 17022 (WebCore::ProgressValueElement::isShadowNode): 17023 (WebCore::ProgressValueElement::shadowParentNode): 17024 (WebCore::ProgressValueElement::ProgressValueElement): 17025 (WebCore::RenderProgress::RenderProgress): 17026 (WebCore::RenderProgress::~RenderProgress): 17027 (WebCore::RenderProgress::layout): 17028 (WebCore::RenderProgress::styleDidChange): 17029 (WebCore::RenderProgress::updateFromElement): 17030 (WebCore::RenderProgress::updateValuePartState): 17031 (WebCore::RenderProgress::createStyleForValuePart): 17032 (WebCore::RenderProgress::updateAnimationState): 17033 * rendering/RenderTheme.cpp: 17034 (WebCore::RenderTheme::isControlStyled): 17035 * rendering/RenderProgress.h: 17036 * rendering/style/RenderStyleConstants.h: 17037 17038 2010-04-24 Simon Fraser <simon.fraser (a] apple.com> 17039 17040 Reviewed by Dan Bernstein. 17041 17042 Don't propagate compositing out of iframes on Mac 17043 https://bugs.webkit.org/show_bug.cgi?id=38072 17044 17045 Propagating compositing out of iframes caused too many regressions on Mac, 17046 so only do it for other platforms that may need to hook compositing layers 17047 together across iframe boundaries. 17048 17049 * rendering/RenderLayerCompositor.cpp: 17050 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): 17051 17052 2010-04-24 Anton Muhin <antonm (a] chromium.org> 17053 17054 Reviewed by Darin Adler. 17055 17056 Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue 17057 17058 Former implementation attempted to use AtomicString(HashTableDeletedValue) 17059 however those values cannot be used that way: one cannot construct 17060 QualifiedNameImpl out of such AtomicString as we'll try to lookup this string 17061 in the table, for example. 17062 https://bugs.webkit.org/show_bug.cgi?id=37722 17063 17064 * dom/QualifiedName.cpp: 17065 (WebCore::QualifiedName::deref): check that hash table deleted values never derefed 17066 * dom/QualifiedName.h: 17067 (WebCore::QualifiedName::QualifiedName): add a constructor to create hash table deleted values 17068 (WebCore::QualifiedName::isHashTableDeletedValue): add a check if given instance is hash table deleted value 17069 (WTF::): 17070 17071 2010-04-24 Julien Chaffraix <jchaffraix (a] webkit.org> 17072 17073 Reviewed by Alexey Proskuryakov. 17074 17075 protocolHostAndPortEquals host check makes a wrong assumption 17076 https://bugs.webkit.org/show_bug.cgi?id=37777 17077 17078 The host check assumed that both host started at the same position. This is true 17079 if both URL are the same but sometimes one has credential and the other does not. 17080 In this case, the method would compare invalid positions. 17081 17082 Test: http/tests/appcache/credential-url.html 17083 17084 * platform/KURL.cpp: 17085 (WebCore::protocolHostAndPortAreEqual): 17086 * platform/KURLGoogle.cpp: 17087 (WebCore::protocolHostAndPortAreEqual): 17088 Fix the host check to take both URL's credential into account. 17089 17090 2010-04-24 Nikolas Zimmermann <nzimmermann (a] rim.com> 17091 17092 Not reviewed. Fix linkage on several bots (no idea, why it worked in a from-scratch rebuild on Leopard on my machine!) -> include NodeRenderStyle.h 17093 Having to include NodeRenderStyle.h just to pull in the renderStyle() is a crazy concept, but I see what it tries to avoid (including RenderObject.h in Node.h) 17094 17095 * rendering/SVGRenderSupport.cpp: 17096 17097 2010-04-24 Nikolas Zimmermann <nzimmermann (a] rim.com> 17098 17099 Not reviewed. Fix release builds, wrap resourceMode assertion in NDEBUG blocks, use UNUSED_PARAM() otherwhise. 17100 17101 * rendering/RenderSVGResourceClipper.cpp: 17102 (WebCore::RenderSVGResourceClipper::applyResource): 17103 * rendering/RenderSVGResourceFilter.cpp: 17104 (WebCore::RenderSVGResourceFilter::applyResource): 17105 (WebCore::RenderSVGResourceFilter::postApplyResource): 17106 * rendering/RenderSVGResourceMasker.cpp: 17107 (WebCore::RenderSVGResourceMasker::applyResource): 17108 17109 2010-04-24 Nikolas Zimmermann <nzimmermann (a] rim.com> 17110 17111 Reviewed by Dirk Schulze. 17112 17113 SVGPaintServer needs to be converted to the new RenderSVGResource* system 17114 https://bugs.webkit.org/show_bug.cgi?id=37986 17115 17116 Huge speedup for SVG painting using paint servers (gradient/patterns). Cache underlying 17117 WebCore::Gradient/Pattern datastructures, do not rebuild them on every painting. This marks 17118 the finish of the SVGResource -> RenderSVGResource transition. 17119 17120 Outline of same key changes: 17121 - RenderSVGResource is an abstract base class now, and the previous class is now named RenderSVGResourceContainer 17122 All resources except RenderSVGResourceSolidColor now inherit from RenderSVGResourceContainer, as they are all 17123 associated with a SVG*Element class. RenderSVGResourceSolidColor inherits from RenderSVGResource, and is not 17124 associated with any SVG*Element class. RenderSVGResourceSolidColor is not a render tree object, despite its name. 17125 The reason for that is consistency with all other painting resources. 17126 - RenderSVGResourceSolidColor does not live in the render tree, and exists only as static object, which is shared 17127 and always used when filling/stroking with solid colors - just like the old SVGPaintServerSolid. 17128 - RenderSVGResourceGradient/RenderSVGResourcePattern now store the underlying WebCore::Gradient/Pattern object 17129 instead of rebuilding it everytime we're asked to paint -> this is the main difference with the old concept, leading 17130 to much faster speed. 17131 - SVGResource has vanished. All resources (clipper/filter/marker/masker/gradient/pattern) now share the same codepaths 17132 to handle updates and client invalidation - which is a huge benefit, and makes the code easier to understand. 17133 17134 * Android.mk: Remove svg/graphics/SVGResource*, svg/graphics/SVGPaintServer.h from build. 17135 * GNUmakefile.am: Ditto. 17136 * WebCore.gypi: Ditto. 17137 * WebCore.pro: Ditto. 17138 * WebCore.vcproj/WebCore.vcproj: Ditto. 17139 * WebCore.xcodeproj/project.pbxproj: Ditto. 17140 * platform/graphics/Gradient.cpp: Add addColorStop() method taking a ColorStop const-reference. 17141 (WebCore::Gradient::addColorStop): 17142 * platform/graphics/Gradient.h: Ditto. 17143 * platform/graphics/TextRun.h: Rename SVGPaintServer to RenderSVGResource 17144 (WebCore::TextRun::TextRun): 17145 (WebCore::TextRun::activePaintingResource): Renamed from activePaintServer. 17146 (WebCore::TextRun::setActivePaintingResource): Renamed from setActivePaintServer. 17147 * platform/graphics/win/GraphicsContextWin.cpp: Remove references to SVGResourceImage, which was removed a long time ago. 17148 * rendering/RenderObject.cpp: 17149 (WebCore::RenderObject::toRenderSVGResourceContainer): Renamed from toRenderSVGResource(). 17150 * rendering/RenderObject.h: 17151 (WebCore::RenderObject::isSVGGradientStop): Added. 17152 (WebCore::RenderObject::isSVGResourceContainer): Renamed from isSVGResource(). 17153 * rendering/RenderPath.cpp: Utilize RenderSVGResource::fill/strokePaintingResource to request paint servers, instead of SVGPaintServer. 17154 (WebCore::RenderPath::fillContains): Adapt to new concept. 17155 (WebCore::RenderPath::strokeContains): Ditto. 17156 (WebCore::fillAndStrokePath): Ditto. 17157 (WebCore::RenderPath::paint): Ditto. 17158 * rendering/RenderSVGGradientStop.cpp: 17159 (WebCore::RenderSVGGradientStop::styleDidChange): Ditto. 17160 * rendering/RenderSVGGradientStop.h: Fixed indention. 17161 * rendering/RenderSVGResource.cpp: Refactored old SVGPaintServer code to request fill/stroke painting resources, splitted up in several methods to aid readability. 17162 (WebCore::registerPendingResource): 17163 (WebCore::adjustColorForPseudoRules): 17164 (WebCore::RenderSVGResource::fillPaintingResource): 17165 (WebCore::RenderSVGResource::strokePaintingResource): 17166 (WebCore::RenderSVGResource::sharedSolidPaintingResource): 17167 (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): 17168 * rendering/RenderSVGResource.h: Make RenderSVGResource an abstract base class, see above for the reasoning. 17169 (WebCore::RenderSVGResource::RenderSVGResource): 17170 (WebCore::RenderSVGResource::~RenderSVGResource): 17171 (WebCore::RenderSVGResource::postApplyResource): 17172 * rendering/RenderSVGResourceClipper.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource. 17173 (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): 17174 (WebCore::RenderSVGResourceClipper::invalidateClient): 17175 (WebCore::RenderSVGResourceClipper::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters) 17176 (WebCore::RenderSVGResourceClipper::applyClippingToContext): 17177 * rendering/RenderSVGResourceClipper.h: 17178 * rendering/RenderSVGResourceContainer.h: Added. Renamed from RenderSVGResource. Now inherits from RenderSVGHiddenContainer and RenderSVGResource. 17179 (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): 17180 (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): 17181 (WebCore::RenderSVGResourceContainer::idChanged): 17182 (WebCore::RenderSVGResourceContainer::isSVGResourceContainer): 17183 (WebCore::RenderSVGResourceContainer::drawsContents): 17184 (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer): 17185 (WebCore::getRenderSVGResourceContainerById): 17186 (WebCore::getRenderSVGResourceById): 17187 * rendering/RenderSVGResourceFilter.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource. 17188 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): 17189 (WebCore::RenderSVGResourceFilter::invalidateClient): 17190 (WebCore::RenderSVGResourceFilter::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters) 17191 (WebCore::RenderSVGResourceFilter::postApplyResource): 17192 * rendering/RenderSVGResourceFilter.h: 17193 * rendering/RenderSVGResourceGradient.cpp: Moved from SVGPaintServerGradient, cleaned up and refactored. 17194 (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): 17195 (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): 17196 (WebCore::RenderSVGResourceGradient::invalidateClients): 17197 (WebCore::RenderSVGResourceGradient::invalidateClient): 17198 (WebCore::createMaskAndSwapContextForTextGradient): 17199 (WebCore::clipToTextMask): 17200 (WebCore::RenderSVGResourceGradient::applyResource): 17201 * rendering/RenderSVGResourceGradient.h: 17202 (WebCore::RenderSVGResourceGradient::resourceBoundingBox): 17203 * rendering/RenderSVGResourceLinearGradient.cpp: Moved from SVGPaintServerLinearGradient, cleaned up and refactored. 17204 (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient): 17205 (WebCore::RenderSVGResourceLinearGradient::~RenderSVGResourceLinearGradient): 17206 (WebCore::RenderSVGResourceLinearGradient::buildGradient): 17207 * rendering/RenderSVGResourceLinearGradient.h: 17208 (WebCore::RenderSVGResourceLinearGradient::renderName): 17209 (WebCore::RenderSVGResourceLinearGradient::resourceType): 17210 * rendering/RenderSVGResourceMarker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource. 17211 (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): 17212 (WebCore::RenderSVGResourceMarker::invalidateClient): 17213 * rendering/RenderSVGResourceMarker.h: 17214 (WebCore::RenderSVGResourceMarker::applyResource): 17215 * rendering/RenderSVGResourceMasker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource. 17216 (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): 17217 (WebCore::RenderSVGResourceMasker::invalidateClient): 17218 (WebCore::RenderSVGResourceMasker::applyResource): 17219 * rendering/RenderSVGResourceMasker.h: 17220 (WebCore::MaskerData::MaskerData): 17221 * rendering/RenderSVGResourcePattern.cpp: Moved from SVGPaintServerPattern, cleaned up and refactored. 17222 (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): 17223 (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): 17224 (WebCore::RenderSVGResourcePattern::invalidateClients): 17225 (WebCore::RenderSVGResourcePattern::invalidateClient): 17226 (WebCore::RenderSVGResourcePattern::applyResource): 17227 (WebCore::RenderSVGResourcePattern::postApplyResource): 17228 (WebCore::calculatePatternBoundaries): 17229 (WebCore::RenderSVGResourcePattern::calculatePatternBoundariesIncludingOverflow): 17230 (WebCore::RenderSVGResourcePattern::createTileImage): 17231 (WebCore::RenderSVGResourcePattern::buildPattern): 17232 * rendering/RenderSVGResourcePattern.h: 17233 (WebCore::RenderSVGResourcePattern::renderName): 17234 (WebCore::RenderSVGResourcePattern::resourceBoundingBox): 17235 (WebCore::RenderSVGResourcePattern::resourceType): 17236 * rendering/RenderSVGResourceRadialGradient.cpp: Moved from SVGPaintServerRadialGradient, cleaned up and refactored. 17237 (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient): 17238 (WebCore::RenderSVGResourceRadialGradient::~RenderSVGResourceRadialGradient): 17239 (WebCore::RenderSVGResourceRadialGradient::buildGradient): 17240 * rendering/RenderSVGResourceRadialGradient.h: 17241 (WebCore::RenderSVGResourceRadialGradient::renderName): 17242 (WebCore::RenderSVGResourceRadialGradient::resourceType): 17243 * rendering/RenderSVGResourceSolidColor.cpp: Moved from SVGPaintServerSolid, cleaned up and refactored. 17244 (WebCore::RenderSVGResourceSolidColor::RenderSVGResourceSolidColor): 17245 (WebCore::RenderSVGResourceSolidColor::~RenderSVGResourceSolidColor): 17246 (WebCore::RenderSVGResourceSolidColor::applyResource): 17247 (WebCore::RenderSVGResourceSolidColor::postApplyResource): 17248 * rendering/RenderSVGResourceSolidColor.h: 17249 (WebCore::RenderSVGResourceSolidColor::invalidateClients): 17250 (WebCore::RenderSVGResourceSolidColor::invalidateClient): 17251 (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox): 17252 (WebCore::RenderSVGResourceSolidColor::resourceType): 17253 (WebCore::RenderSVGResourceSolidColor::color): 17254 (WebCore::RenderSVGResourceSolidColor::setColor): 17255 * rendering/RenderSVGText.cpp: 17256 (WebCore::RenderSVGText::paint): Early exit if painting is disabled. 17257 * rendering/RenderTreeAsText.cpp: 17258 (WebCore::write): Add RenderSVGGradientStop dumping. 17259 (WebCore::externalRepresentation): Remove SVGResource dumping. 17260 * rendering/SVGInlineTextBox.cpp: Adapt to SVGPaintServer changes (paint server request). 17261 (WebCore::SVGInlineTextBox::paintCharacters): 17262 (WebCore::SVGInlineTextBox::paintDecoration): 17263 * rendering/SVGInlineTextBox.h: Ditto. 17264 (WebCore::SVGTextPaintInfo::SVGTextPaintInfo): 17265 * rendering/SVGRenderSupport.cpp: Ditto. 17266 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 17267 (WebCore::SVGRenderBase::finishRenderSVGContent): 17268 (WebCore::invalidatePaintingResource): 17269 (WebCore::deregisterFromResources): 17270 (WebCore::dashArrayFromRenderingStyle): Moved here from SVGPaintServer. 17271 (WebCore::applyStrokeStyleToContext): Ditto. 17272 * rendering/SVGRenderSupport.h: 17273 * rendering/SVGRenderTreeAsText.cpp: Add new gradient/pattern dumping code. Stops are now properly dumped as well! 17274 (WebCore::operator<<): 17275 (WebCore::writeSVGPaintingResource): 17276 (WebCore::writeStyle): 17277 (WebCore::boundingBoxModeString): 17278 (WebCore::writeCommonGradientProperties): 17279 (WebCore::writeSVGResourceContainer): 17280 (WebCore::writeSVGGradientStop): 17281 * rendering/SVGRenderTreeAsText.h: 17282 * rendering/SVGRootInlineBox.cpp: Adapt to SVGPaintServer changes (paint server request). 17283 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): 17284 (WebCore::SVGRootInlineBoxPaintWalker::~SVGRootInlineBoxPaintWalker): 17285 (WebCore::SVGRootInlineBoxPaintWalker::teardownFillPaintServer): 17286 (WebCore::SVGRootInlineBoxPaintWalker::teardownStrokePaintServer): 17287 (WebCore::SVGRootInlineBoxPaintWalker::setupBackground): 17288 (WebCore::SVGRootInlineBoxPaintWalker::setupFill): 17289 (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection): 17290 (WebCore::SVGRootInlineBoxPaintWalker::setupStroke): 17291 (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection): 17292 (WebCore::SVGRootInlineBoxPaintWalker::setupForeground): 17293 (WebCore::SVGRootInlineBoxPaintWalker::activePaintingResource): 17294 (WebCore::SVGRootInlineBoxPaintWalker::paintChunk): 17295 * svg/GradientAttributes.h: Remove SVGGradientStop, use Gradient::ColorStop vector. Cleanup. 17296 (WebCore::GradientAttributes::stops): 17297 (WebCore::GradientAttributes::setStops): 17298 * svg/LinearGradientAttributes.h: Move ENABLE(SVG) guard to correct location. 17299 * svg/PatternAttributes.h: Add missing includes and class forwards. 17300 * svg/RadialGradientAttributes.h: Move ENABLE(SVG) guard to correct location. 17301 * svg/SVGClipPathElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients(). 17302 (WebCore::SVGClipPathElement::svgAttributeChanged): 17303 (WebCore::SVGClipPathElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set. 17304 * svg/SVGClipPathElement.h: 17305 * svg/SVGDocumentExtensions.cpp: Change HashMaps to hash AtomicStrings instead of Strings. Rename RenderSVGResource to RenderSVGResourceContainer. 17306 (WebCore::SVGDocumentExtensions::addResource): 17307 (WebCore::SVGDocumentExtensions::removeResource): 17308 (WebCore::SVGDocumentExtensions::resourceById): 17309 (WebCore::SVGDocumentExtensions::addPendingResource): 17310 * svg/SVGDocumentExtensions.h: 17311 * svg/SVGElement.cpp: 17312 (WebCore::SVGElement::insertedIntoDocument): Remove reference to SVGResource::invalidateClients(), handled differently now. 17313 (WebCore::SVGElement::updateAnimatedSVGAttribute): Change assertion, that is incorrect now. 17314 * svg/SVGElement.h: Make updateAnimatedSVGAttribute() public. 17315 * svg/SVGFont.cpp: Adapt to SVGPaintServer changes (paint server request). 17316 (WebCore::Font::drawTextUsingSVGFont): 17317 * svg/SVGGElement.cpp: If style()->display() is NONE, create a RenderSVGHiddenContainer, removing hacks in SVGStopElement for pservers-grad-19-b.svg (yes, SVG is crazy.) 17318 (WebCore::SVGGElement::createRenderer): 17319 * svg/SVGGElement.h: Remove childrenChanged() method which _always_ called renderer->setNeedsLayout(true), which is completly wrong and unnecessary. 17320 (WebCore::SVGGElement::rendererIsNeeded): Always return true. 17321 * svg/SVGGradientElement.cpp: Adapt to new RenderSVGResourceGradient code. 17322 (WebCore::SVGGradientElement::svgAttributeChanged): 17323 (WebCore::SVGGradientElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set. 17324 (WebCore::SVGGradientElement::buildStops): 17325 * svg/SVGGradientElement.h: 17326 * svg/SVGLinearGradientElement.cpp: Adapt to new RenderSVGResourceLinearGradient code. 17327 (WebCore::SVGLinearGradientElement::svgAttributeChanged): 17328 (WebCore::SVGLinearGradientElement::createRenderer): 17329 (WebCore::SVGLinearGradientElement::collectGradientProperties): 17330 (WebCore::SVGLinearGradientElement::calculateStartEndPoints): 17331 * svg/SVGLinearGradientElement.h: 17332 * svg/SVGMarkerElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients(). 17333 (WebCore::SVGMarkerElement::svgAttributeChanged): 17334 (WebCore::SVGMarkerElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set. 17335 (WebCore::SVGMarkerElement::setOrientToAuto): 17336 (WebCore::SVGMarkerElement::setOrientToAngle): 17337 * svg/SVGMaskElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients(). 17338 (WebCore::SVGMaskElement::svgAttributeChanged): 17339 (WebCore::SVGMaskElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set. 17340 * svg/SVGPatternElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients(). 17341 (WebCore::SVGPatternElement::svgAttributeChanged): 17342 (WebCore::SVGPatternElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set. 17343 (WebCore::SVGPatternElement::createRenderer): 17344 * svg/SVGPatternElement.h: 17345 * svg/SVGPolyElement.h: Remove unneded rendererIsNeeded() override. 17346 * svg/SVGRadialGradientElement.cpp: Adapt to new RenderSVGResourceRadialGradient code. 17347 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 17348 (WebCore::SVGRadialGradientElement::createRenderer): 17349 (WebCore::SVGRadialGradientElement::collectGradientProperties): 17350 (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius): 17351 * svg/SVGRadialGradientElement.h: 17352 * svg/SVGStopElement.cpp: Clean up code, moved stop color calculation from SVGGradientElement to here, where it belongs. 17353 (WebCore::SVGStopElement::parseMappedAttribute): 17354 (WebCore::SVGStopElement::stopColorIncludingOpacity): 17355 * svg/SVGStopElement.h: 17356 * svg/SVGStyledElement.cpp: 17357 (WebCore::SVGStyledElement::~SVGStyledElement): 17358 (WebCore::SVGStyledElement::svgAttributeChanged): Only invalidateResourcesInAncestorChain()/deregisterFromResources() when we're not parsing. 17359 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): Early exit if we find a parent resources, there is no resource nesting. 17360 (WebCore::SVGStyledElement::invalidateResourceClients): Renamed from invalidateCanvasResources() 17361 (WebCore::SVGStyledElement::childrenChanged): Only invalidate SVGElementInstances when !changedByParser is set. 17362 * svg/SVGStyledElement.h: Remove canvasResource() logic, remove detach() method. 17363 * svg/SVGTextPathElement.h: 17364 * svg/graphics/SVGPaintServer.h: Removed. 17365 * svg/graphics/SVGResource.cpp: Removed. 17366 * svg/graphics/SVGResource.h: Removed. 17367 17368 2010-04-23 Zhenyao Mo <zmo (a] google.com> 17369 17370 Reviewed by Darin Fisher. 17371 17372 Add isGLES2Compliant to GraphicsContext3D: make the method const. 17373 https://bugs.webkit.org/show_bug.cgi?id=37872 17374 17375 * platform/graphics/GraphicsContext3D.h: Make isGLES2Compliant() const. 17376 * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto. 17377 (WebCore::GraphicsContext3D::isGLES2Compliant): 17378 17379 2010-04-23 Qi Zhang <qi.2.zhang (a] nokia.com> 17380 17381 Reviewed by Laszlo Gombos. 17382 17383 [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed 17384 https://bugs.webkit.org/show_bug.cgi?id=37276 17385 17386 QPainterPath::contains doesn't count the point on the bound. 17387 17388 * platform/graphics/qt/PathQt.cpp: 17389 (WebCore::isPointOnPathBorder): 17390 (WebCore::Path::contains): 17391 17392 2010-04-23 Sam Weinig <sam (a] webkit.org> 17393 17394 Reviewed by David Levin. 17395 17396 Fix for https://bugs.webkit.org/show_bug.cgi?id=38060 17397 Split up Threading.h 17398 17399 Add necessary forwarding headers. 17400 17401 * ForwardingHeaders/wtf/Atomics.h: Added. 17402 * ForwardingHeaders/wtf/ThreadSafeShared.h: Added. 17403 * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added. 17404 17405 2010-04-23 Rafael Weinstein <rafaelw (a] grafaelw.sfo.corp.google.com> 17406 17407 Reviewed by Darin Fisher. 17408 17409 This patch adds a vector of additionalFeatures to WindowFeatures 17410 and populates it with any feature strings that evaluate to "yes" 17411 and aren't directly observed in WindowFeatures. This allows 17412 clients to capture experimental window features. 17413 17414 https://bugs.webkit.org/show_bug.cgi?id=38013 17415 17416 * page/WindowFeatures.cpp: 17417 (WebCore::WindowFeatures::setWindowFeature): 17418 * page/WindowFeatures.h: 17419 17420 2010-04-23 Dan Bernstein <mitz (a] apple.com> 17421 17422 Reviewed by Simon Fraser. 17423 17424 <rdar://problem/7898436> :after content is duplicated 17425 17426 Test: fast/css-generated-content/after-duplicated-after-split.html 17427 17428 * rendering/RenderInline.cpp: 17429 (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list. 17430 17431 2010-04-23 Adele Peterson <adele (a] apple.com> 17432 17433 Fixing the Tiger build for real. 17434 17435 * platform/graphics/mac/SimpleFontDataMac.mm: 17436 17437 2010-04-23 Adele Peterson <adele (a] apple.com> 17438 17439 Fixing the Tiger build. 17440 17441 * platform/graphics/mac/SimpleFontDataMac.mm: 17442 (WebCore::SimpleFontData::platformBoundsForGlyph): 17443 17444 2010-04-23 Jian Li <jianli (a] chromium.org> 17445 17446 Reviewed by Dmitry Titov. 17447 17448 Add FileError for File API. 17449 https://bugs.webkit.org/show_bug.cgi?id=37840 17450 17451 The test will be added when implementing FileReader and FilerWriter. 17452 17453 * Android.derived.jscbindings.mk: 17454 * Android.derived.v8bindings.mk: 17455 * DerivedSources.cpp: 17456 * DerivedSources.make: 17457 * GNUmakefile.am: 17458 * WebCore.gypi: 17459 * WebCore.pri: 17460 * WebCore.pro: 17461 * WebCore.vcproj/WebCore.vcproj: 17462 * WebCore.xcodeproj/project.pbxproj: 17463 * dom/ExceptionCode.h: 17464 (WebCore::): 17465 * html/FileError.h: Added. 17466 * html/FileError.idl: Added. 17467 * page/DOMWindow.idl: 17468 17469 2010-04-23 Jian Li <jianli (a] chromium.org> 17470 17471 Reviewed by Adam Barth. 17472 17473 Improve code generator scripts to handle OR ('|') condition in the 17474 extended attributes. 17475 https://bugs.webkit.org/show_bug.cgi?id=37998 17476 17477 * bindings/scripts/CodeGeneratorJS.pm: 17478 * bindings/scripts/CodeGeneratorObjC.pm: 17479 * bindings/scripts/CodeGeneratorV8.pm: 17480 * bindings/scripts/IDLStructure.pm: 17481 17482 2010-04-23 Adele Peterson <adele (a] apple.com> 17483 17484 Reviewed by Dan Bernstein. 17485 17486 Fix for <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap 17487 https://bugs.webkit.org/show_bug.cgi?id=37936 17488 17489 This change breaks the GlyphMetricsMap into two maps - one for width and one for bounds, so that we don't store 17490 a FloatRect for the glyph bounds unless we need to. 17491 17492 Covered by existing tests. This should not cause any change in functionality. 17493 17494 Updated for removal of GlyphMetricsMap.cpp 17495 * Android.mk: 17496 * GNUmakefile.am: 17497 * WebCore.gypi: 17498 * WebCore.vcproj/WebCore.vcproj: 17499 * WebCore.xcodeproj/project.pbxproj: 17500 17501 Made GlyphMetricsMap a template, so it can be used for separate width and bounds maps. 17502 * platform/graphics/GlyphMetricsMap.cpp: Removed. 17503 * platform/graphics/GlyphMetricsMap.h: 17504 (WebCore::GlyphMetricsMap::metricsForGlyph): 17505 (WebCore::GlyphMetricsMap::setMetricsForGlyph): 17506 (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph): 17507 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph): 17508 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex): 17509 (WebCore::::unknownMetrics): 17510 (WebCore::::locatePageSlowCase): 17511 17512 * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances): 17513 Call boundsForGlyph instead of metricsForGlyph. 17514 * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem): 17515 ditto. 17516 * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit): 17517 Call setMetricsForGlyph for both glyph maps. 17518 17519 Break getters and setters for metricsForGlyph into widthForGlyph and boundsForGlyph, maintaining present behavior. 17520 * platform/graphics/SimpleFontData.h: 17521 (WebCore::): 17522 (WebCore::SimpleFontData::boundsForGlyph): 17523 (WebCore::SimpleFontData::widthForGlyph): 17524 * platform/graphics/cairo/SimpleFontDataCairo.cpp: 17525 (WebCore::SimpleFontData::platformBoundsForGlyph): 17526 (WebCore::SimpleFontData::platformWidthForGlyph): 17527 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 17528 (WebCore::SimpleFontData::platformBoundsForGlyph): 17529 (WebCore::SimpleFontData::platformWidthForGlyph): 17530 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 17531 (WebCore::SimpleFontData::platformBoundsForGlyph): 17532 (WebCore::SimpleFontData::platformWidthForGlyph): 17533 * platform/graphics/gtk/SimpleFontDataPango.cpp: 17534 (WebCore::SimpleFontData::platformBoundsForGlyph): 17535 (WebCore::SimpleFontData::platformWidthForGlyph): 17536 * platform/graphics/mac/SimpleFontDataMac.mm: 17537 (WebCore::SimpleFontData::platformBoundsForGlyph): 17538 (WebCore::SimpleFontData::platformWidthForGlyph): 17539 * platform/graphics/win/SimpleFontDataCGWin.cpp: 17540 (WebCore::SimpleFontData::platformBoundsForGlyph): 17541 (WebCore::SimpleFontData::platformWidthForGlyph): 17542 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 17543 (WebCore::SimpleFontData::platformBoundsForGlyph): 17544 * platform/graphics/win/SimpleFontDataWin.cpp: 17545 (WebCore::SimpleFontData::boundsForGDIGlyph): 17546 (WebCore::SimpleFontData::widthForGDIGlyph): 17547 * platform/graphics/wince/SimpleFontDataWince.cpp: 17548 (WebCore::SimpleFontData::platformBoundsForGlyph): 17549 * platform/graphics/wx/SimpleFontDataWx.cpp: 17550 (WebCore::SimpleFontData::platformBoundsForGlyph): 17551 (WebCore::SimpleFontData::platformWidthForGlyph): 17552 17553 2010-04-23 Xiaomei Ji <xji (a] chromium.org> 17554 17555 Reviewed by Dan Bernstein and Darin Adler 17556 17557 Fix issue "caret does not paint after type in characters in right 17558 aligned div or after delete all characters in RTL div or 17559 0px right padding RTL textarea" 17560 https://bugs.webkit.org/show_bug.cgi?id=25319 17561 17562 Test: editing/inserting/caret-position.html 17563 17564 * rendering/RenderText.cpp: 17565 (WebCore::RenderText::localCaretRect): 17566 17567 2010-04-23 No'am Rosenthal <noam.rosenthal (a] nokia.com> 17568 17569 Reviewed by Kenneth Rohde Christiansen. 17570 17571 [Qt] [Performance] GraphicsLayer: constructing the layers takes too long 17572 https://bugs.webkit.org/show_bug.cgi?id=36365 17573 17574 The issue came from using QGraphicsView's cache as is. The problem is that 17575 several code-paths require re-rendering of the item, but not re-rendering 17576 of the web content into the cache. 17577 17578 The way to solve it is by having GraphicsLayerQt manage the cache directly 17579 via QPixmapCache, instead of using QGraphicsItem cache modes. 17580 17581 FPS measurement shows significant improvement (20FPS before, 40FPS after) 17582 on several use-cases, including blog-files/leaves on a desktop environment. 17583 17584 * platform/graphics/qt/GraphicsLayerQt.cpp: 17585 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 17586 (WebCore::GraphicsLayerQtImpl::recache): 17587 (WebCore::GraphicsLayerQtImpl::paint): 17588 (WebCore::GraphicsLayerQtImpl::flushChanges): 17589 17590 2010-04-23 James Robinson <jamesr (a] chromium.org> 17591 17592 Reviewed by Dimitri Glazkov. 17593 17594 Avoid marking symbols as dllexport in chromium win builds 17595 https://bugs.webkit.org/show_bug.cgi?id=38058 17596 17597 No new tests. 17598 17599 * config.h: 17600 17601 2010-04-23 MORITA Hajime <morrita (a] google.com> 17602 17603 Reviewed by Nikolas Zimmermann. 17604 17605 https://bugs.webkit.org/show_bug.cgi?id=37187 17606 SVG <use href="foo"> is interpreted as <use href="#foo"> 17607 17608 getTarget() did return url parameter as is if doesn't have 17609 fragment identifier. So fixed to return empty string in such case 17610 because we need to distinguish "yyy.html" from "xxx.svg#yyy.html". 17611 17612 Test: svg/custom/broken-internal-references.svg 17613 17614 * svg/SVGElement.cpp: 17615 (WebCore::SVGElement::insertedIntoDocument): 17616 * svg/SVGURIReference.cpp: 17617 (WebCore::SVGURIReference::getTarget): 17618 17619 2010-04-23 Simon Fraser <simon.fraser (a] apple.com> 17620 17621 Reviewed by Dan Bernstein. 17622 17623 ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com 17624 https://bugs.webkit.org/show_bug.cgi?id=38066 17625 17626 When a layer goes into compositing mode because it has a negative z-index child that is going 17627 into compositing mode, then set willBeComposited to true. Also add another assertion to catch 17628 any other cases where the state of willBeComposited is mismanaged. 17629 17630 Test: compositing/composited-negative-zindex-child.html 17631 17632 * rendering/RenderLayerCompositor.cpp: 17633 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 17634 17635 2010-04-23 Simon Fraser <simon.fraser (a] apple.com> 17636 17637 Reviewed by Dan Bernstein. 17638 17639 When webkitAnimationEnd event fires, on-screen rendering should show the last frame of animation 17640 https://bugs.webkit.org/show_bug.cgi?id=37955 17641 17642 After r37484, animation and transition end events were fired on a timer, after the animation/transition 17643 ended. This opened up one event loop cycle in which the non-animating state of the element was visible 17644 before the event fired, resulting in flashes in content that reset style from the event handler. 17645 17646 Fix by firing these events in the same event cycle as the animation end, once all animations 17647 have been updated. This also required moving the place that start animations are fixed until 17648 a later state in the state machine, so that animations have their start time set at the point 17649 the event is fired (to avoid an assertion when using the freeze API in DRT). 17650 17651 Not testable, since the flash is very transitory and cannot be captured in a pixel test. 17652 17653 * page/animation/AnimationBase.cpp: 17654 (WebCore::AnimationBase::updateStateMachine): Move the firing of 'start' events into the state 17655 where the start time is known. 17656 * page/animation/AnimationControllerPrivate.h: 17657 * page/animation/AnimationController.cpp: 17658 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): Call the new fireEventsAndUpdateStyle() 17659 method. 17660 (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): New method to share code that used to be in 17661 updateStyleIfNeededDispatcherFired(). 17662 (WebCore::AnimationControllerPrivate::animationTimerFired): Call fireEventsAndUpdateStyle() once we've 17663 processed all animations. 17664 17665 2010-04-23 Simon Fraser <simon.fraser (a] apple.com> 17666 17667 Reviewed by Dan Bernstein. 17668 17669 CompositeAnimation::updateKeyframeAnimations() can make a KeyframeAnimation for animation "none" 17670 https://bugs.webkit.org/show_bug.cgi?id=38017 17671 17672 Check to see if the animation name is "none", and don't fire off a keyframe animation in 17673 that case. 17674 17675 * page/animation/CompositeAnimation.cpp: 17676 (WebCore::CompositeAnimation::updateKeyframeAnimations): 17677 17678 2010-04-23 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 17679 17680 Reviewed by Kenneth Rohde Christiansen. 17681 17682 [Qt] Disable Netscape plugin support for minimal configuration 17683 https://bugs.webkit.org/show_bug.cgi?id=38026 17684 17685 No new tests, as there is no new functionality. 17686 17687 * WebCore.pri: 17688 17689 2010-04-23 Shinichiro Hamaji <hamaji (a] chromium.org> 17690 17691 Reviewed by Darin Adler. 17692 17693 Need borderAndPadding(Width|Height) 17694 https://bugs.webkit.org/show_bug.cgi?id=38046 17695 17696 Refactoring only, so no new tests. 17697 17698 * rendering/InlineBox.cpp: 17699 (WebCore::InlineBox::height): 17700 * rendering/RenderApplet.cpp: 17701 (WebCore::RenderApplet::createWidgetIfNecessary): 17702 * rendering/RenderBlock.cpp: 17703 (WebCore::RenderBlock::isSelfCollapsingBlock): 17704 (WebCore::RenderBlock::calcPrefWidths): 17705 * rendering/RenderBox.cpp: 17706 (WebCore::RenderBox::calcBorderBoxWidth): 17707 (WebCore::RenderBox::calcBorderBoxHeight): 17708 (WebCore::RenderBox::calcContentBoxWidth): 17709 (WebCore::RenderBox::calcContentBoxHeight): 17710 (WebCore::RenderBox::calcWidth): 17711 (WebCore::RenderBox::calcHeight): 17712 (WebCore::RenderBox::calcPercentageHeight): 17713 (WebCore::RenderBox::calcReplacedHeightUsing): 17714 (WebCore::RenderBox::availableHeightUsing): 17715 (WebCore::RenderBox::calcAbsoluteHorizontal): 17716 (WebCore::RenderBox::calcAbsoluteVertical): 17717 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 17718 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 17719 (WebCore::RenderBox::positionForPoint): 17720 * rendering/RenderBoxModelObject.h: 17721 (WebCore::RenderBoxModelObject::borderAndPaddingHeight): 17722 (WebCore::RenderBoxModelObject::borderAndPaddingWidth): 17723 * rendering/RenderDataGrid.cpp: 17724 (WebCore::RenderDataGrid::calcPrefWidths): 17725 * rendering/RenderFieldset.cpp: 17726 (WebCore::RenderFieldset::calcPrefWidths): 17727 * rendering/RenderFileUploadControl.cpp: 17728 (WebCore::RenderFileUploadControl::calcPrefWidths): 17729 * rendering/RenderFlexibleBox.cpp: 17730 (WebCore::RenderFlexibleBox::calcPrefWidths): 17731 (WebCore::RenderFlexibleBox::allowedChildFlex): 17732 * rendering/RenderImage.cpp: 17733 (WebCore::RenderImage::calcPrefWidths): 17734 * rendering/RenderLayer.cpp: 17735 (WebCore::RenderLayer::resize): 17736 * rendering/RenderListBox.cpp: 17737 (WebCore::RenderListBox::calcPrefWidths): 17738 (WebCore::RenderListBox::calcHeight): 17739 * rendering/RenderMenuList.cpp: 17740 (WebCore::RenderMenuList::calcPrefWidths): 17741 * rendering/RenderReplaced.cpp: 17742 (WebCore::RenderReplaced::calcPrefWidths): 17743 * rendering/RenderSVGRoot.cpp: 17744 (WebCore::RenderSVGRoot::calcPrefWidths): 17745 * rendering/RenderSlider.cpp: 17746 (WebCore::RenderSlider::calcPrefWidths): 17747 (WebCore::RenderSlider::layout): 17748 * rendering/RenderTableCell.cpp: 17749 (WebCore::RenderTableCell::styleOrColWidth): 17750 * rendering/RenderTextControl.cpp: 17751 (WebCore::RenderTextControl::textBlockHeight): 17752 (WebCore::RenderTextControl::textBlockWidth): 17753 (WebCore::RenderTextControl::calcHeight): 17754 (WebCore::RenderTextControl::calcPrefWidths): 17755 * rendering/RenderTextControlSingleLine.cpp: 17756 (WebCore::RenderTextControlSingleLine::layout): 17757 * rendering/RenderWidget.cpp: 17758 (WebCore::RenderWidget::updateWidgetPosition): 17759 17760 2010-04-23 David Kilzer <ddkilzer (a] apple.com> 17761 17762 Size mismatch between format string and argument in dumpTextEncodingNameMap() 17763 17764 Reviewed by Darin Adler. 17765 17766 See Bug 38030 and r58157. 17767 17768 * platform/text/TextEncodingRegistry.cpp: 17769 (WebCore::dumpTextEncodingNameMap): Assigned 17770 textEncodingNameMap->size() to an unsigned variable before using 17771 it in the fprintf() statement. 17772 17773 2010-04-23 David Kilzer <ddkilzer (a] apple.com> 17774 17775 BUILD FIX: Attempt to fix Windows build after Bug 36187 landed in r58168 17776 17777 * DerivedSources.cpp: Changed include of JSMedia.cpp to 17778 JSStyleMedia.cpp. 17779 17780 2010-04-23 David Kilzer <ddkilzer (a] apple.com> 17781 17782 BUILD FIX: Fix Mac build after Bug 36187 landed in r58168 17783 17784 * WebCore.xcodeproj/project.pbxproj: Renamed DOMMedia.h, 17785 DOMMedia.mm, DOMMediaInternal.h to DOMStyleMedia.h, 17786 DOMStyleMedia.mm, DOMStyleMediaInternal.h. 17787 17788 2010-04-23 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 17789 17790 Unreviewed build fix. 17791 17792 Change Media to StyleMedia 17793 17794 * DerivedSources.make: 17795 17796 2010-04-23 Xan Lopez <xlopez (a] igalia.com> 17797 17798 Try to fix the GTK+ bots. 17799 17800 * GNUmakefile.am: 17801 17802 2010-04-22 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 17803 17804 Reviewed by Laszlo Gombos. 17805 17806 Rename window.media to window.styleMedia 17807 https://bugs.webkit.org/show_bug.cgi?id=36187 17808 17809 Rename the interface Media to StyleMedia as required by the 17810 new CSSOM View spec. 17811 17812 * Android.derived.jscbindings.mk: 17813 * Android.derived.v8bindings.mk: 17814 * GNUmakefile.am: 17815 * WebCore.gypi: 17816 * WebCore.pri: 17817 * WebCore.pro: 17818 * WebCore.vcproj/WebCore.vcproj: 17819 * WebCore.xcodeproj/project.pbxproj: 17820 * css/Media.cpp: Removed. 17821 * css/Media.h: Removed. 17822 * css/Media.idl: Removed. 17823 * css/StyleMedia.cpp: Added. 17824 (WebCore::StyleMedia::StyleMedia): 17825 (WebCore::StyleMedia::type): 17826 (WebCore::StyleMedia::matchMedium): 17827 * css/StyleMedia.h: Added. 17828 (WebCore::StyleMedia::create): 17829 (WebCore::StyleMedia::disconnectFrame): 17830 * css/StyleMedia.idl: Added. 17831 * page/DOMWindow.cpp: 17832 (WebCore::DOMWindow::styleMedia): 17833 * page/DOMWindow.h: 17834 (WebCore::DOMWindow::optionalMedia): 17835 * page/DOMWindow.idl: 17836 17837 2010-04-23 Yury Semikhatsky <yurys (a] chromium.org> 17838 17839 Reviewed by Pavel Feldman. 17840 17841 Web Inspector: provide JSC implementation for scopeType method on 17842 call frame and use same jsvascript code for JSC and v8 when collecting 17843 scope chain data. 17844 17845 https://bugs.webkit.org/show_bug.cgi?id=37663 17846 17847 * bindings/js/JSInjectedScriptHostCustom.cpp: 17848 (WebCore::JSInjectedScriptHost::currentCallFrame): 17849 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 17850 (WebCore::JSJavaScriptCallFrame::scopeType): 17851 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 17852 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 17853 * inspector/InjectedScriptHost.idl: 17854 * inspector/front-end/InjectedScript.js: 17855 (injectedScriptConstructor.): 17856 17857 2010-04-23 Alexander Pavlov <apavlov (a] chromium.org> 17858 17859 Reviewed by Pavel Feldman. 17860 17861 Web Inspector: Audits (Image Dimensions): full image URLs are prefixed with the hosting page name 17862 https://bugs.webkit.org/show_bug.cgi?id=37988 17863 17864 * inspector/front-end/AuditRules.js: 17865 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 17866 17867 2010-04-23 Ilya Tikhonovsky <loislo (a] chromium.org> 17868 17869 Reviewed by Yury Semikhatsky. 17870 17871 WebInspector: Flaky Inspector tests. 17872 https://bugs.webkit.org/show_bug.cgi?id=36217 17873 17874 * inspector/InspectorController.cpp: 17875 (WebCore::InspectorController::didCommitLoad): 17876 17877 2010-04-23 Yaar Schnitman <yaar (a] chromium.org> 17878 17879 Reviewed by Adam Barth. 17880 17881 Auto-generate WebGLRenderingContext overloads in V8 17882 https://bugs.webkit.org/show_bug.cgi?id=37818 17883 17884 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 17885 * html/canvas/WebGLRenderingContext.cpp: Added missing overloads for the following:. 17886 (WebCore::WebGLRenderingContext::texImage2D) 17887 (WebCore::WebGLRenderingContext::texSubImage2D) 17888 * html/canvas/WebGLRenderingContext.h: Added missing overloads. 17889 * html/canvas/WebGLRenderingContext.idl: IDL definition of overloads. 17890 17891 2010-04-23 Jeff Schiller <codedread (a] gmail.com> 17892 17893 Reviewed by Nikolas Zimmermann. 17894 17895 Display tooltips when hovering over SVG elements, Bug 16854 17896 https://bugs.webkit.org/show_bug.cgi?id=16854 17897 17898 Manual test added for verifying tooltips. 17899 17900 * manual-tests/svg-tooltip.svg: Added. 17901 * svg/SVGAElement.cpp: 17902 (WebCore::SVGAElement::title): xlink:title takes precedence, otherwise SVGStyledElement::title() is used 17903 * svg/SVGStyledElement.cpp: 17904 (WebCore::SVGStyledElement::title): checks for a shadow parent and uses that title, otherwise uses the content's title 17905 * svg/SVGStyledElement.h: add title() method declaration 17906 17907 2010-04-23 David Kilzer <ddkilzer (a] apple.com> 17908 17909 <http://webkit.org/b/38032> No need to content sniff 304 responses 17910 <rdar://problem/7891726> 17911 17912 Reviewed by Brady Eidson. 17913 17914 * platform/network/mac/ResourceHandleMac.mm: 17915 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 17916 No need to adjust the MIME type on 304 responses since they're 17917 only used to determine if the resource needs to be refetched. 17918 17919 2010-04-23 David Kilzer <ddkilzer (a] apple.com> 17920 17921 <http://webkit.org/b/38030> Add WebCore::dumpTextEncodingNameMap() to dump text encoding map on debug builds 17922 17923 Reviewed by Alexey Proskuryakov. 17924 17925 * platform/text/TextEncodingRegistry.cpp: 17926 (WebCore::dumpTextEncodingNameMap): Added. 17927 * platform/text/TextEncodingRegistry.h: 17928 (WebCore::dumpTextEncodingNameMap): Added declaration. 17929 17930 2010-04-22 Tony Chang <tony (a] chromium.org> 17931 17932 Reviewed by Dan Bernstein. 17933 17934 Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products 17935 https://bugs.webkit.org/show_bug.cgi?id=37950 17936 17937 Test: editing/text-iterator/rtl-selection-crash.html 17938 17939 * editing/TextIterator.cpp: 17940 (WebCore::TextIterator::handleTextNode): 17941 17942 2010-04-22 Maciej Stachowiak <mjs (a] apple.com> 17943 17944 Reviewed by Dan Bernstein and Beth Dakin. 17945 17946 Links around blocks (e.g. divs) results in too many VoiceOver call outs 17947 https://bugs.webkit.org/show_bug.cgi?id=37079 17948 <rdar://problem/7234118> 17949 17950 The basic change is to modify the AccessibilityRenderObject tree 17951 traversal methods to account for inline continuations in the 17952 render tree and make the accessibility tree look as if 17953 continuations didn't exist - the same as if CSS blocks could just 17954 sit in CSS inlines. This is slightly tricky code but creates a 17955 much saner accessibility tree. 17956 17957 Tests: accessibility/image-link-inline-cont.html 17958 accessibility/image-link.html 17959 accessibility/inline-continuations.html 17960 17961 * accessibility/AccessibilityRenderObject.cpp: 17962 (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations. 17963 (WebCore::firstChildInContinuation): ditto 17964 (WebCore::firstChildConsideringContinuation): ditto 17965 (WebCore::lastChildConsideringContinuation): ditto 17966 (WebCore::startOfContinuations): ditto 17967 (WebCore::endOfContinuations): ditto 17968 (WebCore::childBeforeConsideringContinuations): ditto 17969 (WebCore::firstChildIsInlineContinuation): ditto 17970 (WebCore::lastChildHasContinuation): ditto 17971 (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations. 17972 (WebCore::AccessibilityRenderObject::lastChild): ditto 17973 (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations 17974 and their anonymous block parents. 17975 (WebCore::AccessibilityRenderObject::nextSibling): ditto 17976 (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations. 17977 (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations. 17978 * rendering/RenderInline.h: Make RenderInline::inlineContinuation public. 17979 17980 2010-04-22 Shinichiro Hamaji <hamaji (a] chromium.org> 17981 17982 Reviewed by Darin Adler. 17983 17984 REGRESSION: TextIterator may use freed memory 17985 https://bugs.webkit.org/show_bug.cgi?id=37973 17986 17987 Added TextIterator::m_text to hold the returned String. 17988 17989 No new tests because there are no behavior change, but 17990 copy-backslash-with-euc.html on chromium-win should test this. 17991 17992 * editing/TextIterator.cpp: 17993 (WebCore::TextIterator::emitText): 17994 * editing/TextIterator.h: 17995 17996 2010-04-22 Michael Forney <mforney (a] mforney.org> 17997 17998 Reviewed by Adam Barth. 17999 18000 https://bugs.webkit.org/show_bug.cgi?id=37761 18001 18002 Only include JSDatabase.h and JSDatabaseCallback.h when database is 18003 enabled. This partially fixes building with --disable-database. 18004 18005 * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around 18006 database-related headers. 18007 18008 2010-04-22 Ray Rischpater <Raymond.Rischpater (a] Nokia.com> 18009 18010 Reviewed by Darin Adler. 18011 18012 In HTMLInputElement.cpp, shouldUseInputMethod does not return true for 18013 some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed 18014 this by changing shouldUseInputMethod to use internal methods to 18015 check that the field is a text field that isn't a password field. 18016 18017 No new tests. 18018 18019 Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719> 18020 18021 * html/HTMLInputElement.cpp: 18022 (WebCore::HTMLInputElement::shouldUseInputMethod): 18023 18024 2010-04-22 Yaar Schnitman <yaar (a] chromium.org> 18025 18026 Reviewed by Adam Barth. 18027 18028 Integrate v8 testing utility with webkit tests 18029 https://bugs.webkit.org/show_bug.cgi?id=37731 18030 18031 * bindings/v8/test/run_tests.py: Removed. 18032 18033 2010-04-22 Zhenyao Mo <zmo (a] google.com> 18034 18035 Reviewed by Darin Fisher. 18036 18037 Add isGLES2Compliant to GraphicsContext3D 18038 https://bugs.webkit.org/show_bug.cgi?id=37872 18039 18040 * html/canvas/WebGLRenderingContext.cpp: Add isGLES2Compliant(). 18041 (WebCore::WebGLRenderingContext::isGLES2Compliant): 18042 * html/canvas/WebGLRenderingContext.h: Ditto. 18043 * platform/graphics/GraphicsContext3D.h: Ditto. 18044 * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto. 18045 (WebCore::GraphicsContext3D::isGLES2Compliant): 18046 18047 2010-04-22 Fumitoshi Ukai <ukai (a] chromium.org> 18048 18049 Reviewed by Adam Barth. 18050 18051 MD5 is required for WebSocket new protocol implementation 18052 https://bugs.webkit.org/show_bug.cgi?id=37913 18053 18054 * ForwardingHeaders/wtf/MD5.h: Added. 18055 18056 2010-04-22 Alexey Proskuryakov <ap (a] apple.com> 18057 18058 Reviewed by Darin Adler. 18059 18060 https://bugs.webkit.org/show_bug.cgi?id=38012 18061 REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard 18062 18063 * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Also look at unmodified 18064 characters, to avoid falling through to virtual key code lookup for Roman characters. 18065 18066 2010-04-22 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 18067 18068 Reviewed by Darin Adler. 18069 18070 Fix the MSVC 64bit build. 18071 https://bugs.webkit.org/show_bug.cgi?id=37980 18072 18073 * platform/text/TextStream.cpp: 18074 * platform/text/TextStream.h: 18075 * plugins/win/PluginViewWin.cpp: 18076 (WebCore::PluginView::platformStart): 18077 18078 2010-04-22 Dave Moore <davemoore (a] chromium.org> 18079 18080 Reviewed by Dimitri Glazkov. 18081 18082 Added notification when the favicons for a page are changed 18083 from a script. 18084 The Document object will notify the frame loader, which will 18085 notify the client. Implementations of FrameLoaderClient will 18086 have to add one method; dispatchDidChangeIcons(). 18087 18088 https://bugs.webkit.org/show_bug.cgi?id=33812 18089 18090 Test: fast/dom/icon-url-property.html 18091 18092 * dom/Document.cpp: 18093 (WebCore::Document::setIconURL): 18094 * loader/DocumentLoader.cpp: 18095 (WebCore::DocumentLoader::setIconURL): 18096 * loader/DocumentLoader.h: 18097 (WebCore::DocumentLoader::iconURL): 18098 * loader/EmptyClients.h: 18099 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons): 18100 * loader/FrameLoader.cpp: 18101 (WebCore::FrameLoader::setIconURL): 18102 (WebCore::FrameLoader::didChangeIcons): 18103 * loader/FrameLoader.h: 18104 * loader/FrameLoaderClient.h: 18105 18106 2010-04-22 Xan Lopez <xlopez (a] igalia.com> 18107 18108 Reviewed by Gustavo Noronha. 18109 18110 [GTK] GObject DOM bindings 18111 https://bugs.webkit.org/show_bug.cgi?id=33590 18112 18113 Extend the bindings to cover most of Document.idl 18114 18115 * GNUmakefile.am: 18116 * bindings/gobject/WebKitDOMBinding.cpp: 18117 (WebKit::createWrapper): 18118 (WebKit::kit): 18119 * bindings/gobject/WebKitDOMBinding.h: 18120 * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Added. 18121 (WebKit::createAnchorWrapper): 18122 (WebKit::createAppletWrapper): 18123 (WebKit::createAreaWrapper): 18124 (WebKit::createBaseWrapper): 18125 (WebKit::createBaseFontWrapper): 18126 (WebKit::createBlockquoteWrapper): 18127 (WebKit::createBodyWrapper): 18128 (WebKit::createBRWrapper): 18129 (WebKit::createButtonWrapper): 18130 (WebKit::createCanvasWrapper): 18131 (WebKit::createTableCaptionWrapper): 18132 (WebKit::createTableColWrapper): 18133 (WebKit::createModWrapper): 18134 (WebKit::createDirectoryWrapper): 18135 (WebKit::createDivWrapper): 18136 (WebKit::createDListWrapper): 18137 (WebKit::createEmbedWrapper): 18138 (WebKit::createFieldSetWrapper): 18139 (WebKit::createFontWrapper): 18140 (WebKit::createFormWrapper): 18141 (WebKit::createFrameWrapper): 18142 (WebKit::createFrameSetWrapper): 18143 (WebKit::createHeadingWrapper): 18144 (WebKit::createHeadWrapper): 18145 (WebKit::createHRWrapper): 18146 (WebKit::createHtmlWrapper): 18147 (WebKit::createIFrameWrapper): 18148 (WebKit::createImageWrapper): 18149 (WebKit::createInputWrapper): 18150 (WebKit::createIsIndexWrapper): 18151 (WebKit::createLabelWrapper): 18152 (WebKit::createLegendWrapper): 18153 (WebKit::createLIWrapper): 18154 (WebKit::createLinkWrapper): 18155 (WebKit::createMapWrapper): 18156 (WebKit::createMarqueeWrapper): 18157 (WebKit::createMenuWrapper): 18158 (WebKit::createMetaWrapper): 18159 (WebKit::createObjectWrapper): 18160 (WebKit::createOListWrapper): 18161 (WebKit::createOptGroupWrapper): 18162 (WebKit::createOptionWrapper): 18163 (WebKit::createParagraphWrapper): 18164 (WebKit::createParamWrapper): 18165 (WebKit::createPreWrapper): 18166 (WebKit::createQuoteWrapper): 18167 (WebKit::createScriptWrapper): 18168 (WebKit::createSelectWrapper): 18169 (WebKit::createStyleWrapper): 18170 (WebKit::createTableWrapper): 18171 (WebKit::createTableSectionWrapper): 18172 (WebKit::createTableCellWrapper): 18173 (WebKit::createTextAreaWrapper): 18174 (WebKit::createTitleWrapper): 18175 (WebKit::createTableRowWrapper): 18176 (WebKit::createUListWrapper): 18177 (WebKit::createHTMLElementWrapper): 18178 * bindings/gobject/WebKitHTMLElementWrapperFactory.h: Added. 18179 * bindings/scripts/CodeGeneratorGObject.pm: 18180 * dom/Node.idl: 18181 18182 2010-04-22 Eric Carlson <eric.carlson (a] apple.com> 18183 18184 Reviewed by Simon Fraser. 18185 18186 Do not pause movie when readyState drops below HAVE_FUTURE_DATA 18187 https://bugs.webkit.org/show_bug.cgi?id=37991 18188 <rdar://problem/7893937> 18189 18190 No new tests, we don't have infrastructure in DRT to test with streamed 18191 movies. 18192 18193 * html/HTMLMediaElement.cpp: 18194 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_readyStateMaximum. 18195 (WebCore::HTMLMediaElement::prepareForLoad): Reset m_readyStateMaximum. 18196 (WebCore::HTMLMediaElement::setReadyState): Maintain m_readyStateMaximum. 18197 (WebCore::HTMLMediaElement::potentiallyPlaying): Also return true if the readyState was 18198 previously >= HAVE_FUTURE_DATA. 18199 * html/HTMLMediaElement.h: 18200 18201 2010-04-22 Zhenyao Mo <zmo (a] google.com> 18202 18203 Reviewed by Dimitri Glazkov. 18204 18205 Regression: framebufferRenderbuffer crashes with null renderBuffer 18206 https://bugs.webkit.org/show_bug.cgi?id=37963 18207 18208 * html/canvas/WebGLRenderingContext.cpp: 18209 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input. 18210 18211 2010-04-22 Zhenyao Mo <zmo (a] google.com> 18212 18213 Reviewed by Dimitri Glazkov. 18214 18215 Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet 18216 https://bugs.webkit.org/show_bug.cgi?id=37281 18217 18218 * html/canvas/WebGLRenderingContext.cpp: 18219 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Remove error check because two enums are supported now. 18220 (WebCore::WebGLRenderingContext::getParameter): Add two enums. 18221 (WebCore::WebGLRenderingContext::readPixels): Fix a tiny bug. 18222 * platform/graphics/mac/GraphicsContext3DMac.cpp: 18223 (WebCore::GraphicsContext3D::getIntegerv): Emulate two enums. 18224 18225 2010-04-22 Diego Escalante Urrelo <descalante (a] igalia.com> 18226 18227 Reviewed by Xan Lopez. 18228 18229 [GTK] Mute/unmute button on <video> elements are backwards 18230 https://bugs.webkit.org/show_bug.cgi?id=33967 18231 18232 Fix mute/unmute buttons icons-action relation and explain why their 18233 variable names and corresponding icons seem to be misleading but are 18234 actually right. Original patch by Mike Hommey. 18235 18236 * platform/gtk/RenderThemeGtk.cpp: 18237 (WebCore::RenderThemeGtk::initMediaStyling): 18238 18239 2010-04-22 Gustavo Sverzut Barbieri <barbieri (a] profusion.mobi> 18240 18241 Reviewed by Eric Seidel. 18242 18243 Fix build if NPAPI support is disabled 18244 https://bugs.webkit.org/show_bug.cgi?id=36621 18245 18246 No new tests, this is a build fix. 18247 Re-submit r58043 with fix for EFL. 18248 18249 * plugins/PluginViewNone.cpp: 18250 18251 2010-04-22 Diego Escalante Urrelo <descalante (a] igalia.com> 18252 18253 Reviewed by Xan Lopez. 18254 18255 [Gtk] Evaluate and create tests for all the AtkRole's implemented by 18256 WebKitGtk 18257 https://bugs.webkit.org/show_bug.cgi?id=34449 18258 18259 Implement ATK_ROLE_COMBO_BOX. 18260 18261 * accessibility/gtk/AccessibilityObjectAtk.cpp: 18262 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 18263 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 18264 (atkRole): 18265 18266 2010-04-22 Nikolas Zimmermann <nzimmermann (a] rim.com> 18267 18268 Reviewed by Dirk Schulze. 18269 18270 SVGPaintServer needs to be converted to the new RenderSVGResource* system 18271 https://bugs.webkit.org/show_bug.cgi?id=37986 18272 18273 No functional changes, just move the SVGPaintServer* classes from svg/graphics/ to rendering/, the new location for the RenderSVGResource* classes. 18274 This is a preparation for the real patch which follows soon. 18275 18276 * Android.mk: Rename files and move to the right location. 18277 * GNUmakefile.am: Ditto. 18278 * WebCore.gypi: Ditto. 18279 * WebCore.pro: Ditto. 18280 * WebCore.vcproj/WebCore.vcproj: Ditto. 18281 * WebCore.xcodeproj/project.pbxproj: Ditto. 18282 * rendering/RenderSVGResource.cpp: Copied from svg/graphics/SVGPaintServer.cpp. 18283 * rendering/RenderSVGResourceGradient.cpp: Copied from svg/graphics/SVGPaintServerGradient.cpp. 18284 * rendering/RenderSVGResourceGradient.h: Copied from svg/graphics/SVGPaintServerGradient.h. 18285 * rendering/RenderSVGResourceLinearGradient.cpp: Copied from svg/graphics/SVGPaintServerLinearGradient.cpp. 18286 * rendering/RenderSVGResourceLinearGradient.h: Copied from svg/graphics/SVGPaintServerLinearGradient.h. 18287 * rendering/RenderSVGResourcePattern.cpp: Copied from svg/graphics/SVGPaintServerPattern.cpp. 18288 * rendering/RenderSVGResourcePattern.h: Copied from svg/graphics/SVGPaintServerPattern.h. 18289 * rendering/RenderSVGResourceRadialGradient.cpp: Copied from svg/graphics/SVGPaintServerRadialGradient.cpp. 18290 * rendering/RenderSVGResourceRadialGradient.h: Copied from svg/graphics/SVGPaintServerRadialGradient.h. 18291 * rendering/RenderSVGResourceSolidColor.cpp: Copied from svg/graphics/SVGPaintServerSolid.cpp. 18292 * rendering/RenderSVGResourceSolidColor.h: Copied from svg/graphics/SVGPaintServerSolid.h. 18293 * rendering/SVGRenderTreeAsText.cpp: Change include file names. 18294 * svg/SVGFont.cpp: Ditto. 18295 * svg/SVGGradientElement.cpp: Ditto. 18296 * svg/SVGGradientElement.h: Ditto. 18297 * svg/SVGLinearGradientElement.cpp: Ditto. 18298 * svg/SVGPatternElement.cpp: Ditto. 18299 * svg/SVGPatternElement.h: Ditto. 18300 * svg/SVGRadialGradientElement.cpp: Ditto. 18301 * svg/graphics/SVGPaintServer.cpp: Removed. 18302 * svg/graphics/SVGPaintServerGradient.cpp: Removed. 18303 * svg/graphics/SVGPaintServerGradient.h: Removed. 18304 * svg/graphics/SVGPaintServerLinearGradient.cpp: Removed. 18305 * svg/graphics/SVGPaintServerLinearGradient.h: Removed. 18306 * svg/graphics/SVGPaintServerPattern.cpp: Removed. 18307 * svg/graphics/SVGPaintServerPattern.h: Removed. 18308 * svg/graphics/SVGPaintServerRadialGradient.cpp: Removed. 18309 * svg/graphics/SVGPaintServerRadialGradient.h: Removed. 18310 * svg/graphics/SVGPaintServerSolid.cpp: Removed. 18311 * svg/graphics/SVGPaintServerSolid.h: Removed. 18312 * svg/graphics/SVGResourceListener.h: Removed. 18313 18314 2010-04-22 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 18315 18316 Reviewed by Simon Hausmann. 18317 18318 [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt. 18319 18320 This prevents the dependent headers from being included by 18321 qt/include/QtWebKit/QtWebKit 18322 18323 * WebCore.pro: 18324 18325 2010-04-22 Gustavo Sverzut Barbieri <barbieri (a] profusion.mobi> 18326 18327 Reviewed by Adam Roben. 18328 18329 EFL does not support PluginDatabase yet. 18330 http://webkit.org/b/37854 18331 18332 No behavior changes, so no new tests were added. 18333 18334 * loader/FrameLoader.cpp: 18335 (WebCore::FrameLoader::defaultObjectContentType): 18336 18337 2010-04-22 Ilya Tikhonovsky <loislo (a] chromium.org> 18338 18339 Reviewed by Yury Semikhatsky. 18340 18341 Web Inspector: Timeline scrolling speed is slow if it has more than 1k timeline marks. 18342 https://bugs.webkit.org/show_bug.cgi?id=37924 18343 18344 * inspector/front-end/TimelineGrid.js: 18345 (WebInspector.TimelineGrid.prototype.updateDividers): 18346 (WebInspector.TimelineGrid.prototype.addEventDividers): 18347 * inspector/front-end/TimelineOverviewPane.js: 18348 (WebInspector.TimelineOverviewPane.prototype.updateEventDividers): 18349 * inspector/front-end/TimelinePanel.js: 18350 (WebInspector.TimelinePanel.prototype._updateEventDividers): 18351 (WebInspector.TimelinePanel.prototype._refresh): 18352 18353 2010-04-22 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 18354 18355 Reviewed by Simon Fraser. 18356 18357 Rename window.media to window.styleMedia 18358 https://bugs.webkit.org/show_bug.cgi?id=36187 18359 18360 It has been defined that the AbstractView media extension 18361 defined in the CSSOM View spec should be renamed to styleMedia. 18362 This patch does that and updates the current layout tests 18363 making use of it. 18364 18365 * page/AbstractView.idl: 18366 * page/DOMWindow.cpp: 18367 (WebCore::DOMWindow::styleMedia): 18368 * page/DOMWindow.h: 18369 * page/DOMWindow.idl: 18370 18371 2010-04-22 Anton Muhin <antonm (a] chromium.org> 18372 18373 Reviewed by Adam Barth. 18374 18375 [v8] Do not pass empty handle into SetHiddenValue which would crash. 18376 https://bugs.webkit.org/show_bug.cgi?id=37801 18377 18378 * bindings/v8/V8AbstractEventListener.cpp: 18379 (WebCore::V8AbstractEventListener::handleEvent): add couple of asserts to check for unexpected paths 18380 (WebCore::V8AbstractEventListener::invokeEventHandler): bail out of jsEvent is empty handle 18381 18382 2010-04-22 Stephan Amus <superstippi (a] gmx.de> 18383 18384 Reviewed by David Levin. 18385 18386 [Haiku] Implement ImageBuffer support 18387 https://bugs.webkit.org/show_bug.cgi?id=35288 18388 18389 Covered by existing tests. 18390 18391 Complete implementation of ImageBuffer for Haiku. Uses StillImage 18392 class to export a WebCore::Image and associated GraphicsContext 18393 to perform arbitrary drawing in the offscreen BBitmap buffer. 18394 18395 * platform/graphics/haiku/ImageBufferData.h: 18396 * platform/graphics/haiku/ImageBufferHaiku.cpp, 18397 (WebCore::ImageBufferData::ImageBufferData), 18398 (WebCore::ImageBufferData::~ImageBufferData), 18399 (WebCore::ImageBuffer::ImageBuffer), 18400 (WebCore::ImageBuffer::~ImageBuffer), 18401 (WebCore::ImageBuffer::context), 18402 (WebCore::ImageBuffer::image): 18403 Implementation uses offscreen BBitmap and BView, wraps StillImage 18404 around those to provide WebCore::Image interface. 18405 (WebCore::ImageBuffer::platformTransformColorSpace): 18406 (WebCore::convertFromData): 18407 Method just performs BGRA <-> RGBA conversion. 18408 (WebCore::convertFromInternalData): 18409 Method just performs BGRA <-> RGBA conversion and handles 18410 pre-multiplying the color values if requested. 18411 (WebCore::convertToInternalData): 18412 Method just performs BGRA <-> RGBA conversion and handles 18413 de.multiplying the color values if requested. 18414 (WebCore::getImageData): 18415 Common code for the next two methods. 18416 (WebCore::ImageBuffer::getUnmultipliedImageData), 18417 (WebCore::ImageBuffer::getPremultipliedImageData): 18418 Implemented. 18419 (WebCore::putImageData): 18420 Common code for the next two methods. 18421 (WebCore::ImageBuffer::putUnmultipliedImageData), 18422 (WebCore::ImageBuffer::putPremultipliedImageData): 18423 Implemented. 18424 (WebCore::ImageBuffer::toDataURL): 18425 Uses Haiku "Translation Kit" to convert image data to data 18426 of the requested mime type. 18427 18428 2010-04-22 Adam Barth <abarth (a] webkit.org> 18429 18430 Unreviewed, rolling out r58069. 18431 http://trac.webkit.org/changeset/58069 18432 https://bugs.webkit.org/show_bug.cgi?id=27751 18433 18434 Broke compile on Windows. 18435 18436 * WebCore.base.exp: 18437 * editing/EditorCommand.cpp: 18438 (WebCore::supportedPaste): 18439 (WebCore::createCommandMap): 18440 * page/Settings.cpp: 18441 (WebCore::Settings::Settings): 18442 * page/Settings.h: 18443 18444 2010-04-22 Abhishek Arya <inferno (a] chromium.org> 18445 18446 Reviewed by Adam Barth. 18447 18448 Add support for controlling clipboard access from javascript. 18449 Clipboard access from javascript is disabled by default. 18450 https://bugs.webkit.org/show_bug.cgi?id=27751 18451 18452 Test: editing/execCommand/clipboard-access.html 18453 18454 * WebCore.base.exp: 18455 * editing/EditorCommand.cpp: 18456 (WebCore::supportedCopyCut): 18457 (WebCore::supportedPaste): 18458 (WebCore::createCommandMap): 18459 * page/Settings.cpp: 18460 (WebCore::Settings::Settings): 18461 (WebCore::Settings::setJavaScriptCanAccessClipboard): 18462 * page/Settings.h: 18463 (WebCore::Settings::javaScriptCanAccessClipboard): 18464 18465 2010-04-22 Stephan Amus <superstippi (a] gmx.de> 18466 18467 Reviewed by David Levin. 18468 18469 [Haiku] Improve SimpleFontDataHaiku 18470 https://bugs.webkit.org/show_bug.cgi?id=37411 18471 18472 Covered by existing tests. 18473 18474 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: 18475 - Cleaned up includes 18476 - Removed prototype "charUnicodeToUTF8HACK" 18477 (WebCore::SimpleFontData::platformInit): 18478 - Use const BFont pointer 18479 (WebCore::SimpleFontData::smallCapsFontData): 18480 - "fontPlatformData" was leaked. It is only 18481 used as the key for the font cache lookup. 18482 (WebCore::SimpleFontData::platformMetricsForGlyph): 18483 - Use existing WebCore encoding infrastructure 18484 instead of adding a hack for Haiku. 18485 18486 2010-04-21 Steve Block <steveblock (a] google.com> 18487 18488 Reviewed by Kenneth Rohde Christiansen. 18489 18490 Replace Geolocation::suspend()/resume() which are required by Android. 18491 https://bugs.webkit.org/show_bug.cgi?id=37942 18492 18493 These methods were removed in Bug 36255. 18494 18495 Build fix only, no new tests. 18496 18497 * page/Geolocation.cpp: 18498 (WebCore::Geolocation::suspend): 18499 (WebCore::Geolocation::resume): 18500 * page/Geolocation.h: 18501 18502 2010-04-21 Ray Rischpater <Raymond.Rischpater (a] Nokia.com> 18503 18504 In HTMLInputElement.cpp there are numerous style 18505 violations. 18506 18507 This patch includes style changes to fix existing style 18508 deviations in this file. 18509 18510 Rubber stamped by Darin Adler. 18511 18512 Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881> 18513 18514 * html/HTMLInputElement.cpp: 18515 18516 2010-04-21 Gustavo Sverzut Barbieri <barbieri (a] profusion.mobi> 18517 18518 Reviewed by Adam Roben. 18519 18520 Add missing EFL WebCore file. 18521 http://webkit.org/b/37854 18522 18523 No behavior changes, so no new tests were added. 18524 18525 * bindings/js/ScriptControllerEfl.cpp: Added. 18526 (WebCore::ScriptController::createScriptInstanceForWidget): 18527 18528 2010-04-21 Simon Fraser <simon.fraser (a] apple.com> 18529 18530 Reviewed by Dan Bernstein. 18531 18532 Printing Core Animation-based plug-ins is broken 18533 https://bugs.webkit.org/show_bug.cgi?id=37967 18534 18535 When we do a "flattening" paint because of printing, we need to stash 18536 the flattening flag in the FrameView's m_paintBehavior, because 18537 WebBaseNetscapePluginView needs to find it there to decide whether 18538 to grab a bitmap for printing, for CA plug-ins. 18539 18540 * page/FrameView.cpp: 18541 (WebCore::FrameView::paintContents): 18542 18543 2010-04-21 Franois Sausset <sausset (a] gmail.com> 18544 18545 Reviewed by Kenneth Rohde Christiansen. 18546 18547 Fix to take into account a change made in "StringImpl". 18548 https://bugs.webkit.org/show_bug.cgi?id=37763 18549 18550 * mathml/RenderMathMLOperator.cpp: 18551 (WebCore::RenderMathMLOperator::updateFromElement): 18552 18553 2010-04-21 Andy Estes <aestes (a] apple.com> 18554 18555 Reviewed by Darin Adler. 18556 18557 Create a template for creating reference-counted Windows GDI handles. 18558 Refactor RefCountedHFONT to use this template. 18559 18560 https://bugs.webkit.org/show_bug.cgi?id=37952 18561 18562 No change in behavior. 18563 18564 * WebCore.vcproj/WebCore.vcproj: Add RefCountedHFONT.h 18565 * platform/graphics/cairo/FontPlatformData.h: 18566 (WebCore::FontPlatformData::hfont): Refactor to return m_hfont->handle() instead of m_hfont->hfont(). 18567 * platform/graphics/cg/FontPlatformData.h: 18568 (WebCore::FontPlatformData::hfont): Same. 18569 * platform/graphics/win/FontPlatformDataCGWin.cpp: 18570 (WebCore::FontPlatformData::FontPlatformData): Instantiate m_hfont with a RefCountedGDIHandle<HFONT>. 18571 * platform/graphics/win/FontPlatformDataWin.cpp: 18572 (WebCore::FontPlatformData::FontPlatformData): Same. 18573 * platform/graphics/win/RefCountedGDIHandle.h: Added. Interface is identical to RefCountedHFONT with exception of renaming hfont() to handle(). 18574 (WebCore::RefCountedGDIHandle::create): 18575 (WebCore::RefCountedGDIHandle::createDeleted): 18576 (WebCore::RefCountedGDIHandle::~RefCountedGDIHandle): 18577 (WebCore::RefCountedGDIHandle::handle): Return the GDI handle. 18578 (WebCore::RefCountedGDIHandle::hash): 18579 (WebCore::RefCountedGDIHandle::RefCountedGDIHandle): 18580 * platform/graphics/win/RefCountedHFONT.h: Removed. 18581 18582 2010-04-21 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 18583 18584 Reviewed by Darin Adler. 18585 18586 Fix build if NPAPI support is disabled 18587 https://bugs.webkit.org/show_bug.cgi?id=36621 18588 18589 No new tests, this is a build fix. 18590 Re-submit r56585 with fix for Chromium. 18591 18592 * plugins/PluginView.cpp: Guard getValueStatic() with 18593 NETSCAPE_PLUGIN_API 18594 (WebCore::PluginView::getValue): 18595 * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API 18596 * plugins/PluginViewNone.cpp: Guard platformGetValue() and 18597 platformGetValueStatic with NETSCAPE_PLUGIN_API; 18598 Guard privateBrowsingStateChanged() and setJavaScriptPaused() with 18599 PLATFORM(MAC) or PLATFORM(CHROMIUM) 18600 18601 2010-04-21 David Yonge-Mallo <davinci (a] chromium.org> 18602 18603 Reviewed by Dan Bernstein. 18604 18605 ZWNJ - Display non-printing, invisible character 18606 https://bugs.webkit.org/show_bug.cgi?id=16131 18607 18608 Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path. 18609 18610 Tests: fast/text/format-control.html 18611 fast/text/zero-width-characters.html 18612 18613 * platform/graphics/Font.h: 18614 (WebCore::Font::operator!=): 18615 (WebCore::Font::treatAsZeroWidthSpace): treat ZWNJ and ZWJ as ZWSP. 18616 * platform/graphics/GlyphPageTreeNode.cpp: 18617 (WebCore::GlyphPageTreeNode::initializePage): added ZWNJ and ZWJ. 18618 * platform/text/CharacterNames.h: added ZWNJ and ZWJ. 18619 18620 2010-04-21 Charles Wei <charles.wei (a] torchmobile.com.cn> 18621 18622 Reviewed by George Staikos. 18623 18624 Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for 18625 bug fix of 37175 , which seperates DocumentWriter from FrameLoader 18626 https://bugs.webkit.org/show_bug.cgi?id=37915 18627 18628 No new tests since this only fixes the build problem. 18629 18630 * dom/Document.cpp: 18631 (WebCore::Document::isXHTMLMPDocument): 18632 18633 2010-04-21 Shinichiro Hamaji <hamaji (a] chromium.org> 18634 18635 Reviewed by Darin Adler. 18636 18637 Call sites of TextIterator constructor are difficult to read 18638 https://bugs.webkit.org/show_bug.cgi?id=37909 18639 18640 Now we use enum parameters instead of boolean parameters and 18641 boolean version of constructors are eliminated. 18642 18643 This change also changes the names of boolean members so they are 18644 now third person singular. 18645 18646 No new tests because this is just a refactoring. 18647 18648 * WebCore.base.exp: 18649 * editing/TextIterator.cpp: 18650 (WebCore::TextIterator::TextIterator): 18651 (WebCore::TextIterator::advance): 18652 (WebCore::TextIterator::handleReplacedElement): 18653 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 18654 (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode): 18655 (WebCore::TextIterator::handleNonTextNode): 18656 (WebCore::TextIterator::exitNode): 18657 (WebCore::TextIterator::emitCharacter): 18658 (WebCore::TextIterator::emitText): 18659 (WebCore::CharacterIterator::CharacterIterator): 18660 (WebCore::TextIterator::rangeLength): 18661 (WebCore::TextIterator::rangeFromLocationAndLength): 18662 (WebCore::findPlainText): 18663 * editing/TextIterator.h: 18664 (WebCore::): 18665 * editing/VisibleSelection.cpp: 18666 (WebCore::VisibleSelection::appendTrailingWhitespace): 18667 * editing/visible_units.cpp: 18668 (WebCore::nextBoundary): 18669 18670 2010-04-21 Jesus Sanchez-Palencia <jesus (a] webkit.org> 18671 18672 Reviewed by Kenneth Rohde Christiansen. 18673 18674 Add PageClientQt files. 18675 18676 [Qt] PageClientQt specific implementation for QWidget 18677 https://bugs.webkit.org/show_bug.cgi?id=37858 18678 18679 * WebCore.pro: 18680 18681 2010-04-21 Diego Escalante Urrelo <descalante (a] igalia.com> 18682 18683 Reviewed by Xan Lopez. 18684 18685 [Gtk] Evaluate and create tests for all the AtkRole's implemented by 18686 WebKitGtk 18687 https://bugs.webkit.org/show_bug.cgi?id=34449 18688 18689 Implement ATK_ROLE_SEPARATOR. 18690 18691 * accessibility/AccessibilityRenderObject.cpp: 18692 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 18693 * accessibility/gtk/AccessibilityObjectAtk.cpp: 18694 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 18695 18696 2010-04-21 David Leong <david.leong (a] nokia.com> 18697 18698 Reviewed by Simon Hausmann. 18699 18700 [Qt] Symbian apps crash on exit due to a bad qObject_cast. 18701 18702 https://bugs.webkit.org/show_bug.cgi?id=37303 18703 18704 Added check for NULL to avoid the crash. Reworked to fix memory leak 18705 18706 * plugins/symbian/PluginViewSymbian.cpp: 18707 (WebCore::PluginView::platformDestroy): 18708 18709 2009-04-21 Chris Fleizach <cfleizach (a] apple.com> 18710 18711 Reviewed by Alexey Proskuryakov. 18712 18713 aria-liveregion-notifications.html fails on leopard release bot 18714 https://bugs.webkit.org/show_bug.cgi?id=37112 18715 18716 Change the method that DRT uses to monitor AX notifications so that its robust 18717 by just sending out NSNotification that can be listened to by anyone, instead 18718 of keeping a static function pointer around. 18719 18720 This change is aimed to avoid flakiness seen in DRT when the notification handlers 18721 are not being called at the appropriate time. 18722 18723 Tests: platform/mac/accessibility/aria-liveregions-addedelement.html 18724 platform/mac/accessibility/aria-liveregions-changedalt.html 18725 platform/mac/accessibility/aria-liveregions-changedtext.html 18726 platform/mac/accessibility/aria-liveregions-removedelement.html 18727 18728 * accessibility/mac/AccessibilityObjectWrapper.h: 18729 * accessibility/mac/AccessibilityObjectWrapper.mm: 18730 (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]): 18731 (-[AccessibilityObjectWrapper accessibilityPostedNotification:]): 18732 18733 2010-04-21 Gavin Barraclough <barraclough (a] apple.com> 18734 18735 Reviewed by NOBODY (Leopard build fix). 18736 Remove old exports. 18737 18738 * WebCore.base.exp: 18739 18740 2010-04-21 Gavin Barraclough <barraclough (a] apple.com> 18741 18742 Reviewed by Darin Adler. 18743 18744 Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings 18745 UString and String now have the same internal representation; Just re-wrap the internal impl. 18746 18747 * bindings/js/JSDOMBinding.cpp: 18748 (WebCore::jsStringSlowCase): 18749 * bindings/js/JSDOMBinding.h: 18750 (WebCore::ustringToString): 18751 (WebCore::stringToUString): 18752 (WebCore::identifierToString): 18753 (WebCore::ustringToAtomicString): 18754 (WebCore::identifierToAtomicString): 18755 18756 2010-04-21 Mark Rowe <mrowe (a] apple.com> 18757 18758 Reviewed by Eric Carlson. 18759 18760 <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:] 18761 18762 A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's 18763 preference file on disk is often required to reproduce the bug. 18764 18765 * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added. 18766 18767 2010-04-21 Mark Rowe <mrowe (a] apple.com> 18768 18769 Reviewed by Maciej Stachowiak. 18770 18771 <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog 18772 18773 This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying 18774 a modal dialog on-screen. 18775 18776 * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added. 18777 * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added. 18778 18779 2010-04-21 Sam Weinig <sam (a] webkit.org> 18780 18781 Reviewed by Geoffrey Garen. 18782 18783 Fix for https://bugs.webkit.org/show_bug.cgi?id=37937 18784 Wean JavaScriptCore off calls to isMainThread() 18785 18786 No change in behavior. 18787 18788 * bindings/js/JSDOMWindowBase.cpp: 18789 (WebCore::JSDOMWindowBase::commonJSGlobalData): 18790 Explicitly set a large stack type for the common JSGlobalData and 18791 set the currently running thread as the exclusive thread for its 18792 execution. 18793 18794 * bindings/js/WorkerScriptController.cpp: 18795 (WebCore::WorkerScriptController::WorkerScriptController): 18796 Explicitly set a small stack type for the workers JSGlobalData. 18797 18798 2010-04-21 Gavin Barraclough <barraclough (a] apple.com> 18799 18800 Reviewed by NOBODY (Qt build fix). 18801 18802 * WebCore.gypi: 18803 * WebCore.pro: 18804 * platform/text/qt/StringQt.cpp: Removed. 18805 18806 2010-04-20 Gavin Barraclough <barraclough (a] apple.com> 18807 18808 Reviewed by Oliver Hunt, Darin Adler. 18809 18810 Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl. 18811 Add include for StringHash.h. 18812 18813 * WebCore.xcodeproj/project.pbxproj: 18814 * bridge/c/c_class.cpp: 18815 18816 2010-04-21 Alexey Proskuryakov <ap (a] apple.com> 18817 18818 Tiger build fix. 18819 18820 * platform/network/mac/ResourceHandleMac.mm: 18821 (WebCore::createNSURLConnection): Fixed a typo, named an argument. 18822 (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's 18823 now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger). 18824 18825 2010-04-21 Alexey Proskuryakov <ap (a] apple.com> 18826 18827 Reviewed by Adam Roben. 18828 18829 Windows build fix. 18830 18831 * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties 18832 for now, as it's mistakenly missing from WebKitSupportLibrary headers. 18833 18834 2010-04-21 Dimitri Glazkov <dglazkov (a] chromium.org> 18835 18836 Reviewed by Darin Adler. 18837 18838 REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test. 18839 https://bugs.webkit.org/show_bug.cgi?id=37902 18840 18841 The issue is due to MSVC creating enums as signed. The fix is to store the value 18842 as unsigned. 18843 18844 Test: http://acid3.acidtests.org/ 18845 18846 * rendering/style/RenderStyle.h: 18847 (WebCore::InheritedFlags): Changed type of _insideLink to unsigned. 18848 18849 2010-04-21 Alexey Proskuryakov <ap (a] apple.com> 18850 18851 Reviewed by Brady Eidson. 18852 18853 https://bugs.webkit.org/show_bug.cgi?id=37933 18854 <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced. 18855 18856 Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html 18857 18858 This improves integration between ResourceHandle and Apple networking libraries. 18859 18860 * platform/network/cf/ResourceHandleCFNet.cpp: 18861 (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary. 18862 (WebCore::ResourceHandle::start): Pass connection properties. 18863 (WebCore::WebCoreSynchronousLoader::load): Ditto. 18864 18865 * platform/network/mac/ResourceHandleMac.mm: 18866 (WebCore::createNSURLConnection): Factor out OS version dependent code for creating 18867 NSURLConnection. Tell NSURLConnection about credential policy upfront. 18868 (WebCore::ResourceHandle::start): Use the new function. 18869 (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto. 18870 18871 2010-04-21 Xiaomei Ji <xji (a] chromium.org> 18872 18873 Reviewed by Dimitri Glazkov 18874 18875 This patch fixes [chromium] RTL <select> dropdown box expands to right 18876 instead of left. 18877 https://bugs.webkit.org/show_bug.cgi?id=37232 18878 18879 No automatic test is possible. 18880 18881 * manual-tests/select_dropdown_box_alignment.html: Added. 18882 * platform/chromium/PopupMenuChromium.cpp: 18883 (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box 18884 for RTL. 18885 18886 2010-04-21 anton muhin <antonm (a] google.com> 18887 18888 Reviewed by Adam Barth. 18889 18890 [v8] Bail out if fetching of Object.prototype fails. 18891 https://bugs.webkit.org/show_bug.cgi?id=37661 18892 18893 If for any reason we failed to fetch Object.prototype, context cannot 18894 be properly initialized and we bail out. 18895 18896 * bindings/v8/V8DOMWindowShell.cpp: 18897 (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed 18898 (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype 18899 * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed 18900 18901 2010-04-21 Timothy Hatcher <timothy (a] apple.com> 18902 18903 Make UserContentURLPattern correctly check for subdomains and the URL 18904 has the same suffix as the pattern. Also improve the parsing of the host. 18905 18906 https://bugs.webkit.org/show_bug.cgi?id=37357 18907 18908 Reviewed by Darin Adler. 18909 18910 * page/UserContentURLPattern.cpp: 18911 (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to 18912 simply check for "*" only or a "*." prefix and then do a substring. 18913 (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the 18914 position before the suffix to ensure it a subdomain and not just a suffix match. 18915 18916 2010-04-21 Xan Lopez <xlopez (a] igalia.com> 18917 18918 Try to fix compilation on GTK+ debug bots. 18919 18920 * bindings/gobject/WebKitDOMBinding.cpp: 18921 (WebKit::createWrapper): 18922 18923 2010-04-21 Jakub Wieczorek <jwieczorek (a] webkit.org> 18924 18925 Reviewed by Darin Adler. 18926 18927 List item markers are not always updated after changes in the DOM. 18928 https://bugs.webkit.org/show_bug.cgi?id=37060 18929 18930 In particular, they would not be updated when adding/removing an item 18931 that is not a direct child of the list element. 18932 18933 Tests: fast/lists/ol-nested-items-dynamic-insert.html 18934 fast/lists/ol-nested-items-dynamic-remove.html 18935 fast/lists/ol-nested-items.html 18936 fast/lists/ol-nested-list-dynamic-insert.html 18937 fast/lists/ol-nested-list-dynamic-remove.html 18938 fast/lists/ol-nested-list.html 18939 18940 * rendering/RenderListItem.cpp: 18941 (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item. 18942 * rendering/RenderListItem.h: 18943 * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp. 18944 (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency. 18945 * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp. 18946 (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling. 18947 (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling. 18948 (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling. 18949 * rendering/RenderTreeAsText.cpp: 18950 (WebCore::markerTextForListItem): 18951 18952 2010-04-21 Xan Lopez <xlopez (a] igalia.com> 18953 18954 Reviewed by Adam Barth. 18955 18956 [GTK] GObject DOM bindings 18957 https://bugs.webkit.org/show_bug.cgi?id=33590 18958 18959 Initial version of the GObject DOM bindings. 18960 18961 Only bindings for Node.idl and a few of its dependencies are 18962 provided, without public API to access them at the 18963 moment. References to the Document interfaces and to 18964 EventListeners in Node.idl are ignored for GObject to make the 18965 initial patch as small as possible, but will be enabled in a 18966 follow-up patch. 18967 18968 * GNUmakefile.am: 18969 * bindings/gobject/ConvertToUTF8String.cpp: Added. 18970 (convertToUTF8String): 18971 * bindings/gobject/ConvertToUTF8String.h: Added. 18972 * bindings/gobject/WebKitDOMBinding.cpp: Added. 18973 (WebKit::domObjects): 18974 (WebKit::DOMObjectCache::get): 18975 (WebKit::DOMObjectCache::put): 18976 (WebKit::DOMObjectCache::forget): 18977 (WebKit::createWrapper): 18978 (WebKit::kit): 18979 * bindings/gobject/WebKitDOMBinding.h: Added. 18980 * bindings/gobject/WebKitDOMObject.cpp: Added. 18981 (webkit_dom_object_init): 18982 (webkit_dom_object_class_init): 18983 * bindings/gobject/WebKitDOMObject.h: Added. 18984 * bindings/scripts/CodeGeneratorGObject.pm: Added. 18985 * bindings/scripts/gobject-generate-headers.pl: Added. 18986 * dom/Node.idl: 18987 18988 2010-04-21 Gustavo Sverzut Barbieri <barbieri (a] profusion.mobi> 18989 18990 Reviewed by Xan Lopez. 18991 18992 Wrong header being included in FontPlatformDataCairo.cpp 18993 https://bugs.webkit.org/show_bug.cgi?id=37829 18994 18995 No behavior changes, so no new tests were added. 18996 18997 * platform/graphics/cairo/FontPlatformDataCairo.cpp: 18998 18999 2010-04-21 Adam Roben <aroben (a] apple.com> 19000 19001 Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter 19002 19003 Fixes <http://webkit.org/b/37922>. 19004 19005 Reviewed by Dave Hyatt. 19006 19007 * rendering/RenderSVGResourceFilter.cpp: 19008 (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to 19009 hold the heap-allocated FilterData object, so that we won't leak it 19010 when we bail out of this function on error. 19011 19012 2010-04-21 Zoltan Herczeg <zherczeg (a] webkit.org> 19013 19014 Reviewed by Kenneth Rohde Christiansen. 19015 19016 [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame() 19017 https://bugs.webkit.org/show_bug.cgi?id=37844 19018 19019 nativeImageForCurrentFrame() resets the m_decoder parameter under Qt, 19020 which is required by startAnimation() to detect frame and repetition counts. 19021 Hence, Image::drawTiled cannot start animations under Qt: 19022 <html><body background="animated.gif"></body></html> does not work 19023 19024 * platform/graphics/qt/ImageDecoderQt.cpp: 19025 (WebCore::ImageDecoderQt::internalHandleCurrentImage): 19026 19027 2010-04-21 Benjamin Poulain <ikipou (a] gmail.com> 19028 19029 Reviewed by Simon Fraser. 19030 19031 Update of fixed elements is not made correctly when the page has been scrolled 19032 https://bugs.webkit.org/show_bug.cgi?id=36783 19033 19034 When a fixed element was updated, the old geometry was not repainted correctly 19035 because the repaint rect was cached during the layout and not updated when 19036 scrolling. 19037 19038 The rect is now updated while scrolling so the region updated correspond to the 19039 region of the element on the screen. 19040 19041 The method RenderLayer::updateRepaintRectsAfterScroll() updates 19042 the repaint rect of all fixed tree after scroll. 19043 19044 Tests: fast/repaint/fixed-child-move-after-scroll.html 19045 fast/repaint/fixed-child-of-fixed-move-after-scroll.html 19046 fast/repaint/fixed-child-of-transformed-move-after-scroll.html 19047 fast/repaint/fixed-move-after-scroll.html 19048 19049 * page/FrameView.cpp: 19050 (WebCore::FrameView::scrollPositionChanged): 19051 * rendering/RenderLayer.cpp: 19052 (WebCore::RenderLayer::updateRepaintRectsAfterScroll): 19053 * rendering/RenderLayer.h: 19054 19055 2010-04-21 Gustavo Sverzut Barbieri <barbieri (a] profusion.mobi> 19056 19057 Reviewed by Adam Roben. 19058 19059 Update EFL port to match recent API changes. 19060 http://webkit.org/b/37853 19061 19062 No behavior changes, so no new tests were added. 19063 19064 * platform/efl/FileSystemEfl.cpp: 19065 * platform/efl/LocalizedStringsEfl.cpp: 19066 (WebCore::missingPluginText): 19067 (WebCore::crashedPluginText): 19068 * platform/efl/MIMETypeRegistryEfl.cpp: 19069 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 19070 * platform/graphics/efl/ImageEfl.cpp: 19071 19072 2010-04-21 Avi Drissman <avi (a] chromium.org> 19073 19074 Reviewed by Simon Fraser. 19075 19076 JPG images fail to print in Chromium 19077 https://bugs.webkit.org/show_bug.cgi?id=37796 19078 19079 Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives. 19080 19081 * platform/graphics/cg/ImageSourceCG.cpp: 19082 (WebCore::ImageSource::setData): 19083 19084 2010-04-21 Marcus Bulach <bulach (a] chromium.org> 19085 19086 Reviewed by Nate Chapin. 19087 19088 EventSource needs to be marked as an ActiveDomType. 19089 https://bugs.webkit.org/show_bug.cgi?id=37857 19090 Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled. 19091 19092 * bindings/scripts/CodeGeneratorV8.pm: 19093 * bindings/v8/V8DOMWrapper.cpp: 19094 * bindings/v8/custom/V8EventSourceConstructor.cpp: 19095 (WebCore::V8EventSource::constructorCallback): 19096 19097 2010-04-21 Gustavo Sverzut Barbieri <barbieri (a] profusion.mobi> 19098 19099 Reviewed by Nikolas Zimmermann. 19100 19101 Add missing includes to platform/posix/FileSystemPOSIX.cpp 19102 https://bugs.webkit.org/show_bug.cgi?id=37861 19103 19104 No behavior changes, so no new tests were added. 19105 19106 * platform/posix/FileSystemPOSIX.cpp: 19107 19108 2010-04-21 No'am Rosenthal <noam.rosenthal (a] nokia.com> 19109 19110 Reviewed by Simon Fraser. 19111 19112 [Qt] Fix or remove the runtime flag for accelerated compositing. 19113 19114 This adds a way for a chrome client to disallow layers from becoming composited, 19115 even if the settings enable accelerated compositing. This is necessary for platforms 19116 where different views can be applied with the same settings to the same page. 19117 19118 We enable an API through ChromeClient to ask the chrome-client whether or not 19119 it can render composited layers, which is taken into account when the compositor 19120 decides whether or not to start compositing. 19121 19122 https://bugs.webkit.org/show_bug.cgi?id=37313 19123 19124 Pages under LayoutTests/compositing now work under QWebView, even when 19125 QWebSettings::AcceleratedCompositingEnabled is on. 19126 19127 * page/ChromeClient.h: 19128 (WebCore::ChromeClient::allowsAcceleratedCompositing): 19129 * platform/qt/QWebPageClient.h: 19130 (QWebPageClient::allowsAcceleratedCompositing): 19131 * rendering/RenderLayerCompositor.cpp: 19132 (WebCore::RenderLayerCompositor::canBeComposited): 19133 19134 2010-04-21 Ryosuke Niwa <rniwa (a] webkit.org> 19135 19136 No review. Spurious whitespace was removed from project file. 19137 19138 * WebCore.xcodeproj/project.pbxproj: 19139 19140 2010-04-20 Ryosuke Niwa <rniwa (a] webkit.org> 19141 19142 Reviewed by Eric Seidel. 19143 19144 [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp 19145 https://bugs.webkit.org/show_bug.cgi?id=37912 19146 19147 Replaced the ternary operator by an if statement because GCC was confused by the use of 19148 ternary operator and producing warnings on Qt builds. 19149 19150 * WebCore.xcodeproj/project.pbxproj: 19151 * editing/CompositeEditCommand.cpp: 19152 (WebCore::CompositeEditCommand::moveParagraphs): 19153 19154 2010-04-20 Ryosuke Niwa <rniwa (a] webkit.org> 19155 19156 Reviewed by Justin Garcia. 19157 19158 Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist') 19159 https://bugs.webkit.org/show_bug.cgi?id=19539 19160 19161 Fixes a bug where two consecutive lists are not merged if they have been converted 19162 from ordered/unordered lists inside another list. 19163 19164 The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted 19165 list element and its neighbors. This patch adds code to doApply so that after inserting 19166 the list element, it updates previousList and nextList to the outermost list elements around 19167 insertionPos under the same enclosing list. Because the next and the previous list elements 19168 are not necessarily visually next to the newly inserted element before moveParagraph moves 19169 the paragraph into the new list element, doApply merges lists after moveParagraph is called. 19170 19171 Test: editing/execCommand/insert-lists-inside-another-list.html 19172 19173 * editing/InsertListCommand.cpp: 19174 (WebCore::InsertListCommand::doApply): Modified as described above 19175 * editing/htmlediting.cpp: 19176 (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element, 19177 which is a descendent of rootNode. 19178 * editing/htmlediting.h: 19179 19180 2010-04-20 Alexey Proskuryakov <ap (a] apple.com> 19181 19182 Reviewed by Darin Adler. 19183 19184 https://bugs.webkit.org/show_bug.cgi?id=37776 19185 <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes 19186 19187 * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping 19188 for Roman letters and punctuation. 19189 19190 * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation 19191 of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak) 19192 also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult 19193 to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes 19194 to their keycodes. 19195 19196 2010-04-20 Shinichiro Hamaji <hamaji (a] chromium.org> 19197 19198 Reviewed by Darin Adler and Alexey Proskuryakov. 19199 19200 A backslash in EUC-JP becomes to a yen sign when it is copied 19201 https://bugs.webkit.org/show_bug.cgi?id=36419 19202 19203 Tests: editing/execCommand/transpose-backslash-with-euc.html 19204 editing/pasteboard/copy-backslash-with-euc.html 19205 19206 * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls. 19207 (WebCore::Editor::addToKillRing): 19208 * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version 19209 (WebCore::TextIterator::TextIterator): 19210 (WebCore::TextIterator::init): 19211 (WebCore::TextIterator::emitText): 19212 (WebCore::plainTextToMallocAllocatedBuffer): 19213 * editing/TextIterator.h: 19214 (WebCore::): 19215 * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call. 19216 (WebCore::Pasteboard::writeSelection): 19217 * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public. 19218 * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding 19219 (WebCore::RenderText::RenderText): 19220 (WebCore::RenderText::updateNeedsTranscoding): 19221 (WebCore::RenderText::styleDidChange): 19222 (WebCore::isInlineFlowOrEmptyText): 19223 (WebCore::RenderText::previousCharacter): 19224 (WebCore::RenderText::setTextInternal): 19225 (WebCore::RenderText::textWithoutTranscoding): 19226 (WebCore::RenderText::transformText): 19227 * rendering/RenderText.h: 19228 * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call. 19229 (WebCore::RenderTextControl::setInnerTextValue): 19230 (WebCore::RenderTextControl::finishText): 19231 * rendering/RenderTextFragment.cpp: 19232 (WebCore::RenderTextFragment::previousCharacter): 19233 * rendering/RenderTextFragment.h: 19234 19235 2010-04-20 Nate Chapin <japhet (a] chromium.org> 19236 19237 Reviewed by Dimitri Glazkov. 19238 19239 https://bugs.webkit.org/show_bug.cgi?id=37367 19240 19241 Fix style violations in code generated by CodeGeneratorV8.pm. 19242 19243 * bindings/scripts/CodeGeneratorV8.pm: 19244 * bindings/v8/test/V8TestObj.cpp: 19245 * bindings/v8/test/V8TestObj.h: 19246 19247 2010-04-20 Sheriff Bot <webkit.review.bot (a] gmail.com> 19248 19249 Unreviewed, rolling out r57924. 19250 http://trac.webkit.org/changeset/57924 19251 https://bugs.webkit.org/show_bug.cgi?id=37898 19252 19253 It broke 3-4 test on all bot (Requested by Ossy on #webkit). 19254 19255 * page/AbstractView.idl: 19256 * page/DOMWindow.cpp: 19257 (WebCore::DOMWindow::media): 19258 * page/DOMWindow.h: 19259 * page/DOMWindow.idl: 19260 19261 2010-04-20 Gavin Barraclough <barraclough (a] apple.com> 19262 19263 Reviewed by Oliver Hunt. 19264 19265 Bug 37895 - Share common code from UStringImplBase with StringImpl 19266 Add forwarding header. 19267 19268 * ForwardingHeaders/wtf/text/StringImplBase.h: Added. 19269 19270 2010-04-20 Adam Barth <abarth (a] webkit.org> 19271 19272 Unreviewed build fix fro Chromium. 19273 19274 * loader/DocumentWriter.cpp: 19275 19276 2010-04-20 Pavel Feldman <pfeldman (a] chromium.org> 19277 19278 Reviewed by Timothy Hatcher. 19279 19280 Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines. 19281 19282 https://bugs.webkit.org/show_bug.cgi?id=37820 19283 19284 * inspector/front-end/ScriptsPanel.js: 19285 (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback): 19286 (WebInspector.ScriptsPanel.prototype.editScriptLine): 19287 * inspector/front-end/TextViewer.js: 19288 (WebInspector.TextViewer.prototype._handleDoubleClick): 19289 (WebInspector.TextViewer.prototype._cancelEditingLine): 19290 19291 2010-04-20 Adam Barth <abarth (a] webkit.org> 19292 19293 Reviewed by Eric Seidel. 19294 19295 Factor DocumentWriter out of FrameLoader 19296 https://bugs.webkit.org/show_bug.cgi?id=37175 19297 19298 This patch separates the begin/write/end cycle of decoding network 19299 bytes and putting them into a document from the rest of the loading 19300 machinery. The code and state required to write bytes into a document 19301 doesn't interact very much with the rest of the loading machinery. 19302 19303 No tests because there is no behavior change (hopefully!). 19304 19305 * Android.mk: 19306 * GNUmakefile.am: 19307 * WebCore.base.exp: 19308 * WebCore.gypi: 19309 * WebCore.pro: 19310 * WebCore.vcproj/WebCore.vcproj: 19311 * WebCore.xcodeproj/project.pbxproj: 19312 * bindings/ScriptControllerBase.cpp: 19313 (WebCore::ScriptController::executeIfJavaScriptURL): 19314 * dom/Document.cpp: 19315 (WebCore::Document::close): 19316 * dom/ProcessingInstruction.cpp: 19317 (WebCore::ProcessingInstruction::checkStyleSheet): 19318 * dom/ScriptElement.cpp: 19319 (WebCore::ScriptElementData::scriptCharset): 19320 * html/HTMLLinkElement.cpp: 19321 (WebCore::HTMLLinkElement::process): 19322 * loader/DocLoader.cpp: 19323 (WebCore::DocLoader::requestPreload): 19324 * loader/DocumentLoader.cpp: 19325 (WebCore::DocumentLoader::finishedLoading): 19326 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 19327 * loader/DocumentWriter.cpp: Added. 19328 * loader/DocumentWriter.h: Added. 19329 * loader/FrameLoader.cpp: 19330 (WebCore::FrameLoader::FrameLoader): 19331 (WebCore::FrameLoader::init): 19332 (WebCore::FrameLoader::clear): 19333 (WebCore::FrameLoader::receivedFirstData): 19334 (WebCore::FrameLoader::setURL): 19335 (WebCore::FrameLoader::didBeginDocument): 19336 (WebCore::FrameLoader::didEndDocument): 19337 (WebCore::FrameLoader::willSetEncoding): 19338 (WebCore::FrameLoader::addData): 19339 (WebCore::FrameLoader::transitionToCommitted): 19340 (WebCore::FrameLoader::open): 19341 (WebCore::FrameLoader::finishedLoadingDocument): 19342 (WebCore::FrameLoader::addExtraFieldsToRequest): 19343 * loader/FrameLoader.h: 19344 (WebCore::FrameLoader::writer): 19345 (WebCore::FrameLoader::isDisplayingInitialEmptyDocument): 19346 * loader/MediaDocument.cpp: 19347 (WebCore::MediaDocument::replaceMediaElementTimerFired): 19348 * loader/PluginDocument.cpp: 19349 (WebCore::PluginTokenizer::createDocumentStructure): 19350 * platform/network/FormDataBuilder.cpp: 19351 (WebCore::FormDataBuilder::dataEncoding): 19352 * svg/graphics/SVGImage.cpp: 19353 (WebCore::SVGImage::dataChanged): 19354 19355 2010-04-20 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 19356 19357 Reviewed by Simon Fraser. 19358 19359 Rename window.media to window.styleMedia 19360 https://bugs.webkit.org/show_bug.cgi?id=36187 19361 19362 It has been defined that the AbstractView media extension 19363 defined in the CSSOM View spec should be renamed to styleMedia. 19364 This patch does that and updates the current layout tests 19365 making use of it. 19366 19367 * page/AbstractView.idl: 19368 * page/DOMWindow.cpp: 19369 (WebCore::DOMWindow::styleMedia): 19370 * page/DOMWindow.h: 19371 * page/DOMWindow.idl: 19372 19373 2010-04-20 Timothy Hatcher <timothy (a] apple.com> 19374 19375 Fix matching of "file:///*" patterns by not trying to compare the host. The host is 19376 irrelevant for file URLs. 19377 19378 Also fix comparisons to be case insensitive. 19379 19380 https://bugs.webkit.org/show_bug.cgi?id=37889 19381 19382 Reviewed by Dave Hyatt. 19383 19384 * page/UserContentURLPattern.cpp: 19385 (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes. 19386 (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call 19387 matchesHost if the scheme isn't "file". 19388 (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith 19389 was already doing a case-insensitive compare, so existing tests worked though this path. 19390 19391 2010-04-20 Justin Schuh <jschuh (a] chromium.org> 19392 19393 Reviewed by Adam Barth. 19394 19395 Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img> 19396 https://bugs.webkit.org/show_bug.cgi?id=37331 19397 19398 Added a setting to enable/disable media per-page and have the SVGImage 19399 disable media for its dummy page. Also found and fixed a related bad 19400 cast in the V8 bindings (JSC had a custom wrapper for this already). 19401 19402 Tests: media/svg-as-image-with-media-blocked.html 19403 19404 * dom/make_names.pl: Added media enabled check and V8 cast wrapper 19405 * page/Settings.cpp: Added m_isMediaEnabled (defaults to true) 19406 (WebCore::Settings::Settings): 19407 (WebCore::Settings::setMediaEnabled): 19408 * page/Settings.h: 19409 (WebCore::Settings::isMediaEnabled): 19410 * svg/graphics/SVGImage.cpp: Disables media in dummy page 19411 (WebCore::SVGImage::dataChanged): 19412 19413 2010-04-19 Antonio Gomes <tonikitoo (a] webkit.org> 19414 19415 Reviewed by Simon Fraser. 19416 19417 Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null 19418 https://bugs.webkit.org/show_bug.cgi?id=37802 19419 19420 In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of 19421 the method body. If after those bail out checks, no "best FocusCandidate" has been taken 19422 yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate, 19423 and exit earlier. 19424 19425 No behavior change, it is just a safe assignment shortcut. 19426 19427 * page/FocusController.cpp: 19428 (WebCore::updateFocusCandidateIfCloser): 19429 19430 2010-04-20 Simon Fraser <simon.fraser (a] apple.com> 19431 19432 Reviewed by Dan Bernstein. 19433 19434 Hook compositing layers together across iframes 19435 https://bugs.webkit.org/show_bug.cgi?id=37878 19436 19437 First step: if an iframe's document goes into compositing mode, also throw the parent 19438 document into compositing mode (all the way up to the root). This is required both 19439 to preserve layering (since parent document content can obscure iframe content), 19440 and so that we can eventually hook the layer trees together. 19441 19442 Test: compositing/iframes/composited-iframe.html 19443 19444 * rendering/RenderIFrame.h: 19445 * rendering/RenderIFrame.cpp: 19446 (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have 19447 a RenderLayer, so must return |true| from requiresLayer(). 19448 (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document 19449 is in compositing mode. 19450 (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check 19451 if a renderer is an iframe. 19452 (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame. 19453 19454 * rendering/RenderLayerCompositor.h: 19455 * rendering/RenderLayerCompositor.cpp: 19456 (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when 19457 the compositing mode changes, so that the parent document can update its compositing status. 19458 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame(). 19459 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe 19460 wants to be composited. 19461 19462 * rendering/RenderObject.h: 19463 (WebCore::RenderObject::isRenderIFrame): Base class returns false. 19464 19465 * rendering/RenderView.h: 19466 * rendering/RenderView.cpp: 19467 (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify 19468 its parent document that a recalcStyle is required, to update compositing state. 19469 19470 2010-04-20 Gavin Barraclough <barraclough (a] apple.com> 19471 19472 Reviewed by NOBODY (build fix). 19473 Speculative tiger build fix. 19474 19475 * WebCore.NPAPI.exp: 19476 * WebCore.PluginHostProcess.exp: 19477 * WebCore.base.exp: 19478 19479 2010-04-20 Pavel Feldman <pfeldman (a] chromium.org> 19480 19481 Reviewed by Timothy Hatcher. 19482 19483 Web Inspector: add basic script editing capabilities to the front-end. 19484 19485 https://bugs.webkit.org/show_bug.cgi?id=37875 19486 19487 * bindings/js/ScriptDebugServer.cpp: 19488 (WebCore::ScriptDebugServer::setBreakpoint): 19489 (WebCore::ScriptDebugServer::removeBreakpoint): 19490 * inspector/front-end/ScriptView.js: 19491 (WebInspector.ScriptView): 19492 (WebInspector.ScriptView.prototype._editLine): 19493 (WebInspector.ScriptView.prototype._editLineComplete): 19494 * inspector/front-end/ScriptsPanel.js: 19495 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): 19496 (WebInspector.ScriptsPanel.prototype.canEditScripts): 19497 (WebInspector.ScriptsPanel.prototype.editScriptLine): 19498 * inspector/front-end/SourceFrame.js: 19499 (WebInspector.SourceFrame): 19500 (WebInspector.SourceFrame.prototype.updateContent): 19501 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 19502 * inspector/front-end/TextEditorHighlighter.js: 19503 (WebInspector.TextEditorHighlighter): 19504 (WebInspector.TextEditorHighlighter.prototype.reset): 19505 * inspector/front-end/TextEditorModel.js: 19506 (WebInspector.TextEditorModel.prototype.copyRange): 19507 * inspector/front-end/TextViewer.js: 19508 (WebInspector.TextViewer): 19509 (WebInspector.TextViewer.prototype.set editCallback): 19510 (WebInspector.TextViewer.prototype._buildChunks): 19511 (WebInspector.TextViewer.prototype._handleKeyDown): 19512 (WebInspector.TextViewer.prototype._handleDoubleClick): 19513 (WebInspector.TextViewer.prototype._commitEditingLine): 19514 (WebInspector.TextViewer.prototype._cancelEditingLine): 19515 * inspector/front-end/inspector.js: 19516 (WebInspector.documentKeyDown): 19517 (WebInspector.log.logMessage): 19518 (WebInspector.log): 19519 (WebInspector.isEditingAnyField): 19520 (WebInspector.startEditing.cleanUpAfterEditing): 19521 19522 2010-04-20 Gavin Barraclough <barraclough (a] apple.com> 19523 19524 Reviewed by Geoff Garen. 19525 19526 Add forwarding header. 19527 19528 * ForwardingHeaders/runtime/RopeImpl.h: Added. 19529 19530 2010-04-20 Gavin Barraclough <barraclough (a] apple.com> 19531 19532 Reviewed by Geoff Garen. 19533 19534 Bug 37828 - Move WebCore's String classes to WTF 19535 19536 Move these classes up to WTF so they are available to all clients of WTF (in 19537 particular JSC). 19538 19539 As a first patch, making the most minimal change possible, since this patch 19540 could easily grow rather large since we'll have to change every class forward 19541 declaration ( e.g. every "namespace WebCore { class String; }" much change to 19542 "namespace WTF { class String; }"). 19543 19544 Moving the files, but leaving the classes logically in the WebCore namespace - 19545 which is technically a layering violation - I'll come back and fix this up in a 19546 subsequent patch. 19547 19548 * Android.mk: 19549 * ForwardingHeaders/wtf/StaticConstructors.h: Added. 19550 * ForwardingHeaders/wtf/text/AtomicString.h: Added. 19551 * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added. 19552 * ForwardingHeaders/wtf/text/StringBuffer.h: Added. 19553 * ForwardingHeaders/wtf/text/StringHash.h: Added. 19554 * ForwardingHeaders/wtf/text/StringImpl.h: Added. 19555 * ForwardingHeaders/wtf/text/WTFString.h: Added. 19556 * GNUmakefile.am: 19557 * WebCore.gypi: 19558 * WebCore.pro: 19559 * WebCore.vcproj/WebCore.vcproj: 19560 * WebCore.xcodeproj/project.pbxproj: 19561 * css/MediaFeatureNames.cpp: 19562 * dom/QualifiedName.cpp: 19563 * dom/make_names.pl: 19564 * platform/StaticConstructors.h: Removed. 19565 * platform/text/AtomicString.cpp: Removed. 19566 * platform/text/AtomicString.h: 19567 * platform/text/AtomicStringImpl.h: 19568 * platform/text/PlatformString.h: 19569 * platform/text/String.cpp: 19570 * platform/text/StringHash.h: 19571 * platform/text/StringImpl.cpp: Removed. 19572 * platform/text/StringImpl.h: 19573 19574 2010-04-20 Kent Tamura <tkent (a] chromium.org> 19575 19576 Reviewed by Darin Adler. 19577 19578 Change a parameter type of chooseIconForFiles() 19579 https://bugs.webkit.org/show_bug.cgi?id=37504 19580 19581 Change PassRefPtr<FileChooser> parameter of chooseIconForFiles() 19582 to FileChooser*. Though an implementation of chooseIconForFiles() 19583 might have ownership of the FileChooser instance, we don't need to 19584 use PassRefPtr<> in this case. 19585 19586 * loader/EmptyClients.h: 19587 (WebCore::EmptyChromeClient::chooseIconForFiles): 19588 * page/Chrome.cpp: 19589 (WebCore::Chrome::chooseIconForFiles): 19590 * page/Chrome.h: 19591 * page/ChromeClient.h: 19592 19593 2010-04-20 Diego Escalante Urrelo <descalante (a] igalia.com> 19594 19595 Reviewed by Xan Lopez. 19596 19597 [Gtk] Evaluate and create tests for all the AtkRole's implemented by 19598 WebKitGtk 19599 https://bugs.webkit.org/show_bug.cgi?id=34449 19600 19601 Implement ATK_ROLE_FORM. 19602 19603 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 19604 (webkit_accessible_get_role): 19605 19606 2010-04-20 Martin Robinson <mrobinson (a] webkit.org> 19607 19608 Reviewed by Gustavo Noronha Silva. 19609 19610 [GTK] Enable DOM clipboard and drag-and-drop access 19611 https://bugs.webkit.org/show_bug.cgi?id=30623 19612 19613 Move most of the PasteboardHelper logic into WebCore. This helps 19614 prepare for WebKit2 and leads to a clearer separation of concerns 19615 between the WebKit and WebCore layers. 19616 19617 No new tests as functionality has not changed. 19618 19619 * GNUmakefile.am: Add PastboardHelper.cpp to list of sources. 19620 * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private. 19621 * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming. 19622 (WebCore::clipboard_get_contents_cb): Ditto. 19623 (WebCore::Pasteboard::helper): Added, member is now private. 19624 (WebCore::Pasteboard::writeURL): Ditto. 19625 (WebCore::Pasteboard::documentFragment): Update to reflect method renaming. 19626 (WebCore::Pasteboard::plainText): Ditto. 19627 * platform/gtk/PasteboardHelper.cpp: Added. 19628 (WebCore::PasteboardHelper::PasteboardHelper): Added. 19629 (WebCore::PasteboardHelper::~PasteboardHelper): Added. 19630 (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit. 19631 (WebCore::widgetFromFrame): Added helper function. 19632 (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit. 19633 (WebCore::PasteboardHelper::getClipboard): Ditto. 19634 (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto. 19635 (WebCore::PasteboardHelper::targetList): Ditto. 19636 (WebCore::PasteboardHelper::fillSelectionData): Ditto. 19637 (WebCore::PasteboardHelper::targetListForDataObject): Ditto. 19638 (WebCore::getClipboardContentsCallback): Ditto. 19639 (WebCore::clearClipboardContentsCallback): Ditto. 19640 (WebCore::PasteboardHelper::writeClipboardContents): Ditto. 19641 * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore. 19642 19643 2010-04-20 Simon Fraser <simon.fraser (a] apple.com> 19644 19645 Reviewed by Anders Carlsson. 19646 19647 backgroundColor is oddly indented in layer tree dump 19648 https://bugs.webkit.org/show_bug.cgi?id=37885 19649 19650 The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents 19651 to be written twice. 19652 19653 * platform/graphics/GraphicsLayer.cpp: 19654 (WebCore::GraphicsLayer::dumpProperties): 19655 19656 2010-04-20 Simon Fraser <simon.fraser (a] apple.com> 19657 19658 Reviewed by Dimitri Glazkov. 19659 19660 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject 19661 https://bugs.webkit.org/show_bug.cgi?id=37741 19662 19663 RenderPartObject is a useless intermediate class between RenderPart and 19664 RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(), 19665 applies to objects and embeds when the content is a FrameView, so can move 19666 to RenderEmbeddedObject. 19667 19668 * Android.mk: 19669 * GNUmakefile.am: 19670 * WebCore.gypi: 19671 * WebCore.pro: 19672 * WebCore.vcproj/WebCore.vcproj: 19673 * WebCore.xcodeproj/project.pbxproj: 19674 * rendering/RenderEmbeddedObject.cpp: 19675 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): 19676 (WebCore::RenderEmbeddedObject::requiresLayer): 19677 (WebCore::RenderEmbeddedObject::paint): 19678 (WebCore::RenderEmbeddedObject::viewCleared): 19679 * rendering/RenderEmbeddedObject.h: 19680 * rendering/RenderFrameBase.h: 19681 * rendering/RenderPart.cpp: 19682 (WebCore::RenderPart::RenderPart): 19683 * rendering/RenderPart.h: 19684 * rendering/RenderPartObject.cpp: Removed. 19685 * rendering/RenderPartObject.h: Removed. 19686 19687 2010-04-20 Robin Cao <robin.webkit (a] gmail.com> 19688 19689 Reviewed by Dirk Schulze. 19690 19691 SVG no AnimateColor for stroke or fill if they are set to none on target. 19692 https://bugs.webkit.org/show_bug.cgi?id=36718 19693 19694 SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation. 19695 This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case 19696 the property type determined by base value may be different from the one determined by 'fromTo' values. 19697 19698 No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'. 19699 Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible. 19700 19701 * svg/SVGAnimateElement.cpp: 19702 (WebCore::SVGAnimateElement::calculateFromAndToValues): 19703 (WebCore::SVGAnimateElement::resetToBaseValue): 19704 19705 2010-04-20 Sheriff Bot <webkit.review.bot (a] gmail.com> 19706 19707 Unreviewed, rolling out r57892. 19708 http://trac.webkit.org/changeset/57892 19709 https://bugs.webkit.org/show_bug.cgi?id=37864 19710 19711 Caused an assertion in Mac builds (Requested by smfr on 19712 #webkit). 19713 19714 * WebCore.xcodeproj/project.pbxproj: 19715 * editing/Editor.cpp: 19716 (WebCore::Editor::insideVisibleArea): 19717 * page/Frame.cpp: 19718 (WebCore::Frame::ownerRenderer): 19719 * page/Frame.h: 19720 * page/FrameView.cpp: 19721 (WebCore::FrameView::~FrameView): 19722 (WebCore::FrameView::clear): 19723 (WebCore::FrameView::invalidateRect): 19724 (WebCore::FrameView::createScrollbar): 19725 * rendering/RenderFrameBase.h: 19726 * rendering/RenderObject.h: 19727 19728 2010-04-20 Jakub Wieczorek <jwieczorek (a] webkit.org> 19729 19730 Reviewed by Darin Adler. 19731 19732 RenderListItem: change enclosingList() to only traverse the render tree. 19733 https://bugs.webkit.org/show_bug.cgi?id=37319 19734 19735 This makes the function safe to use for items with nodes that are detached from 19736 the DOM tree and simplifies the code quite a bit. 19737 19738 Covered by existing tests. 19739 19740 * rendering/RenderListItem.cpp: 19741 (WebCore::enclosingList): 19742 (WebCore::previousListItem): 19743 (WebCore::RenderListItem::explicitValueChanged): 19744 19745 2010-04-20 Simon Fraser <simon.fraser (a] apple.com> 19746 19747 Reviewed by Dan Bernstein. 19748 19749 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject 19750 https://bugs.webkit.org/show_bug.cgi?id=37741 19751 19752 Make Frame::ownerRenderer() return a RenderFrameBase* rather than a 19753 RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase(). 19754 19755 * WebCore.xcodeproj/project.pbxproj: 19756 * editing/Editor.cpp: 19757 (WebCore::Editor::insideVisibleArea): 19758 * page/Frame.cpp: 19759 (WebCore::Frame::ownerRenderer): 19760 * page/Frame.h: 19761 * page/FrameView.cpp: 19762 (WebCore::FrameView::~FrameView): 19763 (WebCore::FrameView::clear): 19764 (WebCore::FrameView::invalidateRect): 19765 (WebCore::FrameView::createScrollbar): 19766 * rendering/RenderFrameBase.h: 19767 (WebCore::RenderFrameBase::isRenderFrameBase): 19768 (WebCore::toRenderFrameBase): 19769 * rendering/RenderObject.h: 19770 (WebCore::RenderObject::isRenderFrameBase): 19771 19772 2010-04-20 Jay Civelli <jcivelli (a] chromium.org> 19773 19774 Reviewed by Dimitri Glazkov. 19775 19776 [chromium] Pressing tab now closes the select popup as it should. 19777 https://bugs.webkit.org/show_bug.cgi?id=37721 19778 19779 * platform/chromium/PopupMenuChromium.cpp: 19780 (WebCore::PopupListBox::handleKeyEvent): 19781 19782 2010-04-20 Yaar Schnitman <yaar (a] chromium.org> 19783 19784 Reviewed by Nate Chapin. 19785 19786 Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks; 19787 https://bugs.webkit.org/show_bug.cgi?id=37810 19788 19789 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 19790 (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too 19791 * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types. 19792 * bindings/v8/test/V8TestObj.cpp: 19793 (WebCore::TestObjInternal::overloadedMethodCallback): 19794 * html/canvas/CanvasRenderingContext2D.cpp: 19795 (WebCore::CanvasRenderingContext2D::drawImage): Added null checks. 19796 (WebCore::CanvasRenderingContext2D::createPattern): Added null checks. 19797 * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException". 19798 * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException". 19799 19800 2010-04-20 Evan Stade <estade (a] chromium.org> 19801 19802 Reviewed by David Levin. 19803 19804 [chromium] crash when dragging images 19805 https://bugs.webkit.org/show_bug.cgi?id=37715 19806 19807 NULL check the return value of nativeImageForCurrentFrame(), 19808 and NULL check Image just for good measure. 19809 19810 Tested by new DragImageTest unit test. 19811 19812 * platform/chromium/DragImageChromiumSkia.cpp: 19813 (WebCore::createDragImageFromImage): 19814 19815 2010-04-20 Dirk Schulze <krit (a] webkit.org> 19816 19817 Reviewed by Nikolas Zimmermann. 19818 19819 SVGResourceFilter needs to be moved to under Renderers 19820 https://bugs.webkit.org/show_bug.cgi?id=35320 19821 19822 This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent 19823 from the SVGResources. 19824 A clean-up solves the dependencies between SVGFilterElement, the filter primitives 19825 and SVGResources. This shall make the filter code more readable and better maintable. 19826 The Filter primitives get dumped now, as long as they have externalRepresentation 19827 implemented. 19828 19829 No behavior changes, so no new tests were added. 19830 19831 * Android.mk: 19832 * GNUmakefile.am: 19833 * WebCore.gypi: 19834 * WebCore.pro: 19835 * WebCore.vcproj/WebCore.vcproj: 19836 * WebCore.xcodeproj/project.pbxproj: 19837 * rendering/RenderPath.cpp: 19838 (WebCore::RenderPath::paint): 19839 * rendering/RenderSVGContainer.cpp: 19840 (WebCore::RenderSVGContainer::selfWillPaint): 19841 (WebCore::RenderSVGContainer::paint): 19842 * rendering/RenderSVGImage.cpp: 19843 (WebCore::RenderSVGImage::paint): 19844 * rendering/RenderSVGResource.h: 19845 (WebCore::): 19846 (WebCore::RenderSVGResource::postApplyResource): 19847 * rendering/RenderSVGResourceClipper.cpp: 19848 (WebCore::RenderSVGResourceClipper::applyResource): 19849 * rendering/RenderSVGResourceClipper.h: 19850 * rendering/RenderSVGResourceFilter.cpp: Added. 19851 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): 19852 (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): 19853 (WebCore::RenderSVGResourceFilter::invalidateClients): 19854 (WebCore::RenderSVGResourceFilter::invalidateClient): 19855 (WebCore::RenderSVGResourceFilter::buildPrimitives): 19856 (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): 19857 (WebCore::RenderSVGResourceFilter::applyResource): 19858 (WebCore::RenderSVGResourceFilter::postApplyResource): 19859 (WebCore::RenderSVGResourceFilter::resourceBoundingBox): 19860 * rendering/RenderSVGResourceFilter.h: Added. 19861 (WebCore::FilterData::FilterData): 19862 (WebCore::RenderSVGResourceFilter::renderName): 19863 (WebCore::RenderSVGResourceFilter::filterUnits): 19864 (WebCore::RenderSVGResourceFilter::primitiveUnits): 19865 (WebCore::RenderSVGResourceFilter::resourceType): 19866 * rendering/RenderSVGResourceMarker.h: 19867 (WebCore::RenderSVGResourceMarker::applyResource): 19868 * rendering/RenderSVGResourceMasker.cpp: 19869 (WebCore::RenderSVGResourceMasker::applyResource): 19870 * rendering/RenderSVGResourceMasker.h: 19871 * rendering/RenderSVGRoot.cpp: 19872 (WebCore::RenderSVGRoot::selfWillPaint): 19873 (WebCore::RenderSVGRoot::paint): 19874 * rendering/RenderSVGText.cpp: 19875 * rendering/SVGRenderSupport.cpp: 19876 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 19877 (WebCore::SVGRenderBase::finishRenderSVGContent): 19878 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 19879 (WebCore::deregisterFromResources): 19880 * rendering/SVGRenderSupport.h: 19881 * rendering/SVGRenderTreeAsText.cpp: 19882 (WebCore::writeStyle): 19883 (WebCore::writeSVGResource): 19884 (WebCore::writeResources): 19885 (WebCore::writeRenderResources): 19886 * rendering/SVGRootInlineBox.cpp: 19887 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): 19888 (WebCore::SVGRootInlineBox::paint): 19889 * svg/SVGFEBlendElement.cpp: 19890 (WebCore::SVGFEBlendElement::build): 19891 * svg/SVGFEBlendElement.h: 19892 * svg/SVGFEColorMatrixElement.cpp: 19893 (WebCore::SVGFEColorMatrixElement::build): 19894 * svg/SVGFEColorMatrixElement.h: 19895 * svg/SVGFEComponentTransferElement.cpp: 19896 (WebCore::SVGFEComponentTransferElement::build): 19897 * svg/SVGFEComponentTransferElement.h: 19898 * svg/SVGFECompositeElement.cpp: 19899 (WebCore::SVGFECompositeElement::build): 19900 * svg/SVGFECompositeElement.h: 19901 * svg/SVGFEDiffuseLightingElement.cpp: 19902 (WebCore::SVGFEDiffuseLightingElement::build): 19903 * svg/SVGFEDiffuseLightingElement.h: 19904 * svg/SVGFEDisplacementMapElement.cpp: 19905 (WebCore::SVGFEDisplacementMapElement::build): 19906 * svg/SVGFEDisplacementMapElement.h: 19907 * svg/SVGFEFloodElement.cpp: 19908 (WebCore::SVGFEFloodElement::build): 19909 * svg/SVGFEFloodElement.h: 19910 * svg/SVGFEGaussianBlurElement.cpp: 19911 (WebCore::SVGFEGaussianBlurElement::build): 19912 * svg/SVGFEGaussianBlurElement.h: 19913 * svg/SVGFEImageElement.cpp: 19914 (WebCore::SVGFEImageElement::build): 19915 * svg/SVGFEImageElement.h: 19916 * svg/SVGFEMergeElement.cpp: 19917 (WebCore::SVGFEMergeElement::build): 19918 * svg/SVGFEMergeElement.h: 19919 * svg/SVGFEMorphologyElement.cpp: 19920 (WebCore::SVGFEMorphologyElement::build): 19921 * svg/SVGFEMorphologyElement.h: 19922 * svg/SVGFEOffsetElement.cpp: 19923 (WebCore::SVGFEOffsetElement::build): 19924 * svg/SVGFEOffsetElement.h: 19925 * svg/SVGFESpecularLightingElement.cpp: 19926 (WebCore::SVGFESpecularLightingElement::build): 19927 * svg/SVGFESpecularLightingElement.h: 19928 * svg/SVGFETileElement.cpp: 19929 (WebCore::SVGFETileElement::build): 19930 * svg/SVGFETileElement.h: 19931 * svg/SVGFETurbulenceElement.cpp: 19932 (WebCore::SVGFETurbulenceElement::build): 19933 * svg/SVGFETurbulenceElement.h: 19934 (WebCore::): 19935 * svg/SVGFilterElement.cpp: 19936 (WebCore::SVGFilterElement::createRenderer): 19937 * svg/SVGFilterElement.h: 19938 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 19939 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 19940 * svg/SVGFilterPrimitiveStandardAttributes.h: 19941 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect): 19942 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): 19943 * svg/SVGStyledElement.cpp: 19944 (WebCore::SVGStyledElement::invalidateResources): 19945 * svg/graphics/SVGResource.cpp: 19946 * svg/graphics/SVGResource.h: 19947 (WebCore::): 19948 (WebCore::SVGResource::isPaintServer): 19949 * svg/graphics/SVGResourceFilter.cpp: Removed. 19950 * svg/graphics/SVGResourceFilter.h: Removed. 19951 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 19952 (WebCore::FEDisplacementMap::externalRepresentation): 19953 * svg/graphics/filters/SVGFilterBuilder.h: 19954 (WebCore::SVGFilterBuilder::namedEffects): 19955 19956 2010-04-20 Sheriff Bot <webkit.review.bot (a] gmail.com> 19957 19958 Unreviewed, rolling out r57880. 19959 http://trac.webkit.org/changeset/57880 19960 https://bugs.webkit.org/show_bug.cgi?id=37846 19961 19962 Broke several bots, FEDisplacmentMap dumps includes pointers, 19963 no one noticed. Dirk will upload a new patch later. (Requested 19964 by WildFox on #webkit). 19965 19966 * Android.mk: 19967 * GNUmakefile.am: 19968 * WebCore.gypi: 19969 * WebCore.pro: 19970 * WebCore.vcproj/WebCore.vcproj: 19971 * WebCore.xcodeproj/project.pbxproj: 19972 * rendering/RenderPath.cpp: 19973 (WebCore::RenderPath::paint): 19974 * rendering/RenderSVGContainer.cpp: 19975 (WebCore::RenderSVGContainer::selfWillPaint): 19976 (WebCore::RenderSVGContainer::paint): 19977 * rendering/RenderSVGImage.cpp: 19978 (WebCore::RenderSVGImage::paint): 19979 * rendering/RenderSVGResource.h: 19980 (WebCore::): 19981 * rendering/RenderSVGResourceClipper.cpp: 19982 (WebCore::RenderSVGResourceClipper::applyResource): 19983 * rendering/RenderSVGResourceClipper.h: 19984 * rendering/RenderSVGResourceFilter.cpp: Removed. 19985 * rendering/RenderSVGResourceFilter.h: Removed. 19986 * rendering/RenderSVGResourceMarker.h: 19987 (WebCore::RenderSVGResourceMarker::applyResource): 19988 * rendering/RenderSVGResourceMasker.cpp: 19989 (WebCore::RenderSVGResourceMasker::applyResource): 19990 * rendering/RenderSVGResourceMasker.h: 19991 * rendering/RenderSVGRoot.cpp: 19992 (WebCore::RenderSVGRoot::selfWillPaint): 19993 (WebCore::RenderSVGRoot::paint): 19994 * rendering/RenderSVGText.cpp: 19995 * rendering/SVGRenderSupport.cpp: 19996 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 19997 (WebCore::SVGRenderBase::finishRenderSVGContent): 19998 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 19999 (WebCore::deregisterFromResources): 20000 * rendering/SVGRenderSupport.h: 20001 * rendering/SVGRenderTreeAsText.cpp: 20002 (WebCore::writeStyle): 20003 (WebCore::writeSVGResource): 20004 (WebCore::writeResources): 20005 (WebCore::writeRenderResources): 20006 * rendering/SVGRootInlineBox.cpp: 20007 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): 20008 (WebCore::SVGRootInlineBox::paint): 20009 * svg/SVGFEBlendElement.cpp: 20010 (WebCore::SVGFEBlendElement::build): 20011 * svg/SVGFEBlendElement.h: 20012 * svg/SVGFEColorMatrixElement.cpp: 20013 (WebCore::SVGFEColorMatrixElement::build): 20014 * svg/SVGFEColorMatrixElement.h: 20015 * svg/SVGFEComponentTransferElement.cpp: 20016 (WebCore::SVGFEComponentTransferElement::build): 20017 * svg/SVGFEComponentTransferElement.h: 20018 * svg/SVGFECompositeElement.cpp: 20019 (WebCore::SVGFECompositeElement::build): 20020 * svg/SVGFECompositeElement.h: 20021 * svg/SVGFEDiffuseLightingElement.cpp: 20022 (WebCore::SVGFEDiffuseLightingElement::build): 20023 * svg/SVGFEDiffuseLightingElement.h: 20024 * svg/SVGFEDisplacementMapElement.cpp: 20025 (WebCore::SVGFEDisplacementMapElement::build): 20026 * svg/SVGFEDisplacementMapElement.h: 20027 * svg/SVGFEFloodElement.cpp: 20028 (WebCore::SVGFEFloodElement::build): 20029 * svg/SVGFEFloodElement.h: 20030 * svg/SVGFEGaussianBlurElement.cpp: 20031 (WebCore::SVGFEGaussianBlurElement::build): 20032 * svg/SVGFEGaussianBlurElement.h: 20033 * svg/SVGFEImageElement.cpp: 20034 (WebCore::SVGFEImageElement::build): 20035 * svg/SVGFEImageElement.h: 20036 * svg/SVGFEMergeElement.cpp: 20037 (WebCore::SVGFEMergeElement::build): 20038 * svg/SVGFEMergeElement.h: 20039 * svg/SVGFEMorphologyElement.cpp: 20040 (WebCore::SVGFEMorphologyElement::build): 20041 * svg/SVGFEMorphologyElement.h: 20042 * svg/SVGFEOffsetElement.cpp: 20043 (WebCore::SVGFEOffsetElement::build): 20044 * svg/SVGFEOffsetElement.h: 20045 * svg/SVGFESpecularLightingElement.cpp: 20046 (WebCore::SVGFESpecularLightingElement::build): 20047 * svg/SVGFESpecularLightingElement.h: 20048 * svg/SVGFETileElement.cpp: 20049 (WebCore::SVGFETileElement::build): 20050 * svg/SVGFETileElement.h: 20051 * svg/SVGFETurbulenceElement.cpp: 20052 (WebCore::SVGFETurbulenceElement::build): 20053 * svg/SVGFETurbulenceElement.h: 20054 (WebCore::): 20055 * svg/SVGFilterElement.cpp: 20056 (WebCore::SVGFilterElement::buildFilter): 20057 (WebCore::SVGFilterElement::canvasResource): 20058 * svg/SVGFilterElement.h: 20059 (WebCore::SVGFilterElement::rendererIsNeeded): 20060 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 20061 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 20062 * svg/SVGFilterPrimitiveStandardAttributes.h: 20063 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect): 20064 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): 20065 * svg/SVGStyledElement.cpp: 20066 (WebCore::SVGStyledElement::invalidateResources): 20067 * svg/graphics/SVGResource.cpp: 20068 * svg/graphics/SVGResource.h: 20069 (WebCore::): 20070 (WebCore::SVGResource::isFilter): 20071 * svg/graphics/SVGResourceFilter.cpp: Added. 20072 (WebCore::SVGResourceFilter::SVGResourceFilter): 20073 (WebCore::SVGResourceFilter::~SVGResourceFilter): 20074 (WebCore::SVGResourceFilter::filterBoundingBox): 20075 (WebCore::shouldProcessFilter): 20076 (WebCore::SVGResourceFilter::addFilterEffect): 20077 (WebCore::SVGResourceFilter::fitsInMaximumImageSize): 20078 (WebCore::SVGResourceFilter::prepareFilter): 20079 (WebCore::SVGResourceFilter::applyFilter): 20080 (WebCore::SVGResourceFilter::externalRepresentation): 20081 (WebCore::getFilterById): 20082 * svg/graphics/SVGResourceFilter.h: Added. 20083 (WebCore::SVGResourceFilter::create): 20084 (WebCore::SVGResourceFilter::resourceType): 20085 (WebCore::SVGResourceFilter::setFilterResolution): 20086 (WebCore::SVGResourceFilter::setHasFilterResolution): 20087 (WebCore::SVGResourceFilter::filterBoundingBoxMode): 20088 (WebCore::SVGResourceFilter::setFilterBoundingBoxMode): 20089 (WebCore::SVGResourceFilter::effectBoundingBoxMode): 20090 (WebCore::SVGResourceFilter::setEffectBoundingBoxMode): 20091 (WebCore::SVGResourceFilter::filterRect): 20092 (WebCore::SVGResourceFilter::setFilterRect): 20093 (WebCore::SVGResourceFilter::scaleX): 20094 (WebCore::SVGResourceFilter::scaleY): 20095 (WebCore::SVGResourceFilter::setFilterBoundingBox): 20096 (WebCore::SVGResourceFilter::builder): 20097 * svg/graphics/filters/SVGFilterBuilder.h: 20098 20099 2010-04-20 Dirk Schulze <krit (a] webkit.org> 20100 20101 Reviewed by Nikolas Zimmermann. 20102 20103 SVGResourceFilter needs to be moved to under Renderers 20104 https://bugs.webkit.org/show_bug.cgi?id=35320 20105 20106 This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent 20107 from the SVGResources. 20108 A clean-up solves the dependencies between SVGFilterElement, the filter primitives 20109 and SVGResources. This shall make the filter code more readable and better maintable. 20110 The Filter primitives get dumped now, as long as they have externalRepresentation 20111 implemented. 20112 20113 No behavior changes, so no new tests were added. 20114 20115 * Android.mk: 20116 * GNUmakefile.am: 20117 * WebCore.gypi: 20118 * WebCore.pro: 20119 * WebCore.vcproj/WebCore.vcproj: 20120 * WebCore.xcodeproj/project.pbxproj: 20121 * rendering/RenderPath.cpp: 20122 (WebCore::RenderPath::paint): 20123 * rendering/RenderSVGContainer.cpp: 20124 (WebCore::RenderSVGContainer::selfWillPaint): 20125 (WebCore::RenderSVGContainer::paint): 20126 * rendering/RenderSVGImage.cpp: 20127 (WebCore::RenderSVGImage::paint): 20128 * rendering/RenderSVGResource.h: 20129 (WebCore::): 20130 * rendering/RenderSVGResourceClipper.cpp: 20131 (WebCore::RenderSVGResourceClipper::applyResource): 20132 * rendering/RenderSVGResourceClipper.h: 20133 * rendering/RenderSVGResourceFilter.cpp: Added. 20134 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): 20135 (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): 20136 (WebCore::RenderSVGResourceFilter::invalidateClients): 20137 (WebCore::RenderSVGResourceFilter::invalidateClient): 20138 (WebCore::RenderSVGResourceFilter::buildPrimitives): 20139 (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): 20140 (WebCore::RenderSVGResourceFilter::applyResource): 20141 (WebCore::RenderSVGResourceFilter::postApplyResource): 20142 (WebCore::RenderSVGResourceFilter::resourceBoundingBox): 20143 * rendering/RenderSVGResourceFilter.h: Added. 20144 (WebCore::FilterData::FilterData): 20145 (WebCore::RenderSVGResourceFilter::renderName): 20146 (WebCore::RenderSVGResourceFilter::filterUnits): 20147 (WebCore::RenderSVGResourceFilter::primitiveUnits): 20148 (WebCore::RenderSVGResourceFilter::resourceType): 20149 * rendering/RenderSVGResourceMarker.h: 20150 (WebCore::RenderSVGResourceMarker::applyResource): 20151 * rendering/RenderSVGResourceMasker.cpp: 20152 (WebCore::RenderSVGResourceMasker::applyResource): 20153 * rendering/RenderSVGResourceMasker.h: 20154 * rendering/RenderSVGRoot.cpp: 20155 (WebCore::RenderSVGRoot::selfWillPaint): 20156 (WebCore::RenderSVGRoot::paint): 20157 * rendering/RenderSVGText.cpp: 20158 * rendering/SVGRenderSupport.cpp: 20159 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 20160 (WebCore::SVGRenderBase::finishRenderSVGContent): 20161 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 20162 (WebCore::deregisterFromResources): 20163 * rendering/SVGRenderSupport.h: 20164 * rendering/SVGRenderTreeAsText.cpp: 20165 (WebCore::writeStyle): 20166 (WebCore::writeSVGResource): 20167 (WebCore::writeResources): 20168 (WebCore::writeRenderResources): 20169 * rendering/SVGRootInlineBox.cpp: 20170 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): 20171 (WebCore::SVGRootInlineBox::paint): 20172 * svg/SVGFEBlendElement.cpp: 20173 (WebCore::SVGFEBlendElement::build): 20174 * svg/SVGFEBlendElement.h: 20175 * svg/SVGFEColorMatrixElement.cpp: 20176 (WebCore::SVGFEColorMatrixElement::build): 20177 * svg/SVGFEColorMatrixElement.h: 20178 * svg/SVGFEComponentTransferElement.cpp: 20179 (WebCore::SVGFEComponentTransferElement::build): 20180 * svg/SVGFEComponentTransferElement.h: 20181 * svg/SVGFECompositeElement.cpp: 20182 (WebCore::SVGFECompositeElement::build): 20183 * svg/SVGFECompositeElement.h: 20184 * svg/SVGFEDiffuseLightingElement.cpp: 20185 (WebCore::SVGFEDiffuseLightingElement::build): 20186 * svg/SVGFEDiffuseLightingElement.h: 20187 * svg/SVGFEDisplacementMapElement.cpp: 20188 (WebCore::SVGFEDisplacementMapElement::build): 20189 * svg/SVGFEDisplacementMapElement.h: 20190 * svg/SVGFEFloodElement.cpp: 20191 (WebCore::SVGFEFloodElement::build): 20192 * svg/SVGFEFloodElement.h: 20193 * svg/SVGFEGaussianBlurElement.cpp: 20194 (WebCore::SVGFEGaussianBlurElement::build): 20195 * svg/SVGFEGaussianBlurElement.h: 20196 * svg/SVGFEImageElement.cpp: 20197 (WebCore::SVGFEImageElement::build): 20198 * svg/SVGFEImageElement.h: 20199 * svg/SVGFEMergeElement.cpp: 20200 (WebCore::SVGFEMergeElement::build): 20201 * svg/SVGFEMergeElement.h: 20202 * svg/SVGFEMorphologyElement.cpp: 20203 (WebCore::SVGFEMorphologyElement::build): 20204 * svg/SVGFEMorphologyElement.h: 20205 * svg/SVGFEOffsetElement.cpp: 20206 (WebCore::SVGFEOffsetElement::build): 20207 * svg/SVGFEOffsetElement.h: 20208 * svg/SVGFESpecularLightingElement.cpp: 20209 (WebCore::SVGFESpecularLightingElement::build): 20210 * svg/SVGFESpecularLightingElement.h: 20211 * svg/SVGFETileElement.cpp: 20212 (WebCore::SVGFETileElement::build): 20213 * svg/SVGFETileElement.h: 20214 * svg/SVGFETurbulenceElement.cpp: 20215 (WebCore::SVGFETurbulenceElement::build): 20216 * svg/SVGFETurbulenceElement.h: 20217 (WebCore::): 20218 * svg/SVGFilterElement.cpp: 20219 (WebCore::SVGFilterElement::createRenderer): 20220 * svg/SVGFilterElement.h: 20221 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 20222 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 20223 * svg/SVGFilterPrimitiveStandardAttributes.h: 20224 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect): 20225 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): 20226 * svg/SVGStyledElement.cpp: 20227 (WebCore::SVGStyledElement::invalidateResources): 20228 * svg/graphics/SVGResource.cpp: 20229 * svg/graphics/SVGResource.h: 20230 (WebCore::): 20231 (WebCore::SVGResource::isPaintServer): 20232 * svg/graphics/SVGResourceFilter.cpp: Removed. 20233 * svg/graphics/SVGResourceFilter.h: Removed. 20234 * svg/graphics/filters/SVGFilterBuilder.h: 20235 (WebCore::SVGFilterBuilder::namedEffects): 20236 20237 2010-04-20 Gavin Barraclough <barraclough (a] apple.com> 20238 20239 Rubber stamped by Maciej Stachowiak (relanding r57829). 20240 Added missing JS_EXPORTDATA 20241 20242 * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h. 20243 * platform/ThreadGlobalData.cpp: 20244 (WebCore::ThreadGlobalData::ThreadGlobalData): 20245 (WebCore::ThreadGlobalData::~ThreadGlobalData): 20246 * platform/ThreadGlobalData.h: 20247 (WebCore::ThreadGlobalData::eventNames): 20248 * platform/text/AtomicString.cpp: 20249 (WebCore::AtomicStringTable::create): 20250 (WebCore::AtomicStringTable::table): 20251 (WebCore::AtomicStringTable::destroy): 20252 (WebCore::stringTable): 20253 20254 2010-04-20 No'am Rosenthal <noam.rosenthal (a] nokia.com> 20255 20256 Reviewed by Antti Koivisto. 20257 20258 [Qt] GraphicsLayer: support fill-modes 20259 https://bugs.webkit.org/show_bug.cgi?id=36216 20260 Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept 20261 enables a key-frame animation to go to the animation's starting point before the delay, 20262 and/or to stay at the animation's ending point after its ended, without reverting to the default 20263 value. 20264 We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both, 20265 and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both. 20266 20267 * platform/graphics/qt/GraphicsLayerQt.cpp: 20268 (WebCore::AnimationQtBase::AnimationQtBase): 20269 (WebCore::TransformAnimationQt::~TransformAnimationQt): 20270 (WebCore::TransformAnimationQt::applyFrame): 20271 (WebCore::GraphicsLayerQt::addAnimation): 20272 20273 2010-04-19 Leandro Pereira <leandro (a] profusion.mobi> 20274 20275 Reviewed by David Hyatt. 20276 20277 Add missing dummy implementations in PluginPackageNone and PluginViewNone. 20278 http://webkit.org/b/37478 20279 20280 * plugins/PluginPackageNone.cpp: 20281 (WebCore::PluginPackage::NPVersion): Add dummy implementation. 20282 * plugins/PluginViewNone.cpp: 20283 (WebCore::PluginView::handleFocusInEvent): Add dummy implementation. 20284 (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation. 20285 20286 2010-04-19 Simon Fraser <simon.fraser (a] apple.com> 20287 20288 Reviewed by Geoff Garen. 20289 20290 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject 20291 https://bugs.webkit.org/show_bug.cgi?id=37741 20292 20293 Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject, 20294 since it's only used for <object> fallback. 20295 20296 * rendering/RenderEmbeddedObject.cpp: 20297 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): 20298 * rendering/RenderEmbeddedObject.h: 20299 (WebCore::RenderEmbeddedObject::hasFallbackContent): 20300 * rendering/RenderPart.cpp: 20301 (WebCore::RenderPart::RenderPart): 20302 * rendering/RenderPart.h: 20303 20304 2010-04-19 Simon Fraser <simon.fraser (a] apple.com> 20305 20306 Reviewed by Darin Adler. 20307 20308 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject 20309 https://bugs.webkit.org/show_bug.cgi?id=37741 20310 20311 Add a new renderer for iframes, named RenderIFrame. Add a new shared base class 20312 between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase), 20313 and move code from RenderPart and RenderPartObject into these new classes. 20314 20315 There should be no functionality difference with this change, so no new tests. 20316 20317 Fixing up renderer names in the layout tests will be done in a later pass. 20318 20319 Fix build systems to include the new files. 20320 20321 * Android.mk: 20322 * GNUmakefile.am: 20323 * WebCore.gypi: 20324 * WebCore.pro: 20325 * WebCore.vcproj/WebCore.vcproj: 20326 * WebCore.xcodeproj/project.pbxproj: 20327 * html/HTMLIFrameElement.cpp: 20328 (WebCore::HTMLIFrameElement::createRenderer): 20329 * rendering/RenderEmbeddedObject.h: 20330 * rendering/RenderFrame.cpp: 20331 (WebCore::RenderFrame::RenderFrame): 20332 * rendering/RenderFrame.h: 20333 * rendering/RenderFrameBase.cpp: Added. 20334 (WebCore::RenderFrameBase::RenderFrameBase): 20335 (WebCore::RenderFrameBase::layoutWithFlattening): 20336 * rendering/RenderFrameBase.h: Added. 20337 * rendering/RenderIFrame.cpp: Added. 20338 (WebCore::RenderIFrame::RenderIFrame): 20339 (WebCore::RenderIFrame::calcHeight): 20340 (WebCore::RenderIFrame::calcWidth): 20341 (WebCore::RenderIFrame::flattenFrame): 20342 (WebCore::RenderIFrame::layout): 20343 * rendering/RenderIFrame.h: Added. 20344 (WebCore::RenderIFrame::renderName): 20345 * rendering/RenderPart.cpp: 20346 * rendering/RenderPart.h: 20347 * rendering/RenderPartObject.cpp: 20348 * rendering/RenderPartObject.h: 20349 20350 2010-04-19 Dumitru Daniliuc <dumi (a] chromium.org> 20351 20352 Reviewed by Geoffrey Garen. 20353 20354 Bindings clean-up. 20355 https://bugs.webkit.org/show_bug.cgi?id=37833 20356 20357 Move some WebSQLDatabases logic out of the bindings into 20358 DOMWindow.cpp where it should be. 20359 20360 * bindings/js/JSDOMWindowCustom.cpp: 20361 (WebCore::JSDOMWindow::openDatabase): 20362 * bindings/v8/custom/V8DOMWindowCustom.cpp: 20363 (WebCore::V8DOMWindow::openDatabaseCallback): 20364 * page/DOMWindow.cpp: 20365 (WebCore::DOMWindow::openDatabase): 20366 20367 2010-04-19 Kevin Ollivier <kevino (a] theolliviers.com> 20368 20369 Fix the Mac builders for now by restoring the keepAlive function. 20370 20371 * plugins/PluginViewNone.cpp: 20372 (WebCore::PluginView::keepAlive): 20373 20374 2010-04-19 Kevin Ollivier <kevino (a] theolliviers.com> 20375 20376 [wx] Build fix, remove a method that has been moved to PluginView.cpp. 20377 20378 * plugins/PluginViewNone.cpp: 20379 20380 2010-04-19 Gavin Barraclough <barraclough (a] apple.com> 20381 20382 Reviewed by NOBODY (rolling out r57829). 20383 This broke windows. 20384 20385 * ForwardingHeaders/wtf/WTFThreadData.h: Removed. 20386 * platform/ThreadGlobalData.cpp: 20387 (WebCore::ThreadGlobalData::ThreadGlobalData): 20388 (WebCore::ThreadGlobalData::~ThreadGlobalData): 20389 * platform/ThreadGlobalData.h: 20390 (WebCore::ThreadGlobalData::atomicStringTable): 20391 * platform/text/AtomicString.cpp: 20392 (WebCore::stringTable): 20393 20394 2010-04-19 Mark Rowe <mrowe (a] apple.com> 20395 20396 Build fix. 20397 20398 * platform/graphics/mac/GraphicsContext3DMac.cpp: 20399 20400 2010-04-19 Chris Fleizach <cfleizach (a] apple.com> 20401 20402 Reviewed by Beth Dakin. 20403 20404 AX: aria-haspopup needs to be exposed 20405 https://bugs.webkit.org/show_bug.cgi?id=37808 20406 20407 Test: platform/mac/accessibility/element-haspopup.html 20408 20409 * accessibility/AccessibilityObject.h: 20410 (WebCore::AccessibilityObject::ariaHasPopup): 20411 * accessibility/AccessibilityRenderObject.cpp: 20412 (WebCore::AccessibilityRenderObject::ariaHasPopup): 20413 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): 20414 * accessibility/AccessibilityRenderObject.h: 20415 * accessibility/mac/AccessibilityObjectWrapper.mm: 20416 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): 20417 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 20418 20419 2010-04-19 Anders Carlsson <andersca (a] apple.com> 20420 20421 Reviewed by Sam Weinig. 20422 20423 Fix a crash when rendering <select> elements with WebKit2. 20424 20425 * rendering/RenderThemeMac.mm: 20426 (WebCore::RenderThemeMac::paintMenuList): 20427 Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context 20428 could point to a CGContext whose memory has been freed. 20429 20430 2010-04-08 Dimitri Glazkov <dglazkov (a] chromium.org> 20431 20432 Reviewed by Darin Adler. 20433 20434 Manipulating document fragment members while adding it to tree may result in loss of tree integrity. 20435 https://bugs.webkit.org/show_bug.cgi?id=36031 20436 20437 Changes the logic of appending/inserting document fragment to first stashing all of its children 20438 to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation 20439 events mucking with the document fragment while it's being appended/inserted. 20440 20441 Test: fast/dom/Node/fragment-mutation.html 20442 20443 * dom/ContainerNode.cpp: 20444 (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in 20445 inserting/appending operation. 20446 (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration. 20447 (WebCore::ContainerNode::appendChild): Ditto. 20448 * dom/Node.cpp: 20449 (WebCore::Node::checkReplaceChild): Cleaned up comments. 20450 (WebCore::Node::checkAddChild): Ditto. 20451 20452 2010-04-19 Eric Carlson <eric.carlson (a] apple.com> 20453 20454 Reviewed by Simon Fraser. 20455 20456 Fix regression introduced in r57820. 20457 20458 * html/HTMLMediaElement.cpp: 20459 (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of 20460 just setting a URL on the one used for the previous <source> element. This restores 20461 the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728. 20462 20463 2010-04-19 Gavin Barraclough <barraclough (a] apple.com> 20464 20465 Reviewed by Sam Weinig. 20466 20467 https://bugs.webkit.org/show_bug.cgi?id=37745 20468 Move string uniquing tables to (new) WTFThreadData class. 20469 20470 Remove AtomicString's dependency on ThreadGlobalData so that we can move 20471 WebCore's string classes up to WTF. 20472 20473 * ForwardingHeaders/wtf/WTFThreadData.h: Added. 20474 * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized. 20475 (WebCore::ThreadGlobalData::ThreadGlobalData): 20476 (WebCore::ThreadGlobalData::~ThreadGlobalData): 20477 * platform/ThreadGlobalData.h: Remove m_atomicStringTable. 20478 (WebCore::ThreadGlobalData::eventNames): 20479 * platform/text/AtomicString.cpp: 20480 (WebCore::AtomicStringTable::create): 20481 (WebCore::AtomicStringTable::table): 20482 (WebCore::AtomicStringTable::destroy): 20483 (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData(). 20484 20485 2010-04-19 Ada Chan <adachan (a] apple.com> 20486 20487 Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota() 20488 in #if ENABLE(DOM_STORAGE). 20489 20490 * page/Settings.cpp: 20491 (WebCore::Settings::Settings): 20492 * page/Settings.h: 20493 20494 2010-04-19 Dave Moore <davemoore (a] chromium.org> 20495 20496 Reviewed by Dimitri Glazkov. 20497 20498 Added notification when the favicons for a page are changed 20499 from a script. 20500 The Document object will notify the frame loader, which will 20501 notify the client. Implementations of FrameLoaderClient will 20502 have to add one method; dispatchDidChangeIcons(). 20503 20504 https://bugs.webkit.org/show_bug.cgi?id=33812 20505 20506 Test: fast/dom/icon-url-property.html 20507 20508 * dom/Document.cpp: 20509 (WebCore::Document::setIconURL): 20510 * loader/DocumentLoader.cpp: 20511 (WebCore::DocumentLoader::setIconURL): 20512 * loader/DocumentLoader.h: 20513 (WebCore::DocumentLoader::iconURL): 20514 * loader/EmptyClients.h: 20515 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons): 20516 * loader/FrameLoader.cpp: 20517 (WebCore::FrameLoader::setIconURL): 20518 (WebCore::FrameLoader::didChangeIcons): 20519 * loader/FrameLoader.h: 20520 * loader/FrameLoaderClient.h: 20521 20522 2010-04-19 Ada Chan <adachan (a] apple.com> 20523 20524 Reviewed by Jeremy Orlow. 20525 20526 https://bugs.webkit.org/show_bug.cgi?id=37717 20527 Allow clients concerned with memory consumption to set a quota on session storage 20528 since the memory used won't be released until the Page is destroyed. 20529 The default is noQuota, which matches the current behavior. 20530 20531 * WebCore.base.exp: Export Settings::setSessionStorageQuota(). 20532 * page/Page.cpp: 20533 (WebCore::Page::sessionStorage): 20534 * page/Settings.cpp: 20535 (WebCore::Settings::Settings): 20536 (WebCore::Settings::setSessionStorageQuota): 20537 * page/Settings.h: 20538 (WebCore::Settings::sessionStorageQuota): 20539 * storage/StorageNamespace.cpp: 20540 (WebCore::StorageNamespace::sessionStorageNamespace): 20541 * storage/StorageNamespace.h: 20542 * storage/StorageNamespaceImpl.cpp: 20543 (WebCore::StorageNamespaceImpl::sessionStorageNamespace): 20544 * storage/StorageNamespaceImpl.h: 20545 20546 2010-04-19 Eric Carlson <eric.carlson (a] apple.com> 20547 20548 Reviewed by Simon Fraser. 20549 20550 Setting media element 'src' attribute should trigger immediate load 20551 https://bugs.webkit.org/show_bug.cgi?id=37728 20552 20553 * html/HTMLMediaElement.cpp: 20554 (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute 20555 changes unless it is missing. 20556 (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal. 20557 (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad. 20558 (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad 20559 so the previously loading file, if any, is cancelled there. 20560 20561 2010-04-19 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 20562 20563 Reviewed by Simon Hausmann. 20564 20565 [Qt] Fix compilation against namespaced Qt. 20566 20567 * platform/graphics/GraphicsLayer.h: 20568 * platform/graphics/Tile.h: 20569 * platform/graphics/qt/MediaPlayerPrivateQt.h: 20570 * platform/network/qt/NetworkStateNotifierPrivate.h: 20571 20572 2010-04-19 Balazs Kelemen <kb (a] inf.u-szeged.hu> 20573 20574 Reviewed by Kenneth Rohde Christiansen. 20575 20576 [Qt] Destroy SharedTimerQt before destruction of QCoreApplication. 20577 20578 To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication 20579 has been started, we should explicitly destroy the SharedTimerQt instance on application exit. 20580 We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal 20581 into the SharedTimerQt instance. 20582 20583 https://bugs.webkit.org/show_bug.cgi?id=36832 20584 20585 No functional change so no new tests. 20586 20587 * platform/qt/SharedTimerQt.cpp: 20588 (WebCore::SharedTimerQt::SharedTimerQt): 20589 (WebCore::SharedTimerQt::destroy): 20590 (WebCore::SharedTimerQt::inst): 20591 20592 2010-04-19 Dan Bernstein <mitz (a] apple.com> 20593 20594 Reviewed by Darin Adler. 20595 20596 Make the fix for <rdar://problem/7873647> from r57759 more robust. 20597 20598 * rendering/RenderLayer.cpp: 20599 (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes. 20600 20601 2010-04-19 Yury Semikhatsky <yurys (a] chromium.org> 20602 20603 Unreviewed. Chromium build fix. 20604 20605 * bindings/v8/JavaScriptCallFrame.h: 20606 20607 2010-04-19 Yury Semikhatsky <yurys (a] chromium.org> 20608 20609 Reviewed by Pavel Feldman. 20610 20611 Web Inspector: implement JavaScriptCallFrame that works for v8. 20612 Implementing this binding for v8 allows to make evaluations on 20613 call frames and protects access to the debugger context from 20614 inspected context. 20615 20616 https://bugs.webkit.org/show_bug.cgi?id=37755 20617 20618 * WebCore.gyp/WebCore.gyp: 20619 * WebCore.gypi: 20620 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 20621 (WebCore::JSJavaScriptCallFrame::scopeType): 20622 * bindings/v8/JavaScriptCallFrame.cpp: Added. 20623 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): 20624 (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame): 20625 (WebCore::JavaScriptCallFrame::caller): 20626 (WebCore::JavaScriptCallFrame::sourceID): 20627 (WebCore::JavaScriptCallFrame::line): 20628 (WebCore::JavaScriptCallFrame::functionName): 20629 (WebCore::JavaScriptCallFrame::scopeChain): 20630 (WebCore::JavaScriptCallFrame::scopeType): 20631 (WebCore::JavaScriptCallFrame::thisObject): 20632 (WebCore::JavaScriptCallFrame::evaluate): 20633 * bindings/v8/JavaScriptCallFrame.h: Added. 20634 (WebCore::JavaScriptCallFrame::create): 20635 * bindings/v8/ScriptDebugServer.cpp: 20636 (WebCore::ScriptDebugServer::currentCallFrame): 20637 * bindings/v8/ScriptDebugServer.h: 20638 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 20639 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 20640 * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added. 20641 (WebCore::V8JavaScriptCallFrame::evaluateCallback): 20642 (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter): 20643 (WebCore::V8JavaScriptCallFrame::scopeTypeCallback): 20644 (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter): 20645 (WebCore::V8JavaScriptCallFrame::typeAccessorGetter): 20646 * inspector/JavaScriptCallFrame.idl: 20647 * inspector/front-end/InjectedScript.js: 20648 (injectedScriptConstructor.): 20649 20650 2010-04-19 Jessie Berlin <jberlin (a] webkit.org> 20651 20652 Rubber Stamped by Adam Roben 20653 20654 Chromium Release Build Fix. 20655 20656 * css/CSSSelector.cpp: 20657 (WebCore::CSSSelector::pseudoId): 20658 In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch. 20659 20660 2010-04-19 Jessie Berlin <jberlin (a] webkit.org> 20661 20662 Reviewed by Dave Hyatt. 20663 20664 First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods. 20665 https://bugs.webkit.org/show_bug.cgi?id=24021 20666 20667 Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle. 20668 This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated. 20669 Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers. 20670 20671 Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html 20672 20673 * WebCore.base.exp: 20674 * css/CSSComputedStyleDeclaration.cpp: 20675 (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration): 20676 Parse the and store the pseudo-element specifier from the string provided by the user. 20677 (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): 20678 Get the computed style for the pseudo-element if it has been specified. 20679 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 20680 Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation. 20681 (WebCore::CSSComputedStyleDeclaration::length): 20682 Get the computed style for the pseudo-element if it has been specified. 20683 (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches): 20684 Ditto. 20685 * css/CSSComputedStyleDeclaration.h: 20686 (WebCore::computedStyle): 20687 Take into consideration the pseudo-element. 20688 20689 * css/CSSSelector.cpp: 20690 (WebCore::CSSSelector::pseudoId): 20691 Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO. 20692 (WebCore::nameToPseudoTypeMap): 20693 Create and return the mapping between string names and PseudoTypes. 20694 (WebCore::CSSSelector::parsePseudoType): 20695 Parse and the given string into a PseudoType. 20696 (WebCore::CSSSelector::extractPseudoType): 20697 Refactored to use parsePseudoType. 20698 * css/CSSSelector.h: 20699 20700 * css/CSSStyleSelector.cpp: 20701 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 20702 Refactored to use pseudoId. 20703 20704 * dom/Element.cpp: 20705 (WebCore::Element::computedStyle): 20706 If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element. 20707 * dom/Element.h: 20708 (WebCore::Element::virtualComputedStyle): 20709 Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient. 20710 20711 * dom/Node.h: 20712 (WebCore::Node::computedStyle): 20713 Ditto. 20714 * dom/Node.cpp: 20715 (WebCore::Node::virtualComputedStyle): 20716 Get the computed style for the pseudo-element if it has been specified. 20717 20718 * page/DOMWindow.cpp: 20719 (WebCore::DOMWindow::getComputedStyle): 20720 Ditto. 20721 20722 2010-04-18 Simon Hausmann <simon.hausmann (a] nokia.com> 20723 20724 Reviewed by Laszlo Gombos. 20725 20726 [Qt] Fix JavaScriptCore's include path for WinCE builds 20727 20728 https://bugs.webkit.org/show_bug.cgi?id=36751 20729 20730 * WebCore.pro: 20731 20732 2010-04-17 Alexey Proskuryakov <ap (a] apple.com> 20733 20734 Reviewed by Adam Barth. 20735 20736 https://bugs.webkit.org/show_bug.cgi?id=37720 20737 <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes 20738 crashes on SnowLeopard Release 20739 20740 Tests: 20741 * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html: 20742 * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html: 20743 20744 * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event 20745 listeners set via document.body. The body wrapper can go away if nothing else references it. 20746 20747 * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations, 20748 because we need to use window object as a wrapper, not the element. Marked all window event 20749 listeners as such for code generator. 20750 20751 * html/HTMLFrameSetElement.idl: Ditto. 20752 20753 2010-04-17 Juan C. Montemayor <jmonte03 (a] cs.tufts.edu> 20754 20755 Reviewed by Joseph Pecoraro. 20756 20757 Databases pane doesn't recognize table creation/deletion 20758 https://bugs.webkit.org/show_bug.cgi?id=20219 20759 20760 * inspector/front-end/DatabaseQueryView.js: 20761 (WebInspector.DatabaseQueryView.prototype._queryFinished): 20762 20763 2010-04-17 Yaar Schnitman <yaar (a] chromium.org> 20764 20765 Reviewed by Adam Barth. 20766 20767 Auto-generate V8 bindings for canvas.* overloads 20768 https://bugs.webkit.org/show_bug.cgi?id=37453 20769 20770 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated. 20771 * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input. 20772 * html/canvas/CanvasRenderingContext2D.cpp: 20773 (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage. 20774 * html/canvas/CanvasRenderingContext2D.h: 20775 * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only). 20776 20777 2010-04-17 Yury Semikhatsky <yurys (a] chromium.org> 20778 20779 Reviewed by Pavel Feldman. 20780 20781 Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js 20782 20783 https://bugs.webkit.org/show_bug.cgi?id=37740 20784 20785 * GNUmakefile.am: 20786 * WebCore.gypi: 20787 * WebCore.pro: 20788 * WebCore.vcproj/WebCore.vcproj: 20789 * WebCore.xcodeproj/project.pbxproj: 20790 * bindings/js/JSBindingsAllInOne.cpp: 20791 * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp. 20792 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): 20793 (WebCore::JavaScriptCallFrame::caller): 20794 (WebCore::JavaScriptCallFrame::scopeChain): 20795 (WebCore::JavaScriptCallFrame::dynamicGlobalObject): 20796 (WebCore::JavaScriptCallFrame::functionName): 20797 (WebCore::JavaScriptCallFrame::type): 20798 (WebCore::JavaScriptCallFrame::thisObject): 20799 (WebCore::JavaScriptCallFrame::evaluate): 20800 * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h. 20801 (WebCore::JavaScriptCallFrame::create): 20802 (WebCore::JavaScriptCallFrame::invalidate): 20803 (WebCore::JavaScriptCallFrame::isValid): 20804 (WebCore::JavaScriptCallFrame::sourceID): 20805 (WebCore::JavaScriptCallFrame::line): 20806 (WebCore::JavaScriptCallFrame::update): 20807 * inspector/InjectedScriptHost.h: 20808 * inspector/InspectorController.h: 20809 20810 2010-04-17 Vangelis Kokkevis <vangelis (a] chromium.org> 20811 20812 Reviewed by Dimitri Glazkov. 20813 20814 Adding definition of GLES2Context class. 20815 https://bugs.webkit.org/show_bug.cgi?id=37541 20816 20817 No new functionality implemented yet, no tests. 20818 20819 * WebCore.gypi: Added GLES2Context.h 20820 * platform/chromium/GLES2Context.h: Added. 20821 20822 2010-04-17 Julien Chaffraix <jchaffraix (a] webkit.org> 20823 20824 Reviewed by Darin Adler. 20825 20826 Crash while handling SVG font in the wrong namespace imported with @font-face 20827 https://bugs.webkit.org/show_bug.cgi?id=18862 20828 20829 Test: fast/invalid/invalidSVGFont.html 20830 20831 * loader/CachedFont.cpp: 20832 (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using 20833 getElementsByNameNS: the element factory chooses which element to create based on both 20834 localName and namespace. 20835 20836 2010-04-16 Sheriff Bot <webkit.review.bot (a] gmail.com> 20837 20838 Unreviewed, rolling out r57770. 20839 http://trac.webkit.org/changeset/57770 20840 https://bugs.webkit.org/show_bug.cgi?id=37746 20841 20842 8 test cases crashed (Requested by Ossy on #webkit). 20843 20844 * platform/graphics/qt/GraphicsLayerQt.cpp: 20845 (WebCore::AnimationQtBase::AnimationQtBase): 20846 (WebCore::TransformAnimationQt::~TransformAnimationQt): 20847 (WebCore::TransformAnimationQt::applyFrame): 20848 (WebCore::OpacityAnimationQt::applyFrame): 20849 (WebCore::GraphicsLayerQt::addAnimation): 20850 20851 2010-04-16 Daniel Bates <dbates (a] rim.com> 20852 20853 Reviewed by Adam Treat. 20854 20855 https://bugs.webkit.org/show_bug.cgi?id=36312 20856 20857 Adds support for the viewport meta tag. The code is largely derived in whole 20858 or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3 20859 source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>. 20860 20861 * Android.mk: Added file ViewportArguments.cpp. 20862 * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h. 20863 * WebCore.gypi: Ditto. 20864 * WebCore.pro: Ditto. 20865 * WebCore.vcproj/WebCore.vcproj: Ditto. 20866 * WebCore.xcodeproj/project.pbxproj: Ditto. 20867 * dom/Document.cpp: 20868 (WebCore::isSeparator): Added. 20869 (WebCore::Document::processArguments): Added. 20870 (WebCore::Document::processViewport): Added. 20871 * dom/Document.h: 20872 * dom/ViewportArguments.cpp: Added. 20873 (WebCore::setViewportFeature): 20874 (WebCore::viewportErrorMessageTemplate): 20875 (WebCore::viewportErrorMessageLevel): 20876 (WebCore::reportViewportWarning): 20877 * dom/ViewportArguments.h: Added. 20878 (WebCore::): 20879 (WebCore::ViewportArguments::): 20880 (WebCore::ViewportArguments::ViewportArguments): 20881 (WebCore::ViewportArguments::hasCustomArgument): 20882 * html/HTMLMetaElement.cpp: 20883 (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport. 20884 * page/ChromeClient.h: 20885 (WebCore::ChromeClient::didReceiveViewportArguments): Added. 20886 20887 2010-04-16 No'am Rosenthal <noam.rosenthal (a] nokia.com> 20888 20889 Reviewed by Antti Koivisto. 20890 20891 [Qt] GraphicsLayer: support fill-modes 20892 https://bugs.webkit.org/show_bug.cgi?id=36216 20893 Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept 20894 enables a key-frame animation to go to the animation's starting point before the delay, 20895 and/or to stay at the animation's ending point after its ended, without reverting to the default 20896 value. 20897 We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both, 20898 and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both. 20899 20900 * platform/graphics/qt/GraphicsLayerQt.cpp: 20901 (WebCore::AnimationQtBase::AnimationQtBase): 20902 (WebCore::TransformAnimationQt::~TransformAnimationQt): 20903 (WebCore::TransformAnimationQt::applyFrame): 20904 (WebCore::GraphicsLayerQt::addAnimation): 20905 20906 2010-04-16 Gavin Barraclough <barraclough (a] apple.com> 20907 20908 Reviewed by NOBODY (arm build fix). 20909 20910 * bindings/js/JSDesktopNotificationsCustom.cpp: 20911 (WebCore::JSNotification::addEventListener): 20912 (WebCore::JSNotification::removeEventListener): 20913 20914 2010-04-16 Dmitry Titov <dimich (a] chromium.org> 20915 20916 Reviewed by Yury Semikhatsky. 20917 20918 [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror. 20919 https://bugs.webkit.org/show_bug.cgi?id=37691 20920 20921 Existing worker-close.html will now work in Chromium. 20922 20923 * bindings/v8/V8Utilities.cpp: 20924 (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available. 20925 * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController. 20926 * bindings/v8/WorkerScriptController.h: 20927 (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller. 20928 20929 2010-04-16 Gavin Barraclough <barraclough (a] apple.com> 20930 20931 Reviewed by Sam Weinig. 20932 20933 https://bugs.webkit.org/show_bug.cgi?id=37735 20934 Remove JSC specific code from WebCore::AtomicString 20935 20936 Add generic constructor/add/find methods that take a UChar* & length, along 20937 with a known existing hash for the string. 20938 This removes the remaining JSC specific code from platform/text. 20939 20940 * bindings/js/JSAbstractWorkerCustom.cpp: 20941 (WebCore::JSAbstractWorker::addEventListener): 20942 (WebCore::JSAbstractWorker::removeEventListener): 20943 * bindings/js/JSDOMApplicationCacheCustom.cpp: 20944 (WebCore::JSDOMApplicationCache::addEventListener): 20945 (WebCore::JSDOMApplicationCache::removeEventListener): 20946 * bindings/js/JSDOMBinding.cpp: 20947 (WebCore::ustringToAtomicString): 20948 (WebCore::identifierToAtomicString): 20949 (WebCore::findAtomicString): 20950 * bindings/js/JSDOMBinding.h: 20951 * bindings/js/JSDOMWindowCustom.cpp: 20952 (WebCore::childFrameGetter): 20953 (WebCore::JSDOMWindow::getOwnPropertySlot): 20954 (WebCore::JSDOMWindow::getOwnPropertyDescriptor): 20955 (WebCore::JSDOMWindow::open): 20956 (WebCore::JSDOMWindow::addEventListener): 20957 (WebCore::JSDOMWindow::removeEventListener): 20958 * bindings/js/JSElementCustom.cpp: 20959 (WebCore::JSElement::setAttribute): 20960 (WebCore::JSElement::setAttributeNS): 20961 * bindings/js/JSEventSourceCustom.cpp: 20962 (WebCore::JSEventSource::addEventListener): 20963 (WebCore::JSEventSource::removeEventListener): 20964 * bindings/js/JSHTMLAllCollectionCustom.cpp: 20965 (WebCore::getNamedItems): 20966 (WebCore::JSHTMLAllCollection::canGetItemsForName): 20967 * bindings/js/JSHTMLCollectionCustom.cpp: 20968 (WebCore::getNamedItems): 20969 (WebCore::JSHTMLCollection::canGetItemsForName): 20970 * bindings/js/JSHTMLDocumentCustom.cpp: 20971 (WebCore::JSHTMLDocument::canGetItemsForName): 20972 * bindings/js/JSHTMLFormElementCustom.cpp: 20973 (WebCore::JSHTMLFormElement::canGetItemsForName): 20974 (WebCore::JSHTMLFormElement::nameGetter): 20975 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 20976 (WebCore::JSHTMLFrameSetElement::canGetItemsForName): 20977 (WebCore::JSHTMLFrameSetElement::nameGetter): 20978 * bindings/js/JSMessageEventCustom.cpp: 20979 (WebCore::JSMessageEvent::initMessageEvent): 20980 * bindings/js/JSMessagePortCustom.cpp: 20981 (WebCore::JSMessagePort::addEventListener): 20982 (WebCore::JSMessagePort::removeEventListener): 20983 * bindings/js/JSMimeTypeArrayCustom.cpp: 20984 (WebCore::JSMimeTypeArray::canGetItemsForName): 20985 (WebCore::JSMimeTypeArray::nameGetter): 20986 * bindings/js/JSNodeCustom.cpp: 20987 (WebCore::JSNode::addEventListener): 20988 (WebCore::JSNode::removeEventListener): 20989 * bindings/js/JSNodeListCustom.cpp: 20990 (WebCore::JSNodeList::canGetItemsForName): 20991 (WebCore::JSNodeList::nameGetter): 20992 * bindings/js/JSPluginArrayCustom.cpp: 20993 (WebCore::JSPluginArray::canGetItemsForName): 20994 (WebCore::JSPluginArray::nameGetter): 20995 * bindings/js/JSPluginCustom.cpp: 20996 (WebCore::JSPlugin::canGetItemsForName): 20997 (WebCore::JSPlugin::nameGetter): 20998 * bindings/js/JSPopStateEventCustom.cpp: 20999 (WebCore::JSPopStateEvent::initPopStateEvent): 21000 * bindings/js/JSSVGElementInstanceCustom.cpp: 21001 (WebCore::JSSVGElementInstance::addEventListener): 21002 (WebCore::JSSVGElementInstance::removeEventListener): 21003 * bindings/js/JSWebSocketCustom.cpp: 21004 (WebCore::JSWebSocket::addEventListener): 21005 (WebCore::JSWebSocket::removeEventListener): 21006 * bindings/js/JSWorkerContextCustom.cpp: 21007 (WebCore::JSWorkerContext::addEventListener): 21008 (WebCore::JSWorkerContext::removeEventListener): 21009 * bindings/js/JSXMLHttpRequestCustom.cpp: 21010 (WebCore::JSXMLHttpRequest::setRequestHeader): 21011 (WebCore::JSXMLHttpRequest::getResponseHeader): 21012 (WebCore::JSXMLHttpRequest::addEventListener): 21013 (WebCore::JSXMLHttpRequest::removeEventListener): 21014 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 21015 (WebCore::JSXMLHttpRequestUpload::addEventListener): 21016 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 21017 * platform/text/AtomicString.cpp: 21018 (WebCore::AtomicString::add): 21019 (WebCore::AtomicString::find): 21020 * platform/text/AtomicString.h: 21021 (WebCore::AtomicString::AtomicString): 21022 21023 2010-04-16 Fumitoshi Ukai <ukai (a] chromium.org> 21024 21025 Reviewed by Alexey Proskuryakov. 21026 21027 WebSocket crash when it receives bad header. 21028 https://bugs.webkit.org/show_bug.cgi?id=37682 21029 21030 If name or value is not valid UTF-8, nameStr or valueStr would be 21031 null string, so crashed in headers->add(nameStr, valueStr). 21032 Check both nameStr and valueStr are not null string. 21033 Otherwise handshake will fail. 21034 21035 Test: websocket/tests/bad-handshake-crash.html 21036 21037 * websockets/WebSocketHandshake.cpp: 21038 (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string. 21039 21040 2010-04-16 Dan Bernstein <mitz (a] apple.com> 21041 21042 Reviewed by Simon Fraser. 21043 21044 <rdar://problem/7873647> Crash when updating hover state 21045 21046 Test: fast/dynamic/hover-style-recalc-crash.html 21047 21048 Updating the hover state of an element caused the document to need style 21049 recalc, and then updating the hover state of a link caused style recalc, 21050 which changed the render tree while updateHoverActiveState() was iterating 21051 over it, leading to a crash. 21052 21053 * rendering/RenderLayer.cpp: 21054 (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be 21055 updated into vectors, then update their active and hover states. 21056 21057 2010-04-16 Dumitru Daniliuc <dumi (a] chromium.org> 21058 21059 Reviewed by Alexey Proskuryakov. 21060 21061 Make Safari correctly allocate 5MB of DB storage to all new 21062 origins. 21063 https://bugs.webkit.org/show_bug.cgi?id=36671 21064 21065 Eric fixed the same problem in 21066 DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot 21067 to fix it in DatabaseTracker::detailsForNameAndOrigin() too. 21068 21069 * storage/DatabaseTracker.cpp: 21070 (WebCore::DatabaseTracker::detailsForNameAndOrigin): 21071 21072 2010-04-16 Kinuko Yasuda <kinuko (a] chromium.org> 21073 21074 Reviewed by Jian Li. 21075 21076 Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI 21077 https://bugs.webkit.org/show_bug.cgi?id=37218 21078 21079 No new tests; tests will be added when we add upper layer implementations. 21080 21081 * GNUmakefile.am: 21082 * WebCore.gypi: 21083 * WebCore.pro: 21084 * WebCore.vcproj/WebCore.vcproj: 21085 * WebCore.xcodeproj/project.pbxproj: 21086 * html/FileStream.cpp: 21087 (WebCore::FileStream::stop): 21088 * html/FileStream.h: 21089 * html/FileStreamClient.h: 21090 (WebCore::FileStreamClient::didStop): 21091 * html/FileStreamProxy.cpp: Added 21092 * html/FileStreamProxy.h: Added 21093 * html/FileThreadTask.h: Added 21094 21095 2010-04-16 Gavin Barraclough <barraclough (a] apple.com> 21096 21097 Reviewed by Oliver Hunt. 21098 21099 Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl 21100 (Following on from bug #37675). 21101 21102 Remove ustring() method, and constructor passed a UString. 21103 21104 * WebCore.base.exp: 21105 * bindings/js/JSDOMBinding.cpp: 21106 (WebCore::stringimplToUString): 21107 (WebCore::jsStringSlowCase): 21108 (WebCore::ustringToString): 21109 (WebCore::stringToUString): 21110 (WebCore::identifierToString): 21111 * bindings/js/JSDOMBinding.h: 21112 (WebCore::jsString): 21113 * platform/text/AtomicString.cpp: 21114 (WebCore::AtomicString::operator UString): 21115 * platform/text/StringImpl.cpp: 21116 (WebCore::StringImpl::create): 21117 * platform/text/StringImpl.h: 21118 21119 2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 21120 21121 Reviewed by Simon Hausmann. 21122 21123 [Qt] WebGL is not visible when QGLWidget viewport is used 21124 https://bugs.webkit.org/show_bug.cgi?id=37070 21125 21126 Added HostWindow parameter to the constructor of GraphicsContext3D. 21127 Shared OpenGL context is initialized with parent QGLWidget. 21128 21129 * html/canvas/WebGLRenderingContext.cpp: 21130 (WebCore::WebGLRenderingContext::create): 21131 * platform/graphics/GraphicsContext3D.h: 21132 * platform/graphics/mac/GraphicsContext3DMac.cpp: 21133 (WebCore::GraphicsContext3D::create): 21134 (WebCore::GraphicsContext3D::GraphicsContext3D): 21135 * platform/graphics/qt/GraphicsContext3DQt.cpp: 21136 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 21137 (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): 21138 (WebCore::GraphicsContext3DInternal::getOwnerGLWidget): 21139 (WebCore::GraphicsContext3D::create): 21140 (WebCore::GraphicsContext3D::GraphicsContext3D): 21141 21142 2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 21143 21144 Reviewed by Simon Hausmann. 21145 21146 [Qt] WebKit compilation fails with --3d-canvas 21147 https://bugs.webkit.org/show_bug.cgi?id=37699 21148 21149 API for readPixels() has been changed. 21150 21151 * platform/graphics/qt/GraphicsContext3DQt.cpp: 21152 (WebCore::GraphicsContext3D::readPixels): 21153 21154 2010-04-16 No'am Rosenthal <noam.rosenthal (a] nokia.com> 21155 21156 Reviewed by Antti Koivisto. 21157 21158 [Qt]QtLauncher crash on page with CSS 3D transform 21159 https://bugs.webkit.org/show_bug.cgi?id=36859 21160 21161 Added a neccessary null-pointer check, lack of which created the crash circumstances. 21162 21163 Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html 21164 21165 * platform/graphics/qt/GraphicsLayerQt.cpp: 21166 (WebCore::GraphicsLayerQtImpl::flushChanges): 21167 21168 2010-04-16 Anders Carlsson <andersca (a] apple.com> 21169 21170 Reviewed by Sam Weinig. 21171 21172 Make sure to update the current graphics context when calling out to AppKit. 21173 21174 * platform/mac/ThemeMac.mm: 21175 (WebCore::paintCheckbox): 21176 (WebCore::paintRadio): 21177 21178 2010-04-15 Gavin Barraclough <barraclough (a] apple.com> 21179 21180 Reviewed by Sam Weinig & Oliver Hunt. 21181 21182 https://bugs.webkit.org/show_bug.cgi?id=37675 21183 Remove casts/constructors to/from JSC::UString type from WebCore::String 21184 21185 WebCore's strings should not know about JSC::UString, this should be abstracted 21186 away in the bindings. Add explicit conversion methods rather than relying on 21187 overloaded cast operators / constructors being implicitly called. 21188 21189 This patch only changes the class String, once this has landed StringImpl, and 21190 hopefully AtomicString too, should follow suit. 21191 21192 This patch adds: 21193 WebCore::identifierToString 21194 WebCore::ustringToString 21195 WebCore::stringToUString 21196 21197 - to JSDOMBindings.h, and updates code to call these methods. 21198 21199 * WebCore.base.exp: 21200 * WebCore.order: 21201 * bindings/js/CachedScriptSourceProvider.h: 21202 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): 21203 * bindings/js/JSAudioConstructor.cpp: 21204 (WebCore::constructAudio): 21205 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 21206 (WebCore::JSCSSStyleDeclaration::nameGetter): 21207 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 21208 (WebCore::toHTMLCanvasStyle): 21209 (WebCore::JSCanvasRenderingContext2D::setFillColor): 21210 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 21211 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 21212 (WebCore::JSCanvasRenderingContext2D::setShadow): 21213 (WebCore::JSCanvasRenderingContext2D::fillText): 21214 (WebCore::JSCanvasRenderingContext2D::strokeText): 21215 * bindings/js/JSClipboardCustom.cpp: 21216 (WebCore::JSClipboard::types): 21217 (WebCore::JSClipboard::clearData): 21218 (WebCore::JSClipboard::getData): 21219 (WebCore::JSClipboard::setData): 21220 * bindings/js/JSCustomXPathNSResolver.cpp: 21221 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 21222 * bindings/js/JSDOMBinding.cpp: 21223 (WebCore::identifierToString): 21224 (WebCore::ustringToString): 21225 (WebCore::stringToUString): 21226 (WebCore::valueToStringWithNullCheck): 21227 (WebCore::valueToStringWithUndefinedOrNullCheck): 21228 (WebCore::reportException): 21229 * bindings/js/JSDOMBinding.h: 21230 * bindings/js/JSDOMFormDataCustom.cpp: 21231 (WebCore::JSDOMFormData::append): 21232 * bindings/js/JSDOMWindowCustom.cpp: 21233 (WebCore::namedItemGetter): 21234 (WebCore::JSDOMWindow::setLocation): 21235 (WebCore::JSDOMWindow::openDatabase): 21236 * bindings/js/JSDatabaseCustom.cpp: 21237 (WebCore::JSDatabase::changeVersion): 21238 * bindings/js/JSDocumentCustom.cpp: 21239 (WebCore::JSDocument::setLocation): 21240 * bindings/js/JSEventListener.cpp: 21241 (WebCore::JSEventListener::handleEvent): 21242 * bindings/js/JSEventSourceConstructor.cpp: 21243 (WebCore::constructEventSource): 21244 * bindings/js/JSHTMLAllCollectionCustom.cpp: 21245 (WebCore::callHTMLAllCollection): 21246 * bindings/js/JSHTMLCanvasElementCustom.cpp: 21247 (WebCore::JSHTMLCanvasElement::getContext): 21248 * bindings/js/JSHTMLCollectionCustom.cpp: 21249 (WebCore::callHTMLCollection): 21250 * bindings/js/JSHTMLDocumentCustom.cpp: 21251 (WebCore::JSHTMLDocument::nameGetter): 21252 (WebCore::documentWrite): 21253 * bindings/js/JSInjectedScriptHostCustom.cpp: 21254 (WebCore::InjectedScriptHost::createInjectedScript): 21255 * bindings/js/JSInspectorFrontendHostCustom.cpp: 21256 (WebCore::JSInspectorFrontendHost::showContextMenu): 21257 * bindings/js/JSLazyEventListener.cpp: 21258 (WebCore::JSLazyEventListener::initializeJSFunction): 21259 * bindings/js/JSLocationCustom.cpp: 21260 (WebCore::JSLocation::setHref): 21261 (WebCore::JSLocation::setProtocol): 21262 (WebCore::JSLocation::setHost): 21263 (WebCore::JSLocation::setHostname): 21264 (WebCore::JSLocation::setPathname): 21265 (WebCore::JSLocation::setSearch): 21266 (WebCore::JSLocation::setHash): 21267 (WebCore::JSLocation::replace): 21268 (WebCore::JSLocation::assign): 21269 * bindings/js/JSMessageEventCustom.cpp: 21270 (WebCore::JSMessageEvent::initMessageEvent): 21271 * bindings/js/JSNamedNodeMapCustom.cpp: 21272 (WebCore::JSNamedNodeMap::canGetItemsForName): 21273 (WebCore::JSNamedNodeMap::nameGetter): 21274 * bindings/js/JSOptionConstructor.cpp: 21275 (WebCore::constructHTMLOptionElement): 21276 * bindings/js/JSSQLResultSetRowListCustom.cpp: 21277 (WebCore::JSSQLResultSetRowList::item): 21278 * bindings/js/JSSQLTransactionCustom.cpp: 21279 (WebCore::JSSQLTransaction::executeSql): 21280 * bindings/js/JSSharedWorkerConstructor.cpp: 21281 (WebCore::constructSharedWorker): 21282 * bindings/js/JSStorageCustom.cpp: 21283 (WebCore::JSStorage::canGetItemsForName): 21284 (WebCore::JSStorage::nameGetter): 21285 (WebCore::JSStorage::deleteProperty): 21286 (WebCore::JSStorage::getOwnPropertyNames): 21287 (WebCore::JSStorage::putDelegate): 21288 * bindings/js/JSStyleSheetListCustom.cpp: 21289 (WebCore::JSStyleSheetList::canGetItemsForName): 21290 (WebCore::JSStyleSheetList::nameGetter): 21291 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 21292 (WebCore::constructWebKitCSSMatrix): 21293 * bindings/js/JSWebSocketConstructor.cpp: 21294 (WebCore::constructWebSocket): 21295 * bindings/js/JSWebSocketCustom.cpp: 21296 (WebCore::JSWebSocket::send): 21297 * bindings/js/JSWorkerConstructor.cpp: 21298 (WebCore::constructWorker): 21299 * bindings/js/JSWorkerContextCustom.cpp: 21300 (WebCore::JSWorkerContext::importScripts): 21301 * bindings/js/JSXMLHttpRequestCustom.cpp: 21302 (WebCore::JSXMLHttpRequest::open): 21303 (WebCore::JSXMLHttpRequest::setRequestHeader): 21304 (WebCore::JSXMLHttpRequest::send): 21305 (WebCore::JSXMLHttpRequest::overrideMimeType): 21306 * bindings/js/JSXSLTProcessorCustom.cpp: 21307 (WebCore::JSXSLTProcessor::setParameter): 21308 (WebCore::JSXSLTProcessor::getParameter): 21309 (WebCore::JSXSLTProcessor::removeParameter): 21310 * bindings/js/ScheduledAction.cpp: 21311 (WebCore::ScheduledAction::create): 21312 * bindings/js/ScriptCallFrame.cpp: 21313 (WebCore::ScriptCallFrame::ScriptCallFrame): 21314 * bindings/js/ScriptController.cpp: 21315 (WebCore::ScriptController::evaluateInWorld): 21316 * bindings/js/ScriptDebugServer.cpp: 21317 (WebCore::ScriptDebugServer::hasBreakpoint): 21318 (WebCore::ScriptDebugServer::dispatchDidParseSource): 21319 (WebCore::ScriptDebugServer::dispatchFailedToParseSource): 21320 (WebCore::ScriptDebugServer::sourceParsed): 21321 * bindings/js/ScriptEventListener.cpp: 21322 (WebCore::getEventListenerHandlerBody): 21323 * bindings/js/ScriptFunctionCall.cpp: 21324 (WebCore::ScriptFunctionCall::appendArgument): 21325 (WebCore::ScriptFunctionCall::call): 21326 (WebCore::ScriptFunctionCall::construct): 21327 * bindings/js/ScriptObject.cpp: 21328 (WebCore::ScriptObject::set): 21329 * bindings/js/ScriptProfiler.cpp: 21330 (WebCore::ScriptProfiler::start): 21331 (WebCore::ScriptProfiler::stop): 21332 * bindings/js/ScriptString.h: 21333 (WebCore::ScriptString::operator String): 21334 (WebCore::ScriptString::ustring): 21335 (WebCore::ScriptString::operator+=): 21336 * bindings/js/ScriptValue.cpp: 21337 (WebCore::ScriptValue::getString): 21338 * bindings/js/ScriptValue.h: 21339 (WebCore::ScriptValue::toString): 21340 * bindings/js/SerializedScriptValue.cpp: 21341 (WebCore::SerializedObject::set): 21342 (WebCore::SerializingTreeWalker::convertIfTerminal): 21343 (WebCore::DeserializingTreeWalker::putProperty): 21344 * bindings/js/StringSourceProvider.h: 21345 (WebCore::StringSourceProvider::StringSourceProvider): 21346 * bindings/objc/WebScriptObject.mm: 21347 (-[WebScriptObject callWebScriptMethod:withArguments:]): 21348 (-[WebScriptObject setValue:forKey:]): 21349 (-[WebScriptObject valueForKey:]): 21350 (-[WebScriptObject removeWebScriptKey:]): 21351 * bindings/scripts/CodeGeneratorJS.pm: 21352 * bridge/IdentifierRep.cpp: 21353 (WebCore::IdentifierRep::get): 21354 * bridge/c/c_utility.cpp: 21355 (JSC::Bindings::identifierFromNPIdentifier): 21356 * inspector/InspectorController.cpp: 21357 (WebCore::InspectorController::scriptImported): 21358 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 21359 (WebCore::InspectorController::createProfileHeader): 21360 * inspector/InspectorResource.cpp: 21361 (WebCore::InspectorResource::sourceString): 21362 * inspector/JavaScriptCallFrame.cpp: 21363 (WebCore::JavaScriptCallFrame::functionName): 21364 * platform/KURL.h: 21365 (WebCore::KURL::operator const String&): 21366 * platform/text/AtomicString.cpp: 21367 (WebCore::AtomicString::operator UString): 21368 * platform/text/AtomicString.h: 21369 * platform/text/PlatformString.h: 21370 * platform/text/String.cpp: 21371 21372 2010-04-16 Anders Carlsson <andersca (a] apple.com> 21373 21374 Reviewed by David Hyatt. 21375 21376 Always pass a view to the AppKit drawing functions. 21377 https://bugs.webkit.org/show_bug.cgi?id=37724 21378 21379 * platform/mac/ThemeMac.mm: 21380 (WebCore::paintCheckbox): 21381 (WebCore::paintRadio): 21382 * rendering/RenderThemeMac.mm: 21383 (WebCore::RenderThemeMac::paintMenuList): 21384 (WebCore::RenderThemeMac::paintSliderThumb): 21385 (WebCore::RenderThemeMac::paintSearchField): 21386 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): 21387 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): 21388 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): 21389 21390 2010-04-16 Alexey Proskuryakov <ap (a] apple.com> 21391 21392 Reviewed by Dan Bernstein. 21393 21394 https://bugs.webkit.org/show_bug.cgi?id=37718 21395 Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks 21396 21397 Test: fast/events/recorded-keydown-event.html 21398 21399 * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is 21400 frameless. 21401 21402 2010-04-16 Jian Li <jianli (a] chromium.org> 21403 21404 Reviewed by Dmitry Titov. 21405 21406 Update FormDataList to fix style violations in old code. 21407 https://bugs.webkit.org/show_bug.cgi?id=37689 21408 21409 * html/FormDataList.h: 21410 (WebCore::FormDataList::appendData): 21411 (WebCore::FormDataList::appendBlob): 21412 21413 2010-04-16 Anders Carlsson <andersca (a] apple.com> 21414 21415 Fix WebKit2 build. 21416 21417 * WebCore.base.exp: 21418 21419 2010-04-16 Jay Civelli <jcivelli (a] chromium.org> 21420 21421 Reviewed by Dimitri Glazkov. 21422 21423 [chromium] Fix Mac build. 21424 https://bugs.webkit.org/show_bug.cgi?id=37436 21425 21426 * platform/chromium/PopupMenuChromium.h: 21427 21428 2010-04-16 Jay Civelli <jcivelli (a] chromium.org> 21429 21430 Reviewed by Dimitri Glazkov. 21431 21432 [chromium] Select popups would assert when destroyed. 21433 https://bugs.webkit.org/show_bug.cgi?id=37436 21434 21435 21436 * platform/chromium/PopupMenuChromium.cpp: 21437 (WebCore::PopupContainer::PopupContainer): 21438 (WebCore::PopupContainer::showPopup): 21439 (WebCore::PopupContainer::notifyPopupHidden): 21440 * platform/chromium/PopupMenuChromium.h: 21441 21442 2010-04-16 Antonio Gomes <tonikitoo (a] webkit.org> 21443 21444 Unreviewed QtWebKit (with Qt 4.7) build fix. 21445 21446 Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not 21447 renamed the variable used. 21448 21449 * platform/graphics/qt/FontPlatformDataQt.cpp: 21450 (WebCore::FontPlatformData::FontPlatformData): 21451 21452 2010-04-16 Noam Rosenthal <noam.rosenthal (a] nokia.com> 21453 21454 Reviewed by Kenneth Rohde Christiansen. 21455 21456 Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption. 21457 This aligns our implementation with the Safari implementation - layers are always uploaded 21458 to textures in item units, and WebCore is responsible for the heuristics. 21459 21460 [Qt] GraphicsLayer: performance optimizations 21461 https://bugs.webkit.org/show_bug.cgi?id=35393 21462 21463 No new tests. Still no FPS benchmarks available (on any platform) 21464 but animations are noticably better. 21465 21466 * platform/graphics/qt/GraphicsLayerQt.cpp: 21467 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 21468 (WebCore::GraphicsLayerQtImpl::paint): 21469 (WebCore::GraphicsLayerQtImpl::flushChanges): 21470 (WebCore::TransformAnimationQt::updateState): 21471 21472 2010-04-16 Simon Hausmann <simon.hausmann (a] nokia.com> 21473 21474 Reviewed by Kenneth Rohde Christiansen. 21475 21476 [Qt] WebCore::Font::font() causes a QFont detach 21477 https://bugs.webkit.org/show_bug.cgi?id=37683 21478 21479 Moved the setStyleStrategy call to FontPlatformData 21480 to avoid the detach. 21481 21482 Thanks to Holger for spotting this. 21483 21484 * platform/graphics/qt/FontPlatformDataQt.cpp: 21485 (WebCore::FontPlatformData::FontPlatformData): 21486 * platform/graphics/qt/FontQt.cpp: 21487 (WebCore::Font::font): 21488 21489 2010-04-15 Matt Perry <mpcomplete (a] chromium.org> 21490 21491 Reviewed by Adam Barth. 21492 21493 Remove the check for the main frame's scheme when deciding which 21494 v8 extensions to add to a script context. Instead, Chromium will 21495 handle that check elsewhere to allow finer-grained control over 21496 what APIs we expose to web pages. 21497 https://bugs.webkit.org/show_bug.cgi?id=37681 21498 21499 * bindings/v8/V8DOMWindowShell.cpp: 21500 (WebCore::V8DOMWindowShell::createNewContext): 21501 21502 2010-04-15 Luiz Agostini <luiz.agostini (a] openbossa.org> 21503 21504 Reviewed by Antti Koivisto. 21505 21506 No default selection for <select multiple> menu lists. 21507 https://bugs.webkit.org/show_bug.cgi?id=37530 21508 21509 Manual test: manual-tests/no-listbox-rendering.html 21510 21511 For menu lists, if the selection is not indicated by the html file, the first <option> will be 21512 selected after loading the page or reseting the form. On the other hand listboxes may have no 21513 element selected after loading the page or reseting the form. 21514 21515 When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple> 21516 that did not have selected elements, now being menu lists, will have the first <option> 21517 selected. That is the behavior difference that this patch corrects. 21518 21519 When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot 21520 be used to decide about initial selection of the elements. This patch replaces (usesMenuLists()) 21521 by (!multiple && size <= 1) where initial selection is considered. 21522 21523 * dom/SelectElement.cpp: 21524 (WebCore::SelectElement::recalcListItems): 21525 (WebCore::SelectElement::reset): 21526 * manual-tests/no-listbox-rendering.html: Added. 21527 21528 2010-04-15 Zhenyao Mo <zmo (a] google.com> 21529 21530 Reviewed by Dimitri Glazkov. 21531 21532 Index validation code validates too many vertex attributes 21533 https://bugs.webkit.org/show_bug.cgi?id=31892 21534 21535 * html/canvas/WebGLProgram.cpp: 21536 (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time. 21537 (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location. 21538 (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations. 21539 * html/canvas/WebGLProgram.h: Add attribute locations member. 21540 * html/canvas/WebGLRenderingContext.cpp: 21541 (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program. 21542 (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations(). 21543 21544 2010-04-16 Adam Roben <aroben (a] apple.com> 21545 21546 Don't assert when soft-linked libraries can't be found 21547 21548 In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not 21549 to be able to be found in all cases. So we shouldn't assert that they're always found. 21550 21551 Reviewed by Sam Weinig. 21552 21553 * platform/win/SoftLinking.h: 21554 (SOFT_LINK): Don't assert when LoadLibrary fails. 21555 21556 2010-04-15 Dmitry Titov <dimich (a] chromium.org> 21557 21558 Unreviewed, rolling out r57688. 21559 http://trac.webkit.org/changeset/57688 21560 https://bugs.webkit.org/show_bug.cgi?id=34992 21561 21562 Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots 21563 21564 * bindings/js/JSWorkerContextCustom.cpp: 21565 * bindings/v8/custom/V8WorkerContextCustom.cpp: 21566 * storage/Database.idl: 21567 * storage/SQLError.idl: 21568 * storage/SQLResultSet.idl: 21569 * storage/SQLResultSetRowList.idl: 21570 * storage/SQLTransaction.idl: 21571 * workers/WorkerContext.cpp: 21572 (WebCore::WorkerContext::openDatabase): 21573 * workers/WorkerContext.h: 21574 (WebCore::WorkerContext::databaseExceededQuota): 21575 * workers/WorkerContext.idl: 21576 21577 2010-04-15 Yury Semikhatsky <yurys (a] google.com> 21578 21579 Reviewed by Pavel Feldman. 21580 21581 Support basic debugging capabilities including step in/over/out in v8 21582 implementation of ScriptDebugServer. 21583 21584 https://bugs.webkit.org/show_bug.cgi?id=37604 21585 21586 * bindings/js/JSInjectedScriptHostCustom.cpp: 21587 (WebCore::InjectedScriptHost::createInjectedScript): 21588 * bindings/v8/ScriptDebugServer.cpp: 21589 (WebCore::ScriptDebugServer::ScriptDebugServer): 21590 (WebCore::ScriptDebugServer::setDebuggerScriptSource): 21591 (WebCore::ScriptDebugServer::addListener): 21592 (WebCore::ScriptDebugServer::removeListener): 21593 (WebCore::ScriptDebugServer::setBreakpoint): 21594 (WebCore::ScriptDebugServer::removeBreakpoint): 21595 (WebCore::ScriptDebugServer::clearBreakpoints): 21596 (WebCore::ScriptDebugServer::setBreakpointsActivated): 21597 (WebCore::ScriptDebugServer::continueProgram): 21598 (WebCore::ScriptDebugServer::stepIntoStatement): 21599 (WebCore::ScriptDebugServer::stepOverStatement): 21600 (WebCore::ScriptDebugServer::stepOutOfFunction): 21601 (WebCore::ScriptDebugServer::currentCallFrameState): 21602 (WebCore::ScriptDebugServer::currentCallFrameV8): 21603 (WebCore::ScriptDebugServer::onV8DebugMessage): 21604 (WebCore::ScriptDebugServer::onV8DebugHostDispatch): 21605 (WebCore::ScriptDebugServer::handleV8DebugHostDispatch): 21606 (WebCore::ScriptDebugServer::handleV8DebugMessage): 21607 (WebCore::ScriptDebugServer::dispatchDidParseSource): 21608 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled): 21609 (WebCore::ScriptDebugServer::didResume): 21610 * bindings/v8/ScriptDebugServer.h: 21611 (WebCore::ScriptDebugServer::pauseOnExceptionsState): 21612 (WebCore::ScriptDebugServer::setPauseOnExceptionsState): 21613 (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler): 21614 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 21615 (WebCore::InjectedScriptHost::createInjectedScript): 21616 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 21617 (WebCore::V8InjectedScriptHost::isActivationCallback): 21618 * inspector/front-end/InjectedScript.js: 21619 (injectedScriptConstructor): 21620 (injectedScriptConstructor.): 21621 * inspector/front-end/ScriptsPanel.js: 21622 (WebInspector.ScriptsPanel): 21623 21624 2010-04-15 Jian Li <jianli (a] chromium.org> 21625 21626 Reviewed by Dmitry Titov. 21627 21628 Support using FormData to send a sliced file via XHR. 21629 https://bugs.webkit.org/show_bug.cgi?id=36678 21630 21631 Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html 21632 21633 * html/Blob.h: 21634 (WebCore::Blob::isFile): 21635 * html/DOMFormData.cpp: 21636 (WebCore::DOMFormData::append): 21637 * html/File.h: 21638 (WebCore::File::isFile): 21639 * html/FormDataList.h: 21640 (WebCore::FormDataList::appendBlob): 21641 (WebCore::FormDataList::Item::Item): 21642 (WebCore::FormDataList::Item::blob): 21643 * html/HTMLInputElement.cpp: 21644 (WebCore::HTMLInputElement::appendFormData): 21645 * platform/network/FormData.cpp: 21646 (WebCore::FormData::appendDOMFormData): 21647 * platform/network/mac/FormDataStreamMac.mm: 21648 (WebCore::closeCurrentStream): 21649 21650 2010-04-15 Zhenyao Mo <zmo (a] google.com> 21651 21652 Reviewed by Dimitri Glazkov. 21653 21654 Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization 21655 https://bugs.webkit.org/show_bug.cgi?id=37178 21656 21657 Test: fast/canvas/webgl/point-size.html 21658 21659 * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization. 21660 (WebCore::GraphicsContext3D::GraphicsContext3D): 21661 21662 2010-04-15 Eric Uhrhane <ericu (a] chromium.org> 21663 21664 Reviewed by Dmitry Titov. 21665 21666 Add bindings for async DB API in Workers. 21667 https://bugs.webkit.org/show_bug.cgi?id=34992 21668 21669 Tests: storage/change-version-handle-reuse-worker.html 21670 storage/execute-sql-args-worker.html 21671 21672 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding. 21673 (WebCore::JSWorkerContext::openDatabase): 21674 21675 * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there. 21676 (WebCore::V8WorkerContext::openDatabaseCallback): 21677 21678 Add NoStaticTables flags to all objects now shared with workers. 21679 * storage/Database.idl: 21680 * storage/SQLError.idl: 21681 * storage/SQLResultSet.idl: 21682 * storage/SQLResultSetRowList.idl: 21683 * storage/SQLTransaction.idl: 21684 21685 * workers/WorkerContext.h: Add databaseExceededQuota. 21686 * workers/WorkerContext.cpp: 21687 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now. 21688 (WebCore::WorkerContext::openDatabase): Remove invalid assertion. 21689 21690 Add the IDL for the call to openDatabase. 21691 * workers/WorkerContext.idl: 21692 21693 2010-04-15 Nicolas Weber <thakis (a] chromium.org> 21694 21695 Reviewed by Dimitri Glazkov. 21696 21697 Fix drag image thumbnails for indexed images. 21698 https://bugs.webkit.org/show_bug.cgi?id=37621 21699 21700 * platform/chromium/DragImageChromiumMac.cpp: 21701 (WebCore::scaleDragImage): Always use RGB color space. 21702 (WebCore::dissolveDragImageToFraction): Always use RGB color space. 21703 21704 2010-04-15 Adam Roben <aroben (a] apple.com> 21705 21706 Expose UserContentURLPattern as WebKit SPI 21707 21708 Fixes <http://webkit.org/b/37354>. 21709 21710 Reviewed by Tim Hatcher. 21711 21712 * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted 21713 the file. 21714 21715 * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as 21716 "Private". 21717 21718 * page/UserContentURLPattern.h: 21719 (WebCore::UserContentURLPattern::UserContentURLPattern): Added a 21720 default constructor. 21721 (WebCore::UserContentURLPattern::isValid): Added this getter. 21722 21723 2010-04-15 Chris Fleizach <cfleizach (a] apple.com> 21724 21725 Reviewed by Beth Dakin. 21726 21727 AXHelp is being appended from ancestors incorrectly 21728 https://bugs.webkit.org/show_bug.cgi?id=37659 21729 21730 Test: platform/mac/accessibility/unexpected-help-text.html 21731 21732 * accessibility/AccessibilityRenderObject.cpp: 21733 (WebCore::AccessibilityRenderObject::helpText): 21734 21735 2010-04-15 David Hyatt <hyatt (a] apple.com> 21736 21737 Reviewed by Anders Carlsson. 21738 21739 https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies 21740 a pseudoelement. 21741 21742 Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo. The existing model gets 21743 confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary 21744 style). I changed the style cache to be a Vector instead. 21745 21746 Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case 21747 you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist. 21748 21749 * css/CSSStyleSelector.cpp: 21750 (WebCore::CSSStyleSelector::styleForElement): 21751 (WebCore::CSSStyleSelector::pseudoStyleForElement): 21752 * dom/Element.cpp: 21753 (WebCore::Element::pseudoStyleCacheIsInvalid): 21754 * rendering/style/RenderStyle.cpp: 21755 (WebCore::RenderStyle::getCachedPseudoStyle): 21756 (WebCore::RenderStyle::addCachedPseudoStyle): 21757 * rendering/style/RenderStyle.h: 21758 (WebCore::): 21759 (WebCore::InheritedFlags::cachedPseudoStyles): 21760 21761 2010-04-15 Albert J. Wong <ajwong (a] chromium.org> 21762 21763 Unreviewed, rolling out r57660. 21764 http://trac.webkit.org/changeset/57660 21765 https://bugs.webkit.org/show_bug.cgi?id=37604 21766 21767 Broke a large number of inspector layout tests in chromium. 21768 21769 * bindings/js/JSInjectedScriptHostCustom.cpp: 21770 (WebCore::InjectedScriptHost::createInjectedScript): 21771 * bindings/v8/ScriptDebugServer.cpp: 21772 * bindings/v8/ScriptDebugServer.h: 21773 (WebCore::ScriptDebugServer::addListener): 21774 (WebCore::ScriptDebugServer::removeListener): 21775 (WebCore::ScriptDebugServer::setBreakpoint): 21776 (WebCore::ScriptDebugServer::removeBreakpoint): 21777 (WebCore::ScriptDebugServer::clearBreakpoints): 21778 (WebCore::ScriptDebugServer::setBreakpointsActivated): 21779 (WebCore::ScriptDebugServer::pauseOnExceptionsState): 21780 (WebCore::ScriptDebugServer::setPauseOnExceptionsState): 21781 (WebCore::ScriptDebugServer::continueProgram): 21782 (WebCore::ScriptDebugServer::stepIntoStatement): 21783 (WebCore::ScriptDebugServer::stepOverStatement): 21784 (WebCore::ScriptDebugServer::stepOutOfFunction): 21785 (WebCore::ScriptDebugServer::currentCallFrameState): 21786 (WebCore::ScriptDebugServer::ScriptDebugServer): 21787 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 21788 (WebCore::InjectedScriptHost::createInjectedScript): 21789 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 21790 (WebCore::V8InjectedScriptHost::isActivationCallback): 21791 * inspector/front-end/InjectedScript.js: 21792 (injectedScriptConstructor): 21793 * inspector/front-end/ScriptsPanel.js: 21794 (WebInspector.ScriptsPanel): 21795 21796 2010-04-14 Dumitru Daniliuc <dumi (a] chromium.org> 21797 21798 Reviewed by Dimitri Glazkov. 21799 21800 DatabaseTracker refactoring: remove the dependency on 21801 OriginQuotaManager from DatabaseTracker.h 21802 https://bugs.webkit.org/show_bug.cgi?id=31482 21803 21804 * storage/DatabaseTracker.cpp: 21805 (WebCore::DatabaseTracker::DatabaseTracker): 21806 (WebCore::DatabaseTracker::~DatabaseTracker): 21807 (WebCore::DatabaseTracker::canEstablishDatabase): 21808 (WebCore::DatabaseTracker::hasEntryForOrigin): 21809 (WebCore::DatabaseTracker::getMaxSizeForDatabase): 21810 (WebCore::DatabaseTracker::databaseChanged): 21811 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): 21812 (WebCore::DatabaseTracker::fullPathForDatabase): 21813 (WebCore::DatabaseTracker::populateOrigins): 21814 (WebCore::DatabaseTracker::origins): 21815 (WebCore::DatabaseTracker::databaseNamesForOrigin): 21816 (WebCore::DatabaseTracker::addOpenDatabase): 21817 (WebCore::DatabaseTracker::removeOpenDatabase): 21818 (WebCore::DatabaseTracker::usageForOriginNoLock): 21819 (WebCore::DatabaseTracker::usageForOrigin): 21820 (WebCore::DatabaseTracker::quotaForOrigin): 21821 (WebCore::DatabaseTracker::setQuota): 21822 (WebCore::DatabaseTracker::deleteOrigin): 21823 (WebCore::DatabaseTracker::deleteDatabase): 21824 (WebCore::DatabaseTracker::deleteDatabaseFile): 21825 * storage/DatabaseTracker.h: 21826 * storage/SQLTransactionClient.cpp: 21827 (WebCore::SQLTransactionClient::didExecuteStatement): 21828 21829 2010-04-15 Zhenyao Mo <zmo (a] google.com> 21830 21831 Reviewed by Adam Barth. 21832 21833 Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot 21834 This fixes an uninitialized variable bug and restores a glFinish call that used to be present. 21835 https://bugs.webkit.org/show_bug.cgi?id=36908 21836 21837 * platform/graphics/mac/GraphicsContext3DMac.cpp: 21838 (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0. 21839 (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path. 21840 21841 2010-04-14 Antonio Gomes <tonikitoo (a] webkit.org> 21842 21843 Reviewed by Simon Fraser. 21844 21845 Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect 21846 https://bugs.webkit.org/show_bug.cgi?id=37635 21847 21848 absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes. 21849 So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases. 21850 21851 * page/SpatialNavigation.cpp: 21852 (WebCore::hasOffscreenRect): 21853 21854 2010-04-14 Antonio Gomes <tonikitoo (a] webkit.org> 21855 21856 Reviewed by Simon Fraser. 21857 21858 Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method 21859 https://bugs.webkit.org/show_bug.cgi?id=37634 21860 21861 This assignment line is not longer needed after r57061, bug that refactored all 21862 assignment logic to happen lines below in the method. 21863 21864 * page/FocusController.cpp: 21865 (WebCore::updateFocusCandidateIfCloser): 21866 21867 2010-04-15 Yury Semikhatsky <yurys (a] google.com> 21868 21869 Reviewed by Pavel Feldman. 21870 21871 Support basic debugging capabilities including step in/over/out in v8 21872 implementation of ScriptDebugServer. 21873 21874 https://bugs.webkit.org/show_bug.cgi?id=37604 21875 21876 * bindings/js/JSInjectedScriptHostCustom.cpp: 21877 (WebCore::InjectedScriptHost::createInjectedScript): 21878 * bindings/v8/ScriptDebugServer.cpp: 21879 (WebCore::ScriptDebugServer::ScriptDebugServer): 21880 (WebCore::ScriptDebugServer::setDebuggerScriptSource): 21881 (WebCore::ScriptDebugServer::addListener): 21882 (WebCore::ScriptDebugServer::removeListener): 21883 (WebCore::ScriptDebugServer::setBreakpoint): 21884 (WebCore::ScriptDebugServer::removeBreakpoint): 21885 (WebCore::ScriptDebugServer::clearBreakpoints): 21886 (WebCore::ScriptDebugServer::setBreakpointsActivated): 21887 (WebCore::ScriptDebugServer::continueProgram): 21888 (WebCore::ScriptDebugServer::stepIntoStatement): 21889 (WebCore::ScriptDebugServer::stepOverStatement): 21890 (WebCore::ScriptDebugServer::stepOutOfFunction): 21891 (WebCore::ScriptDebugServer::currentCallFrameState): 21892 (WebCore::ScriptDebugServer::currentCallFrameV8): 21893 (WebCore::ScriptDebugServer::onV8DebugMessage): 21894 (WebCore::ScriptDebugServer::onV8DebugHostDispatch): 21895 (WebCore::ScriptDebugServer::handleV8DebugHostDispatch): 21896 (WebCore::ScriptDebugServer::handleV8DebugMessage): 21897 (WebCore::ScriptDebugServer::dispatchDidParseSource): 21898 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled): 21899 (WebCore::ScriptDebugServer::didResume): 21900 * bindings/v8/ScriptDebugServer.h: 21901 (WebCore::ScriptDebugServer::pauseOnExceptionsState): 21902 (WebCore::ScriptDebugServer::setPauseOnExceptionsState): 21903 (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler): 21904 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 21905 (WebCore::InjectedScriptHost::createInjectedScript): 21906 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 21907 (WebCore::V8InjectedScriptHost::isActivationCallback): 21908 * inspector/front-end/InjectedScript.js: 21909 (injectedScriptConstructor): 21910 (injectedScriptConstructor.): 21911 * inspector/front-end/ScriptsPanel.js: 21912 (WebInspector.ScriptsPanel): 21913 21914 2010-04-15 Nikolas Zimmermann <nzimmermann (a] rim.com> 21915 21916 Reviewed by Beth Dakin. 21917 21918 RenderSVGResource <-> id mapping should be cached 21919 https://bugs.webkit.org/show_bug.cgi?id=37575 21920 21921 Test: svg/custom/clip-path-id-changes.svg 21922 21923 * rendering/RenderSVGResource.h: 21924 (WebCore::RenderSVGResource::RenderSVGResource): 21925 (WebCore::RenderSVGResource::~RenderSVGResource): 21926 (WebCore::RenderSVGResource::idChanged): 21927 (WebCore::getRenderSVGResourceById): 21928 * svg/SVGDocumentExtensions.cpp: 21929 (WebCore::SVGDocumentExtensions::addResource): 21930 (WebCore::SVGDocumentExtensions::removeResource): 21931 (WebCore::SVGDocumentExtensions::resourceById): 21932 * svg/SVGDocumentExtensions.h: 21933 * svg/SVGStyledElement.cpp: 21934 (WebCore::SVGStyledElement::svgAttributeChanged): 21935 21936 2010-04-15 Justin Schuh <jschuh (a] chromium.org> 21937 21938 Reviewed by Dimitri Glazkov. 21939 21940 LayoutTest breakage in V8 bindings after r57627 21941 https://bugs.webkit.org/show_bug.cgi?id=37660 21942 21943 Fixes breakage of the following tests due to an error in V8 bindings for 21944 NamedNodeMap: 21945 hc_namednodemapinuseattributeerr.html 21946 hc_namednodemapsetnameditemreturnvalue.html 21947 hc_namednodemapwrongdocumenterr.html 21948 hc_namednodemapinvalidtype1.html 21949 NamedNodeMap-setNamedItem-crash.html 21950 21951 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 21952 (WebCore::V8NamedNodeMap::setNamedItemNSCallback): 21953 (WebCore::V8NamedNodeMap::setNamedItemCallback): 21954 21955 2010-04-15 David Hyatt <hyatt (a] apple.com> 21956 21957 Reviewed by Anders Carlsson. 21958 21959 https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color. Make sure 21960 that the pseudo style caching allows visited link styles to hang off other pseudo styles. 21961 21962 * rendering/RenderBlock.cpp: 21963 (WebCore::RenderBlock::updateFirstLetter): 21964 * rendering/style/RenderStyle.cpp: 21965 (WebCore::RenderStyle::getCachedPseudoStyle): 21966 21967 2010-04-15 Ben Murdoch <benm (a] google.com> 21968 21969 Unreviewed, rolling out r57652. 21970 http://trac.webkit.org/changeset/57652 21971 https://bugs.webkit.org/show_bug.cgi?id=37609 21972 21973 Caused a build break on Chromium Mac and Layout Test fail on 21974 Qt 21975 21976 * platform/PlatformTouchPoint.h: 21977 (WebCore::PlatformTouchPoint::): 21978 * platform/qt/PlatformTouchPointQt.cpp: 21979 (WebCore::PlatformTouchPoint::PlatformTouchPoint): 21980 21981 2010-04-15 Yaar Schnitman <yaar (a] chromium.org> 21982 21983 Reviewed by Nate Chapin. 21984 21985 Overloads auto-generation in V8 21986 https://bugs.webkit.org/show_bug.cgi?id=37373 21987 21988 This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments. 21989 21990 Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments). 21991 21992 * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code. 21993 * bindings/v8/test/TestObj.idl: Overloads sample. 21994 * bindings/v8/test/V8TestObj.cpp: Output change. 21995 21996 2010-04-15 Ben Murdoch <benm (a] google.com> 21997 21998 Reviewed by Kenneth Rohde Christiansen. 21999 22000 The TouchStationary state of WebCore::PlatformTouchPoint 22001 is not handled inside the touch event handler. 22002 https://bugs.webkit.org/show_bug.cgi?id=37609 22003 22004 After discussions at the WebKit contributors meeting, we decided 22005 that this is a currently unused state without a good future use 22006 case in the Touch API and thus decided to remove it. This patch 22007 actions that decision. 22008 22009 As the TouchStationary state is not handled in the EventHandler, 22010 there is no change in functionality so no new tests are required. 22011 22012 * platform/PlatformTouchPoint.h: 22013 (WebCore::PlatformTouchPoint::): Remove TouchStationary. 22014 * platform/qt/PlatformTouchPointQt.cpp: 22015 (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary. 22016 22017 2010-04-15 Steve Falkenburg <sfalken (a] apple.com> 22018 22019 Reviewed by Adam Roben. 22020 22021 Use a lower-overhead mechanism for plug-in message throttling 22022 https://bugs.webkit.org/show_bug.cgi?id=37642 22023 <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related) 22024 22025 GMail has an instance of Flash that loads on the main mail page. 22026 This Flash content sends us a constant stream of WM_USER+1 messsages. 22027 22028 There was already code in PluginMessageThrottlerWin to queue and process these 22029 excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of 22030 problems with this code: 22031 22032 - The timer used to process the excess messages had a very low timeout (1ms). 22033 Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here, 22034 while still maintaining good Flash frame rate. 22035 22036 - The overhead involved in generating a constant stream of 5ms timers still swamped 22037 the CPU, resulting in continued high CPU utilization. 22038 22039 To fix this, I changed the throttling code to: 22040 22041 - Process a queued WM_USER+1 message directly if none has been processed in 5ms. 22042 This allows us to avoid the overhead of a timer. 22043 22044 - Process remaining delayed WM_USER+1 messages on a 16ms timer. 22045 22046 This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system. 22047 I also verified the frame rate for Flash content wasn't reduced with this change. 22048 22049 * plugins/win/PluginMessageThrottlerWin.cpp: 22050 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime. 22051 (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed. 22052 (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired. 22053 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage. 22054 * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime. 22055 22056 2010-04-15 Shinichiro Hamaji <hamaji (a] chromium.org> 22057 22058 Reviewed by David Levin. 22059 22060 LEAK: in ThreadableWebSocketChannel::create() 22061 https://bugs.webkit.org/show_bug.cgi?id=37584 22062 22063 No new tests because this change just fixes a leak. 22064 22065 * websockets/WorkerThreadableWebSocketChannel.cpp: 22066 (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel): 22067 * websockets/WorkerThreadableWebSocketChannel.h: 22068 (WebCore::WorkerThreadableWebSocketChannel::Bridge::create): 22069 22070 2010-04-15 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 22071 22072 Reviewed by Eric Seidel. 22073 22074 Duplicated patches related to wml were pushed to trunk. So, one of 22075 the patches should be reverted. 22076 https://bugs.webkit.org/show_bug.cgi?id=37542 22077 22078 * wml/WMLOptionElement.h: 22079 * wml/WMLSelectElement.h: 22080 22081 2010-04-15 Bruno Schmidt <bruno.schmidt (a] gmail.com> 22082 22083 Reviewed by Kenneth Rohde Christiansen. 22084 22085 [Qt] Null QObjects properties cause Segmentation Fault 22086 https://bugs.webkit.org/show_bug.cgi?id=34730 22087 22088 QObjects exported to the QWebkit javascript with properties that are 22089 a null "QObject*" cause Segmentation Fault. 22090 22091 If an QObject is added to the javascript context and it contains 22092 properties of the type QObject* with NULL value, calling the property 22093 causes Segmentation Fault. 22094 So now the code below properly checks for null pointers: 22095 22096 * bridge/qt/qt_instance.cpp: 22097 (JSC::Bindings::QtInstance::getClass): may return NULL 22098 (JSC::Bindings::QtInstance::getMethod): may return jsNull() 22099 (JSC::Bindings::QtInstance::stringValue): may return jsNull() 22100 (JSC::Bindings::QtInstance::booleanValue): may return false 22101 * bridge/qt/qt_runtime.cpp: 22102 (JSC::Bindings::convertValueToQVariant): 22103 (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar 22104 22105 2010-04-14 Simon Fraser <simon.fraser (a] apple.com> 22106 22107 Reviewed by Dan Bernstein. 22108 22109 Repaint of fixed, transformed element is broken 22110 https://bugs.webkit.org/show_bug.cgi?id=37637 22111 22112 RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly 22113 for elements that had both fixed position and a transform. If the element has 22114 a transform, 'fixed' should only remain true if the element itself is fixed 22115 position. 22116 22117 Also cache style()->position() in a local variable for performance. 22118 22119 Test: fast/repaint/fixed-tranformed.html 22120 22121 * rendering/RenderBox.cpp: 22122 (WebCore::RenderBox::computeRectForRepaint): 22123 22124 2010-04-14 Luiz Agostini <luiz.agostini (a] openbossa.org> 22125 22126 Reviewed by Kenneth Rohde Christiansen. 22127 22128 Changing view mode names due to specification changes 22129 https://bugs.webkit.org/show_bug.cgi?id=37615 22130 22131 test: fast/media/media-feature-wgt-view-mode.html 22132 22133 specification: http://dev.w3.org/2006/waf/widgets-vmmf/ 22134 22135 * css/MediaQueryEvaluator.cpp: 22136 (WebCore::view_modeMediaFeatureEval): 22137 * page/ChromeClient.h: 22138 (WebCore::ChromeClient::isWindowed): 22139 (WebCore::ChromeClient::isMaximized): 22140 (WebCore::ChromeClient::isMinimized): 22141 22142 2010-04-14 Adam Barth <abarth (a] webkit.org> 22143 22144 Unreviewed attempt to fix Qt build. 22145 22146 * bindings/js/JSNodeCustom.cpp: 22147 22148 2010-04-14 Justin Schuh <jschuh (a] chromium.org> 22149 22150 Reviewed by Adam Barth. 22151 22152 Javascript URL can be set as iframe.src via multiple DOM aliases 22153 https://bugs.webkit.org/show_bug.cgi?id=37031 22154 22155 Moved frame/iframe checks from Attr to Node on inherited members. 22156 Node child manipulation methods now return NOT_SUPPORTED_ERR if used 22157 on a frame/iframe src attribute. 22158 NamedNodeMap set methods now perform frame/iframe src checks. 22159 Moved allowSettingSrcToJavascriptURL static helper function from 22160 JSElementCustom.cpp to exported function in JSDOMBinding.h. 22161 22162 * bindings/js/JSAttrCustom.cpp: 22163 (WebCore::JSAttr::setValue): 22164 * bindings/js/JSDOMBinding.cpp: 22165 (WebCore::allowSettingSrcToJavascriptURL): 22166 * bindings/js/JSDOMBinding.h: 22167 * bindings/js/JSElementCustom.cpp: 22168 * bindings/js/JSNamedNodeMapCustom.cpp: 22169 (WebCore::JSNamedNodeMap::setNamedItem): 22170 (WebCore::JSNamedNodeMap::setNamedItemNS): 22171 * bindings/js/JSNodeCustom.cpp: 22172 (WebCore::isAttrFrameSrc): 22173 (WebCore::JSNode::setNodeValue): 22174 (WebCore::JSNode::setTextContent): 22175 (WebCore::JSNode::insertBefore): 22176 (WebCore::JSNode::replaceChild): 22177 (WebCore::JSNode::removeChild): 22178 (WebCore::JSNode::appendChild): 22179 * bindings/v8/custom/V8AttrCustom.cpp: 22180 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 22181 (WebCore::V8NamedNodeMap::setNamedItemNSCallback): 22182 (WebCore::V8NamedNodeMap::setNamedItemCallback): 22183 (WebCore::toV8): 22184 * bindings/v8/custom/V8NodeCustom.cpp: 22185 (WebCore::isFrameSrc): 22186 (WebCore::V8Node::textContentAccessorSetter): 22187 (WebCore::V8Node::nodeValueAccessorSetter): 22188 (WebCore::V8Node::insertBeforeCallback): 22189 (WebCore::V8Node::replaceChildCallback): 22190 (WebCore::V8Node::removeChildCallback): 22191 (WebCore::V8Node::appendChildCallback): 22192 * dom/Attr.idl: 22193 * dom/NamedNodeMap.idl: 22194 * dom/Node.idl: 22195 22196 2010-04-14 Alejandro G. Castro <alex (a] igalia.com> 22197 22198 Reviewed by Xan Lopez. 22199 22200 We have to check if the resource handler is cancelled before 22201 checking the client, other case it could crash. 22202 22203 * platform/network/soup/ResourceHandleSoup.cpp: 22204 (WebCore::parseDataUrl): 22205 22206 2010-04-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 22207 22208 Unreviewed, rolling out r57609. 22209 http://trac.webkit.org/changeset/57609 22210 https://bugs.webkit.org/show_bug.cgi?id=37614 22211 22212 "Broke multiple builders. Probably needs new test results, 22213 but may be an Inspector bug." (Requested by eseidel on 22214 #webkit). 22215 22216 * inspector/InspectorController.cpp: 22217 (WebCore::InspectorController::didReceiveResponse): 22218 (WebCore::InspectorController::didFailLoading): 22219 * inspector/front-end/Resource.js: 22220 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): 22221 * inspector/front-end/ResourcesPanel.js: 22222 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 22223 22224 2010-04-14 Steve Falkenburg <sfalken (a] apple.com> 22225 22226 Reviewed by Dan Bernstein. 22227 22228 Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated. 22229 https://bugs.webkit.org/show_bug.cgi?id=37599 22230 22231 * platform/graphics/win/FontCacheWin.cpp: 22232 (WebCore::fontDataFromDescriptionAndLogFont): 22233 (WebCore::FontCache::getLastResortFallbackFont): 22234 22235 2010-04-14 Andrey Kosyakov <caseq (a] chromium.ru> 22236 22237 Reviewed by Timothy Hatcher. 22238 22239 Log error message to inspector console if a resource fails to load. 22240 Disable checking of mime-type consistency for failed resources. 22241 https://bugs.webkit.org/show_bug.cgi?id=37215 22242 22243 Test: inspector/console-resource-errors.html 22244 22245 * inspector/InspectorController.cpp: 22246 (WebCore::InspectorController::didReceiveResponse): 22247 (WebCore::InspectorController::didFailLoading): 22248 * inspector/front-end/Resource.js: 22249 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): 22250 * inspector/front-end/ResourcesPanel.js: 22251 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 22252 22253 2010-04-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 22254 22255 Unreviewed, rolling out r57599. 22256 http://trac.webkit.org/changeset/57599 22257 https://bugs.webkit.org/show_bug.cgi?id=37605 22258 22259 "Broke Chromium build" (Requested by dglazkov on #webkit). 22260 22261 * platform/chromium/PopupMenuChromium.cpp: 22262 (WebCore::PopupContainer::PopupContainer): 22263 (WebCore::PopupContainer::showPopup): 22264 (WebCore::PopupContainer::notifyPopupHidden): 22265 * platform/chromium/PopupMenuChromium.h: 22266 22267 2010-04-14 Aaron Boodman <aa (a] chromium.org> 22268 22269 Reviewed by David Levin. 22270 22271 Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting 22272 the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are 22273 unsupported. Fixed by resolving the relative URL first. 22274 22275 https://bugs.webkit.org/show_bug.cgi?id=36623 22276 22277 Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows. 22278 22279 * notifications/Notification.cpp: 22280 (WebCore::Notification::Notification): Accept resolved KURL instead of relative string. 22281 * notifications/Notification.h: 22282 (WebCore::Notification::create): Ditto. 22283 (WebCore::Notification::iconURL): Return resolved KURL instead of relative string. 22284 * notifications/NotificationCenter.h: 22285 (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string. 22286 (WebCore::NotificationCenter::createNotification): Ditto. 22287 * notifications/NotificationContents.h: 22288 (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string. 22289 (WebCore::NotificationContents::icon): Return resolved URL. 22290 22291 2010-04-14 Anders Carlsson <andersca (a] apple.com> 22292 22293 Reviewed by Sam Weinig. 22294 22295 Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton. 22296 https://bugs.webkit.org/show_bug.cgi?id=37601 22297 22298 * platform/mac/ThemeMac.h: 22299 * platform/mac/ThemeMac.mm: 22300 (-[WebCoreFlippedView isFlipped]): 22301 (WebCore::paintButton): 22302 (WebCore::ThemeMac::ensuredView): 22303 22304 2010-04-14 Jay Civelli <jcivelli (a] chromium.org> 22305 22306 Reviewed by Dimitri Glazkov. 22307 22308 [chromium] Select popups would assert when destroyed. 22309 https://bugs.webkit.org/show_bug.cgi?id=37436 22310 22311 * platform/chromium/PopupMenuChromium.cpp: 22312 (WebCore::PopupContainer::PopupContainer): 22313 (WebCore::PopupContainer::showPopup): 22314 (WebCore::PopupContainer::notifyPopupHidden): 22315 * platform/chromium/PopupMenuChromium.h: 22316 22317 22318 2010-04-14 Dumitru Daniliuc <dumi (a] chromium.org> 22319 22320 Reviewed by Jian Li. 22321 22322 Remove an incorrect ASSERT in UniscribeHelper::draw(). 22323 https://bugs.webkit.org/show_bug.cgi?id=37533 22324 22325 * platform/graphics/chromium/UniscribeHelper.cpp: 22326 (WebCore::UniscribeHelper::draw): 22327 22328 2010-04-14 Pavel Feldman <pfeldman (a] chromium.org> 22329 22330 Reviewed by Timothy Hatcher. 22331 22332 Web Inspector: readline shortcuts don't work in Chromium. 22333 22334 * inspector/front-end/TextPrompt.js: 22335 (WebInspector.TextPrompt.prototype._onKeyDown): 22336 (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt): 22337 22338 2010-04-14 Alexander Pavlov <apavlov (a] chromium.org> 22339 22340 Reviewed by Timothy Hatcher. 22341 22342 Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order 22343 https://bugs.webkit.org/show_bug.cgi?id=37582 22344 22345 * inspector/front-end/TextPrompt.js: 22346 (WebInspector.TextPrompt.prototype.complete): 22347 (WebInspector.TextPrompt.prototype._completionsReady): 22348 (WebInspector.TextPrompt.prototype._tabKeyPressed): 22349 22350 2010-04-14 Jeff Schiller <codedread (a] gmail.com> 22351 22352 Reviewed by Dirk Schulze. 22353 22354 Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413 22355 22356 * svg/SVGParserUtilities.cpp: 22357 (WebCore::SVGPathSegListBuilder::build): 22358 22359 2010-04-14 Alexander Pavlov <apavlov (a] chromium.org> 22360 22361 Reviewed by Joseph Pecoraro. 22362 22363 Web Inspector: Ctrl-L (Clear History) does nothing on Windows 22364 https://bugs.webkit.org/show_bug.cgi?id=37579 22365 22366 * inspector/front-end/ConsoleView.js: 22367 (WebInspector.ConsoleView): 22368 22369 2010-04-14 Anton Muhin <antonm (a] chromium.org> 22370 22371 Not review, build fix. 22372 22373 Add <limits.h> include to bring UINT_MAX. 22374 22375 * html/canvas/WebGLArray.h: 22376 22377 2010-04-14 Nikolas Zimmermann <nzimmermann (a] rim.com> 22378 22379 Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept... 22380 22381 * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h' 22382 22383 2010-04-14 Nikolas Zimmermann <nzimmermann (a] rim.com> 22384 22385 Reviewed by Dirk Schulze. 22386 22387 SVGRenderStyle/SVGRenderStyleDefs needs a cleanup 22388 https://bugs.webkit.org/show_bug.cgi?id=37568 22389 22390 Cleanup SVGRenderStyle / SVGRenderStyleDefs: 22391 - use copy constructors in initialization list to initialize members, instead of assignment operators in the body 22392 - fix style issues (misplaced references, abbrevations) 22393 - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData 22394 - move filter property in StyleResourceData 22395 - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData 22396 - unify naming schemes for all resources (filter/clipper/masker/markers) 22397 - clipPath() -> clipperResource() 22398 - maskElement() -> maskerResource() 22399 - startMarker() -> markerStartResource() 22400 - midMarker() -> markerMidResource() 22401 - endMarker() -> markerEndResource() 22402 - filter() -> filterResource() 22403 22404 Adapt all callsites to the renames above. 22405 No new tests, as this doesn't affect anything except memory overhead. 22406 22407 * css/SVGCSSComputedStyleDeclaration.cpp: 22408 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 22409 * css/SVGCSSStyleSelector.cpp: 22410 (WebCore::CSSStyleSelector::applySVGProperty): 22411 * rendering/RenderPath.cpp: 22412 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): 22413 * rendering/RenderSVGContainer.cpp: 22414 (WebCore::RenderSVGContainer::selfWillPaint): 22415 * rendering/RenderSVGRoot.cpp: 22416 (WebCore::RenderSVGRoot::selfWillPaint): 22417 * rendering/SVGRenderSupport.cpp: 22418 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 22419 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 22420 (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer): 22421 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer): 22422 (WebCore::deregisterFromResources): 22423 * rendering/SVGRenderTreeAsText.cpp: 22424 (WebCore::writeStyle): 22425 (WebCore::writeResources): 22426 * rendering/style/SVGRenderStyle.cpp: 22427 (WebCore::SVGRenderStyle::SVGRenderStyle): 22428 (WebCore::SVGRenderStyle::operator==): 22429 (WebCore::SVGRenderStyle::inheritedNotEqual): 22430 (WebCore::SVGRenderStyle::inheritFrom): 22431 * rendering/style/SVGRenderStyle.h: 22432 * rendering/style/SVGRenderStyleDefs.cpp: 22433 (WebCore::StyleFillData::StyleFillData): 22434 (WebCore::StyleFillData::operator==): 22435 (WebCore::StyleStrokeData::StyleStrokeData): 22436 (WebCore::StyleStrokeData::operator==): 22437 (WebCore::StyleStopData::StyleStopData): 22438 (WebCore::StyleStopData::operator==): 22439 (WebCore::StyleTextData::StyleTextData): 22440 (WebCore::StyleMiscData::StyleMiscData): 22441 (WebCore::StyleMiscData::operator==): 22442 (WebCore::StyleShadowSVGData::StyleShadowSVGData): 22443 (WebCore::StyleShadowSVGData::operator==): 22444 (WebCore::StyleResourceData::StyleResourceData): 22445 (WebCore::StyleResourceData::operator==): 22446 (WebCore::StyleInheritedResourceData::StyleInheritedResourceData): 22447 (WebCore::StyleInheritedResourceData::operator==): 22448 * rendering/style/SVGRenderStyleDefs.h: 22449 (WebCore::StyleFillData::operator!=): 22450 (WebCore::StyleStopData::operator!=): 22451 (WebCore::StyleMiscData::create): 22452 (WebCore::StyleMiscData::copy): 22453 (WebCore::StyleMiscData::operator!=): 22454 (WebCore::StyleShadowSVGData::create): 22455 (WebCore::StyleShadowSVGData::copy): 22456 (WebCore::StyleShadowSVGData::operator!=): 22457 (WebCore::StyleResourceData::create): 22458 (WebCore::StyleResourceData::copy): 22459 (WebCore::StyleResourceData::operator!=): 22460 (WebCore::StyleInheritedResourceData::create): 22461 (WebCore::StyleInheritedResourceData::copy): 22462 (WebCore::StyleInheritedResourceData::operator!=): 22463 * svg/SVGDocumentExtensions.cpp: 22464 (WebCore::SVGDocumentExtensions::addResource): 22465 (WebCore::SVGDocumentExtensions::removeResource): 22466 * svg/SVGDocumentExtensions.h: 22467 * svg/SVGStyledElement.cpp: 22468 (WebCore::SVGStyledElement::invalidateResources): 22469 22470 2010-04-14 Zhenyao Mo <zmo (a] google.com> 22471 22472 Reviewed by Dimitri Glazkov. 22473 22474 readPixels must take PACK_ALIGNMENT into account 22475 https://bugs.webkit.org/show_bug.cgi?id=34718 22476 22477 Test: fast/canvas/webgl/read-pixels.html 22478 22479 * html/canvas/WebGLRenderingContext.cpp: 22480 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment. 22481 (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment. 22482 (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment. 22483 * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment. 22484 * platform/graphics/GraphicsContext3D.h: Refactor readPixels. 22485 * platform/graphics/mac/GraphicsContext3DMac.cpp: 22486 (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels. 22487 22488 2010-04-13 Dirk Schulze <krit (a] webkit.org> 22489 22490 Reviewed by Eric Seidel. 22491 22492 REGRESSION(r57511): many new graphics / svg related leaks 22493 https://bugs.webkit.org/show_bug.cgi?id=37527 22494 22495 The content of a HashMap was not correctly deleted. Fixed this 22496 in the DTor and in invalidateClient of RenderSVGResourceClipper. 22497 22498 * rendering/RenderSVGResourceClipper.cpp: 22499 (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): 22500 (WebCore::RenderSVGResourceClipper::invalidateClient): 22501 22502 2010-04-13 Zhenyao Mo <zmo (a] google.com> 22503 22504 Reviewed by Oliver Hunt. 22505 22506 Fix a potential integer overflow in WebGL*Array::slice() 22507 https://bugs.webkit.org/show_bug.cgi?id=37466 22508 22509 * html/canvas/WebGLArray.h: 22510 (WebCore::WebGLArray::clampOffsetAndNumElements): Input parameter "offset"'s semantic changed from in bytes from buffer to in elements from array view; calculate offset in bytes from buffer inside the function, avoiding overflow. 22511 * html/canvas/WebGLByteArray.cpp: 22512 (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements. 22513 * html/canvas/WebGLFloatArray.cpp: 22514 (WebCore::WebGLFloatArray::slice): Ditto. 22515 * html/canvas/WebGLIntArray.cpp: 22516 (WebCore::WebGLIntArray::slice): Ditto. 22517 * html/canvas/WebGLShortArray.cpp: 22518 (WebCore::WebGLShortArray::slice): Ditto. 22519 * html/canvas/WebGLUnsignedByteArray.cpp: 22520 (WebCore::WebGLUnsignedByteArray::slice): Ditto. 22521 * html/canvas/WebGLUnsignedIntArray.cpp: 22522 (WebCore::WebGLUnsignedIntArray::slice): Ditto. 22523 * html/canvas/WebGLUnsignedShortArray.cpp: 22524 (WebCore::WebGLUnsignedShortArray::slice): Ditto. 22525 22526 2010-04-13 Darin Fisher <darin (a] chromium.org> 22527 22528 Reviewed by Brady Eidson. 22529 22530 If the browsing context's session history contains only one Document, 22531 and that was the about:blank Document created when the browsing context 22532 was created, then the navigation must be done with replacement enabled. 22533 22534 https://bugs.webkit.org/show_bug.cgi?id=37126 22535 22536 Tests: fast/loader/frame-location-change-not-added-to-history.html 22537 fast/loader/frame-src-change-not-added-to-history.html 22538 22539 * loader/FrameLoader.cpp: 22540 (WebCore::FrameLoader::clientRedirected): 22541 (WebCore::FrameLoader::findFrameForNavigation): 22542 * loader/HistoryController.cpp: 22543 (WebCore::HistoryController::currentItemShouldBeReplaced): 22544 * loader/HistoryController.h: 22545 22546 2010-04-13 Geoffrey Garen <ggaren (a] apple.com> 22547 22548 Reviewed by Oliver Hunt. 22549 22550 Separated a DOMWrapperWorld's behavior of keeping wrappers alive from 22551 its own lifetime, so a DOMWrapperWorld's controller can throw away 22552 its wrappers even before its refcount reaches 0. 22553 22554 * WebCore.base.exp: 22555 * bindings/js/DOMWrapperWorld.cpp: 22556 (WebCore::DOMWrapperWorld::DOMWrapperWorld): 22557 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 22558 (WebCore::DOMWrapperWorld::registerWorld): 22559 (WebCore::DOMWrapperWorld::unregisterWorld): 22560 * bindings/js/DOMWrapperWorld.h: Factored out DOMWrapperWorld registration 22561 and unregistration into helper functions, so unregistering could be done manually. 22562 22563 * bindings/js/ScriptController.cpp: 22564 (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match 22565 similar code. 22566 22567 2010-04-13 Chang Shu <chang.shu (a] nokia.com> 22568 22569 Reviewed by Darin Fisher. 22570 22571 https://bugs.webkit.org/show_bug.cgi?id=34653 22572 22573 Based on W3C spec and Firefox behavior, while invoking XHR Send with parameter 22574 as String, the charset in Content-Type should be forced to set to UTF-8. 22575 22576 Test: http/tests/xmlhttprequest/request-encoding2.html 22577 22578 * platform/network/HTTPParsers.cpp: 22579 (WebCore::extractCharsetFromMediaType): 22580 (WebCore::findCharsetInMediaType): 22581 * platform/network/HTTPParsers.h: 22582 * xml/XMLHttpRequest.cpp: 22583 (WebCore::setCharsetInMediaType): 22584 (WebCore::XMLHttpRequest::send): 22585 22586 2010-04-12 Timothy Hatcher <timothy (a] apple.com> 22587 22588 SecurityOrigin needs a way to remove individual OriginAccessEntries 22589 https://bugs.webkit.org/show_bug.cgi?id=37449 22590 22591 Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html 22592 22593 Reviewed by Dave Hyatt. 22594 22595 * WebCore.base.exp: Added SecurityOrigin::removeOriginAccessWhitelistEntry. 22596 * page/OriginAccessEntry.h: 22597 (WebCore::OriginAccessEntry::protocol): Added. Returns m_protocol. 22598 (WebCore::OriginAccessEntry::host): Added. Returns m_host. 22599 (WebCore::OriginAccessEntry::subdomainSettings): Added. Returns m_subdomainSettings. 22600 (WebCore::operator==): Added. Compares OriginAccessEntry. 22601 (WebCore::operator!=): Ditto. 22602 * page/SecurityOrigin.cpp: 22603 (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): Use the add method to prevent a 22604 second hash lookup. 22605 (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry): Added. Find a matching 22606 OriginAccessEntry and remove it. 22607 * page/SecurityOrigin.h: Added removeOriginAccessWhitelistEntry. 22608 22609 2010-04-13 Timothy Hatcher <timothy (a] apple.com> 22610 22611 Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry. 22612 And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists. 22613 22614 SecurityOrigin needs a way to remove individual OriginAccessEntries 22615 https://bugs.webkit.org/show_bug.cgi?id=37449 22616 22617 Reviewed by Dave Hyatt. 22618 22619 * WebCore.base.exp: 22620 * page/SecurityOrigin.cpp: 22621 (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): 22622 (WebCore::SecurityOrigin::resetOriginAccessWhitelists): 22623 * page/SecurityOrigin.h: 22624 22625 2010-04-13 Geoffrey Garen <ggaren (a] apple.com> 22626 22627 Reviewed by Mark Rowe. 22628 22629 Tidied up some more DOMWrapperWorld lifetime issues. 22630 22631 Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them. 22632 22633 * bindings/js/DOMWrapperWorld.cpp: 22634 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 22635 * bindings/js/DOMWrapperWorld.h: 22636 (WebCore::DOMWrapperWorld::didCreateWindowShell): 22637 (WebCore::DOMWrapperWorld::didDestroyWindowShell): Functionality for 22638 tracking window shells that reference a given DOMWrapperWorld. 22639 22640 * bindings/js/ScriptController.cpp: 22641 (WebCore::ScriptController::~ScriptController): 22642 (WebCore::ScriptController::destroyWindowShell): 22643 (WebCore::ScriptController::createWindowShell): 22644 (WebCore::ScriptController::clearWindowShell): 22645 (WebCore::ScriptController::initScript): 22646 * bindings/js/ScriptController.h: Refactored to update a DOMWrapperWorld 22647 when adding or removing a JSDOMWindowShell. 22648 22649 * dom/Document.cpp: 22650 (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(), 22651 which is slightly faster and simpler than iterator comparison. 22652 22653 2010-04-13 Dumitru Daniliuc <dumi (a] chromium.org> 22654 22655 Reviewed by Adam Barth. 22656 22657 Make all HTML5 DB callbacks run in the correct context. 22658 https://bugs.webkit.org/show_bug.cgi?id=27698 22659 22660 Tests: storage/statement-error-callback-isolated-world.html 22661 storage/statement-success-callback-isolated-world.html 22662 storage/transaction-callback-isolated-world.html 22663 storage/transaction-error-callback-isolated-world.html 22664 22665 * bindings/js/JSCustomSQLStatementCallback.cpp: 22666 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback): 22667 (WebCore::JSCustomSQLStatementCallback::handleEvent): 22668 * bindings/js/JSCustomSQLStatementCallback.h: 22669 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 22670 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback): 22671 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 22672 * bindings/js/JSCustomSQLStatementErrorCallback.h: 22673 * bindings/js/JSCustomSQLTransactionCallback.cpp: 22674 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): 22675 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 22676 * bindings/js/JSCustomSQLTransactionCallback.h: 22677 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 22678 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback): 22679 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 22680 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 22681 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 22682 (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback): 22683 (WebCore::V8CustomSQLStatementCallback::handleEvent): 22684 * bindings/v8/custom/V8CustomSQLStatementCallback.h: 22685 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 22686 (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback): 22687 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 22688 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: 22689 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 22690 (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback): 22691 (WebCore::V8CustomSQLTransactionCallback::handleEvent): 22692 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: 22693 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 22694 (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback): 22695 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): 22696 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: 22697 * storage/SQLStatement.cpp: 22698 (WebCore::SQLStatement::performCallback): 22699 * storage/SQLStatementCallback.h: 22700 * storage/SQLStatementErrorCallback.h: 22701 * storage/SQLTransaction.cpp: 22702 (WebCore::SQLTransaction::deliverTransactionCallback): 22703 (WebCore::SQLTransaction::deliverTransactionErrorCallback): 22704 * storage/SQLTransactionCallback.h: 22705 * storage/SQLTransactionErrorCallback.h: 22706 (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback): 22707 22708 2010-04-13 Mikhail Naganov <mnaganov (a] chromium.org> 22709 22710 Reviewed by Pavel Feldman. 22711 22712 Fix search behavior in Profiles tab. 22713 22714 https://bugs.webkit.org/show_bug.cgi?id=37498 22715 22716 * inspector/front-end/ProfileView.js: 22717 (WebInspector.CPUProfileView.profileCallback): 22718 (WebInspector.CPUProfileView): 22719 22720 2010-04-13 David Hyatt <hyatt (a] apple.com> 22721 22722 Reviewed by Oliver Hunt. 22723 22724 https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it. 22725 22726 * rendering/style/RenderStyle.cpp: 22727 (WebCore::RenderStyle::RenderStyle): 22728 (WebCore::RenderStyle::operator==): 22729 (WebCore::RenderStyle::diff): 22730 * rendering/style/RenderStyle.h: 22731 (WebCore::): 22732 (WebCore::InheritedFlags::width): 22733 (WebCore::InheritedFlags::height): 22734 (WebCore::InheritedFlags::minWidth): 22735 (WebCore::InheritedFlags::maxWidth): 22736 (WebCore::InheritedFlags::minHeight): 22737 (WebCore::InheritedFlags::maxHeight): 22738 (WebCore::InheritedFlags::verticalAlignLength): 22739 (WebCore::InheritedFlags::boxSizing): 22740 (WebCore::InheritedFlags::setWidth): 22741 (WebCore::InheritedFlags::setHeight): 22742 (WebCore::InheritedFlags::setMinWidth): 22743 (WebCore::InheritedFlags::setMaxWidth): 22744 (WebCore::InheritedFlags::setMinHeight): 22745 (WebCore::InheritedFlags::setMaxHeight): 22746 (WebCore::InheritedFlags::setVerticalAlignLength): 22747 (WebCore::InheritedFlags::hasAutoZIndex): 22748 (WebCore::InheritedFlags::setHasAutoZIndex): 22749 (WebCore::InheritedFlags::zIndex): 22750 (WebCore::InheritedFlags::setZIndex): 22751 (WebCore::InheritedFlags::setBoxSizing): 22752 * rendering/style/StyleBoxData.cpp: 22753 (WebCore::StyleBoxData::StyleBoxData): 22754 (WebCore::StyleBoxData::operator==): 22755 * rendering/style/StyleBoxData.h: 22756 (WebCore::StyleBoxData::width): 22757 (WebCore::StyleBoxData::height): 22758 (WebCore::StyleBoxData::minWidth): 22759 (WebCore::StyleBoxData::minHeight): 22760 (WebCore::StyleBoxData::maxWidth): 22761 (WebCore::StyleBoxData::maxHeight): 22762 (WebCore::StyleBoxData::verticalAlign): 22763 (WebCore::StyleBoxData::zIndex): 22764 (WebCore::StyleBoxData::hasAutoZIndex): 22765 (WebCore::StyleBoxData::boxSizing): 22766 22767 2010-04-12 yael aharon <yael.aharon (a] nokia.com> 22768 22769 Reviewed by Tor Arne Vestbo. 22770 22771 Minor fix to pass RenderProgress instead of RenderObject 22772 https://bugs.webkit.org/show_bug.cgi?id=37481 22773 22774 * accessibility/AXObjectCache.cpp: 22775 (WebCore::AXObjectCache::getOrCreate): 22776 * accessibility/AccessibilityProgressIndicator.cpp: 22777 (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator): 22778 (WebCore::AccessibilityProgressIndicator::create): 22779 * accessibility/AccessibilityProgressIndicator.h: 22780 22781 2010-04-13 David Hyatt <hyatt (a] apple.com> 22782 22783 Reviewed by Oliver Hunt. 22784 22785 https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData 22786 22787 * rendering/style/RenderStyle.cpp: 22788 (WebCore::RenderStyle::RenderStyle): 22789 (WebCore::RenderStyle::operator==): 22790 (WebCore::RenderStyle::diff): 22791 * rendering/style/RenderStyle.h: 22792 (WebCore::): 22793 (WebCore::InheritedFlags::hasBackground): 22794 (WebCore::InheritedFlags::hasBackgroundImage): 22795 (WebCore::InheritedFlags::hasFixedBackgroundImage): 22796 (WebCore::InheritedFlags::outlineWidth): 22797 (WebCore::InheritedFlags::outlineStyle): 22798 (WebCore::InheritedFlags::outlineStyleIsAuto): 22799 (WebCore::InheritedFlags::outlineColor): 22800 (WebCore::InheritedFlags::backgroundColor): 22801 (WebCore::InheritedFlags::backgroundImage): 22802 (WebCore::InheritedFlags::backgroundRepeatX): 22803 (WebCore::InheritedFlags::backgroundRepeatY): 22804 (WebCore::InheritedFlags::backgroundComposite): 22805 (WebCore::InheritedFlags::backgroundAttachment): 22806 (WebCore::InheritedFlags::backgroundClip): 22807 (WebCore::InheritedFlags::backgroundOrigin): 22808 (WebCore::InheritedFlags::backgroundXPosition): 22809 (WebCore::InheritedFlags::backgroundYPosition): 22810 (WebCore::InheritedFlags::backgroundSizeType): 22811 (WebCore::InheritedFlags::backgroundSizeLength): 22812 (WebCore::InheritedFlags::accessBackgroundLayers): 22813 (WebCore::InheritedFlags::backgroundLayers): 22814 (WebCore::InheritedFlags::outlineOffset): 22815 (WebCore::InheritedFlags::resetOutline): 22816 (WebCore::InheritedFlags::setBackgroundColor): 22817 (WebCore::InheritedFlags::setBackgroundXPosition): 22818 (WebCore::InheritedFlags::setBackgroundYPosition): 22819 (WebCore::InheritedFlags::setBackgroundSize): 22820 (WebCore::InheritedFlags::setBackgroundSizeLength): 22821 (WebCore::InheritedFlags::setOutlineWidth): 22822 (WebCore::InheritedFlags::setOutlineStyle): 22823 (WebCore::InheritedFlags::setOutlineColor): 22824 (WebCore::InheritedFlags::clearBackgroundLayers): 22825 (WebCore::InheritedFlags::inheritBackgroundLayers): 22826 (WebCore::InheritedFlags::setOutlineOffset): 22827 * rendering/style/StyleBackgroundData.h: 22828 (WebCore::StyleBackgroundData::background): 22829 (WebCore::StyleBackgroundData::color): 22830 (WebCore::StyleBackgroundData::outline): 22831 22832 2010-04-13 Stephan Amus <superstippi (a] gmx.de> 22833 22834 Reviewed by David Levin. 22835 22836 [Haiku] Use the system clipboard instead of a private clipboard. 22837 Fix various problems in the previous implementation. 22838 22839 https://bugs.webkit.org/show_bug.cgi?id=37421 22840 22841 No new tests needed. 22842 22843 * platform/haiku/PasteboardHaiku.cpp: 22844 (WebCore::Pasteboard::~Pasteboard): 22845 (WebCore::Pasteboard::generalPasteboard): 22846 - Don't leak the pasteboard at program exit. 22847 (WebCore::AutoClipboardLocker::AutoClipboardLocker): 22848 (WebCore::AutoClipboardLocker::~AutoClipboardLocker): 22849 (WebCore::AutoClipboardLocker::isLocked): 22850 - helper class for locking a BClipboard. 22851 (WebCore::Pasteboard::writeSelection): 22852 - Use AddData(B_MIME_TYPE) as required by clipboard protocol. 22853 - Make sure we don't end up with unwanted UTF-8 characters for 22854 regular line breaks. 22855 (WebCore::Pasteboard::writePlainText): 22856 - Use AddData(B_MIME_TYPE) as required by clipboard protocol. 22857 (WebCore::Pasteboard::plainText): 22858 - Use FindData(B_MIME_TYPE) as required by clipboard protocol. 22859 (WebCore::Pasteboard::documentFragment): 22860 - Implemented. 22861 (WebCore::Pasteboard::writeURL): 22862 - Needs to use AddData(B_MIME_TYPE) instead of AddString(). 22863 (WebCore::Pasteboard::clear): 22864 22865 2010-04-13 Stephan Amus <superstippi (a] gmx.de> 22866 22867 Reviewed by David Levin. 22868 22869 [Haiku] Fix bridging Widget to native top-level BView. 22870 https://bugs.webkit.org/show_bug.cgi?id=37419 22871 22872 In the Haiku port, there is no mapping between native widgets 22873 and WebCore Widget instances. There is only a top-level BView 22874 which renders a web page into a bitmap. For certain WebCore widget 22875 functionality, we need to access this BView, like for setting the 22876 current cursor or forcing focus. On the other hand, setting a 22877 platform widget pointer on Widget results into completely different 22878 behavior, like ScrollView tries to forward everything instead of 22879 handling stuff itself. To make this work, the pointer to a "top-level" 22880 BView is stored in every Widget for the Haiku port. 22881 22882 No new tests needed. 22883 22884 * platform/Widget.h: 22885 - Added the m_topLevelPlatformWidget member for the Haiku platform. 22886 (WebCore::Widget::setPlatformWidget): 22887 (WebCore::Widget::topLevelPlatformWidget): 22888 (WebCore::Widget::setTopLevelPlatformWidget): 22889 * platform/haiku/WidgetHaiku.cpp: 22890 (WebCore::AutoPlatformWidgetLocker::AutoPlatformWidgetLocker): 22891 (WebCore::AutoPlatformWidgetLocker::~AutoPlatformWidgetLocker): 22892 (WebCore::AutoPlatformWidgetLocker::isLocked): 22893 - helper class for locking the BView looper thread with a timeout 22894 (WebCore::Widget::Widget): 22895 (WebCore::Widget::setFocus): 22896 - Make sure the top-level view receives keyboard input. 22897 (WebCore::Widget::setCursor): 22898 - Set the cursor on the top-level view. 22899 (WebCore::Widget::show): 22900 (WebCore::Widget::hide): 22901 - Don't show/hide the top-level view, but make the code correct 22902 for whenever we would map an individual BView per Widget. 22903 - Use setSelfVisible() and isParentVisible() like in other ports. 22904 22905 2010-04-13 Jeremy Moskovich <jeremy (a] chromium.org> 22906 22907 Reviewed by David Levin. 22908 22909 Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType(). 22910 22911 https://bugs.webkit.org/show_bug.cgi?id=36426 22912 22913 No new tests as there is no new functionality. 22914 22915 * loader/FrameLoader.cpp: 22916 (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash. 22917 22918 2010-04-13 Abhishek Arya <inferno (a] chromium.org> 22919 22920 Reviewed by Adam Barth. 22921 22922 Add a null ptr check for m_popupClient. 22923 22924 * platform/chromium/PopupMenuChromium.cpp: 22925 (WebCore::PopupListBox::abandon): Add a null ptr check 22926 22927 2010-04-13 Stephan Amus <superstippi (a] gmx.de> 22928 22929 Reviewed by David Levin. 22930 22931 [Haiku] Use the system's default font family as last fall back font. 22932 https://bugs.webkit.org/show_bug.cgi?id=37501 22933 22934 No new tests needed. 22935 22936 * platform/graphics/haiku/FontCacheHaiku.cpp: 22937 (WebCore::FontCache::getLastResortFallbackFont): 22938 - Use the system's default font family (from be_plain_font global). 22939 22940 2010-04-13 Eskil Blomfeldt <eblomfel (a] trolltech.com>, Jesus Sanchez-Palencia <jesus.palencia (a] openbossa.org> 22941 22942 Reviewed by Simon Hausmann. 22943 22944 [Qt] Use integer pixel metric QFont API to fix rounding errors in text rendering on the Mac 22945 https://bugs.webkit.org/show_bug.cgi?id=36532 22946 22947 * platform/graphics/qt/FontQt.cpp: 22948 (WebCore::Font::floatWidthForComplexText): 22949 (WebCore::Font::font): 22950 22951 2010-04-13 Alexander Pavlov <apavlov (a] chromium.org> 22952 22953 Reviewed by Pavel Feldman. 22954 22955 Web Inspector: Cannot effectively delete properties in the Styles sidebar pane 22956 https://bugs.webkit.org/show_bug.cgi?id=37499 22957 22958 * inspector/InspectorDOMAgent.cpp: 22959 (WebCore::InspectorDOMAgent::applyStyleText): 22960 22961 2010-04-13 Stephan Amus <superstippi (a] gmx.de> 22962 22963 Reviewed by David Levin. 22964 22965 Use the Haiku MIME type data base as a fall back for unknown file extensions. 22966 https://bugs.webkit.org/show_bug.cgi?id=34686 22967 22968 Covered by existing tests. 22969 22970 * platform/haiku/MIMETypeRegistryHaiku.cpp: 22971 (WebCore::): 22972 - fixed coding style issues 22973 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 22974 - fall back to the system MIME database for unknown types. 22975 - return empty String as last resort, this is used 22976 elsewhere as indicator for unknown types. 22977 22978 2010-04-13 Stephan Amus <superstippi (a] gmx.de> 22979 22980 Reviewed by David Levin. 22981 22982 [Haiku] Use all the new system cursors available in recent Haiku revisions. 22983 <https://bugs.webkit.org/show_bug.cgi?id=37385> 22984 22985 Covered by existing tests. 22986 22987 * platform/haiku/CursorHaiku.cpp: 22988 (WebCore::Cursor::Cursor): 22989 (WebCore::Cursor::~Cursor): 22990 (WebCore::Cursor::operator=): 22991 - Adapted to maintain an owned BCursor instance. 22992 (WebCore::createCursorByID): 22993 - helper function to create a Cursor instance by BCursorID constant. 22994 (WebCore::pointerCursor): 22995 - NULL BCursor triggers using the system cursor. 22996 (WebCore::moveCursor): 22997 (WebCore::crossCursor): 22998 (WebCore::handCursor): 22999 (WebCore::iBeamCursor): 23000 (WebCore::waitCursor): 23001 (WebCore::helpCursor): 23002 (WebCore::eastResizeCursor): 23003 (WebCore::northResizeCursor): 23004 (WebCore::northEastResizeCursor): 23005 (WebCore::northWestResizeCursor): 23006 (WebCore::southResizeCursor): 23007 (WebCore::southEastResizeCursor): 23008 (WebCore::southWestResizeCursor): 23009 (WebCore::westResizeCursor): 23010 (WebCore::northSouthResizeCursor): 23011 (WebCore::eastWestResizeCursor): 23012 (WebCore::northEastSouthWestResizeCursor): 23013 (WebCore::northWestSouthEastResizeCursor): 23014 (WebCore::columnResizeCursor): 23015 (WebCore::rowResizeCursor): 23016 (WebCore::verticalTextCursor): 23017 (WebCore::cellCursor): 23018 (WebCore::contextMenuCursor): 23019 (WebCore::noDropCursor): 23020 (WebCore::copyCursor): 23021 (WebCore::progressCursor): 23022 (WebCore::aliasCursor): 23023 (WebCore::noneCursor): 23024 (WebCore::notAllowedCursor): 23025 (WebCore::zoomInCursor): 23026 (WebCore::zoomOutCursor): 23027 (WebCore::grabCursor): 23028 (WebCore::grabbingCursor): 23029 - Use the new system cursors. 23030 23031 2010-04-13 Dirk Schulze <krit (a] webkit.org> 23032 23033 Reviewed by Nikolas Zimmermann. 23034 23035 <clipPath> doesn't correctly handle <text> elements 23036 https://bugs.webkit.org/show_bug.cgi?id=12571 23037 23038 Adds support for text elements as clipPath, heterogenous clip rules, as well 23039 as clipping of clipPath. 23040 A fast code path let platforms clip simple shapes directly. All other variants 23041 are drawn to a seperate ImageBuffer, which is used as a mask. This happens the same 23042 way we like we do it on SVG Masking. This needs temporary changes to the RenderStyle 23043 of clipPath childs. Values like stroke, resources, opacity have to be ignored. 23044 23045 Tests: svg/clip-path/clip-path-child-clipped.svg 23046 svg/clip-path/clip-path-childs-clipped.svg 23047 svg/clip-path/clip-path-clipped-evenodd-twice.svg 23048 svg/clip-path/clip-path-clipped-no-content.svg 23049 svg/clip-path/clip-path-clipped-nonzero.svg 23050 svg/clip-path/clip-path-clipped.svg 23051 svg/clip-path/clip-path-evenodd-nonzero.svg 23052 svg/clip-path/clip-path-evenodd.svg 23053 svg/clip-path/clip-path-nonzero-evenodd.svg 23054 svg/clip-path/clip-path-nonzero.svg 23055 svg/clip-path/clip-path-objectBoundingBox.svg 23056 svg/clip-path/clip-path-on-clipped-use.svg 23057 svg/clip-path/clip-path-on-g-and-child.svg 23058 svg/clip-path/clip-path-on-g.svg 23059 svg/clip-path/clip-path-on-svg-and-child.svg 23060 svg/clip-path/clip-path-on-svg.svg 23061 svg/clip-path/clip-path-recursive-call-by-child.svg 23062 svg/clip-path/clip-path-recursive-call.svg 23063 svg/clip-path/clip-path-text-and-shape.svg 23064 svg/clip-path/clip-path-text-and-stroke.svg 23065 svg/clip-path/clip-path-text.svg 23066 svg/clip-path/clip-path-use-as-child.svg 23067 svg/clip-path/clip-path-use-as-child2.svg 23068 svg/clip-path/clip-path-use-as-child3.svg 23069 svg/clip-path/clip-path-use-as-child4.svg 23070 svg/clip-path/clip-path-use-as-child5.svg 23071 svg/clip-path/clip-path-userSpaceOnUse.svg 23072 svg/clip-path/clip-path-with-container.svg 23073 svg/clip-path/clip-path-with-different-unittypes.svg 23074 svg/clip-path/clip-path-with-different-unittypes2.svg 23075 svg/clip-path/clip-path-with-invisibile-child.svg 23076 svg/clip-path/clip-path-with-text-clipped.svg 23077 23078 * rendering/RenderObject.h: 23079 (WebCore::RenderObject::isSVGShadowTreeRootContainer): identify use-element renderer 23080 * rendering/RenderSVGResourceClipper.cpp: 23081 (WebCore::RenderSVGResourceClipper::invalidateClients): 23082 (WebCore::RenderSVGResourceClipper::invalidateClient): 23083 (WebCore::RenderSVGResourceClipper::applyResource): 23084 (WebCore::RenderSVGResourceClipper::pathOnlyClipping): direct clipping for simple shapes 23085 (WebCore::RenderSVGResourceClipper::applyClippingToContext): direct clipping or maskImage? 23086 (WebCore::RenderSVGResourceClipper::createClipData): creates maskImage for clipping 23087 (WebCore::RenderSVGResourceClipper::resourceBoundingBox): 23088 * rendering/RenderSVGResourceClipper.h: 23089 * rendering/RenderSVGShadowTreeRootContainer.h: identify use-Element by renderer 23090 (WebCore::RenderSVGShadowTreeRootContainer::isSVGShadowTreeRootContainer): 23091 * rendering/SVGRenderSupport.cpp: 23092 (WebCore::renderSubtreeToImage): hack to get texts working on clipping (masks and pattern) 23093 * svg/SVGUseElement.cpp: 23094 (WebCore::SVGUseElement::rendererClipChild): get renderer of referenced object 23095 * svg/SVGUseElement.h: 23096 23097 2010-04-13 Nikolas Zimmermann <nzimmermann (a] rim.com> 23098 23099 Reviewed by Dirk Schulze. 23100 23101 SVG renderers should track transform/path changes, instead of pulling every time from SVG DOM 23102 https://bugs.webkit.org/show_bug.cgi?id=15389 23103 23104 RenderPath caches repaint rectangles (fill/stroke bbox etc.) though this caching 23105 was effectively useless because every layout() call caused them to be reset to empty rects. 23106 Furthermore RenderPath::layout() queried the SVG DOM upon every invocation to retrieve 23107 the Path object, instead of only doing it when necessary. Even the TransformationMatrix 23108 was polled everytime from the SVG DOM. 23109 23110 Move the knownledge wheter we need to update path/transform into the render tree and 23111 only update when necessary. This should result in a huge performance increase, with 23112 the drawback of adding slightly more memory, because we need to add booleans indicating 23113 the status of path/transform (is dirty?). 23114 23115 Doesn't affect any tests, only performance. 23116 23117 * rendering/RenderForeignObject.cpp: 23118 (WebCore::RenderForeignObject::RenderForeignObject): 23119 (WebCore::RenderForeignObject::layout): 23120 * rendering/RenderForeignObject.h: 23121 (WebCore::RenderForeignObject::setNeedsTransformUpdate): 23122 * rendering/RenderObject.h: 23123 (WebCore::RenderObject::setNeedsTransformUpdate): 23124 (WebCore::RenderObject::setNeedsBoundariesUpdate): 23125 * rendering/RenderPath.cpp: 23126 (WebCore::RenderPath::RenderPath): 23127 (WebCore::RenderPath::layout): 23128 (WebCore::RenderPath::invalidateCachedBoundaries): 23129 (WebCore::RenderPath::styleWillChange): 23130 * rendering/RenderPath.h: 23131 (WebCore::RenderPath::setNeedsBoundariesUpdate): 23132 (WebCore::RenderPath::setNeedsPathUpdate): 23133 (WebCore::RenderPath::setNeedsTransformUpdate): 23134 (WebCore::RenderPath::localToParentTransform): 23135 (WebCore::RenderPath::localTransform): 23136 * rendering/RenderSVGImage.cpp: 23137 (WebCore::RenderSVGImage::RenderSVGImage): 23138 (WebCore::RenderSVGImage::layout): 23139 * rendering/RenderSVGImage.h: 23140 (WebCore::RenderSVGImage::setNeedsTransformUpdate): 23141 * rendering/RenderSVGResourceClipper.cpp: 23142 (WebCore::RenderSVGResourceClipper::invalidateClients): 23143 * rendering/RenderSVGResourceMarker.cpp: 23144 (WebCore::RenderSVGResourceMarker::invalidateClients): 23145 * rendering/RenderSVGResourceMasker.cpp: 23146 (WebCore::RenderSVGResourceMasker::invalidateClients): 23147 * rendering/RenderSVGText.cpp: 23148 (WebCore::RenderSVGText::RenderSVGText): 23149 (WebCore::RenderSVGText::layout): 23150 * rendering/RenderSVGText.h: 23151 (WebCore::RenderSVGText::setNeedsTransformUpdate): 23152 * rendering/RenderSVGTransformableContainer.cpp: 23153 (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer): 23154 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): 23155 * rendering/RenderSVGTransformableContainer.h: 23156 (WebCore::RenderSVGTransformableContainer::localToParentTransform): 23157 (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate): 23158 (WebCore::RenderSVGTransformableContainer::localTransform): 23159 * svg/SVGAnimateMotionElement.cpp: 23160 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): 23161 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): 23162 * svg/SVGAnimateTransformElement.cpp: 23163 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): 23164 * svg/SVGCircleElement.cpp: 23165 (WebCore::SVGCircleElement::svgAttributeChanged): 23166 * svg/SVGEllipseElement.cpp: 23167 (WebCore::SVGEllipseElement::svgAttributeChanged): 23168 * svg/SVGForeignObjectElement.cpp: 23169 (WebCore::SVGForeignObjectElement::svgAttributeChanged): 23170 * svg/SVGGElement.cpp: 23171 (WebCore::SVGGElement::svgAttributeChanged): 23172 * svg/SVGImageElement.cpp: 23173 (WebCore::SVGImageElement::svgAttributeChanged): 23174 * svg/SVGLineElement.cpp: 23175 (WebCore::SVGLineElement::svgAttributeChanged): 23176 * svg/SVGPathElement.cpp: 23177 (WebCore::SVGPathElement::svgAttributeChanged): 23178 * svg/SVGPolyElement.cpp: 23179 (WebCore::SVGPolyElement::svgAttributeChanged): 23180 * svg/SVGRectElement.cpp: 23181 (WebCore::SVGRectElement::svgAttributeChanged): 23182 * svg/SVGTextElement.cpp: 23183 (WebCore::SVGTextElement::svgAttributeChanged): 23184 * svg/SVGUseElement.cpp: 23185 (WebCore::SVGUseElement::svgAttributeChanged): 23186 23187 2010-04-13 Mikhail Naganov <mnaganov (a] chromium.org> 23188 23189 Unreviewed Qt build fix: add new .idl files to WebCore.pri 23190 23191 * WebCore.pri: 23192 23193 2010-04-12 Mikhail Naganov <mnaganov (a] chromium.org> 23194 23195 Reviewed by Yury Semikhatsky. 23196 23197 Replace hand-written JavaScriptProfile* bindings with idl-based, and 23198 in Chromium port, bind them to the new V8's profiler API that is 23199 aligned with JSC. 23200 23201 https://bugs.webkit.org/show_bug.cgi?id=37448 23202 23203 * DerivedSources.cpp: 23204 * DerivedSources.make: 23205 * GNUmakefile.am: 23206 * WebCore.gypi: 23207 * WebCore.pro: 23208 * WebCore.vcproj/WebCore.vcproj: 23209 * WebCore.xcodeproj/project.pbxproj: 23210 * bindings/js/JSBindingsAllInOne.cpp: 23211 * bindings/js/JSConsoleCustom.cpp: 23212 * bindings/js/JSScriptProfileNodeCustom.cpp: Added. 23213 (WebCore::JSScriptProfileNode::callUID): 23214 (WebCore::JSScriptProfileNode::children): 23215 * bindings/js/JavaScriptProfile.cpp: Removed. 23216 * bindings/js/JavaScriptProfile.h: Removed. 23217 * bindings/js/JavaScriptProfileNode.cpp: Removed. 23218 * bindings/js/JavaScriptProfileNode.h: Removed. 23219 * bindings/js/ScriptProfileNode.h: Added. 23220 * bindings/scripts/CodeGeneratorJS.pm: 23221 * bindings/scripts/CodeGeneratorV8.pm: 23222 * bindings/v8/ScriptProfile.cpp: Added. 23223 (WebCore::ScriptProfile::title): 23224 (WebCore::ScriptProfile::uid): 23225 (WebCore::ScriptProfile::head): 23226 * bindings/v8/ScriptProfile.h: 23227 (WebCore::ScriptProfile::create): 23228 (WebCore::ScriptProfile::ScriptProfile): 23229 * bindings/v8/ScriptProfileNode.cpp: Added. 23230 (WebCore::ScriptProfileNode::functionName): 23231 (WebCore::ScriptProfileNode::url): 23232 (WebCore::ScriptProfileNode::lineNumber): 23233 (WebCore::ScriptProfileNode::totalTime): 23234 (WebCore::ScriptProfileNode::selfTime): 23235 (WebCore::ScriptProfileNode::numberOfCalls): 23236 (WebCore::ScriptProfileNode::children): 23237 (WebCore::ScriptProfileNode::visible): 23238 (WebCore::ScriptProfileNode::callUID): 23239 * bindings/v8/ScriptProfileNode.h: Added. 23240 (WebCore::ScriptProfileNode::create): 23241 (WebCore::ScriptProfileNode::~ScriptProfileNode): 23242 (WebCore::ScriptProfileNode::ScriptProfileNode): 23243 * bindings/v8/ScriptProfiler.cpp: 23244 (WebCore::ScriptProfiler::start): 23245 (WebCore::ScriptProfiler::stop): 23246 * bindings/v8/custom/V8ConsoleCustom.cpp: Added. 23247 (WebCore::V8Console::profilesAccessorGetter): 23248 * bindings/v8/custom/V8ScriptProfileCustom.cpp: Added. 23249 (WebCore::toV8): 23250 * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Added. 23251 (WebCore::V8ScriptProfileNode::childrenAccessorGetter): 23252 (WebCore::V8ScriptProfileNode::callUIDAccessorGetter): 23253 (WebCore::toV8): 23254 * inspector/InspectorController.cpp: 23255 (WebCore::InspectorController::getProfile): 23256 * inspector/ScriptProfile.idl: Added. 23257 * inspector/ScriptProfileNode.idl: Added. 23258 * inspector/front-end/InspectorBackendStub.js: 23259 (.WebInspector.InspectorBackendStub.prototype.getProfile): 23260 * inspector/front-end/ProfilesPanel.js: 23261 (WebInspector.ProfilesPanel.prototype.populateInterface): 23262 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): 23263 * page/Console.idl: 23264 * platform/android/TemporaryLinkStubs.cpp: 23265 23266 2010-04-12 Antonio Gomes <tonikitoo (a] webkit.org> 23267 23268 Reviewed by Simon Fraser. 23269 23270 Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed 23271 https://bugs.webkit.org/show_bug.cgi?id=37461 23272 23273 getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when 23274 the node is currently offscreen in an scroll overflowed content. 23275 23276 Test: fast/events/spatial-navigation/snav-simple-content-overflow.html 23277 23278 * page/SpatialNavigation.cpp: 23279 (WebCore::renderRectRelativeToRootDocument): 23280 23281 2010-04-12 Antonio Gomes <tonikitoo (a] webkit.org> 23282 23283 Unreviewed style fix. 23284 23285 * page/FocusController.cpp: 23286 (WebCore::updateFocusCandidateIfCloser): 23287 23288 2010-04-08 yael aharon <yael.aharon (a] nokia.com> 23289 23290 Reviewed by Darin Adler. 23291 23292 Accessibility support for progress element 23293 https://bugs.webkit.org/show_bug.cgi?id=37275 23294 23295 Implement AccessibilityProgressIndicator to hook up progress element to accessibility framework. 23296 23297 Test: platform/mac/accessibility/progressbar.html 23298 23299 * GNUmakefile.am: 23300 * WebCore.gypi: 23301 * WebCore.pro: 23302 * WebCore.vcproj/WebCore.vcproj: 23303 * WebCore.xcodeproj/project.pbxproj: 23304 * accessibility/AXObjectCache.cpp: 23305 (WebCore::AXObjectCache::getOrCreate): 23306 * accessibility/AccessibilityProgressIndicator.cpp: Added. 23307 (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator): 23308 (WebCore::AccessibilityProgressIndicator::create): 23309 (WebCore::AccessibilityProgressIndicator::accessibilityIsIgnored): 23310 (WebCore::AccessibilityProgressIndicator::valueForRange): 23311 (WebCore::AccessibilityProgressIndicator::maxValueForRange): 23312 (WebCore::AccessibilityProgressIndicator::minValueForRange): 23313 (WebCore::AccessibilityProgressIndicator::element): 23314 * accessibility/AccessibilityProgressIndicator.h: Added. 23315 (WebCore::AccessibilityProgressIndicator::roleValue): 23316 (WebCore::AccessibilityProgressIndicator::isProgressIndicator): 23317 * rendering/RenderProgress.cpp: 23318 (WebCore::RenderProgress::updateFromElement): 23319 (WebCore::RenderProgress::progressElement): 23320 * rendering/RenderProgress.h: 23321 23322 2010-04-12 Dumitru Daniliuc <dumi (a] chromium.org> 23323 23324 Reviewed by Dimitri Glazkov. 23325 23326 Throwing a SECURITY_ERR when openDatabase() cannot open a database 23327 for whatever reason, as required by the spec. 23328 https://bugs.webkit.org/show_bug.cgi?id=33916 23329 23330 * bindings/js/JSDOMWindowCustom.cpp: 23331 (WebCore::JSDOMWindow::openDatabase): 23332 * bindings/v8/custom/V8DOMWindowCustom.cpp: 23333 (WebCore::V8DOMWindow::openDatabaseCallback): 23334 23335 2010-04-12 Steve Falkenburg <sfalken (a] apple.com> 23336 23337 Reviewed by Dan Bernstein. 23338 23339 WebKit should have more robust last-chance font fallback on Windows 23340 https://bugs.webkit.org/show_bug.cgi?id=37473 23341 <rdar://problem/7789438> Crash in FontFallbackList::determinePitch 23342 <rdar://problem/7233762> Crash in FontFallbackList::fontDataAt 23343 23344 Look harder for a suitable last-resort font. Previously, we checked for 23345 "Times New Roman" followed by DEFAULT_GUI_FONT. 23346 23347 We now look for: 23348 - Typically installed Unicode-capable fonts, in order of coverage 23349 - DEFAULT_GUI_FONT 23350 - SPI_GETNONCLIENTMETRICS fonts 23351 23352 * platform/graphics/win/FontCacheWin.cpp: 23353 (WebCore::FontCache::fontDataFromDescriptionAndLogFont): 23354 (WebCore::FontCache::getLastResortFallbackFont): 23355 23356 2010-04-12 David Hyatt <hyatt (a] apple.com> 23357 23358 Reviewed by Dan Bernstein. 23359 23360 https://bugs.webkit.org/show_bug.cgi?id=37469, clean up ShadowData to be encapsulated properly. 23361 23362 * css/CSSComputedStyleDeclaration.cpp: 23363 (WebCore::CSSComputedStyleDeclaration::valueForShadow): 23364 * page/animation/AnimationBase.cpp: 23365 (WebCore::blendFunc): 23366 (WebCore::PropertyWrapperShadow::PropertyWrapperShadow): 23367 (WebCore::PropertyWrapperShadow::equals): 23368 (WebCore::PropertyWrapperShadow::blend): 23369 * page/mac/FrameMac.mm: 23370 (WebCore::Frame::fontAttributesForSelectionStart): 23371 * rendering/EllipsisBox.cpp: 23372 (WebCore::EllipsisBox::paint): 23373 * rendering/InlineFlowBox.cpp: 23374 (WebCore::InlineFlowBox::placeBoxesHorizontally): 23375 (WebCore::InlineFlowBox::computeVerticalOverflow): 23376 (WebCore::InlineFlowBox::paintTextDecorations): 23377 * rendering/InlineTextBox.cpp: 23378 (WebCore::paintTextWithShadows): 23379 (WebCore::InlineTextBox::paint): 23380 (WebCore::InlineTextBox::paintDecoration): 23381 * rendering/InlineTextBox.h: 23382 * rendering/RenderBoxModelObject.cpp: 23383 (WebCore::RenderBoxModelObject::paintBoxShadow): 23384 * rendering/RenderLayer.cpp: 23385 (WebCore::RenderLayer::calculateRects): 23386 * rendering/RenderObject.cpp: 23387 (WebCore::RenderObject::adjustRectForOutlineAndShadow): 23388 * rendering/SVGInlineTextBox.cpp: 23389 (WebCore::SVGInlineTextBox::paintCharacters): 23390 * rendering/SVGRenderSupport.cpp: 23391 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 23392 * rendering/style/RenderStyle.cpp: 23393 (WebCore::RenderStyle::setTextShadow): 23394 (WebCore::RenderStyle::setBoxShadow): 23395 (WebCore::RenderStyle::getBoxShadowExtent): 23396 (WebCore::RenderStyle::getBoxShadowHorizontalExtent): 23397 (WebCore::RenderStyle::getBoxShadowVerticalExtent): 23398 * rendering/style/RenderStyle.h: 23399 (WebCore::InheritedFlags::textShadow): 23400 (WebCore::InheritedFlags::boxShadow): 23401 * rendering/style/SVGRenderStyle.cpp: 23402 (WebCore::getSVGShadowExtent): 23403 * rendering/style/ShadowData.cpp: 23404 (WebCore::ShadowData::ShadowData): 23405 (WebCore::ShadowData::operator==): 23406 * rendering/style/ShadowData.h: 23407 (WebCore::ShadowData::ShadowData): 23408 (WebCore::ShadowData::~ShadowData): 23409 (WebCore::ShadowData::x): 23410 (WebCore::ShadowData::y): 23411 (WebCore::ShadowData::blur): 23412 (WebCore::ShadowData::spread): 23413 (WebCore::ShadowData::style): 23414 (WebCore::ShadowData::color): 23415 (WebCore::ShadowData::next): 23416 (WebCore::ShadowData::setNext): 23417 23418 2010-04-12 David Hyatt <hyatt (a] apple.com> 23419 23420 Reviewed by Mark Rowe. 23421 23422 https://bugs.webkit.org/show_bug.cgi?id=37463, clean up NinePieceImage. 23423 23424 * css/CSSComputedStyleDeclaration.cpp: 23425 (WebCore::valueForNinePieceImage): 23426 * css/CSSStyleSelector.cpp: 23427 (WebCore::CSSStyleSelector::mapNinePieceImage): 23428 * rendering/RenderBoxModelObject.cpp: 23429 (WebCore::RenderBoxModelObject::paintNinePieceImage): 23430 * rendering/style/NinePieceImage.h: 23431 (WebCore::NinePieceImage::setImage): 23432 (WebCore::NinePieceImage::slices): 23433 (WebCore::NinePieceImage::setSlices): 23434 (WebCore::NinePieceImage::setHorizontalRule): 23435 (WebCore::NinePieceImage::verticalRule): 23436 (WebCore::NinePieceImage::setVerticalRule): 23437 23438 2010-04-12 David Hyatt <hyatt (a] apple.com> 23439 23440 Reviewed by Sam Weinig. 23441 23442 https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids. 23443 23444 Added fast/history/multiple-classes-visited.html. 23445 23446 * css/CSSStyleSelector.cpp: 23447 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 23448 23449 2010-04-12 Dirk Schulze <krit (a] webkit.org> 23450 23451 Unreviewed build fix. 23452 23453 Make comma/whitespace around arc flags optional in SVG path syntax 23454 https://bugs.webkit.org/show_bug.cgi?id=37431 23455 23456 Fix the SL build. 23457 23458 * svg/SVGParserUtilities.cpp: 23459 (WebCore::parseArcFlag): 23460 23461 2010-04-12 Jeff Schiller <codedread (a] gmail.com> 23462 23463 Reviewed by Dirk Schulze. 23464 23465 Make comma/whitespace around arc flags optional in SVG path syntax and ensure flags are 23466 either 0 or 1: https://bugs.webkit.org/show_bug.cgi?id=37431 23467 23468 * svg/SVGParserUtilities.cpp: 23469 (WebCore::parseArcFlag): function to read in a 0 or 1 for largeArcFlag and sweepFlag 23470 (WebCore::SVGPathParser::parseSVG): modify/simplify arc parsing by using parseArcFlag() 23471 23472 2010-04-11 Sheriff Bot <webkit.review.bot (a] gmail.com> 23473 23474 Unreviewed, rolling out r57468. 23475 http://trac.webkit.org/changeset/57468 23476 https://bugs.webkit.org/show_bug.cgi?id=37433 23477 23478 Broke the world... Must have applied the patch wrong 23479 (Requested by abarth on #webkit). 23480 23481 * Android.mk: 23482 * GNUmakefile.am: 23483 * WebCore.base.exp: 23484 * WebCore.gypi: 23485 * WebCore.pro: 23486 * WebCore.vcproj/WebCore.vcproj: 23487 * WebCore.xcodeproj/project.pbxproj: 23488 * bindings/ScriptControllerBase.cpp: 23489 (WebCore::ScriptController::executeIfJavaScriptURL): 23490 * dom/Document.cpp: 23491 (WebCore::Document::close): 23492 * dom/ProcessingInstruction.cpp: 23493 (WebCore::ProcessingInstruction::checkStyleSheet): 23494 * dom/ScriptElement.cpp: 23495 (WebCore::ScriptElementData::scriptCharset): 23496 * html/HTMLLinkElement.cpp: 23497 (WebCore::HTMLLinkElement::process): 23498 * loader/DocLoader.cpp: 23499 (WebCore::DocLoader::requestPreload): 23500 * loader/DocumentLoader.cpp: 23501 (WebCore::DocumentLoader::finishedLoading): 23502 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 23503 * loader/DocumentWriter.cpp: Removed. 23504 * loader/DocumentWriter.h: Removed. 23505 * loader/FrameLoader.cpp: 23506 (WebCore::canReferToParentFrameEncoding): 23507 (WebCore::FrameLoader::FrameLoader): 23508 (WebCore::FrameLoader::init): 23509 (WebCore::FrameLoader::replaceDocument): 23510 (WebCore::FrameLoader::clear): 23511 (WebCore::FrameLoader::receivedFirstData): 23512 (WebCore::FrameLoader::responseMIMEType): 23513 (WebCore::FrameLoader::setResponseMIMEType): 23514 (WebCore::FrameLoader::begin): 23515 (WebCore::FrameLoader::write): 23516 (WebCore::FrameLoader::end): 23517 (WebCore::FrameLoader::endIfNotLoadingMainResource): 23518 (WebCore::FrameLoader::encoding): 23519 (WebCore::FrameLoader::setEncoding): 23520 (WebCore::FrameLoader::addData): 23521 (WebCore::FrameLoader::transitionToCommitted): 23522 (WebCore::FrameLoader::open): 23523 (WebCore::FrameLoader::finishedLoadingDocument): 23524 (WebCore::FrameLoader::addExtraFieldsToRequest): 23525 * loader/FrameLoader.h: 23526 * loader/MediaDocument.cpp: 23527 (WebCore::MediaDocument::replaceMediaElementTimerFired): 23528 * loader/PluginDocument.cpp: 23529 (WebCore::PluginTokenizer::createDocumentStructure): 23530 * platform/network/FormDataBuilder.cpp: 23531 (WebCore::FormDataBuilder::dataEncoding): 23532 * svg/graphics/SVGImage.cpp: 23533 (WebCore::SVGImage::dataChanged): 23534 23535 2010-04-11 Adam Barth <abarth (a] webkit.org> 23536 23537 Reviewed by Eric Seidel. 23538 23539 Factor DocumentWriter out of FrameLoader 23540 https://bugs.webkit.org/show_bug.cgi?id=37175 23541 23542 This patch separates the begin/write/end cycle of decoding network 23543 bytes and putting them into a document from the rest of the loading 23544 machinery. The code and state required to write bytes into a document 23545 doesn't interact very much with the rest of the loading machinery. 23546 23547 No tests because there is no behavior change (hopefully!). 23548 23549 * Android.mk: 23550 * GNUmakefile.am: 23551 * WebCore.base.exp: 23552 * WebCore.gypi: 23553 * WebCore.pro: 23554 * WebCore.vcproj/WebCore.vcproj: 23555 * WebCore.xcodeproj/project.pbxproj: 23556 * bindings/ScriptControllerBase.cpp: 23557 (WebCore::ScriptController::executeIfJavaScriptURL): 23558 * dom/Document.cpp: 23559 (WebCore::Document::close): 23560 * dom/ProcessingInstruction.cpp: 23561 (WebCore::ProcessingInstruction::checkStyleSheet): 23562 * dom/ScriptElement.cpp: 23563 (WebCore::ScriptElementData::scriptCharset): 23564 * html/HTMLLinkElement.cpp: 23565 (WebCore::HTMLLinkElement::process): 23566 * loader/DocLoader.cpp: 23567 (WebCore::DocLoader::requestPreload): 23568 * loader/DocumentLoader.cpp: 23569 (WebCore::DocumentLoader::finishedLoading): 23570 (WebCore::DocumentLoader::setupForReplaceByMIMEType): 23571 * loader/DocumentWriter.cpp: Added. 23572 * loader/DocumentWriter.h: Added. 23573 * loader/FrameLoader.cpp: 23574 (WebCore::FrameLoader::FrameLoader): 23575 (WebCore::FrameLoader::init): 23576 (WebCore::FrameLoader::clear): 23577 (WebCore::FrameLoader::receivedFirstData): 23578 (WebCore::FrameLoader::setURL): 23579 (WebCore::FrameLoader::didBeginDocument): 23580 (WebCore::FrameLoader::didEndDocument): 23581 (WebCore::FrameLoader::willSetEncoding): 23582 (WebCore::FrameLoader::addData): 23583 (WebCore::FrameLoader::transitionToCommitted): 23584 (WebCore::FrameLoader::open): 23585 (WebCore::FrameLoader::finishedLoadingDocument): 23586 (WebCore::FrameLoader::addExtraFieldsToRequest): 23587 * loader/FrameLoader.h: 23588 (WebCore::FrameLoader::writer): 23589 (WebCore::FrameLoader::isDisplayingInitialEmptyDocument): 23590 * loader/MediaDocument.cpp: 23591 (WebCore::MediaDocument::replaceMediaElementTimerFired): 23592 * loader/PluginDocument.cpp: 23593 (WebCore::PluginTokenizer::createDocumentStructure): 23594 * platform/network/FormDataBuilder.cpp: 23595 (WebCore::FormDataBuilder::dataEncoding): 23596 * svg/graphics/SVGImage.cpp: 23597 (WebCore::SVGImage::dataChanged): 23598 23599 2010-04-07 Tony Chang <tony (a] chromium.org> 23600 23601 Reviewed by Eric Seidel. 23602 23603 [chromium] implement getData('text/html') for paste and drop events 23604 https://bugs.webkit.org/show_bug.cgi?id=37193 23605 23606 Tests: editing/pasteboard/onpaste-text-html.html 23607 fast/events/ondrop-text-html.html 23608 23609 * platform/chromium/ClipboardChromium.cpp: 23610 (WebCore::): 23611 (WebCore::clipboardTypeFromMIMEType): add html type 23612 (WebCore::ClipboardChromium::clearData): implement clear text/html 23613 (WebCore::ClipboardChromium::getData): implement get text/html (similar to text/plain) 23614 (WebCore::ClipboardChromium::setData): implement set text/html 23615 23616 2010-04-10 Adam Barth <abarth (a] webkit.org> 23617 23618 Unreviewed. Rename m_forceSandboxFlags to m_forcedSandoxFlags, as 23619 requested by Darin Adler. 23620 23621 * loader/FrameLoader.cpp: 23622 (WebCore::FrameLoader::FrameLoader): 23623 (WebCore::FrameLoader::updateSandboxFlags): 23624 * loader/FrameLoader.h: 23625 (WebCore::FrameLoader::setForcedSandboxFlags): 23626 * svg/graphics/SVGImage.cpp: 23627 (WebCore::SVGImage::dataChanged): 23628 23629 2010-04-10 Mark Rowe <mrowe (a] apple.com> 23630 23631 Reviewed by Dan Bernstein. 23632 23633 <rdar://problem/7845305> Further adoption of formal protocols for delegates. 23634 23635 Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places. 23636 23637 * WebCore.xcodeproj/project.pbxproj: 23638 * platform/mac/EmptyProtocolDefinitions.h: Renamed from WebKit/mac/Misc/EmptyProtocolDefinitions.h. 23639 * platform/network/mac/ResourceHandleMac.mm: 23640 23641 2010-04-10 Chris Evans <cevans (a] chromium.org> 23642 23643 Reviewed by Adam Barth. 23644 23645 Defense in depth: make sure an SVG document in the <img> context has 23646 a unique origin. 23647 23648 https://bugs.webkit.org/show_bug.cgi?id=37392 23649 23650 * svg/graphics/SVGImage.cpp: 23651 (WebCore::SVGImage::dataChanged): 23652 Force the temporary rendering context into a unique origin. 23653 * loader/FrameLoader.h: 23654 (WebCore::FrameLoader::setForceSandboxFlags): 23655 Support for setting sandbox flags that will always be applied. 23656 * loader/FrameLoader.cpp: 23657 (WebCore::FrameLoader::updateSandboxFlags): 23658 Always apply any forced flags. 23659 23660 2010-04-10 Vangelis Kokkevis <vangelis (a] chromium.org> 23661 23662 Reviewed by Dimitri Glazkov. 23663 23664 Moving files associated with the GPU compositor from platform/graphics/skia to platform/graphics/chromium. Class 23665 rename was done in a previous CL, this CL does the file move and rename. 23666 https://bugs.webkit.org/show_bug.cgi?id=37231 23667 23668 No new functionality, no new tests. 23669 23670 * WebCore.gypi: 23671 * platform/graphics/chromium/GraphicsLayerChromium.cpp: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.cpp. 23672 * platform/graphics/chromium/GraphicsLayerChromium.h: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.h. 23673 * platform/graphics/chromium/LayerChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerSkia.cpp. 23674 * platform/graphics/chromium/LayerChromium.h: Copied from WebCore/platform/graphics/skia/LayerSkia.h. 23675 * platform/graphics/chromium/LayerRendererChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.cpp. 23676 * platform/graphics/chromium/LayerRendererChromium.h: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.h. 23677 * platform/graphics/skia/GraphicsLayerSkia.cpp: Removed. 23678 * platform/graphics/skia/GraphicsLayerSkia.h: Removed. 23679 * platform/graphics/skia/LayerRendererSkia.cpp: Removed. 23680 * platform/graphics/skia/LayerRendererSkia.h: Removed. 23681 * platform/graphics/skia/LayerSkia.cpp: Removed. 23682 * platform/graphics/skia/LayerSkia.h: Removed. 23683 23684 2010-04-10 Robert Hogan <robert (a] webkit.org> 23685 23686 Reviewed by Kenneth Rohde Christiansen. 23687 23688 Refactor Qt DRT support in QtWebKit 23689 23690 https://bugs.webkit.org/show_bug.cgi?id=35844 23691 23692 * WebCore.pro: Add DumpRenderTreeSupportQt.cpp 23693 23694 2010-04-10 Joseph Pecoraro <joepeck (a] webkit.org> 23695 23696 Reviewed by David Kilzer. 23697 23698 Missing CONTEXT_MENUS Guards 23699 https://bugs.webkit.org/show_bug.cgi?id=37398 23700 23701 Added missing ENABLE(CONTEXT_MENUS) guards. 23702 23703 * bindings/js/JSInspectorFrontendHostCustom.cpp: 23704 (WebCore::JSInspectorFrontendHost::showContextMenu): 23705 * inspector/InspectorFrontendHost.cpp: 23706 (WebCore::InspectorFrontendHost::InspectorFrontendHost): 23707 (WebCore::InspectorFrontendHost::disconnectClient): 23708 * inspector/InspectorFrontendHost.h: 23709 23710 2010-04-10 Stephan Amus <superstippi (a] gmx.de> 23711 23712 Reviewed by Eric Seidel. 23713 23714 [Haiku] Fix crash in Gradient::fill() 23715 https://bugs.webkit.org/show_bug.cgi?id=37386 23716 23717 Covered by existing tests. 23718 23719 * platform/graphics/haiku/GradientHaiku.cpp: 23720 (WebCore::Gradient::fill): 23721 - Make sure the platform gradient is already cached before 23722 dereferencing its pointer. 23723 23724 2010-04-10 Stephan Amus <superstippi (a] gmx.de> 23725 23726 Reviewed by Eric Seidel. 23727 23728 [Haiku] Fix build of ImageHaiku.cpp 23729 <https://bugs.webkit.org/show_bug.cgi?id=37384> 23730 23731 No new tests needed. 23732 23733 * platform/graphics/haiku/ImageHaiku.cpp: 23734 (WebCore::Image::drawPattern): 23735 - include SharedBuffer.h 23736 - changed parameter name to be in line with other ports, 23737 the code I landed in an earlier commit was already using 23738 this name. 23739 23740 2010-04-10 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 23741 23742 Reviewed by Kenneth Rohde Christiansen. 23743 23744 [Qt] Implement Desktop Notifications API for QtWebKit 23745 https://bugs.webkit.org/show_bug.cgi?id=35503 23746 23747 No new tests enabled as notification DRT tests are 23748 disabled at the moment. 23749 23750 * WebCore.pri: Add files to the build system and turn 23751 on the feature by default. 23752 23753 * WebCore.pro: Add files to the build system 23754 23755 * bindings/js/JSDesktopNotificationsCustom.cpp: 23756 (WebCore::JSNotificationCenter::requestPermission): 23757 (WebCore::JSNotification::addEventListener): 23758 (WebCore::JSNotification::removeEventListener): 23759 Fix build regresssion. 23760 23761 2010-04-09 Pavel Feldman <pfeldman (a] chromium.org> 23762 23763 Reviewed by Joseph Pecoraro. 23764 23765 Web Inspector: Console with two recursive arrays causes infinite loop trying to display. 23766 https://bugs.webkit.org/show_bug.cgi?id=37133 23767 23768 * inspector/front-end/ConsoleView.js: 23769 (WebInspector.ConsoleView.prototype._printArray): 23770 (WebInspector.ConsoleView.prototype._formatAsArrayEntry): 23771 * inspector/front-end/InjectedScript.js: 23772 (injectedScriptConstructor): 23773 23774 2010-04-09 Kevin Watters <kevinwatters (a] gmail.com> 23775 23776 Reviewed by Eric Seidel. 23777 23778 [wx] Basic implementation of SVG support for wx port. 23779 23780 * css/CSSFontFaceSource.cpp: 23781 * platform/graphics/wx/FontPlatformData.h: 23782 (WebCore::FontPlatformData::FontPlatformData): 23783 (WebCore::FontPlatformData::size): 23784 * platform/graphics/wx/FontPlatformDataWx.cpp: 23785 (WebCore::FontPlatformData::FontPlatformData): 23786 * platform/graphics/wx/GraphicsContextWx.cpp: 23787 (WebCore::GraphicsContext::GraphicsContext): 23788 (WebCore::GraphicsContext::clipPath): 23789 (WebCore::GraphicsContext::getCTM): 23790 (WebCore::GraphicsContext::beginPath): 23791 (WebCore::GraphicsContext::addPath): 23792 (WebCore::GraphicsContext::concatCTM): 23793 (WebCore::GraphicsContext::fillPath): 23794 (WebCore::GraphicsContext::strokePath): 23795 (WebCore::GraphicsContext::setLineDash): 23796 * platform/graphics/wx/ImageBufferWx.cpp: 23797 (WebCore::ImageBuffer::platformTransformColorSpace): 23798 * platform/graphics/wx/PathWx.cpp: 23799 (WebCore::Path::strokeContains): 23800 (WebCore::Path::debugString): 23801 (WebCore::Path::operator=): 23802 (WebCore::Path::isEmpty): 23803 * rendering/RenderSVGResourceMasker.cpp: 23804 * wscript: 23805 23806 2010-04-09 Evan Martin <evan (a] chromium.org> 23807 23808 Reviewed by Darin Adler. 23809 23810 StorageEvent destructor should be in StorageEvent.cpp 23811 https://bugs.webkit.org/show_bug.cgi?id=37356 23812 23813 Because Storage is forward-declared in StorageEvent.h, we need to define 23814 the StorageEvent destructor in the .cpp file so that the RefPtr<Storage> 23815 destructor has a complete type for Storage. 23816 23817 * storage/StorageEvent.cpp: 23818 (WebCore::StorageEvent::~StorageEvent): 23819 * storage/StorageEvent.h: 23820 23821 2010-04-09 Young Han Lee <joybro (a] company100.net> 23822 23823 Reviewed by Eric Seidel. 23824 23825 [WINCE] Add forwarding header for UnicodeWince.h 23826 https://bugs.webkit.org/show_bug.cgi?id=37224 23827 23828 * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Added. 23829 23830 2010-04-09 Geoffrey Garen <ggaren (a] apple.com> 23831 23832 Reviewed by Sam "R the K!" Weinig. 23833 23834 Tidied up some more DOMWrapperWorld lifetime issues. 23835 23836 * bindings/js/DOMWrapperWorld.cpp: 23837 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Notify the document that 23838 we're going away instead of deleting its data, since deleting other 23839 objects' data is error-prone and, more importantly, rude. 23840 23841 * bindings/js/DOMWrapperWorld.h: 23842 (WebCore::DOMWrapperWorld::didCreateWrapperCache): 23843 (WebCore::DOMWrapperWorld::didDestroyWrapperCache): A few renames for 23844 clarity. 23845 23846 * bindings/js/JSDOMBinding.cpp: 23847 * bindings/js/JSDOMBinding.h: Converted forgetAllDOMNodesForDocument 23848 to a Document member function, for the same reason. 23849 23850 * dom/Document.cpp: 23851 (WebCore::Document::~Document): 23852 (WebCore::Document::createWrapperCache): 23853 (WebCore::Document::destroyWrapperCache): 23854 (WebCore::Document::destroyAllWrapperCaches): 23855 * dom/Document.h: Added a destroyWrapperCache function to balance 23856 createWrapperCache, so it's clear who allocates and deletes these wrapper 23857 caches. 23858 23859 2010-04-09 Chris Marrin <cmarrin (a] apple.com> 23860 23861 Reviewed by Simon Fraser. 23862 23863 Fixed bug where animation time was not updated when dynamically loading a style sheet 23864 https://bugs.webkit.org/show_bug.cgi?id=37352 23865 23866 A dynamically loaded style sheet kicks off its own styleRecalc cycle. This was not 23867 bracketed with a beginAnimationUpdate/endAnimationUpdate which wasn't resetting the 23868 animation time. In some time-dependent cases this was causing a negative elapsedTime 23869 to be sent to the keyframe animator. This is an invalid case which destroys the 23870 animation prematurely. I not only added the brackets, but I also added an assert 23871 and protection for when the elapsedTime comes up negative. 23872 23873 Test: animations/dynamic-stylesheet-loading.html 23874 23875 * dom/Document.cpp: Added brackets 23876 (WebCore::Document::updateStyleSelector): 23877 * page/animation/KeyframeAnimation.cpp: Added assert and protection 23878 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): 23879 23880 2010-04-09 Jaime Yap <jaimeyap (a] google.com> 23881 23882 Reviewed by Pavel Feldman. 23883 23884 Web Inspector: Fixes "wrong parent" for GCEvents that come at the end of a 23885 timeline record node. 23886 https://bugs.webkit.org/show_bug.cgi?id=37340 23887 23888 * inspector/InspectorTimelineAgent.cpp: 23889 (WebCore::InspectorTimelineAgent::didInstallTimer): 23890 (WebCore::InspectorTimelineAgent::didRemoveTimer): 23891 (WebCore::InspectorTimelineAgent::didMarkTimeline): 23892 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): 23893 (WebCore::InspectorTimelineAgent::didMarkLoadEvent): 23894 (WebCore::InspectorTimelineAgent::addRecordToTimeline): 23895 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 23896 23897 2010-04-09 Abhishek Arya <inferno (a] chromium.org> 23898 23899 Reviewed by Adam Barth. 23900 23901 Prevent HTTP responses served with JSON content type from being rendered as HTML. 23902 23903 Test: http/tests/security/xss-DENIED-mime-type-execute-as-html.html 23904 23905 * dom/DOMImplementation.cpp: 23906 (WebCore::DOMImplementation::isTextMIMEType): Render application/json as text/plain. 23907 * platform/MIMETypeRegistry.cpp: 23908 (WebCore::initializeSupportedNonImageMimeTypes): Add a compile assert to prevent addition of new mime types in non-image types. 23909 23910 2010-04-09 Shinichiro Hamaji <hamaji (a] chromium.org> 23911 23912 Reviewed by Eric Seidel. 23913 23914 Prevent wrong use of PrintContext 23915 https://bugs.webkit.org/show_bug.cgi?id=37194 23916 23917 No new tests because this doesn't change the behavior. 23918 23919 * page/PrintContext.cpp: 23920 (WebCore::PrintContext::PrintContext): 23921 (WebCore::PrintContext::~PrintContext): 23922 (WebCore::PrintContext::begin): 23923 (WebCore::PrintContext::end): 23924 * page/PrintContext.h: 23925 23926 2010-04-09 Vitaly Repeshko <vitalyr (a] chromium.org> 23927 23928 Reviewed by Darin Fisher. 23929 23930 [V8] SerializedScriptValue value doesn't follow the spec for DOM objects and files 23931 https://bugs.webkit.org/show_bug.cgi?id=37094 23932 23933 This patch adds support for file-related types. 23934 23935 * bindings/v8/SerializedScriptValue.cpp: 23936 (WebCore::): 23937 (WebCore::Writer::writeString): 23938 (WebCore::Writer::writeWebCoreString): 23939 (WebCore::Writer::writeBlob): 23940 (WebCore::Writer::writeFile): 23941 (WebCore::Writer::writeFileList): 23942 (WebCore::Writer::doWriteString): 23943 (WebCore::Writer::doWriteWebCoreString): 23944 (WebCore::Serializer::writeBlob): 23945 (WebCore::Serializer::writeFile): 23946 (WebCore::Serializer::writeFileList): 23947 (WebCore::Serializer::doSerialize): 23948 (WebCore::Reader::read): 23949 (WebCore::Reader::readWebCoreString): 23950 (WebCore::Reader::readBlob): 23951 (WebCore::Reader::readFile): 23952 (WebCore::Reader::readFileList): 23953 (WebCore::SerializedScriptValue::SerializedScriptValue): 23954 23955 2010-04-09 Geoffrey Garen <ggaren (a] apple.com> 23956 23957 Reviewed by Cameron Zwarich. 23958 23959 Tidied up some DOMWrapperWorld lifetime issues. 23960 23961 * bindings/js/DOMWrapperWorld.cpp: 23962 (WebCore::DOMWrapperWorld::DOMWrapperWorld): Made DOMWrapperWorld wholly 23963 responsible for managing its presence in WebCoreJSClientData's world set. 23964 This is simpler and more encapsulated than making its clients sometimes 23965 responsible for managing that set and sometimes not. 23966 23967 * bindings/js/DOMWrapperWorld.h: 23968 (WebCore::DOMWrapperWorld::create): Made isNormal default to false, 23969 removing one of the reasons for the IsolatedWorld class to exist, so I 23970 could remove that class. 23971 23972 * bindings/js/JSDOMWindowBase.cpp: 23973 (WebCore::JSDOMWindowBase::commonJSGlobalData): Used the work-around below. 23974 23975 * bindings/js/ScriptController.cpp: 23976 (WebCore::ScriptController::createWorld): Nixed IsolatedWorld, which is 23977 now superfluous. 23978 23979 * bindings/js/WebCoreJSClientData.h: 23980 (WebCore::initNormalWorldClientData): Added a work-around for the fact 23981 that WebCoreJSClientData must be set as globalData->clientData before 23982 the DOMWrapperWorld constructor runs. This removed the other reason 23983 for the IsolatedWorld class to exist, so I could remove that class. 23984 23985 2010-04-09 Yaar Schnitman <yaar (a] chromium.org> 23986 23987 Reviewed by Nate Chapin. 23988 23989 Testing utility for CodeGeneratorV8.pm 23990 https://bugs.webkit.org/show_bug.cgi?id=37286 23991 23992 * bindings/v8/test: Added. 23993 * bindings/v8/test/TestObj.idl: Contains basic IDL definitions for testing purposes. 23994 * bindings/v8/test/V8TestObj.cpp: Expected output. 23995 * bindings/v8/test/V8TestObj.h: Expected output. 23996 * bindings/v8/test/run_tests.py: Tool for generating the above h/cpp files from the idl file. 23997 23998 2010-04-09 Darin Adler <darin (a] apple.com> 23999 24000 Reviewed by Maciej Stachowiak. 24001 24002 https://bugs.webkit.org/show_bug.cgi?id=37370 24003 Division by 0 in RenderBoxModelObject::calculateFillTileSize 24004 24005 Test: fast/backgrounds/background-fill-zero-area-crash.html 24006 24007 * rendering/RenderBoxModelObject.cpp: 24008 (WebCore::RenderBoxModelObject::calculateFillTileSize): Added checks for 24009 zero before doing division. These come up when the area to fill is zero. 24010 24011 2010-04-09 Alexey Proskuryakov <ap (a] apple.com> 24012 24013 Reviewed by Maciej Stachowiak. 24014 24015 https://bugs.webkit.org/show_bug.cgi?id=24572 24016 XMLHttpRequest.statusText returns always "OK" on Mac 24017 24018 Covered by existing tests, which now pass. 24019 24020 * WebCore.base.exp: 24021 * platform/mac/WebCoreSystemInterface.h: 24022 * platform/mac/WebCoreSystemInterface.mm: 24023 Added a WebKitSystemInterface method to fetch status line. 24024 24025 * platform/network/HTTPParsers.cpp: (WebCore::extractReasonPhraseFromHTTPStatusLine): 24026 * platform/network/HTTPParsers.h: 24027 * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit): 24028 Moved code for parsing status line to HTTPHeaders, as it's used for both Mac and CF now. 24029 24030 * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit): 24031 Use the actual reason phrase when available, and "OK" otherwise. Synthesizing a reson when 24032 there isn't one is misleading, so we'll stick to our old broken behavior on Tiger, rather than 24033 introduce a new broken one. 24034 24035 2010-04-09 David Hyatt <hyatt (a] apple.com> 24036 24037 Reviewed by Oliver Hunt. 24038 24039 https://bugs.webkit.org/show_bug.cgi?id=37361, clean up FillLayer. 24040 24041 * css/CSSComputedStyleDeclaration.cpp: 24042 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 24043 * rendering/style/FillLayer.h: 24044 (WebCore::FillLayer::sizeType): 24045 * rendering/style/RenderStyle.h: 24046 (WebCore::InheritedFlags::backgroundImage): 24047 (WebCore::InheritedFlags::backgroundRepeatX): 24048 (WebCore::InheritedFlags::backgroundRepeatY): 24049 (WebCore::InheritedFlags::backgroundComposite): 24050 (WebCore::InheritedFlags::backgroundAttachment): 24051 (WebCore::InheritedFlags::backgroundClip): 24052 (WebCore::InheritedFlags::backgroundOrigin): 24053 (WebCore::InheritedFlags::backgroundXPosition): 24054 (WebCore::InheritedFlags::backgroundYPosition): 24055 (WebCore::InheritedFlags::backgroundSizeType): 24056 (WebCore::InheritedFlags::backgroundSizeLength): 24057 (WebCore::InheritedFlags::maskImage): 24058 (WebCore::InheritedFlags::maskRepeatX): 24059 (WebCore::InheritedFlags::maskRepeatY): 24060 (WebCore::InheritedFlags::maskComposite): 24061 (WebCore::InheritedFlags::maskAttachment): 24062 (WebCore::InheritedFlags::maskClip): 24063 (WebCore::InheritedFlags::maskOrigin): 24064 (WebCore::InheritedFlags::maskXPosition): 24065 (WebCore::InheritedFlags::maskYPosition): 24066 (WebCore::InheritedFlags::maskSizeType): 24067 (WebCore::InheritedFlags::maskSizeLength): 24068 24069 2010-04-09 Sam Weinig <sam (a] webkit.org> 24070 24071 Add another missing export to fix the build. 24072 24073 * WebCore.base.exp: 24074 24075 2010-04-09 David Hyatt <hyatt (a] apple.com> 24076 24077 Reviewed by Adam Roben. 24078 24079 https://bugs.webkit.org/show_bug.cgi?id=37353, clean up cursors used by RenderStyles. 24080 24081 * css/CSSComputedStyleDeclaration.cpp: 24082 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 24083 * page/EventHandler.cpp: 24084 (WebCore::EventHandler::selectCursor): 24085 * rendering/style/CursorData.h: 24086 (WebCore::CursorData::CursorData): 24087 (WebCore::CursorData::operator==): 24088 (WebCore::CursorData::image): 24089 (WebCore::CursorData::hotSpot): 24090 * rendering/style/RenderStyle.cpp: 24091 (WebCore::RenderStyle::addCursor): 24092 24093 2010-04-09 David Hyatt <hyatt (a] apple.com> 24094 24095 Reviewed by Adam Roben. 24096 24097 https://bugs.webkit.org/show_bug.cgi?id=37349, RenderStyle cleanup. Working from the outside in to 24098 bring some style consistency to RenderStyle and its associated classes. This patch cleans up the 24099 border and outline classes. 24100 24101 * rendering/RenderTable.cpp: 24102 (WebCore::RenderTable::calcBorderLeft): 24103 (WebCore::RenderTable::calcBorderRight): 24104 (WebCore::RenderTable::outerBorderTop): 24105 (WebCore::RenderTable::outerBorderBottom): 24106 (WebCore::RenderTable::outerBorderLeft): 24107 (WebCore::RenderTable::outerBorderRight): 24108 * rendering/RenderTableCell.cpp: 24109 (WebCore::compareBorders): 24110 * rendering/RenderTableSection.cpp: 24111 (WebCore::RenderTableSection::calcOuterBorderTop): 24112 (WebCore::RenderTableSection::calcOuterBorderBottom): 24113 (WebCore::RenderTableSection::calcOuterBorderLeft): 24114 (WebCore::RenderTableSection::calcOuterBorderRight): 24115 * rendering/style/BorderData.h: 24116 (WebCore::BorderData::hasBorder): 24117 (WebCore::BorderData::hasBorderRadius): 24118 (WebCore::BorderData::borderLeftWidth): 24119 (WebCore::BorderData::borderRightWidth): 24120 (WebCore::BorderData::borderTopWidth): 24121 (WebCore::BorderData::borderBottomWidth): 24122 (WebCore::BorderData::operator==): 24123 (WebCore::BorderData::left): 24124 (WebCore::BorderData::right): 24125 (WebCore::BorderData::top): 24126 (WebCore::BorderData::bottom): 24127 (WebCore::BorderData::image): 24128 (WebCore::BorderData::topLeft): 24129 (WebCore::BorderData::topRight): 24130 (WebCore::BorderData::bottomLeft): 24131 (WebCore::BorderData::bottomRight): 24132 * rendering/style/BorderValue.h: 24133 (WebCore::BorderValue::BorderValue): 24134 (WebCore::BorderValue::nonZero): 24135 (WebCore::BorderValue::isTransparent): 24136 (WebCore::BorderValue::operator==): 24137 (WebCore::BorderValue::color): 24138 (WebCore::BorderValue::width): 24139 (WebCore::BorderValue::style): 24140 * rendering/style/CollapsedBorderValue.h: 24141 (WebCore::CollapsedBorderValue::CollapsedBorderValue): 24142 (WebCore::CollapsedBorderValue::width): 24143 (WebCore::CollapsedBorderValue::style): 24144 (WebCore::CollapsedBorderValue::exists): 24145 (WebCore::CollapsedBorderValue::color): 24146 (WebCore::CollapsedBorderValue::isTransparent): 24147 (WebCore::CollapsedBorderValue::precedence): 24148 (WebCore::CollapsedBorderValue::operator==): 24149 * rendering/style/OutlineValue.h: 24150 (WebCore::OutlineValue::OutlineValue): 24151 (WebCore::OutlineValue::operator==): 24152 (WebCore::OutlineValue::offset): 24153 (WebCore::OutlineValue::isAuto): 24154 * rendering/style/RenderStyle.cpp: 24155 (WebCore::RenderStyle::getBorderRadiiForRect): 24156 * rendering/style/RenderStyle.h: 24157 (WebCore::InheritedFlags::borderLeft): 24158 (WebCore::InheritedFlags::borderRight): 24159 (WebCore::InheritedFlags::borderTop): 24160 (WebCore::InheritedFlags::borderBottom): 24161 (WebCore::InheritedFlags::borderImage): 24162 (WebCore::InheritedFlags::borderTopLeftRadius): 24163 (WebCore::InheritedFlags::borderTopRightRadius): 24164 (WebCore::InheritedFlags::borderBottomLeftRadius): 24165 (WebCore::InheritedFlags::borderBottomRightRadius): 24166 (WebCore::InheritedFlags::borderLeftStyle): 24167 (WebCore::InheritedFlags::borderLeftColor): 24168 (WebCore::InheritedFlags::borderLeftIsTransparent): 24169 (WebCore::InheritedFlags::borderRightStyle): 24170 (WebCore::InheritedFlags::borderRightColor): 24171 (WebCore::InheritedFlags::borderRightIsTransparent): 24172 (WebCore::InheritedFlags::borderTopStyle): 24173 (WebCore::InheritedFlags::borderTopColor): 24174 (WebCore::InheritedFlags::borderTopIsTransparent): 24175 (WebCore::InheritedFlags::borderBottomStyle): 24176 (WebCore::InheritedFlags::borderBottomColor): 24177 (WebCore::InheritedFlags::borderBottomIsTransparent): 24178 (WebCore::InheritedFlags::outlineWidth): 24179 (WebCore::InheritedFlags::outlineStyleIsAuto): 24180 (WebCore::InheritedFlags::outlineColor): 24181 (WebCore::InheritedFlags::outlineOffset): 24182 (WebCore::InheritedFlags::columnRuleColor): 24183 (WebCore::InheritedFlags::resetBorderTop): 24184 (WebCore::InheritedFlags::resetBorderRight): 24185 (WebCore::InheritedFlags::resetBorderBottom): 24186 (WebCore::InheritedFlags::resetBorderLeft): 24187 (WebCore::InheritedFlags::resetBorderImage): 24188 (WebCore::InheritedFlags::resetBorderTopLeftRadius): 24189 (WebCore::InheritedFlags::resetBorderTopRightRadius): 24190 (WebCore::InheritedFlags::resetBorderBottomLeftRadius): 24191 (WebCore::InheritedFlags::resetBorderBottomRightRadius): 24192 (WebCore::InheritedFlags::setBorderImage): 24193 (WebCore::InheritedFlags::setBorderTopLeftRadius): 24194 (WebCore::InheritedFlags::setBorderTopRightRadius): 24195 (WebCore::InheritedFlags::setBorderBottomLeftRadius): 24196 (WebCore::InheritedFlags::setBorderBottomRightRadius): 24197 (WebCore::InheritedFlags::setBorderLeftWidth): 24198 (WebCore::InheritedFlags::setBorderLeftStyle): 24199 (WebCore::InheritedFlags::setBorderLeftColor): 24200 (WebCore::InheritedFlags::setBorderRightWidth): 24201 (WebCore::InheritedFlags::setBorderRightStyle): 24202 (WebCore::InheritedFlags::setBorderRightColor): 24203 (WebCore::InheritedFlags::setBorderTopWidth): 24204 (WebCore::InheritedFlags::setBorderTopStyle): 24205 (WebCore::InheritedFlags::setBorderTopColor): 24206 (WebCore::InheritedFlags::setBorderBottomWidth): 24207 (WebCore::InheritedFlags::setBorderBottomStyle): 24208 (WebCore::InheritedFlags::setBorderBottomColor): 24209 (WebCore::InheritedFlags::setOutlineWidth): 24210 (WebCore::InheritedFlags::setOutlineStyle): 24211 (WebCore::InheritedFlags::setOutlineColor): 24212 (WebCore::InheritedFlags::setOutlineOffset): 24213 (WebCore::InheritedFlags::setColumnRuleColor): 24214 (WebCore::InheritedFlags::setColumnRuleWidth): 24215 * rendering/style/StyleMultiColData.h: 24216 (WebCore::StyleMultiColData::ruleWidth): 24217 24218 2010-04-09 Andrey Kosyakov <caseq (a] chromium.org> 24219 24220 Reviewed by Darin Adler. 24221 24222 Fixed ResourceError::failingURL() and ResourceResponse::httpStatusText() 24223 to return meaningful values. 24224 https://bugs.webkit.org/show_bug.cgi?id=37274 24225 24226 * platform/network/mac/ResourceErrorMac.mm: 24227 (WebCore::ResourceError::platformLazyInit): 24228 * platform/network/mac/ResourceResponseMac.mm: 24229 (WebCore::ResourceResponse::platformLazyInit): 24230 24231 2010-04-09 Jeremy Orlow <jorlow (a] chromium.org> 24232 24233 Reviewed by Darin Adler. 24234 24235 Move the IDB::open ExceptionCode paramter to be last 24236 https://bugs.webkit.org/show_bug.cgi?id=37277 24237 24238 Move the ExceptionCode paramter to the last position in 24239 IndexedDatabaseRequest::open and friends. It should definitely 24240 go after the callbacks to keep the parameters that come directly 24241 from javascript together. And having output parameters appear 24242 last is done often in the code base, so it makes sense to push 24243 it past the Frame* param as well. 24244 24245 No functional change. 24246 24247 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: 24248 (WebCore::V8IndexedDatabaseRequest::openCallback): 24249 * storage/IndexedDatabase.h: 24250 * storage/IndexedDatabaseImpl.cpp: 24251 (WebCore::IndexedDatabaseImpl::open): 24252 * storage/IndexedDatabaseImpl.h: 24253 * storage/IndexedDatabaseRequest.cpp: 24254 (WebCore::IndexedDatabaseRequest::open): 24255 * storage/IndexedDatabaseRequest.h: 24256 24257 2010-04-09 Dmitry Titov <dimich (a] chromium.org> 24258 24259 Reviewed by Darin Adler. 24260 24261 WebCore: WorkerGlobalScope.close() should let the currently running script complete execution, then terminate the worker. 24262 https://bugs.webkit.org/show_bug.cgi?id=37053 24263 24264 Test: fast/workers/worker-close-more.html 24265 24266 * bindings/js/WorkerScriptController.cpp: 24267 (WebCore::WorkerScriptController::forbidExecution): 24268 (WebCore::WorkerScriptController::): 24269 * bindings/v8/WorkerScriptController.cpp: 24270 (WebCore::WorkerScriptController::forbidExecution): 24271 * bindings/v8/WorkerScriptController.h: 24272 (WebCore::WorkerScriptController::): 24273 Added option parameter to forbidExecution (both JCS and V8 versions) that specifies whether currently running 24274 script should be immediately terminated or left executed until the end. 24275 24276 * bindings/js/WorkerScriptController.h: 24277 (WebCore::WorkerScriptController::workerContextWrapper): 24278 This method now can return 0 instead of context if the further execution of JS is forbidden. Since any JS execution requires 24279 fetching JS global object first, returning 0 here is a good way to prevent re-entry into JS once worker started termination. 24280 V8 version does similar thing already in WorkerScriptController::proxy(). 24281 24282 * workers/DedicatedWorkerContext.cpp: 24283 (WebCore::DedicatedWorkerContext::postMessage): 24284 Removed check that immediately disables postMessage from WorkerContext after close(). 24285 24286 * workers/WorkerContext.cpp: 24287 (WebCore::CloseWorkerContextTask::create): 24288 (WebCore::CloseWorkerContextTask::performTask): 24289 (WebCore::CloseWorkerContextTask::isCleanupTask): 24290 (WebCore::WorkerContext::close): 24291 Use new forbidExecution(LetRunningScriptFinish) to avoid termination of script until it executes and exits. 24292 Post a task to actually terminate the worker once the currently executing JS fragment exits. 24293 24294 * workers/WorkerThread.cpp: 24295 (WebCore::WorkerThread::workerThread): 24296 (WebCore::WorkerThread::stop): 24297 Use new forbidExecution(TerminateRunningScript) to immediately terminate the JS. 24298 24299 2010-04-09 Kent Tamura <tkent (a] chromium.org> 24300 24301 Reviewed by Darin Adler. 24302 24303 Implement interactive validation for forms. 24304 https://bugs.webkit.org/show_bug.cgi?id=34930 24305 24306 - HTMLFormControlElement::checkValidity() supports unhandled invalid control list 24307 - HTMLFormElement::validateInteractively() called from prepareSubmit() 24308 prevents the submission if neither noValidate nor formNoValidate is 24309 specified, and focuses on the first invalid control of which "invalid" 24310 event is not canceled. 24311 24312 Tests: fast/forms/checkValidity-cancel.html 24313 fast/forms/interactive-validation-cancel.html 24314 fast/forms/interactive-validation-formnovalidate.html 24315 fast/forms/interactive-validation-novalidate.html 24316 fast/forms/interactive-validation-prevented.html 24317 fast/forms/interactive-validation-remove-node-in-handler.html 24318 24319 * html/HTMLFormControlElement.cpp: 24320 (WebCore::HTMLFormControlElement::checkValidity): 24321 If the control is invalid and the "invalid" is not canceled, 24322 push the control to the specified vector. 24323 * html/HTMLFormControlElement.h: 24324 * html/HTMLFormElement.cpp: 24325 (WebCore::HTMLFormElement::validateInteractively): 24326 The main part of the interactive validation. 24327 (WebCore::HTMLFormElement::prepareSubmit): 24328 Calls validateInteractively(). 24329 (WebCore::HTMLFormElement::checkValidity): 24330 Uses collectUnhandledInvalidControls(). 24331 (WebCore::HTMLFormElement::collectUnhandledInvalidControls): 24332 * html/HTMLFormElement.h: 24333 24334 2010-04-09 Sam Weinig <sam (a] webkit.org> 24335 24336 Fix the mac WebKit2 build. 24337 24338 * WebCore.base.exp: 24339 24340 2010-04-08 Alexey Proskuryakov <ap (a] apple.com> 24341 24342 Reviewed by Darin Adler. 24343 24344 https://bugs.webkit.org/show_bug.cgi?id=37181 24345 <rdar://problem/7835374> REGRESSION (r54400): Hangs when doing AJAX update with large amount of data 24346 24347 Test: fast/events/gc-freeze-with-attribute-listeners.html 24348 24349 The problem was that we were creating JS wrappers for nodes with attribute event listeners, 24350 and GC is very slow if there are nodes with wrappers in a detached tree whose root does not 24351 have a wrapper. 24352 24353 * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Don't create 24354 wrappers for attribute event listeners - if there is a node, JSLazyEventListener::initializeJSFunction() 24355 will create one. 24356 24357 * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the problem 24358 we are stepping around now. 24359 24360 2010-04-09 Xan Lopez <xlopez (a] igalia.com> 24361 24362 Reviewed by Gustavo Noronha. 24363 24364 WebGtk GLib-CRITICAL Segmentation fault 24365 https://bugs.webkit.org/show_bug.cgi?id=34937 24366 24367 Do not crash if a plugin does not return anything in 24368 NP_GetMIMEDescription. This can happen, and other ports gracefully 24369 handle the situation. 24370 24371 * plugins/gtk/PluginPackageGtk.cpp: 24372 (WebCore::PluginPackage::fetchInfo): 24373 24374 2010-04-09 Pavel Feldman <pfeldman (a] chromium.org> 24375 24376 Reviewed by Yury Semikhatsky. 24377 24378 Web Inspector: Cannot select elements within iframes with the magnifying glass. 24379 24380 https://bugs.webkit.org/show_bug.cgi?id=31732 24381 24382 * inspector/InspectorController.cpp: 24383 (WebCore::InspectorController::inspect): 24384 (WebCore::InspectorController::handleMousePress): 24385 * inspector/InspectorController.h: 24386 * page/EventHandler.cpp: 24387 (WebCore::EventHandler::handleMousePressEvent): 24388 24389 2010-04-09 Tasuku Suzuki <tasuku.suzuki (a] nokia.com> 24390 24391 Reviewed by Simon Hausmann. 24392 24393 [Qt]Fix compile error with QT_NO_PROPERTIES 24394 https://bugs.webkit.org/show_bug.cgi?id=36526 24395 24396 Disable dynamic properties when QT_NO_PROPERTIES is defined. 24397 24398 * bridge/qt/qt_class.cpp: 24399 (JSC::Bindings::QtClass::fieldNamed): 24400 * bridge/qt/qt_instance.cpp: 24401 (JSC::Bindings::QtInstance::getPropertyNames): 24402 (JSC::Bindings::QtField::name): 24403 (JSC::Bindings::QtField::valueFromInstance): 24404 (JSC::Bindings::QtField::setValueToInstance): 24405 * bridge/qt/qt_runtime.h: 24406 (JSC::Bindings::QtField::): 24407 24408 2010-04-09 David Leong <david.leong (a] nokia.com> 24409 24410 Reviewed by Simon Hausmann. 24411 24412 [Qt] Symbian apps crash on exit due to a bad qObject_cast. 24413 24414 https://bugs.webkit.org/show_bug.cgi?id=37303 24415 24416 Added check for NULL to avoid the crash. 24417 24418 * plugins/symbian/PluginViewSymbian.cpp: 24419 (WebCore::PluginView::platformDestroy): 24420 24421 2010-04-09 Mark Rowe <mrowe (a] apple.com> 24422 24423 Reviewed by Oliver Hunt. 24424 24425 <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again 24426 24427 * WebCore.xcodeproj/project.pbxproj: Wire up the script. Remove the three inappropriate 24428 files from the Copy Bundle Resources build phase. 24429 24430 2010-04-09 Zhenyao Mo <zmo (a] google.com> 24431 24432 Reviewed by Darin Fisher. 24433 24434 Passing null WebGLObjects should synthesize INVALID_VALUE error 24435 https://bugs.webkit.org/show_bug.cgi?id=37047 24436 24437 * html/canvas/WebGLRenderingContext.cpp: Synthesize INVALID_VALUE error when input object is 0. 24438 (WebCore::WebGLRenderingContext::bindAttribLocation): 24439 (WebCore::WebGLRenderingContext::compileShader): 24440 (WebCore::WebGLRenderingContext::detachShader): 24441 (WebCore::WebGLRenderingContext::validateWebGLObject): 24442 (WebCore::WebGLRenderingContext::getActiveAttrib): 24443 (WebCore::WebGLRenderingContext::getActiveUniform): 24444 (WebCore::WebGLRenderingContext::getProgramParameter): 24445 (WebCore::WebGLRenderingContext::getProgramInfoLog): 24446 (WebCore::WebGLRenderingContext::getShaderParameter): 24447 (WebCore::WebGLRenderingContext::getShaderInfoLog): 24448 (WebCore::WebGLRenderingContext::getShaderSource): 24449 (WebCore::WebGLRenderingContext::getUniform): 24450 (WebCore::WebGLRenderingContext::getUniformLocation): 24451 (WebCore::WebGLRenderingContext::linkProgram): 24452 (WebCore::WebGLRenderingContext::shaderSource): 24453 * html/canvas/WebGLRenderingContext.h: Add helper function to validate webgl object input parameters. 24454 24455 2010-04-09 Zhenyao Mo <zmo (a] google.com> 24456 24457 Reviewed by Dimitri Glazkov. 24458 24459 Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D 24460 https://bugs.webkit.org/show_bug.cgi?id=37174 24461 24462 Test: fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html 24463 24464 * platform/graphics/mac/GraphicsContext3DMac.cpp: resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D. 24465 (WebCore::GraphicsContext3D::copyTexImage2D): 24466 (WebCore::GraphicsContext3D::copyTexSubImage2D): 24467 24468 2010-04-09 Evan Stade <estade (a] chromium.org> 24469 24470 Reviewed by Dimitri Glazkov. 24471 24472 [chromium] <select> dropdowns don't die when an item is selected 24473 https://bugs.webkit.org/show_bug.cgi?id=37243 24474 24475 * platform/chromium/PopupMenuChromium.cpp: 24476 (WebCore::PopupContainer::hidePopup): 24477 (WebCore::PopupContainer::notifyPopupHidden): 24478 (WebCore::PopupListBox::hidePopup): inform container that popup is closing 24479 * platform/chromium/PopupMenuChromium.h: 24480 24481 2010-04-09 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 24482 24483 Reviewed by Simon Hausmann. 24484 24485 [Qt] Fix crashes with package builds in release 24486 24487 * WebCore.pro: Don't add NDEBUG to the defines here, add it from JavaScriptCore.pri 24488 24489 2010-04-09 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 24490 24491 Reviewed by Simon Fraser. 24492 24493 Remove "all" value from the view-mode media feature (as agreed on 24494 1-Apr-2010) in the Widgets voice conf. 24495 24496 * css/CSSValueKeywords.in: 24497 * css/MediaQueryEvaluator.cpp: 24498 (WebCore::view_modeMediaFeatureEval): 24499 24500 2010-04-09 Sheriff Bot <webkit.review.bot (a] gmail.com> 24501 24502 Unreviewed, rolling out r57286. 24503 http://trac.webkit.org/changeset/57286 24504 https://bugs.webkit.org/show_bug.cgi?id=37312 24505 24506 "Caused intermittent test failures on all Mac bots." 24507 (Requested by eseidel on #webkit). 24508 24509 * storage/DatabaseTracker.cpp: 24510 (WebCore::DatabaseTracker::originQuotaManagerNoLock): 24511 (WebCore::DatabaseTracker::originQuotaManager): 24512 (WebCore::DatabaseTracker::DatabaseTracker): 24513 (WebCore::DatabaseTracker::canEstablishDatabase): 24514 (WebCore::DatabaseTracker::hasEntryForOrigin): 24515 (WebCore::DatabaseTracker::getMaxSizeForDatabase): 24516 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): 24517 (WebCore::DatabaseTracker::fullPathForDatabase): 24518 (WebCore::DatabaseTracker::populateOrigins): 24519 (WebCore::DatabaseTracker::origins): 24520 (WebCore::DatabaseTracker::databaseNamesForOrigin): 24521 (WebCore::DatabaseTracker::addOpenDatabase): 24522 (WebCore::DatabaseTracker::removeOpenDatabase): 24523 (WebCore::DatabaseTracker::usageForOriginNoLock): 24524 (WebCore::DatabaseTracker::usageForOrigin): 24525 (WebCore::DatabaseTracker::quotaForOrigin): 24526 (WebCore::DatabaseTracker::setQuota): 24527 (WebCore::DatabaseTracker::deleteOrigin): 24528 (WebCore::DatabaseTracker::deleteDatabase): 24529 (WebCore::DatabaseTracker::deleteDatabaseFile): 24530 * storage/DatabaseTracker.h: 24531 * storage/SQLTransactionClient.cpp: 24532 (WebCore::SQLTransactionClient::didExecuteStatement): 24533 24534 2010-04-09 Andras Becsi <abecsi (a] webkit.org> 24535 24536 Reviewed by Simon Hausmann. 24537 24538 [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl 24539 https://bugs.webkit.org/show_bug.cgi?id=37296 24540 24541 Do not use moc to preprocess user agent style sheets because it removes at-symbols 24542 and hexadecimal colours from declarations. 24543 Remove unneeded preprocessor usage from make-css-file-arrays.pl since the script 24544 processes default css files using regular expressions therefore preprocessing is redundant. 24545 24546 * WebCore.pri: remove --preprocessor usage 24547 * css/make-css-file-arrays.pl: remove gcc dependency 24548 24549 2010-04-08 Chris Evans <cevans (a] chromium.org> 24550 24551 Reviewed by Sam Weinig. 24552 24553 Use the new UserGestureIndictor for _blank POST requests. 24554 24555 https://bugs.webkit.org/show_bug.cgi?id=34541 24556 24557 Test: fast/events/popup-blocked-to-post-blank.html 24558 24559 * bindings/v8/ScriptController.cpp: 24560 (WebCore::ScriptController::processingUserGesture): 24561 Use UserGestureIndicator in more cases. 24562 * page/EventHandler.cpp: 24563 (WebCore::EventHandler): 24564 Impact from UserGestureIndicator API change. 24565 (WebCore::FrameLoader::submitForm): 24566 Block the load immediately if popups are not allowed and it would 24567 open a new window. 24568 * loader/RedirectScheduler.cpp: 24569 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): 24570 Note the UserGestureIndicator status at the time of submission. 24571 (WebCore::ScheduledFormSubmission::fire): 24572 Use the stored UserGestureIndicator status in the asynchronous 24573 callback. 24574 * dom/UserGestureIndicator.h: 24575 * dom/UserGestureIndicator.cpp: 24576 (WebCore::UserGestureIndicator::UserGestureIndicator): 24577 Add ability to store a negative indication. 24578 24579 2010-03-29 Antonio Gomes <tonikitoo (a] webkit.org> 24580 24581 Reviewed by Simon Fraser. 24582 24583 Spatial Navigation: proper handle negative x or y coordinates 24584 https://bugs.webkit.org/show_bug.cgi?id=36773 24585 24586 In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument, 24587 sometimes negative x() or y() values are got, and the current algorithm bails out in 24588 any of such cases. 24589 24590 However, when a node is in a scrollable content (content overflow <div>) and 24591 this scrollable container scrolled up, element gets offscreen, and gets negative values 24592 for y(), for example. In such cases, they are still valid to be used in Spatial Navigation 24593 logic. 24594 24595 Test: fast/events/spatial-navigation/snav-offscreen-content.html 24596 24597 * page/SpatialNavigation.cpp: 24598 (WebCore::distanceDataForNode): 24599 (WebCore::checkNegativeCoordsForNode): 24600 24601 2010-04-08 Dumitru Daniliuc <dumi (a] chromium.org> 24602 24603 Reviewed by Geoffrey Garen. 24604 24605 Create the creation callback is the current world. 24606 https://bugs.webkit.org/show_bug.cgi?id=37290 24607 24608 * bindings/js/JSDatabaseCallback.cpp: 24609 (WebCore::JSDatabaseCallback::JSDatabaseCallback): 24610 24611 2010-04-08 David Hyatt <hyatt (a] apple.com> 24612 24613 Reviewed by Oliver Hunt. 24614 24615 Followup optimization to bug 24300, don't leak history info via CSS :visited. If a Web 24616 site uses document colors that are the same for link and vlink in HTML and also doesn't 24617 specify any :link or :visited rules, then don't waste time resolving visited styles. 24618 24619 There is a further optimization that could be done to detect when :link and :visited are 24620 used together in the same rule to specify a color, and this is how most sites turn off 24621 visited link colors, but this fix doesn't address that. It just restores the optimization 24622 that existed prior to the patch in 24300 landing. 24623 24624 * css/CSSGrammar.y: 24625 * css/CSSStyleSelector.cpp: 24626 (WebCore::CSSStyleSelector::styleForElement): 24627 * dom/Document.cpp: 24628 (WebCore::Document::Document): 24629 * dom/Document.h: 24630 (WebCore::Document::usesLinkRules): 24631 (WebCore::Document::setUsesLinkRules): 24632 24633 2010-04-08 David Hyatt <hyatt (a] apple.com> 24634 24635 Reviewed by Oliver Hunt. 24636 24637 Caught by pixel tests. I missed patching the borderRightColor() call for fieldset border painting so the 24638 border stopped showing up. 24639 24640 * rendering/RenderFieldset.cpp: 24641 (WebCore::RenderFieldset::paintBorderMinusLegend): 24642 24643 2010-04-07 David Hyatt <hyatt (a] apple.com> 24644 24645 Reviewed by Oliver Hunt. 24646 24647 https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited. 24648 24649 This patch implements the policy described by David Baron here: 24650 24651 http://dbaron.org/mozilla/visited-privacy 24652 24653 Added new tests in fast/history. 24654 24655 * WebCore.base.exp: 24656 Expose functions needed for the WebKit SPI used by layout tests. 24657 24658 * WebCore.xcodeproj/project.pbxproj: 24659 * accessibility/AccessibilityRenderObject.cpp: 24660 (WebCore::AccessibilityRenderObject::isVisited): 24661 Make sure accessibility objects still return visited information. 24662 24663 * css/CSSComputedStyleDeclaration.cpp: 24664 (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration): 24665 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 24666 * css/CSSComputedStyleDeclaration.h: 24667 (WebCore::computedStyle): 24668 Add a boolean to computed style declarations that - if set - causes the computed style 24669 to still return :visited information. For normal Web pages, this will be false. It is set 24670 to true for the Web Inspector and by the WebKit SPI used by the layout tests. 24671 24672 * css/CSSStyleSelector.cpp: 24673 (WebCore::CSSStyleSelector::initElement): 24674 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): 24675 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): 24676 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 24677 (WebCore::CSSStyleSelector::canShareStyleWithElement): 24678 (WebCore::CSSStyleSelector::styleForElement): 24679 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 24680 (WebCore::CSSStyleSelector::pseudoStyleForElement): 24681 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): 24682 (WebCore::CSSStyleSelector::checkSelector): 24683 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 24684 (WebCore::CSSStyleSelector::applyPropertyToStyle): 24685 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): 24686 * css/CSSStyleSelector.h: 24687 Rework the style selector to resolve two styles instead of one. The first forces the link to 24688 be unvisited, and the second forces the link to be visited. The real state of the link is 24689 cached on the principal (unvisited) style. The visited style hangs off the principal style 24690 as a pseudo style (VISITED_LINK). 24691 24692 * dom/Element.cpp: 24693 (WebCore::Element::pseudoStyleCacheIsInvalid): 24694 Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed. 24695 24696 * inspector/InspectorDOMAgent.cpp: 24697 (WebCore::InspectorDOMAgent::getStyles): 24698 Let the Web Inspector see :visited computed styles by default. 24699 24700 * platform/LinkHash.cpp: 24701 (WebCore::visitedURL): 24702 Fix an issue where <a href=""> is not hashed properly to the document's base URI, so it wasn't 24703 correctly reported as :visited. 24704 24705 * rendering/InlineFlowBox.cpp: 24706 (WebCore::InlineFlowBox::paintBoxDecorations): 24707 (WebCore::InlineFlowBox::paintTextDecorations): 24708 * rendering/InlineTextBox.cpp: 24709 (WebCore::InlineTextBox::paint): 24710 (WebCore::InlineTextBox::paintSelection): 24711 * rendering/RenderBlock.cpp: 24712 (WebCore::RenderBlock::paintColumnRules): 24713 (WebCore::RenderBlock::paintObject): 24714 * rendering/RenderBoxModelObject.cpp: 24715 (WebCore::RenderBoxModelObject::paintBorder): 24716 * rendering/RenderFieldset.cpp: 24717 (WebCore::RenderFieldset::paintBorderMinusLegend): 24718 * rendering/RenderImage.cpp: 24719 (WebCore::RenderImage::paintFocusRings): 24720 * rendering/RenderInline.cpp: 24721 (WebCore::RenderInline::paintOutline): 24722 (WebCore::RenderInline::paintOutlineForLine): 24723 * rendering/RenderObject.cpp: 24724 (WebCore::RenderObject::drawLineForBoxSide): 24725 (WebCore::RenderObject::drawArcForBoxSide): 24726 (WebCore::RenderObject::paintOutline): 24727 (WebCore::decorationColor): 24728 (WebCore::RenderObject::getTextDecorationColors): 24729 * rendering/RenderObject.h: 24730 * rendering/RenderPath.cpp: 24731 (WebCore::RenderPath::paint): 24732 * rendering/RenderReplaced.cpp: 24733 (WebCore::RenderReplaced::paint): 24734 * rendering/RenderSVGContainer.cpp: 24735 (WebCore::RenderSVGContainer::paint): 24736 * rendering/RenderSVGImage.cpp: 24737 (WebCore::RenderSVGImage::paint): 24738 * rendering/RenderSVGRoot.cpp: 24739 (WebCore::RenderSVGRoot::paint): 24740 * rendering/RenderTableCell.cpp: 24741 (WebCore::RenderTableCell::collapsedLeftBorder): 24742 (WebCore::RenderTableCell::collapsedRightBorder): 24743 (WebCore::RenderTableCell::collapsedTopBorder): 24744 (WebCore::RenderTableCell::collapsedBottomBorder): 24745 (WebCore::RenderTableCell::paintCollapsedBorder): 24746 * rendering/style/CollapsedBorderValue.h: 24747 (WebCore::CollapsedBorderValue::CollapsedBorderValue): 24748 (WebCore::CollapsedBorderValue::color): 24749 (WebCore::CollapsedBorderValue::operator==): 24750 Patch painting code to fetch visitedDependentColors from the RenderStyle. Properties that 24751 are honored include background-color, color, border colors, outline color, column rules, 24752 and fill and stroke (both SVG and our custom versions). 24753 24754 * rendering/style/RenderStyle.cpp: 24755 (WebCore::RenderStyle::RenderStyle): 24756 (WebCore::RenderStyle::diff): 24757 (WebCore::borderStyleForColorProperty): 24758 (WebCore::colorIncludingFallback): 24759 (WebCore::RenderStyle::visitedDependentColor): 24760 * rendering/style/RenderStyle.h: 24761 (WebCore::): 24762 (WebCore::InheritedFlags::NonInheritedFlags::operator==): 24763 (WebCore::InheritedFlags::setBitDefaults): 24764 (WebCore::InheritedFlags::insideLink): 24765 (WebCore::InheritedFlags::isLink): 24766 (WebCore::InheritedFlags::setInsideLink): 24767 (WebCore::InheritedFlags::setIsLink): 24768 * rendering/style/RenderStyleConstants.h: 24769 Change how link information is stored. The noninherited flags now have a bit set for if you're a link 24770 or not. The inherited flags now cache whether you're inside a visited or unvisited link (or no link at 24771 all). 24772 24773 (WebCore::): 24774 * svg/graphics/SVGPaintServer.cpp: 24775 (WebCore::SVGPaintServer::fillPaintServer): 24776 (WebCore::SVGPaintServer::strokePaintServer): 24777 Patch SVG fill/stroke painting to honor :visited. 24778 24779 2010-04-08 Benjamin Otte <otte (a] gnome.org> 24780 24781 Reviewed by Gustavo Noronha. 24782 24783 Fix build with MathML enabled. 24784 24785 * GNUmakefile.am: 24786 24787 2010-04-08 Daniel Bates <dbates (a] rim.com> 24788 24789 No review, rolling out 56655. 24790 http://trac.webkit.org/changeset/56655 24791 https://bugs.webkit.org/show_bug.cgi?id=9268 24792 24793 Rolling out the change committed in change set 56655 24794 because it caused a regression in some of the mozilla 24795 and mozilla expected failure test cases, such as: 24796 tables/mozilla/marvin/backgr_simple-table-row.html, and 24797 tables/mozilla/marvin/backgr_simple-table-row-group.html. 24798 24799 We need to look into this issue some more. 24800 24801 * rendering/RenderBoxModelObject.cpp: 24802 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 24803 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): 24804 * rendering/RenderBoxModelObject.h: 24805 * rendering/RenderObject.h: 24806 * rendering/RenderTableCell.cpp: 24807 * rendering/RenderTableCell.h: 24808 24809 2010-03-30 Dumitru Daniliuc <dumi (a] chromium.org> 24810 24811 Reviewed by Dimitri Glazkov. 24812 24813 Refactor DatabaseTracker, part 1: Remove the dependency on 24814 OriginQuotaManager from DatabaseTracker.h. 24815 24816 https://bugs.webkit.org/show_bug.cgi?id=31482 24817 24818 * storage/DatabaseTracker.cpp: 24819 (originQuotaManager): 24820 (WebCore::DatabaseTracker::DatabaseTracker): 24821 (WebCore::DatabaseTracker::canEstablishDatabase): 24822 (WebCore::DatabaseTracker::hasEntryForOrigin): 24823 (WebCore::DatabaseTracker::getMaxSizeForDatabase): 24824 (WebCore::DatabaseTracker::databaseChanged): 24825 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): 24826 (WebCore::DatabaseTracker::fullPathForDatabase): 24827 (WebCore::DatabaseTracker::populateOrigins): 24828 (WebCore::DatabaseTracker::origins): 24829 (WebCore::DatabaseTracker::databaseNamesForOrigin): 24830 (WebCore::DatabaseTracker::removeOpenDatabase): 24831 (WebCore::DatabaseTracker::usageForOriginNoLock): 24832 (WebCore::DatabaseTracker::usageForOrigin): 24833 (WebCore::DatabaseTracker::quotaForOrigin): 24834 (WebCore::DatabaseTracker::setQuota): 24835 (WebCore::DatabaseTracker::deleteOrigin): 24836 (WebCore::DatabaseTracker::deleteDatabase): 24837 (WebCore::DatabaseTracker::deleteDatabaseFile): 24838 * storage/DatabaseTracker.h: 24839 * storage/SQLTransactionClient.cpp: 24840 (WebCore::SQLTransactionClient::didExecuteStatement): 24841 24842 2010-04-08 Kwang Yul Seo <skyul (a] company100.net> 24843 24844 Reviewed by Simon Hausmann. 24845 24846 [WINCE] Replace max with std::max 24847 https://bugs.webkit.org/show_bug.cgi?id=37201 24848 24849 std::max is preferred. 24850 24851 * platform/wince/FileSystemWince.cpp: 24852 (WebCore::makeAllDirectories): 24853 (WebCore::pathGetFileName): 24854 24855 2010-04-08 Antonio Gomes <tonikitoo (a] webkit.org> 24856 24857 Reviewed by Laszlo Gombos. 24858 24859 [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility 24860 https://bugs.webkit.org/show_bug.cgi?id=36405 24861 24862 * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp. 24863 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 24864 24865 2010-04-08 Pavel Feldman <pfeldman (a] chromium.org> 24866 24867 Reviewed by Yury Semikhatsky. 24868 24869 Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel. 24870 24871 https://bugs.webkit.org/show_bug.cgi?id=37267 24872 24873 * English.lproj/localizedStrings.js: 24874 * inspector/InspectorController.cpp: 24875 (WebCore::InspectorController::mainResourceFiredDOMContentEvent): 24876 (WebCore::InspectorController::mainResourceFiredLoadEvent): 24877 * inspector/InspectorController.h: 24878 * inspector/InspectorTimelineAgent.cpp: 24879 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): 24880 (WebCore::InspectorTimelineAgent::didMarkLoadEvent): 24881 * inspector/InspectorTimelineAgent.h: 24882 (WebCore::): 24883 * inspector/front-end/ResourcesPanel.js: 24884 (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded): 24885 * inspector/front-end/TimelineAgent.js: 24886 * inspector/front-end/TimelineGrid.js: 24887 (WebInspector.TimelineGrid.prototype.removeEventDividers): 24888 * inspector/front-end/TimelinePanel.js: 24889 (WebInspector.TimelinePanel): 24890 (WebInspector.TimelinePanel.prototype.get _recordStyles): 24891 (WebInspector.TimelinePanel.prototype._updateMarks): 24892 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 24893 (WebInspector.TimelinePanel.prototype._clearPanel): 24894 (WebInspector.TimelinePanel.prototype._refresh): 24895 (WebInspector.TimelinePanel.prototype._refreshRecords): 24896 (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition): 24897 (WebInspector.TimelineRecordGraphRow.prototype.update): 24898 * inspector/front-end/inspector.css: 24899 (.resources-event-divider): 24900 (.resources-red-divider): 24901 (.resources-blue-divider): 24902 (.resources-orange-divider): 24903 24904 2010-04-01 Antonio Gomes <tonikitoo (a] webkit.org> 24905 24906 Reviewed by David Hyatt. 24907 24908 [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect. 24909 https://bugs.webkit.org/show_bug.cgi?id=29431 24910 24911 Test: fast/overflow/scrollbar-restored-and-then-locked.html 24912 24913 Patch introduces a lock scrollbars concept to ScrollView, as in WebDynamicScrollBarsView.mm/h 24914 on WebKit/mac. It is needed because in QtWebKit, we have Api for setting both vertical and 24915 horizontal scrollbars on/off/auto. When it is set to off, for example, it should remain 24916 as such, unless unset. 24917 24918 For the locking concept, optional 'lock' parameters were added to setScrollbarModes, 24919 setHorizontalScrollbarMode and setVerticalScrollbarMode methods of ScrollView. As these 24920 are all optional, any previous code calling them do not need modification. 24921 24922 Two optional parameters were also added to Frame's createView method, for horizontal and vertical 24923 lock state persistence cross page loads. 24924 24925 * page/Frame.cpp: 24926 (WebCore::Frame::createView): 24927 * platform/ScrollView.cpp: 24928 (WebCore::ScrollView::ScrollView): 24929 (WebCore::ScrollView::setScrollbarModes): 24930 (WebCore::ScrollView::setHorizontalScrollbarMode): 24931 (WebCore::ScrollView::setVerticalScrollbarMode): 24932 * platform/ScrollView.h: 24933 (WebCore::ScrollView::setHorizontalScrollbarLock): 24934 (WebCore::ScrollView::isHorizontalScrollbarLocked): 24935 (WebCore::ScrollView::setVerticalScrollbarLock): 24936 (WebCore::ScrollView::isVerticalScrollbarLocked): 24937 (WebCore::ScrollView::setScrollingModesLocked): 24938 24939 2010-04-08 Yury Semikhatsky <yurys (a] chromium.org> 24940 24941 Reviewed by Pavel Feldman. 24942 24943 Correctly save number of properties when object being serialized 24944 have properties in its prorotype. 24945 24946 https://bugs.webkit.org/show_bug.cgi?id=37263 24947 24948 * bindings/v8/SerializedScriptValue.cpp: 24949 (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState): 24950 (WebCore::ZigZag::Serializer::AbstractObjectState::advance): 24951 24952 2010-04-08 Jeremy Orlow <jorlow (a] chromium.org> 24953 24954 Reviewed by Yury Semikhatsky. 24955 24956 IDB callbacks should fire asynchronously 24957 https://bugs.webkit.org/show_bug.cgi?id=37265 24958 24959 Fix the firing behavior of the callbacks to not be synchronous. 24960 24961 There's still a major bug that I'm trying to track down that is keeping 24962 us from testing this stuff. Promise lots of tests ASAP. 24963 24964 * bindings/v8/custom/V8CustomIDBCallbacks.h: 24965 (WebCore::V8CustomIDBCallbacks::onSuccessAsync): 24966 (WebCore::V8CustomIDBCallbacks::onErrorAsync): 24967 * storage/IDBCallbacks.h: 24968 (WebCore::IDBCallbacks::IDBCallbacks): 24969 (WebCore::IDBCallbacks::onSuccess): 24970 (WebCore::IDBCallbacks::onError): 24971 (WebCore::IDBCallbacks::timerFired): 24972 * storage/IndexedDatabaseRequest.cpp: 24973 24974 2010-04-08 Kent Tamura <tkent (a] chromium.org> 24975 24976 Reviewed by Darin Adler. 24977 24978 willValidate doesn't need to check existence of a form element and a name attribute. 24979 https://bugs.webkit.org/show_bug.cgi?id=34733 24980 24981 Remove checks against m_form and m_hasName in 24982 HTMLFormControlElement::willValidate(), and remove the code to 24983 track their updates. 24984 24985 Test: fast/forms/willvalidate.html 24986 24987 * html/HTMLFormControlElement.cpp: 24988 (WebCore::HTMLFormControlElement::HTMLFormControlElement): 24989 (WebCore::HTMLFormControlElement::parseMappedAttribute): 24990 (WebCore::HTMLFormControlElement::insertedIntoTree): 24991 (WebCore::HTMLFormControlElement::removedFromTree): 24992 (WebCore::HTMLFormControlElement::recalcWillValidate): 24993 (WebCore::HTMLFormControlElement::willValidate): 24994 (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): 24995 * html/HTMLFormControlElement.h: 24996 (WebCore::HTMLFormControlElement::formDestroyed): 24997 * html/HTMLInputElement.cpp: 24998 (WebCore::HTMLInputElement::setInputType): 24999 setNeedsWillValidateCheck() should be called before 25000 setAttribute(valueAttr, ...) is called. 25001 25002 2010-04-08 Young Han Lee <joybro (a] company100.net> 25003 25004 Reviewed by Simon Hausmann. 25005 25006 [WINCE] Add missing headers 25007 https://bugs.webkit.org/show_bug.cgi?id=37199 25008 25009 Include missing headers. 25010 25011 * platform/graphics/wince/FontCustomPlatformData.cpp: 25012 * platform/graphics/wince/FontPlatformData.cpp: 25013 * platform/graphics/wince/GraphicsContextWince.cpp: 25014 * platform/graphics/wince/ImageBufferWince.cpp: 25015 * platform/graphics/wince/PlatformPathWince.h: 25016 * platform/wince/FileSystemWince.cpp: 25017 25018 2010-04-08 Kwang Yul Seo <skyul (a] company100.net> 25019 25020 Reviewed by Simon Hausmann. 25021 25022 [WINCE] Use WebCore::instanceHandle() 25023 https://bugs.webkit.org/show_bug.cgi?id=37202 25024 25025 Page::instanceHandle() is moved to WebCore::instanceHandle(). 25026 25027 * platform/wince/PasteboardWince.cpp: 25028 (WebCore::Pasteboard::Pasteboard): 25029 * platform/wince/SharedTimerWince.cpp: 25030 (WebCore::initializeOffScreenTimerWindow): 25031 25032 2010-04-08 Vitaly Repeshko <vitalyr (a] chromium.org> 25033 25034 Reviewed by Dimitri Glazkov. 25035 25036 [V8] Fix crash in NodeFilterCondition in detached iframe 25037 https://bugs.webkit.org/show_bug.cgi?id=37234 25038 25039 Test: fast/dom/node-filter-detached-iframe-crash.html 25040 25041 * bindings/v8/V8NodeFilterCondition.cpp: 25042 (WebCore::V8NodeFilterCondition::acceptNode): Switched to using 25043 callFunctionWithoutFrame. 25044 * bindings/v8/V8Proxy.cpp: 25045 (WebCore::V8Proxy::callFunctionWithoutFrame): Added a function to 25046 call V8 with no current frame. 25047 * bindings/v8/V8Proxy.h: 25048 25049 2010-04-08 Jarkko Sakkinen <jarkko.sakkinen (a] tieto.com> 25050 25051 Reviewed by Simon Hausmann. 25052 25053 [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp 25054 https://bugs.webkit.org/show_bug.cgi?id=37226 25055 25056 * platform/graphics/qt/GraphicsContext3DQt.cpp: 25057 (WebCore::GraphicsContext3D::shaderSource): 25058 25059 2010-04-08 Chris Evans <cevans (a] chromium.org> 25060 25061 Reviewed by Adam Barth. 25062 25063 Sanity: apply a max node depth to XML parsing. 25064 25065 https://bugs.webkit.org/show_bug.cgi?id=37247 25066 25067 Test: fast/images/svg-nested.html 25068 25069 * dom/XMLTokenizer.cpp: 25070 (WebCore::XMLTokenizer::pushCurrentNode): 25071 Error out the parse upon a really large node depth. 25072 25073 2010-04-07 Dumitru Daniliuc <dumi (a] chromium.org> 25074 25075 Reviewed by Jeremy Orlow. 25076 25077 Fix Chromium's HTML5 DB support in --single-process mode. 25078 https://bugs.webkit.org/show_bug.cgi?id=37186. 25079 25080 Always register and use Chromium's SQLite VFS for 25081 WebSQLDatabases. Keep using the default VFS in all other 25082 cases. This change should allow Chromium to support 25083 WebSQLDatabases in --single-process mode. 25084 25085 Also, cleaning up a bit SQLiteFileSystemChromium and getting rid 25086 of the SQLITE_OPEN_FULLMUTEX flag: we use sqlite DB handles only 25087 on the DB thread, so we don't need multi-threaded support. 25088 25089 * platform/sql/SQLiteDatabase.cpp: 25090 (WebCore::SQLiteDatabase::open): 25091 * platform/sql/SQLiteDatabase.h: 25092 * platform/sql/SQLiteFileSystem.cpp: 25093 (WebCore::SQLiteFileSystem::openDatabase): 25094 * platform/sql/SQLiteFileSystem.h: 25095 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 25096 (WebCore::SQLiteFileSystem::openDatabase): 25097 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: 25098 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 25099 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: 25100 (WebCore::SQLiteFileSystem::registerSQLiteVFS): 25101 * storage/Database.cpp: 25102 (WebCore::Database::performOpenAndVerify): 25103 25104 2010-04-07 Chris Marrin <cmarrin (a] apple.com> 25105 25106 Reviewed by Steve Falkenburg. 25107 25108 Remove QuartzCoreInterface from the build 25109 25110 No longer needed since QuartzCore.dll is now included in the latest Safari release (4.0.5). 25111 This gets rid of all the function shims from the clients of QuartzCore.dll. 25112 25113 * platform/graphics/win/GraphicsLayerCACF.cpp: 25114 (WebCore::GraphicsLayerCACF::updateLayerPreserves3D): 25115 * platform/graphics/win/WKCACFLayer.cpp: 25116 (WebCore::toCACFLayerType): 25117 (WebCore::toCACFContentsGravityType): 25118 (WebCore::fromCACFContentsGravityType): 25119 (WebCore::toCACFFilterType): 25120 (WebCore::fromCACFFilterType): 25121 (WebCore::WKCACFLayer::isTransformLayer): 25122 * platform/graphics/win/WKCACFLayerRenderer.cpp: 25123 (WebCore::WKCACFLayerRenderer::createRenderer): 25124 25125 2010-04-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 25126 25127 Unreviewed, rolling out r57178. 25128 http://trac.webkit.org/changeset/57178 25129 https://bugs.webkit.org/show_bug.cgi?id=37240 25130 25131 Caused chromium browser_test and ui_test regressions 25132 (Requested by ojan on #webkit). 25133 25134 * bindings/v8/ScriptController.cpp: 25135 (WebCore::ScriptController::processingUserGesture): 25136 25137 2010-04-07 Jian Li <jianli (a] chromium.org> 25138 25139 Reviewed by Adam Barth and Dmitry Titov. 25140 25141 Add the comment and assert that we're generating version 4 random number 25142 based UUIDs. 25143 https://bugs.webkit.org/show_bug.cgi?id=36472 25144 25145 * platform/UUID.cpp: 25146 (WebCore::createCanonicalUUIDString): 25147 * platform/UUID.h: 25148 25149 2010-04-07 Erik Arvidsson <arv (a] chromium.org> 25150 25151 Reviewed by Adam Barth. 25152 25153 Allow white listing access from origin to local origin. 25154 https://bugs.webkit.org/show_bug.cgi?id=37228 25155 25156 This makes it possible to load a local resource from a non local 25157 origin if the access has previously been white listed by calling 25158 SecurityOrigin::whiteListAccessFromOrigin. 25159 25160 Test: http/tests/security/local-image-from-remote-whitelisted.html 25161 25162 * page/OriginAccessEntry.cpp: 25163 (WebCore::OriginAccessEntry::OriginAccessEntry): Removed assert that only the http and https protocol are valid. 25164 * page/SecurityOrigin.cpp: 25165 (WebCore::SecurityOrigin::canRequest): Use isAccessWhiteListed 25166 (WebCore::SecurityOrigin::isAccessWhiteListed): Extracted code that goes through the originAccessMap to do the origin matching. 25167 (WebCore::SecurityOrigin::canLoad): Check if access has been white listed. 25168 * page/SecurityOrigin.h: Add private function isAccessWhiteListed 25169 25170 2010-04-07 Luiz Agostini <luiz.agostini (a] openbossa.org> 25171 25172 Reviewed by Darin Adler. 25173 25174 Adding static method zero() to classes IntPoint and FloatPoint. 25175 https://bugs.webkit.org/show_bug.cgi?id=37220 25176 25177 Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler. 25178 25179 * platform/graphics/FloatPoint.h: 25180 (WebCore::FloatPoint::zero): 25181 * platform/graphics/IntPoint.h: 25182 (WebCore::IntPoint::zero): 25183 (WebCore::IntPoint::clampNegativeToZero): 25184 25185 2010-04-07 Alexey Proskuryakov <ap (a] apple.com> 25186 25187 * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment. 25188 25189 2010-04-07 Alexey Proskuryakov <ap (a] apple.com> 25190 25191 Reviewed by Darin Adler. 25192 25193 https://bugs.webkit.org/show_bug.cgi?id=37230 25194 <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when 25195 authenticating to Windows IIS Server 25196 25197 * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added 25198 a constant for ProtectionSpaceAuthenticationSchemeUnknown. 25199 25200 * platform/network/cf/AuthenticationCF.cpp: (WebCore::core): 25201 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod): 25202 Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme. 25203 25204 * platform/network/mac/AuthenticationMac.mm: 25205 (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from 25206 NSURLConnection, even though there was no public constant. 25207 (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme. 25208 25209 2010-04-07 Jaime Yap <jaimeyap (a] google.com> 25210 25211 Reviewed by Pavel Feldman. 25212 25213 Adds the ability to get the function symbol name when looking up the call location 25214 for records sent by the InspectorTimelineAgent. 25215 https://bugs.webkit.org/show_bug.cgi?id=36839 25216 25217 No new tests. 25218 25219 * bindings/js/ScriptCallStack.cpp: 25220 (WebCore::ScriptCallStack::callLocation): 25221 * bindings/js/ScriptCallStack.h: 25222 * bindings/v8/ScriptCallStack.cpp: 25223 (WebCore::ScriptCallStack::create): 25224 (WebCore::ScriptCallStack::callLocation): 25225 (WebCore::ScriptCallStack::ScriptCallStack): 25226 * bindings/v8/ScriptCallStack.h: 25227 * bindings/v8/ScriptDebugServer.cpp: 25228 (WebCore::ScriptDebugServer::createUtilityContext): 25229 (WebCore::ScriptDebugServer::topStackFrame): 25230 * bindings/v8/ScriptDebugServer.h: 25231 (WebCore::ScriptDebugServer::utilityContext): 25232 * bindings/v8/V8Proxy.cpp: 25233 * bindings/v8/V8Proxy.h: 25234 * inspector/TimelineRecordFactory.cpp: 25235 (WebCore::TimelineRecordFactory::createGenericRecord): 25236 25237 2010-04-07 Jay Civelli <jcivelli (a] chromium.org> 25238 25239 Reviewed by Jian Li. 25240 25241 [chromium] Fixing a NULL pointer being dereferenced in some cases. 25242 https://bugs.webkit.org/show_bug.cgi?id=37141 25243 25244 Test: platform/chromium/fast/forms/search-popup-crasher.html 25245 25246 * platform/chromium/PopupMenuChromium.cpp: 25247 (WebCore::PopupMenu::~PopupMenu): 25248 25249 2010-04-07 Kinuko Yasuda <kinuko (a] chromium.org> 25250 25251 Reviewed by Jian Li. 25252 25253 Add skeleton FileStream module for providing sync file operations for FileAPI 25254 https://bugs.webkit.org/show_bug.cgi?id=37217 25255 25256 For now the module just defines an interface and is almost empty. 25257 Implementation will be added. 25258 25259 No new tests; will be added when we have complete implementation. 25260 25261 * GNUmakefile.am: 25262 * WebCore.gypi: 25263 * WebCore.pro: 25264 * WebCore.vcproj/WebCore.vcproj: 25265 * WebCore.xcodeproj/project.pbxproj: 25266 * html/FileStream.cpp: Added. 25267 * html/FileStream.h: Added. 25268 * html/FileStreamClient.h: Added. 25269 * html/FileThread.cpp: 25270 (WebCore::SameFilePredicate::SameFilePredicate): 25271 (WebCore::SameFilePredicate::operator()): 25272 (WebCore::FileThread::unscheduleTasks): 25273 * html/FileThread.h: 25274 (WebCore::FileThread::Task::stream): 25275 (WebCore::FileThread::Task::Task): 25276 25277 2010-04-07 Oliver Hunt <oliver (a] apple.com> 25278 25279 Reviewed by Darin Adler. 25280 25281 Remove some unnecessary uses of commonJSGlobalData 25282 https://bugs.webkit.org/show_bug.cgi?id=37229 25283 25284 Pass the ExecState down to identifierFromNPIdentifier and update call sites 25285 25286 * bridge/NP_jsobject.cpp: 25287 (_NPN_Invoke): 25288 (_NPN_GetProperty): 25289 (_NPN_SetProperty): 25290 (_NPN_RemoveProperty): 25291 (_NPN_HasProperty): 25292 (_NPN_HasMethod): 25293 * bridge/c/c_instance.cpp: 25294 (JSC::Bindings::CInstance::getPropertyNames): 25295 * bridge/c/c_utility.cpp: 25296 (JSC::Bindings::identifierFromNPIdentifier): 25297 * bridge/c/c_utility.h: 25298 25299 2010-04-07 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 25300 25301 Reviewed by Darin Adler. 25302 25303 Poor rendering on lala.com with frame flattening 25304 https://bugs.webkit.org/show_bug.cgi?id=37164 25305 25306 Do not flatten offscreen iframes. 25307 25308 Test: fast/frames/flattening/iframe-flattening-offscreen.html 25309 25310 * rendering/RenderPartObject.cpp: 25311 (WebCore::RenderPartObject::flattenFrame): 25312 * rendering/RenderPartObject.h: 25313 25314 2010-04-07 Abhishek Arya <inferno (a] chromium.org> 25315 25316 Reviewed by Adam Barth. 25317 25318 [V8] Add a missing check for constructor call in WebKitPointConstructor. 25319 https://bugs.webkit.org/show_bug.cgi?id=37210 25320 25321 Test: fast/constructors/constructor-as-function-crash.html 25322 25323 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 25324 (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call. 25325 25326 2010-04-07 Enrica Casucci <enrica (a] apple.com> 25327 25328 Reviewed by Darin Adler. 25329 25330 https://bugs.webkit.org/show_bug.cgi?id=37219 25331 25332 This change disables text caret for the iPhone platflorm. 25333 Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0. 25334 25335 * editing/SelectionController.cpp: 25336 (WebCore::SelectionController::recomputeCaretRect): 25337 (WebCore::SelectionController::paintCaret): 25338 * page/Frame.cpp: 25339 (WebCore::Frame::paintDragCaret): 25340 25341 2010-04-07 Enrica Casucci <enrica (a] apple.com> 25342 25343 Reviewed by Dave Hyatt. 25344 25345 Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274). 25346 <rdar://problem/6649734> 25347 <https://bugs.webkit.org/show_bug.cgi?id=6274> 25348 25349 In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store 25350 the bounding box for the glyph instead of the simply caching the glyph width. 25351 Retrieving the bounding box for the glyph is expensive, therefore we do it only 25352 when we are rendering text using the complex text path to minimize the performance impact. 25353 To support characters with stacked diacritics, the method canUseGlyphCache has been modified to 25354 return false for the range of characters with stacked diacritics. 25355 The glyph cache has been also updated to allow storing the glyph bounding box together with the 25356 horizontal width. The bounding box is populated only for complex text. 25357 25358 The original version of this patch has been written by Dan Bernstein. 25359 25360 Test: fast/repaint/stacked-diacritics.html 25361 25362 * Android.mk: File name change. 25363 * GNUmakefile.am: File name change. 25364 * WebCore.base.exp: Added parameter in exported function. 25365 * WebCore.gypi: File name change. 25366 * WebCore.vcproj/WebCore.vcproj: File name change. 25367 * WebCore.xcodeproj/project.pbxproj: File name change. 25368 * platform/graphics/Font.cpp: 25369 (WebCore::Font::floatWidth): Added glyphOverflow parameter. 25370 * platform/graphics/Font.h: 25371 (WebCore::GlyphOverflow::GlyphOverflow): Added. 25372 (WebCore::Font::width): Added glyphOverflow parameter. 25373 * platform/graphics/FontFastPath.cpp: 25374 (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path. 25375 * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp. 25376 (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics. 25377 * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h. 25378 (WebCore::GlyphMetricsMap::GlyphMetricsMap): 25379 (WebCore::GlyphMetricsMap::~GlyphMetricsMap): 25380 (WebCore::GlyphMetricsMap::metricsForGlyph): 25381 (WebCore::GlyphMetricsMap::widthForGlyph): 25382 (WebCore::GlyphMetricsMap::setMetricsForGlyph): 25383 (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph): 25384 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph): 25385 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex): 25386 (WebCore::GlyphMetricsMap::locatePage): 25387 * platform/graphics/GlyphWidthMap.cpp: Removed. 25388 * platform/graphics/GlyphWidthMap.h: Removed. 25389 * platform/graphics/SimpleFontData.cpp: 25390 (WebCore::SimpleFontData::platformGlyphInit): 25391 * platform/graphics/SimpleFontData.h: 25392 (WebCore::): 25393 (WebCore::SimpleFontData::widthForGlyph): 25394 (WebCore::SimpleFontData::metricsForGlyph): 25395 * platform/graphics/cairo/SimpleFontDataCairo.cpp: 25396 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. 25397 * platform/graphics/chromium/FontChromiumWin.cpp: 25398 (WebCore::Font::floatWidthForComplexText): Added parameter. 25399 * platform/graphics/chromium/FontLinux.cpp: 25400 (WebCore::Font::floatWidthForComplexText): Added parameter. 25401 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 25402 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. 25403 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 25404 (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange 25405 * platform/graphics/efl/FontEfl.cpp: 25406 (WebCore::Font::floatWidthForComplexText): Name and signature change. 25407 * platform/graphics/gtk/SimpleFontDataPango.cpp: 25408 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. 25409 * platform/graphics/haiku/FontHaiku.cpp: 25410 (WebCore::Font::floatWidthForComplexText): Added parameter. 25411 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: 25412 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. 25413 * platform/graphics/mac/ComplexTextController.cpp: 25414 (WebCore::ComplexTextController::ComplexTextController): 25415 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): 25416 * platform/graphics/mac/ComplexTextController.h: 25417 (WebCore::ComplexTextController::minGlyphBoundingBoxX): 25418 (WebCore::ComplexTextController::maxGlyphBoundingBoxX): 25419 (WebCore::ComplexTextController::minGlyphBoundingBoxY): 25420 (WebCore::ComplexTextController::maxGlyphBoundingBoxY): 25421 * platform/graphics/mac/FontComplexTextMac.cpp: 25422 (WebCore::Font::floatWidthForComplexText): Added paramter. 25423 * platform/graphics/mac/SimpleFontDataMac.mm: 25424 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. 25425 * platform/graphics/qt/FontQt.cpp: 25426 (WebCore::Font::floatWidthForComplexText): Added paramter. 25427 * platform/graphics/win/FontWin.cpp: 25428 (WebCore::Font::floatWidthForComplexText): Added parameter. 25429 * platform/graphics/win/SimpleFontDataCGWin.cpp: 25430 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. 25431 * platform/graphics/win/SimpleFontDataWin.cpp: 25432 (WebCore::SimpleFontData::metricsForGDIGlyph): 25433 * platform/graphics/win/UniscribeController.cpp: 25434 (WebCore::UniscribeController::UniscribeController): 25435 (WebCore::UniscribeController::shapeAndPlaceItem): 25436 * platform/graphics/win/UniscribeController.h: 25437 (WebCore::UniscribeController::minGlyphBoundingBoxX): 25438 (WebCore::UniscribeController::maxGlyphBoundingBoxX): 25439 (WebCore::UniscribeController::minGlyphBoundingBoxY): 25440 (WebCore::UniscribeController::maxGlyphBoundingBoxY): 25441 * platform/graphics/wince/FontWince.cpp: 25442 (WebCore::Font::floatWidthForComplexText): Added parameter. 25443 * platform/graphics/wx/FontWx.cpp: 25444 (WebCore::Font::floatWidthForComplexText): Added parameter. 25445 * platform/graphics/wx/SimpleFontDataWx.cpp: 25446 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change. 25447 * rendering/InlineFlowBox.cpp: 25448 (WebCore::InlineFlowBox::placeBoxesHorizontally): 25449 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 25450 (WebCore::InlineFlowBox::computeVerticalOverflow): 25451 * rendering/InlineTextBox.cpp: 25452 (WebCore::InlineTextBox::setFallbackFonts): 25453 (WebCore::InlineTextBox::fallbackFonts): 25454 (WebCore::InlineTextBox::setGlyphOverflow): 25455 (WebCore::InlineTextBox::glyphOverflow): 25456 * rendering/InlineTextBox.h: 25457 (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added. 25458 * rendering/RenderBlockLineLayout.cpp: 25459 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 25460 (WebCore::RenderBlock::layoutInlineChildren): 25461 * rendering/RenderText.cpp: 25462 (WebCore::RenderText::RenderText): 25463 (WebCore::RenderText::styleDidChange): 25464 (WebCore::RenderText::widthFromCache): 25465 (WebCore::RenderText::trimmedPrefWidths): 25466 (WebCore::RenderText::calcPrefWidths): 25467 (WebCore::RenderText::setText): 25468 (WebCore::RenderText::width): 25469 * rendering/RenderText.h: 25470 25471 2010-04-07 Joseph Pecoraro <joepeck (a] webkit.org> 25472 25473 Reviewed by Darin Adler. 25474 25475 Fix incorrect white-space in WebGLRenderingContext.idl 25476 https://bugs.webkit.org/show_bug.cgi?id=31339 25477 25478 * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace. 25479 25480 2010-04-07 Rodrigo Belem <rodrigo.belem (a] openbossa.org> 25481 25482 Reviewed by Simon Hausmann. 25483 25484 [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc) 25485 https://bugs.webkit.org/show_bug.cgi?id=37173 25486 25487 This patch sets the correct path to the classheaders.pri and then 25488 fixes the installation of the generated headers. 25489 25490 * WebCore.pro: 25491 25492 2010-04-05 Antonio Gomes <tonikitoo (a] webkit.org> 25493 25494 Reviewed by Kenneth Christiansen. 25495 25496 Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable 25497 https://bugs.webkit.org/show_bug.cgi?id=37135 25498 25499 It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to 25500 current focus candidate's. It means that current candidate is not in direction, or not 25501 a valid target node. 25502 25503 * page/FocusController.cpp: 25504 (WebCore::FocusController::findFocusableNodeInDirection): 25505 25506 2010-04-07 Andrey Kosyakov <caseq (a] chromium.org> 25507 25508 Reviewed by Yury Semikhatsky. 25509 25510 Removed inspector methods from ScriptExecutionContext and derived classes. 25511 Removed MessageDestination parameter from console-related calls (we now always 25512 log to the same destination(s)). 25513 Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest() 25514 https://bugs.webkit.org/show_bug.cgi?id=36949 25515 25516 * dom/Document.cpp: 25517 (WebCore::Document::reportException): 25518 (WebCore::Document::addMessage): 25519 * dom/Document.h: 25520 * dom/ScriptExecutionContext.h: 25521 * loader/EmptyClients.h: 25522 (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 25523 * loader/FrameLoaderClient.h: 25524 * loader/ResourceLoadNotifier.cpp: 25525 * loader/ResourceLoadNotifier.h: 25526 * websockets/WebSocket.cpp: 25527 (WebCore::WebSocket::connect): 25528 * websockets/WebSocketChannel.cpp: 25529 (WebCore::WebSocketChannel::didOpen): 25530 (WebCore::WebSocketChannel::appendToBuffer): 25531 * websockets/WebSocketHandshake.cpp: 25532 (WebCore::WebSocketHandshake::readServerHandshake): 25533 (WebCore::WebSocketHandshake::readHTTPHeaders): 25534 (WebCore::WebSocketHandshake::checkResponseHeaders): 25535 * workers/DefaultSharedWorkerRepository.cpp: 25536 (WebCore::postConsoleMessageTask): 25537 (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): 25538 * workers/WorkerContext.cpp: 25539 (WebCore::WorkerContext::importScripts): 25540 (WebCore::WorkerContext::addMessage): 25541 * workers/WorkerContext.h: 25542 * workers/WorkerMessagingProxy.cpp: 25543 (WebCore::postConsoleMessageTask): 25544 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): 25545 * workers/WorkerMessagingProxy.h: 25546 * workers/WorkerReportingProxy.h: 25547 * xml/XMLHttpRequest.cpp: 25548 (WebCore::reportUnsafeUsage): 25549 (WebCore::XMLHttpRequest::didFinishLoading): 25550 25551 2010-04-07 Dawit Alemayehu <adawit (a] kde.org> 25552 25553 Reviewed by Simon Hausmann. 25554 25555 https://bugs.webkit.org/show_bug.cgi?id=36827 25556 25557 Replaced the 'shouldTreatAsAttachment' function with a more generic 25558 function that returns the content disposition type. 25559 25560 See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395 25561 25562 * platform/network/HTTPParsers.cpp: 25563 (WebCore::contentDispositionType): 25564 * platform/network/HTTPParsers.h: 25565 (WebCore::): 25566 25567 2010-04-07 Vitaly Repeshko <vitalyr (a] chromium.org> 25568 25569 Reviewed by Yury Semikhatsky. 25570 25571 [V8] Throw exception in SerializedScriptValue on input errors 25572 https://bugs.webkit.org/show_bug.cgi?id=37160 25573 25574 When cycles are detected SerializedScriptValue should throw 25575 NOT_SUPPORTED_ERR. See 25576 http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone 25577 25578 * bindings/scripts/CodeGeneratorV8.pm: Custom processing for 25579 function arguments of type SerializedScriptValue. 25580 25581 * bindings/v8/SerializedScriptValue.cpp: 25582 (WebCore::SerializedScriptValue::SerializedScriptValue): 25583 * bindings/v8/SerializedScriptValue.h: 25584 (WebCore::SerializedScriptValue::create): Added a constructor 25585 function with an extra paratemer to check whether an exception was 25586 thrown. 25587 25588 SerializedScriptValue::create callers updated to check for 25589 exceptions: 25590 * bindings/v8/custom/V8DOMWindowCustom.cpp: 25591 (WebCore::V8DOMWindow::postMessageCallback): 25592 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: 25593 (WebCore::V8DedicatedWorkerContext::postMessageCallback): 25594 * bindings/v8/custom/V8HistoryCustom.cpp: 25595 (WebCore::V8History::pushStateCallback): 25596 (WebCore::V8History::replaceStateCallback): 25597 * bindings/v8/custom/V8MessagePortCustom.cpp: 25598 (WebCore::V8MessagePort::postMessageCallback): 25599 * bindings/v8/custom/V8PopStateEventCustom.cpp: 25600 (WebCore::V8PopStateEvent::initPopStateEventCallback): 25601 * bindings/v8/custom/V8WorkerCustom.cpp: 25602 (WebCore::V8Worker::postMessageCallback): 25603 25604 2010-04-07 Alexander Pavlov <apavlov (a] chromium.org> 25605 25606 Reviewed by Pavel Feldman. 25607 25608 Web Inspector: Provide a placeholder for resources with no content available 25609 https://bugs.webkit.org/show_bug.cgi?id=37142 25610 25611 * English.lproj/localizedStrings.js: 25612 * inspector/front-end/ImageView.js: 25613 (WebInspector.ImageView): 25614 (WebInspector.ImageView.prototype.contentTabSelected): 25615 * inspector/front-end/ResourceView.js: 25616 (WebInspector.ResourceView.prototype._innerSelectContentTab): 25617 (WebInspector.ResourceView.prototype.contentTabSelected): 25618 * inspector/front-end/inspector.css: 25619 (.resource-content-unavailable): 25620 25621 2010-04-07 Simon Hausmann <simon.hausmann (a] nokia.com> 25622 25623 Reviewed by Laszlo Gombos. 25624 25625 https://bugs.webkit.org/show_bug.cgi?id=36750 25626 25627 [Qt] Package build without touch support is broken 25628 25629 Use the conditional attribute instead of #ifdefs in the idl file for the 25630 touch specific properties, to make the generated files compile with and 25631 without the touch events enabled. 25632 25633 * dom/Document.idl: Use conditional instead of #ifdef. 25634 * dom/Element.idl: Ditto. 25635 * page/DOMWindow.idl: Ditto. 25636 25637 2010-04-07 Simon Hausmann <simon.hausmann (a] nokia.com> 25638 25639 Reviewed by Holger Freyther. 25640 25641 Add the touch event related IDL files to the idl generation, so that 25642 they can be safely included from generated JS bindings files. The 25643 generated files have #ifdef feature guards. 25644 25645 * DerivedSources.cpp: 25646 * DerivedSources.make: 25647 * GNUmakefile.am: 25648 25649 2010-04-06 Jeremy Orlow <jorlow (a] chromium.org> 25650 25651 Reviewed by Adam Barth. 25652 25653 V8CustomIDBCallbacks<> should not hold a reference to the frame 25654 https://bugs.webkit.org/show_bug.cgi?id=37154 25655 25656 Don't hold on to a Frame reference. 25657 Instead, be an ActiveDOMObject and use scriptExecutionContext() 25658 to get the v8 context. 25659 Factor the guts of onSuccess and onError out. 25660 25661 Doesn't work enough to test yet. 25662 25663 * bindings/v8/custom/V8CustomIDBCallbacks.h: 25664 (WebCore::V8CustomIDBCallbacks::create): 25665 (WebCore::V8CustomIDBCallbacks::onSuccess): 25666 (WebCore::V8CustomIDBCallbacks::onError): 25667 (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks): 25668 (WebCore::V8CustomIDBCallbacks::onEvent): 25669 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: 25670 (WebCore::V8IndexedDatabaseRequest::openCallback): 25671 * storage/IDBCallbacks.h: 25672 (WebCore::IDBCallbacks::IDBCallbacks): 25673 25674 2010-04-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 25675 25676 Unreviewed, rolling out r57196. 25677 http://trac.webkit.org/changeset/57196 25678 https://bugs.webkit.org/show_bug.cgi?id=37196 25679 25680 Multiple layout test failures on Chromium (Requested by yurys 25681 on #webkit). 25682 25683 * bindings/js/ScriptCallStack.cpp: 25684 (WebCore::ScriptCallStack::callLocation): 25685 * bindings/js/ScriptCallStack.h: 25686 * bindings/v8/ScriptCallStack.cpp: 25687 (WebCore::ScriptCallStack::create): 25688 (WebCore::ScriptCallStack::callLocation): 25689 (WebCore::ScriptCallStack::ScriptCallStack): 25690 * bindings/v8/ScriptCallStack.h: 25691 * bindings/v8/ScriptDebugServer.cpp: 25692 * bindings/v8/ScriptDebugServer.h: 25693 * bindings/v8/V8Proxy.cpp: 25694 (WebCore::V8Proxy::createUtilityContext): 25695 (WebCore::V8Proxy::sourceLineNumber): 25696 (WebCore::V8Proxy::sourceName): 25697 * bindings/v8/V8Proxy.h: 25698 (WebCore::V8Proxy::utilityContext): 25699 * inspector/TimelineRecordFactory.cpp: 25700 (WebCore::TimelineRecordFactory::createGenericRecord): 25701 25702 2010-04-07 Simon Hausmann <simon.hausmann (a] nokia.com> 25703 25704 Unreviewed, rolling out r57199. 25705 http://trac.webkit.org/changeset/57199 25706 https://bugs.webkit.org/show_bug.cgi?id=36750 25707 25708 Breaks non-touch enabled build 25709 25710 * dom/Document.idl: 25711 * dom/Element.idl: 25712 * page/DOMWindow.idl: 25713 25714 2010-04-07 Simon Hausmann <simon.hausmann (a] nokia.com> 25715 25716 Reviewed by Laszlo Gombos. 25717 25718 https://bugs.webkit.org/show_bug.cgi?id=36750 25719 25720 [Qt] Package build without touch support is broken 25721 25722 Use the conditional attribute instead of #ifdefs in the idl file for the 25723 touch specific properties, to make the generated files compile with and 25724 without the touch events enabled. 25725 25726 * dom/Document.idl: Use conditional instead of #ifdef. 25727 * dom/Element.idl: Ditto. 25728 * page/DOMWindow.idl: Ditto. 25729 25730 2010-04-07 Jaime Yap <jaimeyap (a] google.com> 25731 25732 Reviewed by Yury Semikhatsky. 25733 25734 Adds the ability to get the function symbol name when looking up the call location 25735 for records sent by the InspectorTimelineAgent. 25736 https://bugs.webkit.org/show_bug.cgi?id=36839 25737 25738 No new tests. 25739 25740 * bindings/js/ScriptCallStack.cpp: 25741 (WebCore::ScriptCallStack::callLocation): 25742 * bindings/js/ScriptCallStack.h: 25743 * bindings/v8/ScriptCallStack.cpp: 25744 (WebCore::ScriptCallStack::create): 25745 (WebCore::ScriptCallStack::callLocation): 25746 (WebCore::ScriptCallStack::ScriptCallStack): 25747 * bindings/v8/ScriptCallStack.h: 25748 * bindings/v8/ScriptDebugServer.cpp: 25749 (WebCore::ScriptDebugServer::createUtilityContext): 25750 (WebCore::ScriptDebugServer::lastCallFrame): 25751 * bindings/v8/ScriptDebugServer.h: 25752 (WebCore::ScriptDebugServer::utilityContext): 25753 * bindings/v8/V8Proxy.cpp: 25754 * bindings/v8/V8Proxy.h: 25755 * inspector/TimelineRecordFactory.cpp: 25756 (WebCore::TimelineRecordFactory::createGenericRecord): 25757 25758 2010-04-06 Greg Bolsinga <bolsinga (a] apple.com> 25759 25760 Reviewed by Darin Adler. 25761 25762 https://bugs.webkit.org/show_bug.cgi?id=37188 25763 WebCore::page::Geolocation::m_shouldClearCache is not used. 25764 25765 * page/Geolocation.cpp: 25766 (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache. 25767 * page/Geolocation.h: 25768 (WebCore::Geolocation::): Ditto. 25769 25770 2010-04-06 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 25771 25772 Reviewed by Eric Seidel. 25773 25774 Remove obsolete MOBILE flag 25775 https://bugs.webkit.org/show_bug.cgi?id=37125 25776 25777 The MOBILE flag is no longer used by any of the ports. 25778 The flag use to control some tokenizer defaults that 25779 can be changed runtime. 25780 25781 No new tests as there is no new functionality. 25782 25783 * config.h: 25784 * html/HTMLTokenizer.cpp: 25785 25786 2010-04-06 Adam Barth <abarth (a] webkit.org> 25787 25788 Reviewed by Eric Seidel. 25789 25790 REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail. 25791 https://bugs.webkit.org/show_bug.cgi?id=36646 25792 25793 Cause the worker code to swallow termination exceptions because these 25794 need not be reported to the user because they are an implementation 25795 detail of how we terminate worker execution. 25796 25797 Test: fast/workers/worker-terminate-forever.html 25798 25799 * bindings/js/JSDOMBinding.cpp: 25800 (WebCore::reportException): 25801 - Refuse to report termination exceptions to the user because they 25802 are an implementation detail. 25803 * bindings/js/WorkerScriptController.cpp: 25804 (WebCore::WorkerScriptController::forbidExecution): 25805 - Instead of using timeouts to stop run away workers, use our fancy 25806 new Terminator object. 25807 25808 2010-04-06 Kinuko Yasuda <kinuko (a] chromium.org> 25809 25810 Reviewed by Jian Li. 25811 25812 Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac) 25813 https://bugs.webkit.org/show_bug.cgi?id=36938 25814 25815 No new tests; will be added when we implement upper layers. 25816 25817 * platform/FileSystem.h: 25818 (WebCore::): 25819 * platform/posix/FileSystemPOSIX.cpp: 25820 (WebCore::openFile): 25821 (WebCore::closeFile): 25822 (WebCore::seekFile): 25823 (WebCore::truncateFile): 25824 (WebCore::writeToFile): 25825 (WebCore::readFromFile): 25826 25827 2010-04-06 Nicolas Weber <thakis (a] chromium.org> 25828 25829 Reviewed by Dimitri Glazkov. 25830 25831 Implement DragImage functionality for chromium/mac. 25832 https://bugs.webkit.org/show_bug.cgi?id=37069 25833 25834 * page/chromium/DragControllerChromium.cpp: 25835 (WebCore::DragController::maxDragImageSize): 25836 Use a max size of 400x400 on OS X. 25837 * platform/chromium/DragImageChromiumMac.cpp: 25838 (WebCore::dragImageSize): Implement. 25839 (WebCore::deleteDragImage): Implement. 25840 (WebCore::scaleDragImage): Implement. 25841 (WebCore::dissolveDragImageToFraction): Implement. 25842 (WebCore::createDragImageFromImage): Implement. 25843 * platform/chromium/DragImageRef.h: 25844 Use CGImageRefs as DragImageRef on OS X. 25845 25846 2010-04-06 Chris Evans <cevans (a] chromium.org> 25847 25848 Reviewed by Adam Barth. 25849 25850 Use the new UserGestureIndictor to process javascript:window.open() 25851 25852 https://bugs.webkit.org/show_bug.cgi?id=37138 25853 25854 * bindings/v8/ScriptController.cpp 25855 (WebCore::ScriptController::processingUserGesture): 25856 Use the new UserGestureIndicator when processing a 25857 javascript:window.open() 25858 25859 2010-04-06 Vangelis Kokkevis <vangelis (a] chromium.org> 25860 25861 Reviewed by Dimitri Glazkov. 25862 25863 Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific 25864 data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia 25865 in a subsequent CL. 25866 https://bugs.webkit.org/show_bug.cgi?id=37116 25867 25868 No new functionality so no new tests. 25869 25870 * platform/graphics/GraphicsLayer.h: 25871 * platform/graphics/skia/GraphicsLayerSkia.cpp: 25872 (WebCore::setLayerBorderColor): 25873 (WebCore::clearBorderColor): 25874 (WebCore::setLayerBackgroundColor): 25875 (WebCore::clearLayerBackgroundColor): 25876 (WebCore::GraphicsLayer::create): 25877 (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): 25878 (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): 25879 (WebCore::GraphicsLayerChromium::setName): 25880 (WebCore::GraphicsLayerChromium::nativeLayer): 25881 (WebCore::GraphicsLayerChromium::setChildren): 25882 (WebCore::GraphicsLayerChromium::addChild): 25883 (WebCore::GraphicsLayerChromium::addChildAtIndex): 25884 (WebCore::GraphicsLayerChromium::addChildBelow): 25885 (WebCore::GraphicsLayerChromium::addChildAbove): 25886 (WebCore::GraphicsLayerChromium::replaceChild): 25887 (WebCore::GraphicsLayerChromium::removeFromParent): 25888 (WebCore::GraphicsLayerChromium::setPosition): 25889 (WebCore::GraphicsLayerChromium::setAnchorPoint): 25890 (WebCore::GraphicsLayerChromium::setSize): 25891 (WebCore::GraphicsLayerChromium::setTransform): 25892 (WebCore::GraphicsLayerChromium::setChildrenTransform): 25893 (WebCore::GraphicsLayerChromium::setPreserves3D): 25894 (WebCore::GraphicsLayerChromium::setMasksToBounds): 25895 (WebCore::GraphicsLayerChromium::setDrawsContent): 25896 (WebCore::GraphicsLayerChromium::setBackgroundColor): 25897 (WebCore::GraphicsLayerChromium::clearBackgroundColor): 25898 (WebCore::GraphicsLayerChromium::setContentsOpaque): 25899 (WebCore::GraphicsLayerChromium::setBackfaceVisibility): 25900 (WebCore::GraphicsLayerChromium::setOpacity): 25901 (WebCore::GraphicsLayerChromium::setNeedsDisplay): 25902 (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): 25903 (WebCore::GraphicsLayerChromium::setContentsRect): 25904 (WebCore::GraphicsLayerChromium::setContentsToImage): 25905 (WebCore::GraphicsLayerChromium::setContentsToVideo): 25906 (WebCore::GraphicsLayerChromium::setGeometryOrientation): 25907 (WebCore::GraphicsLayerChromium::hostLayerForSublayers): 25908 (WebCore::GraphicsLayerChromium::layerForSuperlayer): 25909 (WebCore::GraphicsLayerChromium::platformLayer): 25910 (WebCore::GraphicsLayerChromium::setDebugBackgroundColor): 25911 (WebCore::GraphicsLayerChromium::setDebugBorder): 25912 (WebCore::GraphicsLayerChromium::updateSublayerList): 25913 (WebCore::GraphicsLayerChromium::updateLayerPosition): 25914 (WebCore::GraphicsLayerChromium::updateLayerSize): 25915 (WebCore::GraphicsLayerChromium::updateAnchorPoint): 25916 (WebCore::GraphicsLayerChromium::updateTransform): 25917 (WebCore::GraphicsLayerChromium::updateChildrenTransform): 25918 (WebCore::GraphicsLayerChromium::updateMasksToBounds): 25919 (WebCore::GraphicsLayerChromium::updateContentsOpaque): 25920 (WebCore::GraphicsLayerChromium::updateBackfaceVisibility): 25921 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): 25922 (WebCore::GraphicsLayerChromium::updateLayerDrawsContent): 25923 (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor): 25924 (WebCore::GraphicsLayerChromium::updateContentsImage): 25925 (WebCore::GraphicsLayerChromium::updateContentsVideo): 25926 (WebCore::GraphicsLayerChromium::updateContentsRect): 25927 (WebCore::GraphicsLayerChromium::updateGeometryOrientation): 25928 (WebCore::GraphicsLayerChromium::setupContentsLayer): 25929 (WebCore::GraphicsLayerChromium::updateOpacityOnLayer): 25930 * platform/graphics/skia/GraphicsLayerSkia.h: 25931 (WebCore::GraphicsLayerChromium::primaryLayer): 25932 (WebCore::GraphicsLayerChromium::contentsLayer): 25933 * platform/graphics/skia/LayerRendererSkia.cpp: 25934 (WebCore::LayerRendererChromium::create): 25935 (WebCore::LayerRendererChromium::LayerRendererChromium): 25936 (WebCore::LayerRendererChromium::~LayerRendererChromium): 25937 (WebCore::LayerRendererChromium::updateLayerContents): 25938 (WebCore::LayerRendererChromium::drawLayersInCanvas): 25939 (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive): 25940 (WebCore::LayerRendererChromium::updateLayerContentsRecursive): 25941 * platform/graphics/skia/LayerRendererSkia.h: 25942 (WebCore::LayerRendererChromium::setRootLayer): 25943 (WebCore::LayerRendererChromium::rootLayer): 25944 * platform/graphics/skia/LayerSkia.cpp: 25945 (WebCore::LayerChromium::create): 25946 (WebCore::LayerChromium::LayerChromium): 25947 (WebCore::LayerChromium::~LayerChromium): 25948 (WebCore::LayerChromium::updateGraphicsContext): 25949 (WebCore::LayerChromium::updateContents): 25950 (WebCore::LayerChromium::drawDebugBorder): 25951 (WebCore::LayerChromium::setNeedsCommit): 25952 (WebCore::LayerChromium::addSublayer): 25953 (WebCore::LayerChromium::insertSublayer): 25954 (WebCore::LayerChromium::removeFromSuperlayer): 25955 (WebCore::LayerChromium::removeSublayer): 25956 (WebCore::LayerChromium::indexOfSublayer): 25957 (WebCore::LayerChromium::setBackingStoreRect): 25958 (WebCore::LayerChromium::setBounds): 25959 (WebCore::LayerChromium::setFrame): 25960 (WebCore::LayerChromium::rootLayer): 25961 (WebCore::LayerChromium::removeAllSublayers): 25962 (WebCore::LayerChromium::setSublayers): 25963 (WebCore::LayerChromium::setSuperlayer): 25964 (WebCore::LayerChromium::superlayer): 25965 (WebCore::LayerChromium::setNeedsDisplay): 25966 * platform/graphics/skia/LayerSkia.h: 25967 (WebCore::LayerChromium::setAnchorPoint): 25968 (WebCore::LayerChromium::anchorPoint): 25969 (WebCore::LayerChromium::borderWidth): 25970 (WebCore::LayerChromium::bounds): 25971 (WebCore::LayerChromium::frame): 25972 (WebCore::LayerChromium::setPosition): 25973 (WebCore::LayerChromium::position): 25974 (WebCore::LayerChromium::zPosition): 25975 (WebCore::LayerChromium::getSublayers): 25976 (WebCore::LayerChromium::setSublayerTransform): 25977 (WebCore::LayerChromium::sublayerTransform): 25978 (WebCore::LayerChromium::setTransform): 25979 (WebCore::LayerChromium::transform): 25980 25981 2010-04-06 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 25982 25983 Reviewed by Laszlo Gombos. 25984 25985 [Qt] WebKit does not build on Windows with --3d-canvas 25986 https://bugs.webkit.org/show_bug.cgi?id=37026 25987 25988 * platform/graphics/GraphicsContext3D.h: 25989 * platform/graphics/qt/GraphicsContext3DQt.cpp: 25990 (WebCore::GraphicsContext3D::getActiveAttrib): 25991 (WebCore::GraphicsContext3D::getActiveUniform): 25992 25993 2010-04-06 Abhinav Mithal <abhinav.mithal (a] nokia.com> 25994 25995 Reviewed by Laszlo Gombos. 25996 25997 [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found 25998 https://bugs.webkit.org/show_bug.cgi?id=34614 25999 26000 Do not define XP_WIN if WebKit is compiled for Symbian. 26001 26002 No new tests as there is no new functionality. 26003 26004 * bridge/npapi.h: 26005 26006 2010-04-06 Chris Fleizach <cfleizach (a] apple.com> 26007 26008 Reviewed by Beth Dakin. 26009 26010 aria-label doesn't work on image map area 26011 https://bugs.webkit.org/show_bug.cgi?id=36977 26012 26013 Test: platform/mac/accessibility/area-with-aria-label.html 26014 26015 * accessibility/AccessibilityImageMapLink.cpp: 26016 (WebCore::AccessibilityImageMapLink::accessibilityDescription): 26017 26018 2010-04-06 James Robinson <jamesr (a] chromium.org> 26019 26020 Reviewed by Simon Fraser. 26021 26022 Reverts the incorrect fixed position fastpath scrolling logic 26023 https://bugs.webkit.org/show_bug.cgi?id=33150 26024 26025 This code does not properly handle overflow or transforms on fixed 26026 position elements, causing repaint bugs on scroll. 26027 26028 No new tests. 26029 26030 * page/FrameView.cpp: 26031 (WebCore::FrameView::addFixedObject): 26032 (WebCore::FrameView::removeFixedObject): 26033 * page/FrameView.h: 26034 * platform/ScrollView.cpp: 26035 (WebCore::ScrollView::scrollContents): 26036 * platform/ScrollView.h: 26037 * rendering/RenderObject.cpp: 26038 (WebCore::RenderObject::styleWillChange): 26039 26040 2010-04-06 Kevin Ollivier <kevino (a] theolliviers.com> 26041 26042 [wx] Build fix for wxMac / Cocoa on wx trunk. 26043 26044 * platform/wx/wxcode/mac/carbon/fontprops.mm: 26045 (wxFontContainsCharacters): 26046 26047 2010-04-06 Simon Hausmann <simon.hausmann (a] nokia.com> 26048 26049 Reviewed by Darin Adler. 26050 26051 JS code generator does not support feature conditional attributes that are writable 26052 https://bugs.webkit.org/show_bug.cgi?id=37149 26053 26054 Write out the feature #ifdef not only for the getter, but also for the setter 26055 function. 26056 26057 * bindings/scripts/CodeGeneratorJS.pm: 26058 26059 2010-04-06 Evan Stade <estade (a] chromium.org> 26060 26061 Reviewed by Dimitri Glazkov. 26062 26063 [chromium] need DragImage implementation 26064 https://bugs.webkit.org/show_bug.cgi?id=35811 26065 26066 Use the DragImageRef that the DragController passes to us. 26067 26068 This was previously committed but rolled back for breaking layout 26069 tests. The fix is on the WebKit/chromium side. 26070 26071 * WebCore.gyp/WebCore.gyp: 26072 * WebCore.gypi: 26073 * platform/chromium/DragImageChromium.cpp: Removed. 26074 * platform/chromium/DragImageChromiumMac.cpp: Added. 26075 (WebCore::dragImageSize): 26076 (WebCore::deleteDragImage): 26077 (WebCore::scaleDragImage): 26078 (WebCore::dissolveDragImageToFraction): 26079 (WebCore::createDragImageFromImage): 26080 (WebCore::createDragImageIconForCachedImage): 26081 * platform/chromium/DragImageChromiumSkia.cpp: Added. 26082 (WebCore::dragImageSize): 26083 (WebCore::deleteDragImage): 26084 (WebCore::scaleDragImage): 26085 (WebCore::dissolveDragImageToFraction): 26086 (WebCore::createDragImageFromImage): 26087 (WebCore::createDragImageIconForCachedImage): 26088 * platform/chromium/DragImageRef.h: 26089 26090 2010-04-01 Yuzo Fujishima <yuzo (a] google.com> 26091 26092 Reviewed by Darin Adler. 26093 26094 Fix bug: CSS3 :not selector with ID simple selector sequence test fails 26095 As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument. 26096 WebKit was accepting a simple selector *sequence*. 26097 This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple. 26098 The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not(). 26099 https://bugs.webkit.org/show_bug.cgi?id=36276 26100 26101 Test: fast/css/invalid-not-with-simple-selector-sequence.html 26102 26103 * css/CSSGrammar.y: 26104 * css/CSSSelector.cpp: 26105 (WebCore::CSSSelector::isSimple): 26106 * css/CSSSelector.h: 26107 26108 2010-04-06 Andy Estes <aestes (a] apple.com> 26109 26110 Rubber-stamped by Dan Bernstein. 26111 26112 Remove non-ASCII characters from license headers to fix build errors on 26113 Japanese Windows. 26114 26115 https://bugs.webkit.org/show_bug.cgi?id=37008 26116 26117 * dom/UserGestureIndicator.cpp: 26118 * dom/UserGestureIndicator.h: 26119 26120 2010-04-06 Andrei Popescu <andreip (a] google.com> 26121 26122 Reviewed by Dimitri Glazkov. 26123 26124 [V8][Android] PageCache crashes when JavaScript is disabled 26125 https://bugs.webkit.org/show_bug.cgi?id=37150 26126 26127 This patch ensures that saving and restoration of the script 26128 state only happens when JS is enabled and each frame has a 26129 non-null context. 26130 26131 No new tests: existing tests show the feature is working 26132 when JS is enabled. When JS is disabled, manual testing 26133 is required. 26134 26135 * bindings/v8/ScriptCachedFrameData.cpp: 26136 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 26137 (WebCore::ScriptCachedFrameData::restore): 26138 26139 2010-04-06 Ilya Tikhonovsky <loislo (a] chromium.org> 26140 26141 Unreviewed build fix. 26142 26143 Web Inspector: missed files were added. 26144 26145 26146 * GNUmakefile.am: 26147 * bindings/js/ScriptGCEvent.h: Added. 26148 (WebCore::ScriptGCEvent::addEventListener): 26149 (WebCore::ScriptGCEvent::removeEventListener): 26150 (WebCore::ScriptGCEvent::getHeapSize): 26151 * bindings/v8/ScriptGCEvent.cpp: Added. 26152 (WebCore::ScriptGCEvent::addEventListener): 26153 (WebCore::ScriptGCEvent::removeEventListener): 26154 (WebCore::ScriptGCEvent::getHeapSize): 26155 (WebCore::ScriptGCEvent::getUsedHeapSize): 26156 (WebCore::ScriptGCEvent::gcPrologueCallback): 26157 (WebCore::ScriptGCEvent::gcEpilogueCallback): 26158 * bindings/v8/ScriptGCEvent.h: Added. 26159 * inspector/ScriptGCEventListener.h: Added. 26160 (WebCore::ScriptGCEventListener::~ScriptGCEventListener): 26161 26162 2010-04-06 Ilya Tikhonovsky <loislo (a] chromium.org> 26163 26164 Reviewed by Pavel Feldman. 26165 26166 Web Inspector: The JS code can be not optimal from memory usage point of view. 26167 As example it can generate a lot of temp objects and GC will spend significant time to collect these objects. 26168 GC event will show us these moments. Also each event can show us how much memory is in use. 26169 https://bugs.webkit.org/show_bug.cgi?id=37025 26170 26171 * WebCore.gypi: 26172 * WebCore.pro: 26173 * inspector/InspectorTimelineAgent.cpp: 26174 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): 26175 (WebCore::InspectorTimelineAgent::pushGCEventRecords): 26176 (WebCore::InspectorTimelineAgent::didGC): 26177 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): 26178 (WebCore::InspectorTimelineAgent::didInstallTimer): 26179 (WebCore::InspectorTimelineAgent::didRemoveTimer): 26180 (WebCore::InspectorTimelineAgent::willSendResourceRequest): 26181 (WebCore::InspectorTimelineAgent::didFinishLoadingResource): 26182 (WebCore::InspectorTimelineAgent::didMarkTimeline): 26183 (WebCore::InspectorTimelineAgent::addRecordToTimeline): 26184 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): 26185 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 26186 (WebCore::InspectorTimelineAgent::pushCurrentRecord): 26187 * inspector/InspectorTimelineAgent.h: 26188 (WebCore::): 26189 (WebCore::InspectorTimelineAgent::instanceCount): 26190 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): 26191 (WebCore::InspectorTimelineAgent::GCEvent::GCEvent): 26192 * inspector/TimelineRecordFactory.cpp: 26193 (WebCore::TimelineRecordFactory::createGCEventData): 26194 * inspector/TimelineRecordFactory.h: 26195 * inspector/front-end/Popover.js: 26196 (WebInspector.PopoverHelper.prototype._mouseHover): 26197 * inspector/front-end/TimelineAgent.js: 26198 * inspector/front-end/TimelinePanel.js: 26199 (WebInspector.TimelinePanel.prototype.get _recordStyles): 26200 (WebInspector.TimelinePanel.FormattedRecord): 26201 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 26202 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 26203 26204 2010-04-05 Antonio Gomes <tonikitoo (a] webkit.org> 26205 26206 Reviewed by Laszlo Gombos. 26207 26208 Remove unused DIRECTIONAL_PAD_NAVIGATION 26209 https://bugs.webkit.org/show_bug.cgi?id=37134 26210 26211 Android browser was planning to have a "directional pad navigation" available on 26212 trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to 26213 https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped. 26214 26215 However bug 23163 landed some code relying on the build flag supposedly to be added, 26216 and is now dead code in trunk. 26217 26218 * dom/Element.cpp: 26219 (WebCore::Element::updateFocusAppearance): 26220 26221 2010-04-06 Mattias Nissler <mnissler (a] chromium.org> 26222 26223 Reviewed by Pavel Feldman. 26224 26225 Rework inspector docking to issue a request call from the frontend 26226 whenever the user triggers to (un)dock the inspector window. Doing so 26227 enables InspectorFrontendHost implementations to asynchronously decide 26228 whether the window is docked or not. The old canAttachWindow() is not 26229 required anymore, remove it. 26230 https://bugs.webkit.org/show_bug.cgi?id=36944 26231 26232 * inspector/InspectorFrontendClient.h: 26233 * inspector/InspectorFrontendClientLocal.cpp: 26234 (WebCore::InspectorFrontendClientLocal::requestAttachWindow): 26235 * inspector/InspectorFrontendClientLocal.h: 26236 * inspector/InspectorFrontendHost.cpp: 26237 (WebCore::InspectorFrontendHost::requestAttachWindow): 26238 * inspector/InspectorFrontendHost.h: 26239 * inspector/InspectorFrontendHost.idl: 26240 * inspector/front-end/inspector.js: 26241 (WebInspector.toggleAttach): 26242 26243 2010-04-06 Vitaly Repeshko <vitalyr (a] chromium.org> 26244 26245 Reviewed by Yury Semikhatsky. 26246 26247 [V8] Extend the set of types supported by SerializedScriptValue 26248 https://bugs.webkit.org/show_bug.cgi?id=37052 26249 26250 New types include sparse arrays, Uint32, Date, and ImageData. 26251 26252 Serialization process became more flexible. A state can either 26253 directly write primitive values (instead of returning them like 26254 iterator) or construct a new state for serializing complex values 26255 that will return to the current state when done. 26256 26257 Deserialization process now avoids exposing the tags using a set 26258 of factory functions for complex objects instead. 26259 26260 Internal buffer type changed to uint8_t to be independent of 26261 whether char is signed or not. 26262 26263 * bindings/v8/SerializedScriptValue.cpp: 26264 (WebCore::): 26265 (WebCore::Writer::Writer): 26266 (WebCore::Writer::writeString): 26267 (WebCore::Writer::writeUint32): 26268 (WebCore::Writer::writeDate): 26269 (WebCore::Writer::writeNumber): 26270 (WebCore::Writer::writeImageData): 26271 (WebCore::Writer::writeArray): 26272 (WebCore::Writer::writeObject): 26273 (WebCore::Writer::writeSparseArray): 26274 (WebCore::Writer::doWriteUint32): 26275 (WebCore::Writer::doWriteNumber): 26276 (WebCore::Writer::append): 26277 (WebCore::Writer::fillHole): 26278 (WebCore::Writer::byteAt): 26279 (WebCore::Serializer::Serializer): 26280 (WebCore::Serializer::serialize): 26281 (WebCore::Serializer::writeArray): 26282 (WebCore::Serializer::writeObject): 26283 (WebCore::Serializer::writeSparseArray): 26284 (WebCore::Serializer::StateBase::StateBase): 26285 (WebCore::Serializer::ErrorState::ErrorState): 26286 (WebCore::Serializer::ErrorState::advance): 26287 (WebCore::Serializer::State::composite): 26288 (WebCore::Serializer::State::State): 26289 (WebCore::Serializer::ArrayState::ArrayState): 26290 (WebCore::Serializer::ArrayState::advance): 26291 (WebCore::Serializer::AbstractObjectState::AbstractObjectState): 26292 (WebCore::Serializer::AbstractObjectState::advance): 26293 (WebCore::Serializer::ObjectState::ObjectState): 26294 (WebCore::Serializer::ObjectState::objectDone): 26295 (WebCore::Serializer::SparseArrayState::SparseArrayState): 26296 (WebCore::Serializer::SparseArrayState::objectDone): 26297 (WebCore::Serializer::push): 26298 (WebCore::Serializer::pop): 26299 (WebCore::Serializer::handleError): 26300 (WebCore::Serializer::checkComposite): 26301 (WebCore::Serializer::writeString): 26302 (WebCore::Serializer::writeImageData): 26303 (WebCore::Serializer::newArrayState): 26304 (WebCore::Serializer::newObjectState): 26305 (WebCore::Serializer::doSerialize): 26306 (WebCore::Reader::Reader): 26307 (WebCore::Reader::read): 26308 (WebCore::Reader::readString): 26309 (WebCore::Reader::readUint32): 26310 (WebCore::Reader::readDate): 26311 (WebCore::Reader::readNumber): 26312 (WebCore::Reader::readImageData): 26313 (WebCore::Reader::doReadUint32): 26314 (WebCore::Reader::doReadNumber): 26315 (WebCore::Deserializer::Deserializer): 26316 (WebCore::Deserializer::createArray): 26317 (WebCore::Deserializer::createObject): 26318 (WebCore::Deserializer::createSparseArray): 26319 (WebCore::Deserializer::initializeObject): 26320 (WebCore::Deserializer::doDeserialize): 26321 (WebCore::Deserializer::stackDepth): 26322 (WebCore::SerializedScriptValue::deserialize): 26323 26324 2010-04-06 Csaba Osztrogonc <ossy (a] webkit.org> 26325 26326 Unreviewed buildfix for --minimal build. 26327 Buildfix after r57134. Add ENABLE(WORKERS) guard. 26328 26329 original bug: https://bugs.webkit.org/show_bug.cgi?id=36375 26330 26331 * bindings/js/JSWorkerContextErrorHandler.cpp: 26332 26333 2010-04-06 Dirk Schulze <krit (a] webkit.org> 26334 26335 Reviewed by Oliver Hunt. 26336 26337 SVG/SMIL parse failure on attribute keySplines 26338 https://bugs.webkit.org/show_bug.cgi?id=37071 26339 26340 Test: svg/animations/animate-keySplines.html 26341 26342 The String in 'keySplines' can have multiple spaces between numbers 26343 and delimiters. The parsing code is inspired by SVGParserUtilities 26344 and respects this. 26345 26346 * svg/SVGAnimationElement.cpp: 26347 (WebCore::parseKeySplines): 26348 26349 2010-04-06 Yury Semikhatsky <yurys (a] chromium.org> 26350 26351 Reviewed by Pavel Feldman. 26352 26353 Refactored error reporting mechanizm on Worker Global Objects. 26354 Unlike other event listeners which accept single argument(Event) 26355 onerror handler on worker global object should be a function 26356 accepting three arguments. This error reporting was implementedas 26357 EventListener::reportError method which had custom implementations 26358 for v8 and JSC. This patch removes EventListener::reportError and 26359 moves its functionality into custom bindings(V8WorkerContextErrorHandler 26360 and JSWorkerContextErrorHandler) that implement EventListener inerface 26361 for the onerror handler. 26362 26363 This patch also makes uncaught exceptions that happen in the onerror 26364 listener be reported to the Worker's onerror handler. 26365 26366 https://bugs.webkit.org/show_bug.cgi?id=36375 26367 26368 * Android.jscbindings.mk: 26369 * GNUmakefile.am: 26370 * WebCore.gypi: 26371 * WebCore.pro: 26372 * WebCore.vcproj/WebCore.vcproj: 26373 * WebCore.xcodeproj/project.pbxproj: 26374 * bindings/js/JSBindingsAllInOne.cpp: 26375 * bindings/js/JSEventListener.cpp: 26376 * bindings/js/JSEventListener.h: 26377 * bindings/js/JSWorkerContextErrorHandler.cpp: Added. 26378 (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler): 26379 (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler): 26380 (WebCore::JSWorkerContextErrorHandler::handleEvent): 26381 * bindings/js/JSWorkerContextErrorHandler.h: Added. 26382 (WebCore::JSWorkerContextErrorHandler::create): 26383 (WebCore::createJSWorkerContextErrorHandler): 26384 * bindings/scripts/CodeGeneratorJS.pm: 26385 * bindings/scripts/CodeGeneratorV8.pm: 26386 * bindings/v8/V8WorkerContextErrorHandler.cpp: Added. 26387 (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler): 26388 (WebCore::V8WorkerContextErrorHandler::callListenerFunction): 26389 * bindings/v8/V8WorkerContextErrorHandler.h: Added. 26390 (WebCore::V8WorkerContextErrorHandler::create): 26391 * bindings/v8/V8WorkerContextEventListener.cpp: 26392 * bindings/v8/V8WorkerContextEventListener.h: 26393 * dom/EventListener.h: 26394 * workers/WorkerContext.cpp: 26395 (WebCore::WorkerContext::WorkerContext): 26396 (WebCore::WorkerContext::reportException): 26397 * workers/WorkerContext.h: 26398 26399 2010-04-06 Pavel Feldman <pfeldman (a] chromium.org> 26400 26401 Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests. 26402 26403 2010-04-05 MORITA Hajime <morrita (a] google.com> 26404 26405 Reviewed by Darin Adler. 26406 26407 RenderProgress.cpp is missing CurrentTime.h 26408 https://bugs.webkit.org/show_bug.cgi?id=37080 26409 26410 No new tests. just fixed compilation error. 26411 26412 * rendering/RenderProgress.cpp: 26413 26414 26415 2010-04-05 Eric Uhrhane <ericu (a] chromium.org> 26416 26417 Reviewed by Brady Eidson. 26418 26419 window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5 26420 https://bugs.webkit.org/show_bug.cgi?id=36671 26421 26422 The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right. 26423 26424 No new tests. 26425 26426 * storage/DatabaseTracker.cpp: 26427 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash. 26428 26429 2010-04-05 Anthony Ricaud <rik (a] webkit.org> 26430 26431 Reviewed by Timothy Hatcher. 26432 26433 Web Inspector: Audits launcher view is unusable with a small height window 26434 https://bugs.webkit.org/show_bug.cgi?id=37109 26435 26436 Use flex box instead of absolute positioning to avoid overlapping elements. 26437 26438 * inspector/front-end/AuditLauncherView.js: 26439 (WebInspector.AuditLauncherView.prototype._createLauncherUI): 26440 * inspector/front-end/audits.css: 26441 (.audit-launcher-view .audit-launcher-view-content): 26442 (.audit-launcher-view div.button-container): 26443 (.audit-launcher-view .flexible-space): 26444 26445 2010-04-05 Luiz Agostini <luiz.agostini (a] openbossa.org> 26446 26447 Reviewed by Kenneth Rohde Christiansen. 26448 26449 [Qt] Maemo5 theme - wrong spelling 26450 https://bugs.webkit.org/show_bug.cgi?id=37110 26451 26452 Correcting wrong spelling in RenderThemeQt.cpp. 26453 26454 * platform/qt/RenderThemeQt.cpp: 26455 26456 2010-04-05 Leandro Pereira <leandro (a] profusion.mobi> 26457 26458 Reviewed by Kenneth Rohde Christiansen. 26459 26460 Add EFL-specific code to platform/Platform*Event.h. 26461 http://webkit.org/b/36309 26462 26463 * platform/PlatformWheelEvent.h: 26464 * platform/PlatformMouseEvent.h: 26465 * platform/PlatformKeyboardEvent.h: 26466 26467 2010-04-05 Leandro Pereira <leandro (a] profusion.mobi> 26468 26469 Reviewed by Kenneth Rohde Christiansen. 26470 26471 Add EFL-specific code to platform/graphics/*.h. 26472 http://webkit.org/b/36308 26473 26474 * platform/graphics/Icon.h: 26475 * platform/graphics/IntRect.h: 26476 * platform/graphics/FloatRect.h: 26477 * platform/graphics/IntPoint.h: 26478 26479 2010-04-05 Robert Hogan <robert (a] webkit.org> 26480 26481 Reviewed by Kenneth Rohde Christiansen. 26482 26483 [Qt] Fix infinite redirection loop in QNetworkReplyHandler 26484 26485 Put a maximum on consecutive redirections so we don't have to 26486 worry about whether it's the same url or not. 26487 26488 Tolerate up to 10 consecutive redirections, anything beyond 26489 that is considered a potentially infinite recursion in the 26490 redirection requests. This is the same behaviour as Firefox. 26491 26492 https://bugs.webkit.org/show_bug.cgi?id=37097 26493 26494 * platform/network/qt/QNetworkReplyHandler.cpp: 26495 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 26496 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 26497 * platform/network/qt/QNetworkReplyHandler.h: 26498 26499 2010-04-05 Dimitri Glazkov <dglazkov (a] chromium.org> and James Robinson <jamesr (a] chromium.org> 26500 26501 Reviewed by Darin Adler and Dimitri Glazkov. 26502 26503 Style update done due to mutation event dispatching in textarea can be 26504 used to corrupt the render tree. 26505 https://bugs.webkit.org/show_bug.cgi?id=36864 26506 26507 Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html 26508 fast/forms/select-change-popup-to-listbox-roundtrip.html 26509 fast/forms/textarea-and-mutation-events.html 26510 26511 * dom/Document.cpp: 26512 (WebCore::Document::finishedParsing): Added updateStyleIfNeeded() 26513 call to ensure that object loads start before firing window load. 26514 * dom/Node.cpp: 26515 (WebCore::Node::dispatchGenericEvent): Removed invocation of 26516 Document::updateStyleForAllDocuments 26517 * html/HTMLSelectElement.cpp: 26518 (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit 26519 recalc to ensure accuracy of representation, especially for 26520 menuList/listBox switches. 26521 26522 2010-04-05 Antonio Gomes <tonikitoo (a] webkit.org> 26523 26524 Reviewed by Laszlo Gombos. 26525 26526 Cleaned up spatial-navigation-test-cases.html by removing the wrongly 26527 used <frameset> tag. 26528 26529 Patch also adds a manual-test specifically to test Spatial Navigation with framesets. 26530 26531 * manual-tests/spatial-navigation/frameset.html: Added. 26532 * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: 26533 26534 2010-04-05 Mark Rowe <mrowe (a] apple.com> 26535 26536 Reviewed by Adele Peterson. 26537 26538 Roll out r56989 as it introduced crashes in Mail. 26539 <http://webkit.org/b/37115> / <rdar://problem/7829331> 26540 26541 * dom/Position.cpp: 26542 (WebCore::Position::isCandidate): 26543 * dom/PositionIterator.cpp: 26544 (WebCore::PositionIterator::isCandidate): 26545 26546 2010-04-05 Darin Adler <darin (a] apple.com> 26547 26548 Reviewed by Sam Weinig. 26549 26550 Images must re-load when an image-holding element moves into a new document 26551 https://bugs.webkit.org/show_bug.cgi?id=37127 26552 26553 Test: fast/images/move-image-to-new-document.html 26554 26555 * html/HTMLImageElement.cpp: 26556 (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's 26557 elementWillMoveToNewOwnerDocument function. 26558 * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument. 26559 * html/HTMLInputElement.cpp: 26560 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto. 26561 * html/HTMLPlugInImageElement.cpp: 26562 (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto. 26563 * html/HTMLPlugInImageElement.h: Ditto. 26564 * html/HTMLVideoElement.cpp: 26565 (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto. 26566 * html/HTMLVideoElement.h: Ditto. 26567 * svg/SVGImageElement.cpp: 26568 (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto. 26569 * svg/SVGImageElement.h: Ditto. 26570 26571 * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected 26572 so it can be called by HTMLVideoElement.cpp. 26573 26574 * loader/ImageLoader.cpp: 26575 (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added. 26576 Resets the loader by clearing out the cached image. 26577 * loader/ImageLoader.h: Added it. 26578 26579 2010-04-05 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 26580 26581 Reviewed by Kenneth Rohde Christiansen. 26582 26583 [Symbian] Consolidate Symbian WINSCW environment configuration 26584 https://bugs.webkit.org/show_bug.cgi?id=37100 26585 26586 Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h 26587 to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore. 26588 26589 No new tests as there is no new functionality. 26590 26591 * config.h: 26592 26593 2010-04-05 Leandro Pereira <leandro (a] profusion.mobi> 26594 26595 Reviewed by Kenneth Rohde Christiansen. 26596 26597 Add missing ClipboardEfl.h to platform/efl. 26598 http://webkit.org/b/36242 26599 26600 * platform/efl/ClipboardEfl.h: Added. 26601 26602 2010-04-05 Yuta Kitamura <yutak (a] chromium.org> 26603 26604 Reviewed by Darin Adler. 26605 26606 Escape control characters in CSS string value when it is serialilzed. 26607 26608 When WebKit serializes a CSS string value that contains binary characters 26609 ('\0\1\2' for example), it did not escape these characters. As a result, 26610 users got (invisible) control characters through scripts. This change fixes 26611 this issue. 26612 26613 As a side effect, two separate codes for escaping CSS strings are merged, and 26614 become a public function (quoteCSSString). 26615 26616 CSS string value is not correctly serialized when it contains binary characters 26617 https://bugs.webkit.org/show_bug.cgi?id=28938 26618 26619 Test: fast/css/string-quote-binary.html 26620 26621 * css/CSSParser.cpp: 26622 (WebCore::isCSSTokenizerIdentifier): 26623 (WebCore::isCSSTokenizerURL): 26624 (WebCore::quoteCSSString): 26625 (WebCore::quoteCSSStringIfNeeded): 26626 (WebCore::quoteCSSURLIfNeeded): 26627 * css/CSSParser.h: 26628 * css/CSSPrimitiveValue.cpp: 26629 (WebCore::CSSPrimitiveValue::cssText): 26630 * css/FontFamilyValue.cpp: 26631 (WebCore::FontFamilyValue::cssText): 26632 26633 2010-04-05 John Gregg <johnnyg (a] google.com> 26634 26635 Reviewed by Darin Adler. 26636 26637 Notifications should not resolve an empty icon parameter as a relative URL 26638 https://bugs.webkit.org/show_bug.cgi?id=36862 26639 26640 * notifications/Notification.cpp: 26641 (WebCore::Notification::Notification): 26642 26643 2010-04-05 Darin Adler <darin (a] apple.com> 26644 26645 Reviewed by Mark Rowe. 26646 26647 Removed some unneeded type casts. 26648 26649 * css/CSSPrimitiveValue.cpp: 26650 (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast. 26651 * page/Location.cpp: 26652 (WebCore::Location::host): Removed unneeded parentheses and cast. 26653 (WebCore::Location::port): Ditto. 26654 * platform/KURLGoogle.cpp: 26655 (WebCore::KURL::setPort): Ditto. 26656 * workers/WorkerLocation.cpp: 26657 (WebCore::WorkerLocation::host): Ditto. 26658 (WebCore::WorkerLocation::port): Ditto. 26659 26660 2010-04-05 Sheriff Bot <webkit.review.bot (a] gmail.com> 26661 26662 Unreviewed, rolling out r57081. 26663 http://trac.webkit.org/changeset/57081 26664 https://bugs.webkit.org/show_bug.cgi?id=37121 26665 26666 We think it triggered two tests to fail on Tiger because of 26667 race conditions (Requested by abarth on #webkit). 26668 26669 * dom/Node.cpp: 26670 (WebCore::Node::dispatchGenericEvent): 26671 * html/HTMLSelectElement.cpp: 26672 (WebCore::HTMLSelectElement::parseMappedAttribute): 26673 26674 2010-04-05 Brady Eidson <beidson (a] apple.com> 26675 26676 Reviewed by Oliver Hunt. 26677 26678 ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups 26679 <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120 26680 26681 No new tests. (No behavior change) 26682 26683 * storage/StorageNamespaceImpl.cpp: 26684 (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return. 26685 26686 2010-04-05 Sheriff Bot <webkit.review.bot (a] gmail.com> 26687 26688 Unreviewed, rolling out r57030. 26689 http://trac.webkit.org/changeset/57030 26690 https://bugs.webkit.org/show_bug.cgi?id=37114 26691 26692 Regressed fast/repaint/line-flow-with-floats-9 pixel tests in 26693 chromium port (Requested by jamesr on #webkit). 26694 26695 * rendering/RenderBlock.h: 26696 * rendering/RenderBlockLineLayout.cpp: 26697 (WebCore::RenderBlock::layoutInlineChildren): 26698 26699 2010-04-05 Alexey Proskuryakov <ap (a] apple.com> 26700 26701 Reviewed by Darin Adler. 26702 26703 https://bugs.webkit.org/show_bug.cgi?id=37111 26704 <rdar://problem/7790327> Draw replacement text when plug-in host crashes 26705 26706 * page/mac/WebCoreViewFactory.h: 26707 * platform/LocalizedStrings.h: 26708 * platform/mac/LocalizedStringsMac.mm: 26709 * platform/gtk/LocalizedStringsGtk.cpp: 26710 * platform/qt/Localizations.cpp: 26711 * platform/wx/LocalizedStringsWx.cpp: 26712 Added a localizable string for plug-in failure (only used on Mac at the moment). 26713 26714 * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private, 26715 since it's now used from WebKit. 26716 26717 * rendering/RenderEmbeddedObject.cpp: 26718 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator 26719 initializer. 26720 (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed 26721 m_showsMissingPluginIndicator. 26722 (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText. 26723 (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto. 26724 (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed 26725 m_showsMissingPluginIndicator. 26726 (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText 26727 insted of just "Missing Plug-in". Renamed constants and variables accordingly. 26728 26729 * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding 26730 actual replacement text. 26731 26732 * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in 26733 setShowsMissingPluginIndicator(), which no longer takes an argument. 26734 26735 * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator(). 26736 26737 2010-04-05 Chris Fleizach <cfleizach (a] apple.com> 26738 26739 Reviewed by Darin Adler. 26740 26741 Bug 37040 - AX: need to send selected children change notification when aria-selected changed 26742 https://bugs.webkit.org/show_bug.cgi?id=37040 26743 26744 When aria-selected is changed in the DOM, it will trigger a selected children change notification. 26745 26746 Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html 26747 26748 * accessibility/AXObjectCache.cpp: 26749 (WebCore::AXObjectCache::selectedChildrenChanged): 26750 * accessibility/AXObjectCache.h: 26751 * accessibility/AccessibilityMediaControls.cpp: 26752 (WebCore::AccessibilityMediaControl::controlType): 26753 Remove extra whitespace before comment (webkit-style). 26754 * accessibility/AccessibilityRenderObject.cpp: 26755 (WebCore::AccessibilityRenderObject::observableObject): 26756 Allowed a listBox to be an observable object. 26757 (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): 26758 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 26759 Updated and streamlined existing code. 26760 * dom/Element.cpp: 26761 (WebCore::Element::updateAfterAttributeChanged): 26762 26763 2010-04-05 Adam Treat <atreat (a] rim.com> 26764 26765 Reviewed by Darin Adler. 26766 26767 Fix regression in pixel test for animated svg background images. 26768 26769 https://bugs.webkit.org/show_bug.cgi?id=37027 26770 26771 * svg/graphics/SVGImage.cpp: 26772 (WebCore::SVGImageChromeClient::invalidateContentsAndWindow): 26773 26774 2010-04-05 Robert Hogan <robert (a] webkit.org> 26775 26776 Reviewed by Kenneth Rohde-Christiansen. 26777 26778 [Qt] Fix infinite redirection loop in QNetworkReplyHandler 26779 26780 Qt enters an infinite loop if a redirect response redirects to itself. 26781 26782 Fixes http/tests/xmlhttprequest/connection-error-sync.html 26783 26784 https://bugs.webkit.org/show_bug.cgi?id=37097 26785 26786 * platform/network/qt/QNetworkReplyHandler.cpp: 26787 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 26788 26789 2010-04-05 Yury Semikhatsky <yurys (a] chromium.org> 26790 26791 Unreviewed, revert r57078. 26792 26793 * Android.jscbindings.mk: 26794 * GNUmakefile.am: 26795 * WebCore.gypi: 26796 * WebCore.pro: 26797 * WebCore.vcproj/WebCore.vcproj: 26798 * WebCore.xcodeproj/project.pbxproj: 26799 * bindings/js/JSEventListener.cpp: 26800 (WebCore::JSEventListener::reportError): 26801 * bindings/js/JSEventListener.h: 26802 * bindings/js/JSWorkerContextErrorHandler.cpp: Removed. 26803 * bindings/js/JSWorkerContextErrorHandler.h: Removed. 26804 * bindings/scripts/CodeGeneratorJS.pm: 26805 * bindings/scripts/CodeGeneratorV8.pm: 26806 * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed. 26807 * bindings/v8/V8WorkerContextErrorHandler.h: Removed. 26808 * bindings/v8/V8WorkerContextEventListener.cpp: 26809 (WebCore::V8WorkerContextEventListener::reportError): 26810 * bindings/v8/V8WorkerContextEventListener.h: 26811 * dom/EventListener.h: 26812 (WebCore::EventListener::reportError): 26813 * workers/WorkerContext.cpp: 26814 (WebCore::WorkerContext::WorkerContext): 26815 (WebCore::WorkerContext::reportException): 26816 * workers/WorkerContext.h: 26817 26818 2010-04-05 Dimitri Glazkov <dglazkov (a] chromium.org> 26819 26820 Reviewed by Darin Adler. 26821 26822 Style update done due to mutation event dispatching in textarea can be 26823 used to corrupt the render tree. 26824 https://bugs.webkit.org/show_bug.cgi?id=36864 26825 26826 Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html 26827 fast/forms/select-change-popup-to-listbox-roundtrip.html 26828 fast/forms/textarea-and-mutation-events.html 26829 26830 * dom/Node.cpp: 26831 (WebCore::Node::dispatchGenericEvent): Removed invocation of 26832 Document::updateStyleForAllDocuments 26833 * html/HTMLSelectElement.cpp: 26834 (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit 26835 recalc to ensure accuracy of representation, especially for 26836 menuList/listBox switches. 26837 26838 2010-04-01 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 26839 26840 Reviewed by Dave Hyatt. 26841 26842 iframe flattening doesn't flatten 26843 https://bugs.webkit.org/show_bug.cgi?id=36798 26844 26845 Fixed to the iframe flattening code so that the iframes on 26846 http://www.samisite.com/test-csb2nf/id43.htm are actually 26847 flattened. 26848 26849 Covered by current tests. 26850 26851 * page/FrameView.cpp: Propagate contents changes of iframes 26852 and subframes in framesets to the parent so that it is relayouted 26853 (WebCore::FrameView::setContentsSize): 26854 (WebCore::FrameView::adjustViewSize): 26855 (WebCore::FrameView::scheduleRelayout): 26856 * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from 26857 HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct 26858 the use of inset border values. Avoid a sometimes unnecessary 26859 relayout. 26860 (WebCore::RenderPart::layoutWithFlattening): 26861 * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth 26862 return the right values, considering scrolling and fixed width/height 26863 (WebCore::RenderPartObject::flattenFrame): 26864 (WebCore::RenderPartObject::calcHeight): 26865 (WebCore::RenderPartObject::calcWidth): 26866 (WebCore::RenderPartObject::layout): 26867 26868 2010-04-05 Vitaly Repeshko <vitalyr (a] chromium.org> 26869 26870 Reviewed by Yury Semikhatsky. 26871 26872 [V8] Extend the set of types supported by SerializedScriptValue 26873 https://bugs.webkit.org/show_bug.cgi?id=37052 26874 26875 New types include sparse arrays, Uint32, Date, and ImageData. 26876 26877 Serialization process became more flexible. A state can either 26878 directly write primitive values (instead of returning them like 26879 iterator) or construct a new state for serializing complex values 26880 that will return to the current state when done. 26881 26882 Deserialization process now avoids exposing the tags using a set 26883 of factory functions for complex objects instead. 26884 26885 Internal buffer type changed to uint8_t to be independent of 26886 whether char is signed or not. 26887 26888 * bindings/v8/SerializedScriptValue.cpp: 26889 (WebCore::): 26890 (WebCore::Writer::Writer): 26891 (WebCore::Writer::writeString): 26892 (WebCore::Writer::writeUint32): 26893 (WebCore::Writer::writeDate): 26894 (WebCore::Writer::writeNumber): 26895 (WebCore::Writer::writeImageData): 26896 (WebCore::Writer::writeArray): 26897 (WebCore::Writer::writeObject): 26898 (WebCore::Writer::writeSparseArray): 26899 (WebCore::Writer::doWriteUint32): 26900 (WebCore::Writer::doWriteNumber): 26901 (WebCore::Writer::append): 26902 (WebCore::Writer::fillHole): 26903 (WebCore::Writer::byteAt): 26904 (WebCore::Serializer::Serializer): 26905 (WebCore::Serializer::serialize): 26906 (WebCore::Serializer::writeArray): 26907 (WebCore::Serializer::writeObject): 26908 (WebCore::Serializer::writeSparseArray): 26909 (WebCore::Serializer::StateBase::StateBase): 26910 (WebCore::Serializer::ErrorState::ErrorState): 26911 (WebCore::Serializer::ErrorState::advance): 26912 (WebCore::Serializer::State::composite): 26913 (WebCore::Serializer::State::State): 26914 (WebCore::Serializer::ArrayState::ArrayState): 26915 (WebCore::Serializer::ArrayState::advance): 26916 (WebCore::Serializer::AbstractObjectState::AbstractObjectState): 26917 (WebCore::Serializer::AbstractObjectState::advance): 26918 (WebCore::Serializer::ObjectState::ObjectState): 26919 (WebCore::Serializer::ObjectState::objectDone): 26920 (WebCore::Serializer::SparseArrayState::SparseArrayState): 26921 (WebCore::Serializer::SparseArrayState::objectDone): 26922 (WebCore::Serializer::push): 26923 (WebCore::Serializer::pop): 26924 (WebCore::Serializer::handleError): 26925 (WebCore::Serializer::checkComposite): 26926 (WebCore::Serializer::writeString): 26927 (WebCore::Serializer::writeImageData): 26928 (WebCore::Serializer::newArrayState): 26929 (WebCore::Serializer::newObjectState): 26930 (WebCore::Serializer::doSerialize): 26931 (WebCore::Reader::Reader): 26932 (WebCore::Reader::read): 26933 (WebCore::Reader::readString): 26934 (WebCore::Reader::readUint32): 26935 (WebCore::Reader::readDate): 26936 (WebCore::Reader::readNumber): 26937 (WebCore::Reader::readImageData): 26938 (WebCore::Reader::doReadUint32): 26939 (WebCore::Reader::doReadNumber): 26940 (WebCore::Deserializer::Deserializer): 26941 (WebCore::Deserializer::createArray): 26942 (WebCore::Deserializer::createObject): 26943 (WebCore::Deserializer::createSparseArray): 26944 (WebCore::Deserializer::initializeObject): 26945 (WebCore::Deserializer::doDeserialize): 26946 (WebCore::Deserializer::stackDepth): 26947 (WebCore::SerializedScriptValue::deserialize): 26948 26949 2010-04-05 Yury Semikhatsky <yurys (a] chromium.org> 26950 26951 Reviewed by Pavel Feldman. 26952 26953 Refactored error reporting mechanizm on Worker Global Objects. 26954 Unlike other event listeners which accept single argument(Event) 26955 onerror handler on worker global object should be a function 26956 accepting three arguments. This error reporting was implementedas 26957 EventListener::reportError method which had custom implementations 26958 for v8 and JSC. This patch removes EventListener::reportError and 26959 moves its functionality into custom bindings(V8WorkerContextErrorHandler 26960 and JSWorkerContextErrorHandler) that implement EventListener inerface 26961 for the onerror handler. 26962 26963 This patch also makes uncaught exceptions that happen in the onerror 26964 listener be reported to the Worker's onerror handler. 26965 26966 https://bugs.webkit.org/show_bug.cgi?id=36375 26967 26968 * WebCore.gypi: 26969 * WebCore.pro: 26970 * WebCore.xcodeproj/project.pbxproj: 26971 * bindings/js/JSEventListener.cpp: 26972 * bindings/js/JSEventListener.h: 26973 * bindings/js/JSWorkerContextErrorHandler.cpp: Added. 26974 (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler): 26975 (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler): 26976 (WebCore::JSWorkerContextErrorHandler::handleEvent): 26977 * bindings/js/JSWorkerContextErrorHandler.h: Added. 26978 (WebCore::JSWorkerContextErrorHandler::create): 26979 (WebCore::createJSWorkerContextErrorHandler): 26980 * bindings/scripts/CodeGeneratorJS.pm: 26981 * bindings/scripts/CodeGeneratorV8.pm: 26982 * bindings/v8/V8WorkerContextErrorHandler.cpp: Added. 26983 (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler): 26984 (WebCore::V8WorkerContextErrorHandler::callListenerFunction): 26985 * bindings/v8/V8WorkerContextErrorHandler.h: Added. 26986 (WebCore::V8WorkerContextErrorHandler::create): 26987 * bindings/v8/V8WorkerContextEventListener.cpp: 26988 * bindings/v8/V8WorkerContextEventListener.h: 26989 * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors. 26990 * workers/WorkerContext.cpp: 26991 (WebCore::WorkerContext::WorkerContext): 26992 (WebCore::WorkerContext::reportException): 26993 * workers/WorkerContext.h: 26994 26995 2010-04-05 Antonio Gomes <tonikitoo (a] webkit.org> 26996 26997 Reviewed by Darin Adler. 26998 26999 Fix some "explicit braces to avoid ambiguous 'else'" warnings 27000 https://bugs.webkit.org/show_bug.cgi?id=37088 27001 27002 * dom/Node.cpp: 27003 (WebCore::Node::dispatchGenericEvent): 27004 * page/DOMWindow.cpp: 27005 (WebCore::DOMWindow::dispatchEvent): 27006 27007 2010-04-05 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 27008 27009 Reviewed by Kenneth Rohde Christiansen. 27010 27011 Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC 27012 27013 Instead of defining and undefining it later, let's not 27014 define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW. 27015 27016 No new tests as there is no new functionality. 27017 27018 * config.h: 27019 27020 2010-04-05 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 27021 27022 Reviewed by Kenneth Rohde Christiansen. 27023 27024 [Qt] [Symbian] Remove obsolete build flags for Symbian 27025 https://bugs.webkit.org/show_bug.cgi?id=37083 27026 27027 Symbian port of QtWebKit port does not use icu, so it does 27028 not need U_HAVE_* defines. 27029 27030 Symbian now has inttypes.h as part of OpenC. 27031 27032 stdio.h, limits.h and MathExtras.h are already included in 27033 more appropriate locations. 27034 27035 No new tests as there is no new functionality. 27036 27037 * config.h: 27038 27039 2010-04-05 Pavel Feldman <pfeldman (a] chromium.org> 27040 27041 Not reviewed: chromium build fix. 27042 27043 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 27044 (WebCore::V8InspectorFrontendHost::platformCallback): 27045 (WebCore::V8InspectorFrontendHost::portCallback): 27046 27047 2010-04-05 Pavel Feldman <pfeldman (a] chromium.org> 27048 27049 Reviewed by Yury Semikhatsky. 27050 27051 Web Inspector: [REGRESSION] platform detection in Chromium 27052 has regressed to unknown. 27053 27054 https://bugs.webkit.org/show_bug.cgi?id=37081 27055 27056 * bindings/js/JSInspectorFrontendHostCustom.cpp: 27057 (WebCore::JSInspectorFrontendHost::platform): 27058 (WebCore::JSInspectorFrontendHost::port): 27059 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 27060 (WebCore::V8InspectorFrontendHost::platform): 27061 (WebCore::V8InspectorFrontendHost::port): 27062 * inspector/InspectorFrontendHost.cpp: 27063 * inspector/InspectorFrontendHost.h: 27064 * inspector/InspectorFrontendHost.idl: 27065 27066 2010-04-05 Andrey Kosyakov <caseq (a] chromium.org> 27067 27068 Reviewed by Yury Semikhatsky. 27069 27070 Remove logging of successful XHR and worker's importScript() 27071 to inspector console 27072 https://bugs.webkit.org/show_bug.cgi?id=37078 27073 27074 * bindings/js/JSWorkerContextCustom.cpp: 27075 (WebCore::JSWorkerContext::importScripts): 27076 * bindings/v8/custom/V8WorkerContextCustom.cpp: 27077 (WebCore::V8WorkerContext::importScriptsCallback): 27078 * workers/DedicatedWorkerContext.cpp: 27079 (WebCore::DedicatedWorkerContext::importScripts): 27080 * workers/DedicatedWorkerContext.h: 27081 * workers/WorkerContext.cpp: 27082 (WebCore::WorkerContext::importScripts): 27083 * workers/WorkerContext.h: 27084 * xml/XMLHttpRequest.cpp: 27085 (WebCore::XMLHttpRequest::didFinishLoading): 27086 27087 2010-04-04 Pavel Feldman <pfeldman (a] chromium.org> 27088 27089 Not reviewed. Rolling out chromium changes r57028 and r57032 27090 for breaking chromium layout tests. 27091 27092 * WebCore.gyp/WebCore.gyp: 27093 * WebCore.gypi: 27094 * platform/chromium/DragImageChromium.cpp: Added. 27095 (WebCore::dragImageSize): 27096 (WebCore::deleteDragImage): 27097 (WebCore::scaleDragImage): 27098 (WebCore::dissolveDragImageToFraction): 27099 (WebCore::createDragImageFromImage): 27100 (WebCore::createDragImageIconForCachedImage): 27101 * platform/chromium/DragImageChromiumMac.cpp: Removed. 27102 * platform/chromium/DragImageChromiumSkia.cpp: Removed. 27103 * platform/chromium/DragImageRef.h: 27104 27105 2010-03-29 Antonio Gomes <tonikitoo (a] webkit.org> 27106 27107 Reviewed by Simon Fraser. 27108 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 27109 27110 Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp 27111 27112 WebCore::distanceInDirection method was handling much of the logic not 27113 strictly only related to the distance between nodes acquisition. This 27114 method was simplified and renamed to 'WebCore::distanceDataForNode'. 27115 The latter is now responsible for only getting the distance and alignment 27116 data, while all assignement logic previously in distanceInDirection method 27117 was moved place to updateFocusCandidateIfCloser. 27118 27119 Parent document distance and alignment acquisitions, in turn, have also 27120 changed location: they are both got from deepFindFocusableNodeInDirection, 27121 and passed in a recursive call to findFocusableNodeInDirection via the 27122 candidateParent variable (optional parameter). In addition, the need for 27123 the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method 27124 was removed, making the code much cleaner. 27125 27126 No behaviour change at this point. Mostly moving code around to the place 27127 where it should live in. 27128 27129 * page/FocusController.cpp: 27130 (WebCore::FocusController::advanceFocusDirectionally): 27131 (WebCore::updateFocusCandidateIfCloser): 27132 (WebCore::FocusController::findFocusableNodeInDirection): 27133 (WebCore::FocusController::deepFindFocusableNodeInDirection): 27134 * page/FocusController.h: 27135 * page/SpatialNavigation.cpp: 27136 (WebCore::distanceDataForNode): 27137 (WebCore::renderRectRelativeToRootDocument): 27138 * page/SpatialNavigation.h: 27139 27140 2010-04-04 Pavel Feldman <pfeldman (a] chromium.org> 27141 27142 Reviewed by Timothy Hatcher. 27143 27144 Web Inspector: In the inherited styles, do not render non-inherited properties as overriden. 27145 27146 https://bugs.webkit.org/show_bug.cgi?id=37072 27147 27148 * inspector/front-end/StylesSidebarPane.js: 27149 (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded): 27150 27151 2010-04-03 yael aharon <yael.aharon (a] nokia.com> 27152 27153 Reviewed by Darin Adler. 27154 27155 Enable HTMLProgressElement for Safari on OSX 27156 https://bugs.webkit.org/show_bug.cgi?id=36961 27157 27158 * Configurations/FeatureDefines.xcconfig: 27159 * WebCore.xcodeproj/project.pbxproj: 27160 * rendering/RenderThemeMac.h: 27161 * rendering/RenderThemeMac.mm: 27162 (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar): 27163 (WebCore::RenderThemeMac::animationDurationForProgressBar): 27164 (WebCore::RenderThemeMac::adjustProgressBarStyle): 27165 (WebCore::RenderThemeMac::paintProgressBar): 27166 27167 2010-04-03 Jakub Wieczorek <jwieczorek (a] webkit.org> 27168 27169 Unreviewed. 27170 27171 Fix debug build with GCC >= 4.3. 27172 27173 * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly. 27174 27175 2010-04-03 Kenneth Russell <kbr (a] google.com> 27176 27177 Reviewed by Darin Fisher. 27178 27179 Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation 27180 https://bugs.webkit.org/show_bug.cgi?id=36574 27181 27182 Fixed bugs in JavaScript bindings for uniform[Matrix]* entry 27183 points causing them to throw exceptions rather than synthesize GL 27184 errors. Fixed the implementations to synthesize INVALID_VALUE 27185 rather than INVALID_OPERATION to comply to the WebGL spec. Updated 27186 uniform-location-expected.txt to incorporate the correct error. 27187 Tested in Safari and Chromium. 27188 27189 Test: fast/canvas/webgl/null-uniform-location.html 27190 27191 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 27192 (WebCore::V8WebGLRenderingContext::getUniformCallback): 27193 (WebCore::vertexAttribAndUniformHelperf): 27194 (WebCore::uniformHelperi): 27195 (WebCore::uniformMatrixHelper): 27196 * html/canvas/WebGLRenderingContext.cpp: 27197 (WebCore::WebGLRenderingContext::uniform1f): 27198 (WebCore::WebGLRenderingContext::uniform1fv): 27199 (WebCore::WebGLRenderingContext::uniform1i): 27200 (WebCore::WebGLRenderingContext::uniform1iv): 27201 (WebCore::WebGLRenderingContext::uniform2f): 27202 (WebCore::WebGLRenderingContext::uniform2fv): 27203 (WebCore::WebGLRenderingContext::uniform2i): 27204 (WebCore::WebGLRenderingContext::uniform2iv): 27205 (WebCore::WebGLRenderingContext::uniform3f): 27206 (WebCore::WebGLRenderingContext::uniform3fv): 27207 (WebCore::WebGLRenderingContext::uniform3i): 27208 (WebCore::WebGLRenderingContext::uniform3iv): 27209 (WebCore::WebGLRenderingContext::uniform4f): 27210 (WebCore::WebGLRenderingContext::uniform4fv): 27211 (WebCore::WebGLRenderingContext::uniform4i): 27212 (WebCore::WebGLRenderingContext::uniform4iv): 27213 (WebCore::WebGLRenderingContext::uniformMatrix2fv): 27214 (WebCore::WebGLRenderingContext::uniformMatrix3fv): 27215 (WebCore::WebGLRenderingContext::uniformMatrix4fv): 27216 27217 2010-04-02 Andy Estes <aestes (a] apple.com> 27218 27219 Reviewed by Adam Barth. 27220 27221 The previous mechanism for testing whether an event was due to a user 27222 gesture only checked the event type, not the source of the event. This 27223 allowed scripts to defeat popup blocking by programatically emitting 27224 certain types of events. 27225 27226 Change the user gesture detection to check for a flag that is only set 27227 when the event in question was generated through the platform and not 27228 through the DOM. 27229 27230 https://bugs.webkit.org/show_bug.cgi?id=37008 27231 27232 Tests: fast/events/popup-allowed-from-gesture-initiated-event.html 27233 fast/events/popup-blocked-from-fake-button-click.html 27234 fast/events/popup-blocked-from-fake-focus.html 27235 27236 * Android.mk: Add UserGestureIndicator.{cpp, h}. 27237 * GNUmakefile.am: Same. 27238 * WebCore.gypi: Same. 27239 * WebCore.pro: Same. 27240 * WebCore.vcproj/WebCore.vcproj: Same. 27241 * WebCore.xcodeproj/project.pbxproj: Same. 27242 * bindings/v8/ScriptController.cpp: 27243 (WebCore::ScriptController::processingUserGesture): Check the value of 27244 UserGesureIndicator::processingUserGesture(). 27245 * dom/Document.cpp: 27246 (WebCore::Document::createEvent): Remove call to 27247 Event::setCreatedByDOM(). 27248 * dom/Event.cpp: 27249 (WebCore::Event::Event): Remove initializers for m_createdByDOM. 27250 (WebCore::Event::fromUserGesture): Check the value of 27251 UserGestureIndicator::processingUserGesture(). 27252 * dom/Event.h: Remove m_createdByDOM. 27253 * dom/UserGestureIndicator.cpp: Added. 27254 (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous 27255 value of s_processingUserGesture before setting it to true. 27256 (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore 27257 s_processingUserGesture to its previous value. 27258 * dom/UserGestureIndicator.h: Added. 27259 (WebCore::UserGestureIndicator::processingUserGesture): Return the value 27260 of s_processingUserGesture. 27261 * page/EventHandler.cpp: 27262 (WebCore::EventHandler::handleMousePressEvent): Instantiate a 27263 UserGestureIndicator object on the stack to indicate a user gesture is 27264 being processed. 27265 (WebCore::EventHandler::handleMouseDoubleClickEvent): Same. 27266 (WebCore::EventHandler::handleMouseReleaseEvent): Same. 27267 (WebCore::EventHandler::keyEvent): Same. 27268 (WebCore::EventHandler::handleTouchEvent): Same. 27269 27270 2010-04-02 Justin Schuh <jschuh (a] chromium.org> 27271 27272 Reviewed by Alexey Proskuryakov. 27273 27274 XHR allows arbitrary XSRF across domains 27275 https://bugs.webkit.org/show_bug.cgi?id=36843 27276 27277 Added a one-line change to prevent bypassing the XDC check on 27278 synchronous preflighted requests. Added layout tests to cover 27279 variations of this problem. 27280 27281 Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html 27282 http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html 27283 http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html 27284 http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html 27285 27286 * loader/DocumentThreadableLoader.cpp: 27287 (WebCore::DocumentThreadableLoader::preflightFailure): 27288 27289 2010-04-02 Nayan Kumar K <nayankk (a] gmail.com> 27290 27291 Reviewed by Eric Seidel. 27292 27293 Fix for WML enabled build failure. 27294 27295 https://bugs.webkit.org/show_bug.cgi?id=36648 27296 27297 * wml/WMLOptionElement.cpp: 27298 (WebCore::WMLOptionElement::disabled): 27299 * wml/WMLOptionElement.h: 27300 * wml/WMLSelectElement.cpp: 27301 (WebCore::WMLSelectElement::listBoxSelectItem): 27302 * wml/WMLSelectElement.h: 27303 27304 2010-04-02 MORITA Hajime <morrita (a] google.com> 27305 27306 Reviewed by Alexey Proskuryakov. 27307 27308 https://bugs.webkit.org/show_bug.cgi?id=37011 27309 Position::primaryDirection() should not use its own accessor. 27310 27311 No new tests. This is small clenaup with no behaviour change. 27312 27313 * dom/Position.cpp: 27314 (WebCore::Position::primaryDirection): 27315 27316 2010-04-02 Eric Uhrhane <ericu (a] chromium.org> 27317 27318 Reviewed by Brady Eidson. 27319 27320 window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5. This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991]. 27321 https://bugs.webkit.org/show_bug.cgi?id=36671 27322 27323 No new tests. Requires testing on Safari on Windows. 27324 27325 * storage/DatabaseTracker.cpp: 27326 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case. 27327 27328 2010-04-02 Michael Nordman <michaeln (a] google.com> 27329 27330 Reviewed by Nate Chapin. 27331 27332 Set the close policy used by the DatabaseCloseTask in a constructor argument 27333 instead of hard coding it. 27334 https://bugs.webkit.org/show_bug.cgi?id=37037 27335 27336 No new tests, new new functionality. 27337 27338 * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior. 27339 (WebCore::Database::markAsDeletedAndClose): 27340 * storage/DatabaseTask.cpp: 27341 (WebCore::DatabaseCloseTask::DatabaseCloseTask): 27342 (WebCore::DatabaseCloseTask::doPerformTask): 27343 * storage/DatabaseTask.h: 27344 (WebCore::DatabaseCloseTask::create): 27345 27346 2010-04-02 James Robinson <jamesr (a] chromium.org> 27347 27348 Reviewed by Simon Fraser. 27349 27350 Remove an ASSERT that sometimes flakes due to time dependent animations 27351 https://bugs.webkit.org/show_bug.cgi?id=37048 27352 27353 The outline repaint rectangle for a layer might change between two calls 27354 if there are animations involved, even if nothing in the DOM has actually 27355 changed between the calls. 27356 27357 No change in behavior, no new tests. 27358 27359 * rendering/RenderLayer.cpp: 27360 (WebCore::RenderLayer::updateLayerPositions): 27361 27362 2010-04-02 Evan Stade <estade (a] chromium.org> 27363 27364 Reviewed by Adam Barth. 27365 27366 [chromium] need DragImage implementation 27367 https://bugs.webkit.org/show_bug.cgi?id=35811 27368 27369 Add two files that failed to get added in my previous patch. 27370 27371 * platform/chromium/DragImageChromiumMac.cpp: Added. 27372 (WebCore::dragImageSize): 27373 (WebCore::deleteDragImage): 27374 (WebCore::scaleDragImage): 27375 (WebCore::dissolveDragImageToFraction): 27376 (WebCore::createDragImageFromImage): 27377 (WebCore::createDragImageIconForCachedImage): 27378 * platform/chromium/DragImageChromiumSkia.cpp: Added. 27379 (WebCore::dragImageSize): 27380 (WebCore::deleteDragImage): 27381 (WebCore::scaleDragImage): 27382 (WebCore::dissolveDragImageToFraction): 27383 (WebCore::createDragImageFromImage): 27384 (WebCore::createDragImageIconForCachedImage): 27385 27386 2010-04-02 Jer Noble <jer.noble (a] apple.com> 27387 27388 Reviewed by Eric Carlson. 27389 27390 Configure multi-language movies: when QuickTime has sufficiently loaded 27391 the movie, call into wkQTMovieSelectPreferredAlternates to select the 27392 movie's alternate tracks according to the user's language preferences. 27393 27394 https://bugs.webkit.org/show_bug.cgi?id=36624 27395 27396 * WebCore.base.exp: 27397 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 27398 (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded, 27399 call wkQTMovieSelectPreferredAlternates to set up the alternate tracks. 27400 * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates. 27401 * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates. 27402 27403 2010-04-02 James Robinson <jamesr (a] chromium.org> 27404 27405 Reviewed by Darin Adler. 27406 27407 Splits RenderBlock::layoutInline into smaller functions 27408 https://bugs.webkit.org/show_bug.cgi?id=36921 27409 27410 RenderBlock::layoutInlineChildren is 351 lines long and very difficult 27411 to comprehend or edit safely. This patch splits it up into a few 27412 slightly smaller functions. Most of the code is now in the 241 line 27413 layoutRunsAndFloats() which is a slight improvement. 27414 27415 Perf neutral on the page cyclers. This doesn't introduce any function 27416 calls into the hottest layout paths inside layoutRunsAndFloats and 27417 findNextLineBreak. 27418 27419 No change in behavior, no new tests. 27420 27421 * rendering/RenderBlock.h: 27422 (WebCore::RenderBlock::FloatWithRect::FloatWithRect): 27423 * rendering/RenderBlockLineLayout.cpp: 27424 (WebCore::RenderBlock::layoutReplacedElements): 27425 (WebCore::RenderBlock::createLineBoxesForResolver): 27426 (WebCore::RenderBlock::layoutRunsAndFloats): 27427 (WebCore::RenderBlock::layoutInlineChildren): 27428 27429 2010-04-02 Evan Stade <estade (a] chromium.org> 27430 27431 Reviewed by Eric Seidel. 27432 27433 [chromium] need DragImage implementation 27434 https://bugs.webkit.org/show_bug.cgi?id=35811 27435 27436 Basic implementation using SkBitmap. Transformations are not supported 27437 yet. No implementation for mac. 27438 27439 * WebCore.gyp/WebCore.gyp: 27440 * WebCore.gypi: 27441 * platform/chromium/DragImageChromium.cpp: 27442 * platform/chromium/DragImageRef.h: 27443 27444 2010-04-02 Evan Martin <evan (a] chromium.org> 27445 27446 Reviewed by Eric Seidel. 27447 27448 [chromium] font fallback for generic fonts picks wrong font 27449 https://bugs.webkit.org/show_bug.cgi?id=37033 27450 27451 When a page specifies the generic "monospace" font and the user's 27452 browser-configured monospace font doesn't exist, we previously relied 27453 on getLastResortFallbackFont to eventually pick a monospace font for us. 27454 27455 But that doesn't quite work: WebKit first falls back to the user's 27456 "preferred standard font" before hitting the last resort code path. 27457 So if the above conditions hold but this font exists, we'll end up 27458 never hitting the last resort codepath. 27459 27460 The fix is to allow OS-level font fallback when first attempting to 27461 resolve monospace. The existing code tried to do this, but the logic 27462 was wrong. We would eventually fall back to the correct font anyway 27463 so we didn't notice the logic was wrong. 27464 27465 This code is all handling cases where particular fonts aren't installed, 27466 so I can't think of a way to test it; existing tests should still pass. 27467 27468 * platform/graphics/chromium/FontCacheLinux.cpp: 27469 (WebCore::FontCache::createFontPlatformData): 27470 27471 2010-04-02 Andrew Scherkus <scherkus (a] chromium.org> 27472 27473 Reviewed by Eric Carlson and Eric Seidel. 27474 27475 Don't stop the playback event timer when media resource loading has suspended. 27476 https://bugs.webkit.org/show_bug.cgi?id=37003 27477 27478 When a user agent decides to suspend media resource loading and enters the 27479 NETWORK_IDLE state we are supposed to only stop the progress event timer but 27480 keep the playback timer running. 27481 27482 Test: http/tests/media/video-play-suspend.html 27483 27484 * html/HTMLMediaElement.cpp: 27485 (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer. 27486 27487 2010-04-02 Darin Adler <darin (a] apple.com> 27488 27489 Fix mispelling that broke the build. 27490 27491 * html/canvas/CanvasRenderingContext2D.cpp: 27492 * html/canvas/CanvasRenderingContext2D.h: 27493 Dashbard -> Dashboard. 27494 27495 2010-04-02 David Levin <levin (a] chromium.org> 27496 27497 Reviewed by Darin Adler. 27498 27499 (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface. 27500 https://bugs.webkit.org/show_bug.cgi?id=36906 27501 27502 * dom/CanvasSurface.cpp: Added methods for items that depended on 27503 CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage 27504 can be dealt with in one place. 27505 (WebCore::CanvasSurface::securityOrigin): Only used by methods that are 27506 only run in the document context. 27507 (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context. 27508 (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for 27509 the worker context. 27510 (WebCore::CanvasSurface::styleSelector): Ditto. 27511 * dom/CanvasSurface.h: 27512 * html/HTMLCanvasElement.cpp: 27513 (WebCore::HTMLCanvasElement::getContext): Passing in information into 27514 the CanvasRenderingContext2D constructor to eliminate some uses of document 27515 inside of the CanvasRenderingContext2D class. 27516 * html/HTMLCanvasElement.h: 27517 (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the 27518 two parent class versions of the method. 27519 (WebCore::HTMLCanvasElement::computedStyle): Ditto. 27520 * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about 27521 removing document usage either by using a bool that is set in the constructor or 27522 by calling one of the new methods added to CanvasSurface. 27523 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): 27524 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): 27525 (WebCore::CanvasRenderingContext2D::checkOrigin): 27526 (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): 27527 (WebCore::CanvasRenderingContext2D::createPattern): 27528 (WebCore::CanvasRenderingContext2D::setFont): 27529 (WebCore::CanvasRenderingContext2D::drawTextInternal): 27530 * html/canvas/CanvasRenderingContext2D.h: 27531 * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes. 27532 (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox 27533 as it may become slightly more expensive in the future. 27534 (WebCore::WebGLRenderingContext::reshape): Ditto. 27535 27536 2010-04-02 Zhenyao Mo <zmo (a] google.com> 27537 27538 Reviewed by Eric Seidel. 27539 27540 Implement and test new framebuffer object attachment behavior. 27541 https://bugs.webkit.org/show_bug.cgi?id=35611 27542 27543 Test: fast/canvas/webgl/framebuffer-object-attachment.html 27544 27545 * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer. 27546 (WebCore::WebGLFramebuffer::WebGLFramebuffer): 27547 (WebCore::WebGLFramebuffer::setIsAttached): 27548 * html/canvas/WebGLFramebuffer.h: Ditto. 27549 (WebCore::WebGLFramebuffer::isDepthAttached): 27550 (WebCore::WebGLFramebuffer::isStencilAttached): 27551 (WebCore::WebGLFramebuffer::isDepthStencilAttached): 27552 * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat. 27553 (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): 27554 * html/canvas/WebGLRenderbuffer.h: Ditto. 27555 (WebCore::WebGLRenderbuffer::setInternalformat): 27556 (WebCore::WebGLRenderbuffer::getInternalformat): 27557 * html/canvas/WebGLRenderingContext.cpp: 27558 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts. 27559 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case. 27560 (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat. 27561 (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums. 27562 * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums. 27563 * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums. 27564 (WebCore::GraphicsContext3D::): 27565 * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format. 27566 (WebCore::GraphicsContext3D::framebufferRenderbuffer): 27567 (WebCore::GraphicsContext3D::renderbufferStorage): 27568 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): 27569 27570 2010-04-02 Kent Tamura <tkent (a] chromium.org> 27571 27572 Reviewed by Darin Adler. 27573 27574 Form control state shouldn't be restored for hidden inputs. 27575 https://bugs.webkit.org/show_bug.cgi?id=26241 27576 27577 To fix this issue, we don't save values if it is not changed from 27578 the default value. 27579 27580 Updating the value IDL attribute of some controls such as 27581 type=hidden also updates the value content attribute, and it's 27582 impossible to distinguish the initial value and the current 27583 value. The values of such controls are not saved. It won't be a 27584 problem because we want to save and restore user-edited values. 27585 27586 Test: fast/forms/state-restore-to-non-edited-controls.html 27587 27588 * html/HTMLInputElement.cpp: 27589 (WebCore::HTMLInputElement::saveFormControlState): 27590 Do not save the value if it is same as the default value. 27591 * html/HTMLTextAreaElement.cpp: 27592 (WebCore::HTMLTextAreaElement::saveFormControlState): ditto. 27593 27594 2010-04-02 Kent Tamura <tkent (a] chromium.org> 27595 27596 Reviewed by Darin Adler. 27597 27598 Forms with autocomplete=off should not consume saved state 27599 https://bugs.webkit.org/show_bug.cgi?id=36762 27600 27601 Introduce Element::shouldSaveAndRestoreFormControlState() to check 27602 if we should save and restore control state. 27603 27604 Test: fast/forms/state-restore-to-non-autocomplete-form.html 27605 27606 * dom/Document.cpp: 27607 (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState(). 27608 * dom/Element.h: 27609 (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true. 27610 * html/HTMLFormControlElement.cpp: 27611 (WebCore::HTMLFormControlElementWithState::autoComplete): 27612 Added. It return autocomplete state of the form. 27613 (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState): 27614 Added. It returns the result of autoComplete(). 27615 (WebCore::HTMLFormControlElementWithState::finishParsingChildren): 27616 Do not restore state if shouldSaveAndRestoreFormControlState() is false. 27617 * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods. 27618 * html/HTMLInputElement.cpp: 27619 (WebCore::HTMLInputElement::autoComplete): 27620 Reduce code by using autoComplete() of the parent class. 27621 (WebCore::HTMLInputElement::saveFormControlState): 27622 Remove the autoComplete() check. Document::formElementsState() does equivalent check. 27623 27624 2010-04-02 Simon Fraser <simon.fraser (a] apple.com> 27625 27626 Reviewed by Darin Adler. 27627 27628 Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/ 27629 https://bugs.webkit.org/show_bug.cgi?id=36978 27630 27631 When we update compositing layers (which can happen on scrolling, when there are fixed position elements 27632 on the page), we can end up redundantly setting images as layer contents if we have to color-correct 27633 the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image 27634 every time. 27635 27636 Avoid this by storing a reference to the original uncorrected image, which is used to then 27637 avoid work if the image does not change. 27638 27639 * platform/graphics/mac/GraphicsLayerCA.h: 27640 * platform/graphics/mac/GraphicsLayerCA.mm: 27641 (WebCore::GraphicsLayerCA::setContentsToImage): 27642 27643 2010-04-02 Simon Fraser <simon.fraser (a] apple.com> 27644 27645 Reviewed by Darin Adler. 27646 27647 Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements 27648 https://bugs.webkit.org/show_bug.cgi?id=36994 27649 27650 r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can 27651 use this to avoid updating widget positions, and compositing layer positions when possible. 27652 27653 * page/FrameView.cpp: 27654 (WebCore::FrameView::scrollPositionChanged): 27655 * page/FrameView.h: 27656 (WebCore::FrameView::hasFixedObjects): 27657 27658 2010-04-02 Nate Chapin <japhet (a] chromium.org> 27659 27660 Rubber-stamped by Dimitri Glazkov. 27661 27662 http://trac.webkit.org/changeset/57004 caused 27663 fast/dom/console-log-stack-overflow.html to fail for Chromium. 27664 Add check for empty wrappers before using them to create a hidden reference. 27665 27666 * bindings/scripts/CodeGeneratorV8.pm: 27667 27668 2010-04-01 Nate Chapin <japhet (a] chromium.org> 27669 27670 Reviewed by Dimitri Glazkov. 27671 27672 [V8] Generalize (and generate!) the creation of hidden references 27673 between JS wrappers. 27674 27675 https://bugs.webkit.org/show_bug.cgi?id=36777 27676 27677 * Android.v8bindings.mk: 27678 * WebCore.gypi: 27679 * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in 27680 attribute getters. 27681 * bindings/v8/V8DOMWrapper.cpp: 27682 (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference 27683 (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a 27684 hidden reference on a global object. 27685 (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs. 27686 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement. 27687 * bindings/v8/V8DOMWrapper.h: 27688 * bindings/v8/WrapperTypeInfo.h: 27689 * bindings/v8/custom/V8BarInfoCustom.cpp: Removed. 27690 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: 27691 (WebCore::toV8): 27692 * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed. 27693 * bindings/v8/custom/V8HistoryCustom.cpp: 27694 * bindings/v8/custom/V8LocationCustom.cpp: 27695 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 27696 (WebCore::V8MessageChannel::constructorCallback): 27697 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 27698 (WebCore::toV8): 27699 * bindings/v8/custom/V8NavigatorCustom.cpp: Removed. 27700 * bindings/v8/custom/V8ScreenCustom.cpp: Removed. 27701 * bindings/v8/custom/V8StyleSheetCustom.cpp: 27702 (WebCore::toV8): 27703 * loader/appcache/DOMApplicationCache.h: 27704 (WebCore::DOMApplicationCache::frame): Add frame() accessor. 27705 27706 27707 2010-04-01 Pavel Feldman <pfeldman (a] chromium.org> 27708 27709 Reviewed by Timothy Hatcher. 27710 27711 Web Inspector: start editing DOM and styles on click-and-pause. 27712 27713 https://bugs.webkit.org/show_bug.cgi?id=36965 27714 27715 * inspector/front-end/ElementsTreeOutline.js: 27716 (WebInspector.ElementsTreeElement.prototype.onattach): 27717 (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown): 27718 (WebInspector.ElementsTreeElement.prototype.ondblclick): 27719 (WebInspector.ElementsTreeElement.prototype._handleClickAndPause): 27720 (WebInspector.ElementsTreeElement.prototype._startEditingTarget): 27721 (WebInspector.ElementsTreeElement.prototype._startEditingAttribute): 27722 (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): 27723 (WebInspector.ElementsTreeElement.prototype._startEditingTagName): 27724 (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): 27725 * inspector/front-end/StylesSidebarPane.js: 27726 (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick): 27727 (WebInspector.StylePropertiesSection.prototype._handleSelectorClick): 27728 (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause): 27729 (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick): 27730 (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent): 27731 (WebInspector.StylePropertyTreeElement.prototype.onattach): 27732 (WebInspector.StylePropertyTreeElement.prototype): 27733 * inspector/front-end/inspector.css: 27734 * inspector/front-end/inspector.js: 27735 * inspector/front-end/treeoutline.js: 27736 (TreeElement.prototype._attach): 27737 (TreeElement.treeElementMouseDown): 27738 (TreeElement.prototype.selectOnMouseDown): 27739 27740 2010-04-02 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 27741 27742 Unreviewed build fix when building --no-svg. 27743 27744 Build fix after r56941. Add ENABLE(SVG) guard. 27745 27746 * rendering/RenderLayer.cpp: 27747 (WebCore::RenderLayer::updateLayerPositions): 27748 27749 2010-04-02 Yury Semikhatsky <yurys (a] chromium.org> 27750 27751 Reviewed by Pavel Feldman. 27752 27753 Implement InspectorFrontendHost::showContextMenu for Chromium. 27754 27755 Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent. 27756 27757 https://bugs.webkit.org/show_bug.cgi?id=36817 27758 27759 * WebCore.Inspector.exp: 27760 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 27761 (WebCore::V8InspectorFrontendHost::showContextMenuCallback): 27762 * inspector/InspectorFrontendClient.h: 27763 * inspector/InspectorFrontendClientLocal.cpp: 27764 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): 27765 (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal): 27766 (WebCore::InspectorFrontendClientLocal::windowObjectCleared): 27767 * inspector/InspectorFrontendClientLocal.h: 27768 * inspector/InspectorFrontendHost.cpp: 27769 (WebCore::FrontendMenuProvider::create): 27770 (WebCore::FrontendMenuProvider::disconnect): 27771 (WebCore::FrontendMenuProvider::FrontendMenuProvider): 27772 (WebCore::FrontendMenuProvider::~FrontendMenuProvider): 27773 (WebCore::FrontendMenuProvider::populateContextMenu): 27774 (WebCore::FrontendMenuProvider::contextMenuItemSelected): 27775 (WebCore::FrontendMenuProvider::contextMenuCleared): 27776 (WebCore::InspectorFrontendHost::InspectorFrontendHost): 27777 (WebCore::InspectorFrontendHost::disconnectClient): 27778 (WebCore::InspectorFrontendHost::showContextMenu): 27779 * inspector/InspectorFrontendHost.h: 27780 (WebCore::InspectorFrontendHost::create): 27781 27782 2010-04-02 Ilya Tikhonovsky <loislo (a] chromium.org> 27783 27784 Reviewed by Pavel Feldman. 27785 27786 WebInspector: Timeline Overview pane should support short records filtering. 27787 https://bugs.webkit.org/show_bug.cgi?id=37020 27788 27789 * English.lproj/localizedStrings.js: 27790 * inspector/front-end/TimelineOverviewPane.js: 27791 (WebInspector.TimelineOverviewPane.prototype.update.markTimeline): 27792 (WebInspector.TimelineOverviewPane.prototype.update): 27793 * inspector/front-end/TimelinePanel.js: 27794 (WebInspector.TimelinePanel): 27795 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 27796 (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked): 27797 (WebInspector.TimelinePanel.prototype._refresh): 27798 (WebInspector.TimelinePanel.prototype._addToRecordsWindow): 27799 (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong): 27800 27801 2010-04-02 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 27802 27803 Reviewed by Eric Seidel. 27804 27805 Accept XHTML-MP content type as XHTML content 27806 https://bugs.webkit.org/show_bug.cgi?id=34262 27807 27808 Enable processing XHTML-MP mime type as an XHTML document 27809 even if XHTML-MP support is not enabled. 27810 27811 * platform/MIMETypeRegistry.cpp: 27812 (WebCore::initializeSupportedNonImageMimeTypes): 27813 27814 2010-04-02 Adam Barth <abarth (a] webkit.org> 27815 27816 Reviewed by Daniel Bates. 27817 27818 Make XSSAuditor go fast with large POST data 27819 https://bugs.webkit.org/show_bug.cgi?id=36694 27820 27821 There were two things slowing down this bechmark: 27822 27823 1) Searching the large POST data for each inline event handler. To 27824 make this faster, we now use a suffix tree to fast-reject strings 27825 that don't appear as substrings of the POST data. 27826 27827 2) The next largest cost was flattening the form data into a string. 27828 To make this fater, we now use the form data object itself as a key 27829 and only flatten once. 27830 27831 * GNUmakefile.am: 27832 * WebCore.gypi: 27833 * WebCore.vcproj/WebCore.vcproj: 27834 * WebCore.xcodeproj/project.pbxproj: 27835 * page/XSSAuditor.cpp: 27836 (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): 27837 (WebCore::XSSAuditor::CachingURLCanonicalizer::clear): 27838 (WebCore::XSSAuditor::XSSAuditor): 27839 (WebCore::XSSAuditor::findInRequest): 27840 * page/XSSAuditor.h: 27841 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): 27842 (WebCore::XSSAuditor::CachingURLCanonicalizer::generation): 27843 * platform/text/SuffixTree.h: Added. 27844 (WebCore::UnicodeCodebook::codeWord): 27845 (WebCore::UnicodeCodebook::): 27846 (WebCore::ASCIICodebook::codeWord): 27847 (WebCore::ASCIICodebook::): 27848 (WebCore::SuffixTree::SuffixTree): 27849 (WebCore::SuffixTree::mightContain): 27850 (WebCore::SuffixTree::Node::Node): 27851 (WebCore::SuffixTree::Node::~Node): 27852 (WebCore::SuffixTree::Node::at): 27853 (WebCore::SuffixTree::build): 27854 27855 2010-04-02 Roland Steiner <rolandsteiner (a] chromium.org> 27856 27857 Reviewed by Eric Seidel. 27858 27859 Bug 36741 - Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate() 27860 https://bugs.webkit.org/show_bug.cgi?id=36741 27861 27862 Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version. 27863 Update PositionIterator::isCandidate() to mirror Position::isCandidate(). 27864 27865 Rationale: PositionIterator::isCandidate() is called in a tight loop within 27866 next/previousCandidate(). Also, creation of a PositionIterator from a Position 27867 is cheaper than vice-versa. 27868 27869 Tests: ran all tests in 'editing'. 27870 27871 * dom/Position.cpp: 27872 (WebCore::Position::isCandidate): 27873 * dom/PositionIterator.cpp: 27874 (WebCore::PositionIterator::isCandidate): 27875 27876 2010-04-02 Steve Falkenburg <sfalken (a] apple.com> 27877 27878 Reviewed by Dan Bernstein. 27879 27880 Database code falsely returns errors due to errant pointer check 27881 https://bugs.webkit.org/show_bug.cgi?id=37014 27882 27883 r56943 introduced a check to see if there were any unprocessed 27884 SQL commands after calling sqlite3_prepare16_v2. 27885 27886 Accessing the remaining data via pointer wasn't possible since 27887 the query string is deallocated immediately after the 27888 query runs. The String returned from strippedWhiteSpace 27889 goes out of scope at that point. 27890 27891 Fix is to store the strippedWhiteSpace in a temporary String 27892 so we can access it via character ptr later in the function. 27893 27894 * platform/sql/SQLiteStatement.cpp: 27895 (WebCore::SQLiteStatement::prepare): 27896 27897 2010-04-01 MORITA Hajime <morrita (a] google.com> 27898 27899 Reviewed by Darin Adler. 27900 27901 setting document.title doesn't change document.title value 27902 https://bugs.webkit.org/show_bug.cgi?id=36802 27903 27904 An entity of "value" argument on HTMLTitleElement::setTitle() could be 27905 Document::m_title and be changed during HTMLTitleElement::setText(). 27906 Fix copying the argument to keep the original value. 27907 27908 Test: fast/dom/Document/title-with-multiple-children.html 27909 27910 * html/HTMLTitleElement.cpp: 27911 (WebCore::HTMLTitleElement::setText): 27912 27913 2010-04-01 Luiz Agostini <luiz.agostini (a] openbossa.org> 27914 27915 Reviewed by Kenneth Rohde Christiansen. 27916 27917 [Qt] Maemo5 theme - <select multiple> custom rendering 27918 https://bugs.webkit.org/show_bug.cgi?id=36369 27919 27920 Customizing rendering of <select multiple> elements in Maemo5. 27921 27922 * platform/qt/Maemo5Webstyle.cpp: 27923 (Maemo5WebStyle::drawMultipleComboButton): 27924 (Maemo5WebStyle::drawSimpleComboButton): 27925 (Maemo5WebStyle::getButtonImageSize): 27926 (Maemo5WebStyle::findComboButton): 27927 (Maemo5WebStyle::drawComplexControl): 27928 * platform/qt/Maemo5Webstyle.h: 27929 27930 2010-04-01 Kinuko Yasuda <kinuko (a] chromium.org> 27931 27932 Reviewed by Dmitry Titov. 27933 27934 Add FileThread for async file operation support in FileReader and FileWriter 27935 https://bugs.webkit.org/show_bug.cgi?id=36896 27936 27937 Add FileThread for async file operation support for FileReader and 27938 FileWriter. The patch also adds ENABLE_FILE_READER or 27939 ENABLE_FILE_WRITER build flags/defines. Both flags are disabled 27940 by default. 27941 27942 No new tests, will add ones when after adding modules which use the thread. 27943 27944 * Configurations/FeatureDefines.xcconfig: 27945 * GNUmakefile.am: 27946 * WebCore.gypi: 27947 * WebCore.pro: 27948 * WebCore.vcproj/WebCore.vcproj: 27949 * WebCore.xcodeproj/project.pbxproj: 27950 * dom/ScriptExecutionContext.cpp: 27951 (WebCore::ScriptExecutionContext::~ScriptExecutionContext): 27952 (WebCore::ScriptExecutionContext::fileThread): 27953 * dom/ScriptExecutionContext.h: 27954 * html/FileThread.cpp: Added. 27955 (WebCore::FileThread::FileThread): 27956 (WebCore::FileThread::~FileThread): 27957 (WebCore::FileThread::start): 27958 (WebCore::FileThread::stop): 27959 (WebCore::FileThread::postTask): 27960 (WebCore::SameFilePredicate::SameFilePredicate): 27961 (WebCore::SameFilePredicate::operator()): 27962 (WebCore::FileThread::removeTask): 27963 (WebCore::FileThread::fileThreadStart): 27964 (WebCore::FileThread::runLoop): 27965 * html/FileThread.h: Added. 27966 (WebCore::FileThread::create): 27967 (WebCore::FileThread::Task::Task): 27968 (WebCore::FileThread::Task::~Task): 27969 (WebCore::FileThread::Task::fileHandle): 27970 * platform/Logging.cpp: 27971 (WebCore::): 27972 (WebCore::getChannelFromName): 27973 * platform/Logging.h: 27974 27975 2010-04-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 27976 27977 Unreviewed. Rollout of http://trac.webkit.org/changeset/56930 27978 https://bugs.webkit.org/show_bug.cgi?id=36977 27979 27980 * accessibility/AccessibilityImageMapLink.cpp: 27981 (WebCore::AccessibilityImageMapLink::accessibilityDescription): 27982 27983 2010-04-01 MORITA Hajime <morrita (a] google.com> 27984 27985 Reviewed by Darin Adler. 27986 27987 WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer 27988 https://bugs.webkit.org/show_bug.cgi?id=31680 27989 Ownerless nodes leads a crash on DOMSelection APIs 27990 https://bugs.webkit.org/show_bug.cgi?id=36800 27991 27992 Added guards nodes from foreign documents to DOMSelection APIs. 27993 27994 Tests: editing/selection/DOMSelection-DocumentType.html 27995 editing/selection/DOMSelection-crossing-document.html 27996 27997 * editing/VisiblePosition.cpp: 27998 (WebCore::VisiblePosition::canonicalPosition): 27999 * page/DOMSelection.cpp: 28000 (WebCore::DOMSelection::collapse): 28001 (WebCore::DOMSelection::setBaseAndExtent): 28002 (WebCore::DOMSelection::setPosition): 28003 (WebCore::DOMSelection::extend): 28004 (WebCore::DOMSelection::containsNode): 28005 (WebCore::DOMSelection::isValidForPosition): 28006 * page/DOMSelection.h: 28007 28008 2010-04-01 Chris Evans <cevans (a] chromium.org> 28009 28010 Reviewed by Adam Barth. 28011 28012 Fix a NULL pointer crash if @import fails to load a stylesheet. 28013 28014 https://bugs.webkit.org/show_bug.cgi?id=36804 28015 28016 Test: fast/xsl/xslt-bad-import-uri.html 28017 28018 * xml/XSLStyleSheetLibxslt.cpp: 28019 (WebCore::XSLStyleSheet::parseString): 28020 Handle an empty string gracefully. An empty string has a NULL 28021 buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns 28022 NULL if it is passed a NULL buffer. 28023 In the top-level XSL case, the current code does not crash "by luck" 28024 because the other APIs used can handle a NULL argument. In the 28025 @import case, additional code runs which will deference the NULL. 28026 28027 2010-04-01 Alexey Proskuryakov <ap (a] apple.com> 28028 28029 Reviewed by Darin Adler. 28030 28031 https://bugs.webkit.org/show_bug.cgi?id=36854 28032 <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response 28033 is prepended to the actual response body 28034 28035 Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html 28036 http/tests/xmlhttprequest/access-control-response-with-body.html 28037 28038 * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData): 28039 Don't send data to the client when handling a preflight request. 28040 28041 2010-04-01 Ada Chan <adachan (a] apple.com> 28042 28043 Reviewed by Darin Adler. 28044 28045 Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin. 28046 Ditto for DatabaseTracker::deleteDatabase(). 28047 28048 https://bugs.webkit.org/show_bug.cgi?id=36988 28049 28050 * storage/DatabaseTracker.cpp: 28051 (WebCore::DatabaseTracker::deleteOrigin): 28052 (WebCore::DatabaseTracker::deleteDatabase): 28053 * storage/DatabaseTracker.h: 28054 28055 2010-04-01 Simon Fraser <simon.fraser (a] apple.com> 28056 28057 No review. 28058 28059 Remove some casts that I indended to remove before committing r56948. 28060 28061 * rendering/RenderTreeAsText.cpp: 28062 (WebCore::writeRenderObject): 28063 (WebCore::write): 28064 28065 2010-04-01 Simon Fraser <simon.fraser (a] apple.com> 28066 28067 Reviewed by Darin Adler. 28068 28069 Assertion failure (willBeComposited == needsToBeComposited(layer)) in 28070 RenderLayerCompositor::computeCompositingRequirements() on hulu.com 28071 https://bugs.webkit.org/show_bug.cgi?id=36516 28072 28073 Fix assertions added in r56017. That changed replaced calls to needsToBeComposited() 28074 with use of the local 'willBeComposited' variable, but that fails to take into 28075 account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer(). 28076 28077 Fix by adding a canBeComposited() method that we call before testing 28078 whether the layer should go into compositing mode. 28079 28080 Test: compositing/self-painting-layers2.html 28081 28082 * rendering/RenderLayerCompositor.cpp: 28083 (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer() 28084 with a call to canBeComposited(). 28085 (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure 28086 that we only toggle 'willBeComposited' for layers that can. 28087 (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited(). 28088 (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether 28089 the layer is self-painting. 28090 * rendering/RenderLayerCompositor.h: Add canBeComposited(). 28091 28092 2010-04-01 Simon Fraser <simon.fraser (a] apple.com> 28093 28094 Reviewed by Darin Adler. 28095 28096 https://bugs.webkit.org/show_bug.cgi?id=36980 28097 Add object addresses to debug showLayerTree() output. 28098 28099 Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree() 28100 output. 28101 28102 * platform/text/TextStream.cpp: 28103 (WebCore::TextStream::operator<<): 28104 * platform/text/TextStream.h: 28105 * rendering/RenderLayer.cpp: 28106 (showLayerTree): 28107 * rendering/RenderTreeAsText.cpp: 28108 (WebCore::writeRenderObject): 28109 (WebCore::write): 28110 * rendering/RenderTreeAsText.h: 28111 28112 2010-03-29 Dumitru Daniliuc <dumi (a] chromium.org> 28113 28114 Reviewed by Dimitri Glazkov. 28115 28116 Changing SQLiteStatement::prepare() to return an error when it's 28117 given a string that has more than one statement in it. Currently, 28118 everything past the first statement is silently ignored. 28119 28120 Test: storage/executesql-accepts-only-one-statement.html 28121 28122 * platform/sql/SQLiteStatement.cpp: 28123 (WebCore::SQLiteStatement::prepare): 28124 28125 2010-04-01 James Robinson <jamesr (a] chromium.org> 28126 28127 Reviewed by Simon Fraser. 28128 28129 Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions 28130 https://bugs.webkit.org/show_bug.cgi?id=33520 28131 28132 RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each. 28133 These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk 28134 up to the repaint container. This patch keeps track of the offset to the root and uses that offset instead of walking back up to 28135 the root every time. 28136 28137 Tests: fast/layers/nested-layers-1.html 28138 fast/layers/nested-layers-2.html 28139 fast/layers/nested-layers-3.html 28140 fast/layers/nested-layers-4.html 28141 28142 * page/FrameView.cpp: 28143 (WebCore::FrameView::layout): 28144 * rendering/RenderBox.cpp: 28145 (WebCore::RenderBox::outlineBoundsForRepaint): 28146 * rendering/RenderBox.h: 28147 * rendering/RenderLayer.cpp: 28148 (WebCore::RenderLayer::updateLayerPositions): 28149 * rendering/RenderLayer.h: 28150 * rendering/RenderObject.h: 28151 (WebCore::RenderObject::outlineBoundsForRepaint): 28152 * rendering/RenderSVGModelObject.cpp: 28153 (WebCore::RenderSVGModelObject::outlineBoundsForRepaint): 28154 * rendering/RenderSVGModelObject.h: 28155 28156 2010-04-01 Daniel Bates <dbates (a] rim.com> 28157 28158 Reviewed by Darin Adler. 28159 28160 https://bugs.webkit.org/show_bug.cgi?id=36901 28161 28162 Removed functions Range::operator == and Range::operator != as they 28163 were using C++ code that was not sound and hence may have undefined 28164 behavior. 28165 28166 Test case: manual-tests/crash-on-find-with-no-selection.html 28167 28168 * dom/Range.cpp: 28169 (WebCore::areRangesEqual): Added. 28170 * dom/Range.h: 28171 * editing/markup.cpp: 28172 (WebCore::createMarkup): Modified to call WebCore::areRangesEqual. 28173 * manual-tests/crash-on-find-with-no-selection.html: Added. 28174 * page/Frame.cpp: 28175 (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual. 28176 28177 2010-04-01 Geoffrey Garen <ggaren (a] apple.com> 28178 28179 Reviewed by Sam Weinig. 28180 28181 Synchronous rendering when setting form control values slows down JavaScript 28182 https://bugs.webkit.org/show_bug.cgi?id=36967 28183 28184 This patch basically reverts http://trac.webkit.org/changeset/19006. 28185 28186 Dan asked me to investigate why 19006 is no longer needed. I have two answers: 28187 28188 (1) I was also able to remove the synchronous call to updateFromElement(). 28189 That call was the proximate cause of the crash that 19006 fixed. 28190 28191 (2) updateFromElement() no longer calls HTMLElement::setInnerText() 28192 in the way that it used to. (However, it doesn't seem prudent to 28193 rely on this happy coincidence.) 28194 28195 * html/HTMLInputElement.cpp: 28196 (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved 28197 setNeedsValidityCheck() outside of individual 'if' clauses, since they all 28198 called it. 28199 28200 Removed call to updateStyleIfNeeded(), which does rendering synchronously, 28201 since that was the performance problem. (setNeedsStyleRecalc() ensures 28202 that rendering will happen asynchronously.) Also removed comment about 28203 ordering dangers introduced by updateStyleIfNeeded(). 28204 28205 Removed call to updateFromElement(), since it's dangerous and also a minor 28206 performance problem. (setNeedsStyleRecalc() ensures that updateFromElement() 28207 will happen asynchronously, too.) 28208 28209 * html/HTMLTextAreaElement.cpp: 28210 (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to 28211 add a call to setNeedsStyleRecalc(), since there wasn't one before. 28212 28213 2010-04-01 Ilya Tikhonovsky <loislo (a] chromium.org> 28214 28215 Reviewed by Pavel Feldman. 28216 28217 Web Inspector: Sometimes js code can detach page from it's frame and in that case 28218 Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will 28219 appear at frontend. 28220 https://bugs.webkit.org/show_bug.cgi?id=36890 28221 28222 * bindings/v8/V8Proxy.cpp: 28223 (WebCore::V8Proxy::callFunction): 28224 * dom/Node.cpp: 28225 (WebCore::Node::dispatchGenericEvent): 28226 * page/DOMWindow.cpp: 28227 (WebCore::DOMWindow::dispatchEvent): 28228 28229 2010-04-01 Chris Fleizach <cfleizach (a] apple.com> 28230 28231 Reviewed by Beth Dakin. 28232 28233 Bug 36977 - aria-label doesn't work on image map area 28234 https://bugs.webkit.org/show_bug.cgi?id=36977 28235 28236 Test: platform/mac/accessibility/area-with-aria-label.html 28237 28238 * accessibility/AccessibilityImageMapLink.cpp: 28239 (WebCore::AccessibilityImageMapLink::accessibilityDescription): 28240 28241 2010-04-01 Simon Fraser <simon.fraser (a] apple.com> 28242 28243 Reviewed by Dan Bernstein. 28244 28245 Assertion failure: !repaintContainer || repaintContainer == this 28246 https://bugs.webkit.org/show_bug.cgi?id=36672 28247 28248 RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock() 28249 to get the renderer to use for computing the repaint rect. However, the renderer returned 28250 by containingBlock() may be an ancestor of the repaintContainer, and containingBlock() 28251 doesn't have the 'repaintContainerSkipped' logic that container() has. 28252 28253 So in this case, check to see whether repaintContainer is actually a descendant of the 28254 containing block, and in that case just repaint the entire repaintContainer. 28255 28256 Test: compositing/repaint/inline-repaint-container.html 28257 28258 * rendering/RenderText.cpp: 28259 (WebCore::RenderText::clippedOverflowRectForRepaint): 28260 28261 2010-04-01 Csaba Osztrogonc <ossy (a] webkit.org> 28262 28263 Reviewed by Jian Li. 28264 28265 [Qt] REGRESSION(r56869): Windows build is broken 28266 https://bugs.webkit.org/show_bug.cgi?id=36929 28267 28268 * WebCore.pro: LIBS += -lOle32 added. 28269 * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before. 28270 28271 2010-04-01 Chris Fleizach <cfleizach (a] apple.com> 28272 28273 Reviewed by Beth Dakin. 28274 28275 Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const 28276 https://bugs.webkit.org/show_bug.cgi?id=36968 28277 28278 Test: accessibility/crash-with-noelement-selectbox.html 28279 28280 When a <select> element had no options, the selectedIndex == -1 and that was being 28281 used to index into an empty array. 28282 28283 * accessibility/AccessibilityRenderObject.cpp: 28284 (WebCore::AccessibilityRenderObject::stringValue): 28285 28286 2010-04-01 MORITA Hajime <morrita (a] google.com> 28287 28288 Reviewed by Shinichiro Hamaji. 28289 28290 https://bugs.webkit.org/show_bug.cgi?id=36948 28291 Refactoring: Position::primaryDirection() should be extracted. 28292 28293 No new tests. No functinal change. 28294 28295 * dom/Position.cpp: 28296 (WebCore::Position::getInlineBoxAndOffset): 28297 (WebCore::Position::primaryDirection): Added 28298 * dom/Position.h: 28299 * editing/VisiblePosition.cpp: 28300 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 28301 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 28302 28303 2010-04-01 Alexander Pavlov <apavlov (a] chromium.org> 28304 28305 Reviewed by Pavel Feldman. 28306 28307 Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule 28308 https://bugs.webkit.org/show_bug.cgi?id=36952 28309 28310 * inspector/front-end/AuditRules.js: 28311 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): 28312 28313 2010-03-31 Jeremy Orlow <jorlow (a] chromium.org> 28314 28315 Reviewed by Nate Chapin. 28316 28317 Misc IndexedDatabase cleanup 28318 https://bugs.webkit.org/show_bug.cgi?id=36889 28319 28320 No functional changes. 28321 28322 * bindings/v8/custom/V8CustomIDBCallbacks.h: 28323 (WebCore::V8CustomIDBCallbacks::onSuccess): 28324 (WebCore::V8CustomIDBCallbacks::onError): 28325 (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks): 28326 Get rid of 2 largely redundant bools 28327 28328 * storage/IndexedDatabase.h: 28329 * storage/IndexedDatabaseImpl.cpp: 28330 (WebCore::IndexedDatabaseImpl::open): 28331 * storage/IndexedDatabaseImpl.h: 28332 * storage/IndexedDatabaseRequest.cpp: 28333 (WebCore::IndexedDatabaseRequest::open): 28334 * storage/IndexedDatabaseRequest.h: 28335 Plumb the Frame* and style cleanups. 28336 28337 2010-03-31 Nikolas Zimmermann <nzimmermann (a] rim.com> 28338 28339 Reviewed by Dirk Schulze. 28340 28341 REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix. 28342 https://bugs.webkit.org/show_bug.cgi?id=27183 28343 28344 Rewrite getCTM() / getScreenCTM() handling in an iterative way, fixing all known problems/limitations. 28345 The bug mentioned above is actually not a regression, getScreenCTM() only worked before, because we 28346 did not handle non-SVG CSS box parents properly. When support was added to handle those cases, the 28347 getScreenCTM() handling was completly off, causing a lot of trouble in real-life SVG applications (carto.net for instance) 28348 28349 Tests: svg/custom/svgsvgelement-ctm.xhtml (fixed typo, missing unit identifier in CSS 'height' property, leading to incorrect results) 28350 svg/custom/svgsvgelement-ctm2.xhtml 28351 svg/custom/svgsvgelement-ctm3.xhtml 28352 svg/custom/svgsvgelement-ctm4.xhtml 28353 svg/custom/svgsvgelement-ctm5.xhtml 28354 28355 * svg/SVGLocatable.cpp: 28356 (WebCore::SVGLocatable::getBBox): 28357 (WebCore::SVGLocatable::computeCTM): 28358 * svg/SVGLocatable.h: 28359 (WebCore::SVGLocatable::localCoordinateSpaceTransform): 28360 * svg/SVGSVGElement.cpp: 28361 (WebCore::SVGSVGElement::localCoordinateSpaceTransform): 28362 (WebCore::SVGSVGElement::createRenderer): 28363 * svg/SVGSVGElement.h: 28364 * svg/SVGStyledElement.cpp: 28365 (WebCore::SVGStyledElement::localCoordinateSpaceTransform): 28366 * svg/SVGStyledElement.h: 28367 * svg/SVGStyledLocatableElement.cpp: 28368 (WebCore::SVGStyledLocatableElement::getCTM): 28369 (WebCore::SVGStyledLocatableElement::getScreenCTM): 28370 * svg/SVGStyledLocatableElement.h: 28371 (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform): 28372 * svg/SVGStyledTransformableElement.cpp: 28373 (WebCore::SVGStyledTransformableElement::getCTM): 28374 (WebCore::SVGStyledTransformableElement::getScreenCTM): 28375 * svg/SVGStyledTransformableElement.h: 28376 (WebCore::SVGStyledTransformableElement::localCoordinateSpaceTransform): 28377 * svg/SVGTextElement.cpp: 28378 (WebCore::SVGTextElement::getCTM): 28379 (WebCore::SVGTextElement::getScreenCTM): 28380 * svg/SVGTextElement.h: 28381 (WebCore::SVGTextElement::localCoordinateSpaceTransform): 28382 * svg/SVGTransformable.cpp: 28383 (WebCore::SVGTransformable::SVGTransformable): 28384 * svg/SVGTransformable.h: 28385 (WebCore::SVGTransformable::localCoordinateSpaceTransform): 28386 28387 2010-04-01 Vitaly Repeshko <vitalyr (a] chromium.org> 28388 28389 Reviewed by Darin Fisher. 28390 28391 [V8] Quick fix for failure in SerializedScriptValue 28392 https://bugs.webkit.org/show_bug.cgi?id=36943 28393 28394 This allows the web worker layout tests to pass again. 28395 28396 * bindings/v8/SerializedScriptValue.h: 28397 (WebCore::SerializedScriptValue::deserializeAndSetProperty): 28398 28399 2010-03-31 MORITA Hajime <morrita (a] google.com> 28400 28401 Reviewed by Darin Adler. 28402 28403 Crash when writing into a detached TITLE element 28404 https://bugs.webkit.org/show_bug.cgi?id=25567 28405 28406 Document::setTitle() invoked HTMLTitleElement::setText(), which 28407 contains DOM tree modification, even when setTitle() is called 28408 from HTMLTitleElement::childrenChanged(). Fix to skip setText() 28409 when setTitle() is called childrenChanged() to avoid cascading 28410 DOM mutations between Document and HTMLTitleElement. 28411 28412 Test: fast/dom/title-content-write-set.html 28413 28414 * dom/Document.cpp: 28415 (WebCore::Document::setTitle): 28416 28417 2010-04-01 Roland Steiner <rolandsteiner (a] chromium.org> 28418 28419 Reviewed by Darin Adler. 28420 28421 Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support 28422 https://bugs.webkit.org/show_bug.cgi?id=36803 28423 28424 Don't use ruby rendering if the underlying 'display' property has been 28425 changed into a value other than 'inline' or 'block' (such as 'inline-table'). 28426 28427 Test: fast/ruby/ruby-inline-table.html 28428 28429 * rendering/RenderObject.cpp: 28430 (WebCore::RenderObject::createObject): 28431 28432 2010-03-31 Geoffrey Garen <ggaren (a] apple.com> 28433 28434 Reviewed by Darin Adler. 28435 28436 Crash submitting display:none textarea in a form 28437 https://bugs.webkit.org/show_bug.cgi?id=36905 28438 28439 Test: fast/forms/textarea-submit-crash.html 28440 28441 * html/HTMLTextAreaElement.cpp: 28442 (WebCore::HTMLTextAreaElement::appendFormData): Do update layout before 28443 asking our renderer for its text, since we can't rely on our renderer's 28444 text if layout is needed. 28445 28446 * rendering/RenderTextControl.cpp: 28447 (WebCore::RenderTextControl::textWithHardLineBreaks): Don't update layout 28448 while being asked for our text, since doing so may delete us, causing a crash. 28449 28450 2010-03-31 Chris Fleizach <cfleizach (a] apple.com> 28451 28452 Reviewed by Darin Adler. 28453 28454 Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit 28455 https://bugs.webkit.org/show_bug.cgi?id=36845 28456 28457 Provide a way through WebKit to set an accessible label that describes the web area. 28458 28459 Test: platform/mac/accessibility/html-with-aria-label.html 28460 28461 * accessibility/AccessibilityObject.h: 28462 (WebCore::AccessibilityObject::setAccessibleName): 28463 * accessibility/AccessibilityRenderObject.cpp: 28464 (WebCore::AccessibilityRenderObject::accessibilityDescription): 28465 (WebCore::AccessibilityRenderObject::setAccessibleName): 28466 * accessibility/AccessibilityRenderObject.h: 28467 28468 2010-03-31 Mark Rowe <mrowe (a] apple.com> 28469 28470 Reviewed by Darin Adler. 28471 28472 <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port" 28473 28474 * platform/KURL.cpp: 28475 (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with 28476 no port number before the path. This is handled in the same manner as the colon and port being omitted completely. 28477 28478 2010-03-31 Gavin Barraclough <barraclough (a] apple.com> 28479 28480 Reviewed by Oliver Hunt. 28481 28482 Remove dependency on TextBreakIterator from StringImpl.cpp, 28483 and from member methods of String. 28484 28485 Make 'numGraphemeClusters' & 'numCharactersInGraphemeClusters' 28486 global function defined in PlatformString.h, rather than 28487 member methods on String (these can be implemented purely 28488 using the characters() and length() public interface), 28489 and make 'makeCapitalized' a static function in RenderText.cpp. 28490 28491 * dom/InputElement.cpp: 28492 (WebCore::InputElement::sanitizeUserInputValue): 28493 (WebCore::InputElement::handleBeforeTextInsertedEvent): 28494 * html/HTMLInputElement.cpp: 28495 (WebCore::HTMLInputElement::tooLong): 28496 * html/HTMLTextAreaElement.cpp: 28497 (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): 28498 (WebCore::HTMLTextAreaElement::sanitizeUserInputValue): 28499 (WebCore::HTMLTextAreaElement::tooLong): 28500 * platform/text/PlatformString.h: 28501 (WebCore::String::makeSecure): 28502 * platform/text/String.cpp: 28503 (WebCore::numGraphemeClusters): 28504 (WebCore::numCharactersInGraphemeClusters): 28505 * platform/text/StringImpl.cpp: 28506 * platform/text/StringImpl.h: 28507 * rendering/RenderText.cpp: 28508 (WebCore::makeCapitalized): 28509 (WebCore::RenderText::setTextInternal): 28510 28511 2010-03-31 Vitaly Repeshko <vitalyr (a] chromium.org> 28512 28513 Reviewed by David Levin. 28514 28515 [V8] SerializedScriptValue must be deserialized only once and in the right context 28516 https://bugs.webkit.org/show_bug.cgi?id=36892 28517 28518 See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the 28519 corresponding JSC change. 28520 28521 General idea: SerializedScriptValue must be deserialized only once 28522 and in the context of the intended MessageEvent recepient. The 28523 approach we take for now is to eagerly deserialize when a 28524 JavaScript wrapper for MessageEvent is created. 28525 28526 A better fix would be to keep a reference to the context in 28527 MessageEvent and use it when lazily deserializing. It's harder to 28528 do since the API doesn't have a clean method to have such a reference. 28529 28530 Tested by fast/dom/Window/window-postmessage-clone-frames.html. This 28531 test still fails but only for the types which we can't serialize yet. 28532 28533 * bindings/scripts/CodeGeneratorV8.pm: 28534 * bindings/v8/SerializedScriptValue.h: 28535 (WebCore::SerializedScriptValue::deserializeAndSetProperty): 28536 * bindings/v8/custom/V8MessageEventCustom.cpp: 28537 (WebCore::V8MessageEvent::initMessageEventCallback): 28538 28539 2010-03-31 Adam Barth <abarth (a] webkit.org> 28540 28541 Reviewed by Darin Fisher. 28542 28543 Cleanup RedirectScheduler 28544 https://bugs.webkit.org/show_bug.cgi?id=36874 28545 28546 Removed the nutty ScheduledRedirection struct in favor of a hierarchy 28547 of classes to represent the various kinds of scheduled redirects. 28548 Doing this lets us get rid of the pseudo RTTI switch statements on 28549 "type" in favour of calling virtual functions. 28550 28551 No new tests because this change should be API identical with the 28552 existing RedirectScheduler. 28553 28554 * loader/RedirectScheduler.cpp: 28555 (WebCore::ScheduledNavigation::ScheduledNavigation): 28556 (WebCore::ScheduledNavigation::~ScheduledNavigation): 28557 (WebCore::ScheduledNavigation::isLocationChange): 28558 (WebCore::ScheduledNavigation::shouldStartTimer): 28559 (WebCore::ScheduledNavigation::didStartTimer): 28560 (WebCore::ScheduledNavigation::didStopTimer): 28561 (WebCore::ScheduledNavigation::delay): 28562 (WebCore::ScheduledNavigation::lockHistory): 28563 (WebCore::ScheduledNavigation::lockBackForwardList): 28564 (WebCore::ScheduledNavigation::wasDuringLoad): 28565 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): 28566 (WebCore::ScheduledURLNavigation::fire): 28567 (WebCore::ScheduledURLNavigation::didStartTimer): 28568 (WebCore::ScheduledURLNavigation::didStopTimer): 28569 (WebCore::ScheduledURLNavigation::url): 28570 (WebCore::ScheduledURLNavigation::referrer): 28571 (WebCore::ScheduledURLNavigation::wasUserGesture): 28572 (WebCore::ScheduledRedirect::ScheduledRedirect): 28573 (WebCore::ScheduledRedirect::isLocationChange): 28574 (WebCore::ScheduledRedirect::shouldStartTimer): 28575 (WebCore::ScheduledLocationChange::ScheduledLocationChange): 28576 (WebCore::ScheduledRefresh::ScheduledRefresh): 28577 (WebCore::ScheduledRefresh::fire): 28578 (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation): 28579 (WebCore::ScheduledHistoryNavigation::fire): 28580 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): 28581 (WebCore::ScheduledFormSubmission::fire): 28582 (WebCore::RedirectScheduler::redirectScheduledDuringLoad): 28583 (WebCore::RedirectScheduler::clear): 28584 (WebCore::RedirectScheduler::scheduleRedirect): 28585 (WebCore::RedirectScheduler::mustLockBackForwardList): 28586 (WebCore::RedirectScheduler::scheduleLocationChange): 28587 (WebCore::RedirectScheduler::scheduleFormSubmission): 28588 (WebCore::RedirectScheduler::scheduleRefresh): 28589 (WebCore::RedirectScheduler::locationChangePending): 28590 (WebCore::RedirectScheduler::scheduleHistoryNavigation): 28591 (WebCore::RedirectScheduler::timerFired): 28592 (WebCore::RedirectScheduler::schedule): 28593 (WebCore::RedirectScheduler::startTimer): 28594 (WebCore::RedirectScheduler::cancel): 28595 * loader/RedirectScheduler.h: 28596 28597 2010-03-31 Zhenyao Mo <zmo (a] google.com> 28598 28599 Reviewed by Darin Fisher. 28600 28601 Hook up WebGLContextAttributes to OpenGL context creation code 28602 https://bugs.webkit.org/show_bug.cgi?id=33416 28603 28604 Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html 28605 28606 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug. 28607 (WebCore::V8HTMLCanvasElement::getContextCallback): 28608 * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose. 28609 * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer. 28610 * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support. 28611 (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): 28612 * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac. 28613 (WebCore::GraphicsContext3D::GraphicsContext3D): 28614 (WebCore::GraphicsContext3D::~GraphicsContext3D): 28615 (WebCore::GraphicsContext3D::validateAttributes): 28616 (WebCore::GraphicsContext3D::reshape): 28617 (WebCore::GraphicsContext3D::prepareTexture): 28618 (WebCore::GraphicsContext3D::bindFramebuffer): 28619 (WebCore::GraphicsContext3D::readPixels): 28620 * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call. 28621 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): 28622 28623 2010-03-31 Jian Li <jianli (a] chromium.org> 28624 28625 Reviewed by Dmitry Titov. 28626 28627 Add support to create UUID string. 28628 https://bugs.webkit.org/show_bug.cgi?id=36472 28629 28630 * GNUmakefile.am: 28631 * WebCore.gypi: 28632 * WebCore.pro: 28633 * WebCore.vcproj/WebCore.vcproj: 28634 * WebCore.xcodeproj/project.pbxproj: 28635 * platform/UUID.cpp: Added. 28636 (WebCore::createCanonicalUUIDString): 28637 * platform/UUID.h: Added. 28638 28639 2010-03-31 Darin Adler <darin (a] apple.com> 28640 28641 * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings. 28642 28643 2010-03-31 Luiz Agostini <luiz.agostini (a] openbossa.org> 28644 28645 Reviewed by Kenneth Rohde Christiansen. 28646 28647 [Qt] Maemo5 theme - form controls style 28648 https://bugs.webkit.org/show_bug.cgi?id=36370 28649 28650 Adjusting Mameo5 form elements rendering. 28651 28652 * WebCore.pri: 28653 * WebCore.pro: 28654 * css/themeQtMaemo5.css: Added. 28655 (select): 28656 (select:disabled): 28657 (select:active): 28658 (select:active:disabled): 28659 (textarea): 28660 (textarea:disabled): 28661 (textarea:active): 28662 * platform/qt/Maemo5Webstyle.cpp: Added. 28663 (Maemo5WebStyle::Maemo5WebStyle): 28664 (drawRectangularControlBackgorund): 28665 (Maemo5WebStyle::drawChecker): 28666 (Maemo5WebStyle::findChecker): 28667 (Maemo5WebStyle::drawRadio): 28668 (Maemo5WebStyle::findRadio): 28669 (Maemo5WebStyle::drawControl): 28670 (Maemo5WebStyle::drawComplexControl): 28671 * platform/qt/Maemo5Webstyle.h: Added. 28672 * platform/qt/RenderThemeQt.cpp: 28673 (WebCore::RenderThemeQt::RenderThemeQt): 28674 (WebCore::RenderThemeQt::isControlStyled): 28675 (WebCore::RenderThemeQt::popupInternalPaddingBottom): 28676 (WebCore::RenderThemeQt::extraDefaultStyleSheet): 28677 (WebCore::RenderThemeQt::adjustMenuListButtonStyle): 28678 * platform/qt/RenderThemeQt.h: 28679 28680 2010-03-31 Alexey Proskuryakov <ap (a] apple.com> 28681 28682 https://bugs.webkit.org/show_bug.cgi?id=36897 28683 <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com) 28684 28685 Addressing additional review comments. 28686 28687 * rendering/RenderWidget.cpp: Removed an unneeded include. 28688 * rendering/RenderWidget.h: Reworded the new comment. 28689 28690 2010-03-31 Alexey Proskuryakov <ap (a] apple.com> 28691 28692 Reviewed by Dan Bernstein. 28693 28694 https://bugs.webkit.org/show_bug.cgi?id=36897 28695 <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com) 28696 28697 * manual-tests/plugin-in-iframe-scroll.html: Added. 28698 * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added. 28699 28700 * rendering/RenderWidget.cpp: 28701 (WebCore::RenderWidget::setWidgetGeometry): This method isn't called when an iframe containing 28702 the widget moves, so we should store a value that is not dependent on current scroll offset. 28703 (WebCore::RenderWidget::windowClipRect): Apply scroll offset and window clip now. 28704 28705 * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer 28706 in window coordinates. 28707 28708 * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline. 28709 28710 2010-03-31 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 28711 28712 Unreviewed crash fix. 28713 28714 Crash with frame flattening on after r56854 28715 https://bugs.webkit.org/show_bug.cgi?id=36894 28716 28717 Solution tested by Greg Bolsinga, thanks. 28718 28719 * page/FrameView.cpp: 28720 (WebCore::FrameView::avoidScrollbarCreation): 28721 * platform/ScrollView.cpp: 28722 (WebCore::ScrollView::setHasHorizontalScrollbar): 28723 (WebCore::ScrollView::setHasVerticalScrollbar): 28724 28725 2010-03-31 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 28726 28727 Reviewed by Antti Koivisto. 28728 28729 iframe flattening doesn't flatten 28730 https://bugs.webkit.org/show_bug.cgi?id=36798 28731 28732 Do not draw scrollbars for subframes when frame flattening is 28733 enabled. Implemented using a virtual method in ScrollView as 28734 suggested by Dave Hyatt. 28735 28736 Do not suppress scrollbars as that is wrong according to 28737 Dave Hyatt. 28738 28739 Covered by current tests. 28740 28741 * page/FrameView.cpp: 28742 (WebCore::FrameView::avoidScrollbarCreation): 28743 * page/FrameView.h: 28744 * platform/ScrollView.cpp: 28745 (WebCore::ScrollView::setHasHorizontalScrollbar): 28746 (WebCore::ScrollView::setHasVerticalScrollbar): 28747 * platform/ScrollView.h: 28748 (WebCore::ScrollView::avoidScrollbarCreation): 28749 * rendering/RenderPart.cpp: 28750 (WebCore::RenderPart::layoutWithFlattening): 28751 28752 2010-03-30 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 28753 28754 Reviewed by Antti Koivisto. 28755 28756 iframe flattening doesn't flatten 28757 https://bugs.webkit.org/show_bug.cgi?id=36798 28758 28759 Fix wrongly reversing logic in frame flattening check. 28760 28761 Tests: 28762 fast/frames/flattening/iframe-flattening-fixed-height.html 28763 fast/frames/flattening/iframe-flattening-fixed-width.html 28764 fast/frames/flattening/iframe-flattening-fixed-width-and-height.html 28765 fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html 28766 28767 * rendering/RenderPartObject.cpp: 28768 (WebCore::RenderPartObject::flattenFrame): 28769 28770 2010-03-31 Marcus Bulach <bulach (a] chromium.org> 28771 28772 Reviewed by Jeremy Orlow. 28773 28774 Implements cancelGeolocationPermissionRequestForFrame. 28775 Similar to requestGeolocationPermissionForFrame(), passes Geolocation* to cancelGeolocationPermissionRequestForFrame(), 28776 so that the embedder can identify which Geolocation object is cancelling the pending permission request. 28777 Calls cancelGeolocationPermissionRequestForFrame() before stopUpdating() so it better matches the startUpdating() / requestPermission() flow. 28778 https://bugs.webkit.org/show_bug.cgi?id=35031 28779 28780 * loader/EmptyClients.h: 28781 (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): 28782 * page/Chrome.cpp: 28783 (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): 28784 * page/Chrome.h: 28785 * page/ChromeClient.h: 28786 * page/Geolocation.cpp: 28787 (WebCore::Geolocation::disconnectFrame): 28788 28789 2010-03-31 Yael Aharon <yael.aharon (a] nokia.com> 28790 28791 Reviewed by Antti Koivisto. 28792 28793 Add animation to progress element 28794 https://bugs.webkit.org/show_bug.cgi?id=36664 28795 28796 Add a timer to control the animation. The timer is started after painting 28797 or a state change in the progress bar, to prevent animation from running 28798 when the progress bar is not visible. 28799 28800 * html/HTMLProgressElement.cpp: 28801 (WebCore::HTMLProgressElement::createRenderer): 28802 * manual-tests/dom: Added. 28803 * manual-tests/dom/progressbar.html: Added. 28804 * platform/qt/RenderThemeQt.cpp: 28805 (WebCore::RenderThemeQt::animationRepeatIntervalForProgressBar): 28806 (WebCore::RenderThemeQt::animationDurationForProgressBar): 28807 (WebCore::RenderThemeQt::paintProgressBar): 28808 * platform/qt/RenderThemeQt.h: 28809 * rendering/RenderProgress.cpp: 28810 (WebCore::RenderProgress::RenderProgress): 28811 (WebCore::RenderProgress::layout): 28812 (WebCore::RenderProgress::updateFromElement): 28813 (WebCore::RenderProgress::animationProgress): 28814 (WebCore::RenderProgress::animationTimerFired): 28815 (WebCore::RenderProgress::paint): 28816 (WebCore::RenderProgress::updateAnimationState): 28817 * rendering/RenderProgress.h: 28818 * rendering/RenderTheme.cpp: 28819 (WebCore::RenderTheme::animationRepeatIntervalForProgressBar): 28820 (WebCore::RenderTheme::animationDurationForProgressBar): 28821 * rendering/RenderTheme.h: 28822 28823 2010-03-31 Pavel Feldman <pfeldman (a] chromium.org> 28824 28825 Not reviewed. Rolling out r56829 since it broke chromium layout tests. 28826 28827 [REGRESSION] Inspector tests started crashing since r56829 28828 https://bugs.webkit.org/show_bug.cgi?id=36888 28829 28830 * bindings/scripts/CodeGeneratorV8.pm: 28831 * bindings/v8/V8Utilities.cpp: 28832 * bindings/v8/V8Utilities.h: 28833 * loader/FrameLoaderClient.h: 28834 28835 2010-03-31 Pavel Feldman <pfeldman (a] chromium.org> 28836 28837 Reviewed by Timothy Hatcher. 28838 28839 Web Inspector: creating new style bugfixing. 28840 28841 https://bugs.webkit.org/show_bug.cgi?id=36884 28842 28843 - InspectorDOMAgent should clear internal state upon reset (we are re-using 28844 single dom agent instance throughout entire inspector controller lifetime) 28845 - Brought back blank style 'refresh' processing logic - remove it by mistake earlier 28846 - Blocked couple of click handlers so that double-click to edit was not 28847 expanding / collapsing the pane 28848 - There is no need to reach out for matched rules upon 'refresh' update - 28849 getting computed style is sufficient. 28850 28851 * css/CSSStyleSelector.cpp: 28852 (WebCore::CSSStyleSelector::matchRulesForList): 28853 * inspector/InspectorDOMAgent.cpp: 28854 (WebCore::InspectorDOMAgent::discardBindings): 28855 * inspector/front-end/StylesSidebarPane.js: 28856 (WebInspector.StylesSidebarPane.prototype.update.getStylesCallback): 28857 (WebInspector.StylesSidebarPane.prototype.update.getComputedStyleCallback): 28858 (WebInspector.StylesSidebarPane.prototype.update): 28859 (WebInspector.StylesSidebarPane.prototype._refreshUpdate): 28860 (WebInspector.StylesSidebarPane.prototype._rebuildUpdate): 28861 (WebInspector.StylesSidebarPane.prototype._refreshStyleRules): 28862 (WebInspector.StylesSidebarPane.prototype.addBlankSection): 28863 (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): 28864 (WebInspector.StylePropertiesSection.prototype._clickSelector): 28865 28866 2010-03-31 Yury Semikhatsky <yurys (a] chromium.org> 28867 28868 Unreviewed. Chromium build fix: create missing v8::HandleScope. 28869 28870 https://bugs.webkit.org/show_bug.cgi?id=36828 28871 28872 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 28873 (WebCore::InjectedScriptHost::canAccessInspectedWindow): 28874 28875 2010-03-31 Yury Semikhatsky <yurys (a] chromium.org> 28876 28877 Reviewed by Pavel Feldman. 28878 28879 Check that injected script can still access inspected window object when wrapping console object. When the window cannot be access serialize objects as strings. Also don't call InjectedScript.dispatch if the window cannot be accessed (due to frame navigation). 28880 28881 https://bugs.webkit.org/show_bug.cgi?id=36828 28882 28883 * bindings/js/JSInjectedScriptHostCustom.cpp: 28884 (WebCore::InjectedScriptHost::canAccessInspectedWindow): 28885 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 28886 (WebCore::InjectedScriptHost::canAccessInspectedWindow): 28887 * inspector/InjectedScript.cpp: 28888 (WebCore::InjectedScript::wrapForConsole): 28889 * inspector/InjectedScriptHost.h: 28890 * inspector/front-end/InjectedScript.js: 28891 (injectedScriptConstructor): 28892 28893 2010-03-31 Mattias Nissler <mnissler (a] google.com> 28894 28895 Reviewed by Pavel Feldman. 28896 28897 Allow generic resource URLs for cookie handling in the inspector. This 28898 enables display of all cookies, not only those that are associated 28899 with resources accessed through http, https or file. 28900 https://bugs.webkit.org/show_bug.cgi?id=36877 28901 28902 * inspector/front-end/CookieItemsView.js: 28903 (WebInspector.CookieItemsView.prototype._filterCookiesForDomain): 28904 * inspector/front-end/DOMAgent.js: 28905 (WebInspector.Cookies.cookieMatchesResourceURL): 28906 * inspector/front-end/inspector.js: 28907 (WebInspector.updateResource): 28908 28909 2010-03-30 Jeremy Orlow <jorlow (a] chromium.org> 28910 28911 Reviewed by Nate Chapin. 28912 28913 IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest 28914 https://bugs.webkit.org/show_bug.cgi?id=36830 28915 28916 Still not enough hooked up to test. Soon! 28917 28918 * WebCore.gypi: 28919 * bindings/v8/custom/V8CustomIDBCallback.h: Removed. 28920 * bindings/v8/custom/V8CustomIDBCallbacks.h: Added. 28921 (WebCore::V8CustomIDBCallbacks::create): 28922 (WebCore::V8CustomIDBCallbacks::~V8CustomIDBCallbacks): 28923 (WebCore::V8CustomIDBCallbacks::onSuccess): 28924 (WebCore::V8CustomIDBCallbacks::onError): 28925 (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks): 28926 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: 28927 (WebCore::V8IndexedDatabaseRequest::openCallback): 28928 * storage/IDBDatabaseRequest.cpp: Added. 28929 (WebCore::IDBDatabaseRequest::IDBDatabaseRequest): 28930 (WebCore::IDBDatabaseRequest::~IDBDatabaseRequest): 28931 * storage/IDBDatabaseRequest.h: 28932 (WebCore::IDBDatabaseRequest::create): 28933 * storage/IndexedDatabaseRequest.cpp: 28934 (WebCore::IndexedDatabaseRequest::open): 28935 * storage/IndexedDatabaseRequest.h: 28936 28937 2010-03-31 Zhenyao Mo <zmo (a] google.com> 28938 28939 Reviewed by Darin Fisher. 28940 28941 Implement memmove behavior for WebGLArray set() 28942 https://bugs.webkit.org/show_bug.cgi?id=35619 28943 28944 New test cases are added to fast/canvas/webgl/array-setters.html. 28945 28946 * html/canvas/WebGLArray.cpp: Use memmove instead of memcpy; with memmove, copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap. 28947 (WebCore::WebGLArray::setImpl): 28948 28949 2010-03-31 Benjamin Poulain <benjamin.poulain (a] nokia.com> 28950 28951 Reviewed by Darin Adler. 28952 28953 tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual 28954 https://bugs.webkit.org/show_bug.cgi?id=36810 28955 28956 Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox 28957 28958 * rendering/RenderBox.h: 28959 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): 28960 * rendering/RenderObject.h: 28961 28962 2010-03-31 John Gregg <johnnyg (a] google.com> 28963 28964 Reviewed by Darin Fisher. 28965 28966 [chromium] add logging of cross-frame property accesses for site isolation 28967 https://bugs.webkit.org/show_bug.cgi?id=35773 28968 28969 No new tests as no new functionality. 28970 28971 * bindings/scripts/CodeGeneratorV8.pm: 28972 * bindings/v8/V8Utilities.cpp: 28973 (WebCore::logPropertyAccess): 28974 * bindings/v8/V8Utilities.h: 28975 * loader/FrameLoaderClient.h: 28976 (WebCore::FrameLoaderClient::logCrossFramePropertyAccess): 28977 28978 2010-03-30 Gavin Barraclough <barraclough (a] apple.com> 28979 28980 Rubber stamped by Sam Weinig. 28981 28982 https://bugs.webkit.org/show_bug.cgi?id=36866 28983 Move CString to WTF 28984 28985 * Android.mk: 28986 * ForwardingHeaders/wtf/text: Added. 28987 * ForwardingHeaders/wtf/text/CString.h: Added. 28988 * GNUmakefile.am: 28989 * WebCore.base.exp: 28990 * WebCore.gypi: 28991 * WebCore.order: 28992 * WebCore.pro: 28993 * WebCore.vcproj/WebCore.vcproj: 28994 * WebCore.xcodeproj/project.pbxproj: 28995 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 28996 * bindings/js/JSDOMWindowBase.cpp: 28997 * bindings/js/ScheduledAction.cpp: 28998 * bindings/js/ScriptController.cpp: 28999 * bindings/v8/ScriptController.cpp: 29000 * bindings/v8/V8Binding.cpp: 29001 * bindings/v8/V8DOMWindowShell.cpp: 29002 * bridge/jni/JNIBridge.cpp: 29003 * bridge/jni/v8/JavaStringV8.h: 29004 (JSC::Bindings::JavaStringImpl::init): 29005 * css/CSSParser.cpp: 29006 * dom/CharacterData.cpp: 29007 * dom/Document.cpp: 29008 * dom/Element.cpp: 29009 * dom/Node.cpp: 29010 * dom/Position.cpp: 29011 * dom/Range.cpp: 29012 * dom/Text.cpp: 29013 * dom/XMLTokenizer.cpp: 29014 * dom/XMLTokenizerLibxml2.cpp: 29015 * dom/XMLTokenizerQt.cpp: 29016 * editing/SelectionController.cpp: 29017 * editing/VisiblePosition.cpp: 29018 * editing/VisibleSelection.cpp: 29019 * history/CachedFrame.cpp: 29020 * history/HistoryItem.cpp: 29021 * history/qt/HistoryItemQt.cpp: 29022 * html/FormDataList.h: 29023 (WebCore::FormDataList::appendData): 29024 (WebCore::FormDataList::Item::Item): 29025 (WebCore::FormDataList::Item::data): 29026 * html/HTMLDocument.cpp: 29027 * html/PreloadScanner.cpp: 29028 * inspector/InspectorController.cpp: 29029 * inspector/InspectorDOMAgent.cpp: 29030 * loader/DocLoader.cpp: 29031 * loader/FTPDirectoryDocument.cpp: 29032 * loader/FrameLoader.cpp: 29033 * loader/HistoryController.cpp: 29034 * loader/ProgressTracker.cpp: 29035 * loader/appcache/ApplicationCacheStorage.cpp: 29036 * loader/archive/cf/LegacyWebArchive.cpp: 29037 * loader/icon/wince/IconDatabaseWince.cpp: 29038 * loader/loader.cpp: 29039 * page/Console.cpp: 29040 * page/DOMWindow.cpp: 29041 * page/SecurityOrigin.cpp: 29042 * page/XSSAuditor.cpp: 29043 * page/animation/AnimationBase.cpp: 29044 * platform/ContextMenu.cpp: 29045 * platform/FileSystem.h: 29046 * platform/KURL.cpp: 29047 * platform/KURLGoogle.cpp: 29048 * platform/KURLGooglePrivate.h: 29049 * platform/Pasteboard.h: 29050 * platform/android/FileSystemAndroid.cpp: 29051 * platform/android/TemporaryLinkStubs.cpp: 29052 * platform/brew/KURLBrew.cpp: 29053 * platform/cf/FileSystemCF.cpp: 29054 * platform/chromium/MIMETypeRegistryChromium.cpp: 29055 * platform/efl/FileSystemEfl.cpp: 29056 * platform/efl/PasteboardEfl.cpp: 29057 * platform/efl/PlatformKeyboardEventEfl.cpp: 29058 * platform/efl/PlatformScreenEfl.cpp: 29059 * platform/efl/RenderThemeEfl.cpp: 29060 * platform/efl/ScrollbarEfl.cpp: 29061 * platform/efl/SharedBufferEfl.cpp: 29062 * platform/efl/WidgetEfl.cpp: 29063 * platform/graphics/GlyphPageTreeNode.cpp: 29064 * platform/graphics/cairo/FontPlatformDataCairo.cpp: 29065 * platform/graphics/cg/ImageBufferCG.cpp: 29066 * platform/graphics/chromium/FontCacheLinux.cpp: 29067 * platform/graphics/chromium/FontPlatformDataLinux.h: 29068 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 29069 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 29070 * platform/graphics/gtk/FontPlatformDataPango.cpp: 29071 * platform/graphics/gtk/IconGtk.cpp: 29072 * platform/graphics/gtk/ImageGtk.cpp: 29073 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 29074 * platform/graphics/mac/GraphicsContext3DMac.cpp: 29075 * platform/graphics/mac/GraphicsLayerCA.mm: 29076 * platform/graphics/qt/GraphicsContext3DQt.cpp: 29077 * platform/graphics/qt/ImageBufferQt.cpp: 29078 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 29079 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 29080 * platform/graphics/skia/GraphicsLayerSkia.cpp: 29081 * platform/graphics/win/GraphicsLayerCACF.cpp: 29082 * platform/graphics/win/WKCACFLayer.cpp: 29083 * platform/graphics/wx/FontPlatformData.h: 29084 * platform/gtk/ClipboardGtk.cpp: 29085 * platform/gtk/ContextMenuItemGtk.cpp: 29086 * platform/gtk/DataObjectGtk.h: 29087 * platform/gtk/FileChooserGtk.cpp: 29088 * platform/gtk/FileSystemGtk.cpp: 29089 * platform/gtk/GeolocationServiceGtk.cpp: 29090 * platform/gtk/KURLGtk.cpp: 29091 * platform/gtk/Language.cpp: 29092 * platform/gtk/LocalizedStringsGtk.cpp: 29093 * platform/gtk/PasteboardGtk.cpp: 29094 * platform/gtk/PopupMenuGtk.cpp: 29095 * platform/gtk/RenderThemeGtk.cpp: 29096 * platform/gtk/SharedBufferGtk.cpp: 29097 * platform/haiku/FileSystemHaiku.cpp: 29098 * platform/haiku/PlatformKeyboardEventHaiku.cpp: 29099 * platform/network/CredentialStorage.cpp: 29100 * platform/network/FormData.cpp: 29101 * platform/network/FormData.h: 29102 * platform/network/FormDataBuilder.cpp: 29103 * platform/network/FormDataBuilder.h: 29104 * platform/network/HTTPParsers.cpp: 29105 * platform/network/android/ResourceHandleAndroid.cpp: 29106 * platform/network/cf/FormDataStreamCFNet.cpp: 29107 * platform/network/cf/ResourceHandleCFNet.cpp: 29108 * platform/network/chromium/ResourceResponse.h: 29109 * platform/network/curl/FormDataStreamCurl.cpp: 29110 * platform/network/curl/ResourceHandleManager.cpp: 29111 * platform/network/curl/ResourceHandleManager.h: 29112 * platform/network/mac/FormDataStreamMac.mm: 29113 * platform/network/mac/ResourceHandleMac.mm: 29114 * platform/network/qt/QNetworkReplyHandler.cpp: 29115 * platform/network/soup/CookieJarSoup.cpp: 29116 * platform/network/soup/ResourceHandleSoup.cpp: 29117 * platform/network/soup/ResourceRequestSoup.cpp: 29118 * platform/network/soup/ResourceResponseSoup.cpp: 29119 * platform/network/win/ResourceHandleWin.cpp: 29120 * platform/posix/FileSystemPOSIX.cpp: 29121 * platform/qt/FileSystemQt.cpp: 29122 * platform/qt/KURLQt.cpp: 29123 * platform/qt/TemporaryLinkStubs.cpp: 29124 * platform/sql/chromium/SQLiteFileSystemChromium.cpp: 29125 * platform/text/CString.cpp: Removed. 29126 * platform/text/CString.h: Removed. 29127 * platform/text/PlatformString.h: 29128 * platform/text/String.cpp: 29129 * platform/text/StringImpl.cpp: 29130 * platform/text/TextCodec.h: 29131 * platform/text/TextCodecICU.cpp: 29132 * platform/text/TextCodecLatin1.cpp: 29133 * platform/text/TextCodecUTF16.cpp: 29134 * platform/text/TextCodecUserDefined.cpp: 29135 * platform/text/TextEncoding.cpp: 29136 * platform/text/TextEncoding.h: 29137 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: 29138 * platform/text/gtk/TextCodecGtk.cpp: 29139 * platform/text/haiku/StringHaiku.cpp: 29140 * platform/text/mac/TextCodecMac.cpp: 29141 * platform/text/qt/TextCodecQt.cpp: 29142 * platform/text/wx/StringWx.cpp: 29143 * platform/win/ClipboardUtilitiesWin.cpp: 29144 * platform/win/ClipboardWin.cpp: 29145 * platform/win/ContextMenuItemWin.cpp: 29146 * platform/win/ContextMenuWin.cpp: 29147 * platform/win/FileSystemWin.cpp: 29148 * platform/win/GDIObjectCounter.cpp: 29149 * platform/win/Language.cpp: 29150 * platform/win/PasteboardWin.cpp: 29151 * platform/wince/FileSystemWince.cpp: 29152 * platform/wince/KeygenWince.cpp: 29153 * platform/wince/PasteboardWince.cpp: 29154 * platform/wx/FileSystemWx.cpp: 29155 * platform/wx/LoggingWx.cpp: 29156 * plugins/PluginDebug.h: 29157 * plugins/PluginPackage.cpp: 29158 * plugins/PluginStream.cpp: 29159 * plugins/PluginStream.h: 29160 * plugins/PluginView.h: 29161 * plugins/gtk/PluginPackageGtk.cpp: 29162 * plugins/mac/PluginPackageMac.cpp: 29163 * plugins/qt/PluginPackageQt.cpp: 29164 * plugins/symbian/PluginPackageSymbian.cpp: 29165 * plugins/win/PluginPackageWin.cpp: 29166 * rendering/RenderLayer.cpp: 29167 * rendering/RenderLayerCompositor.cpp: 29168 * rendering/RenderTreeAsText.cpp: 29169 * storage/Database.cpp: 29170 * storage/SQLTransactionCoordinator.cpp: 29171 * storage/SQLTransactionCoordinator.h: 29172 * storage/StorageAreaSync.cpp: 29173 * storage/StorageSyncManager.cpp: 29174 * storage/chromium/DatabaseTrackerChromium.cpp: 29175 * storage/chromium/QuotaTracker.cpp: 29176 * storage/chromium/QuotaTracker.h: 29177 * svg/SVGFontFaceElement.cpp: 29178 * svg/SVGStyledElement.cpp: 29179 * svg/SVGUseElement.cpp: 29180 * websockets/WebSocket.cpp: 29181 * websockets/WebSocketChannel.cpp: 29182 * websockets/WebSocketHandshake.cpp: 29183 * wml/WMLErrorHandling.cpp: 29184 * wml/WMLGoElement.cpp: 29185 * wml/WMLPageState.cpp: 29186 * wml/WMLPostfieldElement.cpp: 29187 * wml/WMLSelectElement.cpp: 29188 * xml/XMLHttpRequest.cpp: 29189 * xml/XSLStyleSheetLibxslt.cpp: 29190 * xml/XSLTProcessorLibxslt.cpp: 29191 29192 2010-03-30 Kent Tamura <tkent (a] chromium.org> 29193 29194 Reviewed by Brady Eidson. 29195 29196 REGRESSION (r56439) - Crash when a renderer for a file upload control 29197 with a selected file is recreated 29198 https://bugs.webkit.org/show_bug.cgi?id=36723 29199 29200 RenderFileUploadControl::chooseIconForFiles was called before 29201 m_fileChooser was initialized. 29202 29203 * platform/FileChooser.cpp: 29204 (WebCore::FileChooser::FileChooser): Introduce m_isInitializing flag to 29205 avoid FileChooserClient::repaint() call. 29206 (WebCore::FileChooser::loadIcon): 29207 (WebCore::FileChooser::iconLoaded): 29208 * platform/FileChooser.h: Add a FielChooser parameter to 29209 FileChooserClient::chooseIconForFiles(). 29210 * rendering/RenderFileUploadControl.cpp: 29211 (WebCore::RenderFileUploadControl::chooseIconForFiles): 29212 (WebCore::RenderFileUploadControl::paintObject): Add an assertion. 29213 * rendering/RenderFileUploadControl.h: 29214 29215 2010-03-30 Stanislav Paltis <Stanislav.Paltis (a] nokia.com> 29216 29217 Reviewed by Laszlo Gombos. 29218 29219 [Qt] qmake/symbian build failure 29220 https://bugs.webkit.org/show_bug.cgi?id=36745 29221 29222 Fix build break in Symbian build introduced in r56714, 29223 by modifying comment escape character from ";" to "#". 29224 29225 * WebCore.pro: 29226 29227 2010-03-30 Kevin Ollivier <kevino (a] theolliviers.com> 29228 29229 [wx] Build fix after new localized string addition. 29230 29231 * platform/wx/LocalizedStringsWx.cpp: 29232 (WebCore::missingPluginText): 29233 29234 2010-03-30 Sam Weinig <sam (a] webkit.org> 29235 29236 Reviewed by Anders Carlsson. 29237 29238 Add missing export. 29239 29240 * WebCore.base.exp: 29241 29242 2010-03-30 Enrica Casucci <enrica (a] apple.com> 29243 29244 Reviewed by Darin Adler. 29245 29246 Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33. 29247 <rdar://problem/7810749> 29248 https://bugs.webkit.org/show_bug.cgi?id=36858 29249 29250 Test: fast/text/multiglyph-characters.html 29251 29252 Characters with multiple glyph were not supported correctly. 29253 Computing the advance width was producing a division by zero. 29254 29255 * platform/graphics/mac/ComplexTextController.cpp: 29256 (WebCore::ComplexTextController::advance): 29257 29258 2010-03-30 Chris Evans <cevans (a] chromium.org> 29259 29260 Reviewed by Adam Barth. 29261 29262 Taint the canvas if an SVG-derived pattern is rendered into it. 29263 29264 https://bugs.webkit.org/show_bug.cgi?id=36838 29265 29266 Test: fast/canvas/svg-taint.html 29267 29268 * html/canvas/CanvasRenderingContext2D.cpp: 29269 (WebCore::CanvasRenderingContext2D::createPattern): 29270 Take into account the image's hasSingleSecurityOrigin() property. 29271 29272 2010-03-30 Alexey Proskuryakov <ap (a] apple.com> 29273 29274 Reviewed by Darin Adler. 29275 29276 https://bugs.webkit.org/show_bug.cgi?id=36616 29277 Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown 29278 29279 https://bugs.webkit.org/show_bug.cgi?id=36797 29280 For non-Roman layouts, keydown Event.keyCode is always 0 29281 29282 * platform/cocoa/KeyEventCocoa.mm: 29283 (WebCore::windowsKeyCodeForKeyCode): This is now the primary function for determining 29284 Windows key code - there is no reason to round trip a virtual key code via character code to 29285 get Windows virtual key code, and this can't work for non-Roman alphabets. 29286 (WebCore::windowsKeyCodeForCharCode): Removed keys that are now handled in windowsKeyCodeForKeyCode(), 29287 only keeping those for which we don't have known key codes (yet?). 29288 29289 * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Added comments. 29290 29291 2010-03-30 Marcus Bulach <bulach (a] chromium.org> 29292 29293 Reviewed by Darin Fisher. 29294 29295 Rename / tidy up Geolocation bridge 29296 Uses Geoposition instead of individual params for setLastPosition. 29297 https://bugs.webkit.org/show_bug.cgi?id=36535 29298 29299 * platform/chromium/GeolocationServiceChromium.cpp: 29300 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): 29301 (WebCore::GeolocationServiceChromium::setIsAllowed): 29302 (WebCore::GeolocationServiceChromium::setLastPosition): 29303 * platform/chromium/GeolocationServiceChromium.h: 29304 29305 2010-03-30 Adam Langley <agl (a] chromium.org> 29306 29307 Reviewed by David Levin. 29308 29309 [chromium] linux: prefer the "hinting" fontconfig preference. 29310 29311 fontconfig can give contradictory hinting information, setting 29312 "hinting" to zero and "hintstyle" to non-zero. In this case we 29313 should take the "hinting" preference. 29314 29315 https://bugs.webkit.org/show_bug.cgi?id=36602 29316 29317 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 29318 (WebCore::FontPlatformData::setupPaint): 29319 29320 2010-03-30 Pavel Feldman <pfeldman (a] chromium.org> 29321 29322 Reviewed by Timothy Hatcher. 29323 29324 Web Inspector: Copying from the Content tab in Resources includes line numbers. 29325 29326 https://bugs.webkit.org/show_bug.cgi?id=35104 29327 29328 * inspector/front-end/TextViewer.js: 29329 (WebInspector.TextViewer): 29330 (WebInspector.TextViewer.prototype._beforeCopy): 29331 (WebInspector.TextViewer.prototype._copy): 29332 29333 2010-03-30 Pavel Feldman <pfeldman (a] chromium.org> 29334 29335 Reviewed by Timothy Hatcher. 29336 29337 Web Inspector: Do not send empty matching rules for pseudo elements to frontend. 29338 29339 https://bugs.webkit.org/show_bug.cgi?id=36834 29340 29341 * inspector/InspectorDOMAgent.cpp: 29342 (WebCore::InspectorDOMAgent::buildArrayForPseudoElements): 29343 * inspector/front-end/StylesSidebarPane.js: 29344 (WebInspector.StylesSidebarPane.prototype._update): 29345 29346 2010-03-30 Dirk Schulze <krit (a] webkit.org> 29347 29348 Reviewed by Nikolas Zimmermann. 29349 29350 Cannot animate "points" attribute for <svg:polygon> 29351 https://bugs.webkit.org/show_bug.cgi?id=21371 29352 29353 Add animation support for 'points' on polygons in SVG. 29354 29355 Test: svg/animations/animate-points.html 29356 29357 * svg/SVGAnimateElement.cpp: 29358 (WebCore::SVGAnimateElement::determinePropertyType): 29359 (WebCore::SVGAnimateElement::calculateAnimatedValue): 29360 (WebCore::SVGAnimateElement::calculateFromAndToValues): 29361 (WebCore::SVGAnimateElement::resetToBaseValue): 29362 (WebCore::SVGAnimateElement::applyResultsToTarget): 29363 * svg/SVGAnimateElement.h: 29364 (WebCore::SVGAnimateElement::): added PropertyType PointsProperty 29365 * svg/SVGPointList.cpp: 29366 (WebCore::blendFunc): 29367 (WebCore::SVGPointList::createAnimated): calculates animated PointList 29368 * svg/SVGPointList.h: 29369 29370 2010-03-30 Alexander Pavlov <apavlov (a] chromium.org> 29371 29372 Reviewed by Pavel Feldman. 29373 29374 Web Inspector: Audits: bad CSS selector results in exception inside evaluated code 29375 https://bugs.webkit.org/show_bug.cgi?id=36821 29376 29377 * inspector/front-end/AuditRules.js: 29378 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine): 29379 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): 29380 29381 2010-03-29 Janne Koskinen <janne.p.koskinen (a] digia.com> 29382 29383 Reviewed by Simon Hausmann. 29384 29385 [Qt] Package build fixes for Symbian 29386 29387 * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option 29388 29389 qtlibinfix adds possibility having multiple versions of Qt in Symbian devices. 29390 Fix also allows unfrozen DLL exports during development. 29391 29392 * Removed heap size configuration. DLLs don't have a heap. 29393 29394 * Removed enforcement to def files for package builds. Instead inherit the setting from 29395 Qt's qconfig.pri whether to use def files or not. It's still possible to override this 29396 also at qmake time by passing CONFIG+=def_files. 29397 29398 * WebCore.pro: 29399 29400 2010-03-30 Ilya Tikhonovsky <loislo (a] chromium.org> 29401 29402 Reviewed by Pavel Feldman. 29403 29404 Web Inspector: Title for show/hide short records button was adjusted. 29405 Some unused code was removed. 29406 https://bugs.webkit.org/show_bug.cgi?id=36823 29407 29408 * inspector/front-end/TimelinePanel.js: 29409 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 29410 (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked): 29411 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 29412 29413 2010-03-30 Adam Roben <aroben (a] apple.com> 29414 29415 Enable extra Direct3D debugging information in Debug builds 29416 29417 This makes it easier to track down memory leaks and misuses of the D3D 29418 APIs in Debug builds. 29419 29420 Fixes <http://webkit.org/b/36820> 29421 29422 Reviewed by John Sullivan. 29423 29424 * platform/graphics/win/WKCACFLayerRenderer.cpp: Define D3D_DEBUG_INFO 29425 in Debug builds before #including d3d9.h so that extra D3D debugging 29426 information will be enabled. 29427 29428 2010-03-30 Luiz Agostini <luiz.agostini (a] openbossa.org> 29429 29430 Reviewed by Kenneth Rohde Christiansen. 29431 29432 [Qt] Maemo5 theme - QtMaemoWebPopup class 29433 https://bugs.webkit.org/show_bug.cgi?id=36790 29434 29435 Moving maemo5 theme related code from WebCore.pri to WebCore.pro and adding 29436 new maemo menu lists popup class source and header to the project. 29437 29438 The code was in .pri file because of a theme css that was conditionally included. 29439 As the css file is been included unconditionally there is no need to this 29440 code to be kept in webcore.pri. 29441 29442 * WebCore.pri: 29443 * WebCore.pro: 29444 29445 2010-03-30 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 29446 29447 Reviewed by David Kilzer. 29448 29449 Guard Geolocation files with ENABLE_GEOLOCATION 29450 https://bugs.webkit.org/show_bug.cgi?id=25756 29451 29452 The intent is to guard the Geolocation implementation files 29453 and minimize the impact on on clients/call sites. 29454 29455 * DerivedSources.make: 29456 * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION 29457 is enabled. 29458 * WebCore.base.exp: 29459 * bindings/js/JSCustomPositionCallback.cpp: 29460 * bindings/js/JSCustomPositionErrorCallback.cpp: 29461 * bindings/js/JSGeolocationCustom.cpp: 29462 * page/Geolocation.cpp: 29463 (WebCore::Geolocation::disconnectFrame): Stub implementation if 29464 GEOLOCATION is turned off. 29465 (WebCore::Geolocation::Geolocation): Ditto. 29466 (WebCore::Geolocation::~Geolocation): Ditto. 29467 (WebCore::Geolocation::setIsAllowed): Ditto. 29468 * page/Geolocation.h: 29469 * page/Geolocation.idl: 29470 * page/GeolocationPositionCache.cpp: 29471 * page/Geoposition.idl: 29472 * page/PositionError.idl: 29473 * platform/GeolocationService.cpp: 29474 * platform/mock/GeolocationServiceMock.cpp: 29475 29476 2010-03-30 Andrey Kosyakov <caseq (a] chromium.org> 29477 29478 Reviewed by Pavel Feldman. 29479 29480 Support EventTarget interface in fake workers (both for Worker object 29481 and WorkerContext). Use MessagePort to implement message passing to 29482 support passing ports in PostMessage. 29483 https://bugs.webkit.org/show_bug.cgi?id=36763 29484 29485 * inspector/front-end/InjectedFakeWorker.js: 29486 (InjectedFakeWorker.Worker.onmessageGetter): 29487 (InjectedFakeWorker.Worker.onmessageSetter): 29488 (InjectedFakeWorker.Worker): 29489 (InjectedFakeWorker.FakeWorker): 29490 (InjectedFakeWorker.FakeWorker.prototype.postMessage): 29491 (InjectedFakeWorker.FakeWorker.prototype.terminate): 29492 (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded): 29493 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageGetter): 29494 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageSetter): 29495 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext): 29496 (InjectedFakeWorker.FakeWorker.prototype._addEventListener): 29497 (InjectedFakeWorker.FakeWorker.prototype._removeEventListener): 29498 (InjectedFakeWorker.FakeWorker.prototype._callbackWrapper): 29499 (InjectedFakeWorker.FakeWorker.prototype._handleException): 29500 29501 2010-03-30 Kristian Monsen <kristianm (a] google.com> 29502 29503 Reviewed by David Levin. 29504 29505 [v8] Add if ENABLE guard for Worker specific code. 29506 https://bugs.webkit.org/show_bug.cgi?id=36597 29507 29508 Build fix only, no new tests. 29509 29510 * bindings/v8/V8DOMWrapper.h: 29511 29512 2010-03-29 Jeremy Orlow <jorlow (a] chromium.org> 29513 29514 Reviewed by Darin Fisher. 29515 29516 More IndexedDB work 29517 https://bugs.webkit.org/show_bug.cgi?id=36770 29518 29519 Add the "singleton" IndexedDatabase object to PageGroup 29520 IndexedDatabase now has a create() method since PageGroup can own the instance (at least for now) 29521 Rip out the IDBRequest stuff (now obsolete). 29522 DOMWindow now can instantiate indexedDatabase objects on demand. 29523 29524 New layout tests starting with the next patch (which should make indexedDB.open() "work"). 29525 29526 * WebCore.gypi: 29527 * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed. 29528 * page/DOMWindow.cpp: 29529 (WebCore::DOMWindow::indexedDB): 29530 * page/DOMWindow.h: 29531 * page/PageGroup.cpp: 29532 (WebCore::PageGroup::indexedDatabase): 29533 * page/PageGroup.h: 29534 * storage/IDBDatabase.cpp: 29535 * storage/IDBDatabaseRequest.h: 29536 (WebCore::IDBDatabaseRequest::createObjectStore): 29537 * storage/IDBDatabaseRequest.idl: 29538 * storage/IDBRequest.cpp: Removed. 29539 * storage/IDBRequest.h: Removed. 29540 * storage/IDBRequest.idl: Removed. 29541 * storage/IndexedDatabase.cpp: 29542 (WebCore::IndexedDatabase::create): 29543 * storage/IndexedDatabase.h: 29544 * storage/IndexedDatabaseImpl.cpp: 29545 (WebCore::IndexedDatabaseImpl::create): 29546 (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl): 29547 (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl): 29548 * storage/IndexedDatabaseImpl.h: 29549 * storage/IndexedDatabaseRequest.cpp: 29550 (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest): 29551 * storage/IndexedDatabaseRequest.h: 29552 (WebCore::IndexedDatabaseRequest::create): 29553 * storage/IndexedDatabaseRequest.idl: 29554 * storage/chromium/IndexedDatabase.cpp: 29555 (WebCore::IndexedDatabase::create): 29556 29557 2010-03-30 Dirk Schulze <krit (a] webkit.org> 29558 29559 Reviewed by Nikolas Zimmermann. 29560 29561 SVG Glyph transformations wrong on use of SVGFont 29562 https://bugs.webkit.org/show_bug.cgi?id=36731 29563 29564 Kerning on SVGFonts should be applied to the userSpace of the current Char 29565 and not to the userSpace of the viewport. This means scaling the kerning 29566 to match the current userSpace. 29567 29568 Test: svg/custom/glyph-transformation-with-hkern.svg 29569 29570 * rendering/SVGRootInlineBox.cpp: 29571 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 29572 29573 2010-03-30 Dirk Schulze <krit (a] webkit.org> 29574 29575 Reviewed by Nikolas Zimmermann. 29576 29577 SVG Animation doesn't respect 'currentColor' 29578 https://bugs.webkit.org/show_bug.cgi?id=36695 29579 29580 Test: svg/custom/animation-currentColor.svg 29581 29582 SVG Animation can't handle currentColor at the moment. This patch catches the 29583 color value of the target element and replaces 'currentColor' with it's color string. 29584 29585 * svg/SVGAnimationElement.cpp: 29586 (WebCore::adjustForCurrentColor): 29587 (WebCore::SVGAnimationElement::startedActiveInterval): 29588 29589 2010-03-30 Ilya Tikhonovsky <loislo (a] chromium.org> 29590 29591 Reviewed by Pavel Feldman. 29592 29593 Web Inspector: Visible/captured records counter should be implemented in Timeline panel. 29594 https://bugs.webkit.org/show_bug.cgi?id=36708 29595 29596 * English.lproj/localizedStrings.js: 29597 * inspector/front-end/TimelinePanel.js: 29598 (WebInspector.TimelinePanel.prototype.get statusBarItems): 29599 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 29600 (WebInspector.TimelinePanel.prototype._updateRecordsCounter): 29601 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 29602 (WebInspector.TimelinePanel.prototype._createRootRecord): 29603 (WebInspector.TimelinePanel.prototype._refresh): 29604 (WebInspector.TimelinePanel.prototype._filterRecords): 29605 * inspector/front-end/inspector.css: 29606 (.timeline-records-counter): 29607 29608 2010-03-30 Philippe Normand <pnormand (a] igalia.com> 29609 29610 [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro 29611 https://bugs.webkit.org/show_bug.cgi?id=36653 29612 29613 Unreviewed, don't define the bool variable with 29614 DEFINE_STATIC_LOCAL, it makes sense only for objects which have a 29615 destructor. Thanks to Dan Bernstein for spotting this. 29616 29617 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 29618 (WebCore::mimeTypeCache): 29619 29620 2010-03-29 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 29621 29622 Reviewed by Eric Seidel. 29623 29624 There is a build break due to the disabled() when wml feature is 29625 enabled. This break comes from the Bug 35056 - Disabled menu options 29626 are still submitted.(https://bugs.webkit.org/show_bug.cgi?id=35056) 29627 The WMLOptionElement.h needs to define the disabled() as well. 29628 And, there is an additional break due to Bug 36177 - Multiselect Popup 29629 - Listbox click simulation. (https://bugs.webkit.org/show_bug.cgi?id=36177) 29630 virtual void listBoxSelectItem() should be added to WMLSelectElement.h as well. 29631 29632 https://bugs.webkit.org/show_bug.cgi?id=36698 29633 29634 * wml/WMLOptionElement.h: 29635 (WebCore::WMLOptionElement::disabled): 29636 * wml/WMLSelectElement.h: 29637 (WebCore::WMLSelectElement::listBoxSelectItem): 29638 29639 2010-03-29 Shinichiro Hamaji <hamaji (a] chromium.org> 29640 29641 Reviewed by David Hyatt. 29642 29643 No vertical scrollbar after the CSS class change 29644 https://bugs.webkit.org/show_bug.cgi?id=36461 29645 29646 Don't suppress scrollbar change for non-first layouts. 29647 In the first layout, the scrollbar change will happen in later 29648 adjustViewSize() call, but in other layouts, adjustViewSize() may 29649 not be called when the size of contents doesn't change. 29650 29651 * page/FrameView.cpp: 29652 (WebCore::FrameView::layout): 29653 29654 2010-03-29 Chris Evans <cevans (a] chromium.org> 29655 29656 Reviewed by Adam Barth. 29657 29658 Don't use unique domains for file:// separation: it breaks local 29659 databases, and access to your own same-origin iframes. Instead, use 29660 path-based access checks. 29661 29662 https://bugs.webkit.org/show_bug.cgi?id=36692 29663 29664 Test: fast/xmlhttprequest/xmlhttprequest-no-file-access.html 29665 29666 * dom/Document.cpp: 29667 (WebCore::Document::initSecurityContext): renamed API. 29668 * page/SecurityOrigin.h: 29669 * page/SecurityOrigin.cpp: 29670 (WebCore::SecurityOrigin::SecurityOrigin): 29671 Initialize new flag. Take note of file:// path. 29672 Copy new fields in copy constructor. 29673 (WebCore::SecurityOrigin::canAccess): 29674 Take into account path-based origin separation for file:// 29675 (WebCore::SecurityOrigin::enforceFilePathSeparation): 29676 New method to enable file:// path origin separation. 29677 (WebCore::SecurityOrigin::toString): 29678 Return a null domain for an isolated file origin. 29679 (WebCore::SecurityOrigin::isSameSchemeHostPort): 29680 Take into account path-based origin separation for file:// 29681 (WebCore::SecurityOrigin::passesFileCheck): 29682 Abstraction of common logic for file:// access checks. 29683 29684 2010-03-29 Rafael Weinstein <rafaelw (a] chromium.org> 29685 29686 Reviewed by Adam Barth. 29687 29688 Change NotificationPresenter::checkPermission() to take the source frames full KURL, 29689 rather than its SecurityOrigin. This will aid chromium in having more fine grained 29690 permissions to control notification spam. 29691 29692 * notifications/Notification.cpp: 29693 (WebCore::Notification::Notification): 29694 * notifications/NotificationCenter.cpp: 29695 (WebCore::NotificationCenter::checkPermission): 29696 * notifications/NotificationPresenter.h: 29697 29698 2010-03-29 Luiz Agostini <luiz.agostini (a] openbossa.org> 29699 29700 Reviewed by Kenneth Rohde Christiansen. 29701 29702 [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup 29703 https://bugs.webkit.org/show_bug.cgi?id=36769 29704 29705 Adding method itemIsSelected() to QtAbstractWebPopup. 29706 29707 * platform/qt/QtAbstractWebPopup.h: 29708 (WebCore::QtAbstractWebPopup::itemIsSelected): 29709 29710 2010-03-29 Dawit Alemayehu <adawit (a] kde.org> 29711 29712 Reviewed by Simon Hausmann. 29713 29714 Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.* 29715 29716 https://bugs.webkit.org/show_bug.cgi?id=36395 29717 29718 This function, which was moved from WebKit/chromium/src/FrameClientImpl.cpp, 29719 is used to check whether or not a request is supposed to be rendered or 29720 simply downloaded based on the "Content-Disposition" header sent by the 29721 web server. The intent of code refactoring is to avoid code duplication 29722 so that this piece of code can be used by other implementations such as 29723 QtWebKit. 29724 29725 * platform/network/HTTPParsers.cpp: 29726 (WebCore::shouldTreatAsAttachment): 29727 * platform/network/HTTPParsers.h: 29728 29729 2010-03-29 Chris Fleizach <cfleizach (a] apple.com> 29730 29731 Reviewed by Beth Dakin. 29732 29733 Bug 36735 - Live regions don't send out notifications when the element changing is the live region 29734 https://bugs.webkit.org/show_bug.cgi?id=36735 29735 29736 Test: platform/mac/accessibility/aria-liveregion-on-image.html 29737 29738 * accessibility/AccessibilityRenderObject.cpp: 29739 (WebCore::AccessibilityRenderObject::contentChanged): 29740 29741 2010-03-29 Stephen White <senorblanco (a] chromium.org> 29742 29743 Reviewed by Dave Hyatt. 29744 29745 In order to speed up multiple calls to CSSPrimitiveValue::cssText(), 29746 this CL caches the String result. When m_value is changed, the 29747 cached string is cleared. This gives a good speedup on benchmarks 29748 which do a lot of CSS property gets, such as Peacekeeper. 29749 The processing cost should be negligible, since the strings are 29750 refcounted. The memory cost is an additional 4 bytes per 29751 CSSPrimitiveValue, and the extended lifetime of the computed string 29752 (potentially, the same as the lifetime of the CSSPrimitiveValue). 29753 29754 https://bugs.webkit.org/show_bug.cgi?id=36556 29755 29756 Covered by fast/css/cssText-cache.html, and more. 29757 29758 * css/CSSPrimitiveValue.cpp: 29759 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 29760 (WebCore::CSSPrimitiveValue::cleanup): 29761 (WebCore::CSSPrimitiveValue::cssText): 29762 * css/CSSPrimitiveValue.h: 29763 29764 2010-03-22 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 29765 29766 Reviewed by Simon Fraser. 29767 29768 Add support for Widgets 1.0: View Mode Media Feature 29769 https://bugs.webkit.org/show_bug.cgi?id=35446 29770 29771 When enabling Web Widgets, add support for the view-mode media 29772 feature (http://www.w3.org/TR/widgets-vmmf/). 29773 29774 Test: fast/media/media-feature-wgt-view-mode.html 29775 29776 * css/CSSValueKeywords.in: 29777 * css/MediaFeatureNames.h: 29778 * css/MediaQueryEvaluator.cpp: 29779 (WebCore::view_modeMediaFeatureEval): 29780 * page/ChromeClient.h: 29781 (WebCore::ChromeClient::isDocked): 29782 (WebCore::ChromeClient::isFloating): 29783 (WebCore::ChromeClient::isApplication): 29784 (WebCore::ChromeClient::isFullscreen): 29785 29786 2010-03-29 Kenneth Russell <kbr (a] google.com> 29787 29788 Reviewed by Darin Fisher. 29789 29790 Eliminate use of GL_BGRA in GraphicsContext3DSkia.cpp 29791 https://bugs.webkit.org/show_bug.cgi?id=36737 29792 29793 No new tests; ran WebGL demos in Chromium on Windows to verify fix. 29794 29795 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 29796 (WebCore::GraphicsContext3D::getImageData): 29797 29798 2010-03-29 Alexander Pavlov <apavlov (a] chromium.org> 29799 29800 Reviewed by Pavel Feldman. 29801 29802 Web Inspector: Cover the Audits panel with tests 29803 https://bugs.webkit.org/show_bug.cgi?id=36613 29804 29805 Sort results, add a few drive-by fixes and refactorings to improve testability. 29806 29807 Test: inspector/audits-panel-functional.html 29808 29809 * English.lproj/localizedStrings.js: 29810 * inspector/front-end/AuditResultView.js: 29811 (WebInspector.AuditResultView): 29812 (WebInspector.AuditCategoryResultPane.ruleSorter): 29813 (WebInspector.AuditCategoryResultPane): 29814 * inspector/front-end/AuditRules.js: 29815 (WebInspector.AuditRules.GzipRule.prototype.doRun): 29816 (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun): 29817 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): 29818 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 29819 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): 29820 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): 29821 * inspector/front-end/AuditsPanel.js: 29822 (WebInspector.AuditRuleResult.linkifyDisplayName): 29823 (WebInspector.AuditRuleResult.resourceDomain): 29824 (WebInspector.AuditRuleResult.prototype.addURL): 29825 * inspector/front-end/inspector.js: 29826 (WebInspector.displayNameForURL): 29827 29828 2010-03-29 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 29829 29830 Reviewed by nobody, build fix. 29831 29832 [Qt] Fix build break introduced in r56724. 29833 29834 * WebCore.pro: 29835 29836 2010-03-29 Alexander Pavlov <apavlov (a] chromium.org> 29837 29838 Reviewed by Pavel Feldman. 29839 29840 Web Inspector should highlight when clicking a node's closing tag 29841 https://bugs.webkit.org/show_bug.cgi?id=16258 29842 29843 * inspector/front-end/ElementsTreeOutline.js: 29844 (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect): 29845 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): 29846 (WebInspector.ElementsTreeOutline.prototype._keyDown): 29847 (WebInspector.ElementsTreeOutline.prototype._onmousemove): 29848 (WebInspector.ElementsTreeElement): 29849 (WebInspector.ElementsTreeElement.prototype.showChild): 29850 (WebInspector.ElementsTreeElement.prototype.onpopulate): 29851 (WebInspector.ElementsTreeElement.prototype.updateChildren): 29852 (WebInspector.ElementsTreeElement.prototype.insertChildElement): 29853 (WebInspector.ElementsTreeElement.prototype.moveChild): 29854 (WebInspector.ElementsTreeElement.prototype._updateChildren): 29855 (WebInspector.ElementsTreeElement.prototype.onexpand): 29856 (WebInspector.ElementsTreeElement.prototype.oncollapse): 29857 (WebInspector.ElementsTreeElement.prototype.onselect): 29858 (WebInspector.ElementsTreeElement.prototype.ondblclick): 29859 (): 29860 29861 2010-03-29 Marcus Bulach <bulach (a] chromium.org> 29862 29863 Reviewed by Jeremy Orlow. 29864 29865 https://bugs.webkit.org/show_bug.cgi?id=36315 29866 29867 Remove obsolete Geolocation::m_currentPosition 29868 (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676) 29869 29870 * page/Geolocation.cpp: 29871 (WebCore::Geolocation::positionChanged): 29872 (WebCore::Geolocation::makeSuccessCallbacks): 29873 * page/Geolocation.h: 29874 * platform/chromium/GeolocationServiceChromium.cpp: 29875 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): 29876 29877 2010-03-29 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 29878 29879 Reviewed by Simon Hausmann. 29880 29881 [Qt] Do not generate INSTALLS for webkit when building inside Qt. 29882 Qt will do this for us. 29883 29884 * WebCore.pro: 29885 29886 2010-03-29 Antti Koivisto <koivisto (a] iki.fi> 29887 29888 Reviewed by Kenneth Rohde Christiansen. 29889 29890 https://bugs.webkit.org/show_bug.cgi?id=36703 29891 Timer restart loop during page loading 29892 29893 Fix regression introduced in http://trac.webkit.org/changeset/54526. 29894 Restarting the request timer unconditionally from the timer callback is a bad idea. 29895 Instead, start the timer when a non-cached request completes. 29896 29897 * loader/loader.cpp: 29898 (WebCore::Loader::Host::nonCacheRequestComplete): 29899 (WebCore::Loader::Host::servePendingRequests): 29900 29901 2010-03-29 Thomas Zander <t.zander (a] nokia.com> 29902 29903 Reviewed by Simon Hausmann. 29904 29905 [Qt] Shadowbuilds of WebCore with Qt on Symbian fails. 29906 29907 https://bugs.webkit.org/show_bug.cgi?id=36749 29908 29909 Doing a 'make sis' expects the dll in the libdir, so place it 29910 there. This fixes out-of-source building to always put the dll 29911 in the expected dir. 29912 29913 * WebCore.pro: Fix for shadow builds inside Qt. 29914 29915 2010-03-26 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 29916 29917 Reviewed by Antti Koivisto. 29918 29919 Implement flattening for iframes. 29920 29921 Refactoring of frameset flattening code to reuse it for 29922 iframe flattening. 29923 29924 Tests: fast/frames/flattening/iframe-flattening-simple.html 29925 29926 * WebCore.base.exp: 29927 * page/FrameView.cpp: 29928 (WebCore::FrameView::layout): 29929 (WebCore::FrameView::scheduleRelayout): 29930 * page/Settings.cpp: 29931 (WebCore::Settings::Settings): 29932 (WebCore::Settings::setFrameFlatteningEnabled): 29933 * page/Settings.h: 29934 (WebCore::Settings::frameFlatteningEnabled): 29935 * rendering/RenderFrame.cpp: 29936 * rendering/RenderFrame.h: 29937 * rendering/RenderFrameSet.cpp: 29938 (WebCore::RenderFrameSet::flattenFrameSet): 29939 * rendering/RenderFrameSet.h: 29940 * rendering/RenderPart.cpp: 29941 (WebCore::RenderPart::layoutWithFlattening): 29942 * rendering/RenderPart.h: 29943 * rendering/RenderPartObject.cpp: 29944 (WebCore::RenderPartObject::flattenFrame): 29945 (WebCore::RenderPartObject::calcHeight): 29946 (WebCore::RenderPartObject::calcWidth): 29947 (WebCore::RenderPartObject::layout): 29948 * rendering/RenderPartObject.h: 29949 29950 2010-03-29 Andrei Popescu <andreip (a] google.com> 29951 29952 Reviewed by Adam Barth. 29953 29954 Page Cache does not work on Android with V8 29955 https://bugs.webkit.org/show_bug.cgi?id=36665 29956 29957 No new tests, existing tests should suffice, this is platform code. 29958 29959 This implementation simply saves the context and the global object 29960 just before the frame is navigated to a new url. At restore time, 29961 the global object is reattached to the context and the context 29962 is attached to the window shell of the frame. 29963 29964 Note that isolated worlds are not taken into account in any way, 29965 as Android does not use them. 29966 29967 * bindings/v8/ScriptCachedFrameData.cpp: Added. 29968 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 29969 (WebCore::ScriptCachedFrameData::domWindow): 29970 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData): 29971 (WebCore::ScriptCachedFrameData::restore): 29972 (WebCore::ScriptCachedFrameData::clear): 29973 * bindings/v8/ScriptCachedFrameData.h: 29974 * bindings/v8/V8DOMWindowShell.cpp: 29975 (WebCore::V8DOMWindowShell::setContext): 29976 * bindings/v8/V8DOMWindowShell.h: 29977 29978 2010-03-29 Thomas Zander <t.zander (a] nokia.com> 29979 29980 Reviewed by Simon Hausmann. 29981 29982 [Qt] Make it possible to build using both Windows and Linux for Symbian 29983 https://bugs.webkit.org/show_bug.cgi?id=36748 29984 29985 * WebCore.pro: don't assume Windows buildsystem is the only one 29986 and exclude the windows-only setters from the linux builds. 29987 29988 2010-03-29 Thomas Zander <t.zander (a] nokia.com> 29989 29990 Reviewed by Simon Hausmann. 29991 29992 https://bugs.webkit.org/show_bug.cgi?id=36745 29993 29994 [Qt] Fix def file builds with Qt 4.7. 29995 29996 Switched to using DEF_FILE, which is the official variable. 29997 29998 * WebCore.pro: Use DEF_FILE 29999 30000 2010-03-24 Jeremy Orlow <jorlow (a] chromium.org> 30001 30002 Reviewed by Darin Fisher. 30003 30004 A few more steps towards IndexedDB 30005 https://bugs.webkit.org/show_bug.cgi?id=36546 30006 30007 Add a callback interface to be used by all async methods. 30008 Add the first fragments of IDBDatabase. 30009 Clean up on IDBDatabaseError. 30010 Flesh out IndexedDatabase further. 30011 30012 Not enough hooked up yet to test. Soon though... 30013 30014 * WebCore.gypi: 30015 * storage/IDBCallbacks.h: Added. 30016 (WebCore::IDBCallbacks::~IDBCallbacks): 30017 * storage/IDBDatabase.cpp: Added. 30018 * storage/IDBDatabase.h: Added. 30019 (WebCore::IDBDatabase::~IDBDatabase): 30020 * storage/IDBDatabaseError.h: 30021 (WebCore::IDBDatabaseError::create): 30022 (WebCore::IDBDatabaseError::message): 30023 (WebCore::IDBDatabaseError::IDBDatabaseError): 30024 * storage/IndexedDatabase.h: 30025 * storage/IndexedDatabaseImpl.cpp: 30026 (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl): 30027 (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl): 30028 (WebCore::IndexedDatabaseImpl::open): 30029 * storage/IndexedDatabaseImpl.h: 30030 * storage/IndexedDatabaseRequest.cpp: 30031 (WebCore::IndexedDatabaseRequest::open): 30032 30033 2010-03-29 Mikhail Naganov <mnaganov (a] chromium.org> 30034 30035 Reviewed by Pavel Feldman. 30036 30037 Remove a possibility of confusion from Profiles panel Welcome screen 30038 by turning buttons into non-clickable glyphs. Also, span instructions 30039 alongside panel width. 30040 30041 https://bugs.webkit.org/show_bug.cgi?id=34319 30042 30043 * English.lproj/localizedStrings.js: 30044 * inspector/front-end/ProfileView.js: 30045 (WebInspector.CPUProfileType.prototype.get welcomeMessage): 30046 * inspector/front-end/ProfilesPanel.js: 30047 (WebInspector.ProfilesPanel.prototype._addWelcomeMessage): 30048 * inspector/front-end/inspector.css: 30049 (.panel-enabler-view.welcome .instructions): 30050 (.panel-enabler-view.welcome button.status-bar-item): 30051 30052 2010-03-26 Philippe Normand <pnormand (a] igalia.com> 30053 30054 Reviewed by Eric Seidel. 30055 30056 [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro 30057 https://bugs.webkit.org/show_bug.cgi?id=36653 30058 30059 Defined the static variables using DEFINE_STATIC_GLOBAL. 30060 30061 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 30062 (WebCore::mimeTypeCache): 30063 30064 2010-03-26 Philippe Normand <pnormand (a] igalia.com> 30065 30066 Reviewed by Eric Seidel. 30067 30068 [GStreamer] player header cleanups 30069 https://bugs.webkit.org/show_bug.cgi?id=36656 30070 30071 Destructor made private and added missing 30072 mediaPlayerPrivateMuteChangedCallback declaration. 30073 30074 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 30075 30076 2010-03-29 Yury Semikhatsky <yurys (a] chromium.org> 30077 30078 Reviewed by Pavel Feldman. 30079 30080 Protect global object from being GC'ed if there are messages written to console from the iframe with that global object. 30081 30082 Whent serializing objects in the injected script check that global object properties are still defined before using them as arguments. The may become undefined if owning frame navigated to a different domain. 30083 30084 https://bugs.webkit.org/show_bug.cgi?id=36612 30085 30086 Test: http/tests/inspector-enabled/console-log-before-frame-navigation.html 30087 30088 * bindings/js/ScriptState.h: 30089 (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr): 30090 (WebCore::ScriptStateProtectedPtr::get): 30091 * bindings/v8/ScriptState.h: 30092 (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr): 30093 (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr): 30094 (WebCore::ScriptStateProtectedPtr::get): 30095 * inspector/ConsoleMessage.cpp: 30096 (WebCore::ConsoleMessage::addToFrontend): 30097 * inspector/ConsoleMessage.h: 30098 * inspector/front-end/InjectedScript.js: 30099 (injectedScriptConstructor): 30100 (injectedScriptConstructor.): 30101 30102 2010-03-26 Philippe Normand <pnormand (a] igalia.com> 30103 30104 Reviewed by Eric Carlson. 30105 30106 It should be possible to use GStreamer in addition to another media engine 30107 https://bugs.webkit.org/show_bug.cgi?id=36654 30108 30109 Renamed gstreamer player and added a WTF_USE_GSTREAMER 30110 define. Made the MediaPlayer register the GStreamer backend only 30111 if it's enabled (true by default on WebKitGTK+). 30112 30113 * GNUmakefile.am: 30114 * platform/graphics/MediaPlayer.cpp: 30115 (WebCore::installedMediaEngines): 30116 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 30117 (WebCore::mediaPlayerPrivateMessageCallback): 30118 (WebCore::mediaPlayerPrivateSourceChangedCallback): 30119 (WebCore::mediaPlayerPrivateVolumeChangedCallback): 30120 (WebCore::mediaPlayerPrivateMuteChangedCallback): 30121 (WebCore::mediaPlayerPrivateRepaintCallback): 30122 (WebCore::MediaPlayerPrivateGStreamer::create): 30123 (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): 30124 (WebCore::MediaPlayerPrivateGStreamer::isAvailable): 30125 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): 30126 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): 30127 (WebCore::MediaPlayerPrivateGStreamer::load): 30128 (WebCore::MediaPlayerPrivateGStreamer::commitLoad): 30129 (WebCore::MediaPlayerPrivateGStreamer::changePipelineState): 30130 (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): 30131 (WebCore::MediaPlayerPrivateGStreamer::play): 30132 (WebCore::MediaPlayerPrivateGStreamer::pause): 30133 (WebCore::MediaPlayerPrivateGStreamer::duration): 30134 (WebCore::MediaPlayerPrivateGStreamer::currentTime): 30135 (WebCore::MediaPlayerPrivateGStreamer::seek): 30136 (WebCore::MediaPlayerPrivateGStreamer::startEndPointTimerIfNeeded): 30137 (WebCore::MediaPlayerPrivateGStreamer::cancelSeek): 30138 (WebCore::MediaPlayerPrivateGStreamer::endPointTimerFired): 30139 (WebCore::MediaPlayerPrivateGStreamer::paused): 30140 (WebCore::MediaPlayerPrivateGStreamer::seeking): 30141 (WebCore::MediaPlayerPrivateGStreamer::naturalSize): 30142 (WebCore::MediaPlayerPrivateGStreamer::hasVideo): 30143 (WebCore::MediaPlayerPrivateGStreamer::hasAudio): 30144 (WebCore::MediaPlayerPrivateGStreamer::setVolume): 30145 (WebCore::MediaPlayerPrivateGStreamer::volumeChangedTimerFired): 30146 (WebCore::MediaPlayerPrivateGStreamer::volumeChanged): 30147 (WebCore::MediaPlayerPrivateGStreamer::setRate): 30148 (WebCore::MediaPlayerPrivateGStreamer::networkState): 30149 (WebCore::MediaPlayerPrivateGStreamer::readyState): 30150 (WebCore::MediaPlayerPrivateGStreamer::buffered): 30151 (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats): 30152 (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): 30153 (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable): 30154 (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded): 30155 (WebCore::MediaPlayerPrivateGStreamer::bytesLoaded): 30156 (WebCore::MediaPlayerPrivateGStreamer::totalBytes): 30157 (WebCore::MediaPlayerPrivateGStreamer::cancelLoad): 30158 (WebCore::MediaPlayerPrivateGStreamer::updateStates): 30159 (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged): 30160 (WebCore::MediaPlayerPrivateGStreamer::loadNextLocation): 30161 (WebCore::MediaPlayerPrivateGStreamer::loadStateChanged): 30162 (WebCore::MediaPlayerPrivateGStreamer::sizeChanged): 30163 (WebCore::MediaPlayerPrivateGStreamer::timeChanged): 30164 (WebCore::MediaPlayerPrivateGStreamer::didEnd): 30165 (WebCore::MediaPlayerPrivateGStreamer::durationChanged): 30166 (WebCore::MediaPlayerPrivateGStreamer::supportsMuting): 30167 (WebCore::MediaPlayerPrivateGStreamer::setMuted): 30168 (WebCore::MediaPlayerPrivateGStreamer::muteChangedTimerFired): 30169 (WebCore::MediaPlayerPrivateGStreamer::muteChanged): 30170 (WebCore::MediaPlayerPrivateGStreamer::loadingFailed): 30171 (WebCore::MediaPlayerPrivateGStreamer::setSize): 30172 (WebCore::MediaPlayerPrivateGStreamer::setVisible): 30173 (WebCore::MediaPlayerPrivateGStreamer::repaint): 30174 (WebCore::MediaPlayerPrivateGStreamer::paint): 30175 (WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes): 30176 (WebCore::MediaPlayerPrivateGStreamer::supportsType): 30177 (WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin): 30178 (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen): 30179 (WebCore::MediaPlayerPrivateGStreamer::setPreload): 30180 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 30181 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 30182 30183 2010-03-28 Alexey Proskuryakov <ap (a] apple.com> 30184 30185 Reviewed by Sam Weinig. 30186 30187 https://bugs.webkit.org/show_bug.cgi?id=36733 30188 Use a common header for Windows virtual key codes on all platforms 30189 30190 No change in functionality, so no new tests. 30191 30192 * platform/WindowsKeyboardCodes.h: Added. Define VK_* key codes as macros, matching Windows. 30193 30194 * platform/KeyboardCodes.h: Removed. 30195 * platform/android/KeyboardCodes.h: Removed. 30196 * platform/chromium/KeyboardCodesPosix.h: Removed. 30197 * platform/chromium/KeyboardCodesWin.h: Removed. 30198 * platform/haiku/KeyboardCodes.h: Removed. 30199 * platform/wx/KeyboardCodes.h: Removed. 30200 Removed platform specific attempts to do the same thing. In fact, platform/KeyboardCodes.h 30201 was supposed to be cross-platform, but it didn't have a sufficiently descriptive name, and 30202 its name was the same as platform-specific versions, so I chose a new one. 30203 30204 * platform/chromium/KeyboardCodes.h: Copied from WebCore/platform/chromium/KeyboardCodesWin.h. 30205 Chromium redefines Windows constants to different names; keeping the header doing that to 30206 avoid breaking Chromium code. 30207 30208 * GNUmakefile.am: 30209 * WebCore.gypi: 30210 Replaced KeyboardCodes.h with WindowsKeyboardCodes.h. 30211 30212 * WebCore.xcodeproj/project.pbxproj: 30213 * platform/cocoa/KeyEventCocoa.mm: 30214 (WebCore::windowsKeyCodeForKeyCode): 30215 (WebCore::windowsKeyCodeForCharCode): 30216 Mac used to hardcode the key codes; changed to use VK_* macros. 30217 30218 * config.h: Removed a hack to include KeyboardCodes.h, it shouldn't be necessary any more. 30219 30220 * platform/android/KeyEventAndroid.cpp: 30221 * platform/brew/PlatformKeyboardEventBrew.cpp: 30222 * platform/efl/PlatformKeyboardEventEfl.cpp: 30223 * platform/gtk/KeyEventGtk.cpp: 30224 * platform/haiku/PlatformKeyboardEventHaiku.cpp: 30225 * platform/qt/PlatformKeyboardEventQt.cpp: 30226 * platform/wx/KeyboardEventWx.cpp: 30227 Changed to include WindowsKeyboardCodes.h. 30228 30229 2010-03-28 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30230 30231 Reviewed by Simon Hausmann. 30232 30233 [Qt] Remove the definition of WTF_CHANGES guards from the build system 30234 https://bugs.webkit.org/show_bug.cgi?id=31670 30235 30236 No new tests as there is no new functionality. 30237 30238 * WebCore.pri: Remove the definition of WTF_CHANGES 30239 as it is already defined in config.h 30240 30241 2010-03-28 Sam Weinig <sam (a] webkit.org> 30242 30243 Reviewed by Dan Bernstein. 30244 30245 Clean up the Xcode project a bit. 30246 30247 * WebCore.xcodeproj/project.pbxproj: 30248 30249 2010-03-28 Pavel Feldman <pfeldman (a] chromium.org> 30250 30251 Reviewed by Timothy Hatcher. 30252 30253 Web Inspector: Toggling style properties on/off does not always work. 30254 30255 https://bugs.webkit.org/show_bug.cgi?id=36720 30256 30257 * inspector/InspectorController.cpp: 30258 * inspector/InspectorDOMAgent.cpp: 30259 (WebCore::InspectorDOMAgent::toggleStyleEnabled): 30260 (WebCore::InspectorDOMAgent::buildObjectForStyle): 30261 (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties): 30262 * inspector/InspectorDOMAgent.h: 30263 * inspector/front-end/DOMAgent.js: 30264 (WebInspector.CSSStyleDeclaration): 30265 30266 2010-03-28 Pavel Feldman <pfeldman (a] chromium.org> 30267 30268 Reviewed by Timothy Hatcher. 30269 30270 Web Inspector: resource links should navigate to resource panel enabler when resource tracking is off. 30271 30272 https://bugs.webkit.org/show_bug.cgi?id=36722 30273 30274 * English.lproj/localizedStrings.js: 30275 * inspector/front-end/inspector.js: 30276 (WebInspector.documentMouseOver): 30277 (WebInspector.documentClick.followLink): 30278 (WebInspector.documentClick): 30279 30280 2010-03-28 Dirk Schulze <krit (a] webkit.org> 30281 30282 Unreviewed build-fix for chromium linux. 30283 30284 SVGResourceMarker needs to be moved to RenderersSVGResourceMarker 30285 https://bugs.webkit.org/show_bug.cgi?id=36185 30286 30287 * svg/SVGStyledElement.cpp: 30288 (WebCore::SVGStyledElement::invalidateResources): 30289 30290 2010-03-28 Dirk Schulze <krit (a] webkit.org> 30291 30292 Reviewed by Nikolas Zimmermann. 30293 30294 SVGResourceMarker needs to be moved to RenderersSVGResourceMarker 30295 https://bugs.webkit.org/show_bug.cgi?id=36185 30296 30297 This moves SVGResourceMarker to RenderersSVGResourceMarker. This follows other 30298 SVG resources like masker and clipper and makes DRT results more readable and 30299 adds additonal informations. 30300 Some marker specific code also moved out from RenderSVGViewportContainer to 30301 RenderersSVGResourceMarker. 30302 30303 * Android.mk: 30304 * GNUmakefile.am: 30305 * WebCore.gypi: 30306 * WebCore.pro: 30307 * WebCore.vcproj/WebCore.vcproj: 30308 * WebCore.xcodeproj/project.pbxproj: 30309 * rendering/RenderPath.cpp: 30310 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): 30311 * rendering/RenderSVGImage.cpp: 30312 (WebCore::RenderSVGImage::destroy): 30313 * rendering/RenderSVGResource.h: 30314 (WebCore::): 30315 * rendering/RenderSVGResourceMarker.cpp: Added. 30316 (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker): 30317 (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): 30318 (WebCore::RenderSVGResourceMarker::layout): 30319 (WebCore::RenderSVGResourceMarker::addClient): 30320 (WebCore::RenderSVGResourceMarker::invalidateClients): 30321 (WebCore::RenderSVGResourceMarker::invalidateClient): 30322 (WebCore::RenderSVGResourceMarker::applyViewportClip): 30323 (WebCore::RenderSVGResourceMarker::markerBoundaries): 30324 (WebCore::RenderSVGResourceMarker::localToParentTransform): 30325 (WebCore::RenderSVGResourceMarker::referencePoint): 30326 (WebCore::RenderSVGResourceMarker::angle): 30327 (WebCore::RenderSVGResourceMarker::markerTransformation): 30328 (WebCore::RenderSVGResourceMarker::draw): 30329 (WebCore::RenderSVGResourceMarker::markerContentTransformation): 30330 (WebCore::RenderSVGResourceMarker::viewportTransform): 30331 (WebCore::RenderSVGResourceMarker::calcViewport): 30332 * rendering/RenderSVGResourceMarker.h: Added. 30333 (WebCore::RenderSVGResourceMarker::renderName): 30334 (WebCore::RenderSVGResourceMarker::applyResource): 30335 (WebCore::RenderSVGResourceMarker::resourceBoundingBox): 30336 (WebCore::RenderSVGResourceMarker::markerUnits): 30337 (WebCore::RenderSVGResourceMarker::resourceType): 30338 * rendering/RenderSVGViewportContainer.cpp: 30339 (WebCore::RenderSVGViewportContainer::calcViewport): 30340 (WebCore::RenderSVGViewportContainer::viewportTransform): 30341 * rendering/RenderSVGViewportContainer.h: 30342 * rendering/SVGMarkerData.h: 30343 (WebCore::SVGMarkerData::SVGMarkerData): 30344 (WebCore::SVGMarkerData::marker): 30345 (WebCore::SVGMarkerData::updateTypeAndMarker): 30346 * rendering/SVGMarkerLayoutInfo.cpp: 30347 (WebCore::processStartAndMidMarkers): 30348 (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): 30349 (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): 30350 * rendering/SVGMarkerLayoutInfo.h: 30351 (WebCore::MarkerLayout::MarkerLayout): 30352 (WebCore::SVGMarkerLayoutInfo::midMarker): 30353 * rendering/SVGRenderSupport.cpp: 30354 (WebCore::deregisterFromResources): 30355 * rendering/SVGRenderSupport.h: 30356 * rendering/SVGRenderTreeAsText.cpp: 30357 (WebCore::operator<<): 30358 (WebCore::writeSVGResource): 30359 * svg/SVGMarkerElement.cpp: 30360 (WebCore::SVGMarkerElement::svgAttributeChanged): 30361 (WebCore::SVGMarkerElement::childrenChanged): 30362 (WebCore::SVGMarkerElement::setOrientToAuto): 30363 (WebCore::SVGMarkerElement::setOrientToAngle): 30364 (WebCore::SVGMarkerElement::createRenderer): 30365 * svg/SVGMarkerElement.h: 30366 (WebCore::SVGMarkerElement::): 30367 * svg/SVGStyledElement.cpp: 30368 (WebCore::SVGStyledElement::invalidateResources): 30369 * svg/graphics/SVGResource.h: 30370 (WebCore::): 30371 (WebCore::SVGResource::isFilter): 30372 * svg/graphics/SVGResourceMarker.cpp: Removed. 30373 * svg/graphics/SVGResourceMarker.h: Removed. 30374 30375 2010-03-28 Joseph Pecoraro <joepeck (a] webkit.org> 30376 30377 Reviewed by Pavel Feldman. 30378 30379 Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation 30380 https://bugs.webkit.org/show_bug.cgi?id=36719 30381 30382 Consolidates the generation of Element Tree Hierarchy attribute code 30383 generation to a single function: _attributeHTML. 30384 30385 * inspector/front-end/ElementsTreeOutline.js: 30386 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): convert to use attributeHTML. 30387 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): convert to use attributeHTML. 30388 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 30389 (WebInspector.ElementsTreeElement.prototype._attributeHTML): a single point for generating the html for attributes. 30390 30391 2010-03-28 Joseph Pecoraro <joepeck (a] webkit.org> 30392 30393 Reviewed by Pavel Feldman. 30394 30395 Web Inspector: Edit Tag Names 30396 https://bugs.webkit.org/show_bug.cgi?id=36481 30397 30398 Ensure blacklisting happens by checking it in _startEditingTagName 30399 instead of all the possible entry points. 30400 30401 * inspector/front-end/ElementsTreeOutline.js: 30402 (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): don't check blacklist here. 30403 (WebInspector.ElementsTreeElement.prototype._startEditingTagName): check blacklist here. 30404 30405 2010-03-28 Kim Grnholm <kim.gronholm (a] nomovok.com> 30406 30407 Reviewed by Simon Hausmann. 30408 30409 [Qt] GraphicsLayer: Timing functions don't work with transitions 30410 https://bugs.webkit.org/show_bug.cgi?id=36589 30411 30412 If the animation value doesn't have timing function set, we need to 30413 use the animation's timing function. 30414 30415 Fixed also a bug in passing the duration to solveCubicBezierFunction. 30416 The duration was divided two times by 1000 and meanwhile casted to int. 30417 It needs to be kept as double and divided by 1000 only once. 30418 30419 Test case: https://bugs.webkit.org/attachment.cgi?id=51619 30420 30421 * platform/graphics/qt/GraphicsLayerQt.cpp: 30422 (WebCore::applyTimingFunction): 30423 (WebCore::AnimationQt:::AnimationQtBase): 30424 (WebCore::AnimationQt::updateCurrentTime): 30425 30426 2010-03-27 Joseph Pecoraro <joepeck (a] webkit.org> 30427 30428 Reviewed by Pavel Feldman. 30429 30430 Web Inspector: Edit Tag Names 30431 https://bugs.webkit.org/show_bug.cgi?id=36481 30432 30433 Allow tabbing back and forth between the tag name and element 30434 attributes when editing. Also, fixed a number of minor issues with 30435 editing attributes and tabbing. 30436 30437 * inspector/front-end/ElementsTreeOutline.js: 30438 (WebInspector.ElementsTreeElement.prototype._startEditingTagName): find the tag name if it wasn't provided. 30439 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): fix tabbing issues, enable tab to tag name. 30440 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): cleanup styles when tabbing. 30441 * inspector/front-end/inspector.css: do not display <br>s while editing 30442 30443 2010-03-27 Joseph Pecoraro <joepeck (a] webkit.org> 30444 30445 Reviewed by Pavel Feldman. 30446 30447 Web Inspector: Edit Tag Names 30448 https://bugs.webkit.org/show_bug.cgi?id=36481 30449 30450 Allow editing an Element's Tag Name by double clicking 30451 on the tag name in the Element's Tree Hierarchy. 30452 30453 The usual asynchronous InspectorBackend, InspectorDOMAgent, InspectorFrontend flow. 30454 30455 * inspector/InspectorBackend.cpp: moved DOM manipulation to InspectorDOMAgent 30456 (WebCore::InspectorBackend::removeNode): 30457 (WebCore::InspectorBackend::changeTagName): 30458 * inspector/InspectorBackend.h: 30459 * inspector/InspectorBackend.idl: 30460 * inspector/InspectorDOMAgent.cpp: 30461 (WebCore::InspectorDOMAgent::removeNode): 30462 (WebCore::InspectorDOMAgent::changeTagName): 30463 * inspector/InspectorDOMAgent.h: 30464 * inspector/InspectorFrontend.cpp: 30465 (WebCore::InspectorFrontend::didChangeTagName): 30466 * inspector/InspectorFrontend.h: 30467 30468 * inspector/front-end/DOMAgent.js: 30469 30470 Handle the UI for editing an Element's tag name. 30471 30472 * inspector/front-end/ElementsTreeOutline.js: 30473 (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): allow editing from double click. 30474 (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener): update the closing tag 30475 (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted): remove extra listener and commit 30476 (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled): remove extra listener and cancel 30477 (WebInspector.ElementsTreeElement.prototype._startEditingTagName): 30478 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel): 30479 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded): 30480 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.editTagNameCallback): 30481 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): 30482 (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement): get the closing tag for an opening tag 30483 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): wrap the tagName in span.webkit-html-tag-name 30484 30485 Miscellaneous updates. 30486 30487 * inspector/front-end/treeoutline.js: fixed a typo. 30488 30489 2010-03-27 Dmitry Gorbik <socket.h (a] gmail.com> 30490 30491 Reviewed by Pavel Feldman. 30492 30493 Fix the regression caused by r28078: a global variable 30494 definition masks a local one in an inspector console 30495 https://bugs.webkit.org/show_bug.cgi?id=32442 30496 30497 * inspector/front-end/InjectedScript.js: 30498 (injectedScriptConstructor): 30499 30500 2010-03-27 Dan Bernstein <mitz (a] apple.com> 30501 30502 Reviewed by Darin Adler. 30503 30504 <rdar://problem/7801598> REGRESSION (r56182): iWeb shadow drawn around image rectangle, not around opaque part of the image 30505 https://bugs.webkit.org/show_bug.cgi?id=36700 30506 30507 * css/CSSPrimitiveValue.cpp: 30508 (WebCore::CSSPrimitiveValue::createColor): Reverted to returning an RGB color value rather than an 30509 identifier for the transparent color. 30510 30511 2010-03-26 Joseph Pecoraro <joepeck (a] webkit.org> 30512 30513 Reviewed by Pavel Feldman. 30514 30515 Web Inspector: Converge Inspector ids to be long, not ints 30516 https://bugs.webkit.org/show_bug.cgi?id=36706 30517 30518 Part 1: Converge on `long` for callIds, nodeIds, and other Ids. 30519 30520 * inspector/InspectorController.cpp: 30521 * inspector/InspectorController.h: 30522 * inspector/InspectorDOMAgent.cpp: 30523 * inspector/InspectorFrontend.cpp: 30524 * inspector/InspectorFrontend.h: 30525 30526 2010-03-27 Pavel Feldman <pfeldman (a] chromium.org> 30527 30528 Reviewed by Timothy Hatcher. 30529 30530 Web Inspector: add layout test for styles panel. 30531 30532 https://bugs.webkit.org/show_bug.cgi?id=36699 30533 30534 Test: inspector/elements-panel-styles.html 30535 30536 * inspector/front-end/inspector.css: 30537 (#elements-content): 30538 (#elements-sidebar): 30539 * inspector/front-end/inspector.js: 30540 (WebInspector.displayNameForURL): 30541 * inspector/front-end/utilities.js: 30542 (String.prototype.trimURL): 30543 30544 2010-03-27 Mark Rowe <mrowe (a] apple.com> 30545 30546 Reviewed by Darin Adler. 30547 30548 CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type. 30549 <http://webkit.org/b/36680> / <rdar://problem/7801016> 30550 30551 Test: fast/dom/setPrimitiveValue-exceptions.html 30552 30553 * css/CSSPrimitiveValue.cpp: 30554 (WebCore::CSSPrimitiveValue::setFloatValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in 30555 type is not a numeric type. 30556 (WebCore::CSSPrimitiveValue::setStringValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in 30557 type is not a string type. 30558 30559 2010-03-27 Robert Hogan <robert (a] webkit.org> 30560 30561 Reviewed by nobody, fix typo in previous commit. 30562 30563 Allow plugins implemented by the application, such as mimetype 'x-qt-plugin', 30564 when pluginsEnabled is false 30565 30566 Fix parentheses typo in r56661. This happened while rebasing and was not present 30567 in the reviewed patch, so committing unreviewed. 30568 30569 https://bugs.webkit.org/attachment.cgi?id=49515 30570 30571 * loader/FrameLoader.cpp: 30572 (WebCore::FrameLoader::requestObject): 30573 30574 2010-03-26 Robert Hogan <robert (a] roberthogan.net> 30575 30576 Reviewed by Simon Hausmann. 30577 30578 Allow plugins implemented by the application, such as mimetype 'x-qt-plugin', 30579 when pluginsEnabled is false. 30580 30581 The purpose of disabling plugins is to prevent the execution of third-party code 30582 that may be untrustworthy. Qt plugins are implemented by the client rather than 30583 loaded from an external source, so the client should have the opportunity to 30584 consider them separately from other plugins. 30585 30586 Add a function MimeTypeRegistry::isApplicationPluginMIMEType() that WebKit 30587 uses in conjunction with arePluginsEnabled() to determine if it should attempt 30588 to load a plugin. If isApplicationPluginMIMEType() returns true, WebKit will load 30589 the plugin even if arePluginsEnabled() is false. 30590 30591 Currently, only Qt has application-implemented plugins: these use the mimetype 30592 'x-qt-plugin' and 'x-qt-styled-widget'. This patch permits Qt clients' 30593 reimplementation of QWebPage::createPlugin() to decide whether or not 30594 to create a Qt plugin, even when arePluginsEnabled is false. 30595 30596 For all platforms apart from Qt, isApplicationPluginMIMEType() returns false. 30597 30598 https://bugs.webkit.org/show_bug.cgi?id=32196 30599 30600 Test: plugins/application-plugin-plugins-disabled.html 30601 30602 * loader/FrameLoader.cpp: 30603 (WebCore::FrameLoader::requestObject): 30604 * platform/MIMETypeRegistry.h: 30605 * platform/brew/MIMETypeRegistryBrew.cpp: 30606 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30607 * platform/chromium/MIMETypeRegistryChromium.cpp: 30608 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30609 * platform/gtk/MIMETypeRegistryGtk.cpp: 30610 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30611 * platform/haiku/MIMETypeRegistryHaiku.cpp: 30612 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30613 * platform/mac/MIMETypeRegistryMac.mm: 30614 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30615 * platform/qt/MIMETypeRegistryQt.cpp: 30616 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30617 * platform/win/MIMETypeRegistryWin.cpp: 30618 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30619 * platform/wince/MIMETypeRegistryWince.cpp: 30620 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30621 * platform/wx/MimeTypeRegistryWx.cpp: 30622 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): 30623 30624 2010-03-27 Dan Bernstein <mitz (a] apple.com> 30625 30626 Reviewed by Mark Rowe. 30627 30628 Fix Acid3 text-shadow rendering regression introduced in r56597. 30629 30630 * platform/graphics/mac/FontMac.mm: 30631 (WebCore::Font::drawGlyphs): Revert to using the simple shadow logic for zero-blur shadows, 30632 except for color bitmap fonts. 30633 30634 2010-03-26 Daniel Bates <dbates (a] rim.com> 30635 30636 Reviewed by Beth Dakin. 30637 30638 https://bugs.webkit.org/show_bug.cgi?id=9268 30639 30640 As per sections 14.2 (http://www.w3.org/TR/CSS2/colors.html#background) 30641 and 17.5.1 (http://www.w3.org/TR/CSS2/tables.html#table-layers) of the 30642 CSS 2.1 spec., the background-image of a table-row should span the 30643 entire area of the table-row (i.e cover all the <td>'s). Moreover, 30644 fixes background image painting with respect to row-groups, columns 30645 and column-groups (*). 30646 30647 Currently, the background-image of a table row, row-group, and column-group 30648 is inherited by the table cells. This directly contradicts section 14.2. 30649 Instead, the background-image should cover the entire area of the table row, 30650 row-group, column, or column-group, respectively as described in section 17.5.1. 30651 30652 (*) A follow up patch to compute the absolute content box of a column, and 30653 column-group is needed so that background image positioning for these table 30654 elements works. See bug #36104. 30655 30656 Tests: fast/table/table-background.html 30657 fast/table/table-cell-border-draws-on-top-of-col-background.html 30658 fast/table/table-cell-border-draws-on-top-of-col-group-background.html 30659 fast/table/table-cell-border-draws-on-top-of-row-background.html 30660 fast/table/table-cell-border-draws-on-top-of-row-group-background.html 30661 fast/table/table-cell-overrides-row-background.html 30662 fast/table/table-col-background.html 30663 fast/table/table-col-group-background.html 30664 fast/table/table-col-group-col-span-background.html 30665 fast/table/table-col-group-span-background.html 30666 fast/table/table-col-span-background.html 30667 fast/table/table-row-background-left-50px.html 30668 fast/table/table-row-background-right-100percent.html 30669 fast/table/table-row-background-right-50px.html 30670 fast/table/table-row-background.html 30671 fast/table/table-row-group-background-positioned.html 30672 fast/table/table-row-group-background.html 30673 30674 * rendering/RenderBoxModelObject.cpp: 30675 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 30676 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Modified 30677 to call RenderObject::adjustBackgroundImagePosition. 30678 * rendering/RenderBoxModelObject.h: 30679 * rendering/RenderObject.h: 30680 (WebCore::RenderObject::adjustBackgroundImagePosition): Added. 30681 * rendering/RenderTableCell.cpp: 30682 (WebCore::RenderTableCell::adjustBackgroundImagePosition): Added. 30683 * rendering/RenderTableCell.h: 30684 30685 2010-03-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 30686 30687 Unreviewed, minor build fix. 30688 30689 [Gtk] Guard defined but not used function 30690 30691 Eliminate the "defined but not used" warning after r52684. 30692 No new tests as there is no new functionality. 30693 30694 * platform/ContextMenu.cpp: 30695 30696 2010-03-26 Justin Schuh <jschuh (a] chromium.org> 30697 30698 Reviewed by Adam Barth. 30699 30700 Security: iFrame.src accepts JavaScript URL via nodeValue or textContent 30701 https://bugs.webkit.org/show_bug.cgi?id=36502 30702 30703 Overrode inherited nodeValue and textContent in Attr.idl so they proxy 30704 to value, which performs a security check. 30705 30706 Test: http/tests/security/xss-DENIED-iframe-src-alias.html 30707 30708 * bindings/js/JSAttrCustom.cpp: 30709 (WebCore::JSAttr::nodeValue): 30710 (WebCore::JSAttr::setNodeValue): 30711 (WebCore::JSAttr::textContent): 30712 (WebCore::JSAttr::setTextContent): 30713 * bindings/v8/custom/V8AttrCustom.cpp: 30714 (WebCore::V8Attr::nodeValueAccessorSetter): 30715 (WebCore::V8Attr::nodeValueAccessorGetter): 30716 (WebCore::V8Attr::textContentAccessorSetter): 30717 (WebCore::V8Attr::textContentAccessorGetter): 30718 * dom/Attr.idl: 30719 30720 2010-03-26 Eric Carlson <eric.carlson (a] apple.com> 30721 30722 <rdar://problem/7320584> 30723 https://bugs.webkit.org/show_bug.cgi?id=36681 30724 "new Audio()" doesn't work with plug-in backed media engine. 30725 30726 Don't require plug-in backed <video> and <audio> elements to be in the document to play. 30727 30728 * html/HTMLMediaElement.cpp: 30729 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_proxyWidget 30730 (WebCore::HTMLMediaElement::createRenderer): Set renderer widget if it has already been 30731 allocated. 30732 (WebCore::HTMLMediaElement::scheduleLoad): Call createMediaPlayerProxy to make sure we 30733 have a plug-in proxy. 30734 (WebCore::HTMLMediaElement::loadResource): Ditto. 30735 (WebCore::HTMLMediaElement::ensureMediaPlayer): Allocate media player. 30736 (WebCore::HTMLMediaElement::setMediaPlayerProxy): Call ensureMediaPlayer. 30737 (WebCore::HTMLMediaElement::getPluginProxyParams): New, return the url and params vectors. 30738 (WebCore::HTMLMediaElement::finishParsingChildren): Call createMediaPlayerProxy. 30739 (WebCore::HTMLMediaElement::createMediaPlayerProxy): New, allocate the proxy widget if necessary. 30740 * html/HTMLMediaElement.h: 30741 30742 * loader/EmptyClients.h: 30743 (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Add declaration. 30744 30745 * loader/FrameLoader.cpp: 30746 (WebCore::toPlugInElement): Don't allow an audio or video element to be cast to a plug-in element. 30747 (WebCore::FrameLoader::loadPlugin): 30748 (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): New, allocate a media player proxy plug-in. 30749 30750 * loader/FrameLoader.h: Declare loadMediaPlayerProxyPlugin. 30751 30752 * loader/FrameLoaderClient.h: Declare createMediaPlayerProxyPlugin. 30753 30754 * rendering/RenderEmbeddedObject.cpp: 30755 (WebCore::RenderEmbeddedObject::updateWidget): Call loadMediaPlayerProxyPlugin when passed an 30756 audio or video node. 30757 30758 * rendering/RenderLayerCompositor.cpp: 30759 (WebCore::RenderLayerCompositor::requiresCompositingForVideo): 30760 30761 * rendering/RenderVideo.cpp: 30762 (WebCore::RenderVideo::RenderVideo): Get default width and height from defaultSize. 30763 (WebCore::RenderVideo::defaultSize): New, return the spec defined default width and height. 30764 * rendering/RenderVideo.h: 30765 30766 2010-03-26 Simon Fraser <simon.fraser (a] apple.com> 30767 30768 Reviewed by Dan Bernstein, Darin Adler. 30769 30770 Re-entrant layout via plug-ins may cause crashes with bad RenderWidgets 30771 https://bugs.webkit.org/show_bug.cgi?id=36675 30772 <rdar://problem/7787617> 30773 30774 Fix two places in the code where RenderWidgets can get destroyed while being iterated over. 30775 This can happen when plug-ins execute script from NPP_SetWindow, and that script makes a change 30776 to the page that destroys a RenderWidget. 30777 30778 Tests: plugins/reentrant-update-widget-positions.html 30779 plugins/update-widgets-crash.html 30780 30781 * page/FrameView.cpp: 30782 (WebCore::FrameView::updateWidgets): ref() the RenderEmbeddedObjects that are put into the 30783 vector before iterating of them, and deref() them at the end. Rather than checking the m_widgetUpdateSet 30784 to see if the RenderWidget is still live, test object->node(). 30785 30786 * rendering/RenderView.cpp: 30787 (WebCore::RenderView::RenderView): Initialize some data members to make it more obvious in the debugger 30788 that the object is not garbage. 30789 (WebCore::RenderView::updateWidgetPositions): Use a Vector of RenderWidget* to keep the RenderWidgets 30790 alive during iteration, by reffing and dereffing them. 30791 * rendering/RenderWidget.h: 30792 (WebCore::RenderWidget::ref): Make this and deref() public. 30793 30794 2010-03-26 Beth Dakin <bdakin (a] apple.com> 30795 30796 Reviewed by Darin Adler. 30797 30798 Partial fix for https://bugs.webkit.org/show_bug.cgi?id=36564 30799 Performance regression for setting content of <text> in SVG 30800 -and corresponding- 30801 <rdar://problem/7693963> 30802 30803 toClipPath() is extremely inefficient, so this patch removes the 30804 call to it from RenderSVGResourceClipper::resourceBoundingBox() 30805 which is very hot code in SVG with clip-paths. It is sufficient to 30806 call unite with the objectBoundingBox(), which will return early if 30807 objectBoundingBox() is empty. 30808 30809 * rendering/RenderSVGResourceClipper.cpp: 30810 (WebCore::RenderSVGResourceClipper::resourceBoundingBox): 30811 30812 2010-03-26 Joseph Pecoraro <joepeck (a] webkit.org> 30813 30814 Reviewed by Dave Hyatt. 30815 30816 Generated run-in Content is Mistakenly Getting Deleted 30817 https://bugs.webkit.org/show_bug.cgi?id=36505 30818 <rdar://problem/7767161> 30819 30820 Test: fast/runin/generated2.html 30821 Test: fast/runin/generated3.html 30822 Test: fast/runin/generated4.html 30823 30824 Do not destroy :before/:after generated content with display run-in 30825 when relaying out different nodes. Have their real owners correctly 30826 handle them. 30827 30828 * rendering/RenderObjectChildList.cpp: 30829 (WebCore::RenderObjectChildList::updateBeforeAfterContent): simplified logic 30830 (WebCore::RenderObjectChildList::beforeAfterContainer): skip generated run-ins when checking children, check for them in grandchildren 30831 30832 2010-03-25 Ojan Vafai <ojan (a] chromium.org> 30833 30834 Reviewed by Darin Adler. 30835 30836 shift+home/end and cmd+shift+left/right don't extend the selection correctly 30837 https://bugs.webkit.org/show_bug.cgi?id=36539 30838 30839 * WebCore.base.exp: 30840 * editing/SelectionController.cpp: 30841 (WebCore::SelectionController::modify): 30842 * editing/SelectionController.h: 30843 30844 2010-03-26 Janne Koskinen <janne.p.koskinen (a] digia.com> 30845 30846 Reviewed by Laszlo Gombos. 30847 30848 Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets. 30849 https://bugs.webkit.org/show_bug.cgi?id=34081 30850 30851 Defining StringImpl instances as globals will cause a crash on process exit as 30852 StringImpl::Remove expects TLS which was already deleted at time of exiting main and ends up 30853 constructing one exiting thread. 30854 30855 * config.h: 30856 30857 2010-03-26 Andrey Kosyakov <caseq (a] chromium.org> 30858 30859 Reviewed by Pavel Feldman. 30860 30861 30862 Send worker resource content to inspector to enable display of web 30863 workers in inspector's resource tab. 30864 https://bugs.webkit.org/show_bug.cgi?id=36658 30865 30866 * inspector/InspectorController.cpp: 30867 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 30868 (WebCore::InspectorController::scriptImported): 30869 * inspector/InspectorResource.cpp: 30870 (WebCore::InspectorResource::type): 30871 (WebCore::InspectorResource::setOverrideContent): 30872 (WebCore::InspectorResource::sourceString): 30873 * inspector/InspectorResource.h: 30874 * workers/DefaultSharedWorkerRepository.cpp: 30875 (WebCore::SharedWorkerScriptLoader::notifyFinished): 30876 * workers/Worker.cpp: 30877 (WebCore::Worker::notifyFinished): 30878 30879 2010-03-26 Yael Aharon <yael.aharon (a] nokia.com> 30880 30881 Reviewed by Antti Koivisto. 30882 30883 Fix the rendering of HTMLProgressElement 30884 https://bugs.webkit.org/show_bug.cgi?id=36206 30885 30886 Update the rendering and css to conform to 30887 http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0. 30888 Updated the tests and the expected results accordingly. 30889 30890 * css/html.css: 30891 (progress): 30892 * rendering/RenderProgress.cpp: 30893 (WebCore::RenderProgress::RenderProgress): 30894 (WebCore::RenderProgress::updateFromElement): 30895 * rendering/RenderProgress.h: 30896 (WebCore::RenderProgress::isProgress): 30897 30898 2010-03-26 Julien Chaffraix <jchaffraix (a] webkit.org> 30899 30900 Unreviewed build fix. 30901 30902 FontPlatformDataPango.cpp: prototype for 30903 'WebCore::FontPlatformData::FontPlatformData(cairo_font_face_t*, int, bool, bool)' 30904 does not match any in class 30905 https://bugs.webkit.org/show_bug.cgi?id=36496 30906 30907 * platform/graphics/gtk/FontPlatformDataPango.cpp: 30908 (WebCore::FontPlatformData::FontPlatformData): The 'size' parameter 30909 should be a float to match the declaration and the other definitions. 30910 30911 2010-03-26 Shu Chang <chang.shu (a] nokia.com> 30912 30913 Reviewed by Eric Seidel. 30914 30915 [Qt] Prevent referring d->m_job in the future because calling abort() 30916 deletes the instance itself. 30917 https://bugs.webkit.org/show_bug.cgi?id=36618 30918 30919 Test: http/tests/appcache/fallback.html 30920 30921 * platform/network/qt/ResourceHandleQt.cpp: 30922 (WebCore::ResourceHandle::cancel): 30923 30924 2010-03-26 Stephen White <senorblanco (a] chromium.org> 30925 30926 Unreviewed; build fix. 30927 30928 Rolling out 56620; too many layout test failures. 30929 30930 Covered by fast/css/*. 30931 30932 * css/CSSPrimitiveValue.cpp: 30933 (WebCore::CSSPrimitiveValue::cleanup): 30934 (WebCore::CSSPrimitiveValue::cssText): 30935 * css/CSSPrimitiveValue.h: 30936 (WebCore::CSSPrimitiveValue::): 30937 30938 2010-03-26 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 30939 30940 Reviewed by Simon Hausmann. 30941 30942 [Qt] Build JavaScriptCore as a static library. 30943 https://bugs.webkit.org/show_bug.cgi?id=36590 30944 30945 This patch takes what was left of the unused JavaScriptCore.pro 30946 and moved the compilation logic from JavaScriptCore.pri to 30947 JavaScriptCore.pro. 30948 30949 * WebCore.pro: 30950 30951 2010-03-26 Olivier Goffart <ogoffart (a] trolltech.com> 30952 30953 Reviewed by Simon Hausmann. 30954 30955 [Qt] Fix compilation on Windows 30956 30957 For some reason, the MSVC compiler choose the 30958 operator+(const QString &, const QString &) instead of 30959 operator+(const WebCore::String &, const WebCore::String &) 30960 resulting in errors when QT_USE_FAST_OPERATOR_PLUS is used. 30961 30962 * dom/XMLTokenizerQt.cpp: 30963 (WebCore::handleElementNamespaces): 30964 30965 2010-03-24 Stephen White <senorblanco (a] chromium.org> 30966 30967 Reviewed by Darin Adler. 30968 30969 In order to speed up multiple calls to CSSPrimitiveValue::cssText(), 30970 this CL caches the String result. When m_value is changed, the 30971 cached string is cleared. This gives a good speedup on benchmarks 30972 which do a lot of CSS property gets, such as Peacekeeper. 30973 The processing cost should be negligible, since the strings are 30974 refcounted. The memory cost is an additional 4 bytes per 30975 CSSPrimitiveValue, and the extended lifetime of the computed string 30976 (potentially, the same as the lifetime of the CSSPrimitiveValue). 30977 30978 https://bugs.webkit.org/show_bug.cgi?id=36556 30979 30980 Covered by fast/css/large-number-round-trip.html, and more. 30981 30982 * css/CSSPrimitiveValue.cpp: 30983 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 30984 (WebCore::CSSPrimitiveValue::cleanup): 30985 (WebCore::CSSPrimitiveValue::cssText): 30986 * css/CSSPrimitiveValue.h: 30987 30988 2010-03-26 Qi Zhang <qi.2.zhang (a] nokia.com> 30989 30990 Reviewed by Laszlo Gombos. 30991 30992 [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed 30993 https://bugs.webkit.org/show_bug.cgi?id=35005 30994 30995 To support negative width or height at context.drawImage 30996 30997 * platform/graphics/qt/StillImageQt.cpp: 30998 (WebCore::StillImage::draw): 30999 31000 2010-03-08 Philippe Normand <pnormand (a] igalia.com> 31001 31002 Reviewed by Gustavo Noronha. 31003 31004 [GStreamer] soften dependency on libsoup in the http src element 31005 https://bugs.webkit.org/show_bug.cgi?id=35864 31006 31007 Replaced SoupURI calls with KURL and pause/resume internal soup 31008 messages only if the element is compiled for a port depending on 31009 libsoup. 31010 31011 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 31012 (webkit_web_src_init): 31013 (webKitWebSrcSetUri): 31014 (webKitWebSrcNeedDataMainCb): 31015 (webKitWebSrcEnoughDataMainCb): 31016 31017 2010-03-25 Ilya Tikhonovsky <loislo (a] chromium.org> 31018 31019 Reviewed by Pavel Feldman. 31020 31021 Web Inspector: Shot record filter is implemented in Timeline Panel. 31022 https://bugs.webkit.org/show_bug.cgi?id=36606 31023 31024 * English.lproj/localizedStrings.js: 31025 * inspector/front-end/TimelinePanel.js: 31026 (WebInspector.TimelinePanel): 31027 (WebInspector.TimelinePanel.prototype.get statusBarItems): 31028 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 31029 (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked): 31030 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 31031 (WebInspector.TimelinePanel.prototype._addToRecordsWindow): 31032 (WebInspector.TimelineRecordGraphRow.prototype.update): 31033 (WebInspector.TimelinePanel.FormattedRecord.prototype.get _isLongEvent): 31034 * inspector/front-end/inspector.css: 31035 31036 2010-03-25 Pavel Feldman <pfeldman (a] chromium.org> 31037 31038 Reviewed by Timothy Hatcher. 31039 31040 Web Inspector: Implement CSSStyleSelector::pseudoStyleForElement and use it in the InspectorDOMAgent. 31041 31042 https://bugs.webkit.org/show_bug.cgi?id=36509 31043 31044 This change provides pseudo elements information into the inspector styles sidebar pane. 31045 Changes applied: 31046 - CSSStyleSelector::pseudoStyleRulesForElement implemented. I changed the signature to accept 31047 PseudoId instead of a String since it better reflected the needs; 31048 - Accompanied elementStyle checks with m_collectRulesOnly checks; 31049 - Removed pseudoStyleRulesForElement usage from DOMWindow::getMatchedCSSRules. It was anyways 31050 returning 0, while I would need to convert String to PseudoId in order to leave the call in place; 31051 - Needed to introduce AFTER_LAST_INTERNAL_PSEUDOID marker const in RenderStyleConstants' PseudoId enum 31052 - InspectorDOMAgent is now iterating over all pseudo ids to get all styles (including internal ones). 31053 - Brushed up front-end code so that proper overriding took place locally within pseudo id categories. 31054 31055 * English.lproj/localizedStrings.js: 31056 * css/CSSStyleSelector.cpp: 31057 (WebCore::CSSStyleSelector::styleRulesForElement): 31058 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): 31059 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 31060 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 31061 * css/CSSStyleSelector.h: 31062 * inspector/InspectorDOMAgent.cpp: 31063 (WebCore::InspectorDOMAgent::getStyles): 31064 (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles): 31065 (WebCore::InspectorDOMAgent::buildArrayForCSSRules): 31066 (WebCore::InspectorDOMAgent::buildArrayForPseudoElements): 31067 * inspector/InspectorDOMAgent.h: 31068 * inspector/front-end/StylesSidebarPane.js: 31069 (WebInspector.StylesSidebarPane.prototype.update.callback): 31070 (WebInspector.StylesSidebarPane.prototype.update): 31071 (WebInspector.StylesSidebarPane.prototype._update): 31072 (WebInspector.StylesSidebarPane.prototype._refreshStyleRules): 31073 (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.insertInheritedNodeSeparator): 31074 (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules): 31075 (WebInspector.StylesSidebarPane.prototype._markUsedProperties): 31076 (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules): 31077 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules): 31078 (WebInspector.StylesSidebarPane.prototype._changeColorFormat): 31079 (WebInspector.StylesSidebarPane.prototype.addBlankSection): 31080 (WebInspector.StylesSidebarPane.prototype.removeSection): 31081 * inspector/front-end/inspector.css: 31082 (.styles-sidebar-separator): 31083 * page/DOMWindow.cpp: 31084 (WebCore::DOMWindow::getMatchedCSSRules): 31085 * rendering/style/RenderStyleConstants.h: 31086 (WebCore::): 31087 31088 2010-03-25 Charlie Reis <creis (a] chromium.org> 31089 31090 Reviewed by Adam Barth. 31091 31092 onbeforeunload not called at window close + frame or iframe focused 31093 https://bugs.webkit.org/show_bug.cgi?id=27481 31094 31095 Test: fast/events/onbeforeunload-focused-iframe.html 31096 31097 Replaces initial manual tests with a layout test. 31098 31099 * manual-tests/onbeforeunload-focused-iframe.html: Removed. 31100 * manual-tests/resources/focused-iframe.html: Removed. 31101 31102 2010-03-25 Eric Uhrhane <ericu (a] chromium.org> 31103 31104 Reviewed by David Levin. 31105 31106 Missing lock in call to doneCreatingDatabase 31107 https://bugs.webkit.org/show_bug.cgi?id=36473 31108 31109 Added new test storage/open-database-over-quota.html. 31110 31111 * storage/DatabaseTracker.cpp: 31112 (WebCore::DatabaseTracker::canEstablishDatabase): Added missing lock call. 31113 31114 2010-03-25 Ojan Vafai <ojan (a] chromium.org> 31115 31116 Reviewed by Eric Seidel. 31117 31118 [chromium] REGRESSION: Some LayoutTests fail after r56567 31119 https://bugs.webkit.org/show_bug.cgi?id=36630 31120 31121 Fix boolean logic goofup. This was a last minute code review 31122 change that didn't get tested on Windows before commit. 31123 31124 * editing/SelectionController.cpp: 31125 (WebCore::SelectionController::setIsDirectional): 31126 31127 2010-03-25 Dan Bernstein <mitz (a] apple.com> 31128 31129 Reviewed by Darin Adler. 31130 31131 <rdar://problem/7728903> Support color bitmap fonts 31132 31133 Test: platform/mac/fonts/color-bitmap.html 31134 31135 * platform/graphics/mac/FontMac.mm: 31136 (WebCore::showGlyphsWithAdvances): Added. Calls CGContextShowGlyphsWithAdvances() 31137 or CTFontShowGlyphs() depending on whether the font is a color bitmap font. 31138 (WebCore::Font::drawGlyphs): Use showGlyphsWithAdvances(). Dont include the fonts matrix in 31139 the contexts text matrix when drawing with a color bitmap font, because CTFontShowGlyphs() 31140 factors it in. 31141 * platform/graphics/mac/FontPlatformData.h: 31142 (WebCore::FontPlatformData::FontPlatformData): Added m_isColorBitmapFont member 31143 and initialized it in constructors. 31144 (WebCore::FontPlatformData::isColorBitmapFont): Added this getter. 31145 * platform/graphics/mac/FontPlatformDataMac.mm: 31146 (WebCore::FontPlatformData::FontPlatformData): Initialize m_isColorBitmapFont. 31147 (WebCore::FontPlatformData::operator=): Copy m_isColorBitmapFont. 31148 (WebCore::FontPlatformData::setFont): Set m_isColorBitmapFont. 31149 31150 2010-03-25 Adam Barth <abarth (a] webkit.org> 31151 31152 Reviewed by Sam Weinig. 31153 31154 Implement allow-top-navigation for HTML5 sandbox attribute 31155 https://bugs.webkit.org/show_bug.cgi?id=36549 31156 31157 Tests: fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html 31158 fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html 31159 fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html 31160 fast/frames/sandboxed-iframe-navigation-top-by-name.html 31161 fast/frames/sandboxed-iframe-navigation-top-denied.html 31162 fast/frames/sandboxed-iframe-navigation-top.html 31163 31164 * bindings/generic/BindingDOMWindow.h: 31165 (WebCore::::createWindow): 31166 * bindings/js/JSDOMWindowCustom.cpp: 31167 (WebCore::createWindow): 31168 Moved the security check to FrameLoader because we need to allow 31169 window.open navigation to succeed sometimes when the 31170 SandboxNavigation bit is set. 31171 * html/HTMLIFrameElement.cpp: 31172 (WebCore::parseSandboxAttribute): 31173 Added allow-top-navigation to the parser. 31174 * loader/FrameLoader.cpp: 31175 (WebCore::FrameLoader::createWindow): 31176 The SandboxNavigation check now occurs after we search for the frame 31177 by name. Notice that the named frame navigation case is caught by 31178 the generic navigation access check. 31179 (WebCore::FrameLoader::shouldAllowNavigation): 31180 Update the navigation access check to allow navigating of top unless 31181 it's forbidden. 31182 * loader/FrameLoaderTypes.h: 31183 Introduce a bit for SandboxedTopNavigation. 31184 (WebCore::): 31185 31186 2010-03-25 Dumitru Daniliuc <dumi (a] chromium.org> 31187 31188 Unreviewed, Chromium build fix. 31189 31190 V8CustomVoidCallback should not check if a return value is a 31191 boolean. It should only convert the value to a boolean. 31192 31193 * bindings/v8/custom/V8CustomVoidCallback.cpp: 31194 (WebCore::invokeCallback): 31195 31196 2010-03-25 Dmitry Titov <dimich (a] chromium.org> 31197 31198 No review, rolling out r56585. 31199 http://trac.webkit.org/changeset/56585 31200 https://bugs.webkit.org/show_bug.cgi?id=36621 31201 31202 Broke Chromium builds on waterfall 31203 31204 * plugins/PluginView.cpp: 31205 (WebCore::PluginView::getValue): 31206 * plugins/PluginView.h: 31207 * plugins/PluginViewNone.cpp: 31208 (WebCore::PluginView::setJavaScriptPaused): 31209 31210 2010-03-25 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 31211 31212 Reviewed by Darin Adler. 31213 31214 Fix build if NPAPI support is disabled 31215 https://bugs.webkit.org/show_bug.cgi?id=36621 31216 31217 No new tests, this is a build fix. 31218 31219 * plugins/PluginView.cpp: Guard getValueStatic() with 31220 NETSCAPE_PLUGIN_API 31221 (WebCore::PluginView::getValue): 31222 * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API 31223 * plugins/PluginViewNone.cpp: Guard platformGetValue() and 31224 platformGetValueStatic with NETSCAPE_PLUGIN_API; 31225 Guard privateBrowsingStateChanged() and setJavaScriptPaused() with 31226 PLATFORM(MAC) 31227 31228 2010-03-25 Drew Wilson <atwilson (a] chromium.org> 31229 31230 Reviewed by Nate Chapin. 31231 31232 [v8] Error in getScriptExecutionContext() when worker context is terminating. 31233 https://bugs.webkit.org/show_bug.cgi?id=36565 31234 31235 Removed WorkerScriptExecutionProxy::retrieve() and added WorkerScriptController::controllerForContext(). This allows 31236 callers to differentiate between "the current context is shutting down" vs "the current context is not a worker context". 31237 31238 Test: Existing worker tests suffice. 31239 31240 * bindings/v8/V8DOMWrapper.cpp: 31241 (WebCore::V8DOMWrapper::getConstructor): 31242 Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve(). 31243 * bindings/v8/V8Utilities.cpp: 31244 (WebCore::getScriptExecutionContext): 31245 Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve(). 31246 * bindings/v8/WorkerContextExecutionProxy.cpp: 31247 Removed WorkerScriptExecutionProxy::retrieve(). 31248 * bindings/v8/WorkerContextExecutionProxy.h: 31249 Removed WorkerScriptExecutionProxy::retrieve(). 31250 * bindings/v8/WorkerScriptController.cpp: 31251 (WebCore::WorkerScriptController::controllerForContext): 31252 Added helper function to get the WorkerScriptController for the current context. 31253 * bindings/v8/WorkerScriptController.h: 31254 Added declaration for controllerForContext(). 31255 31256 2010-03-25 Simon Hausmann <simon.hausmann (a] nokia.com> 31257 31258 Reviewed by Kenneth Rohde Christiansen. 31259 31260 [Qt] Fix the package build on Maemo 5 31261 31262 https://bugs.webkit.org/show_bug.cgi?id=36607 31263 31264 Always embed the stylesheet for the no-listbox rendering. This way it'll be 31265 included in the generated files for the package generation. 31266 31267 * WebCore.pri: 31268 31269 2010-03-24 Dumitru Daniliuc <dumi (a] chromium.org> 31270 31271 Reviewed by Dimitri Glazkov. 31272 31273 Changing the V8 and JSC implementations of 31274 SQLStatementErrorCallback to interpret as false all results that 31275 could be converted to a false boolean. Pretty much a revert of 31276 r54981. 31277 31278 https://bugs.webkit.org/show_bug.cgi?id=36569 31279 31280 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 31281 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 31282 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 31283 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 31284 * bindings/v8/custom/V8CustomVoidCallback.cpp: 31285 (WebCore::invokeCallback): 31286 * bindings/v8/custom/V8CustomVoidCallback.h: 31287 31288 2010-03-25 Dmitry Titov <dimich (a] chromium.org> 31289 31290 Unreviewed, fix Chromium tests. 31291 31292 Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that 31293 have unspecified port to return invalidPortNumber from KURL::port(). 31294 31295 * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports. 31296 (WebCore::KURL::port): 31297 31298 2010-03-25 Dirk Schulze <krit (a] webkit.org> 31299 31300 Reviewed by Nikolas Zimmermann. 31301 31302 This is a follow up of: 31303 https://bugs.webkit.org/show_bug.cgi?id=30055 31304 Bad DOM performance in large SVG files 31305 31306 Just save and restore the GraphicsContext, if we realy modify it. 31307 (Cairo)Path::contains checks if a point is in the boundingBox 31308 as a heuristic. The intention was to make the process faster for 31309 points outside of this rect, but it rather causes the 31310 opposite. 31311 31312 No new test cases added. No change in functionality. 31313 31314 * platform/graphics/cairo/PathCairo.cpp: 31315 (WebCore::Path::contains): 31316 * rendering/RenderPath.cpp: 31317 (WebCore::RenderPath::paint): 31318 31319 2010-03-25 Ojan Vafai <ojan (a] chromium.org> 31320 31321 Reviewed by David Levin. 31322 31323 mouse-based selections are always directional on Windows/Linux 31324 https://bugs.webkit.org/show_bug.cgi?id=25195 31325 31326 Change m_lastChangeWasHorizontalExtension to m_isDirectional 31327 and make m_isDirectional always be true for Windows/Linux. 31328 31329 * editing/SelectionController.cpp: 31330 (WebCore::SelectionController::SelectionController): 31331 (WebCore::SelectionController::setSelection): 31332 (WebCore::SelectionController::setIsDirectional): 31333 (WebCore::SelectionController::willBeModified): 31334 When double-clicking, the base/extent will be in the middle 31335 of the selection instead of the start/end of it. Changed to 31336 maintain that modifications after double-click still move the 31337 start/end of the selection, not the base/extent. 31338 (WebCore::SelectionController::modify): 31339 * editing/SelectionController.h: 31340 * page/EventHandler.cpp: 31341 (WebCore::EventHandler::handleMousePressEventSingleClick): 31342 (WebCore::EventHandler::updateSelectionForMouseDrag): 31343 31344 2010-03-25 Simon Fraser <simon.fraser (a] apple.com> 31345 31346 Revert r56565 which was based on an incorrect premise. 31347 31348 * page/animation/CompositeAnimation.cpp: 31349 (WebCore::CompositeAnimation::clearRenderer): 31350 (WebCore::CompositeAnimation::updateKeyframeAnimations): 31351 (WebCore::CompositeAnimation::getAnimatedStyle): 31352 (WebCore::CompositeAnimation::setAnimating): 31353 (WebCore::CompositeAnimation::timeToNextService): 31354 (WebCore::CompositeAnimation::getAnimationForProperty): 31355 (WebCore::CompositeAnimation::suspendAnimations): 31356 (WebCore::CompositeAnimation::resumeAnimations): 31357 (WebCore::CompositeAnimation::isAnimatingProperty): 31358 (WebCore::CompositeAnimation::pauseAnimationAtTime): 31359 (WebCore::CompositeAnimation::numberOfActiveAnimations): 31360 31361 2010-03-25 Simon Fraser <simon.fraser (a] apple.com> 31362 31363 Reviewed by Eric Carlson. 31364 31365 Make calls to m_keyframeAnimations.checkConsistency() debug-only 31366 https://bugs.webkit.org/show_bug.cgi?id=36555 31367 31368 Remove lots of calls to m_keyframeAnimations.checkConsistency(); which were left after some earlier 31369 debugging. Leave one in CompositeAnimation::animate() to catch any future issues, which is OK since 31370 these calls are no-ops in release builds. 31371 31372 * page/animation/CompositeAnimation.cpp: 31373 (WebCore::CompositeAnimation::clearRenderer): 31374 (WebCore::CompositeAnimation::updateKeyframeAnimations): 31375 (WebCore::CompositeAnimation::getAnimatedStyle): 31376 (WebCore::CompositeAnimation::setAnimating): 31377 (WebCore::CompositeAnimation::timeToNextService): 31378 (WebCore::CompositeAnimation::getAnimationForProperty): 31379 (WebCore::CompositeAnimation::suspendAnimations): 31380 (WebCore::CompositeAnimation::resumeAnimations): 31381 (WebCore::CompositeAnimation::isAnimatingProperty): 31382 (WebCore::CompositeAnimation::pauseAnimationAtTime): 31383 (WebCore::CompositeAnimation::numberOfActiveAnimations): 31384 31385 2010-03-25 Simon Fraser <simon.fraser (a] apple.com> 31386 31387 Reviewed by Geoffrey Garen. 31388 31389 https://bugs.webkit.org/show_bug.cgi?id=36557 31390 Animations use the wrong timing-function sometimes 31391 31392 Fix an issue where animations picked the wrong style for their "unanimated" value. 31393 31394 Previously, the "unanimated" style was considered to be the style before the animation 31395 was applied. This caused us to pick up stale values for animation timing functions, for 31396 blending when a property is missing from the first keyframe, and for resuming transitions 31397 once an animation ends. 31398 31399 Instead, we need to use the "current" style, which is the one that causes the animation 31400 to kick off. 31401 31402 Tests: animations/longhand-timing-function.html 31403 animations/transition-and-animation-3.html 31404 animations/unanimated-style.html 31405 31406 * page/animation/CompositeAnimation.cpp: 31407 (WebCore::CompositeAnimation::updateKeyframeAnimations): 31408 31409 2010-03-25 Gavin Barraclough <barraclough (a] apple.com> 31410 31411 Reviewed by Geoff Garen. 31412 31413 Bug 36611 - Cleanup JSC::CString 31414 Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(), 31415 remove UString::getCString() (all uses are wrong, should use UString::UTF8String()). 31416 31417 * bridge/NP_jsobject.cpp: 31418 (_NPN_Enumerate): 31419 * bridge/c/c_utility.cpp: 31420 (JSC::Bindings::convertValueToNPVariant): 31421 * bridge/jni/jsc/JNIBridgeJSC.cpp: 31422 (JavaField::valueFromInstance): 31423 (JavaField::setValueToInstance): 31424 * bridge/jni/jsc/JavaInstanceJSC.cpp: 31425 (JavaInstance::invokeMethod): 31426 * bridge/jni/jsc/JavaStringJSC.h: 31427 (JSC::Bindings::JavaStringImpl::UTF8String): 31428 31429 2010-03-25 Jakub Wieczorek <jwieczorek (a] webkit.org> 31430 31431 Reviewed by Eric Seidel. 31432 31433 [Qt] RenderTheme: fix size adjustment for text fields 31434 https://bugs.webkit.org/show_bug.cgi?id=36413 31435 31436 To match other ports, remove the hardcoded dimensions for text fields so that 31437 the default ones from WebCore can be used. 31438 Properly apply the correct padding to text areas - this fixes their appearance 31439 with the Oxygen style. 31440 31441 * platform/qt/RenderThemeQt.cpp: 31442 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 31443 31444 2010-03-25 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 31445 31446 Reviewed by Simon Hausmann. 31447 31448 [Qt] Implement ChromeClient::windowResizerRect() 31449 31450 https://bugs.webkit.org/show_bug.cgi?id=21300 31451 31452 The helper function geometryRelativeToOwnerWidget() in the page 31453 client is used to clip the resize rect to the actual size of the 31454 viewport, not the size of the QGraphicsView. 31455 31456 * platform/qt/QWebPageClient.h: 31457 31458 2010-03-25 Joseph Pecoraro <joepeck (a] webkit.org> 31459 31460 Reviewed by Pavel Feldman. 31461 31462 Web Inspector: reloading debug target window with cmd-R from inspector window produces beep. 31463 https://bugs.webkit.org/show_bug.cgi?id=36554 31464 31465 * inspector/front-end/inspector.js: 31466 (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep. 31467 31468 2010-03-25 Jochen Eisinger <jochen (a] chromium.org> 31469 31470 Reviewed by Jeremy Orlow. 31471 31472 Forward DatabaseTracker::canEstablishDatabase to chromium layer. 31473 https://bugs.webkit.org/show_bug.cgi?id=36595 31474 31475 * storage/chromium/DatabaseObserver.h: 31476 * storage/chromium/DatabaseTrackerChromium.cpp: 31477 (WebCore::DatabaseTracker::canEstablishDatabase): 31478 31479 2010-03-25 yael aharon <yael.aharon (a] nokia.com> 31480 31481 Reviewed by Laszlo Gombos. 31482 31483 [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian 31484 https://bugs.webkit.org/show_bug.cgi?id=35112 31485 31486 Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView. 31487 31488 * plugins/symbian/PluginContainerSymbian.cpp: 31489 (PluginContainerSymbian::PluginContainerSymbian): 31490 (PluginContainerSymbian::focusInEvent): 31491 * plugins/symbian/PluginContainerSymbian.h: 31492 (WebCore::PluginContainerSymbian::proxy): 31493 * plugins/symbian/PluginViewSymbian.cpp: 31494 (WebCore::PluginView::updatePluginWidget): 31495 (WebCore::PluginView::platformStart): 31496 (WebCore::PluginView::platformDestroy): 31497 31498 2010-03-25 Simon Fraser <simon.fraser (a] apple.com> 31499 31500 Reviewed by Adele Peterson. 31501 31502 https://bugs.webkit.org/show_bug.cgi?id=35714 31503 Computed style on delayed transform animations is incorrect 31504 31505 When fetching computed style while a delayed accelerated animation is in effect, 31506 we would get the value form the first keyframe, rather than getting the current 31507 style. 31508 31509 Fix by checking to see whether we've in the delay phase (with no backwards-fill) 31510 in KeyframeAnimation::getAnimatedStyle(). 31511 31512 Test: compositing/animation/computed-style-during-delay.html 31513 31514 * page/animation/KeyframeAnimation.cpp: 31515 (WebCore::KeyframeAnimation::getAnimatedStyle): 31516 31517 2010-03-25 Yury Semikhatsky <yurys (a] chromium.org> 31518 31519 Reviewed by Pavel Feldman. 31520 31521 Initialize Web Inspector title with inspected page URL when opening Web Inspector. 31522 31523 https://bugs.webkit.org/show_bug.cgi?id=36534 31524 31525 * inspector/InspectorController.cpp: 31526 (WebCore::InspectorController::setFrontend): 31527 31528 2010-03-25 Antti Koivisto <koivisto (a] iki.fi> 31529 31530 Reviewed by Kenneth Rohde Christiansen. 31531 31532 https://bugs.webkit.org/show_bug.cgi?id=36316 31533 Tiles of selected content do not update if not in viewport 31534 31535 Don't clip repaints to viewport when tiling is enabled. 31536 31537 * page/Frame.cpp: 31538 (WebCore::Frame::setView): 31539 (WebCore::Frame::setTiledBackingStoreEnabled): 31540 31541 2010-03-25 Diego Gonzalez <diego.gonzalez (a] openbossa.org> 31542 31543 Reviewed by Eric Seidel. 31544 31545 Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros 31546 on WebKit.pri 31547 31548 [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros 31549 https://bugs.webkit.org/show_bug.cgi?id=36547 31550 31551 * WebCore.pri: 31552 31553 2010-03-25 Pavel Feldman <pfeldman (a] chromium.org> 31554 31555 Reviewed by Timothy Hatcher. 31556 31557 Web Inspector: Expect console object wrapping to fail. 31558 31559 https://bugs.webkit.org/show_bug.cgi?id=36587 31560 31561 * inspector/front-end/InjectedScript.js: 31562 (injectedScriptConstructor): 31563 31564 2010-03-25 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 31565 31566 Reviewed by Eric Seidel. 31567 31568 https://bugs.webkit.org/show_bug.cgi?id=36371 31569 [Gtk] Elements with a title attribute should not be ignored 31570 31571 * accessibility/AccessibilityRenderObject.cpp: 31572 (AccessibilityRenderObject::accessibilityIsIgnored): 31573 31574 2010-03-24 Steve Block <steveblock (a] google.com> 31575 31576 Reviewed by David Levin. 31577 31578 Adds a missing ENABLE(WORKERS) guards to the V8 bindings. 31579 https://bugs.webkit.org/show_bug.cgi?id=36550 31580 31581 Build fix only, no new tests. 31582 31583 * bindings/v8/V8DOMWrapper.cpp: 31584 (WebCore::V8DOMWrapper::instantiateV8Object): 31585 31586 2010-03-25 Leandro Pereira <leandro (a] profusion.mobi> 31587 31588 Reviewed by Eric Seidel. 31589 31590 Add EFL-specific code to platform/ScrollView.cpp and 31591 platform/Scrollbar.cpp. 31592 http://webkit.org/b/36305 31593 31594 * platform/ScrollView.cpp: 31595 * platform/Scrollbar.cpp: 31596 31597 2010-03-25 Tasuku Suzuki <tasuku.suzuki (a] nokia.com> 31598 31599 Reviewed by Eric Seidel. 31600 31601 [Qt]Fix compile error with QT_NO_LIBRARY 31602 https://bugs.webkit.org/show_bug.cgi?id=36533 31603 31604 * platform/FileSystem.h: 31605 * platform/qt/FileSystemQt.cpp: 31606 (WebCore::unloadModule): 31607 31608 2010-03-25 Tasuku Suzuki <tasuku.suzuki (a] nokia.com> 31609 31610 Reviewed by Eric Seidel. 31611 31612 [Qt]Fix compile error with QT_NO_ANIMATION 31613 https://bugs.webkit.org/show_bug.cgi?id=36526 31614 31615 * platform/graphics/qt/GraphicsLayerQt.cpp: 31616 (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): 31617 * platform/graphics/qt/GraphicsLayerQt.h: 31618 31619 2010-03-25 Tony Chang <tony (a] chromium.org> 31620 31621 Reviewed by Eric Seidel. 31622 31623 https://bugs.webkit.org/show_bug.cgi?id=33697 31624 Have dragOpFromIEOp("move") return DragOperationGeneric | DragOperationMove 31625 because only returning Generic doesn't work for platforms that don't 31626 have a generic operation. 31627 31628 Covered by existing tests (fast/events/drag-and-drop.html). 31629 31630 * dom/Clipboard.cpp: 31631 (WebCore::dragOpFromIEOp): 31632 (WebCore::Clipboard::destinationOperation): 31633 (WebCore::Clipboard::setDestinationOperation): 31634 31635 2010-03-25 Fumitoshi Ukai <ukai (a] chromium.org> 31636 31637 Reviewed by Eric Seidel. 31638 31639 [Qt] websocket/tests/long-invalid-header.html fails 31640 https://bugs.webkit.org/show_bug.cgi?id=36492 31641 31642 trim message at most 128 bytes from the current position. 31643 I believe it's enough data to investigate the error reason and 31644 it makes test not depend on buffered size. 31645 31646 * websockets/WebSocketHandshake.cpp: 31647 (WebCore::trimConsoleMessage): 31648 (WebCore::WebSocketHandshake::readServerHandshake): 31649 (WebCore::WebSocketHandshake::readHTTPHeaders): 31650 31651 2010-03-24 Jon Honeycutt <jhoneycutt (a] apple.com> 31652 31653 <rdar://problem/7780798> Missing plug-ins should be represented by text 31654 only, instead of lego block 31655 31656 https://bugs.webkit.org/show_bug.cgi?id=36583 31657 31658 Reviewed by Dan Bernstein. 31659 31660 * rendering/RenderEmbeddedObject.cpp: 31661 (WebCore::RenderEmbeddedObject::paintReplaced): 31662 Set the font rendering mode and the computed size, so that the text will 31663 draw properly on Windows. 31664 31665 2010-03-24 Vangelis Kokkevis <vangelis (a] chromium.org> 31666 31667 Reviewed by Dimitri Glazkov. 31668 31669 Removing unecessary redraws of LayerSkia contents: 31670 https://bugs.webkit.org/show_bug.cgi?id=36470 31671 31672 Test: No new functionality added, no tests. 31673 31674 * platform/graphics/skia/LayerRendererSkia.cpp: 31675 (WebCore::LayerRendererSkia::drawLayerInCanvasRecursive): 31676 Debug borders now rendered at composite time rather than update time. 31677 * platform/graphics/skia/LayerSkia.cpp: 31678 (WebCore::LayerSkia::updateContents): 31679 (WebCore::LayerSkia::drawDebugBorder): 31680 Debug border drawing removed from updateContents and split into a separate method that 31681 can be called at composite time. 31682 (WebCore::LayerSkia::setBounds): 31683 Resetting the bounds causes the layer to redraw its contents. 31684 (WebCore::LayerSkia::setNeedsDisplay): 31685 * platform/graphics/skia/LayerSkia.h: 31686 Added declaration for drawDebugBorders method. 31687 31688 2010-03-24 Mark Rowe <mrowe (a] apple.com> 31689 31690 Revert the portion of r56489 that dealt with port zero as it introduced some test failures. 31691 31692 * platform/KURL.cpp: 31693 (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether 31694 it was able to successfully parse the string as an unsigned integer, rather than relying on 31695 the fact it returned zero when it failed. 31696 31697 2010-03-24 Gavin Barraclough <barraclough (a] apple.com> 31698 31699 Reviewed by Sam Weinig. 31700 31701 * platform/text/String.cpp: 31702 (WebCore::putUTF8Triple): Correct capitalization of function name. 31703 (WebCore::String::utf8): Fix C-style casts. 31704 (WebCore::String::fromUTF8): Remove unnecessary newline. 31705 (WebCore::String::fromUTF8WithLatin1Fallback): Use early return. 31706 31707 2010-03-24 Mark Rowe <mrowe (a] apple.com> 31708 31709 Reviewed by Darin Adler. 31710 31711 WebKit should treat port numbers outside the valid range as being blacklisted 31712 <http://webkit.org/b/36571> / <rdar://problem/7790908> 31713 31714 * platform/KURL.cpp: 31715 (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber. 31716 (WebCore::portAllowed): Add invalidPortNumber to the blacklist. 31717 * platform/KURLGoogle.cpp: invalid port numbers to invalidPortNumber. 31718 (WebCore::KURL::port): Add invalidPortNumber to the blacklist. 31719 Also bring this in to sync with KURL. Having this identical code in two places is stupid. 31720 31721 2010-03-24 Sam Weinig <sam (a] webkit.org> 31722 31723 Reviewed by Mark Rowe. 31724 31725 Add some missing exports. 31726 31727 * WebCore.base.exp: 31728 31729 2010-03-24 Gavin Barraclough <barraclough (a] apple.com> 31730 31731 Reviewed by Sam Weinig. 31732 31733 Switch String::latin1, String::utf8, String::fromUTF8 to 31734 use WTF's Unicode conversion methods rather than TextEncoder. 31735 These methods only perform simple conversion, and don't need 31736 really require TextEncoder's full capability (to look up arbitrary 31737 encodings by name), switching to only be dependent on WTF will 31738 make it easier if we chose to move WebCore::String to WTF. 31739 31740 * platform/text/String.cpp: 31741 (WebCore::String::latin1): 31742 (WebCore::putUTF8triple): 31743 (WebCore::String::utf8): 31744 (WebCore::String::fromUTF8): 31745 31746 2010-03-24 Dmitry Titov <dimich (a] chromium.org> 31747 31748 No review, rolling out r56453. 31749 http://trac.webkit.org/changeset/56453 31750 https://bugs.webkit.org/show_bug.cgi?id=36426 31751 31752 In Chromium port, it broke invalid-image-data-standalone.html 31753 invalid-image-data.html multipart-wait-before-boundary.html 31754 stop-crash.html win-boundary-crash.html 31755 31756 * loader/FrameLoader.cpp: 31757 (WebCore::FrameLoader::finishedLoadingDocument): 31758 31759 2010-03-24 Ilya Tikhonovsky <loislo (a] chromium.org> 31760 31761 Reviewed by Pavel Feldman. 31762 31763 Web Inspector: Significant scroll speed degradation if Timeline has 31764 an expanded record with significant number of children. 31765 https://bugs.webkit.org/show_bug.cgi?id=36543 31766 31767 31768 * inspector/front-end/TimelinePanel.js: 31769 (WebInspector.TimelinePanel.prototype._updateBoundaries): 31770 (WebInspector.TimelinePanel.prototype._addToRecordsWindow): 31771 (WebInspector.TimelinePanel.prototype._filterRecords): 31772 (WebInspector.TimelinePanel.prototype._refreshRecords): 31773 31774 2010-03-24 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 31775 31776 Reviewed by Eric Carlson. 31777 31778 [GStreamer] Fails to go to Loaded state because of floating point discrepancies 31779 https://bugs.webkit.org/show_bug.cgi?id=35891 31780 31781 Use the m_fillStatus variable, which is more reliable, instead of 31782 using the calculation, for the completed case. 31783 31784 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 31785 (WebCore::MediaPlayerPrivate::fillTimerFired): 31786 31787 2010-03-24 Dmitry Titov <dimich (a] chromium.org> 31788 31789 Unreviewed, Chromium test fix. 31790 31791 Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots. 31792 Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*) 31793 and was substituting toV8(Event*). 31794 31795 Fixing test fast/events/custom-event.html 31796 31797 * bindings/v8/custom/V8EventCustom.cpp: 31798 31799 2010-03-24 MORITA Hajime <morrita (a] google.com> 31800 31801 Reviewed by Darin Adler. 31802 31803 Refactoring: HTMLFormControlElement should not have redundant null check 31804 https://bugs.webkit.org/show_bug.cgi?id=36487 31805 31806 No new tests as there is no new functionality. 31807 31808 * html/HTMLFormControlElement.cpp: 31809 (WebCore::HTMLFormControlElement::dispatchFocusEvent): 31810 (WebCore::HTMLFormControlElement::dispatchBlurEvent): 31811 31812 2010-03-24 Eric Uhrhane <ericu (a] chromium.org> 31813 31814 Reviewed by Alexey Proskuryakov. 31815 31816 DOMCoreException needs NoStaticTables modifier 31817 https://bugs.webkit.org/show_bug.cgi?id=36458 31818 31819 No new tests, but this shows up in tests of Database accesses from the 31820 Worker thread that I'll be checking in soon. The symptom is that 31821 DOMCoreException.toString() returns [object DOMException] instead of 31822 something more helpful. 31823 31824 * dom/DOMCoreException.idl: Added NoStaticTables. 31825 31826 2010-03-24 Drew Wilson <atwilson (a] chromium.org> 31827 31828 Reviewed by Dmitry Titov. 31829 31830 Failed assertion in V8Proxy::setDOMException() if worker is shutting down. 31831 https://bugs.webkit.org/show_bug.cgi?id=36514 31832 31833 Test: none (existing worker tests suffice) 31834 31835 * bindings/v8/V8Proxy.cpp: 31836 (WebCore::V8Proxy::setDOMException): 31837 Updated setDOMException() to check for an empty exception (due to no active context) and avoid throwing in that case. 31838 31839 2010-03-23 Evan Martin <evan (a] chromium.org> 31840 31841 Reviewed by Dmitry Titov. 31842 31843 [chromium] use integral glyph widths 31844 https://bugs.webkit.org/show_bug.cgi?id=36510 31845 31846 Despite WebKit (and Skia, to an extent) supporting non-integral 31847 glyph widths, the font code path we hit in Skia only supports 31848 integral glyph positions. This means that we would accumulate 31849 offsets when drawing a sequence up non-integer-width glyphs 31850 which would cause gaps when snapped to the pixel grid when drawing. 31851 31852 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 31853 (WebCore::SimpleFontData::platformWidthForGlyph): 31854 round glyph widths to integers. 31855 31856 2010-03-24 Dean Jackson <dino (a] apple.com> 31857 31858 Reviewed by Kevin Decker. 31859 31860 <rdar://problem/7785305> 31861 Fix regression caused by r55576. It turned out that ensuring 31862 CoreAnimation always gets a correct fill parameter caused flashing 31863 as non-filled animations ended (CA briefly showed the initial animation 31864 value before the style system set the final value). 31865 31866 * platform/graphics/mac/GraphicsLayerCA.mm: 31867 (WebCore::GraphicsLayerCA::setupAnimation): 31868 31869 2010-03-24 Hayato Ito <hayato (a] chromium.org> 31870 31871 Reviewed by Shinichiro Hamaji. 31872 31873 Refactor computePageRects so that Mac can make use of it. 31874 https://bugs.webkit.org/show_bug.cgi?id=36159 31875 31876 Refactoring only, so no new tests. 31877 31878 * WebCore.base.exp: 31879 * page/PrintContext.cpp: 31880 (WebCore::PrintContext::computePageRects): 31881 (WebCore::PrintContext::computePageRectsWithPageSize): 31882 (WebCore::PrintContext::computePageRectsWithPageSizeInternal): 31883 (WebCore::PrintContext::pageNumberForElement): 31884 (WebCore::PrintContext::numberOfPages): 31885 * page/PrintContext.h: 31886 31887 2010-03-24 Jeremy Moskovich <jeremy (a] chromium.org> 31888 31889 Reviewed by Jeremy Orlow. 31890 31891 Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType(). 31892 31893 https://bugs.webkit.org/show_bug.cgi?id=36426 31894 31895 No new tests as there is no new functionality. 31896 31897 * loader/FrameLoader.cpp: 31898 (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash. 31899 31900 2010-03-24 Anton Muhin <antonm (a] chromium.org> 31901 31902 Reviewed by Nate Chapin. 31903 31904 Use newly introduced SetPrototype method to deal with global objects. 31905 https://bugs.webkit.org/show_bug.cgi?id=36497 31906 31907 No new tests, should be covered by the current test infrastructure. 31908 31909 * bindings/v8/V8DOMWindowShell.cpp: 31910 (WebCore::V8DOMWindowShell::installDOMWindow): 31911 * bindings/v8/V8DOMWrapper.cpp: 31912 (WebCore::V8DOMWrapper::getConstructor): 31913 * bindings/v8/WorkerContextExecutionProxy.cpp: 31914 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 31915 31916 2010-03-24 Dmitry Titov <dimich (a] chromium.org> 31917 31918 Unreviewed, Chromium build fix. 31919 31920 * platform/chromium/PopupMenuChromium.cpp: 31921 (WebCore::PopupContainer::PopupContainer): Fix order of initializers. 31922 (WebCore::PopupContainer::layout): Remove unused variable. 31923 31924 2010-03-23 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 31925 31926 Reviewed by Simon Hausmann. 31927 31928 Add a way to check if the page client is making use of 31929 a QWidget. 31930 31931 * platform/qt/QWebPageClient.h: 31932 (QWebPageClient::isQWidgetClient): 31933 31934 2010-03-24 Jay Campan <jcampan (a] google.com> 31935 31936 Reviewed by Darin Fisher. 31937 31938 Making Chromium select popups not steal activation from the browser. 31939 Select popups are now like autocomplete popups, shown in non-activated 31940 windows. 31941 https://bugs.webkit.org/show_bug.cgi?id=36062 31942 31943 * page/chromium/ChromeClientChromium.h: 31944 * platform/chromium/PopupMenuChromium.cpp: 31945 (WebCore::): 31946 (WebCore::PopupListBox::setMaxHeight): 31947 (WebCore::PopupListBox::disconnectClient): 31948 (WebCore::PopupListBox::PopupListBox): 31949 (WebCore::PopupContainer::create): 31950 (WebCore::PopupContainer::PopupContainer): 31951 (WebCore::PopupContainer::showPopup): 31952 (WebCore::PopupContainer::showExternal): 31953 (WebCore::PopupContainer::hidePopup): 31954 (WebCore::PopupContainer::layout): 31955 (WebCore::PopupContainer::chromeClientChromium): 31956 (WebCore::PopupListBox::hidePopup): 31957 (WebCore::PopupListBox::layout): 31958 (WebCore::PopupMenu::~PopupMenu): 31959 (WebCore::PopupMenu::show): 31960 * platform/chromium/PopupMenuChromium.h: 31961 (WebCore::PopupItem::): 31962 (WebCore::PopupItem::PopupItem): 31963 (WebCore::PopupContainerSettings::): 31964 (WebCore::PopupContainer::): 31965 (WebCore::PopupContainer::listBox): 31966 (WebCore::PopupContainer::popupType): 31967 31968 2010-03-10 David Levin <levin (a] chromium.org> 31969 31970 Reviewed by Oliver Hunt. 31971 31972 Need to move items that CanvasRenderingContext2D depends on into CanvasSurface. 31973 https://bugs.webkit.org/show_bug.cgi?id=35453 31974 31975 Prepartory changes to allow for an OffscreenCanvas which may be used in a worker 31976 or outside of the DOM. 31977 31978 No change in functionality, so new tests. 31979 31980 * dom/CanvasSurface.cpp: Moved functionality that CanvasRenderingContext2D depends on 31981 into this class (and removed dependencies on document/html element). 31982 (WebCore::CanvasSurface::CanvasSurface): 31983 (WebCore::CanvasSurface::~CanvasSurface): Put the desctructor in the cpp file 31984 to avoid needing access to ~ImageBuffer in the header file. 31985 (WebCore::CanvasSurface::setSurfaceSize): Does basic items needed 31986 when the size changes. It is protected to force outside callers to go 31987 through HTMLCanvasElement::setSize. 31988 (WebCore::CanvasSurface::toDataURL): Just moved from HTMLCanvasElement and 31989 made a note about a method to fix for worker usage. 31990 (WebCore::CanvasSurface::willDraw): Made this virtual to allow an overide 31991 which uses the renderbox and tracks a dirtyRect. 31992 (WebCore::CanvasSurface::convertLogicalToDevice): Moved and changed to 31993 rely on a member variable for page scale (to avoid using the document). 31994 (WebCore::CanvasSurface::createImageBuffer): 31995 (WebCore::CanvasSurface::drawingContext): Simple move from HTMLCanvasElement. 31996 (WebCore::CanvasSurface::buffer): Ditto. 31997 (WebCore::CanvasSurface::baseTransform): Ditto. 31998 * dom/CanvasSurface.h: 31999 (WebCore::CanvasSurface::width): Simple move from HTMLCanvasElement. 32000 (WebCore::CanvasSurface::height): Ditto. 32001 (WebCore::CanvasSurface::size): Ditto. 32002 (WebCore::CanvasSurface::setOriginTainted): Ditto. 32003 (WebCore::CanvasSurface::originClean): Ditto. 32004 (WebCore::CanvasSurface::hasCreatedImageBuffer): Ditto (with small name change). 32005 * html/HTMLCanvasElement.cpp: 32006 (WebCore::HTMLCanvasElement::HTMLCanvasElement): Pass in the scale factor to CanvasSurface 32007 so it doesn't need the document. 32008 (WebCore::HTMLCanvasElement::willDraw): Moved the relevant portion to CanvasSurface. 32009 (WebCore::HTMLCanvasElement::reset): Small changes due to refactoring. 32010 (WebCore::HTMLCanvasElement::paint): Ditto. 32011 * html/HTMLCanvasElement.h: 32012 (WebCore::HTMLCanvasElement::setSize): Ditto. 32013 * platform/MIMETypeRegistry.cpp: 32014 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): Added assert 32015 to verify that this is only called on the main thread. 32016 * platform/graphics/Image.cpp: 32017 (WebCore::Image::nullImage): Ditto. 32018 * platform/graphics/cg/ImageBufferCG.cpp: 32019 (WebCore::utiFromMIMEType): Ditto. 32020 32021 2010-03-24 Alexander Pavlov <apavlov (a] chromium.org> 32022 32023 Reviewed by Pavel Feldman. 32024 32025 Inspector: XML Tags should not be converted to lowercase 32026 https://bugs.webkit.org/show_bug.cgi?id=28600 32027 32028 * inspector/front-end/ElementsPanel.js: 32029 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): 32030 (WebInspector.ElementsPanel.prototype.decorateNodeLabel): 32031 * inspector/front-end/ElementsTreeOutline.js: 32032 (WebInspector.ElementsTreeOutline.prototype.nodeNameToCorrectCase): 32033 (WebInspector.ElementsTreeElement.prototype._updateChildren): 32034 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): 32035 32036 2010-03-03 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 32037 32038 Reviewed by Antti Koivisto. 32039 32040 Add support for DOM Level 3 Custom Event 32041 http://www.w3.org/TR/DOM-Level-3-Events 32042 32043 V8 Generator change by Nate Chapin <japhet (a] chromium.org>, Thanks! 32044 32045 Test: fast/events/custom-event.html 32046 32047 * DerivedSources.cpp: 32048 * GNUmakefile.am: 32049 * WebCore.gypi: 32050 * WebCore.pri: 32051 * WebCore.pro: 32052 * WebCore/DerivedSources.make: 32053 * WebCore.vcproj/WebCore.vcproj: 32054 * WebCore.xcodeproj/project.pbxproj: 32055 * bindings/js/JSEventCustom.cpp: 32056 (WebCore::toJS): 32057 * bindings/scripts/CodeGeneratorJS.pm: 32058 * bindings/scripts/CodeGeneratorV8.pm: 32059 * dom/CustomEvent.cpp: Added. 32060 (WebCore::CustomEvent::CustomEvent): 32061 (WebCore::CustomEvent::initCustomEvent): 32062 (WebCore::CustomEvent::isCustomEvent): 32063 * dom/CustomEvent.h: Added. 32064 (WebCore::CustomEvent::create): 32065 (WebCore::CustomEvent::detail): 32066 * dom/Document.cpp: 32067 (WebCore::Document::createEvent): 32068 * dom/Event.cpp: 32069 (WebCore::Event::isCustomEvent): 32070 * dom/Event.h: 32071 32072 2010-03-24 Alexander Pavlov <apavlov (a] chromium.org> 32073 32074 Reviewed by Pavel Feldman. 32075 32076 Web Inspector: Error when highlighting JavaScript with an invalid mime type 32077 https://bugs.webkit.org/show_bug.cgi?id=36530 32078 32079 * inspector/front-end/SourceTokenizer.js: 32080 (WebInspector.SourceTokenizer.Registry): 32081 * inspector/front-end/SourceView.js: 32082 (WebInspector.SourceView.prototype._contentLoaded): 32083 (WebInspector.SourceView.prototype._canonicalMimeType): 32084 * inspector/front-end/TextEditorHighlighter.js: 32085 (WebInspector.TextEditorHighlighter): 32086 32087 2010-03-24 Pavel Feldman <pfeldman (a] chromium.org> 32088 32089 Not reviewed. Chromium test fix: added a frameCount check to the 32090 debugger function call. 32091 32092 * bindings/v8/V8Proxy.cpp: 32093 (WebCore::V8Proxy::createUtilityContext): 32094 32095 2010-03-19 Miikka Heikkinen <miikka.heikkinen (a] digia.com> 32096 32097 Reviewed by Simon Hausmann. 32098 32099 [Qt] Support for QT_LIBINFIX in Symbian builds 32100 32101 Configuring Qt with -qtlibinfix parameter will enable installing 32102 an alternate version of Qt on devices that already have it on ROM. 32103 This patch provides support for infixed builds of Webkit. 32104 32105 * WebCore.pro: 32106 32107 2010-03-24 Kent Tamura <tkent (a] chromium.org> 32108 32109 Reviewed by Darin Adler. 32110 32111 Make Icon::createIconForFiles() optional. 32112 https://bugs.webkit.org/show_bug.cgi?id=35072 32113 32114 r54923 made Icon::createIconForFiles() deprecated. However moving 32115 existing icon loading code to outside of WebCore is not good. So, 32116 we assume: 32117 - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is 32118 the primary API to load icons. 32119 - Icon::createIconForFiles() is an optional API to help 32120 implementing ChromeClient::iconForFiles(). 32121 32122 This patch removes a call to Icon::createIconForFiles() from 32123 FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of 32124 non-Chromium ports calls Icon::createIconForFiles(). 32125 32126 * WebCore.base.exp: Export FileChooser::iconLoaded(), 32127 Icon::createIconForFiles(), and Icon::~Icon(). 32128 * WebCore.xcodeproj/project.pbxproj: Export Icon.h 32129 * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles(). 32130 * page/Chrome.cpp: ditto. 32131 * page/Chrome.h: ditto. 32132 * page/ChromeClient.h: ditto. 32133 * platform/FileChooser.cpp: 32134 (WebCore::FileChooser::loadIcon): 32135 * platform/graphics/Icon.h: Remove a comment on createIconForFiles(). 32136 * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles(). 32137 * platform/graphics/chromium/IconChromiumMac.cpp: ditto. 32138 * platform/graphics/chromium/IconChromiumWin.cpp: ditto. 32139 * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles(). 32140 * rendering/RenderFileUploadControl.h: ditto. 32141 32142 2010-03-23 Dan Bernstein <mitz (a] apple.com> 32143 32144 Fixed typos. 32145 32146 * manual-tests/plugin-visible-rect-change.html: 32147 32148 2010-03-23 Dan Bernstein <mitz (a] apple.com> 32149 32150 Reviewed by John Sullivan. 32151 32152 WebCore part of 32153 <rdar://problem/7197736> Plug-in clip rect does not update when overflow 32154 clip changes 32155 https://bugs.webkit.org/show_bug.cgi?id=36479. 32156 32157 * manual-tests/plugin-visible-rect-change.html: Added. 32158 * platform/mac/WidgetMac.mm: 32159 (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect. 32160 (WebCore::Widget::setFrameRect): If the visible rect changed but the 32161 frame rect did not, send a -visibleRectDidChange message to the view, 32162 if it responds to it. 32163 (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect. 32164 * rendering/RenderWidget.cpp: 32165 (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect 32166 imposed by the enclosing layer. Call Widget::setFrameRect when it changes, 32167 even if the frame rect did not. 32168 * rendering/RenderWidget.h: 32169 (WebCore::RenderWidget::windowClipRect): Added this accessor. 32170 32171 2010-03-23 Simon Fraser <simon.fraser (a] apple.com> 32172 32173 Reviewed by Dan Bernstein. 32174 32175 Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com 32176 https://bugs.webkit.org/show_bug.cgi?id=34065 32177 32178 Fix another cause of assertions related to the clip rects root. Embeds 32179 with zero size caused the overlap testing to fail, yet we require them to work 32180 for correct compositing, so when the composited bounds is empty, use a 1x1 rect 32181 for overlap testing. 32182 32183 Test: compositing/geometry/empty-embed-rects.html 32184 32185 * rendering/RenderLayerCompositor.cpp: 32186 (WebCore::RenderLayerCompositor::addToOverlapMap): 32187 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 32188 32189 2010-03-23 David Levin <levin (a] chromium.org> 32190 32191 Reviewed by Nate Chapin. 32192 32193 [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value. 32194 https://bugs.webkit.org/show_bug.cgi?id=36506 32195 32196 Test: http/tests/xmlhttprequest/send-undefined-and-null.html 32197 32198 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 32199 (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method. 32200 (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send. 32201 This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because 32202 the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty 32203 request body. 32204 32205 2010-03-23 Chris Evans <cevans (a] chromium.org> 32206 32207 Reviewed by Darin Adler. 32208 32209 Fix hard-to-see crash due to incorrect libxml API usage. 32210 32211 https://bugs.webkit.org/show_bug.cgi?id=36000 32212 32213 Test: fast/text/bad-encoding.html 32214 32215 * dom/XMLTokenizerLibxml2.cpp: 32216 (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context. 32217 32218 2010-03-23 Nate Chapin <japhet (a] chromium.org> 32219 32220 Unreviewed, revert r56376. 32221 32222 This revision introduced a crash in a couple of layout tests 32223 on Chromium Linux. 32224 32225 * page/chromium/ChromeClientChromium.h: 32226 * platform/chromium/PopupMenuChromium.cpp: 32227 (WebCore::): 32228 (WebCore::PopupContainer::create): 32229 (WebCore::PopupContainer::PopupContainer): 32230 (WebCore::PopupContainer::showPopup): 32231 (WebCore::PopupContainer::showExternal): 32232 (WebCore::PopupContainer::hidePopup): 32233 (WebCore::PopupMenu::show): 32234 * platform/chromium/PopupMenuChromium.h: 32235 (WebCore::PopupItem::): 32236 (WebCore::PopupItem::PopupItem): 32237 (WebCore::PopupContainerSettings::): 32238 (WebCore::PopupContainer::listBox): 32239 32240 2010-03-23 David Hyatt <hyatt (a] apple.com> 32241 32242 Reviewed by Simon Fraser and Darin Adler. 32243 32244 https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted. 32245 32246 Added fast/css/nth-child-implied-step.html 32247 32248 * css/CSSGrammar.y: 32249 * css/tokenizer.flex: 32250 32251 2010-03-23 Darin Adler <darin (a] apple.com> 32252 32253 Reviewed by Sam Weinig. 32254 32255 Reduce and straighten internal use of DOMImplementation 32256 https://bugs.webkit.org/show_bug.cgi?id=36501 32257 32258 * WebCore.xcodeproj/project.pbxproj: Xcode decided to 32259 re-sort this file. 32260 32261 * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h. 32262 32263 * dom/DOMImplementation.cpp: Removed unneeded createDocument and 32264 createHTMLDocument functions. These should be done directly instead 32265 of involving the DOMImplementation class. 32266 * dom/DOMImplementation.h: Ditto. 32267 32268 * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h. 32269 32270 * html/HTMLViewSourceDocument.cpp: 32271 (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a 32272 DOMImplementation object just to use a class member function. 32273 32274 * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h. 32275 32276 * xml/XMLHttpRequest.cpp: 32277 (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a 32278 new document instead of involving DOMImplementation. 32279 * xml/XSLTProcessor.cpp: 32280 (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case 32281 where we do need to call DOMImplementation to interpret the MIME type, 32282 don't allocate a DOMImplementation object just to use a class member 32283 function. 32284 32285 2010-03-23 Luiz Agostini <luiz.agostini (a] openbossa.org> 32286 32287 Reviewed by Kenneth Rohde Christiansen. 32288 32289 [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists. 32290 https://bugs.webkit.org/show_bug.cgi?id=36367 32291 32292 Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5. 32293 32294 * WebCore.pri: 32295 32296 2010-03-22 Joseph Pecoraro <joepeck (a] webkit.org> 32297 32298 Reviewed by David Kilzer. 32299 32300 Upstream iPhone KeyEvent platform code and share with Mac platform 32301 https://bugs.webkit.org/show_bug.cgi?id=35870 32302 32303 * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif. 32304 * platform/iphone/KeyEventIPhone.mm: Fixed headers. 32305 32306 2010-03-23 David Hyatt <hyatt (a] apple.com> 32307 32308 Reviewed by Jeremy Orlow. 32309 32310 https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative 32311 one (-). 32312 32313 Added fast/css/nth-child-unary-prefix.html 32314 32315 * css/tokenizer.flex: 32316 32317 2010-03-23 Andrey Kosyakov <caseq (a] chromium.org> 32318 32319 Reviewed by Dmitry Titov. 32320 32321 Change notification sent to inspector frontend on workers creation / destruction 32322 to be posted asynchronously to avoid JS reenterability problems. Also, renamed 32323 willDestroyWorker to didDestroyWorker to reflect that it gets called later and got 32324 rid of explicit IDs for workers (use addresses instead). 32325 https://bugs.webkit.org/show_bug.cgi?id=36213 32326 32327 * inspector/InjectedScriptHost.cpp: 32328 (WebCore::InjectedScriptHost::didDestroyWorker): 32329 * inspector/InjectedScriptHost.h: 32330 * inspector/InjectedScriptHost.idl: 32331 * inspector/InspectorController.cpp: 32332 (WebCore::PostWorkerNotificationToFrontendTask::create): 32333 (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask): 32334 (WebCore::PostWorkerNotificationToFrontendTask::performTask): 32335 (WebCore::InspectorController::postWorkerNotificationToFrontend): 32336 (WebCore::InspectorController::didCreateWorker): 32337 (WebCore::InspectorController::didDestroyWorker): 32338 * inspector/InspectorController.h: 32339 (WebCore::InspectorController::): 32340 * inspector/InspectorFrontend.cpp: 32341 (WebCore::InspectorFrontend::didDestroyWorker): 32342 * inspector/InspectorFrontend.h: 32343 * inspector/InspectorWorkerResource.h: 32344 (WebCore::InspectorWorkerResource::create): 32345 (WebCore::InspectorWorkerResource::id): 32346 (WebCore::InspectorWorkerResource::InspectorWorkerResource): 32347 * inspector/front-end/InjectedFakeWorker.js: 32348 (InjectedFakeWorker.FakeWorker.prototype.terminate): 32349 * inspector/front-end/WorkersSidebarPane.js: 32350 (WebInspector.didDestroyWorker): 32351 * workers/AbstractWorker.cpp: 32352 (WebCore::AbstractWorker::AbstractWorker): 32353 (WebCore::AbstractWorker::onDestroyWorker): 32354 * workers/AbstractWorker.h: 32355 (WebCore::AbstractWorker::asID): 32356 * workers/SharedWorker.cpp: 32357 (WebCore::SharedWorker::SharedWorker): 32358 * workers/Worker.cpp: 32359 (WebCore::Worker::Worker): 32360 32361 2010-03-22 David Hyatt <hyatt (a] apple.com> 32362 32363 Reviewed by Sam Weinig. 32364 32365 https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events. Add support for 32366 IE onfocusin/onfocusout extensions to HTML. The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported). 32367 32368 Added fast/events/focusinout.html 32369 32370 * dom/Document.cpp: 32371 (WebCore::Document::setFocusedNode): 32372 * dom/Event.cpp: 32373 (WebCore::Event::aliasedType): 32374 (WebCore::Event::hasAliasedType): 32375 * dom/Event.h: 32376 * dom/EventNames.h: 32377 * dom/EventTarget.cpp: 32378 (WebCore::EventTarget::fireEventListeners): 32379 * dom/EventTarget.h: 32380 * dom/Node.cpp: 32381 (WebCore::Node::dispatchUIEvent): 32382 * html/HTMLAttributeNames.in: 32383 * html/HTMLButtonElement.cpp: 32384 (WebCore::HTMLButtonElement::parseMappedAttribute): 32385 * html/HTMLElement.cpp: 32386 (WebCore::HTMLElement::parseMappedAttribute): 32387 * html/HTMLFormControlElement.cpp: 32388 (WebCore::HTMLTextFormControlElement::parseMappedAttribute): 32389 * html/HTMLFrameSetElement.cpp: 32390 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 32391 * html/HTMLSelectElement.cpp: 32392 (WebCore::HTMLSelectElement::parseMappedAttribute): 32393 * svg/SVGElement.cpp: 32394 (WebCore::SVGElement::parseMappedAttribute): 32395 32396 2010-03-23 MORITA Hajime <morrita (a] google.com> 32397 32398 Reviewed by Alexey Proskuryakov. 32399 32400 WebCore::SelectionController::setSelection NULL pointer 32401 https://bugs.webkit.org/show_bug.cgi?id=31545 32402 32403 Added missing NULL-check that other APIs have. 32404 32405 Test: svg/dom/frame-related-api-during-load.html 32406 32407 * svg/SVGSVGElement.cpp: 32408 (WebCore::SVGSVGElement::deselectAll): 32409 32410 2010-03-23 Qi Zhang <qi.2.zhang (a] nokia.com> 32411 32412 Reviewed by Simon Hausmann. 32413 32414 [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed 32415 https://bugs.webkit.org/show_bug.cgi?id=36444 32416 32417 Handle duplicated or unsorted colorStop at platformDestory 32418 32419 * platform/graphics/qt/GradientQt.cpp: 32420 (WebCore::Gradient::platformGradient): 32421 32422 2010-03-23 Julien Chaffraix <jchaffraix (a] webkit.org> 32423 32424 Unreviewed build fix. 32425 32426 Try to make the window buildbot happy. 32427 32428 * xml/XMLHttpRequestProgressEventThrottle.cpp: 32429 * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the 32430 static const in the cpp file. 32431 32432 2010-03-23 Pavel Feldman <pfeldman (a] chromium.org> 32433 32434 Reviewed by Timothy Hatcher. 32435 32436 Web Inspector: make gear menu appear on styles panel at all times. 32437 32438 https://bugs.webkit.org/show_bug.cgi?id=36490 32439 32440 * inspector/front-end/inspector.css: 32441 32442 2010-03-23 Pavel Feldman <pfeldman (a] chromium.org> 32443 32444 Reviewed by Timothy Hatcher. 32445 32446 Web Inspector: render nodes in inherited style bars as links. 32447 32448 https://bugs.webkit.org/show_bug.cgi?id=36486 32449 32450 * English.lproj/localizedStrings.js: 32451 * inspector/front-end/BreakpointsSidebarPane.js: 32452 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked): 32453 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): 32454 * inspector/front-end/StylesSidebarPane.js: 32455 (WebInspector.StylesSidebarPane.prototype._update.else.insertInheritedNodeSeparator): 32456 (WebInspector.StylesSidebarPane.prototype._update): 32457 (WebInspector.StylesSidebarPane.prototype._selectNode): 32458 * inspector/front-end/inspector.js: 32459 32460 2010-03-23 Julien Chaffraix <jchaffraix (a] webkit.org> 32461 32462 Reviewed by Alexey Proskuryakov. 32463 32464 [XHR] onProgress event needs to be dispatched according to what the specification states 32465 https://bugs.webkit.org/show_bug.cgi?id=18654 32466 32467 Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html 32468 32469 * Android.mk: 32470 * GNUmakefile.am: 32471 * WebCore.gypi: 32472 * WebCore.pro: 32473 * WebCore.vcproj/WebCore.vcproj: 32474 * WebCore.xcodeproj/project.pbxproj: 32475 Added XMLHttpRequestProgressEventThrottle to the build systems. 32476 32477 * xml/XMLHttpRequest.cpp: 32478 (WebCore::XMLHttpRequest::XMLHttpRequest): Created the throttle. 32479 (WebCore::XMLHttpRequest::callReadyStateChangeListener): The 'readyState' event are 32480 dispatched using the XMLHttpRequestProgressEventThrottle now. For the DONE state, we 32481 need to flush any pending progress event as we do not want it to be dispatched after 32482 the DONE readyState event. 32483 (WebCore::XMLHttpRequest::createRequest): Made this event use the 32484 XMLHttpRequestProgressEventThrottle for event dispatching. 32485 (WebCore::XMLHttpRequest::abort): Ditto. 32486 (WebCore::XMLHttpRequest::networkError): Ditto. 32487 (WebCore::XMLHttpRequest::abortError): Ditto. 32488 (WebCore::XMLHttpRequest::didReceiveData): Ditto. Also fixed a potential warning. 32489 (WebCore::XMLHttpRequest::suspend): 32490 (WebCore::XMLHttpRequest::resume): Implemented the logic for suspend / resume. 32491 * xml/XMLHttpRequest.h: 32492 * xml/XMLHttpRequestProgressEventThrottle.cpp: Added. 32493 (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle): 32494 (WebCore::XMLHttpRequestProgressEventThrottle::~XMLHttpRequestProgressEventThrottle): 32495 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Implemented the bulk 32496 of the event throttling here: we use a timer to do so, as long as the timer is active it means 32497 that events are coming faster than the throttling time and we coalesce them. 32498 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): Generic method to dispatch an event. 32499 (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): Called when we want to dispatch 32500 any pending events and stopping any further dispatching. 32501 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent): Used to dispatch the event 32502 that was queued due to the object being suspended. 32503 (WebCore::XMLHttpRequestProgressEventThrottle::fired): Used to dispatch any coalesced event. 32504 (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch): Used to check if we have 32505 an event to dispatch. 32506 (WebCore::XMLHttpRequestProgressEventThrottle::suspend): Marked the object as suspended. 32507 (WebCore::XMLHttpRequestProgressEventThrottle::resume): Dispatched the event that was queued. 32508 * xml/XMLHttpRequestProgressEventThrottle.h: Added. 32509 (WebCore::): 32510 (WebCore::XMLHttpRequestProgressEventThrottle::suspended): 32511 32512 2010-03-23 Pavel Feldman <pfeldman (a] chromium.org> 32513 32514 Reviewed by Timothy Hatcher. 32515 32516 Web Inspector: Element inspector search funtion: Error dispatching: performSearch. 32517 32518 https://bugs.webkit.org/show_bug.cgi?id=36488 32519 32520 Test: inspector/elements-panel-search.html 32521 32522 * inspector/front-end/ElementsPanel.js: 32523 (WebInspector.ElementsPanel.prototype.performSearch): 32524 (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): 32525 * inspector/front-end/InjectedScript.js: 32526 (injectedScriptConstructor.): 32527 (injectedScriptConstructor): 32528 32529 2010-03-23 Qi Zhang <qi.2.zhang (a] nokia.com> 32530 32531 Reviewed by Simon Hausmann. 32532 32533 [Qt] fast/canvas/patternfill-repeat.html failed. 32534 https://bugs.webkit.org/show_bug.cgi?id=34477 32535 32536 Change Pattern to expose the repeatX and repeatY 32537 At GraphicsContextQt to apply repeatX and repeatY 32538 32539 * platform/graphics/Pattern.h: 32540 (WebCore::Pattern::repeatX): 32541 (WebCore::Pattern::repeatY): 32542 * platform/graphics/qt/GraphicsContextQt.cpp: 32543 (WebCore::GraphicsContext::drawLine): 32544 (WebCore::GraphicsContext::fillRect): 32545 (WebCore::GraphicsContext::rotate): 32546 32547 2010-03-23 Alex Milowski <alex (a] milowski.com> 32548 32549 Reviewed by Kenneth Rohde Christiansen. 32550 32551 Removed the use of beta STIX fonts. 32552 32553 * css/mathml.css: 32554 32555 2010-03-23 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 32556 32557 Reviewed by Holger Freyther. 32558 32559 [GTK] Does not build with latest GTK+ development release 32560 https://bugs.webkit.org/show_bug.cgi?id=36398 32561 32562 Fix building with newest GTK+ versions. 32563 32564 * GNUmakefile.am: 32565 * platform/gtk/GtkPluginWidget.cpp: 32566 (WebCore::GtkPluginWidget::invalidateRect): 32567 (WebCore::GtkPluginWidget::paint): 32568 * platform/gtk/GtkVersioning.h: Added. 32569 * platform/gtk/PlatformScreenGtk.cpp: 32570 (WebCore::getVisual): 32571 (WebCore::screenRect): 32572 (WebCore::screenAvailableRect): 32573 * platform/gtk/ScrollbarGtk.cpp: 32574 (ScrollbarGtk::paint): 32575 * plugins/gtk/gtk2xtbin.c: 32576 (gtk_xtbin_set_position): 32577 (gtk_xtbin_unrealize): 32578 32579 2010-03-23 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 32580 32581 Reviewed by Kenneth Rohde Christiansen. 32582 32583 [Qt] Remove support for Qt v4.4 32584 https://bugs.webkit.org/show_bug.cgi?id=36389 32585 32586 No new tests as there is no new functionality. 32587 32588 * WebCore.pri: 32589 * WebCore.pro: 32590 * platform/network/qt/ResourceHandleQt.cpp: 32591 (WebCore::ResourceHandle::willLoadFromCache): 32592 * platform/qt/CookieJarQt.cpp: 32593 (WebCore::setCookies): 32594 (WebCore::cookies): 32595 * platform/qt/KURLQt.cpp: 32596 (WebCore::KURL::operator QUrl): 32597 * platform/qt/ScrollbarThemeQt.cpp: 32598 (WebCore::ScrollbarThemeQt::paintScrollCorner): 32599 * plugins/mac/PluginViewMac.cpp: 32600 32601 2010-03-23 Kent Tamura <tkent (a] chromium.org> 32602 32603 Reviewed by Adam Barth. 32604 32605 Add checks if setNeedsWillValidateCheck() and 32606 setNeedsValidityCheck() are called correctly. 32607 https://bugs.webkit.org/show_bug.cgi?id=34924 32608 32609 Introduce HTMLFormControlElement::m_willValidate and 32610 m_isValid. They are the caches of willValidate() and 32611 isValidFormControlElement(). setNeedsWillValidateCheck() updates 32612 m_willValidate and setNeedsValidityCheck() updates m_isValid. 32613 32614 willValidate() and isValidFormControlElement() have assertions to 32615 check m_willvalidate or m_isValid has the correct state. If 32616 setNeedsWillValidateCheck() or setNeedsValidityCheck() is needed 32617 to be called and is not called, these assertions fail. 32618 32619 * html/HTMLButtonElement.h: 32620 (WebCore::HTMLButtonElement::recalcWillValidate): 32621 * html/HTMLFieldSetElement.h: 32622 (WebCore::HTMLFieldSetElement::recalcWillValidate): 32623 * html/HTMLFormControlElement.cpp: 32624 (WebCore::HTMLFormControlElement::HTMLFormControlElement): 32625 (WebCore::HTMLFormControlElement::parseMappedAttribute): 32626 (WebCore::HTMLFormControlElement::recalcWillValidate): 32627 (WebCore::HTMLFormControlElement::willValidate): 32628 (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): 32629 (WebCore::HTMLFormControlElement::validationMessage): 32630 (WebCore::HTMLFormControlElement::isValidFormControlElement): 32631 (WebCore::HTMLFormControlElement::setNeedsValidityCheck): 32632 * html/HTMLFormControlElement.h: 32633 * html/HTMLInputElement.cpp: 32634 (WebCore::HTMLInputElement::setInputType): 32635 (WebCore::HTMLInputElement::parseMappedAttribute): 32636 (WebCore::HTMLInputElement::setValue): 32637 (WebCore::HTMLInputElement::recalcWillValidate): 32638 * html/HTMLInputElement.h: 32639 * html/HTMLTextAreaElement.cpp: 32640 (WebCore::HTMLTextAreaElement::setNonDirtyValue): 32641 32642 2010-03-22 Pavel Feldman <pfeldman (a] chromium.org> 32643 32644 Reviewed by Dave Hyatt. 32645 32646 Web Inspector: display CSS selector source line in the styles sidebar pane. 32647 32648 https://bugs.webkit.org/show_bug.cgi?id=36414 32649 32650 This change adds a sourceLine field into the CSSStyleRule that is populated 32651 from within the parser. CSSParser is now keeping track of the line numbers 32652 and last selector line number that is being used while creating CSSStyleRules. 32653 32654 Test: inspector/styles-source-lines.html 32655 32656 * css/CSSGrammar.y: 32657 * css/CSSParser.cpp: 32658 (WebCore::CSSParser::CSSParser): 32659 (WebCore::CSSParser::lex): 32660 (WebCore::CSSParser::countLines): 32661 (WebCore::CSSParser::createStyleRule): 32662 * css/CSSParser.h: 32663 (WebCore::CSSParser::updateLastSelectorLine): 32664 * css/CSSStyleRule.cpp: 32665 (WebCore::CSSStyleRule::CSSStyleRule): 32666 * css/CSSStyleRule.h: 32667 (WebCore::CSSStyleRule::create): 32668 (WebCore::CSSStyleRule::sourceLine): 32669 * css/tokenizer.flex: 32670 * inspector/InspectorDOMAgent.cpp: 32671 (WebCore::InspectorDOMAgent::buildObjectForRule): 32672 * inspector/front-end/DOMAgent.js: 32673 (WebInspector.CSSStyleDeclaration.parseRule): 32674 * inspector/front-end/StylesSidebarPane.js: 32675 (WebInspector.StylePropertiesSection): 32676 32677 2010-03-22 Qi Zhang <qi.2.zhang (a] nokia.com> 32678 32679 Reviewed by Laszlo Gombos. 32680 32681 [Qt] Fix arc function in canvas 32682 https://bugs.webkit.org/show_bug.cgi?id=36296 32683 32684 Based on HTLM5 spec (4.8.10.1.8 Complex shapes), arc function should draw a line to previous point, not only the arc. 32685 32686 * platform/graphics/qt/PathQt.cpp: 32687 (WebCore::Path::addArc): 32688 32689 2010-03-19 Abhishek Arya <inferno (a] chromium.org> 32690 32691 Reviewed by Adam Barth. 32692 32693 https://bugs.webkit.org/show_bug.cgi?id=36339 32694 Off-by-one memory corruption fix for long invalid websockets upgrade header 32695 32696 Test: websocket/tests/long-invalid-header.html 32697 32698 * websockets/WebSocketHandshake.cpp: 32699 (WebCore::WebSocketHandshake::readServerHandshake): 32700 32701 2010-03-22 Fumitoshi Ukai <ukai (a] chromium.org> 32702 32703 Unreviewed build fix for Chromim Mac at r56376 32704 32705 Fix initializer order of PopupContainer. 32706 32707 * platform/chromium/PopupMenuChromium.cpp: 32708 (WebCore::PopupContainer::PopupContainer): 32709 32710 2010-03-22 Jay Campan <jcampan (a] google.com> 32711 32712 Reviewed by Darin Fisher. 32713 32714 Making Chromium select popups not steal activation from the browser. 32715 Select popups are now like autocomplete popups, shown in non-activated 32716 windows. 32717 https://bugs.webkit.org/show_bug.cgi?id=36062 32718 32719 * page/chromium/ChromeClientChromium.h: 32720 * platform/chromium/PopupMenuChromium.cpp: 32721 (WebCore::): 32722 (WebCore::PopupContainer::create): 32723 (WebCore::PopupContainer::PopupContainer): 32724 (WebCore::PopupContainer::~PopupContainer): 32725 (WebCore::PopupContainer::showPopup): 32726 (WebCore::PopupContainer::showExternal): 32727 (WebCore::PopupContainer::hidePopup): 32728 (WebCore::PopupMenu::show): 32729 * platform/chromium/PopupMenuChromium.h: 32730 (WebCore::PopupContainer::): 32731 (WebCore::PopupContainer::popupType): 32732 32733 2010-03-22 Dmitry Titov <dimich (a] chromium.org> 32734 32735 Reviewed by Nate Chapin. 32736 32737 [v8] Crash if the worker is terminated before its initial script is executed. 32738 https://bugs.webkit.org/show_bug.cgi?id=36336 32739 32740 Test: fast/workers/termination-early.html 32741 32742 * bindings/v8/WorkerContextExecutionProxy.cpp: 32743 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Check for 0 context. When terminated, the v8 heap initialization returns 0. 32744 (WebCore::WorkerContextExecutionProxy::evaluate): Don't execute script if initialization failed. 32745 * bindings/v8/WorkerContextExecutionProxy.h: 32746 32747 2010-03-22 Andrey Kosyakov <caseq (a] chromium.org> 32748 32749 Reviewed by Pavel Feldman. 32750 32751 Support creation of fake workers before document is loaded by deferring 32752 attaching of fake workers iframe until document is loaded and buffering all 32753 messages addressed to worker. 32754 https://bugs.webkit.org/show_bug.cgi?id=36445 32755 32756 * inspector/front-end/InjectedFakeWorker.js: 32757 (InjectedFakeWorker.FakeWorker.prototype.postMessage): 32758 (InjectedFakeWorker.FakeWorker.prototype._buildWorker): 32759 (InjectedFakeWorker.FakeWorker.prototype._attachWorkerFrameToDocument): 32760 (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded): 32761 32762 2010-03-22 Darin Fisher <darin (a] chromium.org> 32763 32764 Reviewed by Brady Eidson. 32765 32766 HistoryController::replaceState() should modify m_currentItem 32767 instead of the current HistoryItem of the BackForwardList. 32768 32769 https://bugs.webkit.org/show_bug.cgi?id=36435 32770 32771 Test: fast/loader/stateobjects/replacestate-in-iframe.html 32772 32773 * loader/HistoryController.cpp: 32774 (WebCore::HistoryController::replaceState): 32775 32776 2010-03-22 Joseph Pecoraro <joepeck (a] webkit.org> 32777 32778 Reviewed by David Kilzer. 32779 32780 Upstream Part of the iPhone Platform sharing code with the Mac Platform 32781 https://bugs.webkit.org/show_bug.cgi?id=35870 32782 <rdar://problem/7707283> and <rdar://problem/7707318> 32783 32784 Part 3 of 3: Shared code between iphone and mac. The shared code was 32785 refactored to be usable by both platforms without platform specific 32786 typing, meaning no NSEvent versus WebEvent special cases. 32787 32788 Shared code usable by either mac or iphone platforms. 32789 32790 * platform/cocoa/KeyEventCocoa.h: 32791 * platform/cocoa/KeyEventCocoa.mm: 32792 (WebCore::keyIdentifierForCharCode): 32793 (WebCore::windowsKeyCodeForKeyCode): 32794 (WebCore::windowsKeyCodeForCharCode): 32795 32796 Make use of the shared code. Keep anything platform specific in the 32797 original file before calling the shared code. 32798 32799 * platform/iphone/KeyEventIPhone.mm: 32800 (WebCore::keyIdentifierForKeyEvent): 32801 * platform/mac/KeyEventMac.mm: 32802 (WebCore::keyIdentifierForKeyEvent): 32803 (WebCore::windowsKeyCodeForKeyEvent): 32804 32805 2010-03-22 Kevin Decker <kdecker (a] apple.com> 32806 32807 Reviewed by Simon Fraser. 32808 32809 https://bugs.webkit.org/show_bug.cgi?id=36328 32810 32811 * rendering/RenderEmbeddedObject.cpp: 32812 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Fix a find/repalce mistake from my earlier patch. 32813 Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. 32814 (WebCore::RenderEmbeddedObject::updateWidget): Don't update the widget if we're showing 32815 the missing plug-in indicator. 32816 (WebCore::RenderEmbeddedObject::paint):Fix a find/repalce mistake from my earlier patch. 32817 Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. 32818 (WebCore::RenderEmbeddedObject::paintReplaced): Ditto. 32819 * rendering/RenderEmbeddedObject.h: Ditto. 32820 (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Ditto. 32821 (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): Ditto. 32822 32823 2010-03-22 Joseph Pecoraro <joepeck (a] webkit.org> 32824 32825 Reviewed by David Kilzer. 32826 32827 Upstream Part of the iPhone Platform sharing code with the Mac Platform 32828 https://bugs.webkit.org/show_bug.cgi?id=35870 32829 <rdar://problem/7707283> 32830 32831 Part 2 of 3: No changes other than moving code around. 32832 Copied KeyEvent function from platform/mac to a platform/cocoa shared directory. 32833 32834 * WebCore.xcodeproj/project.pbxproj: Added cocoa group and new files. 32835 * platform/cocoa/KeyEventCocoa.h: Added. 32836 * platform/cocoa/KeyEventCocoa.mm: Copied from WebCore/platform/mac/KeyEventMac.mm. 32837 (WebCore::keyIdentifierForKeyEvent): 32838 (WebCore::windowsKeyCodeForKeyEvent): Include the shared code. 32839 * platform/mac/KeyEventMac.mm: 32840 32841 2010-03-22 Joseph Pecoraro <joepeck (a] webkit.org> 32842 32843 Reviewed by David Kilzer. 32844 32845 Part 1 of 3: Upstream iPhone KeyEvent platform code and share with Mac platform 32846 https://bugs.webkit.org/show_bug.cgi?id=35870 32847 <rdar://problem/7707283> 32848 32849 * WebCore.xcodeproj/project.pbxproj: Added iphone group and new files. 32850 * platform/iphone: Added. 32851 * platform/iphone/KeyEventCodesIPhone.h: Added. 32852 * platform/iphone/KeyEventIPhone.mm: Added. Ensure PLATFORM(IPHONE) 32853 * platform/mac/KeyEventMac.mm: Ensure PLATFORM(MAC) 32854 32855 2010-03-22 Kevin Decker <kdecker (a] apple.com> 32856 32857 Attempt to fix the Leopard build. 32858 * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants. 32859 32860 2010-03-22 Justin Schuh <jschuh (a] chromium.org> 32861 32862 Reviewed by Dirk Schulze. 32863 32864 Out of bounds read in SVG feColorMatrix filter 32865 https://bugs.webkit.org/show_bug.cgi?id=32714 32866 32867 Prevents an invalid read when a valid values attribute is not 32868 supplied for an feColorMatrix SVG filter. Also fixes general 32869 handling of missing or invalid values attribute. 32870 32871 Tests: svg/filters/feColorMatrix-invalid-value.svg 32872 svg/filters/feColorMatrix-values.svg 32873 32874 * svg/SVGFEColorMatrixElement.cpp: 32875 (WebCore::SVGFEColorMatrixElement::build): 32876 32877 2010-03-22 Philippe Normand <pnormand (a] igalia.com> 32878 32879 Reviewed by Eric Carlson. 32880 32881 [GStreamer] Use ImageBuffer API to do painting 32882 https://bugs.webkit.org/show_bug.cgi?id=35783 32883 32884 New ImageGStreamer class abstracting the conversion of GStreamer 32885 buffers to cairo surfaces. Using this makes the painting code of 32886 the player more generic. 32887 32888 * GNUmakefile.am: 32889 * platform/graphics/gstreamer/ImageGStreamer.h: Added. 32890 (WebCore::ImageGStreamer::image): 32891 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Added. 32892 (ImageGStreamer::createImage): 32893 (ImageGStreamer::ImageGStreamer): 32894 (ImageGStreamer::~ImageGStreamer): 32895 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 32896 (WebCore::MediaPlayerPrivate::paint): 32897 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 32898 32899 2010-03-22 Beth Dakin <bdakin (a] apple.com> 32900 32901 Reviewed by Darin Adler. 32902 32903 Fix for <rdar://problem/7766437> With Web Inspector opened, a crash 32904 occurs at Webcore:getMatchedCSSRules() when navigating to a 32905 previous page 32906 32907 defaultView() can legitimately by null (as it is in this case), so 32908 it must be null-checked. 32909 32910 * inspector/InspectorDOMAgent.cpp: 32911 (WebCore::InspectorDOMAgent::getStyles): 32912 (WebCore::InspectorDOMAgent::getComputedStyle): 32913 (WebCore::InspectorDOMAgent::getMatchedCSSRules): 32914 32915 2010-03-22 Kevin Decker <kdecker (a] apple.com> 32916 32917 Reviewed by Darin. 32918 32919 https://bugs.webkit.org/show_bug.cgi?id=36328 32920 32921 * loader/FrameLoader.cpp: 32922 (WebCore::FrameLoader::loadPlugin): Call setShowsMissingPluginIndicator(true) in cases that fail 32923 to generate a widget. 32924 * rendering/RenderEmbeddedObject.cpp: Added new missing plug-in related static constants 32925 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Initialize newly boolean to false. 32926 (WebCore::RenderEmbeddedObject::paint): Added. 32927 (WebCore::RenderEmbeddedObject::paintReplaced): Added. Draws a subtle rounded rectangle 32928 containing the text "Missing Plug-in". 32929 * rendering/RenderEmbeddedObject.h: Added the following two methods below. 32930 (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): 32931 (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): 32932 * rendering/RenderWidget.h: Moved paint(PaintInfo&, int, int) from private to protected. 32933 32934 2010-03-22 Jakub Wieczorek <faw217 (a] gmail.com> 32935 32936 Reviewed by Kenneth Rohde Christiansen. 32937 32938 [Qt] Phonon media backend: expose supported MIME types to WebCore 32939 32940 https://bugs.webkit.org/show_bug.cgi?id=33453 32941 32942 MediaPlayerPrivate should expose the MIME types that are supported 32943 by the underlying backend in Phonon. 32944 32945 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 32946 (WebCore::MediaPlayerPrivate::supportedTypesCache): 32947 (WebCore::MediaPlayerPrivate::getSupportedTypes): 32948 (WebCore::MediaPlayerPrivate::supportsType): 32949 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 32950 32951 2010-03-22 Alexander Pavlov <apavlov (a] chromium.org> 32952 32953 Reviewed by Pavel Feldman. 32954 32955 Web Inspector: AuditRules still use getMatchedCSSRules as a part of the img-related audit. 32956 https://bugs.webkit.org/show_bug.cgi?id=36424 32957 32958 * inspector/front-end/AuditRules.js: 32959 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 32960 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages): 32961 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes): 32962 * inspector/front-end/InjectedScript.js: 32963 (injectedScriptConstructor): 32964 32965 2010-03-22 Darin Adler <darin (a] apple.com> 32966 32967 Reviewed by Dan Bernstein. 32968 32969 TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4 32970 https://bugs.webkit.org/show_bug.cgi?id=36381 32971 32972 * platform/text/TextBreakIteratorICU.cpp: 32973 (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying 32974 on conversion to void*. 32975 (WebCore::textBreakFirst): Ditto. 32976 (WebCore::textBreakLast): Ditto. 32977 (WebCore::textBreakNext): Ditto. 32978 (WebCore::textBreakPrevious): Ditto. 32979 (WebCore::textBreakPreceding): Ditto. 32980 (WebCore::textBreakFollowing): Ditto. 32981 (WebCore::textBreakCurrent): Ditto. 32982 (WebCore::isTextBreak): Ditto. 32983 (WebCore::setUpIteratorWithRules): Ditto. 32984 32985 2010-03-22 Eric Carlson <eric.carlson (a] apple.com> 32986 32987 Reviewed by Sam Weinig. 32988 32989 Typo in GPL license text 32990 https://bugs.webkit.org/show_bug.cgi?id=36442 32991 32992 Fix typo - "aint with this library" -> "along with this library". 32993 32994 * bindings/scripts/CodeGenerator.pm: 32995 * bindings/scripts/CodeGeneratorJS.pm: 32996 * bindings/scripts/CodeGeneratorObjC.pm: 32997 * bindings/scripts/CodeGeneratorV8.pm: 32998 * bindings/scripts/IDLParser.pm: 32999 * bindings/scripts/IDLStructure.pm: 33000 * bindings/scripts/generate-bindings.pl: 33001 33002 2010-03-22 Jakub Wieczorek <jwieczorek (a] webkit.org> 33003 33004 Reviewed by Simon Hausmann. 33005 33006 [Qt] Don't construct a QLineEdit every time when painting a text field 33007 https://bugs.webkit.org/show_bug.cgi?id=36373 33008 33009 Instead, keep one instance per RenderTheme around. 33010 33011 * platform/qt/RenderThemeQt.cpp: 33012 (WebCore::findFrameLineWidth): 33013 33014 2010-03-22 Luiz Agostini <luiz.agostini (a] openbossa.org> 33015 33016 Reviewed by Kenneth Rohde Christiansen. 33017 33018 [Qt] Multiselect Popup - adjusting QtAbstractWebPopup 33019 https://bugs.webkit.org/show_bug.cgi?id=36186 33020 33021 QtAbstractWebPopup must provide new methods to be used by its descendants that 33022 wish to handle <select multiple> elements. 33023 33024 * platform/qt/QtAbstractWebPopup.cpp: 33025 (WebCore::QtAbstractWebPopup::selectItem): 33026 (WebCore::QtAbstractWebPopup::multiple): 33027 * platform/qt/QtAbstractWebPopup.h: 33028 33029 2010-03-22 Alex Milowski <alex (a] milowski.com> 33030 33031 Reviewed by Kenneth Rohde Christiansen. 33032 33033 Added basic support for mfrac (fractions) 33034 33035 Test: mathml/presentation/fractions.xhtml 33036 33037 * WebCore.xcodeproj/project.pbxproj: 33038 * mathml/MathMLInlineContainerElement.cpp: 33039 (WebCore::MathMLInlineContainerElement::createRenderer): 33040 * mathml/RenderMathMLFraction.cpp: Added. 33041 (WebCore::RenderMathMLFraction::RenderMathMLFraction): 33042 (WebCore::RenderMathMLFraction::updateFromElement): 33043 (WebCore::RenderMathMLFraction::addChild): 33044 * mathml/RenderMathMLFraction.h: Added. 33045 33046 2010-03-22 Kevin Decker <kdecker (a] apple.com> 33047 33048 Reviewed by John Sullivan. 33049 33050 https://bugs.webkit.org/show_bug.cgi?id=36328 33051 33052 * page/mac/WebCoreViewFactory.h: Added -missingPluginText method 33053 * platform/LocalizedStrings.h: Added missingPluginText() 33054 * platform/gtk/LocalizedStringsGtk.cpp: Likewise. 33055 * platform/mac/LocalizedStringsMac.mm: Same here. 33056 * platform/qt/Localizations.cpp: Ditto. 33057 33058 2010-03-22 Yury Semikhatsky <yurys (a] chromium.org> 33059 33060 Reviewed by Pavel Feldman. 33061 33062 Handle worker exceptions in V8MessageHandler like it's done in regular documents. This way all worker exceptions will be logged in the console not only those which happen in event listeners. 33063 33064 https://bugs.webkit.org/show_bug.cgi?id=31171 33065 33066 * bindings/v8/V8AbstractEventListener.cpp: 33067 (WebCore::V8AbstractEventListener::invokeEventHandler): Removed explicit call to reportException. 33068 * bindings/v8/V8Utilities.cpp: reportException function was removed since it's not used. 33069 (WebCore::getScriptExecutionContext): 33070 * bindings/v8/V8Utilities.h: 33071 * bindings/v8/WorkerContextExecutionProxy.cpp: 33072 (WebCore::v8MessageHandler): 33073 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Setup message handler when first worker context is created. 33074 33075 2010-03-22 Leandro Pereira <leandro (a] profusion.mobi> 33076 33077 Reviewed by Simon Hausmann. 33078 33079 Add EFL-specific code to page/EventHandler.cpp. 33080 http://webkit.org/b/36306 33081 33082 * page/EventHandler.cpp: 33083 33084 2010-03-22 Leandro Pereira <leandro (a] profusion.mobi> 33085 33086 Reviewed by Simon Hausmann. 33087 33088 Add EFL-specific code to platform/DragImage.h and 33089 platform/DragData.h. 33090 http://webkit.org/b/36310 33091 33092 * platform/DragImage.h: 33093 * platform/DragData.h: 33094 33095 2010-03-22 Leandro Pereira <leandro (a] profusion.mobi> 33096 33097 Reviewed by Simon Hausmann. 33098 33099 Add EFL-specific code to platform/FileSystem.h. 33100 http://webkit.org/b/36313 33101 33102 * platform/FileSystem.h: 33103 33104 2010-03-22 Leandro Pereira <leandro (a] profusion.mobi> 33105 33106 Reviewed by Simon Hausmann. 33107 33108 Add EFL-specific code to platform/Cursor.h. 33109 http://webkit.org/b/36319 33110 33111 * platform/Cursor.h: 33112 33113 2010-03-22 Leandro Pereira <leandro (a] profusion.mobi> 33114 33115 Reviewed by Simon Hausmann. 33116 33117 Add EFL-specific code to platform/NotImplemented.h. 33118 http://webkit.org/b/36320 33119 33120 * platform/NotImplemented.h: 33121 33122 2010-03-21 Kim Grnholm <kim.gronholm (a] nomovok.com> 33123 33124 Reviewed by Simon Hausmann. 33125 33126 [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly 33127 https://bugs.webkit.org/show_bug.cgi?id=35520 33128 33129 The case where the list of source and target transform operations are 33130 not the same but have the same size needs to be special-cased in 33131 GraphicsLayerQt, as well as the case where the source or target 33132 operation list is empty. The URLs listed here render correctly after 33133 applying the patch. 33134 33135 Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890 33136 https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889 33137 33138 33139 * platform/graphics/qt/GraphicsLayerQt.cpp: 33140 (WebCore::TransformAnimationQt::applyFrame): 33141 33142 2010-03-21 Dmitry Gorbik <socket.h (a] gmail.com> 33143 33144 <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell 33145 33146 Reviewed by David Kilzer. 33147 33148 Fixed width calculation for cells with span when <col> is defined. 33149 33150 Test: fast/table/col-width-span-expand.html 33151 33152 * rendering/RenderTableCell.cpp: 33153 (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width 33154 in case of <col> defined and span > 1. 33155 33156 2010-03-20 Antonio Gomes <tonikitoo (a] webkit.org> 33157 33158 Reviewed by Kenneth Christiansen. 33159 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 33160 33161 Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I) 33162 https://bugs.webkit.org/show_bug.cgi?id=36168 33163 33164 Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167. 33165 No functionalty change. 33166 33167 * page/FocusController.cpp: 33168 (WebCore::updateFocusCandidateIfCloser): 33169 * page/SpatialNavigation.cpp: 33170 (WebCore::distanceInDirection): 33171 33172 2010-03-20 Kevin Ollivier <kevino (a] theolliviers.com> 33173 33174 [wx] Build fixes after recent changes. 33175 33176 * platform/graphics/wx/ImageWx.cpp: 33177 * wscript: 33178 33179 2010-03-20 Joseph Pecoraro <joepeck (a] webkit.org> 33180 33181 Reviewed by David Kilzer. 33182 33183 Assertion failure in media/video-controls-with-mutation-event-handler.html 33184 https://bugs.webkit.org/show_bug.cgi?id=36376 33185 33186 Test: media/video-controls-with-mutation-event-handler.html 33187 33188 Break early (when not attached) in the defaultEventHandler before the 33189 slider is completely set up. 33190 33191 * rendering/MediaControlElements.cpp: 33192 (WebCore::MediaControlTimelineElement::defaultEventHandler): 33193 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): 33194 * rendering/RenderMedia.cpp: 33195 (WebCore::RenderMedia::createVolumeSlider): 33196 33197 2010-03-19 Shinichiro Hamaji <hamaji (a] chromium.org> 33198 33199 Reviewed by Dan Bernstein. 33200 33201 WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c) 33202 https://bugs.webkit.org/show_bug.cgi?id=34641 33203 33204 Don't dig into buttons and menu lists when finding which element 33205 should be modified by :first-letter pseudo class. Even before 33206 this change, we didn't dig into inline buttons and menu lists as 33207 they are replaced so this issue wasn't found long time. 33208 33209 Test: fast/css/first-letter-block-form-controls-crash.html 33210 33211 * rendering/RenderBlock.cpp: 33212 (WebCore::RenderBlock::updateFirstLetter): 33213 33214 2010-03-19 Adam Barth <abarth (a] webkit.org> 33215 33216 Reviewed by Daniel Bates. 33217 33218 Change XSSAuditor block syntax 33219 https://bugs.webkit.org/show_bug.cgi?id=34436 33220 33221 Update our blocking syntax to something more reasonable. Also, 33222 implemented a way for a web site to disable the filter. 33223 33224 Tests: http/tests/security/xssAuditor/no-protection-script-tag.html 33225 http/tests/security/xssAuditor/xss-protection-parsing-01.html 33226 33227 * page/XSSAuditor.cpp: 33228 (WebCore::XSSAuditor::xssProtection): 33229 (WebCore::XSSAuditor::findInRequest): 33230 * page/XSSAuditor.h: 33231 * platform/network/HTTPParsers.cpp: 33232 (WebCore::skipToken): 33233 (WebCore::parseXSSProtectionHeader): 33234 * platform/network/HTTPParsers.h: 33235 (WebCore::): 33236 33237 2010-03-19 Eric Uhrhane <ericu (a] chromium.org> 33238 33239 Reviewed by Dmitry Titov. 33240 33241 Refactor DatabaseTracker.cpp for thread safety 33242 https://bugs.webkit.org/show_bug.cgi?id=34991 33243 33244 This enables calling into DatabaseTracker from multiple context threads, 33245 as will happen once Workers can access the Database. It required a fair 33246 amount of reshuffling of locks. I ended up splitting the public 33247 interface [calls that take locks and call private functions] from the 33248 implementations [calls that assert that locks are already held] in order 33249 to avoid lock conflicts. I also had to make sure we weren't sharing 33250 Strings or SecurityOrigins across threads. 33251 33252 No new tests. 33253 33254 Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it. 33255 33256 * platform/sql/SQLiteDatabase.cpp: 33257 (WebCore::SQLiteDatabase::SQLiteDatabase): 33258 (WebCore::SQLiteDatabase::disableThreadingChecks): 33259 * platform/sql/SQLiteDatabase.h: 33260 (WebCore::SQLiteDatabase::sqlite3Handle): 33261 (WebCore::SQLiteDatabase::disableThreadingChecks): 33262 33263 Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic. 33264 33265 * storage/Database.cpp: 33266 (WebCore::Database::markAsDeletedAndClose): 33267 (WebCore::Database::close): 33268 * storage/Database.h: 33269 (WebCore::Database::): 33270 * storage/DatabaseDetails.h: 33271 (WebCore::DatabaseDetails::DatabaseDetails): 33272 (WebCore::DatabaseDetails::thread): 33273 * storage/DatabaseTask.cpp: 33274 (WebCore::DatabaseCloseTask::doPerformTask): 33275 * storage/DatabaseThread.cpp: 33276 (WebCore::DatabaseThread::databaseThread): 33277 33278 Any Strings that get stored in DatabaseTracker, and any Strings returned from DatabaseTracker, are now threadsafeCopies. 33279 Public functions now take all needed locks, then generally call only private functions [there are a few exceptions: deletion functions and origins()]. 33280 Private functions no longer take locks. 33281 m_quotaMapGuard becomes m_databaseGuard, and now protects m_database, m_quotaMap, m_proposedDatabases, m_databaseDirectoryPath, m_originsBeingDeleted, m_beingCreated, and m_beingDeleted. 33282 m_proposedDatabases replaces m_proposedDatabase, to account for reentrancy. 33283 33284 * storage/DatabaseTracker.h: 33285 * storage/DatabaseTracker.cpp: 33286 (WebCore::DatabaseTracker::originQuotaManagerNoLock): 33287 (WebCore::DatabaseTracker::originQuotaManager): 33288 (WebCore::DatabaseTracker::DatabaseTracker): 33289 (WebCore::DatabaseTracker::setDatabaseDirectoryPath): 33290 (WebCore::DatabaseTracker::databaseDirectoryPath): 33291 (WebCore::DatabaseTracker::trackerDatabasePath): 33292 (WebCore::DatabaseTracker::openTrackerDatabase): 33293 (WebCore::DatabaseTracker::canEstablishDatabase): 33294 (WebCore::DatabaseTracker::hasEntryForOriginNoLock): 33295 (WebCore::DatabaseTracker::hasEntryForOrigin): 33296 (WebCore::DatabaseTracker::hasEntryForDatabase): 33297 (WebCore::DatabaseTracker::originPath): 33298 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): 33299 (WebCore::DatabaseTracker::fullPathForDatabase): 33300 (WebCore::DatabaseTracker::populateOrigins): 33301 (WebCore::DatabaseTracker::origins): 33302 (WebCore::DatabaseTracker::databaseNamesForOriginNoLock): 33303 (WebCore::DatabaseTracker::databaseNamesForOrigin): 33304 (WebCore::DatabaseTracker::detailsForNameAndOrigin): 33305 (WebCore::DatabaseTracker::setDatabaseDetails): 33306 (WebCore::DatabaseTracker::usageForDatabase): 33307 (WebCore::DatabaseTracker::addOpenDatabase): 33308 (WebCore::DatabaseTracker::removeOpenDatabase): 33309 (WebCore::DatabaseTracker::usageForOriginNoLock): 33310 (WebCore::DatabaseTracker::usageForOrigin): 33311 (WebCore::DatabaseTracker::quotaForOriginNoLock): 33312 (WebCore::DatabaseTracker::quotaForOrigin): 33313 (WebCore::DatabaseTracker::setQuota): 33314 (WebCore::DatabaseTracker::addDatabase): 33315 (WebCore::DatabaseTracker::deleteAllDatabases): 33316 (WebCore::DatabaseTracker::deleteOrigin): 33317 (WebCore::DatabaseTracker::deleteDatabase): 33318 (WebCore::DatabaseTracker::deleteDatabaseFile): 33319 (WebCore::DatabaseTracker::setClient): 33320 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): 33321 (WebCore::DatabaseTracker::notifyDatabasesChanged): 33322 33323 These functions keep track of in-progress deletions and creations, so that we can make sure nobody every deletes a database file while a live database is using it. 33324 (WebCore::DatabaseTracker::canCreateDatabase): 33325 (WebCore::DatabaseTracker::recordCreatingDatabase): 33326 (WebCore::DatabaseTracker::doneCreatingDatabase): 33327 (WebCore::DatabaseTracker::creatingDatabase): 33328 (WebCore::DatabaseTracker::canDeleteDatabase): 33329 (WebCore::DatabaseTracker::recordDeletingDatabase): 33330 (WebCore::DatabaseTracker::doneDeletingDatabase): 33331 (WebCore::DatabaseTracker::deletingDatabase): 33332 (WebCore::DatabaseTracker::canDeleteOrigin): 33333 (WebCore::DatabaseTracker::deletingOrigin): 33334 (WebCore::DatabaseTracker::recordDeletingOrigin): 33335 (WebCore::DatabaseTracker::doneDeletingOrigin): 33336 33337 Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs. There's a new tryLock() function in addition to the existing lock(). 33338 33339 * storage/OriginQuotaManager.cpp: 33340 (WebCore::OriginQuotaManager::tryLock): 33341 (WebCore::OriginQuotaManager::trackOrigin): 33342 * storage/OriginQuotaManager.h: 33343 33344 * page/SecurityOrigin.cpp: 33345 (WebCore::SecurityOrigin::databaseIdentifier): 33346 Removed DEFINE_STATIC_LOCAL wrapper on a local variable; it appears to have been a small optimization, but it's not thread-safe. 33347 33348 2010-03-19 Luiz Agostini <luiz.agostini (a] openbossa.org> 33349 33350 Reviewed by Antti Koivisto. 33351 33352 Multiselect popups - rendering 33353 https://bugs.webkit.org/show_bug.cgi?id=36006 33354 33355 The objective of this patch is to create a compile time flag that can be used 33356 to force all <select> elements to be rendered as menu lists. 33357 33358 Theme stylesheet mechanism has been used to change the appearance of the elements. 33359 33360 Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects 33361 the needed information to render <select multiple> comboboxes. 33362 33363 * WebCore.pri: 33364 * WebCore.pro: 33365 * css/themeQtNoListboxes.css: Added. 33366 (select[size][multiple]): 33367 * dom/SelectElement.h: 33368 (WebCore::SelectElementData::usesMenuList): 33369 * platform/qt/QtStyleOptionWebComboBox.h: Added. 33370 (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox): 33371 (WebCore::QtStyleOptionWebComboBox::multiple): 33372 (WebCore::QtStyleOptionWebComboBox::checkMultiple): 33373 * platform/qt/RenderThemeQt.cpp: 33374 (WebCore::RenderThemeQt::extraDefaultStyleSheet): 33375 (WebCore::RenderThemeQt::paintMenuList): 33376 (WebCore::RenderThemeQt::paintMenuListButton): 33377 * platform/qt/RenderThemeQt.h: 33378 33379 2010-03-19 Zhenyao Mo <zmo (a] google.com> 33380 33381 Reviewed by Oliver Hunt. 33382 33383 Update WebGLArray.slice() to new spec 33384 https://bugs.webkit.org/show_bug.cgi?id-35612 33385 33386 * bindings/js/JSWebGLArrayCustom.cpp: Adding support for default inputs. 33387 (WebCore::JSWebGLArray::slice): 33388 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Ditto. 33389 (WebCore::V8WebGLArray::sliceCallback): 33390 * html/canvas/WebGLArray.cpp: Map start/end to offset/length. 33391 (WebCore::WebGLArray::calculateOffsetAndLength): 33392 * html/canvas/WebGLArray.h: Modified slice parameters. 33393 * html/canvas/WebGLArray.idl: Define custom binding for slice(). 33394 * html/canvas/WebGLByteArray.cpp: Modified slice parameters. 33395 (WebCore::WebGLByteArray::slice): 33396 * html/canvas/WebGLByteArray.h: Ditto. 33397 * html/canvas/WebGLFloatArray.cpp: Ditto. 33398 (WebCore::WebGLFloatArray::slice): 33399 * html/canvas/WebGLFloatArray.h: Ditto. 33400 * html/canvas/WebGLIntArray.cpp: Ditto. 33401 (WebCore::WebGLIntArray::slice): 33402 * html/canvas/WebGLIntArray.h: Ditto. 33403 * html/canvas/WebGLShortArray.cpp: Ditto. 33404 (WebCore::WebGLShortArray::slice): 33405 * html/canvas/WebGLShortArray.h: Ditto. 33406 * html/canvas/WebGLUnsignedByteArray.cpp: Ditto. 33407 (WebCore::WebGLUnsignedByteArray::slice): 33408 * html/canvas/WebGLUnsignedByteArray.h: Ditto. 33409 * html/canvas/WebGLUnsignedIntArray.cpp: Ditto. 33410 (WebCore::WebGLUnsignedIntArray::slice): 33411 * html/canvas/WebGLUnsignedIntArray.h: Ditto. 33412 * html/canvas/WebGLUnsignedShortArray.cpp: Ditto. 33413 (WebCore::WebGLUnsignedShortArray::slice): 33414 * html/canvas/WebGLUnsignedShortArray.h: Ditto. 33415 33416 2010-03-19 Yong Li <yong.li (a] torchmobile.com> and Andy Estes <aestes (a] apple.com> 33417 33418 Reviewed by Darin Adler. 33419 33420 Ensure the segments inside SharedBuffer are merged before constructing 33421 a CFData with it. 33422 33423 https://bugs.webkit.org/show_bug.cgi?id=50843 33424 33425 * manual-tests/WebKitSite.webarchive: Added. 33426 * manual-tests/webarchive-test.html: Added. 33427 * platform/cf/SharedBufferCF.cpp: 33428 (WebCore::SharedBuffer::createCFData): 33429 33430 2010-03-19 Justin Schuh <jschuh (a] chromium.org> 33431 33432 Reviewed by Oliver Hunt. 33433 33434 Security: ReadAV@NULL for negative feMorphology filter radius 33435 https://bugs.webkit.org/show_bug.cgi?id=34566 33436 33437 Prevents building the filter if either radius is negative. 33438 Catches negative radii resulting from conversions. 33439 33440 Test: svg/filters/feMorphology-invalid-radius.svg 33441 33442 * svg/SVGFEMorphologyElement.cpp: 33443 (WebCore::SVGFEMorphologyElement::build): 33444 * svg/graphics/filters/SVGFEMorphology.cpp: 33445 (WebCore::FEMorphology::apply): 33446 33447 2010-03-19 Chris Marrin <cmarrin (a] apple.com> 33448 33449 Reviewed by Simon Fraser. 33450 33451 Fixed a crash with AnimationController getting deleted out from under itself. 33452 33453 It's possible for the Frame that owns an AnimationController to get deleted 33454 in the EndTransitionEvent (or other animation events) to get deleted in the 33455 event handler. Normally this case is protected against by preventing the Frame 33456 from getting deleted until the end of the runloop. But native uses of the 33457 WebView can subvert this protection. So I added a protector to the 33458 animation event dispatcher to protect it in those cases. 33459 33460 Test: transitions/transition-end-event-destroy-iframe.html 33461 33462 * page/animation/AnimationController.cpp: 33463 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 33464 33465 2010-03-19 Luiz Agostini <luiz.agostini (a] openbossa.org> 33466 33467 Reviewed by Antti Koivisto. 33468 33469 Multiselect Popup - PopupMenuClient extension 33470 https://bugs.webkit.org/show_bug.cgi?id=36178 33471 33472 PopupMenuClient class is the interface used by combobox popup implementations. 33473 It needs to be extended to handle <select multiple> needs. 33474 33475 A new interface named ListPopupMenuClient that inherits from PopupMenuClient was created. 33476 The use of this new class instead of adding methods to PopupMenuClient avoids changes 33477 in other non related implementations of PopupMenuClient. 33478 33479 RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient 33480 and to have the new methods implemented. 33481 33482 * platform/PopupMenuClient.h: 33483 * rendering/RenderMenuList.cpp: 33484 (WebCore::RenderMenuList::listBoxSelectItem): 33485 (WebCore::RenderMenuList::multiple): 33486 * rendering/RenderMenuList.h: 33487 33488 2010-03-19 Simon Fraser <simon.fraser (a] apple.com> 33489 33490 Reviewed by Dimitri Glazkov. 33491 33492 https://bugs.webkit.org/show_bug.cgi?id=36387 33493 REGRESSION: Can "uncheck" radio buttons by clicking on them 33494 33495 My change in r56174 caused radio buttons and checkboxes to go down the same code path by virtue 33496 of allowsIndeterminate(), but this broke save/restore behavior on radio buttons. 33497 33498 Fix by saving and restoring both the intermediate and checked state for radio buttons 33499 and checkboxes, as well as the "current radio button" state. 33500 33501 Test: fast/forms/radio-checkbox-restore-indeterminate.html 33502 33503 * html/HTMLInputElement.cpp: 33504 (WebCore::EventHandlingState::EventHandlingState): New struct to hold state between preDispatchEventHandler() 33505 and postDispatchEventHandler(). 33506 (WebCore::HTMLInputElement::preDispatchEventHandler): Store intermedate and checked state 33507 and the current radio button. 33508 (WebCore::HTMLInputElement::postDispatchEventHandler): Restore state as appropriate. 33509 * html/HTMLInputElement.h: Add a comment to clarify how 'intermediate' interacts with 'checked', according 33510 to the spec. 33511 33512 2010-03-19 Alexander Pavlov <apavlov (a] chromium.org> 33513 33514 Reviewed by Pavel Feldman. 33515 33516 Web Inspector: caret moves past prompt in javascript console 33517 https://bugs.webkit.org/show_bug.cgi?id=26602 33518 33519 Having noticed any Element children besides a leading <br> (which are empty 33520 text nodes), WebCore editing facility thinks it should delete the <br>, 33521 thus clearing away the text prompt contents. 33522 33523 * inspector/front-end/TextPrompt.js: 33524 (WebInspector.TextPrompt.prototype.clearAutoComplete): 33525 (WebInspector.TextPrompt.prototype._completionsReady): 33526 * inspector/front-end/utilities.js: 33527 (Element.prototype.pruneEmptyTextNodes): 33528 33529 2010-03-19 Adam Roben <aroben (a] apple.com> 33530 33531 Windows clean build fix after r56192 33532 33533 * WebCore.vcproj/WebCore.vcproj: Copy headers from 33534 platform/graphics/cg to $WebKitOutputDir as part of the post-build 33535 event so that WebKit can use them. (The only one we currently require 33536 is FontPlatformData.h.) 33537 33538 * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a 33539 build. 33540 33541 2010-03-19 Joseph Pecoraro <joepeck (a] webkit.org> 33542 33543 Reviewed by David Kilzer. 33544 33545 Assertion failure in media/video-controls-with-mutation-event-handler.html 33546 https://bugs.webkit.org/show_bug.cgi?id=36376 33547 33548 Fix crashing test. Underlying the media element's volume slider is a 33549 range input, which sanitizes values before expected on the media control. 33550 33551 * rendering/RenderMedia.cpp: 33552 (WebCore::RenderMedia::createVolumeSlider): 33553 33554 2010-03-19 Brady Eidson <beidson (a] apple.com> 33555 33556 Reviewed by Darin Adler. 33557 33558 3 of the new HTML5 loading events need to be asynchronous. 33559 33560 Laying the groundwork for: 33561 https://bugs.webkit.org/show_bug.cgi?id=36201 33562 https://bugs.webkit.org/show_bug.cgi?id=36202 33563 https://bugs.webkit.org/show_bug.cgi?id=36334 33564 https://bugs.webkit.org/show_bug.cgi?id=36335 33565 33566 Document already had an asynchronous event delivery mechanism for storage events, so 33567 we can repurpose that for all async events. 33568 33569 No new tests. (No change in behavior) 33570 33571 * dom/Document.cpp: 33572 (WebCore::Document::Document): 33573 (WebCore::Document::implicitClose): Use Document::schedule* for the related events. 33574 (WebCore::Document::enqueueEvent): Renamed from enqueueStorageEvent 33575 (WebCore::Document::pendingEventTimerFired): Renamed from "storageEventTimerFired" 33576 (WebCore::Document::statePopped): Use Document::schedulePopstateEvent 33577 (WebCore::Document::enqueuePageshowEvent): All Pageshow events are piped through here. 33578 This will be made asynchronous in a separate patch. 33579 (WebCore::Document::enqueueHashchangeEvent): All Hashchange events are piped through here. 33580 This will be made asynchronous in a separate patch. 33581 (WebCore::Document::enqueuePopstateEvent): All Popstate events are piped through here. 33582 This will be made asynchronous in a separate patch. 33583 * dom/Document.h: 33584 (WebCore::): 33585 33586 * history/CachedFrame.cpp: 33587 (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent 33588 33589 * loader/FrameLoader.cpp: 33590 (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent 33591 33592 * storage/StorageEventDispatcher.cpp: 33593 (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent 33594 33595 2010-03-19 Kevin Decker <kdecker (a] apple.com> 33596 33597 Reviewed by Darin Adler and Brady Eidson. 33598 33599 First step toward: 33600 https://bugs.webkit.org/show_bug.cgi?id=36328 33601 33602 This is the first step torward eliminating the WebKit WebNullPluginView class. The responsibility for this will soon 33603 be in platform-independent code in WebCore. The plan is to change RenderEmbeddedObject and give it the capability of 33604 drawing the missing plug-in text. 33605 33606 * loader/FrameLoader.cpp: 33607 (WebCore::FrameLoader::requestObject): Renamed the renderer parameter to requestEmbeddedObject and made it 33608 a RenderEmbeddedObject. 33609 (WebCore::FrameLoader::loadPlugin): Likewise. 33610 * loader/FrameLoader.h: Updated loadPlugin() and requestObject() method signatures accordingly. 33611 33612 2010-03-19 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 33613 33614 Reviewed by Simon Hausmann. 33615 33616 [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6 33617 https://bugs.webkit.org/show_bug.cgi?id=36348 33618 33619 Backing store implementation for QtWebKit requires at least Qt 33620 version 4.6. 33621 33622 No new tests as there is no new functionality. 33623 33624 * WebCore.pri: 33625 33626 2010-03-19 Joseph Pecoraro <joepeck (a] webkit.org> 33627 33628 Reviewed by David Kilzer. 33629 33630 <input type=range> does not validate correctly without a renderer and the tests are incorrect 33631 https://bugs.webkit.org/show_bug.cgi?id=36259 33632 33633 Setting value attribute on an <input type=range> to an out-of-range value fires oninput 33634 https://bugs.webkit.org/show_bug.cgi?id=16990 33635 33636 Part 2 of 2: When setting the range element's value, overflows and underflows 33637 are automatically sanitized to valid values. Moved the general case 33638 sanitization code out of the Renderer into HTMLInputElement::sanitizeValue. 33639 33640 * html/HTMLInputElement.cpp: 33641 (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided 33642 (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints 33643 * html/StepRange.cpp: 33644 (WebCore::StepRange::StepRange): allow const element in the constructor 33645 (WebCore::StepRange::clampValue): clamp from a String value 33646 * html/StepRange.h: 33647 (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints 33648 * rendering/RenderSlider.cpp: 33649 (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer 33650 33651 2010-03-19 Joseph Pecoraro <joepeck (a] webkit.org> 33652 33653 Reviewed by David Kilzer. 33654 33655 <input type=range> does not validate correctly without a renderer and the tests are incorrect 33656 https://bugs.webkit.org/show_bug.cgi?id=36259 33657 33658 Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider 33659 into a more appropriate place. Changed the named to StepRange. Changed 33660 from a struct to a class. 33661 33662 Added new files to the build. 33663 33664 * GNUmakefile.am: 33665 * WebCore.gypi: 33666 * WebCore.pro: 33667 * WebCore.vcproj/WebCore.vcproj: 33668 * WebCore.xcodeproj/project.pbxproj: 33669 33670 Renamed and moved class SliderRange to StepRange. 33671 33672 * html/StepRange.cpp: Added. 33673 (WebCore::StepRange::StepRange): 33674 (WebCore::StepRange::clampValue): 33675 (WebCore::StepRange::valueFromElement): 33676 (WebCore::sliderPosition): 33677 * html/StepRange.h: Added. 33678 (WebCore::StepRange::proportionFromValue): 33679 (WebCore::StepRange::valueFromProportion): 33680 * rendering/RenderSlider.cpp: 33681 (WebCore::RenderSlider::updateFromElement): updated to use StepRange 33682 (WebCore::RenderSlider::setValueForPosition): updated to use StepRange 33683 33684 2010-03-19 Antti Koivisto <koivisto (a] iki.fi> 33685 33686 Reviewed by Simon Hausmann. 33687 33688 https://bugs.webkit.org/show_bug.cgi?id=36366 33689 Repaint loop when painting using scaled CTMs with different translations 33690 33691 The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality 33692 tests if the scaling has changed from the previous value by comparing the 33693 transformations. The test fails if the scale is the same but the translation 33694 changes. This can lead to infinite repaint loop if the document is painted 33695 in pieces using different translations (for example for tiling). 33696 33697 * rendering/RenderBoxModelObject.cpp: 33698 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 33699 33700 2010-03-19 Pavel Feldman <pfeldman (a] chromium.org> 33701 33702 Reviewed by Timothy Hatcher. 33703 33704 Web Inspector: editing shorthands does not always work. 33705 33706 https://bugs.webkit.org/show_bug.cgi?id=36362 33707 33708 * inspector/InspectorDOMAgent.cpp: 33709 (WebCore::InspectorDOMAgent::applyStyleText): 33710 (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): 33711 (WebCore::InspectorDOMAgent::shorthandValue): 33712 * inspector/InspectorDOMAgent.h: 33713 * inspector/front-end/StylesSidebarPane.js: 33714 (WebInspector.StylePropertyTreeElement.prototype): 33715 * inspector/front-end/inspector.css: 33716 (.section .properties li.disabled .enabled-button): 33717 * inspector/front-end/inspector.js: 33718 (WebInspector.startEditing.editingCommitted): 33719 33720 2010-03-19 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 33721 33722 Reviewed by Simon Hausmann. 33723 33724 [Qt] Don't replace clip when drawing complex text 33725 33726 * platform/graphics/qt/FontQt.cpp: 33727 33728 2010-03-18 Darin Fisher <darin (a] chromium.org> 33729 33730 Reviewed by Adam Barth. 33731 33732 If a frame is already in the document, then setting its "src" attribute 33733 should add the resultant navigation to history. 33734 33735 https://bugs.webkit.org/show_bug.cgi?id=9166 33736 33737 This behavior is specified in section 4.8.2 of the HTML5 spec. 33738 33739 Test: fast/loader/frame-src-change-added-to-history.html 33740 33741 * html/HTMLFrameElementBase.cpp: 33742 (WebCore::HTMLFrameElementBase::openURL): 33743 (WebCore::HTMLFrameElementBase::setLocation): 33744 * html/HTMLFrameElementBase.h: 33745 * loader/FrameLoader.cpp: 33746 (WebCore::FrameLoader::requestFrame): 33747 * loader/FrameLoader.h: 33748 33749 2010-03-18 Chris Evans <cevans (a] chromium.org> 33750 33751 Reviewed by Nikolas Zimmermann. 33752 33753 Fix a minor crash with mismatched array sizes in SVG animation 33754 elements. 33755 33756 https://bugs.webkit.org/show_bug.cgi?id=35606 33757 33758 Test: svg/animations/keypoints-mismatch.svg 33759 33760 * svg/SVGAnimationElement.cpp: 33761 (WebCore::SVGAnimationElement::startedActiveInterval): 33762 Globally apply validations relevant to all animation types. 33763 33764 2010-03-18 Vangelis Kokkevis <vangelis (a] chromium.org> 33765 33766 Reviewed by Adam Barth. 33767 33768 Implement software composited graphics layers in Chromium using the Skia library. 33769 https://bugs.webkit.org/show_bug.cgi?id=35557 33770 This is an initial step in the implementation. Layer compositing is functioning 33771 but not optimized in any way. Subsesquent check-ins will be necessary to fine tune 33772 it. 33773 33774 Test: No new exposed functionality so no new tests. 33775 33776 * WebCore.gypi: 33777 Added new source files to the chromium build 33778 * platform/graphics/GraphicsLayer.h: 33779 Added necessary typedef's and forward declarations for Chromium. 33780 * platform/graphics/skia/GraphicsLayerSkia.cpp: Added. 33781 * platform/graphics/skia/GraphicsLayerSkia.h: Added. 33782 Declaration and implementation of the platform-specific GraphicsLayer class. 33783 * platform/graphics/skia/LayerRendererSkia.cpp: Added. 33784 * platform/graphics/skia/LayerRendererSkia.h: Added. 33785 Declaration and implementation of the Skia-based software compositor. 33786 * platform/graphics/skia/LayerSkia.cpp: Added. 33787 * platform/graphics/skia/LayerSkia.h: Added. 33788 Declaration and implementation of a compositable layer that uses a Skia canvas 33789 for backing store. 33790 33791 2010-03-18 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 33792 33793 Reviewed by Darin Adler. 33794 33795 Make setPrinting() with printing=false, restore the previous 33796 media type in use. 33797 33798 Test: fast/media/print-restores-previous-mediatype.html 33799 33800 * page/Frame.cpp: 33801 (WebCore::Frame::setPrinting): 33802 * page/FrameView.cpp: 33803 (WebCore::FrameView::adjustMediaTypeForPrinting): 33804 * page/FrameView.h: 33805 33806 2010-03-18 David Kilzer <ddkilzer (a] apple.com> 33807 33808 <http://webkit.org/b/36338> Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration 33809 33810 Rubber-stamped by Darin Adler. 33811 33812 This declaration should have been removed in r47440. 33813 33814 * rendering/RenderReplaced.h: 33815 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed. 33816 33817 2010-03-18 Jian Li <jianli (a] chromium.org> 33818 33819 Reviewed by Dmitry Titov. 33820 33821 Dragging a PDF image triggers assertion in DragController::startDrag() 33822 https://bugs.webkit.org/show_bug.cgi?id=36247 33823 33824 Test: fast/images/drag-pdf-as-image.html 33825 33826 * platform/graphics/cg/PDFDocumentImage.cpp: 33827 (WebCore::PDFDocumentImage::filenameExtension): 33828 * platform/graphics/cg/PDFDocumentImage.h: 33829 33830 2010-03-18 Simon Fraser <simon.fraser (a] apple.com> 33831 33832 Reviewed by Dan Bernstein. 33833 33834 Avoid taking a reference to a String owned by a temporary AtomicString. 33835 33836 * css/CSSSelector.cpp: 33837 (WebCore::CSSSelector::RareData::parseNth): 33838 33839 2010-03-18 Chris Marrin <cmarrin (a] apple.com> 33840 33841 Reviewed by Simon Fraser. 33842 33843 Fixed parenting issues with HW layers on Windows 33844 https://bugs.webkit.org/show_bug.cgi?id=32449 33845 33846 CACF can't properly fix superlayer changes, so a layer added 33847 as a sublayer must have a null superlayer. I changed a couple of 33848 places that change sublayers to removeFromSuperlayer while adding 33849 to a new layer. This fixes both the problem of disappearing children 33850 and children getting doubled. Also got rid of removeSublayer(). Layers 33851 should always be removed from their parent with removeFromSuperlayer(). 33852 33853 This also removed moveLayer(), which is not used and may not be safe in how 33854 it copies. 33855 33856 * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these) 33857 (WebCore::GraphicsLayerCACF::setName): 33858 * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding 33859 (WebCore::WKCACFLayer::insertSublayer): 33860 (WebCore::WKCACFLayer::replaceSublayer): 33861 (WebCore::WKCACFLayer::removeFromSuperlayer): 33862 (WebCore::WKCACFLayer::setSublayers): 33863 (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging 33864 * platform/graphics/win/WKCACFLayer.h: 33865 33866 2010-03-18 Dimitri Glazkov <dglazkov (a] chromium.org> 33867 33868 Unreviewed, build fix. 33869 33870 [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break 33871 due to http://trac.webkit.org/changeset/56192, 33872 33873 * WebCore.gyp/WebCore.gyp: Changed the order. 33874 33875 2010-03-18 David Hyatt <hyatt (a] apple.com> 33876 33877 Reviewed by Oliver Hunt. 33878 33879 https://bugs.webkit.org/show_bug.cgi?id=36325 33880 33881 Add support for stopImmediatePropagation from DOM Level 3 Events. 33882 33883 Added fast/events/stop-immediate-propagation.html. 33884 33885 * dom/Event.cpp: 33886 (WebCore::Event::Event): 33887 * dom/Event.h: 33888 (WebCore::Event::timeStamp): 33889 (WebCore::Event::stopPropagation): 33890 (WebCore::Event::stopImmediatePropagation): 33891 (WebCore::Event::propagationStopped): 33892 (WebCore::Event::immediatePropagationStopped): 33893 * dom/Event.idl: 33894 * dom/EventTarget.cpp: 33895 (WebCore::EventTarget::fireEventListeners): 33896 33897 2010-03-18 Dimitri Glazkov <dglazkov (a] chromium.org> 33898 33899 Unreviewed, build fix. 33900 33901 Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium. 33902 The accessor was removed in http://trac.webkit.org/changeset/56188. 33903 33904 * page/Geolocation.h: 33905 (WebCore::Geolocation::frame): Added back. 33906 33907 2010-03-18 Brent Fulgham <bfulgham (a] webkit.org> 33908 33909 Reviewed by Adam Roben. 33910 33911 Help reduce build problems due to font declarations. 33912 https://bugs.webkit.org/show_bug.cgi?id=36190 33913 33914 Functions unchanged, no new tests. 33915 33916 * WebCore.vcproj/WebCore.vcproj: Add new file, and show 33917 movement of FontPlatformData.h to cg/ directory. 33918 * platform/graphics/cairo/FontPlatformData.h: Merge in 33919 WinCairo-specific declarations. Correct constructor 33920 declaration to use type float for font size. 33921 (WebCore::FontPlatformData::FontPlatformData): 33922 (WebCore::FontPlatformData::hfont): 33923 (WebCore::FontPlatformData::useGDI): 33924 (WebCore::FontPlatformData::fontFace): 33925 (WebCore::FontPlatformData::setSize): 33926 (WebCore::FontPlatformData::hash): 33927 (WebCore::FontPlatformData::isHashTableDeletedValue): 33928 * platform/graphics/cairo/FontPlatformDataCairo.cpp: 33929 (WebCore::FontPlatformData::FontPlatformData): Correct 33930 constructor to accept type float for font size. 33931 * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h. 33932 (WebCore::FontPlatformData::FontPlatformData): 33933 (WebCore::FontPlatformData::hfont): 33934 (WebCore::FontPlatformData::cgFont): 33935 (WebCore::FontPlatformData::operator==): 33936 * platform/graphics/win/FontPlatformData.h: Removed. 33937 * platform/graphics/win/FontPlatformDataCairoWin.cpp: 33938 (WebCore::FontPlatformData::operator==): Move implementation 33939 here (previously in header) to match other cairo-based ports. 33940 * platform/graphics/win/RefCountedHFONT.h: Added. This 33941 was extracted from win/FontPlatformData.h, and is now shared 33942 by the cg/FontPlatformData.h and cairo/FontPlatformData.h 33943 (WebCore::RefCountedHFONT::create): 33944 (WebCore::RefCountedHFONT::createDeleted): 33945 (WebCore::RefCountedHFONT::~RefCountedHFONT): 33946 (WebCore::RefCountedHFONT::hfont): 33947 (WebCore::RefCountedHFONT::hash): 33948 (WebCore::RefCountedHFONT::RefCountedHFONT): 33949 33950 2010-03-18 Simon Fraser <simon.fraser (a] apple.com> 33951 33952 No review. 33953 33954 Fix brace style after r56170. 33955 33956 * css/CSSStyleSelector.cpp: 33957 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 33958 33959 2010-03-18 Simon Fraser <simon.fraser (a] apple.com> 33960 33961 Reviewed by Dave Hyatt. 33962 33963 https://bugs.webkit.org/show_bug.cgi?id=36274 33964 CSS3 :nth-child selector 'odd' keyword case sensitivity test fails 33965 33966 The tests for "odd", "even" etc. for nth-child selectors should be case insensitive. 33967 33968 Test: fast/css/nth-child-odd-case-insensitive.html 33969 33970 * css/CSSSelector.cpp: 33971 (WebCore::CSSSelector::RareData::parseNth): 33972 33973 2010-03-18 David Hyatt <hyatt (a] apple.com> 33974 33975 Reviewed by Oliver Hunt. 33976 33977 https://bugs.webkit.org/show_bug.cgi?id=36265 33978 33979 Add support for event.defaultPrevented from DOM level 3. 33980 33981 Added fast/events/defaultprevented.html 33982 33983 * dom/Event.idl: 33984 33985 2010-03-18 Darin Adler <darin (a] apple.com> 33986 33987 Reviewed by Kenneth Rohde Christiansen. 33988 33989 Remove Geolocation.lastPosition, no longer in the spec. 33990 https://bugs.webkit.org/show_bug.cgi?id=36255 33991 rdar://problem/7746357 33992 33993 * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual. 33994 33995 * page/Geolocation.cpp: 33996 (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to 33997 call this if access to the location is allowed. 33998 33999 * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual, 34000 although it will still be virtual if any of the base classes have a virtual 34001 destructor. Made lastPosition, isAllowed, and isDenied functions private. 34002 Removed unused suspend, resume, setShouldClearCache, shouldClearCache, 34003 and frame functions. 34004 34005 * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in 34006 the Geolocation specification. 34007 34008 2010-03-18 David Hyatt <hyatt (a] apple.com> 34009 34010 Reviewed by Simon Fraser. 34011 34012 https://bugs.webkit.org/show_bug.cgi?id=36275 34013 34014 Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless 34015 restriction on :not.) 34016 34017 Added fast/css/invalid-not-with-pseudo-element.html 34018 34019 * css/CSSGrammar.y: 34020 * css/CSSSelector.h: 34021 (WebCore::CSSSelector::matchesPseudoElement): 34022 34023 2010-03-18 Dan Bernstein <mitz (a] apple.com> 34024 34025 Reviewed by Darin Adler. 34026 34027 <rdar://problem/7761400> Rework the fix for 34028 https://bugs.webkit.org/show_bug.cgi?id=18722 34029 34030 Test: fast/dynamic/float-remove-above-line-2.html 34031 34032 * rendering/RenderBlock.cpp: 34033 (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats 34034 as having a height of 1 so that they intersect with the line they originate on. 34035 (WebCore::RenderBlock::clearFloats): Use numeric_limits. 34036 * rendering/RenderBlockLineLayout.cpp: 34037 (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here, 34038 so that a float is always included in the float list of the line it originates on, even 34039 if it does not intersect that line. This ensures that every float is accounted for, which 34040 is necessary during incremental layout when adding floats from clean lines. 34041 34042 2010-03-18 Antti Koivisto <koivisto (a] iki.fi> 34043 34044 Reviewed by Kenneth Rohde Christiansen. 34045 34046 https://bugs.webkit.org/show_bug.cgi?id=36102 34047 [Qt] Scaling control API for tiled backing store 34048 34049 Commit the new scale synchronously after unfreeze to avoid ugliness. 34050 34051 * platform/graphics/TiledBackingStore.cpp: 34052 (WebCore::TiledBackingStore::TiledBackingStore): 34053 (WebCore::TiledBackingStore::setContentsScale): 34054 (WebCore::TiledBackingStore::commitScaleChange): 34055 (WebCore::TiledBackingStore::setContentsFrozen): 34056 * platform/graphics/TiledBackingStore.h: 34057 34058 2010-03-18 David Hyatt <hyatt (a] apple.com> 34059 34060 Reviewed by Simon Fraser. 34061 34062 https://bugs.webkit.org/show_bug.cgi?id=36281 34063 34064 Make sure an exception is raised if an @import rule is inserted in the wrong place. 34065 34066 Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped 34067 as transparent by getComputedStyle, since it most commonly occurs in background-color and 34068 that default makes more sense than dumping rgba values. 34069 34070 Added fast/css/invalid-import-insertion.html 34071 34072 * css/CSSPrimitiveValue.cpp: 34073 (WebCore::CSSPrimitiveValue::createColor): 34074 * css/CSSStyleSheet.cpp: 34075 (WebCore::CSSStyleSheet::insertRule): 34076 34077 2010-03-18 Luiz Agostini <luiz.agostini (a] openbossa.org> 34078 34079 Reviewed by Kenneth Rohde Christiansen. 34080 34081 Multiselect Popup - Listbox click simulation 34082 https://bugs.webkit.org/show_bug.cgi?id=36177 34083 34084 Listbox popups will need to notify the corresponding select elements that a 34085 selection change happened. The current HTMLSelectElement interface does not 34086 allow multiple selections. 34087 34088 The new method listBoxSelectItem will be used for that. I have refactored part 34089 of the mouse handling code in bug 36124 and I am now reusing it here for 34090 <select multiple> popups. All the other cases will handled as they were before to be 34091 sure that no side effects will show up. 34092 34093 * dom/SelectElement.cpp: 34094 (WebCore::SelectElement::updateListBoxSelection): 34095 (WebCore::SelectElement::listBoxOnChange): 34096 * dom/SelectElement.h: 34097 * html/HTMLSelectElement.cpp: 34098 (WebCore::HTMLSelectElement::listBoxPopupClick): 34099 * html/HTMLSelectElement.h: 34100 34101 2010-03-12 Ojan Vafai <ojan (a] chromium.org> 34102 34103 Reviewed by David Levin. 34104 34105 smartdelete should only occur after double-click 34106 https://bugs.webkit.org/show_bug.cgi?id=35314 34107 34108 1. Consolidate all notions of selection-granularity into SelectionController. 34109 2. Now only mouse-based selections store a selection-granularity. This matches NSTextView. 34110 34111 New tests were added in http://trac.webkit.org/changeset/55913. 34112 34113 * WebCore.base.exp: 34114 * editing/MoveSelectionCommand.cpp: 34115 (WebCore::MoveSelectionCommand::MoveSelectionCommand): 34116 (WebCore::MoveSelectionCommand::doApply): 34117 * editing/MoveSelectionCommand.h: 34118 (WebCore::MoveSelectionCommand::create): 34119 * editing/SelectionController.cpp: 34120 (WebCore::SelectionController::SelectionController): 34121 (WebCore::SelectionController::setSelection): 34122 (WebCore::SelectionController::modify): 34123 (WebCore::SelectionController::clear): 34124 * editing/SelectionController.h: 34125 (WebCore::SelectionController::setSelection): 34126 (WebCore::SelectionController::granularity): 34127 * editing/VisibleSelection.cpp: 34128 (WebCore::VisibleSelection::VisibleSelection): 34129 (WebCore::VisibleSelection::expandUsingGranularity): 34130 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): 34131 (WebCore::VisibleSelection::validate): 34132 * editing/VisibleSelection.h: 34133 (WebCore::operator==): 34134 * loader/FrameLoader.cpp: 34135 (WebCore::FrameLoader::clear): 34136 * page/DOMSelection.cpp: 34137 (WebCore::DOMSelection::extend): 34138 * page/DragController.cpp: 34139 (WebCore::DragController::concludeEditDrag): 34140 * page/EventHandler.cpp: 34141 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 34142 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): 34143 (WebCore::EventHandler::handleMousePressEventTripleClick): 34144 (WebCore::EventHandler::handleMousePressEventSingleClick): 34145 (WebCore::EventHandler::updateSelectionForMouseDrag): 34146 * page/Frame.cpp: 34147 (WebCore::Frame::Frame): 34148 (WebCore::Frame::selectionGranularity): 34149 * page/Frame.h: 34150 * rendering/RenderTextControl.cpp: 34151 (WebCore::RenderTextControl::setSelectionRange): 34152 34153 2010-03-18 Dimitri Glazkov <dglazkov (a] chromium.org> 34154 34155 Unreviewed, build fix. 34156 34157 [V8] Turn npObjectTypeInfo into a function, make everyone happy. 34158 34159 * bindings/v8/NPV8Object.cpp: 34160 (WebCore::npObjectTypeInfo): Added new function. 34161 (npCreateV8ScriptObject): 34162 * bindings/v8/NPV8Object.h: Turned npObjectTypeInfo into function. 34163 * bindings/v8/V8NPObject.cpp: Replaced references to function 34164 34165 2010-03-18 David Hyatt <hyatt (a] apple.com> 34166 34167 Reviewed by Simon Fraser. 34168 34169 https://bugs.webkit.org/show_bug.cgi?id=36283 34170 34171 The wrong constants were being used for the code that attempted to compact the background-repeat shorthand to 34172 a single value. 34173 34174 Added fast/backgrounds/background-repeat-computed-style.html 34175 34176 * css/CSSComputedStyleDeclaration.cpp: 34177 (WebCore::fillRepeatToCSSValue): 34178 34179 2010-03-18 Simon Fraser <simon.fraser (a] apple.com> 34180 34181 Reviewed by Dave Hyatt. 34182 34183 https://bugs.webkit.org/show_bug.cgi?id=36273 34184 CSS3 :indeterminate and input type=radio test fails 34185 34186 The :indeterminate pseudo-class should apply to both radio buttons and checkboxes. 34187 34188 * html/HTMLInputElement.cpp: 34189 (WebCore::HTMLInputElement::setIndeterminate): Use allowsIndeterminate() to determine if the input 34190 supports the indeterminate state. 34191 (WebCore::HTMLInputElement::preDispatchEventHandler): Use allowsIndeterminate() to determine whether 34192 to handle the indeterminate state. 34193 (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto. 34194 * html/HTMLInputElement.h: 34195 (WebCore::HTMLInputElement::allowsIndeterminate): New utility method, returns true for radio buttons 34196 and checkboxes. 34197 34198 2010-03-18 Simon Fraser <simon.fraser (a] apple.com> 34199 34200 Reviewed by Dave Hyatt. 34201 34202 https://bugs.webkit.org/show_bug.cgi?id=36271 34203 CSS3 :enabled on an input type=hidden element fails 34204 34205 The CSS3 selectors spec now makes it clear that hidden inputs should respect 34206 the :enabled and :disabled pseudo-classes. 34207 34208 Test: fast/forms/hidden-input-enabled.html 34209 34210 * css/CSSStyleSelector.cpp: 34211 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove checks for hidden inputs. 34212 34213 2010-03-18 Enrica Casucci <enrica (a] apple.com> 34214 34215 Reviewed by Simon Fraser. 34216 34217 Intro text at Star Wars demo is clipped. 34218 <rdar://problem/7560979> 34219 https://bugs.webkit.org/show_bug.cgi?id=33909 34220 34221 Test: compositing/repaint/layer-repaint.html 34222 34223 We are flipping the coordinates for drawing, therefore 34224 we must flip them also when we invalidate the rectangles. 34225 34226 * platform/graphics/win/GraphicsLayerCACF.cpp: 34227 (WebCore::WebLayer::setNeedsDisplay): 34228 34229 2010-03-18 Nate Chapin <japhet (a] chromium.org> 34230 34231 Unreviewed, Chromium build fix. 34232 34233 Missed a #include in V8Collection.h. 34234 34235 * bindings/v8/V8Collection.h: 34236 34237 2010-03-18 David Hyatt <hyatt (a] apple.com> 34238 34239 Reviewed by Simon Fraser. 34240 34241 Fix for https://bugs.webkit.org/show_bug.cgi?id=36284. 34242 34243 Make sure the CSS parser properly rejects negative border widths. 34244 34245 Added fast/borders/negative-border-width.html 34246 34247 * css/CSSParser.cpp: 34248 (WebCore::CSSParser::parseValue): 34249 34250 2010-03-18 Nate Chapin <japhet (a] chromium.org> 34251 34252 Reviewed by Dimitri Glazkov. 34253 34254 [V8] Remove V8Index.h and all references to V8ClassIndex. 34255 34256 https://bugs.webkit.org/show_bug.cgi?id=33477 34257 34258 * WebCore.gypi: 34259 * bindings/scripts/CodeGeneratorV8.pm: 34260 * bindings/v8/NPV8Object.cpp: 34261 * bindings/v8/NPV8Object.h: 34262 * bindings/v8/V8Collection.h: 34263 * bindings/v8/V8DOMWindowShell.cpp: 34264 * bindings/v8/V8DOMWindowShell.h: 34265 * bindings/v8/V8DOMWrapper.cpp: 34266 * bindings/v8/V8DOMWrapper.h: 34267 * bindings/v8/V8GCController.cpp: 34268 * bindings/v8/V8Helpers.cpp: 34269 * bindings/v8/V8Index.h: Removed. 34270 * bindings/v8/V8IsolatedContext.h: 34271 * bindings/v8/V8NPObject.cpp: 34272 * bindings/v8/V8Proxy.cpp: 34273 * bindings/v8/V8Proxy.h: 34274 * bindings/v8/V8SVGPODTypeWrapper.h: 34275 * bindings/v8/WorkerContextExecutionProxy.cpp: 34276 * bindings/v8/WorkerContextExecutionProxy.h: 34277 * bindings/v8/WrapperTypeInfo.h: Move WrapperTypeInfo struct into its own file from V8Index.h. 34278 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 34279 * bindings/v8/custom/V8DOMWindowCustom.cpp: 34280 * bindings/v8/custom/V8EventSourceConstructor.cpp: 34281 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 34282 * bindings/v8/custom/V8HTMLAudioElementConstructor.h: 34283 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 34284 * bindings/v8/custom/V8HTMLImageElementConstructor.h: 34285 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 34286 * bindings/v8/custom/V8HTMLOptionElementConstructor.h: 34287 * bindings/v8/custom/V8HistoryCustom.cpp: 34288 * bindings/v8/custom/V8LocationCustom.cpp: 34289 * bindings/v8/custom/V8WebGLArrayCustom.h: 34290 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 34291 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 34292 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 34293 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 34294 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 34295 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 34296 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 34297 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 34298 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 34299 34300 2010-03-18 Yury Semikhatsky <yurys (a] chromium.org> 34301 34302 Reviewed by Pavel Feldman. 34303 34304 Preserve console history between debugging sessions. 34305 34306 https://bugs.webkit.org/show_bug.cgi?id=36223 34307 34308 * inspector/front-end/ConsoleView.js: 34309 (WebInspector.ConsoleView.prototype._settingsLoaded): 34310 (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult): 34311 (WebInspector.ConsoleView.prototype._enterKeyPressed): 34312 * inspector/front-end/Settings.js: 34313 (WebInspector.Settings.prototype._load): 34314 34315 2010-03-18 Kim Grnholm <kim.gronholm (a] nomovok.com> 34316 34317 Reviewed by Simon Hausmann. 34318 34319 [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected 34320 https://bugs.webkit.org/show_bug.cgi?id=36219 34321 34322 addAnimation and pauseAnimation were handling animation state changes in 34323 the wrong way. 34324 Apparently WebCore calls addAnimation for resuming, so we have to make 34325 sure to resume an existing animation if that happens. Also, timeOffset 34326 is now used for synchronization of the Qt animation clock with the 34327 WebCore clock, as opposed to using it as a delay timer. 34328 Both those fixes were necessary to get the layout test to work. 34329 34330 LayoutTests/animations/play-state.html now passed on Qt. 34331 34332 * platform/graphics/qt/GraphicsLayerQt.cpp: 34333 (WebCore::AnimationQtBase::AnimationQtBase): 34334 (WebCore::TransformAnimationQt::updateState): 34335 (WebCore::GraphicsLayerQt::addAnimation): 34336 (WebCore::GraphicsLayerQt::pauseAnimation): 34337 34338 2010-03-18 Adam Langley <agl (a] chromium.org> 34339 34340 Reviewed by David Levin. 34341 34342 [chromium] Fix inverted logic in per-strike renderer patch. 34343 34344 I screwed up in r55089 and got one of the conditions backwards. Thanks 34345 to Roman Tsisyk for pointing it out. 34346 34347 https://bugs.webkit.org/show_bug.cgi?id=35495 34348 34349 Test: platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html 34350 34351 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 34352 (WebCore::FontPlatformData::querySystemForRenderStyle): 34353 34354 2010-03-18 Pavel Feldman <pfeldman (a] chromium.org> 34355 34356 Reviewed by Timothy Hatcher. 34357 34358 Web Inspector: Show inherited styles for a selected DOM element 34359 34360 https://bugs.webkit.org/show_bug.cgi?id=28039 34361 34362 * English.lproj/localizedStrings.js: 34363 * inspector/InspectorDOMAgent.cpp: 34364 (WebCore::InspectorDOMAgent::getStyles): 34365 (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): 34366 * inspector/front-end/DOMAgent.js: 34367 (WebInspector.CSSStyleDeclaration): 34368 * inspector/front-end/StylesSidebarPane.js: 34369 (WebInspector.StylesSidebarPane.prototype._update): 34370 (WebInspector.StylesSidebarPane.prototype._containsInherited): 34371 (WebInspector.StylePropertiesSection): 34372 (WebInspector.StylePropertiesSection.prototype.isPropertyInherited): 34373 (WebInspector.StylePropertiesSection.prototype.onpopulate): 34374 34375 2010-03-15 Antonio Gomes <tonikitoo (a] webkit.org> 34376 34377 Reviewed by Gustavo Noronha. 34378 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 34379 34380 Spatial Navigation: Add isNull() and document() convenience methods to FocusCandidate. 34381 https://bugs.webkit.org/show_bug.cgi?id=36167 34382 34383 It turns out that Spatial Navigation related code (in FocusController.cpp for 34384 instance) can be simplified and look better if FocusCandidate class offer some 34385 convenience method. This patch introduces a couple of them (isNull and a Document 34386 getter). It also adds another constructor that receives a Node as parameter. 34387 34388 A followup refactoring patch will be making use of these helper methods. 34389 34390 * page/SpatialNavigation.h: 34391 (WebCore::FocusCandidate::FocusCandidate): Added a "Node*" parameter 34392 to FocusCandidate's constructor. 34393 (WebCore::FocusCandidate::isNull): In the Spatial Navigation logic, a NULL 34394 FocusCandidate object is one that does not hold a valid reference to a "Node*". 34395 (WebCore::FocusCandidate::document): This method returns a pointer for the FocusCandidate 34396 node's document, if |node| is a valid pointer. 34397 34398 2010-03-18 Noam Rosenthal <noam.rosenthal (a] nokia.com> 34399 34400 Reviewed by Antti Koivisto. 34401 34402 [Qt] [Performance] GraphicsLayerQt updates the scene too often 34403 https://bugs.webkit.org/show_bug.cgi?id=36158 34404 34405 This fix makes sure that flushChanges is only called when necessary, 34406 by calling the notifySync function asynchronously, which makes sure flushChanges() is called 34407 after the WebCore compositor has made all its changes. 34408 34409 This has shown a visual improvement on several test-cases. 34410 34411 * Makefile: 34412 * platform/graphics/qt/GraphicsLayerQt.cpp: 34413 (WebCore::GraphicsLayerQtImpl::): 34414 (WebCore::GraphicsLayerQtImpl::notifySyncRequired): 34415 (WebCore::GraphicsLayerQtImpl::notifyChange): 34416 (WebCore::GraphicsLayerQtImpl::flushChanges): 34417 (WebCore::GraphicsLayerQt::setMaskLayer): 34418 (WebCore::GraphicsLayerQt::setPosition): 34419 (WebCore::GraphicsLayerQt::setAnchorPoint): 34420 (WebCore::GraphicsLayerQt::setSize): 34421 (WebCore::GraphicsLayerQt::setTransform): 34422 (WebCore::GraphicsLayerQt::setChildrenTransform): 34423 (WebCore::GraphicsLayerQt::setPreserves3D): 34424 (WebCore::GraphicsLayerQt::setMasksToBounds): 34425 (WebCore::GraphicsLayerQt::setDrawsContent): 34426 (WebCore::GraphicsLayerQt::setBackgroundColor): 34427 (WebCore::GraphicsLayerQt::clearBackgroundColor): 34428 (WebCore::GraphicsLayerQt::setContentsOpaque): 34429 (WebCore::GraphicsLayerQt::setBackfaceVisibility): 34430 (WebCore::GraphicsLayerQt::setOpacity): 34431 (WebCore::GraphicsLayerQt::setContentsRect): 34432 34433 2010-03-18 Stephen White <senorblanco (a] chromium.org> 34434 34435 Reviewed by Oliver Hunt. 34436 34437 Parsing of rgb() colors in HTML canvas is still fairly slow. 34438 findNamedColor() was showing up as hot, so this patch attempts to 34439 avoid calling it by putting the rgb() check ahead of the named 34440 colors. It also removes a call to Color::Color() from 34441 CanvasStyle, which was doing a redundant check for the hex 34442 color and named colors, which CSSParser already does. Finally, it 34443 changes the ad-hoc parser to check for negative values, and clamps them 34444 at zero. This avoids the lex/yacc path for rgb() colors with 34445 negative color components. 34446 34447 https://bugs.webkit.org/show_bug.cgi?id=36199 34448 34449 Covered by fast/canvas/set-colors.html. 34450 34451 * css/CSSParser.cpp: 34452 (WebCore::parseInt): 34453 (WebCore::CSSParser::parseColor): 34454 * html/canvas/CanvasStyle.cpp: 34455 (WebCore::CanvasStyle::applyFillColor): 34456 34457 2010-03-18 David Kilzer <ddkilzer (a] apple.com> 34458 34459 <http://webkit.org/b/36246> Node::removeAllEventListenersSlowCase is declared but not used 34460 34461 Reviewed by Sam Weinig. 34462 34463 * dom/Node.h: 34464 (WebCore::Node::removeAllEventListenersSlowCase): Removed 34465 declaration. Implementation was removed in r48701. 34466 34467 2010-03-17 Stephan Amus <superstippi (a] gmx.de> 34468 34469 Reviewed by Oliver Hunt. 34470 34471 [Haiku] Implement ImageBuffer support 34472 https://bugs.webkit.org/show_bug.cgi?id=35288 34473 34474 Covered by existing tests. 34475 34476 The StillImage class implements WebCore::Image by wrapping a native 34477 BBitmap. It will be needed to implement WebCore::ImageBuffer. This 34478 solution is just like it's done in the Qt port. 34479 34480 * platform/graphics/haiku/StillImageHaiku.cpp: Added. 34481 (WebCore::StillImage::StillImage): 34482 (WebCore::StillImage::destroyDecodedData): 34483 (WebCore::StillImage::decodedSize): 34484 (WebCore::StillImage::size): 34485 (WebCore::StillImage::nativeImageForCurrentFrame): 34486 (WebCore::StillImage::draw): 34487 * platform/graphics/haiku/StillImageHaiku.h: Added. 34488 (WebCore::StillImage::create): 34489 34490 2010-03-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 34491 34492 Rubber stamped by Gustavo Noronha Silva. 34493 34494 [Gtk+] Avoid making a copy of the HTTPHeaderMap. 34495 34496 ResourceRequest::httpHeaderFields() is returning a const 34497 reference but we are storing it as a simple value. This 34498 means that we run either the copy constructor or the assignment 34499 operator and make a copy of the RefPtrs. 34500 34501 This extra copy can be avoided easily by storing 34502 the result as a const reference. 34503 34504 * platform/network/soup/ResourceRequestSoup.cpp: 34505 (WebCore::ResourceRequest::toSoupMessage): 34506 * platform/network/soup/ResourceResponseSoup.cpp: 34507 (WebCore::ResourceResponseSoup::toSoupMessage): 34508 34509 2010-03-17 Alexander Pavlov <apavlov (a] chromium.org> 34510 34511 Reviewed by Pavel Feldman. 34512 34513 Web Inspector: When switching resources in the Resources panel, the Content tab is always selected 34514 https://bugs.webkit.org/show_bug.cgi?id=36222 34515 34516 * inspector/front-end/ResourcesPanel.js: 34517 (WebInspector.ResourcesPanel.prototype.showResource): 34518 34519 2010-03-17 Brady Eidson <beidson (a] apple.com> 34520 34521 Reviewed by Darin Adler. 34522 34523 databaseIdentifiers are not filtered for slashes 34524 <rdar://problem/7708789> and https://bugs.webkit.org/show_bug.cgi?id=36243 34525 34526 In addition to filtering for '/' and '\', to remove the directory vulnerability 34527 on all platforms, it seems worth it to also escape other characters that are 34528 obviously dangerous or illegal to have in a filename (mostly inspired by the 34529 Windows illegal-character list). 34530 34531 No new tests - It's unclear how a test could possibly work into our testing 34532 infrastructure. 34533 34534 * page/SecurityOrigin.cpp: 34535 (WebCore::): Added a 128-bool table "needsEscaping" that has a true/false answer 34536 for lower-ASCII. 34537 (WebCore::SecurityOrigin::SecurityOrigin): 34538 (WebCore::SecurityOrigin::createFromDatabaseIdentifier): "Unescape" the host 34539 component using the KURL utility. 34540 (WebCore::shouldEscapeUChar): If the char is lower-ASCII, look it up in the 34541 needsEscaping table. Otherwise, let it pass. 34542 (WebCore::encodedHost): Modeled after KURL's host escaping method, but targeted 34543 for the escaping considerations for the host component. We don't use the KURL 34544 version because this one is "different" enough because it operates on UTF16 and 34545 has its own "is bad character?" decider. 34546 (WebCore::SecurityOrigin::databaseIdentifier): Create the escaped host if needed, 34547 and use it instead of the unescaped host. 34548 * page/SecurityOrigin.h: 34549 34550 2010-03-17 Dmitry Titov <dimich (a] chromium.org> 34551 34552 Reviewed by Dimitri Glazkov. 34553 34554 [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread. 34555 https://bugs.webkit.org/show_bug.cgi?id=36239 34556 34557 Test: fast/workers/termination-with-port-messages.html 34558 34559 * bindings/v8/V8Proxy.h: 34560 (WebCore::throwError): Avoid throwing if v8 execution is terminated anyways. 34561 * bindings/v8/WorkerScriptController.h: 34562 (WebCore::WorkerScriptController::proxy): Return V8 proxy as 0 if execution is terminating. Callers to check for 0 before invoking v8. 34563 * bindings/v8/custom/V8WorkerContextCustom.cpp: 34564 (WebCore::SetTimeoutOrInterval): Bail out if v8 proxy is 0. 34565 (WebCore::toV8): Ditto 34566 34567 2010-03-17 Jos Milln Soto <jmillan (a] igalia.com> 34568 34569 Reviewed by Adam Barth. 34570 34571 Change the way of prefetching DNS to allow prefetching function to use full URL 34572 https://bugs.webkit.org/show_bug.cgi?id=35589 34573 34574 Creates a new function, ResourceHandle::prepareForURL, whose default implementation 34575 calls prefetchDNS with the host of the given URL as the parameter. 34576 Soup implementation of ResourceHandle::prepareForURL executes soup_session_prepare_for_uri. 34577 Soup implementation of prefetchDNS is removed. 34578 Changed various prefetchDNS calls to ResourceHandle::prepareForURL calls. 34579 34580 * GNUmakefile.am: 34581 * html/HTMLAnchorElement.cpp: 34582 (WebCore::HTMLAnchorElement::parseMappedAttribute): 34583 * html/HTMLLinkElement.cpp: 34584 (WebCore::HTMLLinkElement::process): 34585 * page/Chrome.cpp: 34586 (WebCore::Chrome::mouseDidMoveOverElement): 34587 * platform/network/DNS.h: 34588 * platform/network/ResourceHandle.cpp: 34589 (WebCore::ResourceHandle::prepareForURL): 34590 * platform/network/ResourceHandle.h: 34591 * platform/network/chromium/DNSChromium.cpp: 34592 (WebCore::ResourceHandle::prepareForURL): 34593 * platform/network/soup/DNSSoup.cpp: Removed. 34594 * platform/network/soup/ResourceHandleSoup.cpp: 34595 (WebCore::ResourceHandle::prepareForURL): 34596 * wml/WMLAElement.cpp: 34597 (WebCore::WMLAElement::parseMappedAttribute): 34598 34599 2010-03-17 Kenneth Russell <kbr (a] google.com> 34600 34601 Reviewed by Darin Fisher. 34602 34603 Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093 34604 https://bugs.webkit.org/show_bug.cgi?id=36233 34605 34606 The patch for bug 33416, which added multisampling support to the 34607 WebGL back buffer, uncovered some OpenGL driver bugs on the build 34608 bots which need further investigation to determine the appropriate 34609 workaround. Reverting this change, the minor build fix in 36189, 34610 and the skipping of the affected tests in bug 36200. 34611 34612 Built and tested WebKit and Chromium and ran all WebGL layout 34613 tests in both. 34614 34615 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 34616 (WebCore::V8HTMLCanvasElement::getContextCallback): 34617 * platform/graphics/GraphicsContext3D.h: 34618 * platform/graphics/mac/Canvas3DLayer.h: 34619 * platform/graphics/mac/Canvas3DLayer.mm: 34620 (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): 34621 * platform/graphics/mac/GraphicsContext3DMac.cpp: 34622 (WebCore::GraphicsContext3D::GraphicsContext3D): 34623 (WebCore::GraphicsContext3D::~GraphicsContext3D): 34624 (WebCore::GraphicsContext3D::reshape): 34625 (WebCore::GraphicsContext3D::bindFramebuffer): 34626 (WebCore::GraphicsContext3D::readPixels): 34627 * platform/graphics/mac/GraphicsLayerCA.mm: 34628 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): 34629 34630 2010-03-17 Yael Aharon <yael.aharon (a] nokia.com> 34631 34632 Reviewed by Darin Adler. 34633 34634 Optimize painting for HTMLProgressElement 34635 https://bugs.webkit.org/show_bug.cgi?id=36113 34636 Cache the progress bar's position, so it is not required to recalculate 34637 it for each repaint. 34638 Call repaintRectangle() when the position changes. 34639 34640 No new tests, as no new functionality introduced. 34641 34642 * html/HTMLProgressElement.cpp: 34643 (WebCore::HTMLProgressElement::parseMappedAttribute): 34644 * platform/qt/RenderThemeQt.cpp: 34645 (WebCore::RenderThemeQt::getNumberOfPixelsForProgressPosition): 34646 (WebCore::RenderThemeQt::paintProgressBar): 34647 * platform/qt/RenderThemeQt.h: 34648 * rendering/RenderProgress.cpp: 34649 (WebCore::RenderProgress::RenderProgress): 34650 (WebCore::RenderProgress::updateFromElement): 34651 * rendering/RenderProgress.h: 34652 (WebCore::RenderProgress::position): 34653 * rendering/RenderTheme.cpp: 34654 (WebCore::RenderTheme::getNumberOfPixelsForProgressPosition): 34655 * rendering/RenderTheme.h: 34656 34657 2010-03-17 Antonio Gomes <tonikitoo (a] webkit.org> 34658 34659 Mac Buildfix: Using ASSERT_UNUSED instead of ASSERT. 34660 34661 Reviewed by Simon fraser. 34662 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 34663 34664 * dom/SelectElement.cpp: 34665 (WebCore::SelectElement::listBoxDefaultEventHandler): 34666 34667 2010-03-17 Enrica Casucci <enrica (a] apple.com> 34668 34669 Reviewed by Darin Adler. 34670 34671 Missing support for showing compositing layers borders and repaint count on Windows. 34672 <rdar://problem/7760736> 34673 <https://bugs.webkit.org/show_bug.cgi?id=36197> 34674 34675 * platform/graphics/win/GraphicsLayerCACF.cpp: 34676 (WebCore::WebLayer::drawInContext): Modified to use the correct font on Windows. 34677 34678 2010-03-16 Luiz Agostini <luiz.agostini (a] openbossa.org> 34679 34680 Reviewed by Antti Koivisto. 34681 34682 [Qt] Multiselect Popup - SelectElement refactoring. 34683 https://bugs.webkit.org/show_bug.cgi?id=36124 34684 34685 As it is today it is not possible to the menulists popups to tell SelectElement 34686 that more then one option is selected. If you select one the other ones 34687 selected state will turn off. 34688 34689 For <select multiple> I needed to extend the API used by menulist popups. This 34690 is the first step. Just refactoring SelectElement without any behavior change. 34691 Separating code that will be reused in future patches. 34692 34693 * dom/SelectElement.cpp: 34694 (WebCore::SelectElement::updateSelectedState): 34695 (WebCore::SelectElement::listBoxDefaultEventHandler): 34696 * dom/SelectElement.h: 34697 34698 2010-03-17 Nate Chapin <japhet (a] chromium.org> 34699 34700 Unreviewed, Chromium build fix. 34701 34702 Delete the correct file this time. 34703 34704 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp. 34705 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed. 34706 34707 2010-03-17 Nate Chapin <japhet (a] chromium.org> 34708 34709 Reviewed by Dimitri Glazkov. 34710 34711 [V8] Remove custom bindings callbacks that aren't in use. 34712 (The relevant .idl doesn't mark them as V8Custom or Custom). 34713 34714 https://bugs.webkit.org/show_bug.cgi?id=33066 34715 34716 * Android.v8bindings.mk: 34717 * WebCore.gypi: 34718 * bindings/scripts/CodeGeneratorV8.pm: 34719 * bindings/v8/custom/V8DOMWindowCustom.cpp: 34720 * bindings/v8/custom/V8WebGLArrayCustom.h: 34721 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 34722 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 34723 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 34724 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 34725 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 34726 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 34727 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 34728 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 34729 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed. 34730 34731 2010-03-17 Steve Block <steveblock (a] google.com> 34732 34733 Reviewed by Dimitri Glazkov. 34734 34735 Adds ENABLE(WORKERS) guards to V8 bindings 34736 https://bugs.webkit.org/show_bug.cgi?id=36221 34737 34738 Build fix only, no new tests. 34739 34740 * bindings/v8/V8DOMWrapper.cpp: 34741 (WebCore::V8DOMWrapper::instantiateV8Object): 34742 * bindings/v8/V8Proxy.cpp: 34743 (WebCore::toV8Context): 34744 34745 2010-03-17 Yury Semikhatsky <yurys (a] chromium.org> 34746 34747 Reviewed by Pavel Feldman. 34748 34749 Remove unused reference to InspectorController from InspectorFrontend. 34750 34751 https://bugs.webkit.org/show_bug.cgi?id=36218 34752 34753 * inspector/InspectorFrontend.h: 34754 34755 2010-03-17 Ilya Tikhonovsky <loislo (a] chromium.org> 34756 34757 Reviewed by Pavel Feldman. 34758 34759 WebInspector: Timeline improvements - next iteration. 34760 34761 The top level records should be collapsed. 34762 Virtually linked events should be nested in Timeline like Send Request and 34763 corresponding Received Responce, Timer Install and Timer Fire etc. 34764 It should be possible to see Main Resource request. 34765 34766 https://bugs.webkit.org/show_bug.cgi?id=36122 34767 34768 * inspector/InspectorController.cpp: 34769 (WebCore::InspectorController::resetScriptObjects): 34770 (WebCore::InspectorController::didReceiveResponse): 34771 * inspector/InspectorTimelineAgent.cpp: 34772 (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): 34773 (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): 34774 * inspector/InspectorTimelineAgent.h: 34775 * inspector/front-end/TimelinePanel.js: 34776 (WebInspector.TimelinePanel): 34777 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 34778 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 34779 (WebInspector.TimelinePanel.prototype._findParentRecord): 34780 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 34781 (WebInspector.TimelinePanel.prototype.resize): 34782 (WebInspector.TimelinePanel.prototype._createTopLevelRecord): 34783 (WebInspector.TimelinePanel.prototype.reset): 34784 (WebInspector.TimelinePanel.prototype._clean): 34785 (WebInspector.TimelinePanel.prototype._refresh): 34786 (WebInspector.TimelinePanel.prototype._refreshRecords): 34787 (WebInspector.TimelinePanel.prototype._addToRecordsWindow): 34788 (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): 34789 (WebInspector.TimelineCalculator.prototype.updateBoundaries): 34790 (WebInspector.TimelineRecordGraphRow): 34791 (WebInspector.TimelineRecordGraphRow.prototype.update): 34792 (WebInspector.TimelinePanel.FormattedRecord): 34793 (WebInspector.TimelinePanel.FormattedRecord.prototype.get children): 34794 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 34795 * inspector/front-end/inspector.css: 34796 * loader/ResourceLoader.cpp: 34797 (WebCore::ResourceLoader::didReceiveResponse): 34798 34799 2010-03-17 Alexander Pavlov <apavlov (a] chromium.org> 34800 34801 Reviewed by Pavel Feldman. 34802 34803 Web Inspector: Reimplement style-related audits using native API 34804 https://bugs.webkit.org/show_bug.cgi?id=36172 34805 34806 * inspector/InspectorBackend.cpp: 34807 (WebCore::InspectorBackend::getAllStyles): 34808 * inspector/InspectorBackend.h: 34809 * inspector/InspectorBackend.idl: 34810 * inspector/InspectorDOMAgent.cpp: 34811 (WebCore::InspectorDOMAgent::getAllStyles): 34812 (WebCore::InspectorDOMAgent::getMatchedCSSRules): 34813 (WebCore::InspectorDOMAgent::buildObjectForStyleSheet): 34814 (WebCore::InspectorDOMAgent::buildObjectForRule): 34815 * inspector/InspectorDOMAgent.h: 34816 * inspector/InspectorFrontend.cpp: 34817 (WebCore::InspectorFrontend::didGetAllStyles): 34818 * inspector/InspectorFrontend.h: 34819 * inspector/front-end/AuditRules.js: 34820 (WebInspector.AuditRules.evaluateInTargetWindow): 34821 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): 34822 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine): 34823 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): 34824 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine): 34825 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 34826 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 34827 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): 34828 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): 34829 * inspector/front-end/DOMAgent.js: 34830 * inspector/front-end/InjectedScript.js: 34831 (injectedScriptConstructor): 34832 34833 2010-03-17 Steve Block <steveblock (a] google.com> 34834 34835 Reviewed by Jeremy Orlow. 34836 34837 Replace instances of bzero in WebCore/bridge common code with memset 34838 https://bugs.webkit.org/show_bug.cgi?id=36214 34839 34840 Syntax change only, no new tests. 34841 34842 * bridge/jni/JNIUtility.cpp: 34843 (JSC::Bindings::getJNIField): 34844 * bridge/jni/jsc/JNIBridgeJSC.cpp: 34845 (JavaField::dispatchValueFromInstance): 34846 * bridge/jni/jsc/JNIUtilityPrivate.cpp: 34847 (JSC::Bindings::convertValueToJValue): 34848 * bridge/jni/v8/JNIUtilityPrivate.cpp: 34849 (JSC::Bindings::convertNPVariantToJValue): 34850 * bridge/jni/v8/JavaNPObjectV8.cpp: 34851 (JSC::Bindings::AllocJavaNPObject): 34852 34853 2010-03-17 Yury Semikhatsky <yurys (a] chromium.org> 34854 34855 Reviewed by Pavel Feldman. 34856 34857 Mark inspector resources as changed so that they are reloaded on the next frontend connection. 34858 34859 Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection. 34860 34861 https://bugs.webkit.org/show_bug.cgi?id=36183 34862 34863 * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file. 34864 * inspector/InspectorController.cpp: 34865 (WebCore::InspectorController::disconnectFrontend): 34866 (WebCore::InspectorController::unbindAllResources): 34867 (WebCore::InspectorController::didCommitLoad): 34868 * inspector/InspectorController.h: 34869 * inspector/InspectorResource.cpp: 34870 (WebCore::InspectorResource::releaseScriptObject): 34871 34872 2010-03-17 Pavel Feldman <pfeldman (a] chromium.org> 34873 34874 Reviewed by Timothy Hatcher. 34875 34876 Web Inspector: Capture main resource load events in timeline panel. 34877 34878 https://bugs.webkit.org/show_bug.cgi?id=36188 34879 34880 * inspector/front-end/TimelinePanel.js: 34881 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 34882 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): 34883 (WebInspector.TimelinePanel.prototype.timelineWasStopped): 34884 (WebInspector.TimelinePanel.prototype.addRecordToTimeline): 34885 (WebInspector.TimelinePanel.prototype._clearPanel): 34886 (WebInspector.TimelinePanel.FormattedRecord): 34887 34888 2010-03-17 Zoltan Horvath <zoltan (a] webkit.org> 34889 34890 Reviewed by Eric Seidel. 34891 34892 Allow custom memory allocation control for AtomicString class 34893 https://bugs.webkit.org/show_bug.cgi?id=35907 34894 34895 Inherits the following class from FastAllocBase because it is 34896 instantiated by 'new': 34897 34898 class name - instantiated at: WebCore/'location' 34899 AtomicString - WebCore/html/HTMLTableElement.cpp:525 34900 34901 * platform/text/AtomicString.h: 34902 34903 2010-03-16 John Abd-El-Malek <jam (a] chromium.org> 34904 34905 Reviewed by Darin Fisher. 34906 34907 Give keyboard focus to PluginDocuments by default 34908 https://bugs.webkit.org/show_bug.cgi?id=36147 34909 34910 Test: http/tests/plugins/plugin-document-has-focus.html 34911 34912 * loader/PluginDocument.cpp: 34913 (WebCore::PluginDocument::pluginNode): 34914 * loader/PluginDocument.h: 34915 * page/EventHandler.cpp: 34916 (WebCore::eventTargetNodeForDocument): 34917 34918 2010-03-16 Chris Fleizach <cfleizach (a] apple.com> 34919 34920 Reviewed by Darin Adler. 34921 34922 REGRESSION (r53857): Crash when tabbing to <map> 34923 https://bugs.webkit.org/show_bug.cgi?id=36017 34924 34925 Test: fast/events/imagemap-norender-crash.html 34926 34927 * html/HTMLMapElement.cpp: 34928 (WebCore::HTMLMapElement::imageElement): 34929 34930 2010-03-16 Brent Fulgham <bfulgham (a] webkit.org> 34931 34932 Build fix. No Review. 34933 34934 Correct missing includes in cURL network backend introduced 34935 by recent changes in WebKit. 34936 34937 * platform/network/curl/ResourceHandleCurl.cpp: Add missing 34938 includes for SharedBuffer and PassRefPtr. 34939 (WebCore::ResourceHandle::loadResourceSynchronously): Correct 34940 constructor signature for ResourceHandle to match @r55688. 34941 * platform/network/curl/ResourceHandleManager.cpp: Add missing 34942 include for RetainPtr. 34943 34944 2010-03-16 Zhenyao Mo <zmo (a] google.com> 34945 34946 Reviewed by Darin Fisher. 34947 34948 Hook up WebGLContextAttributes to OpenGL context creation code 34949 https://bugs.webkit.org/show_bug.cgi?id=33416 34950 34951 Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html 34952 34953 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug. 34954 * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose. 34955 * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer. 34956 * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support. 34957 * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac. 34958 * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call. 34959 34960 2010-03-16 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 34961 34962 Reviewed by Xan Lopez. 34963 34964 https://bugs.webkit.org/show_bug.cgi?id=35504 34965 [Gtk] Evaluate and fix AtkTable for layout tables 34966 34967 Causes "layout tables" to be exposed as AccessibilityTables for Gtk. 34968 34969 * accessibility/AccessibilityTable.cpp: 34970 (AccessibilityTable::isTableExposableThroughAccessibility): 34971 34972 2010-03-16 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 34973 34974 Unreviewed. Build fix for distcheck. 34975 34976 * GNUmakefile.am: 34977 34978 2010-03-15 Darin Fisher <darin (a] chromium.org> 34979 34980 Reviewed by Adam Barth. 34981 34982 https://bugs.webkit.org/show_bug.cgi?id=36152 34983 [chromium] Add support for history.pushState and history.replaceState 34984 34985 This is covered by the existing tests in fast/loader/stateobjects 34986 34987 * bindings/v8/SerializedScriptValue.cpp: 34988 (WebCore::ZigZag::Deserializer::deserialize): 34989 (WebCore::SerializedScriptValue::deserialize): 34990 * bindings/v8/SerializedScriptValue.h: 34991 Switch to returning v8::Null instead of the empty value to match JSC 34992 and the spec. 34993 34994 * loader/FrameLoader.cpp: 34995 (WebCore::FrameLoader::loadInSameDocument): Call 34996 dispatchDidNavigateWithinPage just before dispatching events to the 34997 page. This ordering is important since the event handlers could 34998 destroy the page or start another navigation. 34999 35000 * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to 35001 notify the client whenever a navigation occurs without changing any of 35002 the documents in the page. 35003 35004 2010-03-16 Adam Roben <aroben (a] apple.com> 35005 35006 Fix linker warnings when building WebCore on Windows 35007 35008 Rubber-stamped by Steve Falkenburg. 35009 35010 * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the 35011 build, since it's already included in DerivedSources.cpp. Also let VS 35012 sort this file as it saw fit. 35013 35014 2010-03-15 Antti Koivisto <koivisto (a] iki.fi> 35015 35016 Reviewed by Simon Hausmann. 35017 35018 https://bugs.webkit.org/show_bug.cgi?id=36121 35019 [Qt] Make WebKit scrollbars work with tiling 35020 35021 Translate coordinates correctly. 35022 35023 * page/Frame.cpp: 35024 (WebCore::Frame::tiledBackingStorePaintEnd): 35025 35026 2010-03-16 Jakub Wieczorek <jwieczorek (a] webkit.org> 35027 35028 Reviewed by Eric Seidel. 35029 35030 [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes 35031 when no media services can be found. 35032 35033 https://bugs.webkit.org/show_bug.cgi?id=36142 35034 35035 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 35036 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 35037 35038 2010-03-16 Adam Barth <abarth (a] webkit.org> 35039 35040 Unreviewed. 35041 35042 noscript tag should render when @sandbox disables JavaScript 35043 https://bugs.webkit.org/show_bug.cgi?id=36092 35044 35045 Add missing "!" in plugin code. Should fix plugins/embed-inside-object 35046 on Gtk and Qt. 35047 35048 * plugins/PluginView.cpp: 35049 (WebCore::PluginView::load): 35050 35051 2010-03-16 Nate Chapin <japhet (a] chromium.org> 35052 35053 Reviewed by Dimitri Glazkov. 35054 35055 [V8] Delete DerivedSourcesAllInOne.cpp. 35056 35057 https://bugs.webkit.org/show_bug.cgi?id=33048 35058 35059 * Android.v8bindings.mk: 35060 * bindings/v8/DerivedSourcesAllInOne.cpp: Removed. 35061 35062 2010-03-16 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 35063 35064 Revert r56006 as it caused functional issues. We will work on a 35065 testcase, and rework the fix, and land when we have this a bit 35066 more testable. 35067 35068 * platform/gtk/RenderThemeGtk.cpp: 35069 (WebCore::RenderThemeGtk::paintMediaPlayButton): 35070 35071 2010-03-16 Pavel Feldman <pfeldman (a] chromium.org> 35072 35073 Reviewed by Timothy Hatcher. 35074 35075 Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML. 35076 35077 https://bugs.webkit.org/show_bug.cgi?id=35025 35078 35079 * inspector/InspectorDOMAgent.cpp: 35080 (WebCore::InspectorDOMAgent::getStyles): 35081 * inspector/front-end/DOMAgent.js: 35082 (WebInspector.DOMNode.prototype._addAttribute): 35083 (WebInspector.DOMWindow.prototype.Object): 35084 * inspector/front-end/MetricsSidebarPane.js: 35085 * inspector/front-end/StylesSidebarPane.js: 35086 (WebInspector.StylesSidebarPane.prototype.update.callback): 35087 (WebInspector.StylesSidebarPane.prototype.update): 35088 (WebInspector.StylesSidebarPane.prototype._update): 35089 35090 2010-03-12 Antonio Gomes <tonikitoo (a] webkit.org> 35091 35092 Reviewed by Simon Fraser. 35093 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 35094 35095 Spatial Navigation: Add a scrollIntoView call when focusing an element. 35096 https://bugs.webkit.org/show_bug.cgi?id=36020 35097 35098 When focusing an element in Spatial Navigation logic, it is desired to make 35099 this element visible in the current viewport. For that to happen, there 35100 could be a call to Element's scrollIntoView method at focusing time. However 35101 for visual aspects, it is preferable to scroll to an inflated rect of |element| 35102 in order to consider the focus outline width. 35103 As Element's scrollIntoView method does not provide this flexibility, patch adds 35104 a custom scrollIntoView method to SpatialNavigation.h . 35105 35106 * page/FocusController.cpp: 35107 (WebCore::FocusController::advanceFocusDirectionally): 35108 * page/SpatialNavigation.cpp: 35109 (WebCore::scrollIntoView): 35110 * page/SpatialNavigation.h: 35111 35112 2010-03-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 35113 35114 Reviewed by Eric Seidel. 35115 35116 [GTK] Position queries are lagging 35117 https://bugs.webkit.org/show_bug.cgi?id=34372 35118 35119 Normalize timeout priorities through the GStreamer media player as 35120 a whole. This should help avoid that any of them is starved. 35121 35122 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 35123 (WebCore::MediaPlayerPrivate::volumeChanged): 35124 (WebCore::MediaPlayerPrivate::processBufferingStats): 35125 (WebCore::MediaPlayerPrivate::muteChanged): 35126 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: 35127 (webkit_video_sink_render): 35128 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 35129 (webKitWebSrcNeedDataCb): 35130 (webKitWebSrcEnoughDataCb): 35131 (webKitWebSrcSeekDataCb): 35132 35133 2010-03-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 35134 35135 Reviewed by Eric Seidel. 35136 35137 [GTK] Position queries are lagging 35138 https://bugs.webkit.org/show_bug.cgi?id=34372 35139 35140 Use default priority also for parsing data: URIs. 35141 35142 * platform/network/soup/ResourceHandleSoup.cpp: 35143 (WebCore::startData): 35144 35145 2010-03-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 35146 35147 Reviewed by Eric Seidel. 35148 35149 [GTK] Position queries are lagging 35150 https://bugs.webkit.org/show_bug.cgi?id=34372 35151 35152 Normalize SharedTimers priorities to always be 35153 G_PRIORITY_DEFAULT. As it is currently, timers that should happen 35154 immediately (0 miliseconds delay) end up delayed by a lot of time 35155 due to glib starving lower priority sources. 35156 35157 * platform/gtk/SharedTimerGtk.cpp: 35158 (WebCore::setSharedTimerFireTime): 35159 35160 2010-03-16 Xan Lopez <xlopez (a] igalia.com> 35161 35162 Reviewed by Gustavo Noronha. 35163 35164 Add support for Fast Mobile Scrolling in the build system. 35165 35166 * GNUmakefile.am: 35167 35168 2010-03-11 Yury Semikhatsky <yurys (a] chromium.org> 35169 35170 Reviewed by Pavel Feldman. 35171 35172 Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost. 35173 35174 Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder 35175 https://bugs.webkit.org/show_bug.cgi?id=35036 35176 35177 * GNUmakefile.am: 35178 * WebCore.Inspector.exp: 35179 * WebCore.base.exp: 35180 * WebCore.gypi: 35181 * WebCore.order: 35182 * WebCore.pro: 35183 * WebCore.xcodeproj/project.pbxproj: 35184 * inspector/ConsoleMessage.cpp: 35185 (WebCore::ConsoleMessage::addToFrontend): 35186 * inspector/ConsoleMessage.h: 35187 * inspector/InspectorClient.h: 35188 * inspector/InspectorController.cpp: 35189 (WebCore::InspectorController::InspectorController): 35190 (WebCore::InspectorController::~InspectorController): 35191 (WebCore::InspectorController::inspectedPageDestroyed): 35192 (WebCore::InspectorController::windowVisible): 35193 (WebCore::InspectorController::frontendReady): 35194 (WebCore::InspectorController::willCloseFrontend): 35195 (WebCore::InspectorController::addConsoleMessage): 35196 (WebCore::InspectorController::setInspectorFrontendClient): 35197 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 35198 (WebCore::InspectorController::setFrontend): 35199 (WebCore::InspectorController::show): 35200 (WebCore::InspectorController::close): 35201 (WebCore::InspectorController::releaseDOMAgent): 35202 (WebCore::InspectorController::populateScriptObjects): 35203 (WebCore::InspectorController::didCommitLoad): 35204 (WebCore::InspectorController::getProfile): 35205 (WebCore::InspectorController::enableDebugger): 35206 * inspector/InspectorController.h: 35207 (WebCore::InspectorController::hasInspectorFrontendClient): 35208 * inspector/InspectorFrontend.cpp: 35209 (WebCore::InspectorFrontend::InspectorFrontend): 35210 (WebCore::InspectorFrontend::~InspectorFrontend): 35211 (WebCore::InspectorFrontend::addConsoleMessage): 35212 (WebCore::InspectorFrontend::bringToFront): 35213 (WebCore::InspectorFrontend::inspectedURLChanged): 35214 * inspector/InspectorFrontend.h: 35215 * inspector/InspectorFrontendClient.h: Added. 35216 (WebCore::InspectorFrontendClient::~InspectorFrontendClient): 35217 * inspector/InspectorFrontendClientLocal.cpp: Added. 35218 (WebCore::FrontendMenuProvider::create): 35219 (WebCore::FrontendMenuProvider::disconnect): 35220 (WebCore::FrontendMenuProvider::FrontendMenuProvider): 35221 (WebCore::FrontendMenuProvider::~FrontendMenuProvider): 35222 (WebCore::FrontendMenuProvider::populateContextMenu): 35223 (WebCore::FrontendMenuProvider::contextMenuItemSelected): 35224 (WebCore::FrontendMenuProvider::contextMenuCleared): 35225 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): 35226 (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal): 35227 (WebCore::InspectorFrontendClientLocal::windowObjectCleared): 35228 (WebCore::InspectorFrontendClientLocal::frontendLoaded): 35229 (WebCore::InspectorFrontendClientLocal::canAttachWindow): 35230 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): 35231 (WebCore::InspectorFrontendClientLocal::moveWindowBy): 35232 (WebCore::InspectorFrontendClientLocal::showContextMenu): 35233 (WebCore::InspectorFrontendClientLocal::setAttachedWindow): 35234 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): 35235 (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight): 35236 * inspector/InspectorFrontendClientLocal.h: Added. 35237 * inspector/InspectorFrontendHost.cpp: 35238 (WebCore::InspectorFrontendHost::InspectorFrontendHost): 35239 (WebCore::InspectorFrontendHost::~InspectorFrontendHost): 35240 (WebCore::InspectorFrontendHost::loaded): 35241 (WebCore::InspectorFrontendHost::attach): 35242 (WebCore::InspectorFrontendHost::detach): 35243 (WebCore::InspectorFrontendHost::closeWindow): 35244 (WebCore::InspectorFrontendHost::bringToFront): 35245 (WebCore::InspectorFrontendHost::inspectedURLChanged): 35246 (WebCore::InspectorFrontendHost::canAttachWindow): 35247 (WebCore::InspectorFrontendHost::setAttachedWindowHeight): 35248 (WebCore::InspectorFrontendHost::moveWindowBy): 35249 (WebCore::InspectorFrontendHost::showContextMenu): 35250 * inspector/InspectorFrontendHost.h: 35251 (WebCore::InspectorFrontendHost::create): 35252 * inspector/InspectorFrontendHost.idl: 35253 * inspector/front-end/InspectorFrontendHostStub.js: 35254 (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront): 35255 (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged): 35256 * inspector/front-end/inspector.js: 35257 (WebInspector.loaded): 35258 (WebInspector.close): 35259 (WebInspector.bringToFront): 35260 (WebInspector.inspectedURLChanged): 35261 * loader/EmptyClients.h: 35262 (WebCore::EmptyInspectorClient::openInspectorFrontend): 35263 * loader/FrameLoader.cpp: 35264 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): 35265 * page/Page.cpp: 35266 (WebCore::Page::Page): 35267 (WebCore::Page::~Page): 35268 * page/Page.h: 35269 * platform/ContextMenu.cpp: 35270 (WebCore::ContextMenu::populate): 35271 (WebCore::ContextMenu::addInspectElementItem): 35272 35273 2010-03-16 Pavel Feldman <pfeldman (a] chromium.org> 35274 35275 Reviewed by Timothy Hatcher. 35276 35277 Web Inspector: migrate to native styles inspector in 35278 order to inspect styles from foreighn domains. 35279 35280 https://bugs.webkit.org/show_bug.cgi?id=36117 35281 35282 * inspector/InspectorBackend.cpp: 35283 (WebCore::InspectorBackend::getStyles): 35284 (WebCore::InspectorBackend::getInlineStyle): 35285 (WebCore::InspectorBackend::getComputedStyle): 35286 (WebCore::InspectorBackend::applyStyleText): 35287 (WebCore::InspectorBackend::setStyleText): 35288 (WebCore::InspectorBackend::setStyleProperty): 35289 (WebCore::InspectorBackend::toggleStyleEnabled): 35290 (WebCore::InspectorBackend::setRuleSelector): 35291 (WebCore::InspectorBackend::addRule): 35292 * inspector/InspectorBackend.h: 35293 * inspector/InspectorBackend.idl: 35294 * inspector/InspectorDOMAgent.cpp: 35295 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 35296 (WebCore::InspectorDOMAgent::getStyles): 35297 (WebCore::InspectorDOMAgent::getInlineStyle): 35298 (WebCore::InspectorDOMAgent::getComputedStyle): 35299 (WebCore::InspectorDOMAgent::getMatchedCSSRules): 35300 (WebCore::InspectorDOMAgent::getAttributeStyles): 35301 (WebCore::InspectorDOMAgent::applyStyleText): 35302 (WebCore::InspectorDOMAgent::setStyleText): 35303 (WebCore::InspectorDOMAgent::setStyleProperty): 35304 (WebCore::InspectorDOMAgent::toggleStyleEnabled): 35305 (WebCore::InspectorDOMAgent::setRuleSelector): 35306 (WebCore::InspectorDOMAgent::addRule): 35307 (WebCore::InspectorDOMAgent::bindStyle): 35308 (WebCore::InspectorDOMAgent::bindRule): 35309 (WebCore::InspectorDOMAgent::buildObjectForStyle): 35310 (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties): 35311 (WebCore::InspectorDOMAgent::buildObjectForRule): 35312 (WebCore::InspectorDOMAgent::uniqueStyleProperties): 35313 (WebCore::InspectorDOMAgent::longhandProperties): 35314 (WebCore::InspectorDOMAgent::shorthandPriority): 35315 (WebCore::InspectorDOMAgent::ruleAffectsNode): 35316 (WebCore::InspectorDOMAgent::toArray): 35317 * inspector/InspectorDOMAgent.h: 35318 * inspector/InspectorFrontend.cpp: 35319 (WebCore::InspectorFrontend::didGetEventListenersForNode): 35320 (WebCore::InspectorFrontend::didGetStyles): 35321 (WebCore::InspectorFrontend::didGetComputedStyle): 35322 (WebCore::InspectorFrontend::didGetInlineStyle): 35323 (WebCore::InspectorFrontend::didApplyStyleText): 35324 (WebCore::InspectorFrontend::didSetStyleText): 35325 (WebCore::InspectorFrontend::didSetStyleProperty): 35326 (WebCore::InspectorFrontend::didToggleStyleEnabled): 35327 (WebCore::InspectorFrontend::didSetRuleSelector): 35328 (WebCore::InspectorFrontend::didAddRule): 35329 * inspector/InspectorFrontend.h: 35330 * inspector/front-end/DOMAgent.js: 35331 (WebInspector.CSSStyleDeclaration): 35332 * inspector/front-end/ElementsTreeOutline.js: 35333 * inspector/front-end/InjectedScript.js: 35334 * inspector/front-end/MetricsSidebarPane.js: 35335 (WebInspector.MetricsSidebarPane.prototype.update): 35336 (WebInspector.MetricsSidebarPane.prototype.editingCommitted): 35337 * inspector/front-end/StylesSidebarPane.js: 35338 (WebInspector.StylesSidebarPane.prototype.update): 35339 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback): 35340 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): 35341 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): 35342 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): 35343 (WebInspector.StylePropertyTreeElement.prototype): 35344 (WebInspector.StylePropertyTreeElement.prototype.): 35345 35346 2010-03-16 Shinichiro Hamaji <hamaji (a] chromium.org> 35347 35348 Reviewed by Darin Adler. 35349 35350 RenderText::m_text should be a String, not RefPtr<StringImpl> 35351 https://bugs.webkit.org/show_bug.cgi?id=36010 35352 35353 Refactoring only, so no new tests. 35354 35355 * platform/text/PlatformString.h: 35356 (WebCore::String::makeLower): 35357 (WebCore::String::makeUpper): 35358 (WebCore::String::makeSecure): 35359 (WebCore::String::makeCapitalized): 35360 (WebCore::String::containsOnlyASCII): 35361 * rendering/RenderText.cpp: 35362 (WebCore::RenderText::RenderText): 35363 (WebCore::RenderText::widthFromCache): 35364 (WebCore::RenderText::trimmedPrefWidths): 35365 (WebCore::RenderText::containsOnlyWhitespace): 35366 (WebCore::RenderText::setTextInternal): 35367 (WebCore::RenderText::setText): 35368 (WebCore::RenderText::previousOffset): 35369 (WebCore::RenderText::previousOffsetForBackwardDeletion): 35370 (WebCore::RenderText::nextOffset): 35371 * rendering/RenderText.h: 35372 (WebCore::RenderText::text): 35373 (WebCore::RenderText::characters): 35374 (WebCore::RenderText::textLength): 35375 35376 2010-03-16 Adam Barth <abarth (a] webkit.org> 35377 35378 Reviewed by Darin Adler. 35379 35380 noscript tag should render when @sandbox disables JavaScript 35381 https://bugs.webkit.org/show_bug.cgi?id=36092 35382 35383 Instead of talking to Settings directly to figure out if JavaScript is 35384 enabled in a frame, we need to talk to the ScriptController. The 35385 ScriptController is better at answering that question because it knows 35386 about @sandbox. 35387 35388 Test: fast/frames/sandboxed-iframe-noscript.html 35389 35390 * dom/Document.cpp: 35391 (WebCore::Document::Document): 35392 * html/HTMLCanvasElement.cpp: 35393 (WebCore::HTMLCanvasElement::createRenderer): 35394 * html/HTMLElement.cpp: 35395 (WebCore::HTMLElement::rendererIsNeeded): 35396 * html/HTMLParser.cpp: 35397 (WebCore::HTMLParser::noscriptCreateErrorCheck): 35398 (WebCore::HTMLParser::isInline): 35399 * plugins/PluginView.cpp: 35400 (WebCore::PluginView::load): 35401 35402 2010-03-15 John Gregg <johnnyg (a] google.com> 35403 35404 Reviewed by David Levin. 35405 35406 Notification object should expose absolute URL of icon 35407 https://bugs.webkit.org/show_bug.cgi?id=35800 35408 35409 Covered by existing tests. 35410 35411 * notifications/Notification.cpp: 35412 (WebCore::Notification::Notification): 35413 * notifications/Notification.h: 35414 (WebCore::Notification::iconURL): 35415 35416 2010-03-15 Leandro Pereira <leandro (a] profusion.mobi> 35417 35418 Reviewed by Holger Freyther. 35419 35420 Add EFL port files to platform/efl. 35421 http://webkit.org/b/35887 35422 35423 * platform/efl/ClipboardEfl.cpp: Added. 35424 * platform/efl/PasteboardEfl.cpp: Added. 35425 35426 2010-03-15 Kent Tamura <tkent (a] chromium.org> 35427 35428 Reviewed by Eric Seidel. 35429 35430 Don't submit disabled menu options. 35431 https://bugs.webkit.org/show_bug.cgi?id=35056 35432 35433 Test: fast/forms/menulist-disabled-selected-option.html 35434 35435 * dom/OptionElement.h: 35436 * dom/SelectElement.cpp: 35437 (WebCore::SelectElement::appendFormData): 35438 If a selected option is disabled, skip it. 35439 Remove code for non-selected menulist because of compatibility with 35440 other browsers. 35441 35442 2010-03-15 Leandro Pereira <leandro (a] profusion.mobi> 35443 35444 Reviewed by Holger Freyther. 35445 35446 Add EFL port files to platform/efl. 35447 http://webkit.org/b/35884 35448 35449 * platform/efl/FileSystemEfl.cpp: Added. 35450 35451 2010-03-15 Leandro Pereira <leandro (a] profusion.mobi> 35452 35453 Reviewed by Holger Freyther. 35454 35455 Add EFL port files to platform/efl. 35456 http://webkit.org/b/35882 35457 35458 * platform/efl/ContextMenuItemEfl.cpp: Added. 35459 35460 2010-03-15 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 35461 35462 Reviewed by Holger Freyther. 35463 35464 https://bugs.webkit.org/show_bug.cgi?id=35502 35465 [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText 35466 35467 Simple change to stop tables from implementing AtkText. 35468 35469 * accessibility/gtk/AccessibilityObjectAtk.cpp: 35470 (getInterfaceMaskFromObject): 35471 35472 2010-03-15 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 35473 35474 Reviewed by Adam Barth. 35475 35476 According to the updated specification, a data field should always 35477 result in a newline character being appended to the data buffer 35478 regardless if the data buffer contains any data or not. However, upon 35479 event dispatch, the last newline will be removed. This differs from an 35480 older version of the specification where a newline character was 35481 appended before the data value only if the buffer already contained 35482 data. As a result, EventSource now supports receiving events with empty 35483 data or newline characters only. 35484 https://bugs.webkit.org/show_bug.cgi?id=33210 35485 35486 * page/EventSource.cpp: 35487 (WebCore::EventSource::parseEventStreamLine): 35488 35489 2010-03-15 Valters Svabe <vsvabe (a] gmail.com> 35490 35491 Reviewed by Darin Adler. 35492 35493 :after selector displays in wrong place with nested div 35494 https://bugs.webkit.org/show_bug.cgi?id=32288 35495 35496 Make sure we don't append things after :after-generated content, if 35497 it's inside an anonymous block. 35498 35499 Test: fast/css-generated-content/block-after.html 35500 35501 * rendering/RenderBlock.cpp: 35502 (WebCore::RenderBlock::addChild): 35503 35504 2010-03-15 Leandro Pereira <leandro (a] profusion.mobi> 35505 35506 Reviewed by Eric Seidel. 35507 35508 Add EFL port files to platform/efl. 35509 http://webkit.org/b/35885 35510 35511 * platform/efl/KURLEfl.cpp: Added. 35512 35513 2010-03-15 Chris Fleizach <cfleizach (a] apple.com> 35514 35515 Reviewed by Beth Dakin. 35516 35517 VO not able to perform a VO-spacebar on facebook links 35518 https://bugs.webkit.org/show_bug.cgi?id=36132 35519 35520 When a label element is used as a click event handler, and it doesn't have any 35521 corresponding control, it should handle the action itself. 35522 35523 Test: accessibility/label-element-press.html 35524 35525 * html/HTMLLabelElement.cpp: 35526 (WebCore::HTMLLabelElement::accessKeyAction): 35527 35528 2010-03-15 Cameron Zwarich <zwarich (a] apple.com> 35529 35530 Reviewed by Geoff Garen. 35531 35532 Bug 36135 - GCController::garbageCollectNow() crashes when called from garbage collection 35533 <https://bugs.webkit.org/show_bug.cgi?id=36135> 35534 <rdar://problem/7752552> 35535 35536 * bindings/js/GCController.cpp: 35537 (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is 35538 active rather than hitting the CRASH() reentrancy guard. 35539 35540 2010-03-15 Simon Fraser <simon.fraser (a] apple.com> 35541 35542 Reviewed by Dan Bernstein. 35543 35544 Drop out of compositing mode when no elements need to composite 35545 https://bugs.webkit.org/show_bug.cgi?id=36134 35546 35547 When no more elements on the page need to be composited, drop out of compositing 35548 mode altogether, including removing the layer-backed view that hosts the layers. 35549 35550 * rendering/RenderLayerCompositor.cpp: 35551 (WebCore::RenderLayerCompositor::updateCompositingLayers): If the list of child layers to attach at 35552 the root is empty, we have no composited layers, and can drop out of compositing mode by calling 35553 willMoveOffscreen(). 35554 35555 (WebCore::RenderLayerCompositor::computeCompositingRequirements): In several places, 35556 use willBeComposited rather than calling needsToBeComposited(), because it avoids 35557 recomputing state that we know already (but assert that we're getting it right). 35558 When we're assessing the root layer in post-order, see if we have any child layers that 35559 are compositing, and also whether the root itself needs to composite. If neither are 35560 true, then we can drop out of compositing mode. 35561 35562 (WebCore::RenderLayerCompositor::needsToBeComposited): 35563 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Move the 35564 "inCompositingMode() && layer->isRootLayer()" test out of requiresCompositingLayer() 35565 and into needsToBeComposited() so that we can call requiresCompositingLayer() separately 35566 on the root layer above. 35567 35568 2010-03-15 Leandro Pereira <leandro (a] profusion.mobi> 35569 35570 Reviewed by Kenneth Rohde Christiansen. 35571 35572 Add EFL port files to platform/efl. 35573 http://webkit.org/b/35888 35574 35575 * platform/efl/SoundEfl.cpp: Added. 35576 35577 2010-03-15 Andy Estes <aestes (a] apple.com> 35578 35579 Reviewed by John Sullivan. 35580 35581 For continuous scrolling devices on the Mac (trackpads and Mighty/Magic 35582 Mice), set the number of wheel ticks equal to the atomic increment of 35583 the device: a pixel. This ensures that any scrolling action will 35584 generate at least one wheel tick, regardless of the speed/length of 35585 the gesture. 35586 35587 https://bugs.webkit.org/show_bug.cgi?id=29601 35588 <rdar://problem/7453254> 35589 35590 Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html 35591 fast/events/platform-wheelevent-in-scrolling-div.html 35592 35593 * platform/mac/WebCoreSystemInterface.h: Modify method signature. 35594 * platform/mac/WebCoreSystemInterface.mm: Ditto. 35595 * platform/mac/WheelEventMac.mm: 35596 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into 35597 WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y. 35598 WKSI will query the event system for number of wheel ticks and 35599 pixels/lines scrolled based on the device type. 35600 35601 2010-03-15 Philippe Normand <pnormand (a] igalia.com> 35602 35603 Reviewed by Gustavo Noronha Silva. 35604 35605 [GStreamer] duration query optimizations 35606 https://bugs.webkit.org/show_bug.cgi?id=36116 35607 35608 Don't reattempt duration queries that previously failed and cache 35609 media duration only if it's known. 35610 35611 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 35612 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 35613 (WebCore::MediaPlayerPrivate::duration): 35614 (WebCore::MediaPlayerPrivate::updateStates): 35615 (WebCore::MediaPlayerPrivate::durationChanged): 35616 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 35617 35618 2010-03-11 Peter Kasting <pkasting (a] google.com> 35619 35620 Reviewed by Adam Barth. 35621 35622 Clean up more bits of the open-source image decoders. In addition to 35623 simplifying things somewhat, this makes all the decoders the same in 35624 terms of how they construct "image reader" subclasses and init scale 35625 data. 35626 35627 https://bugs.webkit.org/show_bug.cgi?id=36040 35628 35629 No functional change, so no tests. 35630 35631 * platform/image-decoders/ImageDecoder.h: Reorder a few declarations to try and group/order members slightly better. 35632 (WebCore::ImageDecoder::ImageDecoder): 35633 * platform/image-decoders/gif/GIFImageDecoder.cpp: Move reader construction into decode(). Prep scale data in setSize(). Remove useless comment. 35634 (WebCore::GIFImageDecoder::setData): 35635 (WebCore::GIFImageDecoder::setSize): 35636 (WebCore::GIFImageDecoder::frameBufferAtIndex): 35637 (WebCore::GIFImageDecoder::decode): 35638 * platform/image-decoders/gif/GIFImageDecoder.h: Prep scale data in setSize(). 35639 * platform/image-decoders/gif/GIFImageReader.cpp: Prep scale data in setSize(). 35640 (GIFImageReader::read): 35641 * platform/image-decoders/ico/ICOImageDecoder.cpp: Shorten code. 35642 (WebCore::ICOImageDecoder::setSize): 35643 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix style. Move reader construction into decode(). 35644 (WebCore::JPEGImageReader::close): 35645 (WebCore::JPEGImageReader::skipBytes): 35646 (WebCore::JPEGImageDecoder::decode): 35647 * platform/image-decoders/jpeg/JPEGImageDecoder.h: Move reader construction into decode(). 35648 (WebCore::JPEGImageDecoder::filenameExtension): 35649 * platform/image-decoders/png/PNGImageDecoder.cpp: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). Remove useless comment. 35650 (WebCore::PNGImageReader::PNGImageReader): 35651 (WebCore::PNGImageReader::close): 35652 (WebCore::PNGImageReader::decode): 35653 (WebCore::PNGImageDecoder::setSize): 35654 (WebCore::PNGImageDecoder::frameBufferAtIndex): 35655 (WebCore::PNGImageDecoder::headerAvailable): 35656 (WebCore::PNGImageDecoder::pngComplete): 35657 (WebCore::PNGImageDecoder::decode): 35658 * platform/image-decoders/png/PNGImageDecoder.h: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). 35659 (WebCore::PNGImageDecoder::filenameExtension): 35660 (WebCore::PNGImageDecoder::isComplete): 35661 35662 2010-03-15 Philippe Normand <pnormand (a] igalia.com> 35663 35664 Reviewed by Gustavo Noronha Silva. 35665 35666 [GStreamer] updateStates called for all elements posting a state-change 35667 https://bugs.webkit.org/show_bug.cgi?id=36115 35668 35669 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 35670 (WebCore::mediaPlayerPrivateMessageCallback): Update player state 35671 only for state-change messages coming from playbin2 directly. 35672 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 35673 (WebCore::MediaPlayerPrivate::pipeline): public accessor for the 35674 playbin element. 35675 35676 2010-03-15 Jian Li <jianli (a] chromium.org> 35677 35678 Reviewed by Nate Chapin. 35679 35680 [v8] Add V8 bindings for DOMFormData. 35681 https://bugs.webkit.org/show_bug.cgi?id=36026 35682 35683 Test: http/tests/local/send-form-data.html 35684 35685 * Android.v8bindings.mk: 35686 * WebCore.gypi: 35687 * bindings/v8/V8Index.h: 35688 * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added. 35689 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 35690 (WebCore::V8XMLHttpRequest::sendCallback): 35691 35692 2010-03-15 Jian Li <jianli (a] chromium.org> 35693 35694 Reviewed by Sam Weinig. 35695 35696 Add DOMFormData.idl to expose FormData interface. 35697 https://bugs.webkit.org/show_bug.cgi?id=36024 35698 35699 The implementation is based on XMLHttpRequest 2 spec: 35700 http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata 35701 35702 Test: http/tests/local/send-form-data.html 35703 35704 * Android.derived.jscbindings.mk: 35705 * Android.derived.v8bindings.mk: 35706 * Android.jscbindings.mk: 35707 * DerivedSources.cpp: 35708 * DerivedSources.make: 35709 * GNUmakefile.am: 35710 * WebCore.pri: 35711 * WebCore.vcproj/WebCore.vcproj: 35712 * WebCore.xcodeproj/project.pbxproj: 35713 * bindings/js/JSDOMFormDataCustom.cpp: Added. 35714 * bindings/js/JSXMLHttpRequestCustom.cpp: 35715 (WebCore::JSXMLHttpRequest::send): 35716 * bindings/scripts/CodeGeneratorJS.pm: 35717 * html/DOMFormData.idl: Added. 35718 * page/DOMWindow.idl: 35719 35720 2010-03-15 Patrik Persson <patrik.j.persson (a] ericsson.com> 35721 35722 Reviewed by Darin Adler. 35723 35724 https://bugs.webkit.org/show_bug.cgi?id=32369 35725 35726 Revise iframe sandbox behavior to match the updated HTML5 spec. 35727 35728 - Enables window.sessionStorage in sandboxed iframes. 35729 35730 - Raises SECURITY_ERR exceptions when window.localStorage or 35731 window.openDatabase() is blocked by iframe sandboxing. 35732 35733 Note: window.sessionStorage does not raise exceptions. 35734 35735 WebKit would previously return null references in these cases. The 35736 new behavior is in accordance with HTML5: 35737 35738 http://dev.w3.org/html5/webstorage/ (sections 4.2 and 4.3) 35739 http://dev.w3.org/html5/webdatabase/ (section 4.1) 35740 http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html 35741 35742 * inspector/InspectorController.cpp: 35743 (WebCore::InspectorController::selectDOMStorage): exception handling 35744 * inspector/InspectorDOMStorageResource.cpp: 35745 (WebCore::InspectorDOMStorageResource::handleEvent): exception handling 35746 * page/DOMWindow.cpp: 35747 (WebCore::DOMWindow::sessionStorage): re-enabled in iframe sandbox 35748 (WebCore::DOMWindow::localStorage): raise exception rather than return null 35749 (WebCore::DOMWindow::openDatabase): raise exception rather than return null 35750 * page/DOMWindow.h: added exceptions to interface 35751 * page/DOMWindow.idl: added exceptions to interface 35752 * page/SecurityOrigin.h: 35753 (WebCore::SecurityOrigin::canAccessLocalStorage): renamed function to reflect its purpose 35754 * storage/StorageEventDispatcher.cpp: 35755 (WebCore::StorageEventDispatcher::dispatch): exception handling 35756 35757 2010-03-15 Alexander Pavlov <apavlov (a] chromium.org> 35758 35759 Reviewed by Timothy Hatcher. 35760 35761 Web Inspector: Implement a progress indicator in the Audits panel 35762 when resources are reloading 35763 https://bugs.webkit.org/show_bug.cgi?id=35971 35764 35765 * English.lproj/localizedStrings.js: 35766 * GNUmakefile.am: 35767 * WebCore.gypi: 35768 * inspector/front-end/AuditLauncherView.js: 35769 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): 35770 (WebInspector.AuditLauncherView.prototype.get totalResources): 35771 (WebInspector.AuditLauncherView.prototype.set totalResources): 35772 (WebInspector.AuditLauncherView.prototype.get loadedResources): 35773 (WebInspector.AuditLauncherView.prototype.set loadedResources): 35774 (WebInspector.AuditLauncherView.prototype._resetResourceCount): 35775 (WebInspector.AuditLauncherView.prototype.resourceStarted): 35776 (WebInspector.AuditLauncherView.prototype.resourceFinished): 35777 (WebInspector.AuditLauncherView.prototype.reset): 35778 (WebInspector.AuditLauncherView.prototype._setAuditRunning): 35779 (WebInspector.AuditLauncherView.prototype._launchButtonClicked): 35780 (WebInspector.AuditLauncherView.prototype._createCategoryElement): 35781 (WebInspector.AuditLauncherView.prototype._createLauncherUI): 35782 (WebInspector.AuditLauncherView.prototype._updateResourceProgress): 35783 (WebInspector.AuditLauncherView.prototype._updateButton): 35784 * inspector/front-end/AuditsPanel.js: 35785 (WebInspector.AuditsPanel.prototype.resourceStarted): 35786 (WebInspector.AuditsPanel.prototype.resourceFinished): 35787 (WebInspector.AuditsPanel.prototype.reset): 35788 * inspector/front-end/Images/spinner.gif: Added. 35789 * inspector/front-end/WebKit.qrc: 35790 * inspector/front-end/audits.css: 35791 (.audit-launcher-view .resource-progress > img): 35792 * inspector/front-end/inspector.js: 35793 (WebInspector.updateResource): 35794 35795 2010-03-15 Philippe Normand <pnormand (a] igalia.com> 35796 35797 Reviewed by Gustavo Noronha Silva. 35798 35799 [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player 35800 https://bugs.webkit.org/show_bug.cgi?id=35735 35801 35802 Replaced g_idle_add calls with Timers immediately started once 35803 only. The g_timeout_add was replaced by a periodic Timer. 35804 35805 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 35806 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 35807 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 35808 (WebCore::MediaPlayerPrivate::volumeChangedTimerFired): 35809 (WebCore::MediaPlayerPrivate::volumeChanged): 35810 (WebCore::MediaPlayerPrivate::processBufferingStats): 35811 (WebCore::MediaPlayerPrivate::fillTimerFired): 35812 (WebCore::MediaPlayerPrivate::maxTimeLoaded): 35813 (WebCore::MediaPlayerPrivate::updateStates): 35814 (WebCore::MediaPlayerPrivate::muteChangedTimerFired): 35815 (WebCore::MediaPlayerPrivate::muteChanged): 35816 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 35817 35818 2010-03-12 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 35819 35820 Reviewed by Eric Carlson. 35821 35822 media/video-preload.html fails 35823 https://bugs.webkit.org/show_bug.cgi?id=35793 35824 35825 Only effectively load, and start buffering when playing, or when 35826 the preload attribute is set. 35827 35828 Test: media/video-preload.html 35829 35830 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 35831 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 35832 (WebCore::MediaPlayerPrivate::load): 35833 (WebCore::MediaPlayerPrivate::commitLoad): 35834 (WebCore::MediaPlayerPrivate::prepareToPlay): 35835 (WebCore::MediaPlayerPrivate::setPreload): 35836 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 35837 35838 2010-03-15 Shu Chang <Chang.Shu (a] nokia.com> 35839 35840 Reviewed by Holger Freyther. 35841 35842 [Qt] The behavior of QGradient with no stops is defined differently from HTML5 spec, 35843 where the latter requires the gradient to be transparent black. Explicitly added a 35844 transparent black color stop to match the HTML5 behavior. 35845 https://bugs.webkit.org/show_bug.cgi?id=36060 35846 35847 * platform/graphics/qt/GradientQt.cpp: 35848 (WebCore::Gradient::platformGradient): 35849 35850 2010-03-11 Antonio Gomes <tonikitoo (a] webkit.org> 35851 35852 Rubber-stamped by Holger Freyther. 35853 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 35854 35855 Some minor code clean ups in SpatialNavigation.cpp 35856 35857 * page/SpatialNavigation.cpp: 35858 (WebCore::distanceInDirection): 35859 (WebCore::deflateIfOverlapped): 35860 35861 2010-03-13 Ilya Tikhonovsky <loislo (a] chromium.org> 35862 35863 Reviewed by Timothy Hatcher. 35864 35865 WebInspector: Position of GraphBar elements is calculating more carefully 35866 and they fully visible at the bottom of Timeline panel. 35867 35868 http://bugs.webkit.org/show_bug.cgi?id=35966 35869 35870 * inspector/front-end/TimelinePanel.js: 35871 (WebInspector.TimelineRecordGraphRow.prototype.update): 35872 35873 2010-03-15 MORITA Hajime <morrita (a] google.com> 35874 35875 Reviewed by Alexey Proskuryakov. 35876 35877 Selection.modify extends too far with 'lineboundary'. 35878 https://bugs.webkit.org/show_bug.cgi?id=33413 35879 35880 Selection.modify() with 'lineboundary' granularity implies just 35881 "Go to the end of the line", unlike selection expansion with 35882 other type of granularities. This change handled LineGranularity 35883 as special case, to look-up end of line with UPSTREAM affinity. 35884 Doing this prevents look-up algorithm to go next line. 35885 35886 Test: editing/selection/extend-selection-expected.txt 35887 35888 * dom/Position.cpp: 35889 (WebCore::Position::getInlineBoxAndOffset): 35890 Handled an edge case for node look-up with UPSTREAM. 35891 * editing/SelectionController.cpp: 35892 (WebCore::SelectionController::modifyExtendingForward): 35893 Added UPSTREAM tweak for the case for LineGranularity. 35894 35895 2010-03-14 Yuzo Fujishima <yuzo (a] google.com> 35896 35897 Reviewed by Shinichiro Hamaji. 35898 35899 Always call PrintContext.end() from PrintContext::pageNumberForElement(). 35900 35901 Without this change, WebKit remains in printing mode after determining the page number if the specified element is found. 35902 35903 https://bugs.webkit.org/show_bug.cgi?id=36049 35904 35905 Test: printing/return-from-printing-mode.html 35906 35907 * page/PrintContext.cpp: 35908 (WebCore::PrintContext::pageNumberForElement): 35909 35910 2010-03-11 Philippe Normand <pnormand (a] igalia.com> 35911 35912 Reviewed by Gustavo Noronha Silva. 35913 35914 [GStreamer] progressTimer never stopped after EOS 35915 https://bugs.webkit.org/show_bug.cgi?id=36007 35916 35917 Mark the pipeline as paused only if playback hasn't ended 35918 yet. When didEnd() is triggered, the pipeline is paused (but 35919 paused() still returns false) and a timeupdate event is fired, 35920 those 2 conditions allow the HTMLMediaElement to stop the 35921 progressTimer (in updatePlayerState, via mediaPlayerTimeChanged). 35922 35923 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 35924 (WebCore::MediaPlayerPrivate::updateStates): 35925 35926 2010-03-14 Chang Shu <chang.shu (a] nokia.com> 35927 35928 Reviewed by Simon Hausmann. 35929 35930 [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS 35931 on Symbian platform. 35932 https://bugs.webkit.org/show_bug.cgi?id=35919 35933 35934 * WebCore.pro: 35935 35936 2010-03-14 Yael Aharon <yael.aharon (a] nokia.com> 35937 35938 Reviewed by Darin Adler. 35939 35940 Support for HTMLProgressElement 35941 https://bugs.webkit.org/show_bug.cgi?id=35937 35942 35943 Added support for HTMLProgressElement. 35944 This implementation is enabled only for Qt, because only RenderThemeQt 35945 was modified to actually draw the progress element. 35946 The labels attribute of the progress element will be implemented in a 35947 separate patch. 35948 35949 Tests: fast/dom/HTMLProgressElement/progress-element.html 35950 fast/dom/HTMLProgressElement/set-progress-properties.html 35951 35952 * DerivedSources.cpp: 35953 * DerivedSources.make: 35954 * GNUmakefile.am: 35955 * WebCore.gypi: 35956 * WebCore.pri: 35957 * WebCore.pro: 35958 * WebCore.vcproj/WebCore.vcproj: 35959 * WebCore.xcodeproj/project.pbxproj: 35960 * css/CSSPrimitiveValueMappings.h: 35961 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 35962 * css/CSSSelector.cpp: 35963 (WebCore::CSSSelector::extractPseudoType): 35964 * css/CSSValueKeywords.in: 35965 * css/html.css: 35966 * html/HTMLElement.cpp: 35967 (WebCore::inlineTagList): 35968 * html/HTMLElementsAllInOne.cpp: 35969 * html/HTMLFormControlElement.cpp: 35970 (WebCore::HTMLFormControlElement::HTMLFormControlElement): 35971 * html/HTMLFormControlElement.h: 35972 * html/HTMLProgressElement.cpp: Added. 35973 (WebCore::HTMLProgressElement::HTMLProgressElement): 35974 (WebCore::HTMLProgressElement::create): 35975 (WebCore::HTMLProgressElement::createRenderer): 35976 (WebCore::HTMLProgressElement::formControlType): 35977 (WebCore::HTMLProgressElement::parseMappedAttribute): 35978 (WebCore::HTMLProgressElement::value): 35979 (WebCore::HTMLProgressElement::setValue): 35980 (WebCore::HTMLProgressElement::max): 35981 (WebCore::HTMLProgressElement::setMax): 35982 (WebCore::HTMLProgressElement::position): 35983 * html/HTMLProgressElement.h: Added. 35984 (WebCore::HTMLProgressElement::isOptionalFormControl): 35985 * html/HTMLProgressElement.idl: Added. 35986 * html/HTMLTagNames.in: 35987 * page/DOMWindow.idl: 35988 * platform/ThemeTypes.h: 35989 * platform/qt/RenderThemeQt.cpp: 35990 (WebCore::RenderThemeQt::adjustProgressBarStyle): 35991 (WebCore::RenderThemeQt::paintProgressBar): 35992 * platform/qt/RenderThemeQt.h: 35993 * rendering/RenderObject.h: 35994 (WebCore::RenderObject::isProgress): 35995 * rendering/RenderProgress.cpp: Added. 35996 (WebCore::RenderProgress::RenderProgress): 35997 (WebCore::RenderProgress::baselinePosition): 35998 (WebCore::RenderProgress::calcPrefWidths): 35999 (WebCore::RenderProgress::layout): 36000 (WebCore::RenderProgress::updateFromElement): 36001 * rendering/RenderProgress.h: Added. 36002 (WebCore::RenderProgress::renderName): 36003 (WebCore::RenderProgress::isProgress): 36004 (WebCore::toRenderProgress): 36005 * rendering/RenderTheme.cpp: 36006 (WebCore::RenderTheme::adjustStyle): 36007 (WebCore::RenderTheme::paint): 36008 (WebCore::RenderTheme::paintBorderOnly): 36009 (WebCore::RenderTheme::paintDecorations): 36010 (WebCore::RenderTheme::adjustProgressBarStyle): 36011 * rendering/RenderTheme.h: 36012 (WebCore::RenderTheme::paintProgressBar): 36013 36014 2010-03-14 Oliver Hunt <oliver (a] apple.com> 36015 36016 Reviewed by Darin Adler. 36017 36018 REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set 36019 https://bugs.webkit.org/show_bug.cgi?id=36095 36020 36021 The issue here is that while dropEffect is meant to be initialized 36022 to "none", the behaviour of the drag is differs between dragEffect 36023 not being set and dragEffect being explicitly set to "none" 36024 36025 This patch corrects this behaviour by making Clipboard distinguish 36026 between the initial "none" value of dropEffect and an explicit "none". 36027 This alone is insufficient for correct behaviour, we also need to 36028 resurrect the removed defaultOperationForDrag function, but we now 36029 use the function only when dragEffect is uninitialized. There are a 36030 few tweaks to the behaviour of the defaultOperationForDrag as well 36031 to ensure exactly the same set of outcomes for all cases that we 36032 may hit it. 36033 36034 * dom/Clipboard.cpp: 36035 (WebCore::Clipboard::Clipboard): 36036 (WebCore::dragOpFromIEOp): 36037 (WebCore::Clipboard::destinationOperation): 36038 * dom/Clipboard.h: 36039 (WebCore::Clipboard::dropEffect): 36040 (WebCore::Clipboard::dropEffectIsUninitialized): 36041 * page/DragController.cpp: 36042 (WebCore::defaultOperationForDrag): 36043 (WebCore::DragController::tryDHTMLDrag): 36044 36045 2010-03-14 Antti Koivisto <koivisto (a] iki.fi> 36046 36047 Reviewed by Simon Hausmann. 36048 36049 https://bugs.webkit.org/show_bug.cgi?id=35146 36050 Support tiled backing store 36051 36052 Implements a basic tiled backing store mechanism. Tiles are created and 36053 deleted on demand. The page content is cached to the tiles. Tile content 36054 is kept in sync with the document. Since the backing store covers area 36055 larger than the currently visible viewport, the document can be scrolled 36056 quickly without having to enter rendering tree painting. 36057 36058 The tile management code is platform independent. This patch has simple QPixmap 36059 based tile implementation for Qt. 36060 36061 The feature is behind ENABLE_TILED_BACKING_STORE flag. 36062 36063 * WebCore.pri: 36064 * WebCore.pro: 36065 * page/Frame.cpp: 36066 (WebCore::Frame::Frame): 36067 (WebCore::Frame::setTiledBackingStoreEnabled): 36068 (WebCore::Frame::tiledBackingStorePaintBegin): 36069 (WebCore::Frame::tiledBackingStorePaint): 36070 (WebCore::Frame::tiledBackingStorePaintEnd): 36071 (WebCore::Frame::tiledBackingStoreContentsRect): 36072 * page/Frame.h: 36073 (WebCore::Frame::tiledBackingStore): 36074 * page/FrameView.cpp: 36075 (WebCore::FrameView::repaintContentRectangle): 36076 (WebCore::FrameView::doDeferredRepaints): 36077 * page/Settings.cpp: 36078 (WebCore::Settings::Settings): 36079 (WebCore::Settings::setTiledBackingStoreEnabled): 36080 * page/Settings.h: 36081 (WebCore::Settings::tiledBackingStoreEnabled): 36082 * platform/graphics/Tile.h: Added. 36083 (WebCore::Tile::create): 36084 (WebCore::Tile::coordinate): 36085 (WebCore::Tile::rect): 36086 * platform/graphics/TiledBackingStore.cpp: Added. 36087 (WebCore::TiledBackingStore::TiledBackingStore): 36088 (WebCore::TiledBackingStore::~TiledBackingStore): 36089 (WebCore::TiledBackingStore::invalidate): 36090 (WebCore::TiledBackingStore::updateTileBuffers): 36091 (WebCore::TiledBackingStore::paint): 36092 (WebCore::TiledBackingStore::viewportChanged): 36093 (WebCore::TiledBackingStore::setContentsScale): 36094 (WebCore::TiledBackingStore::tileDistance): 36095 (WebCore::TiledBackingStore::createTiles): 36096 (WebCore::TiledBackingStore::dropOverhangingTiles): 36097 (WebCore::TiledBackingStore::dropTilesOutsideRect): 36098 (WebCore::TiledBackingStore::tileAt): 36099 (WebCore::TiledBackingStore::setTile): 36100 (WebCore::TiledBackingStore::removeTile): 36101 (WebCore::TiledBackingStore::mapToContents): 36102 (WebCore::TiledBackingStore::mapFromContents): 36103 (WebCore::TiledBackingStore::contentsRect): 36104 (WebCore::TiledBackingStore::tileRectForCoordinate): 36105 (WebCore::TiledBackingStore::tileCoordinateForPoint): 36106 (WebCore::TiledBackingStore::startTileBufferUpdateTimer): 36107 (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): 36108 (WebCore::TiledBackingStore::startTileCreationTimer): 36109 (WebCore::TiledBackingStore::tileCreationTimerFired): 36110 (WebCore::TiledBackingStore::setContentsFrozen): 36111 * platform/graphics/TiledBackingStore.h: Added. 36112 (WebCore::TiledBackingStore::contentsScale): 36113 (WebCore::TiledBackingStore::contentsFrozen): 36114 * platform/graphics/TiledBackingStoreClient.h: Added. 36115 * platform/graphics/qt/TileQt.cpp: Added. 36116 (WebCore::checkeredPixmap): 36117 (WebCore::Tile::Tile): 36118 (WebCore::Tile::~Tile): 36119 (WebCore::Tile::isDirty): 36120 (WebCore::Tile::isReadyToPaint): 36121 (WebCore::Tile::invalidate): 36122 (WebCore::Tile::updateBackBuffer): 36123 (WebCore::Tile::swapBackBufferToFront): 36124 (WebCore::Tile::paint): 36125 (WebCore::Tile::paintCheckerPattern): 36126 36127 2010-03-14 Dan Bernstein <mitz (a] apple.com> 36128 36129 Reviewed by Darin Adler. 36130 36131 WebCore part of removing support for legacy versions of Core Graphics 36132 36133 * WebCore.vcproj/WebCore.vcproj: Removed FontDatabase.{cpp,h} 36134 * platform/graphics/win/FontCGWin.cpp: 36135 (WebCore::Font::drawGlyphs): Removed call to wkCanCreateCGFontWithLOGFONT(), 36136 as it is now always true. 36137 * platform/graphics/win/FontCacheWin.cpp: 36138 (WebCore::FontCache::createFontPlatformData): Ditto. 36139 * platform/graphics/win/FontCustomPlatformData.cpp: 36140 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Updated for 36141 the removal of m_cgFont. 36142 (WebCore::FontCustomPlatformData::fontPlatformData): Removed call to 36143 wkCanCreateCGFontWithLOGFONT(), as it is now always true. 36144 (WebCore::createFontCustomPlatformData): Ditto. Also updated for change to 36145 the FontCustomPlatformData constructor. 36146 * platform/graphics/win/FontCustomPlatformData.h: Removed m_cgFont member. 36147 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed cgFont 36148 parameter. 36149 * platform/graphics/win/FontDatabase.cpp: Removed. 36150 * platform/graphics/win/FontDatabase.h: Removed. 36151 * platform/graphics/win/FontPlatformDataCGWin.cpp: 36152 (WebCore::FontPlatformData::platformDataInit): Removed call to 36153 wkCanCreateCGFontWithLOGFONT(), as it is now always true. 36154 * platform/win/TemporaryLinkStubs.cpp: 36155 (WebCore::populateFontDatabase): Removed stub. 36156 36157 2010-03-14 Jessie Berlin <jberlin (a] webkit.org> 36158 36159 Reviewed by Sam Weinig. 36160 36161 "event.ctrlKey" is always false when dragging an element with "ctrl" key down 36162 https://bugs.webkit.org/show_bug.cgi?id=17113 36163 36164 No new tests. 36165 36166 * page/DragController.cpp: 36167 (WebCore::createMouseEvent): 36168 Use the current state of the shift, ctrl, alt, and meta keys when creating the drag mouse event. 36169 36170 2010-03-13 Antonio Gomes <tonikitoo (a] webkit.org> 36171 36172 Not reviewed identation fix. 36173 36174 * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: 36175 36176 2010-03-13 Kim Grnholm <kim.gronholm (a] nomovok.com> 36177 36178 Reviewed by Kenneth Rohde Christiansen. 36179 36180 [Qt] GraphicsLayer: Opacity change from zero to non-zero doesn't always have effect with AC 36181 https://bugs.webkit.org/show_bug.cgi?id=36034 36182 36183 * platform/graphics/qt/GraphicsLayerQt.cpp: 36184 (WebCore::OpacityAnimationQt::applyFrame): 36185 36186 2010-03-13 Kim Grnholm <kim.gronholm (a] nomovok.com> 36187 36188 Reviewed by Kenneth Rohde Christiansen. 36189 36190 [Qt] GraphicsLayer: Opacity transitions end with begin value 36191 https://bugs.webkit.org/show_bug.cgi?id=36019 36192 36193 * platform/graphics/qt/GraphicsLayerQt.cpp: 36194 (WebCore::AnimationQt::updateCurrentTime): 36195 36196 2010-03-13 Dirk Schulze <krit (a] webkit.org> 36197 36198 No review, rolling out r55927. 36199 http://trac.webkit.org/changeset/55927 36200 https://bugs.webkit.org/show_bug.cgi?id=35793 36201 36202 Breaks Gtk build bots. 36203 36204 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 36205 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 36206 (WebCore::MediaPlayerPrivate::load): 36207 (WebCore::MediaPlayerPrivate::setPreload): 36208 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 36209 36210 2010-03-12 Dirk Schulze <krit (a] webkit.org> 36211 36212 Reviewed by Nikolas Zimmermann. 36213 36214 SVG Glyphs - transform path not context 36215 https://bugs.webkit.org/show_bug.cgi?id=36070 36216 36217 SVGFont should transform the path of a glyph, not the context. Modifying 36218 the context causes wrong gradient transformations. This bug doesn't 36219 influence CG because we generally fill or stroke texts with a mask image. 36220 All other platforms provide a direct way to make the drawings. 36221 36222 * svg/SVGFont.cpp: 36223 (WebCore::Font::drawTextUsingSVGFont): 36224 36225 2010-03-12 Beth Dakin <bdakin (a] apple.com> 36226 36227 Reviewed by Simon Fraser. 36228 36229 Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen 36230 API naming is inconsistent 36231 -and corresponding- 36232 <rdar://problem/7729165> 36233 36234 This patch changes all occurrences of "fullScreen" to the more 36235 popular "fullscreen." webkitEnterFullScreen and 36236 webkitExitFullScreen have been maintained for now for backwards 36237 compatibility. 36238 36239 * html/HTMLVideoElement.cpp: 36240 (WebCore::HTMLVideoElement::webkitEnterFullscreen): 36241 (WebCore::HTMLVideoElement::webkitExitFullscreen): 36242 * html/HTMLVideoElement.h: 36243 (WebCore::HTMLVideoElement::webkitEnterFullScreen): 36244 (WebCore::HTMLVideoElement::webkitExitFullScreen): 36245 * html/HTMLVideoElement.idl: 36246 * platform/graphics/mac/MediaPlayerProxy.h: 36247 36248 2010-03-12 James Robinson <jamesr (a] chromium.org> 36249 36250 Reviewed by Adam Barth. 36251 36252 Add virtual destructor to DOMWrapperWorld 36253 https://bugs.webkit.org/show_bug.cgi?id=36077 36254 36255 DOMWrapperWorld is RefCounted<DOMWrapperWorld>. IsolatedWorld 36256 inherits from DOMWrapperWorld and has member variables 36257 with destructors, so DOMWrapperWorld needs to have a declared virtual 36258 d'tor to ensure that its derived class's destructors are called. 36259 36260 No new tests, no change in behavior 36261 36262 * bindings/v8/DOMWrapperWorld.h: 36263 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 36264 36265 36266 2010-03-11 Gavin Barraclough <barraclough (a] apple.com> 36267 36268 Reviewed by Oliver Hunt. 36269 36270 Bug 36075 - Clean up screwyness re static string impls & Identifiers. 36271 36272 * platform/text/StringImpl.cpp: 36273 (WebCore::StringImpl::~StringImpl): Add ASSERT 36274 (WebCore::StringImpl::sharedBuffer): Add ASSERT 36275 * platform/text/StringImpl.h: 36276 (WebCore::StringImpl::setHash): Add ASSERT 36277 (WebCore::StringImpl::isStatic): added. 36278 36279 2010-03-12 Enrica Casucci <enrica (a] apple.com> 36280 36281 Reviewed by Simon Fraser. 36282 36283 Content of 3D tests appears at the bottom right corner sometimes. 36284 <rdar://problem/7556244> 36285 <https://bugs.webkit.org/show_bug.cgi?id=36027> 36286 36287 There were two problems to solve here: 36288 - the incorrect anchoring of the rootChildLayer that was causing the composited 36289 content to be positioned incorrectly 36290 - the failure to paint the non composited content into the backing store when 36291 animating composited content. 36292 36293 The first problem has been solved by leaving the original anchor point for the 36294 rootChildLayer and splitting the tasks of clipping and scrolling using two separate layers. 36295 The second problem has been solved leveraging the knowledge that WebView has of the dirty region 36296 of the backing store to pass this information to the layer renderer. This allows the renderer to force 36297 a paint into the backing store before moving to the compositing. 36298 36299 Tests: compositing/geometry/horizontal-scroll-composited.html 36300 compositing/geometry/vertical-scroll-composited.html 36301 36302 * manual-tests/win/horizontal-scroll-composited.html: Removed. This is now a layout test. 36303 * manual-tests/win/milliondollar.html: Added. 36304 * platform/graphics/win/WKCACFLayerRenderer.cpp: 36305 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Added initialization of dirty flag. 36306 (WebCore::WKCACFLayerRenderer::setScrollFrame): 36307 (WebCore::WKCACFLayerRenderer::updateScrollFrame): Updated to resize and position the clip and scroll layers. 36308 (WebCore::WKCACFLayerRenderer::setRootChildLayer): 36309 (WebCore::WKCACFLayerRenderer::createRenderer): Added new layer hierarchy. 36310 (WebCore::WKCACFLayerRenderer::destroyRenderer): Remove clip layer on destroy. 36311 (WebCore::WKCACFLayerRenderer::resize): 36312 (WebCore::WKCACFLayerRenderer::paint): Forcing paint massage to trigger paint into the backing store. 36313 * platform/graphics/win/WKCACFLayerRenderer.h: 36314 (WebCore::WKCACFLayerRenderer::setBackingStoreDirty): Added. 36315 36316 2010-03-12 Robert Hogan <robert (a] webkit.org> 36317 36318 Not reviewed, build fix. 36319 36320 Revert http://trac.webkit.org/projects/webkit/changeset/55374 which broke 36321 the !ENABLE(DATABASE) build on all platforms when attempting to fix the 36322 --minimal build on Qt. 36323 36324 Support for SQLite now seems to be non-negotiable for the Qt build but making 36325 it mandatory requires review, so re-break --minimal Qt build for now. 36326 36327 Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073 36328 36329 * page/GeolocationPositionCache.cpp: 36330 36331 2010-03-12 Dan Bernstein <mitz (a] apple.com> 36332 36333 Reviewed by Alexey Proskuryakov. 36334 36335 <rdar://problem/7709115> REGRESSION: toolbar is missing at http://www.glom.org/ 36336 https://bugs.webkit.org/show_bug.cgi?id=35507 36337 36338 * css/CSSImportRule.cpp: 36339 (WebCore::CSSImportRule::setCSSStyleSheet): Extend the change made in 36340 <http://trac.webkit.org/changeset/48818> to detect the two variants of 36341 KHTMLFixes.css in @import rules as well as in <link> elements. 36342 36343 2010-03-12 Gavin Barraclough <barraclough (a] apple.com> 36344 36345 Reviewed by Geoff Garen. 36346 36347 Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash 36348 36349 r55878 changed UStringImpl::empty()->characters() to be non-null, 36350 so TextBreakIteratorQt.cpp now should check the length of strings 36351 (previously was assuming all strings with a non-null data pointer 36352 had a length of at least 1). 36353 36354 * platform/text/qt/TextBreakIteratorQt.cpp: 36355 (WebCore::wordBreakIterator): 36356 (WebCore::characterBreakIterator): 36357 (WebCore::lineBreakIterator): 36358 (WebCore::sentenceBreakIterator): 36359 36360 2010-03-12 Dirk Schulze <krit (a] webkit.org> 36361 36362 Reviewed by Nikolas Zimmermann. 36363 36364 SVG fallback color doesn't work for bogus gradients. 36365 https://bugs.webkit.org/show_bug.cgi?id=35479 36366 36367 Use a given fallback color on ignored gradients if present. Gradients 36368 must be ignored, if one dimension of the objects boundingBox is zero. 36369 36370 Test: svg/custom/gradient-with-1d-boundingbox.svg 36371 36372 * svg/graphics/SVGPaintServer.cpp: 36373 (WebCore::SVGPaintServer::strokePaintServer): 36374 * svg/graphics/SVGPaintServerGradient.cpp: 36375 (WebCore::SVGPaintServerGradient::setup): 36376 36377 2010-03-12 David Hyatt <hyatt (a] apple.com> 36378 36379 Reviewed by Dan Bernstein. 36380 36381 https://bugs.webkit.org/show_bug.cgi?id=36069 36382 36383 Eliminate InlineRunBox. 36384 36385 * WebCore.xcodeproj/project.pbxproj: 36386 * rendering/InlineFlowBox.cpp: 36387 (WebCore::InlineFlowBox::adjustPosition): 36388 (WebCore::InlineFlowBox::paintFillLayer): 36389 (WebCore::InlineFlowBox::paintBoxDecorations): 36390 (WebCore::InlineFlowBox::paintMask): 36391 * rendering/InlineFlowBox.h: 36392 (WebCore::InlineFlowBox::InlineFlowBox): 36393 (WebCore::InlineFlowBox::prevLineBox): 36394 (WebCore::InlineFlowBox::nextLineBox): 36395 (WebCore::InlineFlowBox::setNextLineBox): 36396 (WebCore::InlineFlowBox::setPreviousLineBox): 36397 * rendering/InlineRunBox.h: Removed. 36398 * rendering/InlineTextBox.h: 36399 (WebCore::InlineTextBox::InlineTextBox): 36400 (WebCore::InlineTextBox::prevTextBox): 36401 (WebCore::InlineTextBox::nextTextBox): 36402 (WebCore::InlineTextBox::setNextTextBox): 36403 (WebCore::InlineTextBox::setPreviousTextBox): 36404 * rendering/RenderBlock.cpp: 36405 (WebCore::RenderBlock::destroy): 36406 (WebCore::RenderBlock::rightmostPosition): 36407 (WebCore::RenderBlock::leftmostPosition): 36408 * rendering/RenderInline.cpp: 36409 (WebCore::RenderInline::destroy): 36410 (WebCore::RenderInline::absoluteRects): 36411 (WebCore::RenderInline::absoluteQuads): 36412 (WebCore::RenderInline::linesBoundingBox): 36413 (WebCore::RenderInline::linesVisibleOverflowBoundingBox): 36414 (WebCore::RenderInline::addFocusRingRects): 36415 (WebCore::RenderInline::paintOutline): 36416 * rendering/RenderLayer.cpp: 36417 (WebCore::RenderLayer::localBoundingBox): 36418 * rendering/RenderLineBoxList.cpp: 36419 (WebCore::RenderLineBoxList::deleteLineBoxTree): 36420 (WebCore::RenderLineBoxList::extractLineBox): 36421 (WebCore::RenderLineBoxList::attachLineBox): 36422 (WebCore::RenderLineBoxList::removeLineBox): 36423 (WebCore::RenderLineBoxList::deleteLineBoxes): 36424 (WebCore::RenderLineBoxList::dirtyLineBoxes): 36425 (WebCore::RenderLineBoxList::paint): 36426 (WebCore::RenderLineBoxList::hitTest): 36427 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 36428 (WebCore::RenderLineBoxList::checkConsistency): 36429 * rendering/RenderSVGInline.cpp: 36430 (WebCore::RenderSVGInline::absoluteRects): 36431 (WebCore::RenderSVGInline::absoluteQuads): 36432 * rendering/RenderSVGText.cpp: 36433 (WebCore::RenderSVGText::absoluteRects): 36434 (WebCore::RenderSVGText::absoluteQuads): 36435 (WebCore::RenderSVGText::objectBoundingBox): 36436 * rendering/RenderText.cpp: 36437 (WebCore::RenderText::extractTextBox): 36438 (WebCore::RenderText::attachTextBox): 36439 (WebCore::RenderText::removeTextBox): 36440 (WebCore::RenderText::createInlineTextBox): 36441 (WebCore::RenderText::positionLineBox): 36442 * rendering/RootInlineBox.h: 36443 (WebCore::RootInlineBox::nextRootBox): 36444 (WebCore::RootInlineBox::prevRootBox): 36445 36446 2010-03-12 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 36447 36448 Reviewed by Eric Carlson. 36449 36450 media/video-preload.html fails 36451 https://bugs.webkit.org/show_bug.cgi?id=35793 36452 36453 Only effectively load, and start buffering when playing, or when 36454 the preload attribute is set. 36455 36456 Test: media/video-preload.html 36457 36458 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 36459 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 36460 (WebCore::MediaPlayerPrivate::load): 36461 (WebCore::MediaPlayerPrivate::commitLoad): 36462 (WebCore::MediaPlayerPrivate::prepareToPlay): 36463 (WebCore::MediaPlayerPrivate::setPreload): 36464 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 36465 36466 2010-03-12 Dmitry Titov <dimich (a] chromium.org> 36467 36468 Not reviewed, build fix. 36469 36470 Reverts 55920 and 55921. Landing for Jian Li. 36471 36472 * Android.derived.jscbindings.mk: 36473 * Android.derived.v8bindings.mk: 36474 * DerivedSources.cpp: 36475 * DerivedSources.make: 36476 * GNUmakefile.am: 36477 * WebCore.gypi: 36478 * WebCore.pri: 36479 * WebCore.vcproj/WebCore.vcproj: 36480 * WebCore.xcodeproj/project.pbxproj: 36481 * bindings/js/JSDOMFormDataCustom.cpp: Removed. 36482 * bindings/js/JSXMLHttpRequestCustom.cpp: 36483 (WebCore::JSXMLHttpRequest::send): 36484 * bindings/scripts/CodeGeneratorJS.pm: 36485 * bindings/v8/V8Index.h: 36486 * bindings/v8/custom/V8DOMFormDataCustom.cpp: Removed. 36487 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 36488 (WebCore::V8XMLHttpRequest::sendCallback): 36489 * html/DOMFormData.idl: Removed. 36490 * page/DOMWindow.idl: 36491 36492 2010-03-12 Jakob Petsovits <jpetsovits (a] rim.com> 36493 36494 Reviewed by Dirk Schulze. 36495 36496 [OpenVG] Add support for drawing text to PainterOpenVG 36497 https://bugs.webkit.org/show_bug.cgi?id=35581 36498 36499 Doesn't come with any actual font classes, as OpenVG 36500 by itself doesn't provide any access to platform fonts 36501 but just the means to draw glyphs that have been loaded 36502 manually before. 36503 36504 * platform/graphics/openvg/PainterOpenVG.cpp: 36505 (WebCore::PlatformPainterState::PlatformPainterState): 36506 (WebCore::PlatformPainterState::copyPaintState): 36507 (WebCore::PainterOpenVG::textDrawingMode): 36508 (WebCore::PainterOpenVG::setTextDrawingMode): 36509 (WebCore::PainterOpenVG::drawText): 36510 * platform/graphics/openvg/PainterOpenVG.h: 36511 36512 2010-03-12 Jakob Petsovits <jpetsovits (a] rim.com> 36513 36514 Reviewed by Dirk Schulze. 36515 36516 [OpenVG] Use masks to implement non-rectilinear clipping 36517 https://bugs.webkit.org/show_bug.cgi?id=35544 36518 36519 Requires some additional context switching logic to 36520 make sure the right context is current when dealing 36521 with the mask, because we don't store it by ourselves. 36522 36523 Initial version of this code was written by 36524 Eli Fidler <efidler (a] rim.com>, I did a couple of 36525 bug fixes and efficiency improvements since then. 36526 36527 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 36528 (WebCore::GraphicsContext::clipPath): 36529 (WebCore::GraphicsContext::clip): 36530 (WebCore::GraphicsContext::clipOut): 36531 (WebCore::GraphicsContext::clipOutEllipseInRect): 36532 (WebCore::GraphicsContext::addInnerRoundedRectClip): 36533 * platform/graphics/openvg/PainterOpenVG.cpp: 36534 (WebCore::PlatformPainterState::PlatformPainterState): 36535 (WebCore::PlatformPainterState::~PlatformPainterState): 36536 (WebCore::PlatformPainterState::maskingEnabled): 36537 (WebCore::PlatformPainterState::applyState): 36538 (WebCore::PlatformPainterState::saveMaskIfNecessary): 36539 (WebCore::PainterOpenVG::intersectClipRect): 36540 (WebCore::PainterOpenVG::clipPath): 36541 (WebCore::PainterOpenVG::save): 36542 * platform/graphics/openvg/PainterOpenVG.h: 36543 (WebCore::PainterOpenVG::): 36544 * platform/graphics/openvg/SurfaceOpenVG.cpp: 36545 (WebCore::SurfaceOpenVG::makeCurrent): 36546 (WebCore::SurfaceOpenVG::makeCompatibleCurrent): 36547 * platform/graphics/openvg/SurfaceOpenVG.h: 36548 (WebCore::SurfaceOpenVG::): 36549 36550 2010-03-12 Jian Li <jianli (a] chromium.org> 36551 36552 Reviewed by Sam Weinig. 36553 36554 Add DOMFormData.idl to expose FormData interface. 36555 https://bugs.webkit.org/show_bug.cgi?id=36024 36556 36557 The implementation is based on XMLHttpRequest 2 spec: 36558 http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata 36559 36560 Test: http/tests/local/send-form-data.html 36561 36562 * Android.derived.jscbindings.mk: 36563 * Android.derived.v8bindings.mk: 36564 * DerivedSources.cpp: 36565 * DerivedSources.make: 36566 * GNUmakefile.am: 36567 * WebCore.pri: 36568 * WebCore.vcproj/WebCore.vcproj: 36569 * WebCore.xcodeproj/project.pbxproj: 36570 * bindings/js/JSDOMFormDataCustom.cpp: Added. 36571 * bindings/js/JSXMLHttpRequestCustom.cpp: 36572 (WebCore::JSXMLHttpRequest::send): 36573 * bindings/scripts/CodeGeneratorJS.pm: 36574 * html/DOMFormData.idl: Added. 36575 * page/DOMWindow.idl: 36576 36577 2010-03-12 Jakob Petsovits <jpetsovits (a] rim.com> 36578 36579 Reviewed by Dirk Schulze. 36580 36581 [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces 36582 https://bugs.webkit.org/show_bug.cgi?id=35538 36583 36584 SurfaceOpenVG can now not only encapsulate pbuffer 36585 and window surfaces but also VGImage-based ones. 36586 36587 * platform/graphics/openvg/EGLDisplayOpenVG.cpp: 36588 (WebCore::EGLDisplayOpenVG::createPbufferFromClientBuffer): 36589 * platform/graphics/openvg/EGLDisplayOpenVG.h: 36590 * platform/graphics/openvg/SurfaceOpenVG.cpp: 36591 (WebCore::SurfaceOpenVG::SurfaceOpenVG): 36592 * platform/graphics/openvg/SurfaceOpenVG.h: 36593 36594 2010-03-12 Alpha Lam <hclam (a] chromium.org> 36595 36596 Reviewed by Eric Carlson. 36597 36598 Fix a crash when resource loading of media element is canceled. 36599 https://bugs.webkit.org/show_bug.cgi?id=35992 36600 36601 Use of HTMLMediaElement::duration() after resource loading was canceled 36602 will cause a crash. This is because HTMLMediaElement::m_player is used 36603 when NULL. 36604 Test: http/tests/media/video-cancel-load.html 36605 36606 * html/HTMLMediaElement.cpp: 36607 (WebCore::HTMLMediaElement::duration): 36608 Avoid calling to m_player when it is null. 36609 (WebCore::HTMLMediaElement::userCancelledLoad): 36610 Set m_readyState to HAVE_NOTHING. 36611 36612 2010-03-12 Dan Bernstein <mitz (a] apple.com> 36613 36614 Reviewed by Darin Adler. 36615 36616 <rdar://problem/7725534> CSSPrimitiveValue::parserValue() returns deleted memory 36617 https://bugs.webkit.org/show_bug.cgi?id=20069 36618 36619 No test added, since with the CSS variables feature disabled, the pointer 36620 to the freed memory is never dereferenced. 36621 36622 * css/CSSPrimitiveValue.cpp: 36623 (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from 36624 a static table. 36625 (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change. 36626 36627 2010-03-12 Dan Bernstein <mitz (a] apple.com> 36628 36629 Build fix. 36630 36631 * platform/chromium/PlatformKeyboardEventChromium.cpp: 36632 36633 2010-03-12 Dan Bernstein <mitz (a] apple.com> 36634 36635 Reviewed by Darin Adler. 36636 36637 <rdar://problem/7694674> Hover states not updated when overflow section scrolls under stationary mouse pointer 36638 https://bugs.webkit.org/show_bug.cgi?id=35949 36639 36640 Test: fast/events/overflow-scroll-fake-mouse-move.html 36641 36642 Soon after an overflow section scrolls under the mouse pointer, dispatch 36643 a fake mouse move event. This is similar to how frame scrolling is handled 36644 in WebKit, and has the effect of updating hover state, dispatching DOM mouse 36645 events, and updating the tool tip. 36646 36647 * page/EventHandler.cpp: 36648 (WebCore::EventHandler::EventHandler): Initialize m_fakeMouseMoveEventTimer. 36649 (WebCore::EventHandler::~EventHandler): Assert that the timer is not active. 36650 (WebCore::EventHandler::clear): Stop the timer. 36651 (WebCore::EventHandler::handleMousePressEvent): Cancel pending fake mouse 36652 move events. 36653 (WebCore::EventHandler::handleMouseMoveEvent): Ditto. 36654 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): If the mouse 36655 is in the passed-in quad, ensure that a fake mouse move event is scheduled 36656 to fire soon. 36657 (WebCore::EventHandler::cancelFakeMouseMoveEvent): Does what the name says. 36658 (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Constructs a 36659 PlatformMouseEvent with the current mouse location, modifier key state and 36660 time stamp and calls mouseMoved(). 36661 * page/EventHandler.h: 36662 * platform/PlatformKeyboardEvent.h: Declared getCurrentModifierState(). 36663 * platform/android/KeyEventAndroid.cpp: 36664 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. 36665 * platform/brew/PlatformKeyboardEventBrew.cpp: 36666 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. 36667 * platform/chromium/PlatformKeyboardEventChromium.cpp: 36668 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. 36669 * platform/efl/PlatformKeyboardEventEfl.cpp: 36670 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. 36671 * platform/gtk/KeyEventGtk.cpp: 36672 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. 36673 * platform/haiku/PlatformKeyboardEventHaiku.cpp: 36674 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. 36675 * platform/mac/KeyEventMac.mm: 36676 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. 36677 * platform/qt/PlatformKeyboardEventQt.cpp: 36678 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out. 36679 * platform/win/KeyEventWin.cpp: 36680 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added. 36681 * platform/wx/KeyboardEventWx.cpp: 36682 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto. 36683 * rendering/RenderLayer.cpp: 36684 (WebCore::RenderLayer::scrollToOffset): Call 36685 EventHandler::dispatchFakeMouseMoveEventSoonInQuad(). Moved things around 36686 a little to avoid computing the repaint rect twice. 36687 36688 2010-03-12 Kent Hansen <kent.hansen (a] nokia.com> 36689 36690 Reviewed by Darin Adler. 36691 36692 Webkit doesn't build with workers on and database off 36693 https://bugs.webkit.org/show_bug.cgi?id=35997 36694 36695 Added missing ENABLE(DATABASE) guards. 36696 36697 * workers/WorkerThread.cpp: 36698 (WebCore::WorkerThreadShutdownStartTask::performTask): 36699 36700 2010-03-12 Dan Winship <danw (a] gnome.org> 36701 36702 Reviewed by Gustavo Noronha. 36703 36704 Make the defaultCookieJar use a no-third-party policy. Most 36705 applications set their own cookie jar, but DumpRenderTree doesn't, 36706 so it was failing the new third-party-cookie test. 36707 36708 * platform/network/soup/CookieJarSoup.cpp: 36709 (WebCore::defaultCookieJar): 36710 36711 2010-03-11 Simon Hausmann <simon.hausmann (a] nokia.com> 36712 36713 Reviewed by Laszlo Gombos. 36714 36715 [Qt] Enable network state notifier when compiling against Qt 4.7 36716 https://bugs.webkit.org/show_bug.cgi?id=35983 36717 36718 * WebCore.pri: 36719 * platform/network/qt/NetworkStateNotifierPrivate.h: 36720 * platform/network/qt/NetworkStateNotifierQt.cpp: 36721 36722 2010-03-11 Benjamin Poulain <benjamin.poulain (a] nokia.com> 36723 36724 Reviewed by Adam Treat. 36725 36726 Do not render the full frame when there is some elements with fixed positioning 36727 https://bugs.webkit.org/show_bug.cgi?id=33150 36728 36729 The frame view take into acount the list of fixed object when scrolling 36730 the view. If the number of object is lower than a certain threshold, the pixel 36731 are blitted, and the invalidated area updated. 36732 36733 * page/FrameView.cpp: 36734 (WebCore::FrameView::FrameView): 36735 (WebCore::FrameView::useSlowRepaints): 36736 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): 36737 (WebCore::FrameView::addFixedObject): 36738 (WebCore::FrameView::removeFixedObject): 36739 (WebCore::FrameView::scrollContentsFastPath): 36740 * page/FrameView.h: 36741 * platform/ScrollView.cpp: 36742 (WebCore::ScrollView::scrollContents): 36743 (WebCore::ScrollView::scrollContentsFastPath): 36744 * platform/ScrollView.h: 36745 * rendering/RenderBlock.h: 36746 (WebCore::RenderBlock::positionedObjects): 36747 * rendering/RenderBox.cpp: 36748 (WebCore::RenderBox::styleWillChange): 36749 * rendering/RenderObject.cpp: 36750 (WebCore::RenderObject::styleWillChange): 36751 36752 2010-03-11 Aaron Boodman <aa (a] chromium.org> 36753 36754 Kill WebDocument::applicationID() (part 1). 36755 36756 Modify interface to WebCore::NotificationPresenter::checkPermission() 36757 and remove implementation of WebDocument::applicationID(). Breaking 36758 API changes will be in a subsequent change. 36759 https://bugs.webkit.org/show_bug.cgi?id=35846 36760 36761 * notifications/Notification.cpp: 36762 (WebCore::Notification::Notification): 36763 * notifications/NotificationCenter.cpp: 36764 (WebCore::NotificationCenter::checkPermission): 36765 * notifications/NotificationPresenter.h: 36766 36767 2010-03-11 Dmitry Titov <dimich (a] chromium.org> 36768 36769 Reviewed by David Levin. 36770 36771 [v8] Remove obsolete code for delayed dereferencing of DOM objects for single-heap, multithread v8 usage. 36772 https://bugs.webkit.org/show_bug.cgi?id=36043 36773 36774 No new tests, no changes in functionality. 36775 36776 * bindings/v8/DOMData.cpp: 36777 (WebCore::DOMData::DOMData): 36778 * bindings/v8/DOMData.h: 36779 (WebCore::DOMData::handleWeakObject): 36780 * bindings/v8/DOMDataStore.cpp: 36781 * bindings/v8/DOMDataStore.h: 36782 (WebCore::DOMDataStore::domObjectMap): 36783 (WebCore::DOMDataStore::activeDomObjectMap): 36784 (WebCore::DOMDataStore::domSvgElementInstanceMap): 36785 (WebCore::DOMDataStore::domSvgObjectWithContextMap): 36786 * bindings/v8/ScopedDOMDataStore.cpp: 36787 (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): 36788 * bindings/v8/StaticDOMDataStore.cpp: 36789 (WebCore::StaticDOMDataStore::StaticDOMDataStore): 36790 * bindings/v8/StaticDOMDataStore.h: 36791 * bindings/v8/V8DOMMap.cpp: 36792 (WebCore::removeAllDOMObjectsInCurrentThread): 36793 36794 2010-03-11 Gavin Barraclough <barraclough (a] apple.com> 36795 36796 Rubber stamped by Oliver Hunt. 36797 36798 Remove nonsense comments used in development & commited in error. 36799 36800 * platform/text/StringImpl.h: 36801 36802 2010-03-11 Gavin Barraclough <barraclough (a] apple.com> 36803 36804 Reviewed by Oliver Hunt. 36805 36806 https://bugs.webkit.org/show_bug.cgi?id=36041 36807 Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl 36808 36809 Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar, 36810 but has trivial and unnecessary formatting differences, such as the exact wording 36811 of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc. 36812 36813 * platform/text/StringImpl.cpp: 36814 (WebCore::StringImpl::empty): Reordered in file, made empty()->characters() return a non-null value to match JSC. 36815 (WebCore::StringImpl::createUninitialized): Added overflow check. 36816 (WebCore::StringImpl::create): Reordered in file. 36817 (WebCore::StringImpl::sharedBuffer): Reordered in file. 36818 * platform/text/StringImpl.h: 36819 (WebCore::StringImpl::): Remove ThreadGlobalData as friend, move SharableUChar & SharedUChar to WebCore namespace. 36820 (WebCore::StringImpl::StringImpl): Made static constructor method (used to create empty string) take arguments, to match JSC & prevent accidental use. 36821 (WebCore::StringImpl::setHash): Added missing ASSERT. 36822 (WebCore::StringImpl::adopt): Make adpot work with Vectors with a non-zero inline capacity. 36823 (WebCore::StringImpl::characters): Mark as const to match JSC. 36824 (WebCore::StringImpl::hash): Use !m_hash instead of m_hash == 0. 36825 (WebCore::StringImpl::computeHash): Remove redundant 'inline'. 36826 36827 2010-03-11 Mark Rowe <mrowe (a] apple.com> 36828 36829 Reviewed by David Kilzer. 36830 36831 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version 36832 36833 Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version. 36834 36835 * Configurations/Base.xcconfig: 36836 36837 2010-03-11 Jungshik Shin <jshin (a] chromium.org> 36838 36839 [Chromium]: Plane 2 characters are rendered "blank" 36840 (not even empty boxes) on Windows even when there are fonts to 36841 cover them. 36842 36843 https://bugs.webkit.org/show_bug.cgi?id=35605 36844 36845 Test:LayoutTests/fast/text/international/plane2.html 36846 36847 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 36848 (WebCore::LookupAltName): Add two ExtB fonts to the array (namePairs) that are used for Plane 2 character rendering. 36849 (WebCore::FontCache::getFontDataForCharacters): Add two more fonts to the fallback font list 36850 * platform/graphics/chromium/FontUtilsChromiumWin.cpp: 36851 (WebCore::getFallbackFamily): Fix the fallback font lookup to cover Plane 2 (CJK ExtB). 36852 36853 2010-03-11 Leandro Pereira <leandro (a] profusion.mobi> 36854 36855 Reviewed by Holger Freyther. 36856 36857 Add EFL port files to platform/efl. 36858 http://webkit.org/b/35889 36859 36860 * platform/efl/SystemTimeEfl.cpp: Added. 36861 36862 2010-03-11 Mark Rowe <mrowe (a] apple.com> 36863 36864 Reviewed by Tim Hatcher. 36865 36866 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version 36867 36868 Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the 36869 current Mac OS X version unless otherwise specified. 36870 36871 Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR. 36872 36873 Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice 36874 may not be usable when targetting a different Mac OS X version. 36875 36876 Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off 36877 MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used. 36878 36879 * Configurations/Base.xcconfig: 36880 * Configurations/DebugRelease.xcconfig: 36881 * Configurations/FeatureDefines.xcconfig: 36882 * Configurations/Version.xcconfig: 36883 * Configurations/WebCore.xcconfig: 36884 36885 2010-03-11 Anders Carlsson <andersca (a] apple.com> 36886 36887 Reviewed by David Hyatt. 36888 36889 Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents. 36890 36891 * loader/EmptyClients.h: 36892 * page/Chrome.cpp: 36893 * page/Chrome.h: 36894 * page/ChromeClient.h: 36895 * platform/HostWindow.h: 36896 36897 2010-03-11 Nate Chapin <japhet (a] chromium.org> 36898 36899 Reviewed by Dimitri Glazkov. 36900 36901 [V8] Remove DOMObjectsInclude.h and update headers accordingly. 36902 36903 https://bugs.webkit.org/show_bug.cgi?id=36036 36904 36905 * WebCore.gypi: 36906 * bindings/v8/DOMData.h: 36907 * bindings/v8/DOMDataStore.h: 36908 * bindings/v8/DOMObjectsInclude.h: Removed. 36909 * bindings/v8/V8DOMMap.cpp: 36910 * bindings/v8/V8DOMWindowShell.cpp: 36911 * bindings/v8/V8DOMWrapper.cpp: 36912 * bindings/v8/V8GCController.cpp: 36913 * bindings/v8/V8Proxy.cpp: 36914 36915 2010-03-11 Simon Fraser <simon.fraser (a] apple.com> 36916 36917 Reviewed by Mark Rowe. 36918 36919 Remove duplicate entries revealed after sorting. 36920 36921 * WebCore.xcodeproj/project.pbxproj: 36922 36923 2010-03-11 Simon Fraser <simon.fraser (a] apple.com> 36924 36925 Reviewed by Mark Rowe. 36926 36927 Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file 36928 every time you opened it). 36929 36930 * WebCore.xcodeproj/project.pbxproj: 36931 36932 2010-03-11 Nate Chapin <japhet (a] chromium.org> 36933 36934 Reviewed by Dimitri Glazkov. 36935 36936 Fix style issues and improve comments from 36937 http://trac.webkit.org/changeset/55853. 36938 36939 https://bugs.webkit.org/show_bug.cgi?id=36029 36940 36941 * platform/animation/TimingFunction.h: 36942 (WebCore::TimingFunction::TimingFunction): 36943 36944 2010-03-11 Chris Fleizach <cfleizach (a] apple.com> 36945 36946 Reviewed by Beth Dakin. 36947 36948 accessibilityIsIgnoredBase() needs to respect when platform says include 36949 https://bugs.webkit.org/show_bug.cgi?id=36025 36950 36951 Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no 36952 answer. This allows the platform to make a yes decision on an element. 36953 36954 * accessibility/AccessibilityList.cpp: 36955 (WebCore::AccessibilityList::accessibilityIsIgnored): 36956 * accessibility/AccessibilityListBox.cpp: 36957 (WebCore::AccessibilityListBox::accessibilityIsIgnored): 36958 * accessibility/AccessibilityObject.h: 36959 (WebCore::): 36960 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 36961 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 36962 * accessibility/AccessibilityRenderObject.cpp: 36963 (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase): 36964 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 36965 * accessibility/AccessibilityRenderObject.h: 36966 * accessibility/AccessibilitySlider.cpp: 36967 (WebCore::AccessibilitySlider::accessibilityIsIgnored): 36968 * accessibility/AccessibilityTable.cpp: 36969 (WebCore::AccessibilityTable::accessibilityIsIgnored): 36970 * accessibility/AccessibilityTableCell.cpp: 36971 (WebCore::AccessibilityTableCell::accessibilityIsIgnored): 36972 * accessibility/AccessibilityTableRow.cpp: 36973 (WebCore::AccessibilityTableRow::accessibilityIsIgnored): 36974 * accessibility/chromium/AccessibilityObjectChromium.cpp: 36975 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 36976 * accessibility/gtk/AccessibilityObjectAtk.cpp: 36977 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 36978 * accessibility/mac/AccessibilityObjectMac.mm: 36979 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 36980 * accessibility/qt/AccessibilityObjectQt.cpp: 36981 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 36982 * accessibility/win/AccessibilityObjectWin.cpp: 36983 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 36984 * accessibility/wx/AccessibilityObjectWx.cpp: 36985 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 36986 36987 2010-03-11 Kenneth Russell <kbr (a] google.com> 36988 36989 Reviewed by Dimitri Glazkov. 36990 36991 Fix build breakage with ENABLE_3D_CANVAS=0 36992 https://bugs.webkit.org/show_bug.cgi?id=35995 36993 36994 No new tests; verified in Chromium that WebGL is disabled in 36995 ENABLE_3D_CANVAS=0 builds. 36996 36997 * bindings/v8/custom/V8DocumentCustom.cpp: 36998 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 36999 37000 2010-03-11 Nate Chapin <japhet (a] chromium.org> 37001 37002 Unreviewed, Chromium mac build fix. 37003 37004 Add an explicit copy constructor to TimingFunction. 37005 http://trac.webkit.org/changeset/55835 trigged an inlining 37006 bug in gcc that the copy constructor resolves. 37007 37008 * platform/animation/TimingFunction.h: 37009 (WebCore::TimingFunction::TimingFunction): 37010 37011 2010-03-11 Chris Fleizach <cfleizach (a] apple.com> 37012 37013 Fixing GTK. No review. 37014 37015 support lang attribute on <option> elements 37016 https://bugs.webkit.org/show_bug.cgi?id=36021 37017 37018 We don't need to cast to AccessibilityRenderObject to get language(). 37019 37020 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 37021 (webkit_accessible_document_get_locale): 37022 37023 2010-03-11 Chris Fleizach <cfleizach (a] apple.com> 37024 37025 Reviewed by Darin Adler. 37026 37027 support lang attribute on <option> elements 37028 https://bugs.webkit.org/show_bug.cgi?id=36021 37029 37030 Allow non AccessibilityRenderObject classes to access the lang 37031 attribute by moving the useful code into AccessibilityObject. 37032 37033 Test: platform/mac/accessibility/option-with-lang.html 37034 37035 * accessibility/AccessibilityListBoxOption.cpp: 37036 (WebCore::AccessibilityListBoxOption::language): 37037 * accessibility/AccessibilityListBoxOption.h: 37038 * accessibility/AccessibilityObject.cpp: 37039 (WebCore::AccessibilityObject::language): 37040 * accessibility/AccessibilityObject.h: 37041 * accessibility/AccessibilityRenderObject.cpp: 37042 (WebCore::AccessibilityRenderObject::language): 37043 * accessibility/AccessibilityRenderObject.h: 37044 37045 2010-03-11 Diego Gonzalez <diego.gonzalez (a] openbossa.org> 37046 37047 Reviewed by Simon Hausmann. 37048 37049 [Qt] Access key modifier should be Ctrl+Alt for Darwin derived OS and Alt for the others 37050 https://bugs.webkit.org/show_bug.cgi?id=35993 37051 37052 * page/qt/EventHandlerQt.cpp: 37053 (WebCore::EventHandler::accessKeyModifiers): 37054 37055 2010-03-08 Brett Wilson <brettw (a] chromium.org> 37056 37057 Reviewed by Adam Barth. 37058 37059 Remove the deprecated argument to url_util::IsStandard in preparation 37060 for deleting that version of the function. Pull the latest googleurl 37061 with the new version for the Chromium builder. 37062 37063 * platform/KURLGoogle.cpp: 37064 (WebCore::KURL::isHierarchical): 37065 37066 2010-03-11 Simon Hausmann <simon.hausmann (a] nokia.com> 37067 37068 Reviewed by Tor Arne Vestb. 37069 37070 [Qt] Make it possible to do builds with separate debug info in packages 37071 37072 * WebCore.pro: 37073 37074 2010-03-11 Simon Hausmann <simon.hausmann (a] nokia.com> 37075 37076 Reviewed by Tor Arne Vestb. 37077 37078 [Qt] Avoid double-buffering with Qt image decoders 37079 37080 Pass QIODevice::Unbuffered when opening the QBuffer that 37081 wraps the image data, to hint to Qt that no extra buffering 37082 is needed. 37083 37084 * platform/graphics/qt/ImageDecoderQt.cpp: 37085 (WebCore::ImageDecoderQt::setData): 37086 37087 2010-03-10 Ben Murdoch <benm (a] google.com> 37088 37089 Reviewed by Jeremy Orlow. 37090 37091 [Android] The platform touch events on Android are missing support 37092 for key modifiers. 37093 https://bugs.webkit.org/show_bug.cgi?id=35521 37094 37095 Add support in PlatformToucHEventAndroid for the platform supplying 37096 key modifiers with touch events. 37097 37098 Fixes Android so it now passes basic-single-touch-events.html. 37099 37100 * page/EventHandler.cpp: 37101 (WebCore::EventHandler::handleTouchEvent): Fix two compiler warnings. 37102 * platform/PlatformTouchEvent.h: 37103 (WebCore::PlatformTouchEvent::PlatformTouchEvent): Add support for 37104 key modifiers on Android. 37105 * platform/android/PlatformTouchEventAndroid.cpp: 37106 (WebCore::PlatformTouchEvent::PlatformTouchEvent): ditto. 37107 37108 2010-03-10 Steve Block <steveblock (a] google.com> 37109 37110 Reviewed by Jeremy Orlow. 37111 37112 Implements Geolocation maximumAge property 37113 https://bugs.webkit.org/show_bug.cgi?id=30676 37114 37115 Test: fast/dom/Geolocation/maximum-age.html 37116 37117 * WebCore.xcodeproj/project.pbxproj: Modified. Adds GeolocationPositionCache.h to Private headers 37118 * page/Geolocation.cpp: Modified. 37119 (WebCore::Geolocation::GeoNotifier::setUseCachedPosition): Added. 37120 (WebCore::Geolocation::GeoNotifier::runSuccessCallback): Added. 37121 (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Added logic to handle using a cached position 37122 (WebCore::Geolocation::Watchers::contains): Added. Required to determine if a notifier is a watch request 37123 (WebCore::Geolocation::startRequest): Modified. Added logic to check for a cached position 37124 (WebCore::Geolocation::requestUsesCachedPosition): Added. Callback to Geolocation object when notifier uses a cached position 37125 (WebCore::Geolocation::makeCachedPositionCallbacks): Added. 37126 (WebCore::Geolocation::haveSuitableCachedPosition): Added. 37127 (WebCore::Geolocation::setIsAllowed): Modified. 37128 (WebCore::Geolocation::positionChanged): Modified. Make callbacks using cached position where appropriate 37129 (WebCore::Geolocation::geolocationServiceErrorOccurred): Modified. Make callbacks using cached position where appropriate 37130 * page/Geolocation.h: Modified. 37131 37132 2010-03-11 Csaba Osztrogonc <ossy (a] webkit.org> 37133 37134 Unreviewed buildfix after r55823. (To fix Qt --minimal build.) 37135 I have dj vu, I'm sure that I did it before. (r55598) 37136 37137 * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added. 37138 37139 2010-03-11 Csaba Osztrogonc <ossy (a] webkit.org> 37140 37141 [Qt] Unreviewed buildfix after r55833. 37142 37143 Rename all instances of data() to characters() 37144 37145 * bridge/qt/qt_class.cpp: 37146 (JSC::Bindings::QtClass::fieldNamed): 37147 * bridge/qt/qt_runtime.cpp: 37148 (JSC::Bindings::convertValueToQVariant): 37149 37150 2010-03-11 Zoltan Horvath <zoltan (a] webkit.org> 37151 37152 Reviewed by Simon Hausmann. 37153 37154 Allow custom memory allocation control for RenderLayerBacking class 37155 https://bugs.webkit.org/show_bug.cgi?id=35857 37156 37157 Inherits the following class from Noncopyable because it is 37158 instantiated by 'new' and no need to be copyable: 37159 37160 class name - instantiated at: WebCore/'location' 37161 RenderLayerBacking - rendering/RenderLayer.cpp:3047 37162 37163 * rendering/RenderLayerBacking.h: 37164 37165 2010-03-11 Zoltan Horvath <zoltan (a] webkit.org> 37166 37167 Reviewed by Simon Hausmann. 37168 37169 Allow custom memory allocation control for TimingFunction struct 37170 https://bugs.webkit.org/show_bug.cgi?id=35855 37171 37172 Inherits the following struct from FastAllocBase because it is 37173 instantiated by 'new': 37174 37175 class name - instantiated at: WebCore/'location' 37176 TimingFuction - platform/graphics/GraphicsLayer.h:89 37177 37178 * platform/animation/TimingFunction.h: 37179 37180 2010-03-10 Gavin Barraclough <barraclough (a] apple.com> 37181 37182 Rubber stamped by Oliver Hunt. 37183 37184 Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl. 37185 37186 * bridge/jni/jsc/JavaStringJSC.h: 37187 (JSC::Bindings::JavaStringImpl::uchars): 37188 * platform/text/AtomicString.cpp: 37189 (WebCore::AtomicString::add): 37190 (WebCore::AtomicString::find): 37191 37192 2010-03-10 Gavin Barraclough <barraclough (a] apple.com> 37193 37194 Reviewed by Mark Rowe. 37195 37196 Fix for r55825, threadsafeCopy no longer needs to special-case for 37197 empty strings (in fact, doing so results in leaks). 37198 37199 * platform/text/StringImpl.cpp: 37200 (WebCore::StringImpl::threadsafeCopy): 37201 37202 2010-03-10 Chang Shu <chang.shu (a] nokia.com> 37203 37204 Reviewed by Darin Adler. 37205 37206 While calculating alpha channel, convert the floating point value to 37207 an integer in [0, 256) with equal distribution. 37208 https://bugs.webkit.org/show_bug.cgi?id=22150 37209 37210 * css/CSSParser.cpp: 37211 (WebCore::CSSParser::parseColorParameters): 37212 37213 2010-03-10 Gavin Barraclough <barraclough (a] apple.com> 37214 37215 Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak. 37216 37217 https://bugs.webkit.org/show_bug.cgi?id=35991 37218 Would be faster to not use a thread specific to implement StringImpl::empty() 37219 37220 Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static, 37221 shared by all threads. 37222 37223 ~2% progression on Dromaeo DOM core & JS lib tests. 37224 37225 * platform/ThreadGlobalData.cpp: 37226 (WebCore::ThreadGlobalData::ThreadGlobalData): 37227 (WebCore::ThreadGlobalData::~ThreadGlobalData): 37228 * platform/ThreadGlobalData.h: 37229 (WebCore::ThreadGlobalData::eventNames): 37230 * platform/text/StringImpl.cpp: 37231 (WebCore::StringImpl::StringImpl): 37232 (WebCore::StringImpl::empty): 37233 * platform/text/StringImpl.h: 37234 (WebCore::StringImpl::deref): 37235 (WebCore::StringImpl::hasOneRef): 37236 37237 2010-03-08 Dumitru Daniliuc <dumi (a] chromium.org> 37238 37239 Reviewed by Adam Barth. 37240 37241 Adding support for the optional creation callback that could be 37242 passed to openDatabase(). 37243 37244 Tests: storage/open-database-creation-callback.html 37245 storage/open-database-creation-callback-isolated-world.html 37246 37247 https://bugs.webkit.org/show_bug.cgi?id=34726 37248 37249 * Android.jscbindings.mk 37250 * Android.v8bindings.mk 37251 * GNUmakefile.am: 37252 * WebCore.gypi: 37253 * WebCore.pro: 37254 * WebCore.vcproj/WebCore.vcproj: 37255 * WebCore.xcodeproj/project.pbxproj: 37256 * bindings/js/JSDOMWindowCustom.cpp: 37257 (WebCore::JSDOMWindow::openDatabase): 37258 * bindings/js/JSDatabaseCallback.cpp: Added. 37259 (WebCore::JSDatabaseCallback::JSDatabaseCallback): 37260 (WebCore::JSDatabaseCallback::~JSDatabaseCallback): 37261 (WebCore::JSDatabaseCallback::handleEvent): 37262 * bindings/js/JSDatabaseCallback.h: Added. 37263 (WebCore::JSDatabaseCallback::create): 37264 * bindings/v8/custom/V8DOMWindowCustom.cpp: 37265 (WebCore::V8DOMWindow::openDatabaseCallback): 37266 * bindings/v8/custom/V8DatabaseCallback.cpp: Added. 37267 (WebCore::V8DatabaseCallback::V8DatabaseCallback): 37268 (WebCore::V8DatabaseCallback::~V8DatabaseCallback): 37269 (WebCore::V8DatabaseCallback::handleEvent): 37270 * bindings/v8/custom/V8DatabaseCallback.h: Added. 37271 (WebCore::V8DatabaseCallback::create): 37272 * page/DOMWindow.cpp: 37273 (WebCore::DOMWindow::openDatabase): 37274 * page/DOMWindow.h: 37275 * page/DOMWindow.idl: 37276 * storage/Database.cpp: 37277 (WebCore::DatabaseCreationCallbackTask::create): 37278 (WebCore::DatabaseCreationCallbackTask::performTask): 37279 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): 37280 (WebCore::Database::openDatabase): 37281 (WebCore::Database::Database): 37282 (WebCore::Database::performOpenAndVerify): 37283 (WebCore::Database::performCreationCallback): 37284 * storage/Database.h: 37285 (WebCore::Database::isNew): 37286 * storage/DatabaseCallback.h: Added. 37287 (WebCore::DatabaseCallback::~DatabaseCallback): 37288 * workers/WorkerContext.cpp: 37289 (WebCore::WorkerContext::openDatabase): 37290 * workers/WorkerContext.h: 37291 37292 2010-03-10 Justin Schuh <jschuh (a] chromium.org> 37293 37294 Reviewed by Adam Barth. 37295 37296 Make Chrome consistently handle leading format characters in URLs 37297 37298 https://bugs.webkit.org/show_bug.cgi?id=35948 37299 37300 Test: http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html 37301 37302 * platform/KURLGoogle.cpp: 37303 37304 2010-03-10 Jian Li <jianli (a] chromium.org> 37305 37306 Reviewed by Dmitry Titov. 37307 37308 Implementing DOMFormData class. 37309 https://bugs.webkit.org/show_bug.cgi?id=35707 37310 37311 This patch only addresses the implementation of DOMFormData class and 37312 moves the FormData construction logic from HTMLFormElement::createFormData 37313 to FormData::create() so that it can be used by both HTMLFormElement 37314 and XMLHttpRequest. 37315 37316 The DOMFormData IDL interface will be exposed in another patch and the 37317 test will be added then. 37318 37319 * Android.mk: 37320 * GNUmakefile.am: 37321 * WebCore.gypi: 37322 * WebCore.pro: 37323 * WebCore.vcproj/WebCore.vcproj: 37324 * WebCore.xcodeproj/project.pbxproj: 37325 * html/DOMFormData.cpp: Added. 37326 * html/DOMFormData.h: Added. 37327 * html/FormDataList.h: 37328 (WebCore::FormDataList::encoding): 37329 * html/HTMLFormElement.cpp: 37330 (WebCore::HTMLFormElement::createFormData): 37331 (WebCore::HTMLFormElement::submit): 37332 * html/HTMLFormElement.h: 37333 * platform/network/FormData.cpp: 37334 (WebCore::FormData::create): 37335 (WebCore::FormData::createMultiPart): 37336 (WebCore::FormData::appendDOMFormData): 37337 * platform/network/FormData.h: 37338 (WebCore::FormData::boundary): 37339 * xml/XMLHttpRequest.cpp: 37340 (WebCore::XMLHttpRequest::send): 37341 * xml/XMLHttpRequest.h: 37342 37343 2010-03-10 Chris Fleizach <cfleizach (a] apple.com> 37344 37345 Reviewed by Beth Dakin. 37346 37347 VoiceOver can navigate to hidden content in widget (WAI-ARIA) 37348 https://bugs.webkit.org/show_bug.cgi?id=35986 37349 37350 Elements that are subclassers of AXRenderObject have not been respecting 37351 aria-hidden and other cases that would make them ignored. This applies 37352 to tables, rows, cells, select boxes, sliders, and lists. Select boxes 37353 also need to make sure their option elements respect aria-hidden as well. 37354 37355 Test: accessibility/aria-hidden-with-elements.html 37356 37357 * accessibility/AccessibilityList.cpp: 37358 (WebCore::AccessibilityList::accessibilityIsIgnored): 37359 * accessibility/AccessibilityListBox.cpp: 37360 (WebCore::AccessibilityListBox::addChildren): 37361 (WebCore::AccessibilityListBox::accessibilityIsIgnored): 37362 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 37363 * accessibility/AccessibilityListBox.h: 37364 * accessibility/AccessibilityListBoxOption.cpp: 37365 (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored): 37366 * accessibility/AccessibilityListBoxOption.h: 37367 * accessibility/AccessibilityRenderObject.cpp: 37368 (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredCommon): 37369 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 37370 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 37371 * accessibility/AccessibilityRenderObject.h: 37372 * accessibility/AccessibilitySlider.cpp: 37373 (WebCore::AccessibilitySlider::accessibilityIsIgnored): 37374 * accessibility/AccessibilitySlider.h: 37375 (WebCore::AccessibilitySlider::roleValue): 37376 (WebCore::AccessibilitySliderThumb::roleValue): 37377 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored): 37378 * accessibility/AccessibilityTable.cpp: 37379 (WebCore::AccessibilityTable::accessibilityIsIgnored): 37380 * accessibility/AccessibilityTableCell.cpp: 37381 (WebCore::AccessibilityTableCell::accessibilityIsIgnored): 37382 * accessibility/AccessibilityTableColumn.cpp: 37383 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored): 37384 * accessibility/AccessibilityTableColumn.h: 37385 (WebCore::AccessibilityTableColumn::roleValue): 37386 * accessibility/AccessibilityTableHeaderContainer.cpp: 37387 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored): 37388 * accessibility/AccessibilityTableHeaderContainer.h: 37389 * accessibility/AccessibilityTableRow.cpp: 37390 (WebCore::AccessibilityTableRow::accessibilityIsIgnored): 37391 37392 2010-03-10 Dmitry Titov <dimich (a] chromium.org> 37393 37394 Reviewed by Darin Adler. 37395 37396 Make Document::postTask to use a single queue of tasks, to fire them in order 37397 https://bugs.webkit.org/show_bug.cgi?id=35943 37398 37399 Test: existing worker-cloneport.html which was broken by initial patch in http://trac.webkit.org/changeset/55593. 37400 Additional test which indirectly verifies the order of execution will come as part of https://bugs.webkit.org/show_bug.cgi?id=34726 37401 37402 * dom/Document.cpp: 37403 (WebCore::Document::postTask): Always use the same task queue, independent of what thread is posting the task. 37404 37405 2010-03-10 Sanjeev Radhakrishnan <sanjeevr (a] chromium.org> 37406 37407 Reviewed by Darin Fisher. 37408 37409 Allow a plugin to participate in the browser's print workflow. 37410 https://bugs.webkit.org/show_bug.cgi?id=35550 37411 37412 * loader/PluginDocument.cpp: 37413 * loader/PluginDocument.h: 37414 37415 2010-03-10 Ilya Tikhonovsky <loislo (a] loislo-macbookpro.local> 37416 37417 Reviewed by Pavel Feldman. 37418 37419 Sidebar resize element height was adjusted. 37420 Display name for Function Call details was adjusted. 37421 37422 https://bugs.webkit.org/show_bug.cgi?id=35939 37423 37424 * inspector/front-end/TimelinePanel.js: 37425 (WebInspector.TimelinePanel.prototype._refreshRecords): 37426 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 37427 37428 2010-03-10 Charles Wei <charles.wei (a] torchmobile.com.cn> 37429 37430 Reviewed by George Staikos. 37431 37432 Fix https://bugs.webkig.org/show_bug.cgi?id=35207 37433 When XHTMLMP is enabled, all xhtml documents fail to render for webkit portings wich use libxml2 tokenizer. 37434 37435 No new tests as all the xhtml test cases in LayoutTests/dom/xhtml fails without this fix when XHTMLMP is enabled. 37436 37437 * dom/Document.cpp: 37438 (WebCore::Document::isXHTMLMPDocument): 37439 * dom/XMLTokenizerLibxml2.cpp: 37440 (WebCore::XMLTokenizer::internalSubset): 37441 (WebCore::externalSubsetHandler): 37442 37443 2010-03-10 Garret Kelly <gdk (a] chromium.org> 37444 37445 Reviewed by Darin Fisher. 37446 37447 Adding all of the touch-related sources into Chromium's WebCore build. 37448 https://bugs.webkit.org/show_bug.cgi?id=35874 37449 37450 Patch tested against the try bots, but the feature is exercised in the 37451 fast/events/touch tests. 37452 37453 * WebCore.gypi: 37454 37455 2010-03-10 Pavel Feldman <pfeldman (a] chromium.org> 37456 37457 Reviewed by Timothy Hatcher. 37458 37459 Web Inspector: now that audits panel is added, add it to the 37460 enums (for storing last active, etc.). 37461 37462 https://bugs.webkit.org/show_bug.cgi?id=35980 37463 37464 * inspector/InspectorController.cpp: 37465 (WebCore::InspectorController::setWindowVisible): 37466 (WebCore::InspectorController::specialPanelForJSName): 37467 * inspector/InspectorController.h: 37468 (WebCore::InspectorController::): 37469 * inspector/InspectorFrontend.cpp: 37470 (WebCore::InspectorFrontend::showPanel): 37471 * inspector/front-end/inspector.js: 37472 (WebInspector.showAuditsPanel): 37473 37474 2010-03-10 Nate Chapin <japhet (a] chromium.org> 37475 37476 Reviewed by Dimitri Glazkov. 37477 37478 [V8] Instead of describing the type of a wrapped v8 object 37479 with an enum value, use a pointer to struct with more complete 37480 information. 37481 37482 https://bugs.webkit.org/show_bug.cgi?id=35941 37483 37484 Refactoring only, so new tests. 37485 37486 * bindings/scripts/CodeGeneratorV8.pm: 37487 * bindings/v8/DOMData.cpp: 37488 * bindings/v8/DOMData.h: 37489 * bindings/v8/NPV8Object.cpp: 37490 * bindings/v8/V8Collection.h: 37491 * bindings/v8/V8DOMWindowShell.cpp: 37492 * bindings/v8/V8DOMWindowShell.h: 37493 * bindings/v8/V8DOMWrapper.cpp: 37494 * bindings/v8/V8DOMWrapper.h: 37495 * bindings/v8/V8GCController.cpp: 37496 * bindings/v8/V8Helpers.cpp: 37497 * bindings/v8/V8Helpers.h: 37498 * bindings/v8/V8Index.cpp: Removed. 37499 * bindings/v8/V8Index.h: 37500 * bindings/v8/V8NPObject.cpp: 37501 * bindings/v8/V8Proxy.cpp: 37502 * bindings/v8/V8Proxy.h: 37503 * bindings/v8/WorkerContextExecutionProxy.cpp: 37504 * bindings/v8/custom/V8DOMWindowCustom.cpp: 37505 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 37506 * bindings/v8/custom/V8HTMLAudioElementConstructor.h: 37507 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 37508 * bindings/v8/custom/V8HTMLImageElementConstructor.h: 37509 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 37510 * bindings/v8/custom/V8HTMLOptionElementConstructor.h: 37511 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 37512 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 37513 * bindings/v8/custom/V8SharedWorkerCustom.cpp: 37514 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 37515 * bindings/v8/custom/V8WebGLArrayCustom.h: 37516 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 37517 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 37518 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 37519 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 37520 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 37521 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 37522 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 37523 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: 37524 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 37525 * bindings/v8/custom/V8WebSocketCustom.cpp: 37526 * bindings/v8/custom/V8WorkerCustom.cpp: 37527 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 37528 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 37529 37530 2010-03-10 Antonio Gomes <tonikitoo (a] webkit.org> 37531 37532 Reviewed by Dave Hyatt. 37533 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 37534 37535 Extend keyboard navigation to allow directional navigation (Manual tests) 37536 https://bugs.webkit.org/show_bug.cgi?id=18662 37537 37538 Adds a manual tests for the Spatial Navigation feature comprasing varios 37539 Html focusable elements (e.g. <a>, <table>, <iframe>) and much of the logic 37540 provided by the feature. 37541 37542 * manual-tests/spatial-navigation/links.html: Added. 37543 * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: Added. 37544 37545 2010-03-10 Leandro Pereira <leandro (a] profusion.mobi> 37546 37547 Reviewed by Kenneth Rohde Christiansen. 37548 37549 Add EFL port files to platform/efl. 37550 http://webkit.org/b/35890 37551 37552 * platform/efl/ScrollbarEfl.h: Added. 37553 * platform/efl/ScrollbarThemeEfl.h: Added. 37554 37555 2010-03-10 Pavel Feldman <pfeldman (a] chromium.org> 37556 37557 Reviewed by Timothy Hatcher. 37558 37559 Web Inspector: Audits panel needs an icon. 37560 Landing icon attached by Timothy. Enabling panel! 37561 37562 https://bugs.webkit.org/show_bug.cgi?id=35945 37563 37564 * WebCore.gypi: 37565 * inspector/front-end/Images/auditsIcon.png: Added. 37566 * inspector/front-end/WebKit.qrc: 37567 * inspector/front-end/inspector.css: 37568 37569 2010-03-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 37570 37571 Roll-out r55657, as Xan noticed a bad degradation in playing 37572 youtube HTML5 videos with it, that is fixed with it 37573 reverted. Looks like we'll need to work a bit more on this. 37574 37575 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 37576 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 37577 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 37578 (WebCore::MediaPlayerPrivate::volumeChangedTimerFired): 37579 (WebCore::MediaPlayerPrivate::volumeChanged): 37580 (WebCore::MediaPlayerPrivate::processBufferingStats): 37581 (WebCore::MediaPlayerPrivate::fillTimerFired): 37582 (WebCore::MediaPlayerPrivate::maxTimeLoaded): 37583 (WebCore::MediaPlayerPrivate::updateStates): 37584 (WebCore::MediaPlayerPrivate::muteChangedTimerFired): 37585 (WebCore::MediaPlayerPrivate::muteChanged): 37586 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 37587 37588 2010-03-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 37589 37590 Rubber-stamped by Xan Lopez. 37591 37592 Fix ready state when buffering under PLAYING. We should not go 37593 back to HaveNothing in that case. 37594 37595 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 37596 (WebCore::MediaPlayerPrivate::updateStates): 37597 37598 2010-03-10 Ada Chan <adachan (a] apple.com> 37599 37600 Reviewed by Adam Roben. 37601 37602 https://bugs.webkit.org/show_bug.cgi?id=35976 37603 37604 Retrieve any dwItemData that's set on the context menu item in contextMenuItemByIdOrPosition(). 37605 37606 * platform/win/ContextMenuWin.cpp: 37607 37608 2010-03-10 Jeremy Orlow <jorlow (a] chromium.org> 37609 37610 Reviewed by Darin Fisher. 37611 37612 Add IndexedDatabase class and hook it up. 37613 https://bugs.webkit.org/show_bug.cgi?id=35927 37614 37615 This change is mostly just adding the plumbing necessary for 37616 the IndexedDatabaseRequest and IndexedDatabaseSync (not written 37617 yet). 37618 37619 This code is non-functional, so no tests (yet). 37620 37621 * WebCore.gyp/WebCore.gyp: 37622 * WebCore.gypi: 37623 * platform/chromium/ChromiumBridge.h: 37624 * storage/IndexedDatabase.cpp: Added. 37625 (WebCore::IndexedDatabase::get): 37626 * storage/IndexedDatabase.h: Added. 37627 (WebCore::IndexedDatabase::~IndexedDatabase): 37628 * storage/IndexedDatabaseImpl.cpp: Added. 37629 (WebCore::IndexedDatabaseImpl::get): 37630 (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl): 37631 (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl): 37632 (WebCore::IndexedDatabaseImpl::open): 37633 * storage/IndexedDatabaseImpl.h: Added. 37634 * storage/chromium/IndexedDatabase.cpp: Added. 37635 (WebCore::IndexedDatabase::get): 37636 37637 2010-03-05 Dimitri Glazkov <dglazkov (a] chromium.org> 37638 37639 Reviewed by Sam Weinig. 37640 37641 Add one more parent check during node removal. 37642 https://bugs.webkit.org/show_bug.cgi?id=35818 37643 37644 Test: fast/dom/Node/mutation-blur.html 37645 37646 * dom/ContainerNode.cpp: 37647 (WebCore::ContainerNode::removeChild): Added check. 37648 37649 2010-03-10 Pavel Feldman <pfeldman (a] chromium.org> 37650 37651 Not reviewed: added missing quote into localized strings. 37652 37653 * English.lproj/localizedStrings.js: 37654 37655 2010-03-10 Jeremy Orlow <jorlow (a] chromium.org> 37656 37657 Commit files that were supposed to go in with the last checkin. 37658 37659 2010-03-10 Jeremy Orlow <jorlow (a] chromium.org> 37660 37661 Reviewed by Dimitry Glazkov. 37662 37663 Baby steps towards IndexedDB: Start implementing callbacks. 37664 https://bugs.webkit.org/show_bug.cgi?id=35911 37665 37666 This patch adds some infastructure for IndexedDB callbacks in V8. 37667 It also adds a stub of IDBDatabaseRequest. In the near future, 37668 I'll gut the event based implementation code, flesh out IDBReqest 37669 further, and start plumbing IndexedDatabaseRequest. 37670 37671 Code is not testible because it doesn't work (yet). 37672 37673 * WebCore.gypi: 37674 * bindings/v8/DOMObjectsInclude.h: 37675 * bindings/v8/V8Index.cpp: 37676 * bindings/v8/V8Index.h: 37677 * bindings/v8/custom/V8CustomIDBCallback.h: Added. 37678 (WebCore::V8CustomIDBCallback::create): 37679 (WebCore::V8CustomIDBCallback::~V8CustomIDBCallback): 37680 (WebCore::V8CustomIDBCallback::handleEvent): 37681 (WebCore::V8CustomIDBCallback::V8CustomIDBCallback): 37682 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: 37683 (WebCore::V8IndexedDatabaseRequest::openCallback): 37684 * storage/IDBDatabaseRequest.h: Added. 37685 (WebCore::IDBDatabaseRequest::request): 37686 * storage/IDBDatabaseRequest.idl: Added. 37687 * storage/IndexedDatabaseRequest.idl: 37688 37689 2010-03-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 37690 37691 Reviewed by Simon Hausmann. 37692 37693 [Qt] Non animated gifs are animated in QtWebKit 37694 https://bugs.webkit.org/show_bug.cgi?id=35955 37695 37696 Properly map Qt animated and non-animated values to WebCore's 37697 understanding of animated and non-animated images. Currently 37698 we can not map anything to the cAnimationLoopNone value. 37699 37700 * manual-tests/qt/qt-anim.gif: Added. 37701 * manual-tests/qt/qt-gif-test.html: Added. 37702 * manual-tests/qt/qt-noanim.gif: Added. 37703 * platform/graphics/qt/ImageDecoderQt.cpp: 37704 (WebCore::ImageDecoderQt::repetitionCount): 37705 37706 2010-03-07 Holger Hans Peter Freyther <zecke (a] selfish.org> 37707 37708 Reviewed by Darin Adler. 37709 37710 [CAIRO] DoS on iexploder test with high text stroke width. 37711 https://bugs.webkit.org/show_bug.cgi?id=33759 37712 37713 Specifying a big text stroke width can make WebKitGTK+ spend 37714 a very long time in the cairo library for stroking the path of 37715 the text. The best way to prevent this from happening right now 37716 is to not stroke paths with a certain width. Samuel proposed to 37717 not stroke with a width that is twice the width of the text. The 37718 reason to use twice the text width is that even one stroke of 37719 any charachter to be drawn would cover the full width. 37720 37721 Test: fast/text/text-stroke-width-cairo-dos.html 37722 37723 * platform/graphics/cairo/FontCairo.cpp: 37724 (WebCore::Font::drawGlyphs): 37725 37726 2010-03-10 Andrey Kosyakov <caseq (a] chromium.org> 37727 37728 Reviewed by Pavel Feldman. 37729 37730 Web Inspector: display list of active workers & support debugging 37731 with fake workers. 37732 https://bugs.webkit.org/show_bug.cgi?id=35568 37733 37734 * English.lproj/localizedStrings.js: 37735 * WebCore.gypi: 37736 * WebCore.vcproj/WebCore.vcproj: 37737 * bindings/js/JSInjectedScriptHostCustom.cpp: 37738 (WebCore::InjectedScriptHost::createInjectedScript): 37739 (WebCore::InjectedScriptHost::injectedScriptFor): 37740 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 37741 (WebCore::InjectedScriptHost::createInjectedScript): 37742 (WebCore::InjectedScriptHost::injectedScriptFor): 37743 * dom/Document.cpp: 37744 (WebCore::Document::inspectorController): 37745 * dom/Document.h: 37746 * dom/ScriptExecutionContext.h: 37747 (WebCore::ScriptExecutionContext::inspectorController): 37748 * inspector/InjectedScriptHost.cpp: 37749 (WebCore::InjectedScriptHost::InjectedScriptHost): 37750 (WebCore::InjectedScriptHost::injectScript): 37751 (WebCore::InjectedScriptHost::nextWorkerId): 37752 (WebCore::InjectedScriptHost::didCreateWorker): 37753 (WebCore::InjectedScriptHost::willDestroyWorker): 37754 * inspector/InjectedScriptHost.h: 37755 * inspector/InjectedScriptHost.idl: 37756 * inspector/InspectorController.cpp: 37757 (WebCore::InspectorController::populateScriptObjects): 37758 (WebCore::InspectorController::resetScriptObjects): 37759 (WebCore::InspectorController::didCommitLoad): 37760 (WebCore::InspectorController::didCreateWorker): 37761 (WebCore::InspectorController::willDestroyWorker): 37762 * inspector/InspectorController.h: 37763 * inspector/InspectorFrontend.cpp: 37764 (WebCore::InspectorFrontend::didCreateWorker): 37765 (WebCore::InspectorFrontend::willDestroyWorker): 37766 * inspector/InspectorFrontend.h: 37767 * inspector/InspectorWorkerResource.h: Added. 37768 (WebCore::InspectorWorkerResource::create): 37769 (WebCore::InspectorWorkerResource::id): 37770 (WebCore::InspectorWorkerResource::url): 37771 (WebCore::InspectorWorkerResource::isSharedWorker): 37772 (WebCore::InspectorWorkerResource::InspectorWorkerResource): 37773 * inspector/front-end/Checkbox.js: Added. 37774 (WebInspector.Checkbox.callbackWrapper): 37775 (WebInspector.Checkbox): 37776 (WebInspector.Checkbox.prototype.checked): 37777 * inspector/front-end/InjectedFakeWorker.js: 37778 (InjectedFakeWorker.FakeWorker): 37779 (InjectedFakeWorker.FakeWorker.prototype.terminate): 37780 (InjectedFakeWorker.FakeWorker.prototype._handleException): 37781 (InjectedFakeWorker.FakeWorker.prototype._importScripts): 37782 (InjectedFakeWorker.FakeWorker.prototype._loadScript): 37783 (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin): 37784 * inspector/front-end/ScriptsPanel.js: 37785 (WebInspector.ScriptsPanel): 37786 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): 37787 (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled): 37788 (WebInspector.ScriptsPanel.prototype.reset): 37789 * inspector/front-end/StylesSidebarPane.js: 37790 (WebInspector.StylePropertiesSection.showInheritedToggleFunction): 37791 (WebInspector.StylePropertiesSection): 37792 * inspector/front-end/WebKit.qrc: 37793 * inspector/front-end/WorkersSidebarPane.js: Added. 37794 (WebInspector.WorkersSidebarPane): 37795 (WebInspector.WorkersSidebarPane.prototype.addWorker): 37796 (WebInspector.WorkersSidebarPane.prototype.removeWorker): 37797 (WebInspector.WorkersSidebarPane.prototype.setInstrumentation): 37798 (WebInspector.WorkersSidebarPane.prototype.reset): 37799 (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument): 37800 (WebInspector.Worker): 37801 (WebInspector.didCreateWorker): 37802 (WebInspector.willDestroyWorker): 37803 * inspector/front-end/inspector.css: 37804 * inspector/front-end/inspector.html: 37805 * workers/AbstractWorker.cpp: 37806 (WebCore::AbstractWorker::AbstractWorker): 37807 (WebCore::AbstractWorker::~AbstractWorker): 37808 (WebCore::AbstractWorker::onDestroyWorker): 37809 (WebCore::AbstractWorker::contextDestroyed): 37810 * workers/AbstractWorker.h: 37811 (WebCore::AbstractWorker::id): 37812 * workers/SharedWorker.cpp: 37813 (WebCore::SharedWorker::SharedWorker): 37814 * workers/Worker.cpp: 37815 (WebCore::Worker::Worker): 37816 37817 2010-03-10 Roland Steiner <rolandsteiner (a] chromium.org> 37818 37819 Unreviewed build fix. Fix variable name change that somehow didn't 37820 make it into the patch. 37821 37822 2010-03-10 Roland Steiner <rolandsteiner (a] chromium.org> 37823 37824 Reviewed by David Levin. 37825 37826 Bug 28293 - [Chromium] event.datatransfer.getdata("text/uri-list") is treated the same as getdata("URL") 37827 https://bugs.webkit.org/show_bug.cgi?id=28293 37828 37829 Change ChromiumDataObject such that it treats types "URL" and "text/uri-list" 37830 correctly for event.dataTransfer.getData/setData. Currently both are treated 37831 as synonyms, but for "URL", getData is supposed to only return the first valid URL 37832 contained within the data for "text/uri-list" (see HTML5 spec). 37833 37834 Tests: editing/pasteboard/dataTransfer-setData-getData.html 37835 37836 * platform/chromium/ChromiumDataObject.cpp: 37837 (WebCore::ChromiumDataObject::clear): 37838 (WebCore::ChromiumDataObject::clearAllExceptFiles): 37839 (WebCore::ChromiumDataObject::hasData): 37840 (WebCore::ChromiumDataObject::ChromiumDataObject): 37841 * platform/chromium/ChromiumDataObject.h: 37842 (WebCore::ChromiumDataObject::clearURL): 37843 (WebCore::ChromiumDataObject::hasValidURL): 37844 (WebCore::ChromiumDataObject::getURL): 37845 (WebCore::ChromiumDataObject::setURL): 37846 * platform/chromium/ClipboardChromium.cpp: 37847 (WebCore::): 37848 (WebCore::clipboardTypeFromMIMEType): 37849 (WebCore::ClipboardChromium::clearData): 37850 (WebCore::ClipboardChromium::getData): 37851 (WebCore::ClipboardChromium::setData): 37852 (WebCore::ClipboardChromium::types): 37853 * platform/chromium/DragDataChromium.cpp: 37854 (WebCore::DragData::asURL): 37855 (WebCore::DragData::canSmartReplace): 37856 37857 2010-03-09 Pavel Feldman <pfeldman (a] chromium.org> 37858 37859 Reviewed by Timothy Hatcher. 37860 37861 Web Inspector: REGRESSION: Tall image resources are cropped over the bottom. 37862 37863 https://bugs.webkit.org/show_bug.cgi?id=34720 37864 37865 * inspector/front-end/inspector.css: 37866 37867 2010-03-09 Pavel Feldman <pfeldman (a] chromium.org> 37868 37869 Reviewed by Timothy Hatcher. 37870 37871 Web Inspector: REGRESSION: Pressing up/down arrow key to change numeric 37872 value in CSS property takes focus away. 37873 37874 https://bugs.webkit.org/show_bug.cgi?id=34697 37875 37876 * inspector/front-end/StylesSidebarPane.js: 37877 (WebInspector.StylePropertyTreeElement.prototype): 37878 (WebInspector.StylePropertyTreeElement.prototype.): 37879 37880 2010-03-09 Tony Chang <tony (a] chromium.org> 37881 37882 Reviewed by Adam Barth. 37883 37884 https://bugs.webkit.org/show_bug.cgi?id=21840 37885 https://bugs.webkit.org/show_bug.cgi?id=23993 37886 37887 Fix an editing bug where replacing a selection would result in the 37888 new text ending up inside nodes that were not visibly included in the 37889 selection. Instead, move our destination position out of nodes that 37890 were not visibly included. 37891 37892 Tests: editing/deleting/backspace-avoid-preceding-style.html 37893 editing/inserting/replace-at-visible-boundary.html 37894 37895 * editing/ReplaceSelectionCommand.cpp: 37896 (WebCore::positionAvoidingPrecedingNodes): 37897 (WebCore::ReplaceSelectionCommand::doApply): 37898 37899 2010-03-09 Brady Eidson <beidson (a] apple.com> 37900 37901 Reviewed by Tim Hatcher. 37902 37903 REGRESSION: WebInspector docking busted on Windows 37904 <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953 37905 37906 First off, a bit of settings-key related cleanup. If they're shared over multiple files, these 37907 things should be properly declared Strings, not random loose char*'s. 37908 37909 Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the 37910 InspectorController in WebCore. 37911 37912 Finally, when the controller is ready to show the WebInspector window, it can use this newly 37913 exposed settings key to call "setWindowVisible" directly instead of relying on "showWindow" to do 37914 it indirectly. 37915 37916 * WebCore.base.exp: 37917 37918 * inspector/InspectorBackend.cpp: 37919 (WebCore::InspectorBackend::saveFrontendSettings): 37920 * inspector/InspectorController.cpp: 37921 (WebCore::InspectorController::frontendSettingsSettingName): 37922 (WebCore::InspectorController::inspectorStartsAttachedSettingName): 37923 (WebCore::InspectorController::scriptObjectReady): Using the new inspectorStartsAttachedSettingName 37924 key and some "can I attach this?" logic, call setWindowVisible directly to display the inspector 37925 window. 37926 (WebCore::InspectorController::populateScriptObjects): 37927 * inspector/InspectorController.h: 37928 37929 2010-03-09 Alexey Proskuryakov <ap (a] apple.com> 37930 37931 Reviewed by Mark Rowe. 37932 37933 https://bugs.webkit.org/show_bug.cgi?id=35951 37934 <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80 37935 37936 * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too. 37937 37938 2010-03-09 Alexey Proskuryakov <ap (a] apple.com> 37939 37940 Reviewed by Oliver Hunt. 37941 37942 https://bugs.webkit.org/show_bug.cgi?id=35951 37943 <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80 37944 37945 * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): It's not correct to use object 37946 personality for keys, because the key can be a mutable object, so its hash can change over its 37947 lifetime. 37948 37949 2010-03-09 Ojan Vafai <ojan (a] chromium.org> 37950 37951 Reviewed by Darin Adler. 37952 37953 Fix review comment accidentally overlooked in bug 35713 37954 https://bugs.webkit.org/show_bug.cgi?id=35947 37955 37956 * editing/DeleteSelectionCommand.cpp: 37957 (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete): 37958 * editing/DeleteSelectionCommand.h: 37959 37960 2010-03-03 Ojan Vafai <ojan (a] chromium.org> 37961 37962 Reviewed by Adam Barth. 37963 37964 undo after smartdelete should select the deleted space 37965 https://bugs.webkit.org/show_bug.cgi?id=35713 37966 37967 TextEdit behavior is to select the deleted space after a smartdelete. 37968 37969 Tests: editing/undo/undo-smart-delete-reversed-selection.html 37970 editing/undo/undo-smart-delete-word.html 37971 37972 * editing/DeleteSelectionCommand.cpp: 37973 (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete): 37974 (WebCore::DeleteSelectionCommand::initializePositionData): 37975 * editing/DeleteSelectionCommand.h: 37976 * editing/VisibleSelection.cpp: 37977 (WebCore::VisibleSelection::setWithoutValidation): 37978 This assert looks bogus to me. undo-smart-delete-reversed-selection.html hits it 37979 but not as a result of the other changes in this patch. The granularity when 37980 deleting after making a wordgranularity selection is wordgranularity, not charactergranularity. 37981 37982 2010-03-09 Steve Falkenburg <sfalken (a] apple.com> 37983 37984 Rubber stamped by Adam Roben. 37985 37986 Load debug version of graphics library in Windows Debug_All builds. 37987 37988 * platform/graphics/win/WKCACFLayerRenderer.cpp: 37989 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): 37990 37991 2010-03-09 Brady Eidson <beidson (a] apple.com> 37992 37993 Reviewed by Darin Adler. 37994 37995 Plug-ins don't always respect the cookie accept policy. 37996 <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391 37997 37998 The problem is that the various plug-in implementations call into a ResourceLoader 37999 directly instead of filtering the request through FrameLoader. This bypassed the step 38000 of adding extra fields to the requests, such as the firstPartyForCookies URL. 38001 38002 Since plug-in code is currently so strewn about and very platform specific, I 38003 think reworking it needs to be a task for domain experts. I don't know the implications 38004 of adding *all* the extra fields to plug-in requests, for example. 38005 38006 There's no harm in this targeted fix for the hole in our cookie accept policy until 38007 plug-ins can more fundamentally change. 38008 38009 Test: http/tests/plugins/third-party-cookie-accept-policy.html 38010 38011 * loader/ResourceLoader.cpp: 38012 (WebCore::ResourceLoader::load): Don't load a resource without first giving the request 38013 a firstPartyForCookies URL. 38014 38015 2010-03-09 Andy Estes <aestes (a] apple.com> 38016 38017 Reviewed by Adele Peterson. 38018 38019 Check for null renderer in scrollNode(). 38020 https://bugs.webkit.org/show_bug.cgi?id=34700 38021 38022 Test: fast/events/remove-child-onscroll.html 38023 38024 * page/EventHandler.cpp: 38025 (WebCore::scrollNode): Return early if node->renderer() == 0 38026 38027 2010-03-09 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 38028 38029 Unreviewed distcheck fix. 38030 38031 * GNUmakefile.am: 38032 38033 2010-03-09 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 38034 38035 Unreviewed build fix (only exposed by make distcheck). The 38036 SharedWorkers files are not built, they need to be distributed. 38037 38038 * GNUmakefile.am: 38039 38040 2010-03-08 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 38041 38042 Reviewed by Dirk Schulze. 38043 38044 [GStreamer] Buffering logic is not correct, and does not work very well 38045 https://bugs.webkit.org/show_bug.cgi?id=35706 38046 38047 Fix buffering to match GStreamer expectancies regarding the 38048 pipeline state, so that videos which really need buffering to play 38049 correctly also work, while maintaining the convenience of 38050 on-disk-buffering. This required a bit of shuffling of state 38051 change handling. 38052 38053 No behaviour change expected. 38054 38055 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 38056 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 38057 (WebCore::MediaPlayerPrivate::processBufferingStats): 38058 (WebCore::MediaPlayerPrivate::fillTimerFired): 38059 (WebCore::MediaPlayerPrivate::updateStates): 38060 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 38061 38062 2010-03-09 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 38063 38064 Reviewed by Dirk Schulze. 38065 38066 [GStreamer] Buffering logic is not correct, and does not work very well 38067 https://bugs.webkit.org/show_bug.cgi?id=35706 38068 38069 Do not call pause(), but set the GStreamer state directly. This is 38070 just a GStreamer implementation detail, and this will avoid having 38071 side effects in case we change the pause implementation in the 38072 future. 38073 38074 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 38075 (WebCore::MediaPlayerPrivate::load): 38076 38077 2010-03-09 Chris Fleizach <cfleizach (a] apple.com> 38078 38079 Reviewed by Darin Adler. 38080 38081 AX: hit testing a list box doesn't work anymore 38082 https://bugs.webkit.org/show_bug.cgi?id=35893 38083 38084 Since <option> elements don't have renderers, their hit testing needs 38085 to be handled with a special case. 38086 38087 Test: platform/mac/accessibility/listbox-hit-test.html 38088 38089 * accessibility/AccessibilityRenderObject.cpp: 38090 (WebCore::AccessibilityRenderObject::ariaIsHidden): 38091 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 38092 38093 2010-03-09 Pavel Feldman <pfeldman (a] chromium.org> 38094 38095 Reviewed by Timothy Hatcher. 38096 38097 Web Inspector: Refactor Audits panel presentation layer. 38098 This change removes unnecessary complexity: 38099 - Audit scores were not used 38100 - Audit rule parameters are passed as rule constructor arguments 38101 - View management aligned with the rest of the front-end 38102 - Single TreeOutline is used for category results (no need to create sections for those) 38103 - Rules code beautified and simplified where possible 38104 - Some UI improvements applied (see attached screenshot) 38105 38106 https://bugs.webkit.org/show_bug.cgi?id=35860 38107 38108 * inspector/front-end/AuditCategories.js: 38109 (WebInspector.AuditCategories.PagePerformance.prototype.initialize): 38110 (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize): 38111 * inspector/front-end/AuditResultView.js: 38112 (WebInspector.AuditResultView): 38113 (WebInspector.AuditCategoryResultPane): 38114 (WebInspector.AuditCategoryResultPane.prototype._appendResult): 38115 * inspector/front-end/AuditRules.js: 38116 (WebInspector.AuditRules.GzipRule.prototype.doRun): 38117 (WebInspector.AuditRules.CombineExternalResourcesRule): 38118 (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun): 38119 (WebInspector.AuditRules.CombineJsResourcesRule): 38120 (WebInspector.AuditRules.CombineCssResourcesRule): 38121 (WebInspector.AuditRules.MinimizeDnsLookupsRule): 38122 (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun): 38123 (WebInspector.AuditRules.ParallelizeDownloadRule): 38124 (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun): 38125 (WebInspector.AuditRules.UnusedCssRule): 38126 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): 38127 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine): 38128 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 38129 (WebInspector.AuditRules.CacheControlRule): 38130 (WebInspector.AuditRules.CacheControlRule.prototype.doRun): 38131 (WebInspector.AuditRules.CacheControlRule.prototype.execCheck): 38132 (WebInspector.AuditRules.BrowserCacheControlRule): 38133 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources): 38134 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks): 38135 (WebInspector.AuditRules.ProxyCacheControlRule): 38136 (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks): 38137 (WebInspector.AuditRules.ImageDimensionsRule): 38138 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 38139 (WebInspector.AuditRules.CssInHeadRule): 38140 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): 38141 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine): 38142 (WebInspector.AuditRules.StylesScriptsOrderRule): 38143 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): 38144 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine): 38145 (WebInspector.AuditRules.CookieRuleBase): 38146 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback): 38147 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun): 38148 (WebInspector.AuditRules.CookieSizeRule): 38149 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): 38150 (WebInspector.AuditRules.StaticCookielessRule): 38151 (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): 38152 * inspector/front-end/AuditsPanel.js: 38153 (WebInspector.AuditsPanel): 38154 (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback): 38155 (WebInspector.AuditsPanel.prototype._executeAudit): 38156 (WebInspector.AuditsPanel.prototype._reloadResources): 38157 (WebInspector.AuditsPanel.prototype._didMainResourceLoad): 38158 (WebInspector.AuditsPanel.prototype.showResults): 38159 (WebInspector.AuditsPanel.prototype.showLauncherView): 38160 (WebInspector.AuditsPanel.prototype.get visibleView): 38161 (WebInspector.AuditsPanel.prototype.set visibleView): 38162 (WebInspector.AuditsPanel.prototype.show): 38163 (WebInspector.AuditsPanel.prototype._clearButtonClicked): 38164 (WebInspector.AuditCategory.prototype.addRule): 38165 (WebInspector.AuditRule): 38166 (WebInspector.AuditRule.prototype.set severity): 38167 (WebInspector.AuditRule.prototype.run): 38168 (WebInspector.AuditRule.prototype.doRun): 38169 (WebInspector.AuditCategoryResult): 38170 (WebInspector.AuditCategoryResult.prototype.addRuleResult): 38171 (WebInspector.AuditRuleResult): 38172 (WebInspector.AuditRuleResult.prototype.addChild): 38173 (WebInspector.AuditRuleResult.prototype.addURL): 38174 (WebInspector.AuditRuleResult.prototype.addURLs): 38175 (WebInspector.AuditRuleResult.prototype.addSnippet): 38176 * inspector/front-end/Settings.js: 38177 * inspector/front-end/audits.css: 38178 * inspector/front-end/inspector.js: 38179 (WebInspector._createPanels): 38180 (WebInspector.documentKeyDown): 38181 38182 2010-03-09 Yury Semikhatsky <yurys (a] chromium.org> 38183 38184 Reviewed by Pavel Feldman. 38185 38186 When enable resource tracking state changes use the same method as 38187 location.reload for reloading inspected page. 38188 38189 https://bugs.webkit.org/show_bug.cgi?id=35923 38190 38191 * inspector/InspectorBackend.cpp: 38192 (WebCore::InspectorBackend::reloadPage): 38193 * inspector/InspectorController.cpp: 38194 (WebCore::InspectorController::enableResourceTracking): 38195 38196 2010-03-09 Pavel Feldman <pfeldman (a] chromium.org> 38197 38198 Reviewed by Timothy Hatcher. 38199 38200 Web Inspector: highlight text node containers while searching for node. 38201 38202 https://bugs.webkit.org/show_bug.cgi?id=35912 38203 38204 * inspector/InspectorController.cpp: 38205 (WebCore::InspectorController::mouseDidMoveOverElement): 38206 38207 2010-03-09 Philippe Normand <pnormand (a] igalia.com> 38208 38209 Reviewed by Gustavo Noronha Silva. 38210 38211 [GStreamer] player code cleanups 38212 https://bugs.webkit.org/show_bug.cgi?id=35868 38213 38214 Cleaned up the private instance variables of the player. 38215 38216 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 38217 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 38218 (WebCore::MediaPlayerPrivate::fillTimerFired): 38219 (WebCore::MediaPlayerPrivate::mediaLocationChanged): 38220 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 38221 38222 2010-03-09 Philippe Normand <pnormand (a] igalia.com> 38223 38224 Reviewed by Gustavo Noronha Silva. 38225 38226 [GStreamer] player code cleanups 38227 https://bugs.webkit.org/show_bug.cgi?id=35868 38228 38229 Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}. 38230 38231 * GNUmakefile.am: 38232 * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added. 38233 (WTF::GstElement): 38234 * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Added. 38235 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 38236 * platform/gtk/GOwnPtrGtk.cpp: Removed. 38237 * platform/gtk/GOwnPtrGtk.h: Removed. 38238 * platform/network/soup/CookieJarSoup.cpp: 38239 * platform/network/soup/DNSSoup.cpp: 38240 * platform/network/soup/GOwnPtrSoup.cpp: Added. 38241 (WTF::SoupURI): 38242 * platform/network/soup/GOwnPtrSoup.h: Added. 38243 * platform/network/soup/ResourceHandleSoup.cpp: 38244 * platform/network/soup/ResourceRequestSoup.cpp: 38245 38246 2010-03-09 Shinichiro Hamaji <hamaji (a] chromium.org> 38247 38248 Reviewed by Eric Seidel. 38249 38250 [Chromium] Should remove paddings of Win/Linux chromium's buttons 38251 https://bugs.webkit.org/show_bug.cgi?id=35629 38252 38253 No new tests, but we may need to rebaseline bunch of expectation 38254 images in chromium's tree. 38255 38256 * rendering/RenderThemeChromiumSkia.cpp: 38257 * rendering/RenderThemeChromiumSkia.h: 38258 38259 2010-03-08 Kent Tamura <tkent (a] chromium.org> 38260 38261 Reviewed by Adam Barth. 38262 38263 Implement HTML5 <hgroup> element. 38264 https://bugs.webkit.org/show_bug.cgi?id=33369 38265 38266 <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>. 38267 <hgroup> has no specific parsing rules. 38268 38269 Test: fast/html/hgroup-element.html 38270 38271 * css/html.css: Add hgroup as a block element. 38272 * editing/htmlediting.cpp: 38273 (WebCore::validBlockTag): Add hgroupTag. 38274 * html/HTMLElement.cpp: 38275 (WebCore::createTagPriorityMap): Returns 5 for hgroupTag. 38276 (WebCore::blockTagList): Add hgroupTag. 38277 * html/HTMLParser.cpp: 38278 (WebCore::HTMLParser::getNode): Add hgroupTag. 38279 * html/HTMLTagNames.in: Add hgroup. 38280 38281 2010-03-08 Tony Chang <tony (a] chromium.org> 38282 38283 Reviewed by Adam Barth. 38284 38285 https://bugs.webkit.org/show_bug.cgi?id=32131 38286 Crash when inserting an ordered list. 38287 38288 Test: editing/execCommand/insert-ordered-list.html 38289 38290 * editing/CompositeEditCommand.cpp: 38291 (WebCore::CompositeEditCommand::moveParagraphs): 38292 * editing/TextIterator.cpp: 38293 (WebCore::TextIterator::rangeFromLocationAndLength): 38294 38295 2010-03-08 Darin Adler <darin (a] apple.com> 38296 38297 Reviewed by Dan Bernstein. 38298 38299 Added a test for crash when you quit inside an unload handler. 38300 rdar://problem/6958347 38301 38302 * manual-tests/quit-inside-unload.html: Added. 38303 38304 2010-03-08 Darin Adler <darin (a] apple.com> 38305 38306 Reviewed by Jon Honeycutt. 38307 38308 Don't auto-play <audio> and <video> elements loaded in background tabs 38309 https://bugs.webkit.org/show_bug.cgi?id=35886 38310 rdar://problem/7117745 38311 38312 * manual-tests/video-in-non-frontmost-tab.html: Added. 38313 * manual-tests/resources/video-tab.html: Added. 38314 38315 * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and 38316 added the mediaCanStart function as well as a boolean, 38317 m_isWaitingUntilMediaCanStart. 38318 38319 * html/HTMLMediaElement.cpp: 38320 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize 38321 m_isWaitingUntilMediaCanStart. 38322 (WebCore::HTMLMediaElement::~HTMLMediaElement): Call 38323 removeMediaCanStartListener if m_isWaitingUntilMediaCanStart is true. 38324 (WebCore::HTMLMediaElement::loadInternal): Set m_isWaitingUntilMediaCanStart 38325 and call addMediaCanStartListener if canStartMedia is false. 38326 (WebCore::HTMLMediaElement::mediaCanStart): Clear m_isWaitingUntilMediaCanStart 38327 and call loadInternal. 38328 38329 2010-03-08 Csaba Osztrogonc <ossy (a] webkit.org> 38330 38331 [GTK] Unreviewed buildfix after r55688. 38332 38333 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 38334 (webKitWebSrcStart): 38335 38336 2010-03-08 Csaba Osztrogonc <ossy (a] webkit.org> 38337 38338 [GTK] Unreviewed buildfix after r55688. 38339 38340 * platform/network/soup/ResourceHandleSoup.cpp: 38341 (WebCore::): 38342 38343 2010-03-08 Csaba Osztrogonc <ossy (a] webkit.org> 38344 38345 [Qt] Unreviewed buildfix after r55688. 38346 38347 * platform/network/qt/ResourceHandleQt.cpp: 38348 (WebCore::ResourceHandle::loadResourceSynchronously): 38349 38350 2010-03-08 Alexey Proskuryakov <ap (a] apple.com> 38351 38352 Reviewed by Darin Adler. 38353 38354 https://bugs.webkit.org/show_bug.cgi?id=35879 38355 Eliminate m_mightDownloadFromHandle 38356 38357 It was only used on Mac, and unnecessarily complicated the code. 38358 38359 No change in behavior, thus no test. 38360 38361 * loader/MainResourceLoader.cpp: 38362 (WebCore::MainResourceLoader::loadNow): 38363 * loader/ResourceLoader.cpp: 38364 (WebCore::ResourceLoader::load): 38365 * loader/appcache/ApplicationCacheGroup.cpp: 38366 (WebCore::ApplicationCacheGroup::createResourceHandle): 38367 * platform/network/ResourceHandle.cpp: 38368 (WebCore::ResourceHandle::ResourceHandle): 38369 (WebCore::ResourceHandle::create): 38370 * platform/network/ResourceHandle.h: 38371 * platform/network/ResourceHandleInternal.h: 38372 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 38373 * platform/network/mac/ResourceHandleMac.mm: 38374 (WebCore::ResourceHandle::start): 38375 38376 2010-03-02 Peter Kasting <pkasting (a] google.com> 38377 38378 Reviewed by Adam Barth. 38379 38380 Clean up usage of m_failed in open-source image decoders, part 1. 38381 https://bugs.webkit.org/show_bug.cgi?id=35411 38382 38383 Makes setFailed() virtual so subclasses can override it (none do yet) to 38384 do automatic cleanup on failure; makes it return a bool for easy 38385 tailcalling; makes failed() the only way to access m_failed so 38386 subclasses are assured setFailed() won't be bypassed. Plus one or two 38387 other tiny cleanup bits. 38388 38389 Overriding setFailed() is coming in a subsequent patch because it can be 38390 hairy and needs close review. 38391 38392 No functional change, so no tests. 38393 38394 * platform/graphics/qt/ImageDecoderQt.cpp: 38395 (WebCore::ImageDecoderQt::setData): 38396 (WebCore::ImageDecoderQt::frameBufferAtIndex): 38397 (WebCore::ImageDecoderQt::internalDecodeSize): 38398 (WebCore::ImageDecoderQt::internalReadImage): 38399 (WebCore::ImageDecoderQt::internalHandleCurrentImage): 38400 (WebCore::ImageDecoderQt::forceLoadEverything): 38401 (WebCore::ImageDecoderQt::clearPointers): 38402 * platform/graphics/qt/ImageDecoderQt.h: 38403 * platform/image-decoders/ImageDecoder.h: 38404 (WebCore::ImageDecoder::ImageDecoder): 38405 (WebCore::ImageDecoder::setData): 38406 (WebCore::ImageDecoder::setSize): 38407 (WebCore::ImageDecoder::setFailed): 38408 (WebCore::ImageDecoder::failed): 38409 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 38410 (WebCore::BMPImageDecoder::isSizeAvailable): 38411 (WebCore::BMPImageDecoder::frameBufferAtIndex): 38412 (WebCore::BMPImageDecoder::processFileHeader): 38413 * platform/image-decoders/gif/GIFImageDecoder.cpp: 38414 (WebCore::GIFImageDecoder::setData): 38415 (WebCore::GIFImageDecoder::isSizeAvailable): 38416 (WebCore::GIFImageDecoder::frameBufferAtIndex): 38417 (WebCore::GIFImageDecoder::decode): 38418 (WebCore::GIFImageDecoder::initFrameBuffer): 38419 * platform/image-decoders/ico/ICOImageDecoder.cpp: 38420 (WebCore::ICOImageDecoder::decodeAtIndex): 38421 (WebCore::ICOImageDecoder::processDirectory): 38422 (WebCore::ICOImageDecoder::processDirectoryEntries): 38423 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 38424 (WebCore::JPEGImageReader::decode): 38425 (WebCore::JPEGImageDecoder::setData): 38426 (WebCore::JPEGImageDecoder::isSizeAvailable): 38427 (WebCore::JPEGImageDecoder::frameBufferAtIndex): 38428 (WebCore::JPEGImageDecoder::outputScanlines): 38429 (WebCore::JPEGImageDecoder::decode): 38430 * platform/image-decoders/png/PNGImageDecoder.cpp: 38431 (WebCore::decodingFailed): 38432 (WebCore::PNGImageReader::decode): 38433 (WebCore::PNGImageDecoder::setData): 38434 (WebCore::PNGImageDecoder::isSizeAvailable): 38435 (WebCore::PNGImageDecoder::frameBufferAtIndex): 38436 (WebCore::PNGImageDecoder::headerAvailable): 38437 (WebCore::PNGImageDecoder::rowAvailable): 38438 (WebCore::PNGImageDecoder::decode): 38439 * platform/image-decoders/png/PNGImageDecoder.h: 38440 38441 2010-03-08 Chris Marrin <cmarrin (a] apple.com> 38442 38443 Reviewed by Darin Adler. 38444 38445 Disallow WebGL when HW comp is not turned on at runtime 38446 https://bugs.webkit.org/show_bug.cgi?id=35759 38447 38448 When HW comp is turned off with the runtime flag, WebGL would still 38449 create a context, but silently fail to render. This prevents that. 38450 Now if HW comp is turned off getContext('webgl') will return null. 38451 38452 * html/HTMLCanvasElement.cpp: 38453 (WebCore::HTMLCanvasElement::getContext): 38454 38455 2010-03-08 Darin Adler <darin (a] apple.com> 38456 38457 Reviewed by Jon Honeycutt. 38458 38459 https://bugs.webkit.org/show_bug.cgi?id=35876 38460 38461 Fix minor style issues in HTMLMediaElement and classes derived from it. 38462 Made many public members private and protected. 38463 38464 * html/HTMLMediaElement.cpp: 38465 (WebCore::HTMLMediaElement::screenRect): Got rid of a stray "const" and 38466 retstructured the function to use early return and get rid of a local. 38467 38468 * html/HTMLMediaElement.h: Made lots of members private and some 38469 protected. Also use private inheritance instead of public. Removed 38470 some unneeded includes. 38471 38472 * html/HTMLVideoElement.cpp: 38473 (WebCore::HTMLVideoElement::parseMappedAttribute): Use player() instead 38474 of m_player; HTMLMediaElement data members are now private, not protected. 38475 (WebCore::HTMLVideoElement::supportsFullscreen): Ditto. 38476 (WebCore::HTMLVideoElement::videoWidth): Ditto. 38477 (WebCore::HTMLVideoElement::videoHeight): Ditto. 38478 (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Ditto. 38479 (WebCore::HTMLVideoElement::webkitEnterFullScreen): Use isFullscreen() 38480 instead of m_isFullscreen; same reason. 38481 (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto. 38482 (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto. 38483 38484 * html/HTMLVideoElement.h: Removed an unneeded include. Made many 38485 public functions private. Got rid of unused paint function, which was 38486 replaced with paintCurrentFrameInContext a while back. 38487 38488 2010-03-08 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 38489 38490 Reviewed by Xan Lopez. 38491 38492 https://bugs.webkit.org/show_bug.cgi?id=30895 38493 [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk 38494 38495 Gives platforms the ability to exclude parts of an AccessibilityTable 38496 from the accessible hierarchy. 38497 38498 * accessibility/gtk/AccessibilityObjectAtk.cpp: 38499 (AccessibilityObject::accessibilityPlatformIncludesObject): 38500 * accessibility/AccessibilityRenderObject.cpp: 38501 (AccessibilityRenderObject::determineAccessibilityRole): 38502 * accessibility/AccessibilityTable.cpp: 38503 (AccessibilityTable::addChildren): 38504 * accessibility/AccessibilityTableColumn.h: 38505 (accessibilityIsIgnored): 38506 * accessibility/AccessibilityTableHeaderContainer.h: 38507 (accessibilityIsIgnored): 38508 * accessibility/AccessibilityTableRow.cpp: 38509 (accessibilityIsIgnored): 38510 38511 2010-03-08 Jian Li <jianli (a] chromium.org> 38512 38513 No review. Fix build break on Tiger intel release. 38514 38515 * html/Blob.cpp: 38516 * html/Blob.h: 38517 38518 2010-03-02 Adam Treat <atreat (a] rim.com> 38519 38520 Reviewed by Dave Hyatt. 38521 38522 Refactor the HostWindow methods for repaint, scroll, invalidate and blit 38523 of backingstore and window by eliminating the three bools that currently 38524 exist as params of the repaint method. 38525 https://bugs.webkit.org/show_bug.cgi?id=34214 38526 38527 I've added extra methods to provide the hosts with more semantic 38528 information of what is being requested thus eliminating the need for 38529 these bools. 38530 38531 No tests as this change should not introduce any behavior changes in any 38532 of the ports. 38533 38534 https://bugs.webkit.org/show_bug.cgi?id=34214 38535 38536 * loader/EmptyClients.h: 38537 (WebCore::EmptyChromeClient::invalidateContents): 38538 (WebCore::EmptyChromeClient::invalidateWindow): 38539 (WebCore::EmptyChromeClient::invalidateContentsAndWindow): 38540 (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll): 38541 * page/Chrome.cpp: 38542 (WebCore::Chrome::invalidateContents): 38543 (WebCore::Chrome::invalidateWindow): 38544 (WebCore::Chrome::invalidateContentsAndWindow): 38545 (WebCore::Chrome::invalidateContentsForSlowScroll): 38546 * page/Chrome.h: 38547 * page/ChromeClient.h: 38548 * page/FrameView.cpp: 38549 (WebCore::FrameView::invalidateRect): 38550 * platform/HostWindow.h: 38551 * platform/ScrollView.cpp: 38552 (WebCore::ScrollView::scrollContents): 38553 (WebCore::ScrollView::wheelEvent): 38554 38555 2010-03-08 Adam Barth <abarth (a] webkit.org> 38556 38557 Reviewed by Nate Chapin. 38558 38559 [V8] Block popups from inline script 38560 https://bugs.webkit.org/show_bug.cgi?id=35474 38561 38562 Apparently, we're supposed to look at the sourceURL to figure out 38563 whether we're running a script tag or a hyperlink. This logic is 38564 copied from the JSC version. 38565 38566 Test: http/tests/security/popup-blocked-from-window-open.html 38567 38568 * bindings/v8/ScriptController.cpp: 38569 (WebCore::ScriptController::processingUserGesture): 38570 (WebCore::ScriptController::evaluate): 38571 38572 2010-03-08 Stuart Morgan <stuartmorgan (a] chromium.org> 38573 38574 Reviewed by Darin Adler. 38575 38576 Move the details of secure text mode into WebCore/platform. 38577 Move the higher-level logic for secure text mode from Frame 38578 to SelectionController. 38579 38580 https://bugs.webkit.org/show_bug.cgi?id=31265 38581 38582 No new tests: no functional changes. 38583 38584 * WebCore.gypi: 38585 * WebCore.xcodeproj/project.pbxproj: 38586 * dom/Document.cpp: 38587 (WebCore::Document::setUseSecureKeyboardEntryWhenActive): 38588 * editing/SelectionController.cpp: 38589 (WebCore::SelectionController::focusedOrActiveStateChanged): 38590 (WebCore::SelectionController::updateSecureKeyboardEntryIfActive): 38591 (WebCore::SelectionController::setUseSecureKeyboardEntry): 38592 * editing/SelectionController.h: 38593 * page/Frame.cpp: 38594 (WebCore::Frame::setDocument): 38595 * page/Frame.h: 38596 * platform/SecureTextInput.cpp: Added. 38597 (WebCore::enableSecureTextInput): 38598 (WebCore::disableSecureTextInput): 38599 * platform/SecureTextInput.h: Added. 38600 (WebCore::enableSecureTextInput): 38601 (WebCore::disableSecureTextInput): 38602 38603 2010-03-08 Brady Eidson <beidson (a] apple.com> 38604 38605 Reviewed by Anders Carlsson. 38606 38607 Relax the 3rd party cookie policy in cases where it won't add a new tracking vector. 38608 <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824 38609 38610 Test: http/tests/cookies/third-party-cookie-relaxing.html 38611 38612 If the 3rd-party domain in question already has a cookie set, allow changes 38613 by setting the first party url of the request to be the url of the request itself: 38614 * platform/network/cf/ResourceHandleCFNet.cpp: 38615 (WebCore::makeFinalRequest): 38616 38617 Ditto: 38618 * platform/network/mac/ResourceHandleMac.mm: 38619 (WebCore::ResourceHandle::start): 38620 (WebCore::ResourceHandle::loadResourceSynchronously): 38621 38622 I've filed <rdar://problem/7728508> to track changing the policy in our networking layer. 38623 38624 2010-03-08 Jian Li <jianli (a] chromium.org> 38625 38626 Reviewed by Dmitry Titov. 38627 38628 Blob.slice support. 38629 https://bugs.webkit.org/show_bug.cgi?id=32993 38630 38631 The following semantic is adopted per the discussions on public-webapps: 38632 1) File.slice() does a synchronous IO to capture the current size and 38633 modification time and cache them in the resulting Blob. 38634 2) Subsequent Blob operations, like Blob.slice and Blob.size simply 38635 use the cached values. 38636 3) When the underlying file data are accessed, like in XHR.send(), the 38637 UA will check the cached modification time against the current 38638 modification time to determine if the file has been changed or not. 38639 An error or exception will be thrown if needed. 38640 38641 Also add ENABLE_BLOB_SLICE feature define. 38642 38643 Test: http/tests/local/send-sliced-dragged-file.html 38644 38645 * Configurations/FeatureDefines.xcconfig: 38646 * GNUmakefile.am: 38647 * WebCore.pri: 38648 * html/Blob.cpp: 38649 (WebCore::Blob::Blob): 38650 (WebCore::Blob::size): 38651 (WebCore::Blob::slice): 38652 * html/Blob.h: 38653 (WebCore::Blob::start): 38654 (WebCore::Blob::length): 38655 (WebCore::Blob::modificationTime): 38656 * html/Blob.idl: 38657 * platform/network/FormData.cpp: 38658 (WebCore::FormData::deepCopy): 38659 (WebCore::FormData::appendFile): 38660 (WebCore::FormData::appendFileRange): 38661 * platform/network/FormData.h: 38662 (WebCore::FormDataElement::FormDataElement): 38663 (WebCore::operator==): 38664 * platform/network/mac/FormDataStreamMac.mm: 38665 (WebCore::advanceCurrentStream): 38666 (WebCore::openNextStream): 38667 (WebCore::formCreate): 38668 (WebCore::formOpen): 38669 (WebCore::formRead): 38670 (WebCore::setHTTPBody): 38671 * xml/XMLHttpRequest.cpp: 38672 (WebCore::XMLHttpRequest::send): 38673 38674 2010-03-08 Daniel Bates <dbates (a] rim.com> 38675 38676 Reviewed by Simon Fraser. 38677 38678 https://bugs.webkit.org/show_bug.cgi?id=34819 38679 38680 Fixes an issue where we repaint the caret rectangle even if the associated 38681 selection is not in a content editable element. This is extraneous since the 38682 caret is only visible when the selection is in a content editable element. 38683 Hence, we should only repaint the caret rectangle when the associated selection 38684 is in a content editable element. 38685 38686 Note, we always paint the caret when caret browsing is enabled. 38687 38688 Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html 38689 38690 * editing/SelectionController.cpp: 38691 (WebCore::SelectionController::recomputeCaretRect): Modified to call method 38692 SelectionController::shouldRepaintCaret. 38693 (WebCore::SelectionController::shouldRepaintCaret): Added. 38694 (WebCore::SelectionController::invalidateCaretRect): Modified to call method 38695 SelectionController::shouldRepaintCaret. 38696 * editing/SelectionController.h: 38697 38698 2010-03-08 Eric Carlson <eric.carlson (a] apple.com> 38699 38700 Reviewed by Darin Adler. 38701 38702 YouTube HTML5 video never starts playing on Windows 38703 https://bugs.webkit.org/show_bug.cgi?id=33954 38704 38705 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 38706 (WebCore::MediaPlayerPrivate::rfc2616DateStringFromTime): New, create an rfc 2616 formatted 38707 string for an absolute time value. 38708 (WebCore::addCookieParam): New, add a cookie param and value to a string builder. 38709 (WebCore::MediaPlayerPrivate::setUpCookiesForQuickTime): Copy cookies for the movie to 38710 be loaded from CFNetwork into WinINet so they are available when QuickTime tries to 38711 download the movie. 38712 (WebCore::MediaPlayerPrivate::load): Call setupCookiesForQuickTime. 38713 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 38714 38715 2010-03-08 Eric Uhrhane <ericu (a] chromium.org> 38716 38717 Reviewed by David Levin. 38718 38719 Remove the now-redundant Settings fields for the Database 38720 https://bugs.webkit.org/show_bug.cgi?id=35763 38721 38722 No new tests; this code isn't called. 38723 38724 * WebCore.base.exp: 38725 * page/Settings.cpp: 38726 (WebCore::Settings::Settings): 38727 * page/Settings.h: 38728 38729 2010-03-07 David Levin <levin (a] chromium.org> 38730 38731 Chromium Linux build fix. 38732 38733 * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug 38734 only method returns a String. 38735 38736 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38737 38738 Chromium build fix. 38739 38740 * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image. 38741 38742 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38743 38744 Gtk build fix. 38745 38746 * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer. 38747 38748 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38749 38750 Gtk build fix. 38751 38752 * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer. 38753 38754 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38755 38756 Fix builds where USE_CG_SHADING is set. 38757 38758 * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set. 38759 38760 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38761 38762 Windows build fix. Add some required includes. 38763 38764 * platform/graphics/win/ImageCGWin.cpp: 38765 * platform/network/cf/ResourceHandleCFNet.cpp: 38766 * platform/win/ClipboardWin.cpp: 38767 38768 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38769 38770 Gtk build fix. 38771 38772 * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header. 38773 38774 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38775 38776 Qt build fix. 38777 38778 * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer. 38779 38780 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38781 38782 Gtk build fix. 38783 38784 * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image. 38785 38786 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38787 38788 Rubber-stamped by Cameron Zwarich. 38789 38790 Remove unnecessary includes from header files, adding them to the handful of implementation files that need them. 38791 38792 * loader/CachedCSSStyleSheet.cpp: 38793 * loader/CachedFont.cpp: 38794 * loader/CachedImage.cpp: 38795 * loader/CachedResource.cpp: 38796 * loader/CachedResource.h: 38797 * loader/CachedScript.cpp: 38798 * loader/CachedXSLStyleSheet.cpp: 38799 * loader/icon/IconFetcher.cpp: 38800 * loader/loader.cpp: 38801 * page/Page.cpp: 38802 * platform/graphics/Image.cpp: 38803 * platform/graphics/Image.h: 38804 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 38805 * platform/graphics/cg/PDFDocumentImage.cpp: 38806 * platform/graphics/cg/PathCG.cpp: 38807 * platform/graphics/mac/ImageMac.mm: 38808 38809 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38810 38811 Chromium build fix. 38812 38813 * platform/chromium/ChromiumDataObject.h: Include SharedBuffer.h since the inline constructor of this 38814 class means that the pointed-to type of the RefPtr member must be available. 38815 38816 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38817 38818 Qt build fix. 38819 38820 * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String. 38821 38822 2010-03-07 Kent Tamura <tkent (a] chromium.org> 38823 38824 Reviewed by Eric Seidel. 38825 38826 Fix a bug that validity.valueMissing for a radio button with required 38827 in a form element always returns true. 38828 https://bugs.webkit.org/show_bug.cgi?id=35472 38829 38830 Test: fast/forms/ValidityState-valueMissing-radio.html 38831 38832 * html/HTMLInputElement.cpp: 38833 (WebCore::checkedRadioButtons): Move the location to be used by valueMissing(). 38834 (WebCore::HTMLInputElement::valueMissing): 38835 Use checkedRadioButtons() instead of document()->checkedRadioButtons(). 38836 38837 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38838 38839 Rubber-stamped by Cameron Zwarich. 38840 38841 Remove unnecessary includes from header files, adding them to the handful of implementation files that need them. 38842 38843 * bindings/objc/DOM.mm: 38844 * loader/CachedImage.h: 38845 * loader/EmptyClients.h: 38846 * platform/graphics/GlyphPageTreeNode.cpp: 38847 * platform/text/CString.h: 38848 * platform/text/String.cpp: 38849 * platform/text/mac/TextCodecMac.cpp: 38850 * svg/graphics/SVGResourceFilter.h: 38851 * svg/graphics/filters/SVGFEImage.h: 38852 38853 2010-03-07 Mark Rowe <mrowe (a] apple.com> 38854 38855 Completely remove two files that were deleted in r55635 from the Xcode project. 38856 38857 * WebCore.xcodeproj/project.pbxproj: 38858 38859 2010-03-07 Sam Weinig <sam (a] webkit.org> 38860 38861 Reviewed by Dan Bernstein. 38862 38863 Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa() 38864 https://bugs.webkit.org/show_bug.cgi?id=35848 38865 38866 - Take the opportunity to fully autogenerate window.atob() and window.btoa(). 38867 38868 * bindings/js/JSDOMWindowCustom.cpp: 38869 * page/DOMWindow.cpp: 38870 (WebCore::DOMWindow::btoa): 38871 (WebCore::DOMWindow::atob): 38872 * page/DOMWindow.idl: 38873 38874 2010-03-07 Dan Bernstein <mitz (a] apple.com> 38875 38876 Reviewed by Simon Fraser. 38877 38878 <rdar://problem/7722008> Column breaking ignores floats 38879 https://bugs.webkit.org/show_bug.cgi?id=35837 38880 38881 Test: fast/multicol/float-truncation.html 38882 38883 Introduce an earlier column-break if otherwise a float that could fit 38884 inside a single column will be split between columns. 38885 38886 It is still possible for floats to be needlessly broken if initially 38887 they fit in the column, but normal flow truncation then shortens the 38888 column. 38889 38890 * rendering/RenderBlock.cpp: 38891 (WebCore::RenderBlock::visibleTopOfHighestFloatExtendingBelow): Added. 38892 Returns the visible top of the highest descendant float that visibly 38893 extends below the given y offset, ignoring floats that are taller than 38894 the given maximum height. 38895 (WebCore::RenderBlock::layoutColumns): If the initial column height 38896 would cause a float to be split, truncate above the float. 38897 * rendering/RenderBlock.h: 38898 38899 2010-03-07 Dmitry Titov <dimich (a] chromium.org> 38900 38901 Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html. 38902 38903 REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard 38904 https://bugs.webkit.org/show_bug.cgi?id=35819 38905 38906 * Android.jscbindings.mk: 38907 * Android.v8bindings.mk: 38908 * GNUmakefile.am: 38909 * WebCore.gypi: 38910 * WebCore.pro: 38911 * WebCore.vcproj/WebCore.vcproj: 38912 * WebCore.xcodeproj/project.pbxproj: 38913 * bindings/js/JSDOMWindowCustom.cpp: 38914 * bindings/js/JSDatabaseCallback.cpp: Removed. 38915 * bindings/js/JSDatabaseCallback.h: Removed. 38916 * bindings/v8/custom/V8DOMWindowCustom.cpp: 38917 * bindings/v8/custom/V8DatabaseCallback.cpp: Removed. 38918 * bindings/v8/custom/V8DatabaseCallback.h: Removed. 38919 * dom/Document.cpp: 38920 (WebCore::Document::postTask): 38921 * page/DOMWindow.cpp: 38922 (WebCore::DOMWindow::openDatabase): 38923 * page/DOMWindow.h: 38924 * page/DOMWindow.idl: 38925 * storage/Database.cpp: 38926 (WebCore::Database::openDatabase): 38927 (WebCore::Database::Database): 38928 (WebCore::Database::performOpenAndVerify): 38929 * storage/Database.h: 38930 * storage/DatabaseCallback.h: Removed. 38931 * workers/WorkerContext.cpp: 38932 (WebCore::WorkerContext::openDatabase): 38933 * workers/WorkerContext.h: 38934 38935 2010-03-06 Mark Rowe <mrowe (a] apple.com> 38936 38937 Rubber-stamped by Sam Weinig. 38938 38939 Remove unnecessary includes of wtf/Platform.h. This is already pulled in by config.h. 38940 38941 * accessibility/AccessibilityObject.h: 38942 * dom/XMLTokenizer.cpp: 38943 * dom/XMLTokenizerLibxml2.cpp: 38944 * dom/XMLTokenizerQt.cpp: 38945 * editing/TextAffinity.h: 38946 * loader/FrameLoaderClient.h: 38947 * page/FocusController.cpp: 38948 * page/FrameTree.cpp: 38949 * page/Geolocation.h: 38950 * page/PositionCallback.h: 38951 * page/PositionErrorCallback.h: 38952 * platform/Cursor.h: 38953 * platform/FileSystem.h: 38954 * platform/FloatConversion.h: 38955 * platform/KeyboardCodes.h: 38956 * platform/PlatformKeyboardEvent.h: 38957 * platform/PlatformTouchPoint.h: 38958 * platform/SuddenTermination.h: 38959 * platform/Widget.h: 38960 * platform/graphics/Color.h: 38961 * platform/graphics/FloatPoint.h: 38962 * platform/graphics/FloatSize.h: 38963 * platform/graphics/GraphicsContext.h: 38964 * platform/graphics/IntPoint.h: 38965 * platform/graphics/IntRect.h: 38966 * platform/graphics/IntSize.h: 38967 * platform/graphics/openvg/PainterOpenVG.h: 38968 * platform/graphics/openvg/SurfaceOpenVG.h: 38969 * platform/network/ResourceHandleClient.h: 38970 * platform/text/Base64.cpp: 38971 * rendering/style/SVGRenderStyle.h: 38972 * xml/XSLTProcessor.cpp: 38973 * xml/XSLTProcessorLibxslt.cpp: 38974 * xml/XSLTProcessorQt.cpp: 38975 38976 2010-03-06 Sam Weinig <sam (a] webkit.org> 38977 38978 Reviewed by Dan Bernstein. 38979 38980 Move debug only JS wrapper-set tracking code into its own file. 38981 https://bugs.webkit.org/show_bug.cgi?id=35839 38982 38983 * GNUmakefile.am: Added new files. 38984 * WebCore.gypi: Ditto. 38985 * WebCore.pro: Ditto. 38986 * WebCore.vcproj/WebCore.vcproj: Ditto. 38987 * WebCore.xcodeproj/project.pbxproj: Ditto. 38988 38989 * bindings/js/JSDOMBinding.cpp: 38990 (WebCore::cacheDOMObjectWrapper): 38991 (WebCore::forgetDOMObject): 38992 (WebCore::forgetDOMNode): 38993 (WebCore::cacheDOMNodeWrapper): 38994 (WebCore::takeWrappers): 38995 (WebCore::updateDOMNodeDocument): 38996 Updated for new signature for willCacheWrapper and didUncacheWrapper. 38997 38998 * bindings/js/JSDOMWrapper.cpp: Added. 38999 (WebCore::DOMObject::~DOMObject): 39000 (WebCore::DOMObject::defineOwnProperty): 39001 Moved from JSDOMBinding.cpp. 39002 39003 * bindings/js/JSDebugWrapperSet.cpp: Added. 39004 (WebCore::JSDebugWrapperSet::shared): 39005 (WebCore::JSDebugWrapperSet::JSDebugWrapperSet): 39006 * bindings/js/JSDebugWrapperSet.h: Added. 39007 (WebCore::JSDebugWrapperSet::add): 39008 (WebCore::JSDebugWrapperSet::remove): 39009 (WebCore::JSDebugWrapperSet::contains): 39010 (WebCore::JSDebugWrapperSet::willCacheWrapper): 39011 (WebCore::JSDebugWrapperSet::didUncacheWrapper): 39012 Moved from JSDOMBinding.cpp. 39013 39014 2010-03-06 Sam Weinig <sam (a] webkit.org> 39015 39016 Rubber-stamped by Dan Bernstein. 39017 39018 Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into 39019 their own files. 39020 39021 * GNUmakefile.am: 39022 * WebCore.gypi: 39023 * WebCore.pro: 39024 * WebCore.vcproj/WebCore.vcproj: 39025 * WebCore.xcodeproj/project.pbxproj: 39026 * bindings/js/DOMObjectHashTableMap.cpp: Copied from bindings/js/JSDOMBinding.cpp. 39027 * bindings/js/DOMObjectHashTableMap.h: Copied from bindings/js/JSDOMBinding.h. 39028 (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): 39029 (WebCore::DOMObjectHashTableMap::get): 39030 * bindings/js/DOMWrapperWorld.cpp: Copied from bindings/js/JSDOMBinding.cpp. 39031 (WebCore::forgetWorldOfDOMNodesForDocument): 39032 * bindings/js/DOMWrapperWorld.h: Copied from bindings/js/JSDOMBinding.h. 39033 (WebCore::DOMWrapperWorld::create): 39034 (WebCore::DOMWrapperWorld::rememberDocument): 39035 (WebCore::DOMWrapperWorld::forgetDocument): 39036 (WebCore::DOMWrapperWorld::isNormal): 39037 (WebCore::debuggerWorld): 39038 (WebCore::pluginWorld): 39039 (WebCore::currentWorld): 39040 (WebCore::Document::getWrapperCache): 39041 * bindings/js/JSDOMBinding.cpp: 39042 * bindings/js/JSDOMBinding.h: 39043 * bindings/js/JSDOMWindowBase.cpp: 39044 * bindings/js/ScriptController.cpp: 39045 * bindings/js/WebCoreJSClientData.h: Copied from bindings/js/JSDOMBinding.h. 39046 (WebCore::WebCoreJSClientData::WebCoreJSClientData): 39047 (WebCore::WebCoreJSClientData::~WebCoreJSClientData): 39048 (WebCore::WebCoreJSClientData::normalWorld): 39049 (WebCore::WebCoreJSClientData::getAllWorlds): 39050 (WebCore::WebCoreJSClientData::rememberWorld): 39051 (WebCore::WebCoreJSClientData::forgetWorld): 39052 * bindings/js/WorkerScriptController.cpp: 39053 39054 2010-03-06 Dan Bernstein <mitz (a] apple.com> 39055 39056 Rubber-stamped by Sam Weinig. 39057 39058 Remove an unused method. 39059 39060 * rendering/RenderBlock.cpp: 39061 (WebCore::RenderBlock::layoutBlock): Changed comment. 39062 (WebCore::RenderBlock::floatRect): Removed. 39063 * rendering/RenderBlock.h: Removed floatRect(). 39064 39065 2010-03-06 Pavel Feldman <pfeldman (a] chromium.org> 39066 39067 Reviewed by Timothy Hatcher. 39068 39069 Web Inspector: make timeline overview bars transparent to mouse events. 39070 39071 https://bugs.webkit.org/show_bug.cgi?id=35832 39072 39073 * inspector/front-end/inspector.css: 39074 39075 2010-03-06 Pavel Feldman <pfeldman (a] chromium.org> 39076 39077 Reviewed by Jeremy Orlow. 39078 39079 Web Inspector: switching to/from Timeline Panel moves scroller. 39080 (Also added couple of record details items as I was fixing it). 39081 39082 https://bugs.webkit.org/show_bug.cgi?id=35829 39083 39084 * English.lproj/localizedStrings.js: 39085 * inspector/front-end/TimelinePanel.js: 39086 (WebInspector.TimelinePanel): 39087 (WebInspector.TimelinePanel.prototype.get defaultFocusedElement): 39088 (WebInspector.TimelinePanel.prototype.show): 39089 (WebInspector.TimelinePanel.prototype._refreshRecords): 39090 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 39091 39092 2010-03-06 Patrick Gansterer <paroga (a] paroga.com> 39093 39094 Reviewed by Eric Seidel. 39095 39096 Removed unnecessary WinCE file. 39097 The same functionality is provided by platform/win/SystemTimeWin.cpp. 39098 https://bugs.webkit.org/show_bug.cgi?id=35799 39099 39100 * platform/wince/SystemTimeWince.cpp: Removed. 39101 39102 2010-03-06 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 39103 39104 Reviewed by Eric Seidel. 39105 39106 https://bugs.webkit.org/show_bug.cgi?id=30895 39107 [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk 39108 39109 This completes the fixing of the Atk table hierarchy which was started 39110 in bug #35418. 39111 39112 * accessibility/gtk/AccessibilityObjectAtk.cpp: 39113 (AccessibilityObject::accessibilityPlatformIncludesObject): 39114 * accessibility/AccessibilityRenderObject.cpp: 39115 (AccessibilityRenderObject::determineAccessibilityRole): 39116 39117 2010-03-06 MORITA Hajime <morrita (a] google.com> 39118 39119 Reviewed by Darin Adler. 39120 39121 Moved implementations of window.btoa() and window.atob() from 39122 JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow 39123 functions instead of having a separate implementation. As a side effect, the 39124 error message has changed from "Cannot decode base64" to one that 39125 indicates DOM Exception, which is compatible to Firefox. 39126 39127 Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow 39128 https://bugs.webkit.org/show_bug.cgi?id=35723 39129 39130 No new test. No new functionality. 39131 39132 * bindings/js/JSDOMWindowCustom.cpp: 39133 (WebCore::JSDOMWindow::atob): 39134 (WebCore::JSDOMWindow::btoa): 39135 Moved conversion code to DOMWindow and invoke it. Argument 39136 checking remains here. 39137 39138 * bindings/v8/custom/V8DOMWindowCustom.cpp: 39139 (WebCore::V8DOMWindow::atobCallback): 39140 (WebCore::V8DOMWindow::btoaCallback): 39141 Remove conversion code and call DOMWindow APIs. Although argument 39142 checking remains here. 39143 39144 * page/DOMWindow.cpp: 39145 (WebCore::hasMultibyteCharacters): 39146 (WebCore::DOMWindow::btoa): 39147 (WebCore::DOMWindow::atob): 39148 * page/DOMWindow.h: 39149 Moved Conversion code from JSDOMWindow, modifing to fit JSC independent. 39150 39151 2010-03-06 Yuta Kitamura <yutak (a] chromium.org> 39152 39153 Reviewed by Eric Seidel. 39154 39155 Fix decoration position in search input field. 39156 39157 This patch fixes rendering of input field of "search" type, whose decoration 39158 (loupe icon and close button) was wrongly positioned when the input field was 39159 contained in a block with -webkit-transform property. 39160 39161 Chromium bug: http://crbug.com/20439 39162 39163 [Chromium] Decoration of "search" input field is wrongly rendered 39164 https://bugs.webkit.org/show_bug.cgi?id=30245 39165 39166 No new tests, since this patch fixes an existing test 39167 (fast/forms/search-transformed.html) in Chromium layout tests. 39168 39169 * rendering/RenderThemeChromiumSkia.cpp: 39170 (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): Added. This method 39171 does almost the same thing as RenderThemeMac::convertToPaintingRect. 39172 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): The position 39173 of the icon should not depend on its absolute position. 39174 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): Ditto. 39175 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Ditto. 39176 * rendering/RenderThemeChromiumSkia.h: Added new method. 39177 39178 2010-03-06 Ilya Tikhonovsky <loislo (a] chromium.org> 39179 39180 Reviewed by Pavel Feldman. 39181 39182 Web Inspector: in Timeline panel, click followed with mouse move resets popover. 39183 39184 https://bugs.webkit.org/show_bug.cgi?id=35827 39185 39186 * inspector/front-end/Popover.js: 39187 (WebInspector.PopoverHelper.prototype._mouseDown): 39188 (WebInspector.PopoverHelper.prototype._mouseMove): 39189 (WebInspector.PopoverHelper.prototype._handleMouseAction): 39190 39191 2010-03-05 Tony Chang <tony (a] chromium.org> 39192 39193 Reviewed by Eric Seidel. 39194 39195 https://bugs.webkit.org/show_bug.cgi?id=33247 39196 Backwards cursor movement incorrect when previous block ends with <br>. 39197 39198 If the cursor is trying to move into a node that has a height of 0, 39199 skip over it. 39200 39201 Test: editing/execCommand/move-selection-back-line.html 39202 39203 * editing/visible_units.cpp: 39204 (WebCore::previousLinePosition): 39205 39206 2010-03-05 Andrey Kosyakov <caseq (a] chromium.org> 39207 39208 Reviewed by Eric Seidel. 39209 39210 Enable resource loading callback while loading worker scripts 39211 https://bugs.webkit.org/show_bug.cgi?id=35744 39212 39213 * workers/WorkerScriptLoader.cpp: 39214 (WebCore::WorkerScriptLoader::loadSynchronously): 39215 (WebCore::WorkerScriptLoader::loadAsynchronously): 39216 39217 2010-03-05 Chris Fleizach <cfleizach (a] apple.com> 39218 39219 Reviewed by Eric Seidel. 39220 39221 WAI-ARIA live region doesn't appear when <div> only has a <div> child 39222 https://bugs.webkit.org/show_bug.cgi?id=35751 39223 39224 Elements should not be ignored if they carry ARIA attributes in them. 39225 39226 Test: platform/mac/accessibility/div-containing-div-with-aria.html 39227 39228 * accessibility/AccessibilityObject.cpp: 39229 (WebCore::AccessibilityObject::supportsARIAAttributes): 39230 * accessibility/AccessibilityObject.h: 39231 (WebCore::AccessibilityObject::supportsARIADropping): 39232 (WebCore::AccessibilityObject::supportsARIADragging): 39233 * accessibility/AccessibilityRenderObject.cpp: 39234 (WebCore::AccessibilityRenderObject::supportsARIADropping): 39235 (WebCore::AccessibilityRenderObject::supportsARIADragging): 39236 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 39237 * accessibility/AccessibilityRenderObject.h: 39238 39239 2010-03-05 Dmitry Titov <dimich (a] chromium.org> 39240 39241 Reviewed by Oliver Hunt. 39242 39243 Add a manual test for crash in DOMWindow::clearTimeout when DOMWindow is not connected to Frame 39244 https://bugs.webkit.org/show_bug.cgi?id=32353 39245 39246 * manual-tests/clearTimeout-crash-bug29832.html: Added. 39247 39248 2010-03-05 Dmitry Titov <dimich (a] chromium.org> 39249 39250 Reviewed by David Levin. 39251 39252 [v8] Remove wrong assert in GC callback 39253 https://bugs.webkit.org/show_bug.cgi?id=35757 39254 39255 Test: fast/workers/wrapper-map-gc.html 39256 39257 * bindings/v8/DOMData.h: 39258 (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread. 39259 39260 2010-03-05 Alex Milowski <alex (a] milowski.com> 39261 39262 Reviewed by Kenneth Rohde Christiansen. 39263 39264 Added support for row layout with stretchy operators and 39265 adjusted the over spacing for over and underover accordingly. 39266 39267 Tests: mathml/presentation/mo.xhtml 39268 mathml/presentation/row.xhtml 39269 39270 * WebCore.xcodeproj/project.pbxproj: 39271 * mathml/MathMLInlineContainerElement.cpp: 39272 * mathml/MathMLTextElement.cpp: 39273 * mathml/RenderMathMLMath.cpp: Added. 39274 * mathml/RenderMathMLMath.h: Added. 39275 * mathml/RenderMathMLOperator.cpp: Added. 39276 * mathml/RenderMathMLOperator.h: Added. 39277 * mathml/RenderMathMLRow.cpp: Added. 39278 * mathml/RenderMathMLRow.h: Added. 39279 * mathml/RenderMathMLUnderOver.cpp: 39280 * mathml/mathtags.in: 39281 39282 2010-03-05 Dean Jackson <dino (a] apple.com> 39283 39284 Reviewed by Simon Fraser. 39285 39286 https://bugs.webkit.org/show_bug.cgi?id=35772 39287 Animation fill modes should be supported in the shorthand property 39288 39289 Add CSSPropertyWebkitAnimationFillMode to the list of properties 39290 evaluated in the -webkit-animation shorthand. 39291 39292 Test: animations/animation-shorthand.html 39293 39294 * css/CSSParser.cpp: 39295 (WebCore::CSSParser::parseAnimationShorthand): 39296 39297 2010-03-05 Dean Jackson <dino (a] apple.com> 39298 39299 Reviewed by Simon Fraser 39300 39301 https://bugs.webkit.org/show_bug.cgi?id=35815 39302 Animation Fill Modes fail on Windows 39303 39304 * css/CSSComputedStyleDeclaration.cpp: 39305 * css/CSSStyleSelector.cpp: 39306 * platform/graphics/mac/GraphicsLayerCA.mm: 39307 - use new enum value 39308 * platform/animation/Animation.h: 39309 - change bitfield type 39310 * rendering/style/RenderStyleConstants.h: 39311 - add new enum for fill mode 39312 39313 2010-03-05 Csaba Osztrogonc <ossy (a] webkit.org> 39314 39315 Unreviewed buildfix after r55593. (To fix Qt --minimal build.) 39316 39317 * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added. 39318 39319 2010-03-05 Simon Fraser <simon.fraser (a] apple.com> 39320 39321 Reviewed by Darin Adler. 39322 39323 ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com 39324 https://bugs.webkit.org/show_bug.cgi?id=34065 39325 <rdar://problem/7573509> 39326 39327 Fix one instance of this assertion (not necessarily the one seen on hulu.com). 39328 39329 If the layer that clippingRoot() is being called on is itself compositing, 39330 then it acts as the clipping root. Without this, calls to RenderLayer::childrenClipRect() 39331 and RenderLayer::selfClipRect() via FrameView::windowClipRectForLayer(), for plug-ins, 39332 caused the caching of an incorrect clip rects root. 39333 39334 Test: compositing/geometry/object-clip-rects-assertion.html 39335 39336 * rendering/RenderLayer.cpp: 39337 (WebCore::RenderLayer::clippingRoot): 39338 39339 2010-03-05 Simon Fraser <simon.fraser (a] apple.com> 39340 39341 Reviewed by Dan Bernstein. 39342 39343 Child clipping compositing layers don't show the blue debug color 39344 https://bugs.webkit.org/show_bug.cgi?id=35807 39345 39346 Set a layer owner on the GraphicsLayers created for clipping children, 39347 so that they can get to the debug settings that give them the blue color. 39348 39349 * rendering/RenderLayerBacking.cpp: 39350 (WebCore::RenderLayerBacking::updateClippingLayers): 39351 39352 2010-03-05 Simon Fraser <simon.fraser (a] apple.com> 39353 39354 Reviewed by Dan Bernstein. 39355 39356 MobileMe movie page is missing playback controls 39357 https://bugs.webkit.org/show_bug.cgi?id=35805 39358 <rdar://problem/7653169> 39359 39360 On pages with video or plug-ins, we run overlap tests to determine which layers 39361 need to be composited. There was an ordering dependency bug in 39362 RenderLayerCompositor::computeCompositingRequirements() that caused us to fail 39363 to detect that a layer needed to be composited, resulting in page content 39364 not being visible. 39365 39366 Specifically, layer->setHasCompositingDescendant() can change the answer 39367 to needsToBeComposited(), when a layer has to clip compositing descendants. 39368 So if we change setHasCompositingDescendant(), then we need to re-test 39369 clipsCompositingDescendants() and add the layer to the overlap map if so. 39370 39371 Test: compositing/overflow/overflow-compositing-descendant.html 39372 39373 * rendering/RenderLayerCompositor.cpp: 39374 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 39375 39376 2010-03-04 Dumitru Daniliuc <dumi (a] chromium.org> 39377 39378 Reviewed by Adam Barth. 39379 39380 Adding support for the optional creation callback that could be 39381 passed to openDatabase(). 39382 39383 Test: storage/open-database-creation-callback.html 39384 39385 https://bugs.webkit.org/show_bug.cgi?id=34726 39386 39387 * Android.jscbindings.mk 39388 * Android.v8bindings.mk 39389 * GNUmakefile.am: 39390 * WebCore.gypi: 39391 * WebCore.pro: 39392 * WebCore.vcproj/WebCore.vcproj: 39393 * WebCore.xcodeproj/project.pbxproj: 39394 * bindings/js/JSDOMWindowCustom.cpp: 39395 (WebCore::JSDOMWindow::openDatabase): 39396 * bindings/js/JSDatabaseCallback.cpp: Added. 39397 (WebCore::JSDatabaseCallback::JSDatabaseCallback): 39398 (WebCore::JSDatabaseCallback::~JSDatabaseCallback): 39399 (WebCore::JSDatabaseCallback::handleEvent): 39400 * bindings/js/JSDatabaseCallback.h: Added. 39401 (WebCore::JSDatabaseCallback::create): 39402 * bindings/v8/custom/V8DOMWindowCustom.cpp: 39403 (WebCore::V8DOMWindow::openDatabaseCallback): 39404 * bindings/v8/custom/V8DatabaseCallback.cpp: Added. 39405 (WebCore::V8DatabaseCallback::V8DatabaseCallback): 39406 (WebCore::V8DatabaseCallback::~V8DatabaseCallback): 39407 (WebCore::V8DatabaseCallback::handleEvent): 39408 * bindings/v8/custom/V8DatabaseCallback.h: Added. 39409 (WebCore::V8DatabaseCallback::create): 39410 * page/DOMWindow.cpp: 39411 (WebCore::DOMWindow::openDatabase): 39412 * page/DOMWindow.h: 39413 * page/DOMWindow.idl: 39414 * storage/Database.cpp: 39415 (WebCore::DatabaseCreationCallbackTask::create): 39416 (WebCore::DatabaseCreationCallbackTask::performTask): 39417 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): 39418 (WebCore::Database::openDatabase): 39419 (WebCore::Database::Database): 39420 (WebCore::Database::performOpenAndVerify): 39421 (WebCore::Database::performCreationCallback): 39422 * storage/Database.h: 39423 (WebCore::Database::isNew): 39424 * storage/DatabaseCallback.h: Added. 39425 (WebCore::DatabaseCallback::~DatabaseCallback): 39426 * workers/WorkerContext.cpp: 39427 (WebCore::WorkerContext::openDatabase): 39428 * workers/WorkerContext.h: 39429 39430 2010-03-05 Chris Marrin <cmarrin (a] apple.com> 39431 39432 Reviewed by Simon Fraser. 39433 39434 Fixed infinite recursion of composited video on Windows 39435 https://bugs.webkit.org/show_bug.cgi?id=35798 39436 39437 Due to a change in the way we get the platformLayer (WKCACFLayer) 39438 for video, the mediaplayer was in an infinite loop with WKCACFLayer 39439 bouncing notifySyncRequired calls back and forth. After discussion 39440 we decided it would be better to avoid notifySyncRequired entirely, 39441 which would walk up through WebCore calls and back down through 39442 WebKit calls to tell the WKCACFLayerRenderer to kick off a render cycle. 39443 39444 I subclassed WKCACFLayer into a WKCACFRootLayer which has a pointer to 39445 the WKCACFLayerRenderer. When something changes, we get the rootLayer() 39446 by walking up the layers and make a virtual call which WKCACFRootLayer 39447 implements to tell WKCACFLayerRenderer to render. 39448 39449 I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF 39450 now makes a WebLayer subclass which implements the drawInContext() 39451 virtual method. 39452 39453 I also had to add protection to the platformLayer() call in 39454 MediaPlayerPrivateQuickTimeWin because it gets called earlier than before 39455 when the layer is still null. 39456 39457 * platform/graphics/win/GraphicsLayerCACF.cpp:Implement WebLayer 39458 (WebCore::WebLayer::create): 39459 (WebCore::WebLayer::drawInContext): 39460 (WebCore::WebLayer::WebLayer): 39461 (WebCore::GraphicsLayerCACF::GraphicsLayerCACF): 39462 (WebCore::GraphicsLayerCACF::setNeedsDisplayInRect): 39463 (WebCore::GraphicsLayerCACF::updateLayerPreserves3D): 39464 (WebCore::GraphicsLayerCACF::updateContentsImage): 39465 * platform/graphics/win/GraphicsLayerCACF.h: 39466 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:Protect platformLayer from a null qtLayer 39467 (WebCore::MediaPlayerPrivate::platformLayer): 39468 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:Got rid of no longer needed method 39469 (WebCore::MediaPlayerPrivate::notifyAnimationStarted): 39470 * platform/graphics/win/WKCACFLayer.cpp:Got rid of GraphicsLayer dependency. Made virtual. 39471 (WebCore::displayCallback): 39472 (WebCore::WKCACFLayer::create): 39473 (WebCore::WKCACFLayer::WKCACFLayer): 39474 (WebCore::WKCACFLayer::setNeedsCommit): 39475 (WebCore::WKCACFLayer::setNeedsDisplay): 39476 * platform/graphics/win/WKCACFLayer.h: 39477 (WebCore::WKCACFLayer::setNeedsRender): 39478 (WebCore::WKCACFLayer::drawInContext): 39479 * platform/graphics/win/WKCACFLayerRenderer.cpp:Create WKCACFRootLayer which tells WKCACFLayerRenderer to render 39480 (WebCore::WKCACFRootLayer::WKCACFRootLayer): 39481 (WebCore::WKCACFRootLayer::create): 39482 (WebCore::WKCACFRootLayer::setNeedsRender): 39483 (WebCore::WKCACFRootLayer::setNeedsDisplay): 39484 (WebCore::WKCACFLayerRenderer::rootLayer): 39485 (WebCore::WKCACFLayerRenderer::setRootChildLayer): 39486 (WebCore::WKCACFLayerRenderer::setNeedsDisplay): 39487 (WebCore::WKCACFLayerRenderer::createRenderer): 39488 * platform/graphics/win/WKCACFLayerRenderer.h: 39489 39490 2010-03-05 Dimitri Glazkov <dglazkov (a] chromium.org> 39491 39492 Reviewed by David Levin. 39493 39494 [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible. 39495 https://bugs.webkit.org/show_bug.cgi?id=35797 39496 39497 No new tests, this is a latent compile break. 39498 39499 * WebCore.gypi: 39500 39501 2010-03-04 Eric Carlson <eric.carlson (a] apple.com> 39502 39503 Reviewed by Adele Peterson. 39504 39505 <rdar://problem/7718442> Implement 'preload=none' 39506 https://bugs.webkit.org/show_bug.cgi?id=35789 39507 39508 Don't load any media data when preload is 'none'. 39509 39510 Test: media/video-preload.html 39511 39512 * html/HTMLMediaElement.cpp: 39513 (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method 39514 when autoplay is set. 39515 39516 * platform/graphics/MediaPlayer.cpp: 39517 (WebCore::MediaPlayer::setPreload): Set m_preload so we have the correct value when 39518 the media engine is created. 39519 39520 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 39521 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 39522 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_preload. 39523 (WebCore::MediaPlayerPrivate::resumeLoad): New, kick off postponed a load. 39524 (WebCore::MediaPlayerPrivate::load): Do nothing if preload is 'none' 39525 (WebCore::MediaPlayerPrivate::loadInternal): New, complete loading. 39526 (WebCore::MediaPlayerPrivate::prepareToPlay): New, resume a postponed load as someone 39527 has called play(). 39528 (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload. 39529 39530 2010-03-04 Nate Chapin <japhet (a] chromium.org> 39531 39532 Reviewed by Dimitri Glazkov. 39533 39534 [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning. 39535 39536 https://bugs.webkit.org/show_bug.cgi?id=35697 39537 39538 * bindings/scripts/CodeGeneratorV8.pm: Remove unused code, fix style issues, make less hard-coded. 39539 * bindings/v8/custom/V8DOMWindowCustom.cpp: 39540 (WebCore::V8DOMWindow::addEventListenerCallback): 39541 (WebCore::V8DOMWindow::removeEventListenerCallback): 39542 39543 2010-03-05 Pavel Feldman <pfeldman (a] chromium.org> 39544 39545 Not reviewed. Roll back r55522 since it regreses performance 39546 according to chromium's page cycler. 39547 39548 https://bugs.webkit.org/show_bug.cgi?id=35568 39549 39550 2010-03-05 Dean Jackson <dino (a] apple.com> 39551 39552 Reviewed by Simon Fraser and Chris Marrin. 39553 39554 Bug 26869: Add fill modes for CSS Animations 39555 https://bugs.webkit.org/show_bug.cgi?id=26869 39556 39557 Tests: animations/fill-mode-removed.html 39558 animations/fill-mode-transform.html 39559 animations/fill-mode.html 39560 39561 * css/CSSComputedStyleDeclaration.cpp: 39562 * css/CSSParser.cpp: 39563 * css/CSSParser.h: 39564 * css/CSSPropertyNames.in: 39565 * css/CSSStyleSelector.cpp: 39566 * css/CSSStyleSelector.h: 39567 * css/CSSValueKeywords.in: 39568 - parse, assign and retrieve the value of the new 39569 -webkit-animation-fill-mode property 39570 * page/animation/AnimationBase.cpp: 39571 * page/animation/AnimationBase.h: 39572 - new state in animation engine for a finished animation 39573 that is "filling" forwards in time. This allows the 39574 engine to keep the animation around and not revert to the 39575 old style. 39576 - update the timer code to indicate it doesn't need to 39577 keep animating if it is filling 39578 - now that animations can extend beyond their elapsed time, 39579 make sure progress works correctly with iteration counts 39580 * page/animation/KeyframeAnimation.cpp: 39581 (WebCore::KeyframeAnimation::animate): 39582 - ensure correct style value is returned at the right 39583 time by checking for fill mode 39584 (WebCore::KeyframeAnimation::onAnimationEnd): 39585 - continue to send the end event, but only remove the 39586 animation if it isn't filling forwards 39587 * platform/animation/Animation.cpp: 39588 * platform/animation/Animation.h: 39589 - new fill mode member property 39590 * platform/animation/AnimationList.cpp: 39591 - ensure the fill mode is propagated to a list of style valus 39592 * platform/graphics/mac/GraphicsLayerCA.mm: 39593 - make hardware layers use Core Animation's fill mode 39594 39595 2010-03-05 Ilya Tikhonovsky <loislo (a] chromium.org> 39596 39597 Reviewed by Pavel Feldman. 39598 39599 Web Inspector: Do not show link helper in popovers and/or for external resources. 39600 39601 https://bugs.webkit.org/show_bug.cgi?id=35785 39602 39603 * English.lproj/localizedStrings.js: 39604 * inspector/front-end/ResourcesPanel.js: 39605 (WebInspector.ResourcesPanel.prototype.canShowSourceLine): 39606 * inspector/front-end/ScriptsPanel.js: 39607 (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine): 39608 * inspector/front-end/TimelinePanel.js: 39609 (WebInspector.TimelinePanel.prototype.hide): 39610 * inspector/front-end/inspector.js: 39611 (WebInspector.documentMouseOver): 39612 (WebInspector.documentClick.followLink): 39613 (WebInspector.documentClick): 39614 (WebInspector.addMainEventListeners): 39615 39616 2010-03-05 Fumitoshi Ukai <ukai (a] chromium.org> 39617 39618 Reviewed by Alexey Proskuryakov. 39619 39620 WebSocket onmessageerror event handler 39621 https://bugs.webkit.org/show_bug.cgi?id=35570 39622 39623 Test: websocket/tests/error-detect.html 39624 39625 * websockets/WebSocket.cpp: 39626 (WebCore::WebSocketChannel::didConnect): assert scriptExecutionContext. 39627 (WebCore::WebSocketChannel::didReceiveMessage): assert scriptExecutionContext. 39628 (WebCore::WebSocket::didReceiveMessageError): 39629 (WebCore::WebSocket::didClose): assert scriptExecutionContext. 39630 * websockets/WebSocket.h: 39631 * websockets/WebSocket.idl: Add onerror event listener 39632 * websockets/WebSocketChannel.cpp: 39633 (WebCore::WebSocketChannel::didReceiveData): call didReceiveMessageError if unknown frame tye is detected, or frame length overflowed. 39634 * websockets/WebSocketChannelClient.h: 39635 (WebCore::WebSocketChannelClient::didReceiveMessageError): 39636 39637 2010-03-04 Garret Kelly <gdk (a] chromium.org> 39638 39639 Reviewed by Darin Fisher. 39640 39641 Changing private members from PlatformTouchEvent and PlatformTouchPoint 39642 to be protected, so that Chromium's PlatformTouchEventBuilder and 39643 PlatformTouchPointBuilder can access them. Exercised by the 39644 fast/events/touch tests. 39645 https://bugs.webkit.org/show_bug.cgi?id=35760 39646 39647 * platform/PlatformTouchEvent.h: 39648 (WebCore::PlatformTouchEvent::~PlatformTouchEvent): 39649 * platform/PlatformTouchPoint.h: 39650 (WebCore::PlatformTouchPoint::~PlatformTouchPoint): 39651 39652 2010-03-04 Fumitoshi Ukai <ukai (a] chromium.org> 39653 39654 Reviewed by Alexey Proskuryakov. 39655 39656 WebSocket crash bug when reloading the page while the WebSocket is busy 39657 https://bugs.webkit.org/show_bug.cgi?id=35732 39658 39659 * websockets/WebSocketChannel.cpp: 39660 (WebCore::WebSocketChannel::disconnect): clear m_context from WebSocketChannel and WebSocketHandshake. 39661 (WebCore::WebSocketChannel::didOpen): check m_context 39662 (WebCore::WebSocketChannel::didClose): clear m_context 39663 (WebCore::WebSocketChannel::didReceiveData): check m_context, and check m_client early before appending to buffer 39664 * websockets/WebSocketHandshake.cpp: 39665 (WebCore::WebSocketHandshake::clearScriptExecutionContext): Added. 39666 * websockets/WebSocketHandshake.h: 39667 39668 2010-03-04 MORITA Hajime <morrita (a] google.com> 39669 39670 Reviewed by Alexey Proskuryakov. 39671 39672 Refactoring: XMLHTTPRequest.open() should have all overloaded implementations 39673 https://bugs.webkit.org/show_bug.cgi?id=35630 39674 39675 Test: http/tests/xmlhttprequest/open-async-overload.html 39676 39677 * bindings/js/JSXMLHttpRequestCustom.cpp: 39678 (WebCore::JSXMLHttpRequest::open): 39679 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 39680 (WebCore::V8XMLHttpRequest::openCallback): 39681 * xml/XMLHttpRequest.cpp: 39682 (WebCore::XMLHttpRequest::open): 39683 * xml/XMLHttpRequest.h: 39684 39685 2010-03-04 James Robinson <jamesr (a] google.com> 39686 39687 Reviewed by Eric Seidel. 39688 39689 Styles do not have to be synchronously rematched after every event dispatch 39690 39691 https://bugs.webkit.org/show_bug.cgi?id=32580 39692 39693 * bindings/js/JSEventListener.cpp: 39694 (WebCore::JSEventListener::handleEvent): 39695 * bindings/v8/V8AbstractEventListener.cpp: 39696 (WebCore::V8AbstractEventListener::handleEvent): 39697 39698 2010-03-04 Luiz Agostini <luiz.agostini (a] openbossa.org> 39699 39700 Reviewed by Kenneth Rohde Christiansen. 39701 39702 maemo spelled as mameo in WebCore.pro 39703 https://bugs.webkit.org/show_bug.cgi?id=35765 39704 39705 Spelling corrected. 39706 39707 * WebCore.pro: 39708 39709 2010-03-04 Tony Chang <tony (a] chromium.org> 39710 39711 Reviewed by Eric Seidel. 39712 39713 https://bugs.webkit.org/show_bug.cgi?id=18819 39714 Pressing option+page{down,up} should move the cursor and scroll in 39715 content editable areas. On other platforms, pressing page{down,up} 39716 should move the cursor and scroll in content editable areas. 39717 39718 Test: editing/input/option-page-up-down.html 39719 39720 * editing/EditorCommand.cpp: 39721 (WebCore::verticalScrollDistance): 39722 39723 2010-03-03 Oliver Hunt <oliver (a] apple.com> 39724 39725 Reviewed by Gavin Barraclough. 39726 39727 Allow static property getters to interact with JSCs caching 39728 https://bugs.webkit.org/show_bug.cgi?id=35716 39729 39730 Update the obviously safe getters to allow caching 39731 39732 Test: fast/js/pic/cached-named-property-getter.html 39733 39734 * bridge/runtime_array.cpp: 39735 (JSC::RuntimeArray::getOwnPropertySlot): 39736 * bridge/runtime_method.cpp: 39737 (JSC::RuntimeMethod::getOwnPropertySlot): 39738 39739 2010-03-04 Mark Rowe <mrowe (a] apple.com> 39740 39741 Reviewed by Sam Weinig. 39742 39743 <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h 39744 39745 * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h 39746 in to the framework wrapper. 39747 39748 2010-03-04 James Robinson <jamesr (a] chromium.org> 39749 39750 Reviewed by Dimitri Glazkov. 39751 39752 Handles setting HTMLSelectElement.length with mutation handlers present 39753 https://bugs.webkit.org/show_bug.cgi?id=33983 39754 39755 When setting an HTMLSelectElement's length attribute, option elements have to be added or removed to the select 39756 as appropriate. This is a little tricky with mutation events since they might add, remove, or reorder elements 39757 while option elements are being added or deleted. 39758 39759 Tests: fast/forms/select-set-length-optgroup.html 39760 fast/forms/select-set-length-with-mutation-remove.html 39761 fast/forms/select-set-length-with-mutation-reorder.html 39762 fast/forms/select-set-length-with-mutation-reparent.html 39763 fast/forms/select-set-length-with-mutation.html 39764 fast/forms/select-set-length.html 39765 39766 * html/HTMLSelectElement.cpp: 39767 (WebCore::HTMLSelectElement::setLength): 39768 39769 2010-03-04 Csaba Osztrogonc <ossy (a] webkit.org> 39770 39771 [Qt] Unreviewed buildfix after r55542 on Windows. 39772 39773 * WebCore.pro: 39774 - plugins/win/PluginDatabaseWin.cpp removed. 39775 - platform/win/WebCoreInstanceHandle.cpp added. 39776 39777 * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy. 39778 39779 2010-03-04 Nate Chapin <japhet (a] chromium.org> 39780 39781 Reviewed by Kenneth Rohde Christiansen. 39782 39783 Fix the case where we do a same document navigation, scroll, 39784 then repeat the same document navigation. Currently, the second 39785 navigation does nothing. 39786 39787 https://bugs.webkit.org/show_bug.cgi?id=35547 39788 39789 Test: fast/loader/repeat-same-document-navigation.html 39790 39791 * loader/FrameLoader.cpp: 39792 (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed. 39793 39794 2010-03-04 Simon Fraser <simon.fraser (a] apple.com> 39795 39796 Build fix. 39797 39798 const long long cMaxDistance = numeric_limits<long long>::max() created global 39799 initializers at the call sites, so replace with an inline function. 39800 39801 * page/FocusController.cpp: 39802 (WebCore::updateFocusCandidateIfCloser): 39803 * page/SpatialNavigation.cpp: 39804 (WebCore::distanceInDirection): 39805 * page/SpatialNavigation.h: 39806 (WebCore::maxDistance): 39807 (WebCore::FocusCandidate::FocusCandidate): 39808 39809 2010-03-04 Antonio Gomes <tonikitoo (a] webkit.org> 39810 39811 Unreviewed attempt to fix Windows build. 39812 39813 * page/SpatialNavigation.cpp: 39814 (WebCore::spatialDistance): 39815 39816 2010-03-04 Simon Fraser <simon.fraser (a] apple.com> 39817 39818 Build fix. 39819 39820 Delcare updateFocusCandidateIfCloser static to avoid warning. 39821 39822 * page/FocusController.cpp: 39823 (WebCore::updateFocusCandidateIfCloser): 39824 39825 2010-03-04 Darin Fisher <darin (a] chromium.org> 39826 39827 Reviewed by Dmitry Titov. 39828 39829 [chromium] make history.{push,replace}State enabled at runtime 39830 https://bugs.webkit.org/show_bug.cgi?id=35753 39831 39832 * bindings/generic/RuntimeEnabledFeatures.cpp: 39833 * bindings/generic/RuntimeEnabledFeatures.h: 39834 (WebCore::RuntimeEnabledFeatures::setPushStateEnabled): 39835 (WebCore::RuntimeEnabledFeatures::pushStateEnabled): 39836 (WebCore::RuntimeEnabledFeatures::replaceStateEnabled): 39837 * page/History.idl: 39838 39839 2010-03-04 Antonio Gomes <tonikitoo (a] webkit.org> 39840 39841 Unreviewed attempt to (again) fix Mac build. 39842 39843 * page/SpatialNavigation.cpp: 39844 (WebCore::spatialDistance): 39845 39846 2010-03-04 Dan Bernstein <mitz (a] apple.com> 39847 39848 Based on a patch from Nick Jong. 39849 39850 Reviewed by Simon Fraser. 39851 39852 Improve selection in multi-column blocks when hitting points above or 39853 below a column rect. 39854 39855 Test: fast/multicol/hit-test-above-or-below.html 39856 39857 * rendering/RenderBlock.cpp: 39858 (WebCore::RenderBlock::adjustPointToColumnContents): If the point lies 39859 within the horizontal range for a column, constrain it to the column (if 39860 it is above) or the next column (if it is below). 39861 39862 2010-03-04 Antonio Gomes <tonikitoo (a] webkit.org> 39863 39864 Reviewed by Simon Fraser. 39865 39866 Attempt to fix Mac build. 39867 39868 * page/SpatialNavigation.cpp: 39869 39870 2010-03-04 Jesus Sanchez-Palencia <jesus.palencia (a] openbossa.org> 39871 39872 Add SpatialNavigation header and cpp to Mac XCode project file. 39873 39874 Reviewed by Kenneth Christiansen. 39875 39876 * WebCore.xcodeproj/project.pbxproj: 39877 39878 2010-03-02 Antonio Gomes <tonikitoo (a] webkit.org> 39879 39880 Reviewed by Simon Fraser, Eric Seidel and Darin Adler. 39881 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 39882 Based on the initial work of Marco Barisione <marco.barisione (a] collabora.co.uk> 39883 39884 Extend keyboard navigation to allow directional navigation 39885 https://bugs.webkit.org/show_bug.cgi?id=18662 39886 39887 This patch implements the core logic of the 'Spatial Navigation' feature [1]. 39888 It improves the accessibility support of WebCore by extending the basic keyboard 39889 navigation currently available (based on Tab forward and backward) with the 39890 addition of a two-dimensional directional navigation by using Left, Right, Up and 39891 Down arrow keys to move to the "nearest" element in the corresponding direction. 39892 39893 Highlights: 39894 * Feature is turned off by default in Settings. Port specific APIs need to be added 39895 for toggling it on/off. 39896 * Only elements viewed in the current viewport can have focus move to it. If the 39897 "nearest" is not in viewport dimensions, then a scroll-in-direction action is 39898 performed. 39899 39900 Known issues (to be covered in follow-up bugs): 39901 * Add port specific hooks to each DRT to enable/disable Spatial Navigation. 39902 * Support for spatial navigation through form elements (<input>, <select>, etc) 39903 is be added. 39904 * Make navigation keys customizable. It currently works with arrows keys only 39905 (up, down, right and left). 39906 * Make it support modifiers (Alt, Ctrl and Shift). 39907 * Improve support on scrollable content. 39908 39909 [1] http://en.wikipedia.org/wiki/Spatial_navigation 39910 39911 * Android.mk: 39912 * GNUmakefile.am: 39913 * WebCore.gypi: 39914 * WebCore.pro: 39915 * WebCore.vcproj/WebCore.vcproj: 39916 * page/EventHandler.cpp: 39917 (WebCore::EventHandler::defaultKeyboardEventHandler): 39918 (WebCore::EventHandler::focusDirectionForKey): 39919 (WebCore::EventHandler::defaultArrowEventHandler): 39920 * page/EventHandler.h: 39921 * page/FocusController.cpp: 39922 (WebCore::FocusController::advanceFocus): 39923 (WebCore::FocusController::advanceFocusInDocumentOrder): 39924 (WebCore::FocusController::advanceFocusDirectionally): 39925 (WebCore::updateFocusCandidateIfCloser): 39926 (WebCore::FocusController::findFocusableNodeInDirection): 39927 (WebCore::FocusController::deepFindFocusableNodeInDirection): 39928 * page/FocusController.h: 39929 * page/FocusDirection.h: 39930 (WebCore::): 39931 * page/Settings.cpp: 39932 (WebCore::Settings::Settings): 39933 (WebCore::Settings::setSpatialNavigationEnabled): 39934 * page/Settings.h: 39935 (WebCore::Settings::isSpatialNavigationEnabled): 39936 * page/SpatialNavigation.cpp: Added. 39937 (WebCore::distanceInDirection): 39938 (WebCore::renderRectRelativeToRootDocument): 39939 (WebCore::alignmentForRects): 39940 (WebCore::isHorizontalMove): 39941 (WebCore::areRectsFullyAligned): 39942 (WebCore::areRectsPartiallyAligned): 39943 (WebCore::spatialDistance): 39944 (WebCore::isRectInDirection): 39945 (WebCore::hasOffscreenRect): 39946 (WebCore::scrollInDirection): 39947 (WebCore::isInRootDocument): 39948 (WebCore::deflateIfOverlapped): 39949 * page/SpatialNavigation.h: Added. 39950 (WebCore::): 39951 (WebCore::FocusCandidate::FocusCandidate): 39952 39953 2010-03-04 Beth Dakin <bdakin (a] apple.com> 39954 39955 Reviewed by Anders Carlsson. 39956 39957 This fixes the layering violation I committed yesterday by moving 39958 Page::instanceHandle into its own file just in the WebCore 39959 namespace. 39960 39961 Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp 39962 * WebCore.vcproj/WebCore.vcproj: 39963 * page/win/PageWin.cpp: Removed. 39964 39965 Remove all instance handle code from Page. 39966 * page/Page.h: 39967 39968 New files. 39969 * platform/win/WebCoreInstanceHandle.cpp: Added. 39970 * platform/win/WebCoreInstanceHandle.h: Added. 39971 (WebCore::setInstanceHandle): 39972 (WebCore::instanceHandle): 39973 39974 Switch to WebCore::instanceHandle() instead of 39975 Page::instanceHandle() and include the new header. 39976 * platform/graphics/win/WKCACFLayerRenderer.cpp: 39977 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): 39978 * platform/win/PasteboardWin.cpp: 39979 (WebCore::Pasteboard::Pasteboard): 39980 * platform/win/PopupMenuWin.cpp: 39981 (WebCore::PopupMenu::show): 39982 (WebCore::PopupMenu::registerClass): 39983 * platform/win/SharedTimerWin.cpp: 39984 (WebCore::initializeOffScreenTimerWindow): 39985 * plugins/win/PluginViewWin.cpp: 39986 (WebCore::registerPluginView): 39987 (WebCore::PluginView::platformStart): 39988 39989 2010-03-04 Antonio Gomes <tonikitoo (a] webkit.org> 39990 39991 Unreviewed build fix. 39992 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 39993 39994 'glib_file_name' renamed to 'gligFileName'. 39995 39996 * platform/graphics/gtk/ImageGtk.cpp: 39997 (WebCore::Image::loadPlatformResource): 39998 39999 2010-03-04 Pavel Feldman <pfeldman (a] chromium.org> 40000 40001 Reviewed by Timothy Hatcher. 40002 40003 Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend. 40004 40005 https://bugs.webkit.org/show_bug.cgi?id=35720 40006 40007 * inspector/InspectorBackend.cpp: 40008 (WebCore::InspectorBackend::enableSearchingForNode): 40009 (WebCore::InspectorBackend::disableSearchingForNode): 40010 (WebCore::InspectorBackend::setPauseOnExceptionsState): 40011 * inspector/InspectorBackend.h: 40012 * inspector/InspectorBackend.idl: 40013 * inspector/InspectorController.cpp: 40014 (WebCore::InspectorController::setWindowVisible): 40015 (WebCore::InspectorContorller::setSearchingForNode): 40016 (WebCore::InspectorController::populateScriptObjects): 40017 * inspector/InspectorController.h: 40018 * inspector/InspectorFrontend.cpp: 40019 (WebCore::InspectorFrontend::searchingForNodeWasEnabled): 40020 (WebCore::InspectorFrontend::searchingForNodeWasDisabled): 40021 (WebCore::InspectorFrontend::updatePauseOnExceptionsState): 40022 * inspector/InspectorFrontend.h: 40023 * inspector/front-end/ElementsPanel.js: 40024 (WebInspector.ElementsPanel): 40025 (WebInspector.ElementsPanel.prototype.get statusBarItems): 40026 (WebInspector.ElementsPanel.prototype.hide): 40027 (WebInspector.ElementsPanel.prototype.reset): 40028 (WebInspector.ElementsPanel.prototype.searchingForNodeWasEnabled): 40029 (WebInspector.ElementsPanel.prototype.searchingForNodeWasDisabled): 40030 (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked): 40031 * inspector/front-end/InspectorBackendStub.js: 40032 (.WebInspector.InspectorBackendStub.prototype.enableSearchingForNode): 40033 (.WebInspector.InspectorBackendStub.prototype.disableSearchingForNode): 40034 (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptionsState): 40035 * inspector/front-end/ScriptsPanel.js: 40036 (WebInspector.ScriptsPanel): 40037 (WebInspector.ScriptsPanel.prototype.get statusBarItems): 40038 (WebInspector.ScriptsPanel.prototype.updatePauseOnExceptionsState): 40039 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): 40040 (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): 40041 * inspector/front-end/inspector.js: 40042 (WebInspector.searchingForNodeWasEnabled): 40043 (WebInspector.searchingForNodeWasDisabled): 40044 (WebInspector.updatePauseOnExceptionsState): 40045 40046 2010-03-03 Pavel Feldman <pfeldman (a] chromium.org> 40047 40048 Reviewed by Timothy Hatcher. 40049 40050 Web Inspector: Clicking on an error should take me to the error 40051 40052 https://bugs.webkit.org/show_bug.cgi?id=34860 40053 40054 * inspector/front-end/ResourceView.js: 40055 (WebInspector.ResourceView): 40056 (WebInspector.ResourceView.prototype._selectTab): 40057 (WebInspector.ResourceView.prototype.selectContentTab): 40058 * inspector/front-end/ResourcesPanel.js: 40059 (WebInspector.ResourcesPanel.prototype.showResource): 40060 40061 2010-03-03 Pavel Feldman <pfeldman (a] chromium.org> 40062 40063 Reviewed by Timothy Hatcher. 40064 40065 Web Inspector: Remove sync access to resourceTrackingEnabled. 40066 40067 https://bugs.webkit.org/show_bug.cgi?id=35693 40068 40069 * inspector/InspectorBackend.cpp: 40070 * inspector/InspectorBackend.h: 40071 * inspector/InspectorBackend.idl: 40072 * inspector/InspectorController.cpp: 40073 (WebCore::InspectorController::populateScriptObjects): 40074 * inspector/front-end/AuditsPanel.js: 40075 (WebInspector.AuditsPanel.prototype._reloadResources): 40076 (WebInspector.AuditsPanel.prototype.show): 40077 * inspector/front-end/InspectorBackendStub.js: 40078 (.WebInspector.InspectorBackendStub): 40079 (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking): 40080 (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking): 40081 (.WebInspector.InspectorBackendStub.prototype.enableDebugger): 40082 (.WebInspector.InspectorBackendStub.prototype.disableDebugger): 40083 (.WebInspector.InspectorBackendStub.prototype.enableProfiler): 40084 (.WebInspector.InspectorBackendStub.prototype.disableProfiler): 40085 * inspector/front-end/ResourcesPanel.js: 40086 (WebInspector.ResourcesPanel): 40087 (WebInspector.ResourcesPanel.prototype.get resourceTrackingEnabled): 40088 (WebInspector.ResourcesPanel.prototype.get visibleView): 40089 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled): 40090 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled): 40091 (WebInspector.ResourcesPanel.prototype.reset): 40092 (WebInspector.ResourcesPanel.prototype.showResource): 40093 (WebInspector.ResourcesPanel.prototype._enableResourceTracking): 40094 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): 40095 40096 2010-03-04 Antoine Quint <ml (a] graougraou.com> 40097 40098 Reviewed by Darin Adler. 40099 40100 DOM insertion mutation events should dispatch after a node is attached to the render tree 40101 https://bugs.webkit.org/show_bug.cgi?id=35590 40102 40103 Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html 40104 40105 Split off the internal-to-WebCore node insertion notification code from the DOM mutation 40106 event dispatching, originally in dispatchChildInsertionEvents(), to a new static function 40107 called notifyChildInserted(). This allows us to dispatch the mutation events at a later 40108 time upon insertion of a child into to the tree, specifically _after_ attachment to the render 40109 tree. 40110 40111 * dom/ContainerNode.cpp: 40112 (WebCore::ContainerNode::insertBefore): 40113 (WebCore::ContainerNode::replaceChild): 40114 (WebCore::ContainerNode::appendChild): 40115 (WebCore::notifyChildInserted): 40116 (WebCore::dispatchChildInsertionEvents): 40117 40118 2010-03-04 Fridrich Strba <fridrich.strba (a] bluewin.ch> 40119 40120 Reviewed by Holger Freyther. 40121 40122 Make paths relocatable on runtime on Windows 40123 https://bugs.webkit.org/show_bug.cgi?id=32711 40124 40125 * platform/graphics/gtk/ImageGtk.cpp: 40126 (get_webkit_datadir): 40127 (WebCore::Image::loadPlatformResource): 40128 40129 2010-03-04 Pavel Feldman <pfeldman (a] chromium.org> 40130 40131 Reviewed by Timothy Hatcher. 40132 40133 Web Inspector: Popup for Timeline panel will work in a tooltip mode 40134 40135 https://bugs.webkit.org/show_bug.cgi?id=35680 40136 40137 * inspector/front-end/Popover.js: 40138 (WebInspector.Popover): 40139 (WebInspector.Popover.prototype.show): 40140 (WebInspector.Popover.prototype.hide): 40141 (WebInspector.Popover.prototype._positionElement): 40142 (WebInspector.PopoverHelper): 40143 (WebInspector.PopoverHelper.prototype._mouseDown): 40144 (WebInspector.PopoverHelper.prototype._mouseMove.doHide): 40145 (WebInspector.PopoverHelper.prototype._mouseMove): 40146 (WebInspector.PopoverHelper.prototype._resetHoverTimer): 40147 (WebInspector.PopoverHelper.prototype.hidePopup): 40148 (WebInspector.PopoverHelper.prototype._mouseHover): 40149 (WebInspector.PopoverHelper.prototype._killHidePopupTimer): 40150 * inspector/front-end/TimelineOverviewPane.js: 40151 (WebInspector.TimelineOverviewPane.prototype.reset): 40152 * inspector/front-end/TimelinePanel.js: 40153 (WebInspector.TimelinePanel): 40154 (WebInspector.TimelinePanel.prototype.get _recordStyles): 40155 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 40156 (WebInspector.TimelinePanel.prototype._scheduleRefresh): 40157 (WebInspector.TimelinePanel.prototype._refreshRecords): 40158 (WebInspector.TimelinePanel.prototype._adjustScrollPosition): 40159 (WebInspector.TimelinePanel.prototype._getPopoverAnchor): 40160 (WebInspector.TimelinePanel.prototype._showPopover): 40161 (WebInspector.TimelinePanel.prototype._closeRecordDetails): 40162 (WebInspector.TimelineRecordListRow): 40163 (WebInspector.TimelineRecordListRow.prototype.update): 40164 (WebInspector.TimelineRecordGraphRow): 40165 (WebInspector.TimelineRecordGraphRow.prototype._onClick): 40166 (WebInspector.TimelinePanel.FormattedRecord): 40167 (WebInspector.TimelinePanel.FormattedRecord.prototype._createCell): 40168 (WebInspector.TimelinePanel.FormattedRecord.prototype._createRow): 40169 (WebInspector.TimelinePanel.FormattedRecord.prototype._createLinkRow): 40170 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 40171 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 40172 * inspector/front-end/inspector.css: 40173 40174 2010-03-04 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 40175 40176 Unreviewed build fix. 40177 40178 Build fix after r55464. 40179 40180 No new tests, no new functionality. 40181 40182 * inspector/InspectorController.cpp: 40183 (WebCore::InspectorController::populateScriptObjects): 40184 40185 2010-03-04 Leandro Pereira <leandro (a] profusion.mobi> 40186 40187 Reviewed by Kenneth Rohde Christiansen. 40188 40189 Add EFL port files to platform/graphics/efl. 40190 http://webkit.org/b/35539 40191 40192 * platform/graphics/efl/FloatRectEfl.cpp: Added. 40193 * platform/graphics/efl/FontEfl.cpp: Added. 40194 * platform/graphics/efl/IconEfl.cpp: Added. 40195 * platform/graphics/efl/ImageEfl.cpp: Added. 40196 * platform/graphics/efl/IntPointEfl.cpp: Added. 40197 * platform/graphics/efl/IntRectEfl.cpp: Added. 40198 40199 2010-03-04 Leandro Pereira <leandro (a] profusion.mobi> 40200 40201 Reviewed by Kenneth Rohde Christiansen. 40202 40203 Add EFL port files to platform/text/efl. 40204 http://webkit.org/b/35740 40205 40206 * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added. 40207 40208 2010-03-04 Fridrich Strba <fridrich.strba (a] bluewin.ch> 40209 40210 Reviewed by Holger Freyther. 40211 40212 https://bugs.webkit.org/show_bug.cgi?id=35726 40213 Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID 40214 40215 Removing orphaned #if USE. 40216 40217 * platform/ThreadGlobalData.h: 40218 40219 2010-03-03 Jeremy Orlow <jorlow (a] chromium.org> 40220 40221 Reviewed by Darin Fisher. 40222 40223 Throttle sync requests sent to the LocalStorage background thread 40224 https://bugs.webkit.org/show_bug.cgi?id=34943 40225 40226 Currently, once a second LocalStorage takes all keys/values which have 40227 been changed and sends them to a background thread to sync. The problem 40228 is that this background thread can get overwhelmed and stop being 40229 responsive. This means that if any other page tries to start using 40230 LocalStorage (and thus initiates the initial import) that'll block on 40231 all the previous syncs completing. 40232 40233 To mitigate this, I'm adding code so that we never schedule another 40234 sync task when another is still running. In order to keep the sync 40235 tasks from growing exponentially when they do take longer than the 40236 storage sync interval, I've also added a basic rate limiter. No effort 40237 is made to ensure fairness/ordering of what gets synced nor is there 40238 any way for this rate to be changed because most normal uses of 40239 LocalStorage really shouldn't be hitting these types of limits anyway. 40240 40241 The only behavioral change that's observible in JavaScript is time based 40242 and thus it's not practical to make new tests that aren't racy. The 40243 existing layout tests cover LocalStorage pretty well, though. 40244 40245 * storage/StorageAreaSync.cpp: 40246 (WebCore::StorageAreaSync::StorageAreaSync): 40247 (WebCore::StorageAreaSync::scheduleFinalSync): 40248 (WebCore::StorageAreaSync::syncTimerFired): 40249 (WebCore::StorageAreaSync::performSync): 40250 * storage/StorageAreaSync.h: 40251 40252 2010-03-04 Andrey Kosyakov <caseq (a] chromium.org> 40253 40254 Reviewed by Pavel Feldman. 40255 40256 Added support for worker instrumentation in inspector 40257 (display list of active workers, allow debugging of workers 40258 by injecting fake JS implementation) 40259 40260 https://bugs.webkit.org/show_bug.cgi?id=35568 40261 40262 * English.lproj/localizedStrings.js: 40263 * WebCore.gypi: 40264 * WebCore.vcproj/WebCore.vcproj: 40265 * bindings/js/JSInjectedScriptHostCustom.cpp: 40266 (WebCore::InjectedScriptHost::createInjectedScript): 40267 (WebCore::InjectedScriptHost::injectedScriptFor): 40268 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 40269 (WebCore::InjectedScriptHost::createInjectedScript): 40270 (WebCore::InjectedScriptHost::injectedScriptFor): 40271 * dom/Document.cpp: 40272 (WebCore::Document::inspectorController): 40273 * dom/Document.h: 40274 * dom/ScriptExecutionContext.h: 40275 (WebCore::ScriptExecutionContext::inspectorController): 40276 * inspector/InjectedScriptHost.cpp: 40277 (WebCore::InjectedScriptHost::InjectedScriptHost): 40278 (WebCore::InjectedScriptHost::injectScript): 40279 (WebCore::InjectedScriptHost::nextWorkerId): 40280 (WebCore::InjectedScriptHost::didCreateWorker): 40281 (WebCore::InjectedScriptHost::willDestroyWorker): 40282 * inspector/InjectedScriptHost.h: 40283 * inspector/InjectedScriptHost.idl: 40284 * inspector/InspectorController.cpp: 40285 (WebCore::InspectorController::populateScriptObjects): 40286 (WebCore::InspectorController::resetScriptObjects): 40287 (WebCore::InspectorController::didCommitLoad): 40288 (WebCore::InspectorController::didCreateWorker): 40289 (WebCore::InspectorController::willDestroyWorker): 40290 * inspector/InspectorController.h: 40291 * inspector/InspectorFrontend.cpp: 40292 (WebCore::InspectorFrontend::didCreateWorker): 40293 (WebCore::InspectorFrontend::willDestroyWorker): 40294 * inspector/InspectorFrontend.h: 40295 * inspector/InspectorWorkerResource.h: Added. 40296 (WebCore::InspectorWorkerResource::create): 40297 (WebCore::InspectorWorkerResource::id): 40298 (WebCore::InspectorWorkerResource::url): 40299 (WebCore::InspectorWorkerResource::isSharedWorker): 40300 (WebCore::InspectorWorkerResource::InspectorWorkerResource): 40301 * inspector/front-end/Checkbox.js: Added. 40302 (WebInspector.Checkbox.callbackWrapper): 40303 (WebInspector.Checkbox): 40304 (WebInspector.Checkbox.prototype.checked): 40305 * inspector/front-end/InjectedFakeWorker.js: 40306 (InjectedFakeWorker.FakeWorker): 40307 (InjectedFakeWorker.FakeWorker.prototype.terminate): 40308 (InjectedFakeWorker.FakeWorker.prototype._handleException): 40309 (InjectedFakeWorker.FakeWorker.prototype._importScripts): 40310 (InjectedFakeWorker.FakeWorker.prototype._loadScript): 40311 (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin): 40312 * inspector/front-end/ScriptsPanel.js: 40313 (WebInspector.ScriptsPanel): 40314 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): 40315 (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled): 40316 (WebInspector.ScriptsPanel.prototype.reset): 40317 * inspector/front-end/WebKit.qrc: 40318 * inspector/front-end/WorkersSidebarPane.js: Added. 40319 (WebInspector.WorkersSidebarPane): 40320 (WebInspector.WorkersSidebarPane.prototype.addWorker): 40321 (WebInspector.WorkersSidebarPane.prototype.removeWorker): 40322 (WebInspector.WorkersSidebarPane.prototype.setInstrumentation): 40323 (WebInspector.WorkersSidebarPane.prototype.reset): 40324 (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument): 40325 (WebInspector.Worker): 40326 (WebInspector.didCreateWorker): 40327 (WebInspector.willDestroyWorker): 40328 * inspector/front-end/inspector.css: 40329 * inspector/front-end/inspector.html: 40330 * workers/AbstractWorker.cpp: 40331 (WebCore::AbstractWorker::AbstractWorker): 40332 (WebCore::AbstractWorker::~AbstractWorker): 40333 (WebCore::AbstractWorker::onDestroyWorker): 40334 (WebCore::AbstractWorker::contextDestroyed): 40335 * workers/AbstractWorker.h: 40336 (WebCore::AbstractWorker::id): 40337 * workers/SharedWorker.cpp: 40338 (WebCore::SharedWorker::SharedWorker): 40339 * workers/Worker.cpp: 40340 (WebCore::Worker::Worker): 40341 40342 2010-03-04 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 40343 40344 Reviewed by Tor Arne Vestb. 40345 40346 [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic. 40347 40348 This also allows shadow builds relying only on qmake to work properly. 40349 40350 * WebCore.pro: 40351 40352 2010-03-02 Holger Hans Peter Freyther <zecke (a] selfish.org> 40353 40354 Reviewed by Simon Hausmann. 40355 40356 [Qt] Avoid calling QFont::detach too often from FontQt 40357 https://bugs.webkit.org/show_bug.cgi?id=35569 40358 40359 The letter- and wordspacing is inside the WebCore::Font class, 40360 our QFont is located in the WebCore::FontPlatformData. Everytime 40361 we need to use a QFont inside WebCore::Font we are calling the 40362 font method which gets the QFont from the WebCore::FontPlatformData 40363 and is applying the letter- and wordspacing. Internally this 40364 will attempt to detach the QFont... 40365 40366 Avoid calling setLetterSpacing and setWordSpacing on QFont if 40367 the WebCore::Font has the default applied. 40368 40369 * platform/graphics/qt/FontQt.cpp: 40370 (WebCore::Font::font): 40371 40372 2010-03-04 Alexander Pavlov <apavlov (a] chromium.org> 40373 40374 Reviewed by Pavel Feldman. 40375 40376 Web Inspector: Nothing happens on navigation to resource via a link if resource tracking is disabled 40377 https://bugs.webkit.org/show_bug.cgi?id=35574 40378 40379 * English.lproj/localizedStrings.js: 40380 * inspector/front-end/ResourcesPanel.js: 40381 (WebInspector.ResourcesPanel.prototype.canShowSourceLine): 40382 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): 40383 * inspector/front-end/inspector.js: 40384 (WebInspector.documentMouseOver): 40385 (WebInspector.documentMouseOut): 40386 (WebInspector.hideBadLinkPopupIfNecessary): 40387 (WebInspector.documentClick.followLink): 40388 (WebInspector.documentClick): 40389 (WebInspector.showBadLinkPopup.popupOverOut): 40390 (WebInspector.showBadLinkPopup): 40391 (WebInspector.addMainEventListeners): 40392 40393 2010-03-04 Vangelis Kokkevis <vangelis (a] chromium.org> 40394 40395 Reviewed by Oliver Hunt. 40396 40397 getUniformLocation() now returns null if uniform requested 40398 is not found. 40399 https://bugs.webkit.org/show_bug.cgi?id=34669 40400 40401 Test:LayoutTests/fast/canvas/webgl/uniform-location.html 40402 (added missing test) 40403 40404 * html/canvas/WebGLRenderingContext.cpp: 40405 (WebCore::WebGLRenderingContext::getUniformLocation): 40406 40407 2010-03-04 John Abd-El-Malek <jam (a] chromium.org> 40408 40409 Reviewed by Adam Barth. 40410 40411 Fix incorrect setup of DateExtension. 40412 https://bugs.webkit.org/show_bug.cgi?id=35710 40413 40414 * bindings/v8/DateExtension.cpp: 40415 (WebCore::DateExtension::setAllowSleep): 40416 40417 2010-03-04 Oliver Hunt <oliver (a] apple.com> 40418 40419 Reviewed by Maciej Stachowiak. 40420 40421 https://bugs.webkit.org/show_bug.cgi?id=35603 40422 SVG incorrectly allows nested <use> elements in a <use> shadow tree 40423 40424 Simplify the handling of invalid or missing use-targets by cloning them 40425 to empty <g> elements rather than just allowing the <use> element to 40426 be copied into the shadow tree, as this violates a number of assumptions 40427 in the shadow tree handling code. 40428 40429 Tests: svg/custom/use-nested-disallowed-target.svg 40430 svg/custom/use-nested-missing-target-added.svg 40431 svg/custom/use-nested-missing-target-removed.svg 40432 svg/custom/use-nested-missing-target.svg 40433 svg/custom/use-nested-notarget.svg 40434 40435 * svg/SVGUseElement.cpp: 40436 (WebCore::SVGUseElement::buildPendingResource): 40437 (WebCore::SVGUseElement::buildShadowAndInstanceTree): 40438 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 40439 40440 2010-03-04 Leandro Pereira <leandro (a] profusion.mobi> 40441 40442 Reviewed by Gustavo Noronha Silva. 40443 40444 Move Cairo-related font code from platform/graphics/gtk to 40445 platform/graphics/cairo, so other ports may use them. 40446 http://webkit.org/b/35539 40447 40448 * GNUmakefile.am: 40449 * platform/graphics/cairo/FontCacheCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontCacheGtk.cpp. 40450 * platform/graphics/cairo/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.cpp. 40451 * platform/graphics/cairo/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.h. 40452 * platform/graphics/cairo/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformData.h. 40453 * platform/graphics/cairo/FontPlatformDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp. 40454 * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp. 40455 * platform/graphics/cairo/SimpleFontDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp. 40456 * platform/graphics/gtk/FontCacheGtk.cpp: Removed. 40457 * platform/graphics/gtk/FontCustomPlatformData.cpp: Removed. 40458 * platform/graphics/gtk/FontCustomPlatformData.h: Removed. 40459 * platform/graphics/gtk/FontPlatformData.h: Removed. 40460 * platform/graphics/gtk/FontPlatformDataGtk.cpp: Removed. 40461 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Removed. 40462 * platform/graphics/gtk/SimpleFontDataGtk.cpp: Removed. 40463 40464 2010-03-04 Evan Stade <estade (a] chromium.org> 40465 40466 Reviewed by David Levin. 40467 40468 https://bugs.webkit.org/show_bug.cgi?id=35261 40469 [skia] crash when attempting to render certain SVGs 40470 40471 This fixes the crash, but the SVG still doesn't render properly. 40472 40473 Test: svg/custom/tiling-regular-hexagonal-crash.svg 40474 40475 * platform/graphics/skia/ImageSkia.cpp: 40476 (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when 40477 the copy fails; instead return a blank bitmap. The caller doesn't 40478 check for 0 before dereferencing. 40479 40480 2010-03-04 Tony Chang <tony (a] chromium.org> 40481 40482 Reviewed by Darin Fisher. 40483 40484 Initialize m_isMultipartPayload in other ResourceResponse ctor. 40485 In r55451 (bug 35628) I added an extra bool, but only initialized 40486 it in one constructor. 40487 https://bugs.webkit.org/show_bug.cgi?id=35719 40488 40489 * platform/network/chromium/ResourceResponse.h: 40490 (WebCore::ResourceResponse::ResourceResponse): 40491 40492 2010-03-03 Yuta Kitamura <yutak (a] chromium.org> 40493 40494 Reviewed by Alexey Proskuryakov. 40495 40496 Add a new class that stores information about Web Socket handshake request. 40497 40498 Instances of this class contain the necessary information to send a Web Socket 40499 handshake request. In the future, this class will provide request information 40500 to the Web Inspector. 40501 40502 WebSocketHandshake needs to provide request information 40503 https://bugs.webkit.org/show_bug.cgi?id=34784 40504 40505 No new tests, since the current tests will suffice (LayoutTests/websocket/*). 40506 40507 * GNUmakefile.am: 40508 * WebCore.gypi: 40509 * WebCore.pro: 40510 * WebCore.vcproj/WebCore.vcproj: 40511 * WebCore.xcodeproj/project.pbxproj: 40512 * websockets/WebSocketChannel.cpp: 40513 * websockets/WebSocketHandshake.cpp: 40514 (WebCore::WebSocketHandshake::clientHandshakeMessage): 40515 (WebCore::WebSocketHandshake::clientHandshakeRequest): 40516 * websockets/WebSocketHandshake.h: 40517 * websockets/WebSocketHandshakeRequest.cpp: Added. 40518 (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest): 40519 (WebCore::WebSocketHandshakeRequest::~WebSocketHandshakeRequest): 40520 (WebCore::WebSocketHandshakeRequest::addExtraHeaderField): 40521 (WebCore::WebSocketHandshakeRequest::headerFields): 40522 (WebCore::WebSocketHandshakeRequest::host): 40523 * websockets/WebSocketHandshakeRequest.h: Added. 40524 40525 2010-03-03 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 40526 40527 Reviewed by Kenneth Rohde Christiansen. 40528 40529 Build fix after r55452. 40530 40531 No new tests, this is a build fix. 40532 40533 * page/Settings.cpp: 40534 (WebCore::Settings::setDatabasesEnabled): 40535 40536 2010-03-03 Diego Gonzalez <diego.gonzalez (a] openbossa.org> 40537 40538 Reviewed by Kenneth Rohde Christiansen. 40539 40540 Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent 40541 40542 LayoutTests: 40543 fast/events/key-events-in-input-text.html 40544 fast/events/special-key-events-in-input-text.html 40545 40546 [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent 40547 https://bugs.webkit.org/show_bug.cgi?id=35694 40548 40549 * platform/qt/PlatformKeyboardEventQt.cpp: 40550 (WebCore::keyIdentifierForQtKeyCode): 40551 40552 2010-03-03 Chad Faragher <wyck (a] chromium.org> 40553 40554 Reviewed by Darin Adler. 40555 Changed the double-click framework code to pass adjusted page 40556 coordinates for zoomed pages. Added a new test to expose 40557 mistreatment of mouse click coordinates during a double-click. 40558 40559 https://bugs.webkit.org/show_bug.cgi?id=35690 40560 40561 Test: fast/events/zoom-dblclick.html 40562 40563 * dom/Node.cpp: 40564 (WebCore::Node::dispatchMouseEvent): 40565 40566 2010-03-03 David Levin <levin (a] chromium.org> 40567 40568 No review, rolling out r55474. 40569 40570 The patch broke fast/frames/sandboxed-iframe-storage.html 40571 40572 Last one (I hope). 40573 40574 * WebCore.xcodeproj/project.pbxproj: 40575 40576 2010-03-03 David Levin <levin (a] chromium.org> 40577 40578 No review, rolling out r55474. 40579 40580 The patch broke fast/frames/sandboxed-iframe-storage.html 40581 40582 Unfortunately, (the webkit-patch rollout and) I missed these in r55485. 40583 40584 * bindings/js/JSDatabaseCallback.cpp: Removed. 40585 * bindings/js/JSDatabaseCallback.h: Removed. 40586 * bindings/v8/custom/V8DatabaseCallback.cpp: Removed. 40587 * bindings/v8/custom/V8DatabaseCallback.h: Removed. 40588 * storage/DatabaseCallback.h: Removed. 40589 40590 2010-03-02 Dumitru Daniliuc <dumi (a] chromium.org> 40591 40592 Reviewed by Dimitri Glazkov. 40593 40594 Fix a bug that could lead to a crash. Some parts of 40595 SQLTransaction::checkAndHandleClosedDatabase() should only be run 40596 when that method is invoked on the DB thread. 40597 40598 We cannot test this fix with a test, because the crash happens 40599 only when all of the following conditions are met: 40600 1. A database is closing. 40601 2. A transaction on that database is in progress. 40602 3. The transaction is in a state where a statement/transaction 40603 success/error callback needs to be invoked (so there's a task for 40604 this transaction pending on the main thread). 40605 4. The DB thread finished processing all its tasks and called 40606 SQLTransactionCoordinator::shutdown() before the main thread go to 40607 that task. 40608 40609 The closest thing we have to a test is running 40610 LayoutTests/storage/database-lock-after-reload.html 1000 times in 40611 a row. Without the patch, the probability of a crash happening in 40612 one of the runs is very high. With the patch, the test should 40613 reliably run 1000 times in a row without a single crash. 40614 40615 https://bugs.webkit.org/show_bug.cgi?id=35624 40616 40617 * storage/SQLTransaction.cpp: 40618 (WebCore::SQLTransaction::checkAndHandleClosedDatabase): 40619 40620 2010-03-03 Darin Fisher <darin (a] chromium.org> 40621 40622 Reviewed by Mark Rowe. 40623 40624 Page should not care about Chromium plug-in implementation details 40625 https://bugs.webkit.org/show_bug.cgi?id=35623 40626 40627 * WebCore.gypi: Compile PluginViewNone.cpp 40628 * page/Page.cpp: 40629 (WebCore::Page::privateBrowsingStateChanged): Remove conditional 40630 compilation for PLATFORM(CHROMIUM). 40631 40632 2010-03-03 David Levin <levin (a] chromium.org> 40633 40634 No review, rolling out r55474. 40635 http://trac.webkit.org/changeset/55480 40636 40637 The patch broke fast/frames/sandboxed-iframe-storage.html 40638 40639 * Android.jscbindings.mk: 40640 * Android.v8bindings.mk: 40641 * GNUmakefile.am: 40642 * WebCore.gypi: 40643 * WebCore.pro: 40644 * WebCore.vcproj/WebCore.vcproj: 40645 * bindings/js/JSDOMWindowCustom.cpp: 40646 * bindings/v8/custom/V8DOMWindowCustom.cpp: 40647 * dom/Document.cpp: 40648 (WebCore::Document::postTask): 40649 * page/DOMWindow.cpp: 40650 (WebCore::DOMWindow::openDatabase): 40651 * page/DOMWindow.h: 40652 * page/DOMWindow.idl: 40653 * storage/Database.cpp: 40654 (WebCore::Database::openDatabase): 40655 (WebCore::Database::Database): 40656 (WebCore::Database::performOpenAndVerify): 40657 * storage/Database.h: 40658 * workers/WorkerContext.cpp: 40659 (WebCore::WorkerContext::openDatabase): 40660 * workers/WorkerContext.h: 40661 40662 2010-03-03 David Levin <levin (a] chromium.org> 40663 40664 No review, rolling out r55480. 40665 http://trac.webkit.org/changeset/55480 40666 40667 The patch broke fast/frames/sandboxed-iframe-storage.html 40668 40669 * storage/Database.cpp: 40670 * storage/Database.h: 40671 40672 2010-03-03 Mark Rowe <mrowe (a] apple.com> 40673 40674 Reviewed by Geoff Garen. 40675 40676 Add virtual memory tags for TCMalloc and WebCore's purgeable buffers. 40677 40678 * platform/mac/PurgeableBufferMac.cpp: 40679 (WebCore::PurgeableBuffer::create): Use the VM tag. 40680 40681 2010-03-03 Dumitru Daniliuc <dumi (a] chromium.org> 40682 40683 Reviewed by nobody, build fix. 40684 40685 Move #include "DatabaseCallback.h" from Database.h to 40686 Database.cpp. 40687 40688 * storage/Database.cpp: 40689 * storage/Database.h: 40690 40691 2010-03-03 Darin Adler <darin (a] apple.com> 40692 40693 Fixed Mac build. 40694 40695 * WebCore.xcodeproj/project.pbxproj: Marked a couple of headers "private" so they can 40696 be used in the WebKit project. 40697 40698 2010-03-03 Alexey Proskuryakov <ap (a] apple.com> 40699 40700 Reviewed by Adele Peterson. 40701 40702 https://bugs.webkit.org/show_bug.cgi?id=35044 40703 Crash in XML tokenizer reloading zoom-coords-viewattr-01-b.svg 40704 40705 I'm often getting a crash even when opening the test for the first time in Safari, but it 40706 doesn't seem to crash in DumpRenderTree. Still, I can't think of a stronger way to test for 40707 this condition, so no new regression test. 40708 40709 * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::end): Be prepared that parsing remaining 40710 input will pause parsing. 40711 40712 2010-03-03 Dumitru Daniliuc <dumi (a] chromium.org> 40713 40714 Reviewed by Adam Barth. 40715 40716 Adding support for the optional creation callback that could be 40717 passed to openDatabase(). 40718 40719 Test: storage/open-database-creation-callback.html 40720 40721 https://bugs.webkit.org/show_bug.cgi?id=34726 40722 40723 * Android.jscbindings.mk 40724 * Android.v8bindings.mk 40725 * GNUmakefile.am: 40726 * WebCore.gypi: 40727 * WebCore.pro: 40728 * WebCore.vcproj/WebCore.vcproj: 40729 * WebCore.xcodeproj/project.pbxproj: 40730 * bindings/js/JSDOMWindowCustom.cpp: 40731 (WebCore::JSDOMWindow::openDatabase): 40732 * bindings/js/JSDatabaseCallback.cpp: Added. 40733 (WebCore::JSDatabaseCallback::JSDatabaseCallback): 40734 (WebCore::JSDatabaseCallback::~JSDatabaseCallback): 40735 (WebCore::JSDatabaseCallback::handleEvent): 40736 * bindings/js/JSDatabaseCallback.h: Added. 40737 (WebCore::JSDatabaseCallback::create): 40738 * bindings/v8/custom/V8DOMWindowCustom.cpp: 40739 (WebCore::V8DOMWindow::openDatabaseCallback): 40740 * bindings/v8/custom/V8DatabaseCallback.cpp: Added. 40741 (WebCore::V8DatabaseCallback::V8DatabaseCallback): 40742 (WebCore::V8DatabaseCallback::~V8DatabaseCallback): 40743 (WebCore::V8DatabaseCallback::handleEvent): 40744 * bindings/v8/custom/V8DatabaseCallback.h: Added. 40745 (WebCore::V8DatabaseCallback::create): 40746 * page/DOMWindow.cpp: 40747 (WebCore::DOMWindow::openDatabase): 40748 * page/DOMWindow.h: 40749 * page/DOMWindow.idl: 40750 * storage/Database.cpp: 40751 (WebCore::DatabaseCreationCallbackTask::create): 40752 (WebCore::DatabaseCreationCallbackTask::performTask): 40753 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): 40754 (WebCore::Database::openDatabase): 40755 (WebCore::Database::Database): 40756 (WebCore::Database::performOpenAndVerify): 40757 (WebCore::Database::performCreationCallback): 40758 * storage/Database.h: 40759 (WebCore::Database::isNew): 40760 * storage/DatabaseCallback.h: Added. 40761 (WebCore::DatabaseCallback::~DatabaseCallback): 40762 * workers/WorkerContext.cpp: 40763 (WebCore::WorkerContext::openDatabase): 40764 * workers/WorkerContext.h: 40765 40766 2010-03-03 Alexander Pavlov <apavlov (a] chromium.org> 40767 40768 Reviewed by Pavel Feldman. 40769 40770 Web Inspector: resources panel only shows uncompressed resource size. 40771 https://bugs.webkit.org/show_bug.cgi?id=35403 40772 40773 * English.lproj/localizedStrings.js: 40774 * inspector/InspectorResource.cpp: 40775 (WebCore::InspectorResource::updateScriptObject): 40776 * inspector/front-end/AbstractTimelinePanel.js: 40777 (WebInspector.AbstractTimelinePanel.prototype.refresh): 40778 * inspector/front-end/AuditRules.js: 40779 (WebInspector.AuditRules.GzipRule.prototype.doRun): 40780 (WebInspector.AuditRules.GzipRule.prototype._shouldCompress): 40781 * inspector/front-end/ImageView.js: 40782 (WebInspector.ImageView): 40783 * inspector/front-end/Resource.js: 40784 (WebInspector.Resource.prototype.get resourceSize): 40785 (WebInspector.Resource.prototype.set resourceSize): 40786 (WebInspector.Resource.prototype.get transferSize): 40787 (WebInspector.Resource.CompareBySize): 40788 (WebInspector.Resource.CompareByTransferSize): 40789 * inspector/front-end/ResourcesPanel.js: 40790 (WebInspector.ResourcesPanel.prototype.populateSidebar): 40791 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): 40792 (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels): 40793 (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphPercentages): 40794 (WebInspector.ResourceTransferSizeCalculator.prototype._value): 40795 (WebInspector.ResourceTransferSizeCalculator.prototype._networkBytes): 40796 (WebInspector.ResourceSidebarTreeElement.CompareByDescendingTransferSize): 40797 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): 40798 (WebInspector.ResourceGraph.prototype.refresh): 40799 * inspector/front-end/inspector.css: 40800 * inspector/front-end/inspector.js: 40801 (WebInspector.updateResource): 40802 40803 2010-03-03 Dan Bernstein <mitz (a] apple.com> 40804 40805 Build fix. 40806 40807 * dom/ContainerNode.cpp: 40808 (WebCore::ContainerNode::removeChildren): 40809 40810 2010-03-03 Pavel Feldman <pfeldman (a] chromium.org> 40811 40812 Reviewed by Timothy Hatcher. 40813 40814 Web Inspector: Get rid of synchronous debuggerEnabled, profilerEnabled calls. 40815 40816 https://bugs.webkit.org/show_bug.cgi?id=32331 40817 40818 * inspector/InspectorBackend.cpp: 40819 * inspector/InspectorBackend.h: 40820 * inspector/InspectorBackend.idl: 40821 * inspector/front-end/BreakpointsSidebarPane.js: 40822 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 40823 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): 40824 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 40825 * inspector/front-end/ProfilesPanel.js: 40826 (WebInspector.ProfilesPanel): 40827 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): 40828 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): 40829 (WebInspector.ProfilesPanel.prototype._updateInterface): 40830 (WebInspector.ProfilesPanel.prototype._enableProfiling): 40831 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 40832 * inspector/front-end/ScriptsPanel.js: 40833 (WebInspector.ScriptsPanel): 40834 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): 40835 (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled): 40836 (WebInspector.ScriptsPanel.prototype.reset): 40837 (WebInspector.ScriptsPanel.prototype.canShowSourceLine): 40838 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): 40839 (WebInspector.ScriptsPanel.prototype._enableDebugging): 40840 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 40841 40842 2010-03-03 Eric Carlson <eric.carlson (a] apple.com> 40843 40844 Reviewed by Adele Peterson. 40845 40846 Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811. 40847 https://bugs.webkit.org/show_bug.cgi?id=35385 40848 rdar://problem/7689602 40849 40850 Tests: media/audio-constructor-preload.html 40851 media/video-dom-preload.html 40852 40853 * html/HTMLAttributeNames.in: Remove autobuffer, add preload 40854 40855 * html/HTMLAudioElement.cpp: 40856 (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of 40857 autobuffer to true. 40858 40859 * html/HTMLMediaElement.cpp: 40860 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload. 40861 (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute. 40862 (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer, 40863 before calling load() so it can pass the setting through to the media engine. 40864 (WebCore::HTMLMediaElement::preload): New. 40865 (WebCore::HTMLMediaElement::setPreload): Ditto 40866 * html/HTMLMediaElement.h: 40867 * html/HTMLMediaElement.idl: 40868 40869 * platform/graphics/MediaPlayer.cpp: 40870 (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload. 40871 (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine. 40872 (WebCore::MediaPlayer::preload): New, return m_preload. 40873 (WebCore::MediaPlayer::setPreload): New, set m_preload. 40874 * platform/graphics/MediaPlayer.h: 40875 (WebCore::MediaPlayer::): 40876 * platform/graphics/MediaPlayerPrivate.h: 40877 (WebCore::MediaPlayerPrivateInterface::setPreload): 40878 40879 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 40880 (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload. 40881 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 40882 40883 2010-03-03 Dan Bernstein <mitz (a] apple.com> 40884 40885 Reviewed by Sam Weinig. 40886 40887 <rdar://problem/7682756> Assertion failure when replacing the contents of a <select> 40888 40889 Test: fast/dom/remove-children-notification-order.html 40890 40891 * dom/ContainerNode.cpp: 40892 (WebCore::ContainerNode::removeChildren): Changed to call childrenChanged() 40893 before calling removedFromDocument() on each removed child, which matches 40894 the order removeChild() does things, and avoids the assertion. This required 40895 temporarily storing the removed children in a vector. 40896 Also added comments about other discrepancies between this function and 40897 removeChild(). 40898 40899 2010-03-03 Adam Barth <abarth (a] webkit.org> 40900 40901 Reviewed by Darin Adler. 40902 40903 Document cookieURL and firstPartyForCookies 40904 https://bugs.webkit.org/show_bug.cgi?id=35613 40905 40906 Some folks asked what the cookieURL and the firstPartyForCookies were 40907 on IRC. This patch documents these properties in the code so folks 40908 don't have to ask on IRC anymore. 40909 40910 * dom/Document.h: 40911 40912 2010-03-03 Arno Renevier <arno (a] renevier.net> 40913 40914 Reviewed by Gustavo Noronha Silva. 40915 40916 [Gtk]: assertion triggered when geolocation getCurrentPosition without an option argument. 40917 https://bugs.webkit.org/show_bug.cgi?id=35666 40918 40919 * platform/gtk/GeolocationServiceGtk.cpp: 40920 (WebCore::GeolocationServiceGtk::startUpdating): 40921 40922 2010-03-03 Fridrich Strba <fridrich.strba (a] bluewin.ch> 40923 40924 Reviewed by Xan Lopez. 40925 40926 Miscellaneous little fixes for the windows build of webkit-gtk 40927 https://bugs.webkit.org/show_bug.cgi?id=35640 40928 40929 * GNUmakefile.am: dist two new files concerning mathml support. 40930 40931 2010-03-03 Xan Lopez <xlopez (a] igalia.com> 40932 40933 Unreviewed distcheck fix. 40934 40935 Add new file to the build. 40936 40937 * GNUmakefile.am: 40938 40939 2010-03-03 Antti Koivisto <koivisto (a] iki.fi> 40940 40941 Reviewed by Oliver Hunt. 40942 40943 Make IntPoint usable as a hash key 40944 40945 https://bugs.webkit.org/show_bug.cgi?id=35586 40946 40947 * WebCore.pro: 40948 * WebCore.xcodeproj/project.pbxproj: 40949 * platform/graphics/IntPointHash.h: Added. 40950 (WTF::IntPointHash::hash): 40951 (WTF::IntPointHash::equal): 40952 (WTF::): 40953 40954 2010-03-02 Eric Uhrhane <ericu (a] chromium.org> 40955 40956 Reviewed by David Levin. 40957 40958 Move database enable bit fully out of settings 40959 This is stage one of a three-stage commit [webkit, then chromium, then 40960 webkit again]. In this change I'm adding calls to 40961 Database::setIsAvailable inside Settings::setDatabaseEnabled and 40962 anywhere else that called it, and switching webkit fully over to using 40963 that flag [added in a previous checkin]. Phase two will remove 40964 Chromium's use of Settings for the Database, and phase three will remove 40965 the Setting for the Database enable entirely, leaving only 40966 Database::isAvailable/setIsAvailable. 40967 40968 No new tests; tested by existing storage tests. 40969 40970 https://bugs.webkit.org/show_bug.cgi?id=35310 40971 40972 * WebCore.base.exp: Export Database::setIsAvailable 40973 * WebCore.xcodeproj/project.pbxproj: Export needed headers as Private 40974 * page/DOMWindow.cpp: Read isAvailable, not Settings::isDatabaseEnabled 40975 (WebCore::DOMWindow::openDatabase): 40976 * page/Settings.cpp: Add a call to Database::setIsAvailable. 40977 (WebCore::Settings::setDatabasesEnabled): 40978 40979 2010-03-02 Tony Chang <tony (a] chromium.org> 40980 40981 Reviewed by Darin Fisher. 40982 40983 add a flag to WebURLResponse so we can identify multipart content 40984 https://bugs.webkit.org/show_bug.cgi?id=35628 40985 40986 * platform/network/chromium/ResourceResponse.h: 40987 (WebCore::ResourceResponse::ResourceResponse): 40988 (WebCore::ResourceResponse::isMultipartPayload): 40989 (WebCore::ResourceResponse::setIsMultipartPayload): 40990 40991 2010-03-02 Tony Chang <tony (a] chromium.org> 40992 40993 Not reviewed, test fix. 40994 40995 Revert r55447 because the new layout test is crashing consistently 40996 on Leopard Intel Debug (tests). 40997 https://bugs.webkit.org/show_bug.cgi?id=35261 40998 40999 * platform/graphics/skia/ImageSkia.cpp: 41000 (WebCore::BitmapImageSingleFrameSkia::create): 41001 41002 2010-03-02 Adam Barth <abarth (a] webkit.org> 41003 41004 Reviewed by Darin Fisher. 41005 41006 Google Analytics triggers "blocked plugin" UI 41007 https://bugs.webkit.org/show_bug.cgi?id=35565 41008 41009 Just like for running script, we need to distinguish between querying 41010 whether plug-ins are enabled and actually blocking a page from 41011 instantiating a plugin. We need to issue different callbacks to the 41012 FrameLoaderClient so that the client can inform us that plug-ins are 41013 disabled in some cases without showing the "plug-in blocked" UI. 41014 41015 * dom/DOMImplementation.cpp: 41016 (WebCore::DOMImplementation::createDocument): 41017 * loader/FrameLoader.cpp: 41018 (WebCore::FrameLoader::requestObject): 41019 (WebCore::FrameLoader::allowPlugins): 41020 * loader/FrameLoader.h: 41021 (WebCore::): 41022 * loader/FrameLoaderClient.h: 41023 (WebCore::FrameLoaderClient::didNotAllowPlugins): 41024 * loader/MainResourceLoader.cpp: 41025 (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase): 41026 * loader/PluginDocument.cpp: 41027 (WebCore::PluginTokenizer::writeRawData): 41028 * page/Page.cpp: 41029 (WebCore::Page::pluginData): 41030 * plugins/MimeType.cpp: 41031 (WebCore::MimeType::enabledPlugin): 41032 41033 2010-03-02 Andreas Kling <andreas.kling (a] nokia.com> 41034 41035 Reviewed by Simon Hausmann. 41036 41037 [Qt] Support the HTTP OPTIONS verb (needed for preflight requests) 41038 41039 https://bugs.webkit.org/show_bug.cgi?id=34647 41040 41041 * platform/network/qt/QNetworkReplyHandler.cpp: 41042 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 41043 (WebCore::QNetworkReplyHandler::start): 41044 41045 2010-03-02 Evan Stade <estade (a] chromium.org> 41046 41047 Reviewed by David Levin. 41048 41049 https://bugs.webkit.org/show_bug.cgi?id=35261 41050 [skia] crash when attempting to render certain SVGs 41051 41052 This fixes the crash, but the SVG still doesn't render properly. 41053 41054 Test: svg/custom/tiling-regular-hexagonal-crash.svg 41055 41056 * platform/graphics/skia/ImageSkia.cpp: 41057 (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when 41058 the copy fails; instead return a blank bitmap. The caller doesn't 41059 check for 0 before dereferencing. 41060 41061 2010-03-02 Arno Renevier <arno (a] renevier.net> 41062 41063 Reviewed by Gustavo Noronha Silva. 41064 41065 [Gtk] use geoclue providers with don't provide update 41066 https://bugs.webkit.org/show_bug.cgi?id=35191 41067 41068 No new tests, behaviour depends on system. 41069 41070 * platform/gtk/GeolocationServiceGtk.cpp: 41071 (WebCore::GeolocationServiceGtk::startUpdating): 41072 41073 2010-03-02 John Abd-El-Malek <jam (a] chromium.org> 41074 41075 Reviewed by Darin Adler. 41076 41077 Remove unnecessary check. 41078 https://bugs.webkit.org/show_bug.cgi?id=35513 41079 41080 * platform/ScrollView.cpp: 41081 (WebCore::ScrollView::updateScrollbars): 41082 41083 2010-03-02 Darin Fisher <darin (a] chromium.org> 41084 41085 Fix chromium build bustage. 41086 41087 * page/Page.cpp: 41088 (WebCore::Page::privateBrowsingStateChanged): PluginView methods may 41089 not be called in the Chromium port. 41090 41091 2010-03-02 Beth Dakin <bdakin (a] apple.com> 41092 41093 Reviewed by Darin Adler and Adam Roben. 41094 41095 Fix for <rdar://problem/7485289> WebKit crashes on systems that 41096 don't support CoreAnimation 41097 41098 WKCACFLayerRenderer::acceleratedCompositingAvailable() now creates 41099 a dummy HWND so that it can step through the whole setHostWindow() 41100 and createRenderer() process. createRenderer() also calls a new 41101 function, hardwareCapabilitiesIndicateCoreAnimationSupport() which 41102 can only be called once we have a d3dDevice. 41103 41104 setHostWindow() and createRenderer() now both return bools that 41105 indicate whether or not they have succeeded. 41106 41107 * platform/graphics/win/WKCACFLayerRenderer.cpp: 41108 (WebCore::hardwareCapabilitiesIndicateCoreAnimationSupport): 41109 (WebCore::CoreAnimationTesterWindowWndProc): 41110 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): 41111 (WebCore::WKCACFLayerRenderer::shared): 41112 (WebCore::WKCACFLayerRenderer::createRenderer): 41113 * platform/graphics/win/WKCACFLayerRenderer.h: 41114 (WebCore::WKCACFLayerRenderer::setHostWindow): 41115 41116 2010-03-02 Mark Rowe <mrowe (a] apple.com> 41117 41118 Rubber-stamped by Jon Honeycutt. 41119 41120 ScriptDebugServer shouldn't care that Mac does not use PluginView for plug-ins. 41121 41122 * bindings/js/ScriptDebugServer.cpp: 41123 * plugins/PluginViewNone.cpp: 41124 (WebCore::PluginView::setJavaScriptPaused): Add an empty implementation of setJavaScriptPaused. 41125 41126 2010-03-02 Mark Rowe <mrowe (a] apple.com> 41127 41128 Rubber-stamped by Jon Honeycutt. 41129 41130 Clean up the build fix r55437 by adding an empty implementation of privateBrowsingStateChanged in PluginViewNone.cpp 41131 41132 * page/Page.cpp: 41133 * plugins/PluginViewNone.cpp: 41134 (WebCore::PluginView::privateBrowsingStateChanged): 41135 41136 2010-03-02 Mark Rowe <mrowe (a] apple.com> 41137 41138 Fix the Mac build. 41139 41140 * page/Page.cpp: 41141 (WebCore::Page::privateBrowsingStateChanged): Mac doesn't use WebCore's PluginView class 41142 for plug-ins, so provide an empty implementation of privateBrowsingStateChanged for Mac. 41143 41144 2010-03-02 Andy Estes <aestes (a] apple.com> 41145 41146 Reviewed by Maciej Stachowiak. 41147 41148 Add the capability to create and dispatch a WheelEvent in JavaScript. 41149 Ensure the event's default handler is triggered in the same way as it is 41150 during a PlatformWheelEvent. 41151 41152 https://bugs.webkit.org/show_bug.cgi?id=35566 41153 41154 Test: fast/events/wheelevent-in-scrolling-div.html 41155 41156 * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for 41157 wheel events originating both from the platform and from 41158 JavaScript/ObjC. 41159 (WebCore::Node::dispatchWheelEvent): Instantiate new WheelEvent with 41160 the graunularity of the PlatformWheelEvent. 41161 (WebCore::Node::defaultEventHandler): Add support for mousewheel events. 41162 * dom/WheelEvent.cpp: Add three new member variables: m_deltaX, m_deltaY 41163 and m_granularity. m_deltaX and m_deltaY differ from m_wheelDeltaX and 41164 m_wheelDeltaY, which are the number of wheel ticks multiplied by 120 for 41165 IE compatibility. 41166 (WebCore::WheelEvent::WheelEvent): Initialize new member variables. 41167 (WebCore::WheelEvent::initWheelEvent): Same. 41168 (WebCore::WheelEvent::initWebKitWheelEvent): Same. 41169 * dom/WheelEvent.h: See WheelEvent.cpp. 41170 (WebCore::WheelEvent::): Add Granularity enum (Pixel, Line, Page). 41171 (WebCore::WheelEvent::create): Add new arguments. 41172 (WebCore::WheelEvent::deltaX): Amount of scroll in x direction. 41173 (WebCore::WheelEvent::deltaY): Amount of scroll in y direction. 41174 (WebCore::WheelEvent::granularity): Units of deltaX and deltaY. 41175 * dom/WheelEvent.idl: Add initWebKitWheelEvent() to JavaScript. This is 41176 the same as the initWheelEvent ObjC method. As the DOM Level 3 Events 41177 specification is still a working draft and subject to change, prefix 41178 'WebKit' to the method signature to indicate experimental support. 41179 * page/EventHandler.cpp: Move the scroll handling from 41180 handleWheelEvent() to defaultWheelEventHandler(), which is executed on 41181 both PlatformWheelEvents and JavaScript WheelEvents. 41182 (WebCore::scrollNode): Renamed from scrollAndAcceptEvent(). Remove 41183 the PlatformWheelEvent from the argument list and instead return a 41184 boolean indicating if the scroll event was accepted. 41185 (WebCore::EventHandler::handleWheelEvent): Move scrolling code from here 41186 (WebCore::EventHandler::defaultWheelEventHandler): ...to here. 41187 * page/EventHandler.h: Add function signature. 41188 41189 2010-03-02 Mark Rowe <mrowe (a] apple.com> 41190 41191 Reviewed by Darin Adler. 41192 41193 Bug 35576: WebKit should tell plug-in instances when private browsing state changes 41194 <http://webkit.org/b/35576> 41195 41196 Notify plug-in instances when the private browsing state changes to match the behavior of the 41197 Mac plug-in code. 41198 41199 * page/Page.cpp: 41200 (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that 41201 the private browsing state has changed. 41202 * page/Page.h: 41203 * page/Settings.cpp: 41204 (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state 41205 has changed. 41206 * plugins/PluginView.cpp: 41207 (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private 41208 browsing state. 41209 * plugins/PluginView.h: 41210 41211 2010-03-02 Mark Rowe <mrowe (a] apple.com> 41212 41213 Reviewed by Oliver Hunt. 41214 41215 Bug 30348: Implement private mode for plug-ins on Windows 41216 <http://webkit.org/b/30348> / <rdar://problem/7562261> 41217 41218 Rework PluginView::getValue and PluginView::getValueStatic to remove the amount of code that 41219 was duplicated across platforms. getValue and getValueStatic now call in to platform-specific 41220 variants that indicate whether they handled the query. If the query is not handled by the 41221 platform-specific variants then the cross-platform handler has a chance to handle it. 41222 41223 * plugins/PluginView.cpp: 41224 (WebCore::PluginView::getValueStatic): Give the platform-specific variant a chance to handle the 41225 variable lookup. If it does not handle it, return an error. 41226 (WebCore::PluginView::getValue): Give the platform-specific variant and platform-specific static 41227 variant a chance to handle the variable lookup. If they do not handle it, apply the cross-platform 41228 handler. At the moment the cross-platform code handles NPNVWindowNPObject, NPNVPluginElementNPObject, 41229 and NPNVprivateModeBool as they have an identical implementation across ports. 41230 * plugins/PluginView.h: 41231 * plugins/PluginViewNone.cpp: 41232 (WebCore::PluginView::platformGetValue): PluginViewNone does not handle any lookups. 41233 (WebCore::PluginView::platformGetValueStatic): Ditto. 41234 * plugins/gtk/PluginViewGtk.cpp: 41235 (WebCore::PluginView::platformGetValueStatic): 41236 (WebCore::PluginView::platformGetValue): 41237 platform-independent implementation. 41238 * plugins/mac/PluginViewMac.cpp: 41239 (WebCore::PluginView::platformGetValueStatic): 41240 (WebCore::PluginView::platformGetValue): 41241 * plugins/qt/PluginViewQt.cpp: 41242 (WebCore::PluginView::platformGetValueStatic): 41243 (WebCore::PluginView::platformGetValue): Fix a bug noticed while updating this code. 41244 The Qt implementation of the handler for NPNVToolkit was relying on case fall-through 41245 to have some values handled by the static handler. When NPNVprivateModeBool was added 41246 it was placed before the default case, interferring with this fall-through. It now 41247 explicitly indicates in this situation that it was not handled. 41248 * plugins/symbian/PluginViewSymbian.cpp: 41249 (WebCore::PluginView::platformGetValueStatic): 41250 (WebCore::PluginView::platformGetValue): 41251 * plugins/win/PluginViewWin.cpp: 41252 (WebCore::PluginView::platformGetValueStatic): 41253 (WebCore::PluginView::platformGetValue): 41254 41255 2010-03-02 Anders Carlsson <andersca (a] apple.com> 41256 41257 Reviewed by Sam Weinig. 41258 41259 Make the default constructor available to all platforms. 41260 41261 * platform/PlatformKeyboardEvent.h: 41262 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 41263 * platform/mac/KeyEventMac.mm: 41264 41265 2010-03-02 Jeremy Orlow <jorlow (a] chromium.org> 41266 41267 Reviewed by David Levin. 41268 41269 Revert database thread changes that are no longer required 41270 https://bugs.webkit.org/show_bug.cgi?id=35519 41271 41272 Jochen Eisinger created 55214 and 55247 to track which database 41273 owns which thread. Dmitry suggested that this could also 41274 be done via TLS, though. After exploring the options, Jochen 41275 chose to go the TLS route, so these patches are no longer needed. 41276 41277 * storage/DatabaseThread.cpp: 41278 (WebCore::DatabaseThread::DatabaseThread): 41279 (WebCore::DatabaseThread::databaseThread): 41280 * storage/DatabaseThread.h: 41281 (WebCore::DatabaseThread::getThreadID): 41282 41283 2010-03-02 Brady Eidson <beidson (a] apple.com> 41284 41285 Reviewed by Sam Weinig. 41286 41287 Followup for REGRESSION(r51097) - Unable to log in to statefarm.com 41288 <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556 41289 41290 * dom/ScriptElement.cpp: 41291 (WebCore::ScriptElementData::shouldExecuteAsJavaScript): To more perfectly match Gecko's rule, 41292 strip whitespace from the attribute values before comparing to window/onload/onload(). 41293 41294 2010-03-02 Chris Fleizach <cfleizach (a] apple.com> 41295 41296 Reviewed by Beth Dakin. 41297 41298 aria-label isn't respected on option elements 41299 https://bugs.webkit.org/show_bug.cgi?id=35400 41300 41301 When aria-label is used on an <option> element, it can take three forms. 41302 An option in a multi-select list, a popup button and the menu that is displayed 41303 from the popup button. This patches the three requisite locations so that if 41304 aria-label is used, the correct accessibility text is returned. 41305 41306 Test: platform/mac/accessibility/option-with-arialabel.html 41307 41308 * accessibility/AccessibilityListBoxOption.cpp: 41309 (WebCore::AccessibilityListBoxOption::stringValue): 41310 * accessibility/AccessibilityObject.cpp: 41311 (WebCore::AccessibilityObject::getAttribute): 41312 * accessibility/AccessibilityObject.h: 41313 * accessibility/AccessibilityRenderObject.cpp: 41314 (WebCore::AccessibilityRenderObject::getAttribute): 41315 (WebCore::AccessibilityRenderObject::stringValue): 41316 * platform/PopupMenuClient.h: 41317 * platform/mac/PopupMenuMac.mm: 41318 (WebCore::PopupMenu::populate): 41319 * rendering/RenderMenuList.cpp: 41320 (WebCore::RenderMenuList::itemAccessibilityText): 41321 * rendering/RenderMenuList.h: 41322 * rendering/RenderTextControlSingleLine.h: 41323 (WebCore::RenderTextControlSingleLine::itemAccessibilityText): 41324 41325 2010-03-02 Mads Ager <ager (a] chromium.org> 41326 41327 Reviewed by Adam Barth. 41328 41329 [V8] V8 should be notified of context disposals 41330 https://bugs.webkit.org/show_bug.cgi?id=35526 41331 41332 Notify V8 of context disposals to allow it to clean up memory from those 41333 contexts when idle. When disposing a context, start a timer that will 41334 give V8 an idle notification after a while to force cleanup. Use a timer 41335 to avoid performing an idle notification in the middle of navigation where 41336 we know we are not idle. 41337 41338 * WebCore.gypi: 41339 * bindings/v8/V8DOMWindowShell.cpp: 41340 (WebCore::V8DOMWindowShell::disposeContextHandles): 41341 * bindings/v8/V8GCForContextDispose.cpp: Added. 41342 (WebCore::V8GCForContextDispose::V8GCForContextDispose): 41343 (WebCore::V8GCForContextDispose::notifyContextDisposed): 41344 (WebCore::V8GCForContextDispose::notifyIdleSooner): 41345 (WebCore::V8GCForContextDispose::instance): 41346 (WebCore::V8GCForContextDispose::pseudoIdleTimerFired): 41347 * bindings/v8/V8GCForContextDispose.h: Added. 41348 * bindings/v8/custom/V8DOMWindowCustom.cpp: 41349 (WebCore::WindowSetTimeoutImpl): 41350 41351 2010-03-02 Pavel Feldman <pfeldman (a] chromium.org> 41352 41353 Not reviewed: adding missing image files to WebKit.qrc and gypi. 41354 41355 * WebCore.gypi: 41356 * inspector/front-end/WebKit.qrc: 41357 41358 2010-03-02 Kim Grnholm <kim.gronholm (a] nomovok.com> 41359 41360 Reviewed by Simon Hausmann. 41361 41362 [Qt] GraphicsLayer: Video element with 3d transform crashes when AC is enabled. 41363 https://bugs.webkit.org/show_bug.cgi?id=35516 41364 41365 No new tests. 41366 41367 * platform/graphics/qt/GraphicsLayerQt.cpp: 41368 (WebCore::GraphicsLayerQt::setContentsToMedia): 41369 41370 2010-03-02 Fridrich Strba <fridrich.strba (a] bluewin.ch> 41371 41372 Reviewed by Xan Lopez. 41373 41374 Use unsigned instead of uint which does not exist on windows 41375 https://bugs.webkit.org/show_bug.cgi?id=35546 41376 41377 * platform/graphics/gtk/ImageGtk.cpp: 41378 (WebCore::getCairoSurfacePixel): 41379 (WebCore::getGdkPixbufPixel): 41380 41381 2010-03-02 Kenneth Russell <kbr (a] google.com> 41382 41383 Reviewed by Darin Fisher. 41384 41385 Add EnabledAtRuntime attribute to WebGLArray constructors 41386 https://bugs.webkit.org/show_bug.cgi?id=35558 41387 41388 New functionality verified manually in Chromium; not possible to 41389 write layout test. Ran WebGL tests in WebKit as well. 41390 41391 * bindings/generic/RuntimeEnabledFeatures.cpp: 41392 * bindings/generic/RuntimeEnabledFeatures.h: 41393 (WebCore::RuntimeEnabledFeatures::setWebGLEnabled): 41394 (WebCore::RuntimeEnabledFeatures::webGLRenderingContextEnabled): 41395 (WebCore::RuntimeEnabledFeatures::webGLArrayBufferEnabled): 41396 (WebCore::RuntimeEnabledFeatures::webGLByteArrayEnabled): 41397 (WebCore::RuntimeEnabledFeatures::webGLUnsignedByteArrayEnabled): 41398 (WebCore::RuntimeEnabledFeatures::webGLShortArrayEnabled): 41399 (WebCore::RuntimeEnabledFeatures::webGLUnsignedShortArrayEnabled): 41400 (WebCore::RuntimeEnabledFeatures::webGLIntArrayEnabled): 41401 (WebCore::RuntimeEnabledFeatures::webGLUnsignedIntArrayEnabled): 41402 (WebCore::RuntimeEnabledFeatures::webGLFloatArrayEnabled): 41403 * page/DOMWindow.idl: 41404 41405 2010-03-02 Nate Chapin <japhet (a] chromium.org> 41406 41407 Reviewed by Dimitri Glazkov. 41408 41409 [V8] Fail gracefully if NPN_GetProperty tries to retrieve a property that doesn't exist. 41410 41411 https://bugs.webkit.org/show_bug.cgi?id=35588 41412 41413 Required for passing LayoutTests/plugins/netscape-plugin-property-access-exception.html on Chromium. 41414 41415 * bindings/v8/NPV8Object.cpp: 41416 (_NPN_GetProperty): If the result is empty, don't try to convert it to an NPVariant and return false. 41417 41418 2010-03-02 Jian Li <jianli (a] chromium.org> 41419 41420 Reviewed by Nate Chapin. 41421 41422 [V8] DOMCoreException should be visible as DOMException 41423 https://bugs.webkit.org/show_bug.cgi?id=35552 41424 41425 Fix V8 code generator to use the correct visible name. 41426 41427 * bindings/scripts/CodeGeneratorV8.pm: 41428 41429 2010-03-02 Brady Eidson <beidson (a] apple.com> 41430 41431 Reviewed by Sam Weinig. 41432 41433 REGRESSION(r51097) - Unable to log in to statefarm.com 41434 <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556 41435 41436 Test: fast/loader/for-window-event-onload-scripts.html 41437 41438 Match Gecko's rules for executing "for/event" scripts: 41439 -If there's only a 'for' attribute, execute it. 41440 -If there's only an 'event' attribute, execute it. 41441 -If there's a 'for=window' and 'event=onload', execute it. 41442 -If there's a 'for=window' and 'event=onload()', execute it. 41443 -If there's any other combination of both 'for' and 'event', don't execute it. 41444 41445 * dom/ScriptElement.cpp: 41446 (WebCore::ScriptElementData::shouldExecuteAsJavaScript): 41447 * dom/ScriptElement.h: 41448 41449 * html/HTMLScriptElement.cpp: 41450 (WebCore::HTMLScriptElement::eventAttributeValue): 41451 * html/HTMLScriptElement.h: 41452 41453 * svg/SVGScriptElement.cpp: 41454 (WebCore::SVGScriptElement::eventAttributeValue): 41455 * svg/SVGScriptElement.h: 41456 41457 Add the event attribute name: 41458 * html/HTMLAttributeNames.in: 41459 41460 41461 2010-03-02 Simon Fraser <simon.fraser (a] apple.com> 41462 41463 Reviewed by Dan Bernstein. 41464 41465 https://bugs.webkit.org/show_bug.cgi?id=35555 41466 QuickTime plugin content can spill outside the <object> tag 41467 41468 Set -masksToBounds on the layer that is handed to us by plug-ins, to ensure that sublayers 41469 of that layer don't spill outside the <object> contents rect. 41470 41471 Manual test because it relies on QuickTime, and pixel results depend on movie loading timing. 41472 41473 * manual-tests/plugins/object-clipping.html: Added. 41474 * platform/graphics/mac/GraphicsLayerCA.mm: 41475 (WebCore::GraphicsLayerCA::setupContentsLayer): 41476 41477 2010-03-02 Adam Roben <aroben (a] apple.com> 41478 41479 Export SecurityOrigin::registerURLSchemeAsSecure 41480 41481 Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose 41482 SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI 41483 41484 Reviewed by Tim Hatcher. 41485 41486 * WebCore.base.exp: Added symbol, sorted file. 41487 41488 2010-03-02 Pavel Feldman <pfeldman (a] chromium.org> 41489 41490 Reviewed by Timothy Hatcher. 41491 41492 Web Inspector: render breakpoints as border images instead of canvas. 41493 41494 https://bugs.webkit.org/show_bug.cgi?id=35535 41495 41496 * inspector/front-end/Images/breakpointBorder.png: Added. 41497 * inspector/front-end/Images/breakpointConditionalBorder.png: Added. 41498 * inspector/front-end/Images/breakpointConditionalCounterBorder.png: Added. 41499 * inspector/front-end/Images/breakpointCounterBorder.png: Added. 41500 * inspector/front-end/Images/programCounterBorder.png: Added. 41501 * inspector/front-end/SourceFrame.js: 41502 (WebInspector.SourceFrame.prototype._updateExecutionLine): 41503 (WebInspector.SourceFrame.prototype._addBreakpointToSource): 41504 (WebInspector.SourceFrame.prototype.resize): 41505 * inspector/front-end/TextViewer.js: 41506 (WebInspector.TextChunk): 41507 * inspector/front-end/textViewer.css: 41508 41509 2010-01-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 41510 41511 Reviewed by Ariya Hidayat. 41512 41513 [Qt] Special case Font::floatWidthForComplexText for single space 41514 https://bugs.webkit.org/show_bug.cgi?id=33876 41515 41516 For a single space we can go through the QFontMetric::width routine 41517 instead of converting the WebCore::String to a QString and then 41518 going through the QTextLine. 41519 41520 * platform/graphics/qt/FontQt.cpp: 41521 (WebCore::Font::floatWidthForComplexText): 41522 41523 2010-02-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 41524 41525 Reviewed by Gustavo Noronha. 41526 41527 [Gtk] Support private browsing mode in plugins. 41528 https://bugs.webkit.org/show_bug.cgi?id=35500 41529 41530 Integrate the PluginViewQt.cpp changes from r55358 into Gtk+. 41531 41532 * plugins/gtk/PluginViewGtk.cpp: 41533 (WebCore::PluginView::getValue): 41534 41535 2010-03-02 Oliver Hunt <oliver (a] apple.com> 41536 41537 Reviewed by NOBODY (Build fix). 41538 41539 Update Qt bridge to new named getter signature 41540 41541 * bridge/qt/qt_runtime.cpp: 41542 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): 41543 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 41544 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 41545 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): 41546 * bridge/qt/qt_runtime.h: 41547 41548 2010-03-01 Philippe Normand <pnormand (a] igalia.com> 41549 41550 Reviewed by Gustavo Noronha. 41551 41552 [GTK] Move gstreamer-related source files to platform/graphics/gstreamer 41553 https://bugs.webkit.org/show_bug.cgi?id=35518 41554 41555 Moved GStreamer-related files to platform/graphics/gstreamer so 41556 other ports could benefit from this media player implementation. 41557 41558 * GNUmakefile.am: 41559 * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.cpp. 41560 (_do_init): 41561 (webkit_data_src_base_init): 41562 (webkit_data_src_class_init): 41563 (webkit_data_src_reset): 41564 (webkit_data_src_init): 41565 (webkit_data_src_finalize): 41566 (webkit_data_src_change_state): 41567 (webkit_data_src_uri_get_type): 41568 (webkit_data_src_uri_get_protocols): 41569 (webkit_data_src_uri_get_uri): 41570 (webkit_data_src_uri_set_uri): 41571 (webkit_data_src_uri_handler_init): 41572 * platform/graphics/gstreamer/DataSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.h. 41573 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp. 41574 (WebCore::greatestCommonDivisor): 41575 (WebCore::mediaPlayerPrivateMessageCallback): 41576 (WebCore::mediaPlayerPrivateSourceChangedCallback): 41577 (WebCore::mediaPlayerPrivateVolumeChangedCallback): 41578 (WebCore::notifyVolumeIdleCallback): 41579 (WebCore::mediaPlayerPrivateMuteChangedCallback): 41580 (WebCore::notifyMuteIdleCallback): 41581 (WebCore::bufferingTimeoutCallback): 41582 (WebCore::playbackPosition): 41583 (WebCore::mediaPlayerPrivateRepaintCallback): 41584 (WebCore::MediaPlayerPrivate::create): 41585 (WebCore::MediaPlayerPrivate::registerMediaEngine): 41586 (WebCore::doGstInit): 41587 (WebCore::MediaPlayerPrivate::isAvailable): 41588 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 41589 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 41590 (WebCore::MediaPlayerPrivate::load): 41591 (WebCore::MediaPlayerPrivate::changePipelineState): 41592 (WebCore::MediaPlayerPrivate::play): 41593 (WebCore::MediaPlayerPrivate::pause): 41594 (WebCore::MediaPlayerPrivate::duration): 41595 (WebCore::MediaPlayerPrivate::currentTime): 41596 (WebCore::MediaPlayerPrivate::seek): 41597 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded): 41598 (WebCore::MediaPlayerPrivate::cancelSeek): 41599 (WebCore::MediaPlayerPrivate::endPointTimerFired): 41600 (WebCore::MediaPlayerPrivate::paused): 41601 (WebCore::MediaPlayerPrivate::seeking): 41602 (WebCore::MediaPlayerPrivate::naturalSize): 41603 (WebCore::MediaPlayerPrivate::hasVideo): 41604 (WebCore::MediaPlayerPrivate::hasAudio): 41605 (WebCore::MediaPlayerPrivate::setVolume): 41606 (WebCore::MediaPlayerPrivate::volumeChangedCallback): 41607 (WebCore::MediaPlayerPrivate::volumeChanged): 41608 (WebCore::MediaPlayerPrivate::setRate): 41609 (WebCore::MediaPlayerPrivate::networkState): 41610 (WebCore::MediaPlayerPrivate::readyState): 41611 (WebCore::MediaPlayerPrivate::buffered): 41612 (WebCore::MediaPlayerPrivate::processBufferingStats): 41613 (WebCore::MediaPlayerPrivate::queryBufferingStats): 41614 (WebCore::MediaPlayerPrivate::maxTimeSeekable): 41615 (WebCore::MediaPlayerPrivate::maxTimeLoaded): 41616 (WebCore::MediaPlayerPrivate::bytesLoaded): 41617 (WebCore::MediaPlayerPrivate::totalBytes): 41618 (WebCore::MediaPlayerPrivate::cancelLoad): 41619 (WebCore::MediaPlayerPrivate::updateStates): 41620 (WebCore::MediaPlayerPrivate::mediaLocationChanged): 41621 (WebCore::MediaPlayerPrivate::loadNextLocation): 41622 (WebCore::MediaPlayerPrivate::loadStateChanged): 41623 (WebCore::MediaPlayerPrivate::sizeChanged): 41624 (WebCore::MediaPlayerPrivate::timeChanged): 41625 (WebCore::MediaPlayerPrivate::didEnd): 41626 (WebCore::MediaPlayerPrivate::durationChanged): 41627 (WebCore::MediaPlayerPrivate::supportsMuting): 41628 (WebCore::MediaPlayerPrivate::setMuted): 41629 (WebCore::MediaPlayerPrivate::muteChangedCallback): 41630 (WebCore::MediaPlayerPrivate::muteChanged): 41631 (WebCore::MediaPlayerPrivate::loadingFailed): 41632 (WebCore::MediaPlayerPrivate::setSize): 41633 (WebCore::MediaPlayerPrivate::setVisible): 41634 (WebCore::MediaPlayerPrivate::repaint): 41635 (WebCore::MediaPlayerPrivate::paint): 41636 (WebCore::mimeTypeCache): 41637 (WebCore::MediaPlayerPrivate::getSupportedTypes): 41638 (WebCore::MediaPlayerPrivate::supportsType): 41639 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin): 41640 (WebCore::MediaPlayerPrivate::supportsFullscreen): 41641 (WebCore::MediaPlayerPrivate::setAutobuffer): 41642 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 41643 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h. 41644 (WebCore::MediaPlayerPrivate::pipelineReset): 41645 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.cpp. 41646 (webkit_video_sink_base_init): 41647 (webkit_video_sink_init): 41648 (webkit_video_sink_timeout_func): 41649 (webkit_video_sink_render): 41650 (webkit_video_sink_dispose): 41651 (unlock_buffer_mutex): 41652 (webkit_video_sink_unlock): 41653 (webkit_video_sink_unlock_stop): 41654 (webkit_video_sink_stop): 41655 (webkit_video_sink_start): 41656 (marshal_VOID__MINIOBJECT): 41657 (webkit_video_sink_class_init): 41658 (webkit_video_sink_new): 41659 * platform/graphics/gstreamer/VideoSinkGStreamer.h: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.h. 41660 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.cpp. 41661 (doInit): 41662 (webkit_web_src_base_init): 41663 (webkit_web_src_class_init): 41664 (webkit_web_src_init): 41665 (webKitWebSrcFinalize): 41666 (webKitWebSrcSetProperty): 41667 (webKitWebSrcGetProperty): 41668 (webKitWebSrcStop): 41669 (webKitWebSrcStart): 41670 (webKitWebSrcChangeState): 41671 (webKitWebSrcUriGetType): 41672 (webKitWebSrcGetProtocols): 41673 (webKitWebSrcGetUri): 41674 (webKitWebSrcSetUri): 41675 (webKitWebSrcUriHandlerInit): 41676 (webKitWebSrcNeedDataMainCb): 41677 (webKitWebSrcNeedDataCb): 41678 (webKitWebSrcEnoughDataMainCb): 41679 (webKitWebSrcEnoughDataCb): 41680 (webKitWebSrcSeekMainCb): 41681 (webKitWebSrcSeekDataCb): 41682 (webKitWebSrcSetFrame): 41683 (StreamingClient::StreamingClient): 41684 (StreamingClient::~StreamingClient): 41685 (StreamingClient::willSendRequest): 41686 (StreamingClient::didReceiveResponse): 41687 (StreamingClient::didReceiveData): 41688 (StreamingClient::didFinishLoading): 41689 (StreamingClient::didFail): 41690 (StreamingClient::wasBlocked): 41691 (StreamingClient::cannotShowURL): 41692 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.h. 41693 41694 2010-03-01 Oliver Hunt <oliver (a] apple.com> 41695 41696 Reviewed by Maciej Stachowiak. 41697 41698 Refactor named getter function signature to be in line with indexing getter signature 41699 https://bugs.webkit.org/show_bug.cgi?id=35563 41700 41701 Fix up WebCore to use the new named getter function signature, update the 41702 codegenerator to the new calling convention, and fix the custom bindings. 41703 41704 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 41705 (WebCore::JSCSSStyleDeclaration::nameGetter): 41706 * bindings/js/JSDOMBinding.cpp: 41707 (WebCore::objectToStringFunctionGetter): 41708 * bindings/js/JSDOMBinding.h: 41709 * bindings/js/JSDOMWindowCustom.cpp: 41710 (WebCore::nonCachingStaticFunctionGetter): 41711 (WebCore::childFrameGetter): 41712 (WebCore::namedItemGetter): 41713 * bindings/js/JSDataGridColumnListCustom.cpp: 41714 (WebCore::JSDataGridColumnList::nameGetter): 41715 * bindings/js/JSHTMLAllCollectionCustom.cpp: 41716 (WebCore::JSHTMLAllCollection::nameGetter): 41717 * bindings/js/JSHTMLCollectionCustom.cpp: 41718 (WebCore::JSHTMLCollection::nameGetter): 41719 * bindings/js/JSHTMLDocumentCustom.cpp: 41720 (WebCore::JSHTMLDocument::nameGetter): 41721 * bindings/js/JSHTMLFormElementCustom.cpp: 41722 (WebCore::JSHTMLFormElement::nameGetter): 41723 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 41724 (WebCore::JSHTMLFrameSetElement::nameGetter): 41725 * bindings/js/JSHistoryCustom.cpp: 41726 (WebCore::nonCachingStaticBackFunctionGetter): 41727 (WebCore::nonCachingStaticForwardFunctionGetter): 41728 (WebCore::nonCachingStaticGoFunctionGetter): 41729 * bindings/js/JSLocationCustom.cpp: 41730 (WebCore::nonCachingStaticReplaceFunctionGetter): 41731 (WebCore::nonCachingStaticReloadFunctionGetter): 41732 (WebCore::nonCachingStaticAssignFunctionGetter): 41733 * bindings/js/JSMimeTypeArrayCustom.cpp: 41734 (WebCore::JSMimeTypeArray::nameGetter): 41735 * bindings/js/JSNamedNodeMapCustom.cpp: 41736 (WebCore::JSNamedNodeMap::nameGetter): 41737 * bindings/js/JSNodeListCustom.cpp: 41738 (WebCore::JSNodeList::nameGetter): 41739 * bindings/js/JSPluginArrayCustom.cpp: 41740 (WebCore::JSPluginArray::nameGetter): 41741 * bindings/js/JSPluginCustom.cpp: 41742 (WebCore::JSPlugin::nameGetter): 41743 * bindings/js/JSPluginElementFunctions.cpp: 41744 (WebCore::runtimeObjectPropertyGetter): 41745 * bindings/js/JSPluginElementFunctions.h: 41746 * bindings/js/JSStorageCustom.cpp: 41747 (WebCore::JSStorage::nameGetter): 41748 * bindings/js/JSStyleSheetListCustom.cpp: 41749 (WebCore::JSStyleSheetList::nameGetter): 41750 * bindings/scripts/CodeGeneratorJS.pm: 41751 * bridge/runtime_array.cpp: 41752 (JSC::RuntimeArray::lengthGetter): 41753 * bridge/runtime_array.h: 41754 * bridge/runtime_method.cpp: 41755 (JSC::RuntimeMethod::lengthGetter): 41756 * bridge/runtime_method.h: 41757 * bridge/runtime_object.cpp: 41758 (JSC::Bindings::RuntimeObject::fallbackObjectGetter): 41759 (JSC::Bindings::RuntimeObject::fieldGetter): 41760 (JSC::Bindings::RuntimeObject::methodGetter): 41761 * bridge/runtime_object.h: 41762 41763 2010-03-01 Oliver Hunt <oliver (a] apple.com> 41764 41765 Reviewed by Gavin Barraclough. 41766 41767 PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier 41768 https://bugs.webkit.org/show_bug.cgi?id=35561 41769 41770 Update bindings generation and the few manual indexing getters we have to use 41771 the new PropertySlot API. 41772 41773 * bindings/js/JSDOMWindowCustom.cpp: 41774 (WebCore::indexGetter): 41775 * bindings/scripts/CodeGeneratorJS.pm: 41776 * bridge/runtime_array.cpp: 41777 (JSC::RuntimeArray::indexGetter): 41778 * bridge/runtime_array.h: 41779 41780 2010-03-01 Chris Fleizach <cfleizach (a] apple.com> 41781 41782 Reviewed by Darin Adler. 41783 41784 AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver 41785 https://bugs.webkit.org/show_bug.cgi?id=35514 41786 41787 When a table's DOM is changed and an AX Table is not asked first for its children, 41788 it would return wrong information. A table needs to make sure children are up to date in 41789 all methods that can be called from the outside. 41790 41791 Test: platform/mac/accessibility/stale-table-rows.html 41792 41793 * accessibility/AccessibilityARIAGrid.cpp: 41794 (WebCore::AccessibilityARIAGrid::cellForColumnAndRow): 41795 * accessibility/AccessibilityObject.cpp: 41796 (WebCore::AccessibilityObject::clearChildren): 41797 * accessibility/AccessibilityRenderObject.cpp: 41798 (WebCore::AccessibilityRenderObject::clearChildren): 41799 (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary): 41800 (WebCore::AccessibilityRenderObject::children): 41801 * accessibility/AccessibilityRenderObject.h: 41802 (WebCore::AccessibilityRenderObject::needsToUpdateChildren): 41803 (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren): 41804 * accessibility/AccessibilityTable.cpp: 41805 (WebCore::AccessibilityTable::clearChildren): 41806 (WebCore::AccessibilityTable::columns): 41807 (WebCore::AccessibilityTable::rows): 41808 (WebCore::AccessibilityTable::rowHeaders): 41809 (WebCore::AccessibilityTable::columnHeaders): 41810 (WebCore::AccessibilityTable::cells): 41811 (WebCore::AccessibilityTable::columnCount): 41812 (WebCore::AccessibilityTable::rowCount): 41813 (WebCore::AccessibilityTable::cellForColumnAndRow): 41814 41815 2010-03-01 Jakob Petsovits <jpetsovits (a] rim.com> 41816 41817 Reviewed by Adam Barth. 41818 41819 Convert the zoom mode (page vs. text-only) into a proper enum. 41820 https://bugs.webkit.org/show_bug.cgi?id=35347 41821 41822 * GNUmakefile.am: 41823 * WebCore.base.exp: Substituted symbols __ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE 41824 and __ZN7WebCore8Settings11setZoomModeENS_8ZoomModeE for __ZN7WebCore5Frame13setZoomFactorEfb 41825 and __ZN7WebCore8Settings16setZoomsTextOnlyEb, respectively. 41826 * WebCore.gypi: 41827 * WebCore.pro: 41828 * WebCore.vcproj/WebCore.vcproj: 41829 * WebCore.xcodeproj/project.pbxproj: 41830 * page/Frame.cpp: 41831 (WebCore::Frame::zoomMode): 41832 (WebCore::Frame::shouldApplyTextZoom): 41833 (WebCore::Frame::shouldApplyPageZoom): 41834 (WebCore::Frame::setZoomFactor): 41835 * page/Frame.h: 41836 * page/Settings.cpp: 41837 (WebCore::Settings::Settings): 41838 (WebCore::Settings::setZoomMode): 41839 * page/Settings.h: 41840 (WebCore::Settings::zoomMode): 41841 * page/ZoomMode.h: Added. 41842 (WebCore::): 41843 * svg/SVGSVGElement.cpp: 41844 (WebCore::SVGSVGElement::setCurrentScale): 41845 41846 2010-03-01 Alex Milowski <alex (a] milowski.com> 41847 41848 Reviewed by Kenneth Rohde Christiansen. 41849 41850 Added support for the msubsup element that also handles the msup and msub elements. 41851 41852 Test: mathml/presentation/subsup.xhtml 41853 41854 * WebCore.xcodeproj/project.pbxproj: 41855 * mathml/MathMLInlineContainerElement.cpp: 41856 (WebCore::MathMLInlineContainerElement::createRenderer): 41857 * mathml/RenderMathMLSubSup.cpp: Added. 41858 (WebCore::RenderMathMLSubSup::RenderMathMLSubSup): 41859 (WebCore::RenderMathMLSubSup::addChild): 41860 (WebCore::RenderMathMLSubSup::stretchToHeight): 41861 (WebCore::RenderMathMLSubSup::nonOperatorHeight): 41862 (WebCore::RenderMathMLSubSup::layout): 41863 (WebCore::RenderMathMLSubSup::baselinePosition): 41864 * mathml/RenderMathMLSubSup.h: Added. 41865 (WebCore::RenderMathMLSubSup::hasBase): 41866 (WebCore::RenderMathMLSubSup::): 41867 41868 2010-03-01 Pavel Feldman <pfeldman (a] chromium.org> 41869 41870 Reviewed by Timothy Hatcher. 41871 41872 Web Inspector: use dejavu sans mono 11px on linux. 41873 41874 https://bugs.webkit.org/show_bug.cgi?id=35527 41875 41876 * inspector/front-end/inspector.css: 41877 41878 2010-03-01 Thatcher Ulrich <tulrich (a] google.com> 41879 41880 Reviewed by Darin Fisher. 41881 41882 Fix chromium iframe shims. Add another test case to the 41883 iframes-shims test. After r53637, the plugin widget doesn't get 41884 moved every paint. This used to hide the bug that if an iframe 41885 gets added, the plugin's cutout rectangles don't get updated until 41886 a layout happens. 41887 https://bugs.webkit.org/show_bug.cgi?id=35184 41888 41889 * platform/Widget.h: 41890 (WebCore::Widget::widgetPositionsUpdated): new virtual method 41891 widgetPositionsUpdated() to notify widgets when other widgets on 41892 the page have been repositioned. 41893 * rendering/RenderView.cpp: 41894 (WebCore::RenderView::updateWidgetPositions): call widgetPositionsUpdated() on the widgets 41895 * rendering/RenderWidget.cpp: 41896 (WebCore::RenderWidget::widgetPositionsUpdated): call widgetPositionsUpdated() on the widget 41897 * rendering/RenderWidget.h: 41898 41899 2010-03-01 Fridrich Strba <fridrich.strba (a] bluewin.ch> 41900 41901 Reviewed by Holger Freyther. 41902 41903 Dist some mathml related files 41904 41905 * GNUmakefile.am: 41906 41907 2010-03-01 Kenneth Russell <kbr (a] google.com> 41908 41909 Reviewed by Oliver Hunt. 41910 41911 Integer overflow in WebGL arrays 41912 https://bugs.webkit.org/show_bug.cgi?id=35241 41913 41914 Test: fast/canvas/webgl/webgl-array-invalid-ranges.html 41915 41916 * bindings/js/JSWebGLArrayBufferConstructor.cpp: 41917 (WebCore::constructCanvasArrayBuffer): 41918 * bindings/js/JSWebGLArrayBufferConstructor.h: 41919 (WebCore::construct): 41920 * bindings/js/JSWebGLArrayHelper.h: 41921 (WebCore::setWebGLArrayFromArray): 41922 * bindings/js/JSWebGLByteArrayConstructor.cpp: 41923 (WebCore::constructCanvasByteArray): 41924 * bindings/js/JSWebGLFloatArrayConstructor.cpp: 41925 (WebCore::constructCanvasFloatArray): 41926 * bindings/js/JSWebGLIntArrayConstructor.cpp: 41927 (WebCore::constructCanvasIntArray): 41928 * bindings/js/JSWebGLShortArrayConstructor.cpp: 41929 (WebCore::constructCanvasShortArray): 41930 * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: 41931 (WebCore::constructCanvasUnsignedByteArray): 41932 * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: 41933 (WebCore::constructCanvasUnsignedIntArray): 41934 * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: 41935 (WebCore::constructCanvasUnsignedShortArray): 41936 * bindings/v8/V8Binding.cpp: 41937 (WebCore::toUInt32): 41938 * bindings/v8/V8Binding.h: 41939 (WebCore::toUInt32): 41940 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 41941 (WebCore::V8WebGLArrayBuffer::constructorCallback): 41942 * bindings/v8/custom/V8WebGLArrayCustom.h: 41943 (WebCore::constructWebGLArray): 41944 (WebCore::getWebGLArrayElement): 41945 (WebCore::setWebGLArrayFromArray): 41946 (WebCore::setWebGLArray): 41947 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 41948 (WebCore::V8WebGLByteArray::constructorCallback): 41949 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 41950 (WebCore::V8WebGLFloatArray::constructorCallback): 41951 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 41952 (WebCore::V8WebGLIntArray::constructorCallback): 41953 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 41954 (WebCore::V8WebGLShortArray::constructorCallback): 41955 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 41956 (WebCore::V8WebGLUnsignedByteArray::constructorCallback): 41957 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 41958 (WebCore::V8WebGLUnsignedIntArray::constructorCallback): 41959 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 41960 (WebCore::V8WebGLUnsignedShortArray::constructorCallback): 41961 * html/canvas/WebGLArray.cpp: 41962 (WebCore::WebGLArray::setImpl): 41963 * html/canvas/WebGLArray.h: 41964 (WebCore::WebGLArray::verifySubRange): 41965 (WebCore::WebGLArray::clampOffsetAndNumElements): 41966 * html/canvas/WebGLArrayBuffer.cpp: 41967 (WebCore::WebGLArrayBuffer::create): 41968 (WebCore::WebGLArrayBuffer::WebGLArrayBuffer): 41969 (WebCore::WebGLArrayBuffer::tryAllocate): 41970 * html/canvas/WebGLArrayBuffer.h: 41971 * html/canvas/WebGLByteArray.cpp: 41972 (WebCore::WebGLByteArray::create): 41973 (WebCore::WebGLByteArray::WebGLByteArray): 41974 (WebCore::WebGLByteArray::slice): 41975 * html/canvas/WebGLByteArray.h: 41976 * html/canvas/WebGLFloatArray.cpp: 41977 (WebCore::WebGLFloatArray::create): 41978 (WebCore::WebGLFloatArray::WebGLFloatArray): 41979 (WebCore::WebGLFloatArray::slice): 41980 * html/canvas/WebGLFloatArray.h: 41981 * html/canvas/WebGLIntArray.cpp: 41982 (WebCore::WebGLIntArray::create): 41983 (WebCore::WebGLIntArray::WebGLIntArray): 41984 (WebCore::WebGLIntArray::slice): 41985 * html/canvas/WebGLIntArray.h: 41986 * html/canvas/WebGLShortArray.cpp: 41987 (WebCore::WebGLShortArray::create): 41988 (WebCore::WebGLShortArray::WebGLShortArray): 41989 (WebCore::WebGLShortArray::slice): 41990 * html/canvas/WebGLShortArray.h: 41991 * html/canvas/WebGLUnsignedByteArray.cpp: 41992 (WebCore::WebGLUnsignedByteArray::create): 41993 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray): 41994 (WebCore::WebGLUnsignedByteArray::slice): 41995 * html/canvas/WebGLUnsignedByteArray.h: 41996 * html/canvas/WebGLUnsignedIntArray.cpp: 41997 (WebCore::WebGLUnsignedIntArray::create): 41998 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray): 41999 (WebCore::WebGLUnsignedIntArray::slice): 42000 * html/canvas/WebGLUnsignedIntArray.h: 42001 * html/canvas/WebGLUnsignedShortArray.cpp: 42002 (WebCore::WebGLUnsignedShortArray::create): 42003 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray): 42004 (WebCore::WebGLUnsignedShortArray::slice): 42005 * html/canvas/WebGLUnsignedShortArray.h: 42006 42007 2010-03-01 Brady Eidson <beidson (a] apple.com> 42008 42009 Reviewed by Sam Weinig. 42010 42011 REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken. 42012 <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532 42013 42014 Test: fast/loader/api-test-go-to-current-back-forward-item.html 42015 42016 * loader/FrameLoader.cpp: 42017 (WebCore::FrameLoader::loadItem): If the current item is the same as the target item, don't 42018 consider this to be a same document navigation. 42019 42020 * page/Page.cpp: 42021 (WebCore::Page::goToItem): Hard code the "going to the same item as the current item" relationship 42022 as a precondition for stopping all loaders, as that will be a new document load. 42023 42024 2010-03-01 Robert Hogan <robert (a] webkit.org> 42025 42026 Reviewed by nobody, build fix. 42027 42028 Fix --minimal build. Add ENABLE(DATABASE) as compile time condition 42029 for building file GeolocationPositionCache.cpp. 42030 42031 * page/GeolocationPositionCache.cpp: 42032 42033 2010-03-01 Jakob Petsovits <jpetsovits (a] rim.com> 42034 42035 Reviewed by Dirk Schulze. 42036 42037 [OpenVG] Implement support for paths 42038 https://bugs.webkit.org/show_bug.cgi?id=34366 42039 42040 Adds an implementation of the Path class - 42041 *almost* complete, but not quite because OpenVG 42042 does not provide access to the points in a VGPath 42043 unless one keeps track of all the points by 42044 themselves, which we decided not to do. 42045 42046 Also hooked up to PainterOpenVG and GraphicsContext. 42047 42048 Further introduced is SharedResourceOpenVG, which is 42049 intended as base class for paths and other OpenVG 42050 resources (images, fonts) that WebKit creates as 42051 long-lived objects. We are at a slight disadvantage 42052 here as WebKit doesn't have the concept of resources 42053 belonging to a specific (hardware graphics) context, 42054 which is the reason why EGLDisplayOpenVG had to 42055 provide a current display singleton; this class is 42056 what actually requires that functionality. 42057 42058 Path::addArcTo() uses code by Yong Li <yoli (a] rim.com>. 42059 42060 * platform/graphics/Path.cpp: 42061 * platform/graphics/Path.h: 42062 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 42063 (WebCore::GraphicsContext::fillPath): 42064 (WebCore::GraphicsContext::strokePath): 42065 (WebCore::GraphicsContext::drawPath): 42066 (WebCore::GraphicsContext::beginPath): 42067 (WebCore::GraphicsContext::addPath): 42068 * platform/graphics/openvg/PainterOpenVG.cpp: 42069 (WebCore::PainterOpenVG::PainterOpenVG): 42070 (WebCore::PainterOpenVG::~PainterOpenVG): 42071 (WebCore::PainterOpenVG::transformPath): 42072 (WebCore::PainterOpenVG::beginPath): 42073 (WebCore::PainterOpenVG::addPath): 42074 (WebCore::PainterOpenVG::currentPath): 42075 (WebCore::PainterOpenVG::drawPath): 42076 * platform/graphics/openvg/PainterOpenVG.h: 42077 * platform/graphics/openvg/PathOpenVG.cpp: Added. 42078 (WebCore::PlatformPathOpenVG::PlatformPathOpenVG): 42079 (WebCore::PlatformPathOpenVG::operator=): 42080 (WebCore::PlatformPathOpenVG::~PlatformPathOpenVG): 42081 (WebCore::PlatformPathOpenVG::clear): 42082 (WebCore::PlatformPathOpenVG::createPath): 42083 (WebCore::Path::Path): 42084 (WebCore::Path::~Path): 42085 (WebCore::Path::operator=): 42086 (WebCore::Path::contains): 42087 (WebCore::Path::strokeContains): 42088 (WebCore::Path::translate): 42089 (WebCore::Path::boundingRect): 42090 (WebCore::Path::strokeBoundingRect): 42091 (WebCore::Path::moveTo): 42092 (WebCore::Path::addLineTo): 42093 (WebCore::Path::addQuadCurveTo): 42094 (WebCore::Path::addBezierCurveTo): 42095 (WebCore::Path::addArcTo): 42096 (WebCore::Path::closeSubpath): 42097 (WebCore::Path::addArc): 42098 (WebCore::Path::addRect): 42099 (WebCore::Path::addEllipse): 42100 (WebCore::Path::clear): 42101 (WebCore::Path::isEmpty): 42102 (WebCore::Path::hasCurrentPoint): 42103 (WebCore::Path::debugString): 42104 (WebCore::Path::apply): 42105 (WebCore::Path::transform): 42106 (WebCore::Path::length): 42107 (WebCore::Path::pointAtLength): 42108 (WebCore::Path::normalAngleAtLength): 42109 * platform/graphics/openvg/PlatformPathOpenVG.h: Added. 42110 (WebCore::PlatformPathOpenVG::vgPath): 42111 * platform/graphics/openvg/SharedResourceOpenVG.cpp: Added. 42112 (WebCore::SharedResourceOpenVG::makeSharedContextCurrent): 42113 (WebCore::SharedResourceOpenVG::makeCompatibleContextCurrent): 42114 * platform/graphics/openvg/SharedResourceOpenVG.h: Added. 42115 42116 2010-03-01 Pavel Feldman <pfeldman (a] chromium.org> 42117 42118 Not reviewed, bring English.lproj/locallizedStrings.js back to binary (UTF) mode. 42119 42120 * English.lproj/localizedStrings.js: 42121 42122 2010-03-01 Jakob Petsovits <jpetsovits (a] rim.com> 42123 42124 Reviewed by Nikolas Zimmermann. 42125 42126 [OpenVG] Convert from TransformationMatrix to AffineTransform. 42127 https://bugs.webkit.org/show_bug.cgi?id=35445 42128 42129 Dirk Schulze previously introduced AffineTransform as 42130 replacement for most TransformationMatrix occurrences 42131 in GraphicsContext & Co., but did not update the OpenVG 42132 graphics backend as there's no publicly available way 42133 to build it. This commit now takes care of that. 42134 42135 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 42136 (WebCore::GraphicsContext::getCTM): 42137 (WebCore::GraphicsContext::roundToDevicePixels): 42138 (WebCore::GraphicsContext::origin): 42139 (WebCore::GraphicsContext::concatCTM): 42140 * platform/graphics/openvg/PainterOpenVG.cpp: 42141 (WebCore::isNonRotatedAffineTransformation): 42142 (WebCore::PlatformPainterState::PlatformPainterState): 42143 (WebCore::PlatformPainterState::applyState): 42144 (WebCore::PlatformPainterState::applyTransformation): 42145 (WebCore::PainterOpenVG::transformation): 42146 (WebCore::PainterOpenVG::concatTransformation): 42147 (WebCore::PainterOpenVG::setTransformation): 42148 (WebCore::PainterOpenVG::scale): 42149 (WebCore::PainterOpenVG::rotate): 42150 (WebCore::PainterOpenVG::translate): 42151 (WebCore::PainterOpenVG::intersectClipRect): 42152 * platform/graphics/openvg/PainterOpenVG.h: 42153 * platform/graphics/openvg/VGUtils.cpp: 42154 (WebCore::VGMatrix::VGMatrix): 42155 (WebCore::VGMatrix::operator AffineTransform): 42156 (WebCore::VGMatrix::operator TransformationMatrix): 42157 (WebCore::AffineTransform::operator VGMatrix): 42158 * platform/graphics/openvg/VGUtils.h: 42159 * platform/graphics/transforms/AffineTransform.h: 42160 42161 2010-03-01 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 42162 42163 Reviewed by Simon Hausmann. 42164 42165 [Qt] Fix segfault when drawing NPAPI plugins on Mac 42166 42167 Don't try to get a contexctRef for a null-pixmap. If the pixmap 42168 size is 0,0 the private pixmap data has not yet been initialized. 42169 42170 * plugins/mac/PluginViewMac.cpp: 42171 42172 2010-03-01 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 42173 42174 Reviewed by Simon Hausmann. 42175 42176 Fix the Qt build on Mac OS X/Cocoa 64-bit 42177 42178 Use the proper event/drawing-model guards instead of global 64-bit 42179 guard for the NPAPI plugin implementation (view and package). 42180 42181 * plugins/mac/PluginPackageMac.cpp: Change guards and fix warning 42182 * plugins/mac/PluginViewMac.cpp: Remove 64-bit guard 42183 42184 2010-02-27 Pavel Feldman <pfeldman (a] chromium.org> 42185 42186 Reviewed by Timothy Hatcher. 42187 42188 Web Inspector: disable breakpoint upon Shift-click. 42189 42190 https://bugs.webkit.org/show_bug.cgi?id=35477 42191 42192 * inspector/front-end/ConsoleView.js: 42193 (WebInspector.ConsoleView.prototype._format): 42194 * inspector/front-end/SourceFrame.js: 42195 (WebInspector.SourceFrame.prototype._mouseDown): 42196 (WebInspector.SourceFrame.prototype._mouseMove): 42197 * inspector/front-end/textViewer.css: 42198 42199 2010-02-28 Alexey Proskuryakov <ap (a] apple.com> 42200 42201 Reviewed by Dan Bernstein. 42202 42203 https://bugs.webkit.org/show_bug.cgi?id=35496 42204 <rdar://problem/7663444> Opening newsweek.com and youtube.com has become very slow in debug builds 42205 42206 * css/CSSStyleSelector.cpp: 42207 (WebCore::CSSRuleSet::getIDRules): 42208 (WebCore::CSSRuleSet::getClassRules): 42209 (WebCore::CSSRuleSet::getTagRules): 42210 Removed consistency checks, as they affect performance too much in this case. 42211 42212 2010-02-28 Robert Hogan <robert (a] roberthogan.net> 42213 42214 Reviewed by Simon Hausmann. 42215 42216 [Qt] Support private browsing mode in plugins 42217 42218 Add support for NPNVprivateModeBool property in plugins. 42219 42220 See also: https://developer.mozilla.org/En/Supporting_private_browsing_in_plugins 42221 42222 The NPNVprivateModeBool property is supported as scriptable property privateBrowsingEnabled 42223 in the test WebKit plugin. The Mac platform also supports a cachedPrivateBrowsingEnabled 42224 property implemented in the test plugin. This allows the Layout test 42225 plugins/private-browsing-mode.html to retrieve the previous value of NPNVprivateModeBool 42226 in the test plugin. Due to the platform-specific overhead required to support this bespoke 42227 property it is not implemented as part of this patch, instead a new test, 42228 plugins/private-browsing-mode-2.html, is added to ensure that setting and resetting 42229 privateBrowsingEnabled works as expected. 42230 42231 http://bugs.webkit.org/show_bug.cgi?id=33180 42232 42233 Test: plugins/private-browsing-mode-2.html 42234 42235 * plugins/qt/PluginViewQt.cpp: 42236 (WebCore::PluginView::getValue): 42237 42238 42239 2010-02-27 Joseph Pecoraro <joepeck (a] webkit.org> 42240 42241 Reviewed by Timothy Hatcher. 42242 42243 Web Inspector shouldn't show a white color box for "-webkit-line-break: after-white-space" 42244 https://bugs.webkit.org/show_bug.cgi?id=33478 42245 42246 * inspector/front-end/StylesSidebarPane.js: 42247 42248 2010-02-27 Dan Bernstein <mitz (a] apple.com> 42249 42250 Reviewed by Maciej Stachowiak. 42251 42252 <rdar://problem/7696607> Links do not respect -webkit-user-drag: none 42253 https://bugs.webkit.org/show_bug.cgi?id=35475 42254 42255 Test: fast/css/user-drag-none.html 42256 42257 * page/DragController.cpp: 42258 (WebCore::DragController::mayStartDragAtEventLocation): Added a node 42259 parameter. The image drag check is done against the node, rather than 42260 than against the hit test result. This prevents a non-draggable image 42261 with an auto-draggable ancestor from being dragged alone. The link drag 42262 check now ignores links that are -webkit-user-drag: none. 42263 * page/DragController.h: 42264 * page/EventHandler.cpp: 42265 (WebCore::EventHandler::shouldDragAutoNode): Pass the current node 42266 to mayStartDragAtEventLocation(). 42267 42268 2010-02-27 Pavel Feldman <pfeldman (a] chromium.org> 42269 42270 Reviewed by Timothy Hatcher. 42271 42272 Web Inspector: REGRESSION: hangs when scrolling in Resource pane. 42273 42274 https://bugs.webkit.org/show_bug.cgi?id=35216 42275 42276 * inspector/front-end/TextEditorHighlighter.js: 42277 (WebInspector.TextEditorHighlighter): 42278 (WebInspector.TextEditorHighlighter.prototype.highlight): 42279 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks): 42280 (WebInspector.TextEditorHighlighter.prototype._highlightLines): 42281 42282 2010-02-27 Xan Lopez <xlopez (a] igalia.com> 42283 42284 Reviewed by Gustavo Noronha. 42285 42286 Abort XEmbed plugin initialization if our parent is not anchored 42287 in a widget hierarchy. This can happen when the browser window is 42288 destroyed while the plugin is being loaded, and will lead to a 42289 crash. 42290 42291 * plugins/gtk/PluginViewGtk.cpp: 42292 (WebCore::PluginView::platformStart): 42293 42294 2010-02-26 Pavel Feldman <pfeldman (a] chromium.org> 42295 42296 Reviewed by Timothy Hatcher. 42297 42298 Web Inspector: reload inspected page on Cmd+R / Ctrl+R / F5 key event in inspector. 42299 Drive-by fix for couple of minor front-end problems. 42300 42301 https://bugs.webkit.org/show_bug.cgi?id=35434 42302 42303 * inspector/InspectorBackend.cpp: 42304 (WebCore::InspectorBackend::reloadPage): 42305 * inspector/InspectorBackend.h: 42306 * inspector/InspectorBackend.idl: 42307 * inspector/InspectorController.cpp: 42308 (WebCore::InspectorController::didFinishLoading): 42309 (WebCore::InspectorController::didFailLoading): 42310 * inspector/front-end/InspectorBackendStub.js: 42311 (.WebInspector.InspectorBackendStub.prototype.reloadPage): 42312 * inspector/front-end/InspectorFrontendHostStub.js: 42313 (.WebInspector.InspectorFrontendHostStub.prototype.copyText): 42314 (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow): 42315 * inspector/front-end/TextViewer.js: 42316 (WebInspector.TextViewer.prototype._paintLine): 42317 * inspector/front-end/inspector.js: 42318 (WebInspector.documentKeyDown): 42319 (WebInspector.toggleAttach): 42320 42321 2010-02-26 Leandro Pereira <leandro (a] profusion.mobi> 42322 42323 Reviewed by Kenneth Rohde Christiansen. 42324 42325 Add EFL port files to platform/efl. 42326 http://webkit.org/b/35087 42327 42328 * platform/efl/ScrollbarEfl.cpp: Added. 42329 * platform/efl/EventLoopEfl.cpp: Added. 42330 * platform/efl/PlatformKeyboardEventEfl.cpp: Added. 42331 * platform/efl/DragImageEfl.cpp: Added. 42332 * platform/efl/PlatformMouseEventEfl.cpp: Added. 42333 42334 2010-02-26 Leandro Pereira <leandro (a] profusion.mobi> 42335 42336 Reviewed by Kenneth Rohde Christiansen. 42337 42338 Add EFL port files to platform/efl. 42339 http://webkit.org/b/35087 42340 42341 * platform/efl/CursorEfl.cpp: Added. 42342 * platform/efl/LocalizedStringsEfl.cpp: Added. 42343 * platform/efl/SearchPopupMenuEfl.cpp: Added. 42344 42345 2010-02-26 Leandro Pereira <leandro (a] profusion.mobi> 42346 42347 Reviewed by Kenneth Rohde Christiansen. 42348 42349 Add EFL port files to page/efl. 42350 http://webkit.org/b/35087 42351 42352 * WebCore/page/efl/DragControllerEfl.cpp: Added. 42353 * WebCore/page/efl/FrameEfl.cpp: Added. 42354 * WebCore/page/efl/AccessibilityObjectEfl.cpp: Added. 42355 * WebCore/page/efl/EventHandlerEfl.cpp: Added. 42356 42357 2010-02-26 Leandro Pereira <leandro (a] profusion.mobi> 42358 42359 Reviewed by Kenneth Rohde Christiansen. 42360 42361 Add EFL port files to platform/efl. 42362 http://webkit.org/b/35087 42363 42364 * WebCore/platform/efl/LoggingEfl.cpp: Added. 42365 * WebCore/platform/efl/ScrollbarThemeEfl.cpp: Added. 42366 * WebCore/platform/efl/TemporaryLinkStubs.cpp: Added. 42367 * WebCore/platform/efl/ScrollViewEfl.cpp: Added. 42368 * WebCore/platform/efl/SharedBufferEfl.cpp: Added. 42369 * WebCore/platform/efl/DragDataEfl.cpp: Added. 42370 42371 2010-02-26 Leandro Pereira <leandro (a] profusion.mobi> 42372 42373 Reviewed by Kenneth Rohde Christiansen. 42374 42375 Add EFL port files to platform/efl. 42376 http://webkit.org/b/35087 42377 42378 * WebCore/platform/efl/RenderThemeEfl.cpp: Added. 42379 42380 2010-02-26 Leandro Pereira <leandro (a] profusion.mobi> 42381 42382 Reviewed by Kenneth Rohde Christiansen. 42383 42384 Add EFL port files to platform/efl. 42385 http://webkit.org/b/35087 42386 42387 * WebCore/platform/efl/PlatformWheelEventEfl.cpp: Added. 42388 * WebCore/platform/efl/FileChooserEfl.cpp: Added. 42389 * WebCore/platform/efl/ContextMenuEfl.cpp: Added. 42390 * WebCore/platform/efl/PlatformScreenEfl.cpp: Added. 42391 * WebCore/platform/efl/WidgetEfl.cpp: Added. 42392 42393 2010-02-26 Adam Barth <abarth (a] webkit.org> 42394 42395 Reviewed by Darin Fisher. 42396 42397 Expose an API for ports to add schemes to the mixed content whitelist 42398 https://bugs.webkit.org/show_bug.cgi?id=35438 42399 42400 Add a notion of a "secure" scheme that doesn't trigger mixed content 42401 warnings. Let folks register new secure schemes in the same way they 42402 can register "local" schemes. 42403 42404 * loader/FrameLoader.cpp: 42405 (WebCore::FrameLoader::isMixedContent): 42406 * page/SecurityOrigin.cpp: 42407 (WebCore::secureSchemes): 42408 (WebCore::SecurityOrigin::registerURLSchemeAsSecure): 42409 (WebCore::SecurityOrigin::shouldTreatURLSchemeAsSecure): 42410 * page/SecurityOrigin.h: 42411 42412 2010-02-26 Noam Rosenthal <noam.rosenthal (a] nokia.com> 42413 42414 Reviewed by Kenneth Rohde Christiansen. 42415 42416 [Qt] GraphicsLayerQt: artifacts and wrong transformOrigin 42417 This was due to wrong way of applying cache-mode and transformation 42418 on a graphics-item with HTML. Cache-mode should be updated 42419 when the content type updates, even if it was the same cache-mode 42420 42421 https://bugs.webkit.org/show_bug.cgi?id=35382 42422 42423 Test URL attached to the bug now works correctly. 42424 42425 * platform/graphics/qt/GraphicsLayerQt.cpp: 42426 (WebCore::GraphicsLayerQtImpl::computeTransform): 42427 (WebCore::GraphicsLayerQtImpl::flushChanges): 42428 42429 2010-02-26 Luiz Agostini <luiz.agostini (a] openbossa.org> 42430 42431 Reviewed by Kenneth Rohde Christiansen. 42432 42433 Qt/Mac: Revert null timer removal (r51105) 42434 https://bugs.webkit.org/show_bug.cgi?id=35396 42435 42436 r51105 removed the null timer event of the carbon event model. This however 42437 breaks the flash of many sites. 42438 42439 Applying patch suggested by Girish Ramakrishnan in bug comment #1. 42440 42441 * plugins/PluginView.h: 42442 * plugins/mac/PluginViewMac.cpp: 42443 (WebCore::PluginView::platformStart): 42444 (WebCore::PluginView::handleMouseEvent): 42445 (WebCore::PluginView::nullEventTimerFired): 42446 (WebCore::PluginView::mousePosForPlugin): 42447 42448 2010-02-26 Noam Rosenthal <noam.rosenthal (a] nokia.com> 42449 42450 Reviewed by Kenneth Rohde Christiansen. 42451 42452 [Qt] Compile error with 3d-canvas 42453 Replaced a direct gl call with a getProcAddress call 42454 https://bugs.webkit.org/show_bug.cgi?id=35448 42455 42456 No new tests. 42457 42458 * platform/graphics/qt/GraphicsContext3DQt.cpp: 42459 (WebCore::GraphicsContext3D::blendColor): 42460 42461 2010-02-26 Kwang Yul Seo <skyul (a] company100.net> 42462 42463 Reviewed by Kenneth Rohde Christiansen. 42464 42465 [BREWMP] Port EventHandler 42466 https://bugs.webkit.org/show_bug.cgi?id=34796 42467 42468 Add platform-specific code required to implement EventHandler. 42469 42470 * page/brew/EventHandlerBrew.cpp: Added. 42471 (WebCore::EventHandler::tabsToAllControls): 42472 (WebCore::EventHandler::focusDocumentView): 42473 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 42474 (WebCore::EventHandler::passMouseDownEventToWidget): 42475 (WebCore::EventHandler::eventActivatedView): 42476 (WebCore::EventHandler::passSubframeEventToSubframe): 42477 (WebCore::EventHandler::passWheelEventToWidget): 42478 (WebCore::EventHandler::passMousePressEventToSubframe): 42479 (WebCore::EventHandler::passMouseMoveEventToSubframe): 42480 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 42481 (WebCore::EventHandler::accessKeyModifiers): 42482 42483 2010-02-26 Leandro Pereira <leandro (a] profusion.mobi> 42484 42485 Reviewed by Kenneth Rohde Christiansen. 42486 42487 Add EFL port files to platform/efl. 42488 http://webkit.org/b/35087 42489 42490 * WebCore/platform/efl/ClipboardEfl.cpp: Added. 42491 * WebCore/platform/efl/PopupMenuEfl.cpp: Added. 42492 * WebCore/platform/efl/SharedTimerEfl.cpp: Added. 42493 * WebCore/platform/efl/RenderThemeEfl.h: Added. 42494 * WebCore/platform/efl/Language.cpp: Added. 42495 * WebCore/platform/efl/CookieJarEfl.cpp: Added. 42496 * WebCore/platform/efl/MIMETypeRegistryEfl.cpp: Added. 42497 42498 2010-02-26 Robert Kroeger <rjkroege (a] chromium.org> 42499 42500 Reviewed by Nate Chapin 42501 42502 To fire each event handler registered on an SVG node once per 42503 event, Chromium needs an implementation of wasCreatedFromMarkup 42504 added to V8LazyEventListener.h that matches the one in 42505 WebKit/WebCore/bindings/js/JSLazyEventListener.h. 42506 42507 This patch adds such a matching implementation of wasCreatedFromMarkup 42508 to V8LazyEventListener.h. 42509 42510 https://bugs.webkit.org/show_bug.cgi?id=35325 42511 42512 * bindings/v8/V8LazyEventListener.h: 42513 (WebCore::V8LazyEventListener::wasCreatedFromMarkup): 42514 42515 2010-02-26 Arno Renevier <arno (a] renevier.net> 42516 42517 Reviewed by Gustavo Noronha Silva. 42518 42519 [Gtk] use geoclue_position_get_position_async to get geolocation position. 42520 https://bugs.webkit.org/show_bug.cgi?id=35355 42521 42522 No new tests, behaviour depends on system. 42523 42524 * platform/gtk/GeolocationServiceGtk.cpp: 42525 (WebCore::GeolocationServiceGtk::startUpdating): 42526 (WebCore::GeolocationServiceGtk::get_position): 42527 * platform/gtk/GeolocationServiceGtk.h: 42528 42529 2010-02-26 Yaar Schnitman <yaar (a] chromium.org> 42530 42531 Chromium Win build fix. 42532 42533 * WebCore.gyp/WebCore.gyp: Added missing file to action input. 42534 42535 2010-02-12 Brett Wilson <brettw (a] chromium.org> 42536 42537 Reviewed by Adam Barth. 42538 42539 Update the Google-URL version of KURL and the V8 bindings to the new 42540 behavior of KURL.IsStandard. 42541 42542 https://bugs.webkit.org/show_bug.cgi?id=34859 42543 42544 This is covered by fast/dom/Window/invalid-protocol.html 42545 42546 * bindings/v8/custom/V8LocationCustom.cpp: 42547 (WebCore::V8Location::protocolAccessorSetter): 42548 * platform/KURLGoogle.cpp: 42549 (WebCore::KURL::setProtocol): 42550 (WebCore::KURL::isHierarchical): 42551 42552 2010-02-26 Gavin Barraclough <barraclough (a] apple.com> 42553 42554 Reviewed by NOBODY (Build fix following r55312). 42555 42556 * bridge/qt/qt_pixmapruntime.cpp: 42557 (JSC::Bindings::QtPixmapInstance::invokeMethod): 42558 42559 2010-02-26 Yaar Schnitman <yaar (a] chromium.org> 42560 42561 Reviewed by Dimitri Glazkov. 42562 42563 [V8] Auto-generate and split DerivedSourcesAllInOne.cpp 42564 https://bugs.webkit.org/show_bug.cgi?id=33048 42565 42566 * WebCore.gyp/WebCore.gyp: 42567 * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Added. 42568 * bindings/v8/DerivedSourcesAllInOne.cpp: Removed. 42569 42570 2010-02-26 Gavin Barraclough <barraclough (a] apple.com> 42571 42572 Reviewed by NOBODY (Build fix following r55312). 42573 42574 * bridge/qt/qt_pixmapruntime.cpp: 42575 (JSC::Bindings::QtPixmapInstance::invokeMethod): 42576 42577 2010-02-26 Alexey Proskuryakov <ap (a] apple.com> 42578 42579 Reviewed by Anders Carlsson. 42580 42581 https://bugs.webkit.org/show_bug.cgi?id=35450 42582 Crash when a Java array property accessor raises an exception 42583 42584 Test: java/inaccessible-class.html 42585 42586 * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): Check if the result 42587 is null before interpreting it as an object or array. 42588 42589 2010-02-26 Dirk Schulze <krit (a] webkit.org> 42590 42591 Reviewed by Nikolas Zimmermann. 42592 42593 Extend AffineTransform to mapQuad 42594 https://bugs.webkit.org/show_bug.cgi?id=35444 42595 42596 This makes mapQuad available for AffineTransform. So that platforms 42597 can make use of it after the switch from TransformationMatrix to 42598 AffineTransform in GraphicsContext. 42599 42600 * platform/graphics/transforms/AffineTransform.cpp: 42601 (WebCore::AffineTransform::mapRect): mapRect already did the calculation for mapQuad but gave back the 42602 boundingBox of the resulting FloatQuad. 42603 (WebCore::AffineTransform::mapQuad): 42604 * platform/graphics/transforms/AffineTransform.h: 42605 42606 2010-02-26 Brady Eidson <beidson (a] apple.com> 42607 42608 Reviewed by Pavel Feldman. 42609 42610 Arrow keys do not scroll source view in Resources pane or Scripts pane. 42611 <rdar://problem/7594367> and https://bugs.webkit.org/show_bug.cgi?id=34356 42612 42613 Handle vertical scrolling in the Text Viewer: 42614 * inspector/front-end/TextViewer.js: 42615 (WebInspector.TextViewer): Listen for the keydown event. 42616 (WebInspector.TextViewer.prototype._handleKeyDown): If the event has no modifiers and refers 42617 to an arrow key, scroll. The horizontal values were ripped from the default "pixels per scroll line" 42618 value in ScrollBar.h. 42619 42620 2010-02-26 Gavin Barraclough <barraclough (a] apple.com> 42621 42622 Reviewed by Alexey Proskuryakov. 42623 42624 Bug 35401 - Fix handling of errors in handling calls over bridge, 42625 where base object bridge-type does not match method bridge-type. 42626 42627 The code assumes users will only attempt to invoke a Java method 42628 on a Java base object, etc. 42629 Add language specific subclasses of RuntimeMethod, and pass the 42630 RuntimeMethod into invokeMethod, so we can typecheck before 42631 casting. Throw an exception on type mismatch. 42632 42633 * WebCore.base.exp: 42634 * WebCore.xcodeproj/project.pbxproj: 42635 * bridge/c/c_instance.cpp: 42636 (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):new class to distinguish this type of RuntimeMethod. 42637 (JSC::Bindings::CInstance::getMethod): create an appropriate sublclass of RuntimeMethod. 42638 (JSC::Bindings::CInstance::invokeMethod): dynamically check the type of the RuntimeMethod. 42639 * bridge/c/c_instance.h: 42640 * bridge/jni/jsc/JavaInstanceJSC.cpp: 42641 (JavaRuntimeMethod::JavaRuntimeMethod): new class to distinguish this type of RuntimeMethod. 42642 (JavaInstance::getMethod): create an appropriate sublclass of RuntimeMethod. 42643 (JavaInstance::invokeMethod): dynamically check the type of the RuntimeMethod. 42644 * bridge/jni/jsc/JavaInstanceJSC.h: 42645 * bridge/jsc/BridgeJSC.h: 42646 * bridge/objc/objc_instance.h: 42647 * bridge/objc/objc_instance.mm: 42648 (ObjcRuntimeMethod::ObjcRuntimeMethod): new class to distinguish this type of RuntimeMethod. 42649 (ObjcInstance::getMethod): create an appropriate sublclass of RuntimeMethod. 42650 (ObjcInstance::invokeMethod): dynamically check the type of the RuntimeMethod. 42651 (ObjcInstance::invokeObjcMethod): new method, takes an ObjcMethod* as an argument so that we don't need to dynamically determine the type. 42652 * bridge/objc/objc_runtime.mm: 42653 (JSC::Bindings::callObjCFallbackObject): use new invokeObjcMethod method. 42654 * bridge/runtime_method.cpp: 42655 (JSC::callRuntimeMethod): pass RuntimeMethod as argument to invokeMethod, rather than its MethodList. 42656 * bridge/runtime_object.cpp: 42657 (JSC::RuntimeObject::methodGetter): use new getMethod method. 42658 42659 2010-02-26 Oliver Hunt <oliver (a] apple.com> 42660 42661 Reviewed by Geoff Garen. 42662 42663 Make the lookup table generator include an explicit cast to expected 42664 type of the function. We do this because otherwise the blind intptr_t 42665 cast that is subsequently applied allows incorrectly typed functions 42666 to be inserted into the table, where they will only fail at runtime. 42667 This change makes such errors produce a compile time failure. 42668 42669 * WebCore.xcodeproj/project.pbxproj: 42670 * bindings/scripts/CodeGeneratorJS.pm: 42671 42672 2010-02-26 Alex Milowski <alex (a] milowski.com> 42673 42674 Reviewed by Kenneth Rohde Christiansen. 42675 42676 Added basic support for the munder, munderover, and mover elements. 42677 42678 Tests: mathml/presentation/over.xhtml 42679 mathml/presentation/under.xhtml 42680 mathml/presentation/underover.xhtml 42681 42682 * WebCore.xcodeproj/project.pbxproj: 42683 * mathml/MathMLInlineContainerElement.cpp: 42684 (WebCore::MathMLInlineContainerElement::createRenderer): 42685 * mathml/RenderMathMLUnderOver.cpp: Added. 42686 (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): 42687 (WebCore::RenderMathMLUnderOver::addChild): 42688 (WebCore::getOffsetHeight): 42689 (WebCore::RenderMathMLUnderOver::stretchToHeight): 42690 (WebCore::RenderMathMLUnderOver::layout): 42691 (WebCore::RenderMathMLUnderOver::baselinePosition): 42692 (WebCore::RenderMathMLUnderOver::nonOperatorHeight): 42693 * mathml/RenderMathMLUnderOver.h: Added. 42694 (WebCore::RenderMathMLUnderOver::hasBase): 42695 (WebCore::RenderMathMLUnderOver::): 42696 42697 2010-02-24 Stephen White <senorblanco (a] chromium.org> 42698 42699 Reviewed by Darin Adler. 42700 42701 This CL implements a simple ad-hoc parser for CSS rgb() values. 42702 If it fails, it returns false and the normal lex/yacc parser will 42703 be invoked. 42704 42705 https://bugs.webkit.org/show_bug.cgi?id=35362 42706 42707 Covered by fast/canvas/canvas-bg.html, fast/canvas/canvas-bg-zoom.html, 42708 and many more. 42709 42710 * css/CSSParser.cpp: 42711 (WebCore::parseInt): 42712 (WebCore::CSSParser::parseColor): 42713 42714 2010-02-26 Jarkko Sakkinen <jarkko.sakkinen (a] tieto.com> 42715 42716 Reviewed by Kenneth Rohde Christiansen. 42717 42718 https://bugs.webkit.org/show_bug.cgi?id=35419 42719 3D canvas did not update when WTF_USE_ACCELERATED_COMPOSITING 42720 was enabled but not from run-time settings. Added run-time 42721 check that compositing is enabled. 42722 42723 * html/canvas/WebGLRenderingContext.cpp: 42724 (WebCore::WebGLRenderingContext::markContextChanged): 42725 42726 2010-02-26 Jarkko Sakkinen <jarkko.sakkinen (a] tieto.com> 42727 42728 Reviewed by Kenneth Rohde Christiansen. 42729 42730 Compilation failed because functions glSampleCoverage, glBlendEquation 42731 and glActiveTexture were not available. 42732 https://bugs.webkit.org/show_bug.cgi?id=35423 42733 42734 * platform/graphics/qt/GraphicsContext3DQt.cpp: 42735 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 42736 (WebCore::GraphicsContext3D::activeTexture): 42737 (WebCore::GraphicsContext3D::blendEquation): 42738 (WebCore::GraphicsContext3D::sampleCoverage): 42739 42740 2010-02-26 Jarkko Sakkinen <jarkko.sakkinen (a] tieto.com> 42741 42742 Reviewed by Kenneth Rohde Christiansen. 42743 42744 https://bugs.webkit.org/show_bug.cgi?id=35380 42745 Fixed compilation error when WTF_USE_ACCELERATED_COMPOSITING=0 42746 42747 * css/MediaQueryEvaluator.cpp: 42748 (WebCore::transform_3dMediaFeatureEval): 42749 42750 2010-02-26 Nicholas Young <nicholas.young (a] nokia.com> 42751 42752 Reviewed by Tor Arne Vestb. 42753 42754 [Qt] Incorrect painting after a size changed. 42755 https://bugs.webkit.org/show_bug.cgi?id=35412 42756 42757 No new tests. Bug fix in backend. 42758 42759 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 42760 (WebCore::MediaPlayerPrivate::paint): Provide the source rectangle, rather than inferring it. 42761 42762 2010-02-26 Nicholas Young <nicholas.young (a] nokia.com> 42763 42764 Reviewed by Tor Arne Vestb. 42765 42766 [Qt] Incorrect handling of MIME types in Media Player 42767 https://bugs.webkit.org/show_bug.cgi?id=35413 42768 42769 No new tests. Bug fix in backend. 42770 42771 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 42772 (WebCore::MediaPlayerPrivate::supportsType): Corrected logic. 42773 42774 2010-02-26 Joanmarie Diggs <joanmarie.diggs (a] gmail.com> 42775 42776 Reviewed by Xan Lopez. 42777 42778 https://bugs.webkit.org/show_bug.cgi?id=35418 42779 [Gtk] Every table, including layout tables, should be exposed as a table 42780 42781 This patch exposes layout tables as tables. (Addressing the problematic table 42782 hierarchy remains to be done.) 42783 42784 * accessibility/gtk/AccessibilityObjectAtk.cpp: 42785 (AccessibilityObject::accessibilityPlatformIncludesObject): 42786 * accessibility/AccessibilityRenderObject.cpp: 42787 (AccessibilityRenderObject::determineAccessibilityRole): 42788 42789 2010-02-26 Adam Barth <abarth (a] webkit.org> 42790 42791 Reviewed by Darin Adler. 42792 42793 XSSAuditor is super super super slow 42794 https://bugs.webkit.org/show_bug.cgi?id=35373 42795 42796 In this patch, we separate the decoding cache for the page's URL and 42797 form data. Previously, we used the same cache for both, which caused 42798 us miss the cache every time when the page had form data (because the 42799 cache only stored one entry). When the form data is large, we were 42800 wasting a lot of time canonicalizing. 42801 42802 * page/XSSAuditor.cpp: 42803 (WebCore::XSSAuditor::findInRequest): 42804 * page/XSSAuditor.h: 42805 42806 2010-02-26 Dirk Schulze <krit (a] webkit.org> 42807 42808 Reviewed by Nikolas Zimmermann. 42809 42810 SVGResourceClipper needs to be moved to RenderSVGResourceClipper 42811 https://bugs.webkit.org/show_bug.cgi?id=35421 42812 42813 Move SVGResourceClipper to RenderSVGResourceClipper. This follows the changes 42814 of Masker and helps to clean up the SVG code. Code snippets from SVGClipPathElement 42815 and SVGResourceClipper got combined in RenderSVGResourceClipper. DRT results are 42816 more readable for clipPath's now. It's possible to see the unit type of clipper, as 42817 well as it's childs instead of just one path. 42818 42819 * Android.mk: 42820 * GNUmakefile.am: 42821 * WebCore.vcproj/WebCore.vcproj: 42822 * WebCore.xcodeproj/project.pbxproj: 42823 * rendering/RenderSVGResource.h: 42824 (WebCore::): 42825 * rendering/RenderSVGResourceClipper.cpp: Added. 42826 (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): 42827 (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): 42828 (WebCore::RenderSVGResourceClipper::invalidateClients): 42829 (WebCore::RenderSVGResourceClipper::invalidateClient): 42830 (WebCore::RenderSVGResourceClipper::applyResource): 42831 (WebCore::RenderSVGResourceClipper::resourceBoundingBox): 42832 * rendering/RenderSVGResourceClipper.h: Added. 42833 (WebCore::RenderSVGResourceClipper::renderName): 42834 (WebCore::RenderSVGResourceClipper::resourceType): 42835 (WebCore::RenderSVGResourceClipper::clipPathUnits): 42836 * rendering/SVGRenderSupport.cpp: 42837 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 42838 (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer): 42839 (WebCore::SVGRenderBase::deregisterFromResources): 42840 * rendering/SVGRenderTreeAsText.cpp: 42841 (WebCore::operator<<): 42842 (WebCore::writeStyle): 42843 (WebCore::writeSVGResource): 42844 (WebCore::writeResources): 42845 * svg/SVGClipPathElement.cpp: 42846 (WebCore::SVGClipPathElement::svgAttributeChanged): 42847 (WebCore::SVGClipPathElement::childrenChanged): 42848 (WebCore::SVGClipPathElement::createRenderer): 42849 * svg/SVGClipPathElement.h: 42850 (WebCore::SVGClipPathElement::isValid): 42851 * svg/SVGStyledElement.cpp: 42852 (WebCore::SVGStyledElement::invalidateResources): 42853 * svg/graphics/SVGResource.h: 42854 (WebCore::): 42855 (WebCore::SVGResource::isPaintServer): 42856 (WebCore::SVGResource::isFilter): 42857 (WebCore::SVGResource::isMarker): 42858 * svg/graphics/SVGResourceClipper.cpp: Removed. 42859 * svg/graphics/SVGResourceClipper.h: Removed. 42860 42861 2010-02-26 Ben Murdoch <benm (a] google.com> 42862 42863 Reviewed by Kenneth Rohde Christiansen. 42864 42865 The element that a touchevent is dispatched to isn't always right 42866 https://bugs.webkit.org/show_bug.cgi?id=35431 42867 42868 The element that touch events are dispatched on is not always the 42869 correct one, as the cached m_touchEventTarget member is only updated 42870 when the first element of the PlatformTouchEvent touch list is in the 42871 TouchPressed state. 42872 42873 This patch changes this behavior to dispatch the event to the target 42874 of the touch that caused the event to be generated and eliminates the 42875 m_touchEventTarget in favour of using the touch target hashmap. It also 42876 simplifies the way in which the touchTargets list is generated as we 42877 no longer have m_touchEventTarget (which was used previously to build 42878 the list). The new behavior matches the observed behavior of the 42879 iPhone and Android. 42880 42881 * page/EventHandler.cpp: 42882 (WebCore::assembleTargetTouches): Added. new function to build the 42883 targetTouches list. Filters a list of touches (passed) about 42884 another given touch. 42885 (WebCore::EventHandler::handleTouchEvent): Remove the 42886 m_touchEventTarget member, and simplify the generation of the 42887 TouchLists that are bundled with the TouchEVent object. Dispatch 42888 the event to the target of the touch that caused the event to be 42889 fired. 42890 * page/EventHandler.h: Remove m_touchEventTarget. 42891 42892 2010-02-26 Dirk Pranke <dpranke (a] chromium.org> 42893 42894 Reviewed by Darin Fisher. 42895 42896 Fix the handling of updates to #hash fragments to check for differences 42897 post-canonicalization rather than comparing pre- to post-. Chromium 42898 had a bug where we would set the #hash on an about:blank URL and generate 42899 an onload event because we thought the URL (not just the fragment) was 42900 changing. 42901 42902 http://bugs.webkit.org/show_bug.cgi?id=35180 42903 42904 Test: fast/loader/about-blank-hash-change.html 42905 42906 * bindings/v8/custom/V8LocationCustom.cpp: 42907 (WebCore::V8Location::hashAccessorSetter): 42908 42909 2010-02-26 Zhenyao Mo <zmo (a] google.com> 42910 42911 Reviewed by David Levin. 42912 42913 texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha 42914 https://bugs.webkit.org/show_bug.cgi?id=34459 42915 42916 Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html 42917 42918 * html/canvas/WebGLRenderingContext.cpp: 42919 (WebCore::WebGLRenderingContext::texImage2D): Apply flipY and premultiplyAlpha to the texture data. 42920 (WebCore::WebGLRenderingContext::texSubImage2D): Ditto. 42921 * platform/graphics/GraphicsContext3D.cpp: 42922 (WebCore::GraphicsContext3D::extractImageData): Extract data from ImageData, applying flipY and premultiplyAlpha. 42923 * platform/graphics/GraphicsContext3D.h: Add function extractImageData declaration. 42924 42925 2010-02-26 Zhenyao Mo <zmo (a] google.com> 42926 42927 Reviewed by David Levin. 42928 42929 Set viewport to canvas size upon context creation 42930 https://bugs.webkit.org/show_bug.cgi?id=35057 42931 42932 Covered by existing tests, in particular fast/canvas/webgl/gl-get-calls.html 42933 42934 * html/canvas/WebGLRenderingContext.cpp: 42935 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Set the viewport size to match the canvas size. 42936 42937 2010-02-26 Pavel Feldman <pfeldman (a] chromium.org> 42938 42939 Not reviewed: touch InspectorController to force front-end deployment. 42940 42941 * inspector/InspectorController.cpp: 42942 42943 2010-02-26 Ilya Tikhonovsky <loislo (a] chromium.org> 42944 42945 Reviewed by Pavel Feldman. 42946 42947 WebInspector: While the current timeline view in DevTools provides a great overview of 42948 things happening, we should make it easier to locate the cause of an event, 42949 e.g., link to JS where relevant. 42950 Caller info support for all kind of Timeline events and new Function Call event will be added. 42951 JSC can be patched the same way as it will be done for V8. 42952 42953 https://bugs.webkit.org/show_bug.cgi?id=33995 42954 42955 * bindings/js/ScriptCallStack.cpp: 42956 (WebCore::ScriptCallStack::callLocation): 42957 * bindings/js/ScriptCallStack.h: 42958 * bindings/v8/ScriptCallStack.cpp: 42959 (WebCore::ScriptCallStack::create): 42960 (WebCore::ScriptCallStack::callLocation): 42961 * bindings/v8/ScriptCallStack.h: 42962 * bindings/v8/V8Proxy.cpp: 42963 (WebCore::V8Proxy::callFunction): 42964 * inspector/InspectorTimelineAgent.cpp: 42965 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): 42966 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): 42967 (WebCore::InspectorTimelineAgent::willCallFunction): 42968 (WebCore::InspectorTimelineAgent::didCallFunction): 42969 (WebCore::InspectorTimelineAgent::pushCurrentRecord): 42970 * inspector/InspectorTimelineAgent.h: 42971 (WebCore::): 42972 (WebCore::InspectorTimelineAgent::instanceCount): 42973 * inspector/TimelineRecordFactory.cpp: 42974 (WebCore::TimelineRecordFactory::createGenericRecord): 42975 (WebCore::TimelineRecordFactory::createFunctionCallData): 42976 * inspector/TimelineRecordFactory.h: 42977 * inspector/front-end/Popover.js: 42978 (WebInspector.Popover.prototype.hideWhenClicked): 42979 (WebInspector.Popover.prototype._positionElement): 42980 * inspector/front-end/TimelineAgent.js: 42981 * inspector/front-end/TimelinePanel.js: 42982 (WebInspector.TimelinePanel): 42983 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 42984 (WebInspector.TimelinePanel.prototype._formatRecord): 42985 (WebInspector.TimelinePanel.prototype._getRecordDetails): 42986 (WebInspector.TimelinePanel.prototype.reset): 42987 (WebInspector.TimelinePanel.prototype._closeRecordDetails): 42988 (WebInspector.TimelinePanel.prototype._onScroll): 42989 (WebInspector.TimelinePanel.prototype._refresh): 42990 (WebInspector.TimelinePanel.prototype._refreshRecords): 42991 (WebInspector.TimelineRecordListRow): 42992 (WebInspector.TimelineRecordListRow.prototype.update): 42993 (WebInspector.TimelineRecordListRow.prototype._createCell): 42994 (WebInspector.TimelineRecordListRow.prototype._createRow): 42995 (WebInspector.TimelineRecordListRow.prototype._createLinkRow): 42996 (WebInspector.TimelineRecordListRow.prototype._generateBubbleContent): 42997 (WebInspector.TimelineRecordListRow.prototype._onClick): 42998 * inspector/front-end/WebKit.qrc: 42999 * inspector/front-end/inspector.js: 43000 (WebInspector.linkifyResourceAsNode): 43001 43002 2010-02-26 Csaba Osztrogonc <ossy (a] webkit.org> 43003 43004 Unreviewed. Roll-out r55263 because it broke fast/forms/textarea-type-spaces-pretty-diff.html. 43005 https://bugs.webkit.org/show_bug.cgi?id=30946 43006 43007 * editing/CompositeEditCommand.cpp: 43008 (WebCore::isWhitespace): 43009 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): 43010 * editing/InsertTextCommand.cpp: 43011 (WebCore::InsertTextCommand::input): 43012 * editing/InsertTextCommand.h: 43013 * editing/htmlediting.cpp: 43014 * editing/htmlediting.h: 43015 43016 2010-02-25 Mark Rowe <mrowe (a] apple.com> 43017 43018 Reviewed by Brady Eidson. 43019 43020 <rdar://problem/7688455> REGRESSION(r55205): Crash inside dispatchEventsOnWindowAndFocusedNode when clicking link from bookmarks view 43021 43022 Null-check the document's page to avoid dereferencing a null page. 43023 43024 No regression test is added as this appears to be dependent on an interaction with Safari's bookmarks view that is 43025 not testable from within DumpRenderTree. 43026 43027 * page/FocusController.cpp: 43028 (WebCore::dispatchEventsOnWindowAndFocusedNode): 43029 43030 2010-02-25 Oliver Hunt <oliver (a] apple.com> 43031 43032 Reviewed by Simon Fraser. 43033 43034 Multiple repaints on apple.com 43035 https://bugs.webkit.org/show_bug.cgi?id=35409 43036 43037 apple.com was triggering the fast scaling path for background images due to 43038 repeated repaints as more content came in. This occured due to a two problems 43039 in the logic to detect scaling. The first is that the main context is flipped 43040 on mac so fails the identity or translation check. We work around this by adding 43041 an function that allows the scaling for a flipped CTM. The other problem was that 43042 we were looking at the destination rect size instead of the destination tile size 43043 when deciding if the size we were drawn at would cause scaling. 43044 43045 * platform/graphics/transforms/AffineTransform.h: 43046 (WebCore::AffineTransform::isIdentityOrTranslationOrFlipped): 43047 * rendering/RenderBoxModelObject.cpp: 43048 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 43049 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 43050 43051 2010-02-25 Enrica Casucci <enrica (a] apple.com> 43052 43053 Reviewed by Adele Peterson. 43054 43055 Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand). 43056 https://bugs.webkit.org/show_bug.cgi?id=30946 43057 <rdar://problem/7639184> 43058 43059 Do text insertion and whitespace rebalancing around the insertion in one step so that there's only one layout. 43060 This patch was originally made by Justin Garcia. 43061 43062 Test: editing/inserting/rebalance-whitespace-1.html 43063 43064 * editing/CompositeEditCommand.cpp: 43065 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): No behavior changes here, 43066 just pushed the code that determined the extent of whitespace surrounding a position 43067 to its own helper function. 43068 * editing/InsertTextCommand.cpp: 43069 (WebCore::InsertTextCommand::insertTextIntoNodeAndRebalanceWhitespace): Added. Find 43070 whitespace surrounding the insertion position, add the text to insert, rebalance that entire 43071 string, then insert it into the document. 43072 (WebCore::InsertTextCommand::input): 43073 * editing/InsertTextCommand.h: 43074 * editing/htmlediting.cpp: 43075 (WebCore::isWhitespace): Moved from CompositeEditCommand.cpp. 43076 (WebCore::extentOfWhitespaceForRebalancingAt): Moved code from rebalanceWhitespaceAt into this helper 43077 function. Obtains the offset of the start and end of whitespace around a particular position. 43078 * editing/htmlediting.h: 43079 43080 2010-02-25 Alexey Proskuryakov <ap (a] apple.com> 43081 43082 Reviewed by Anders Carlsson. 43083 43084 https://bugs.webkit.org/show_bug.cgi?id=35406 43085 <rdar://problem/6945502> Make generic array methods work with JavaArray 43086 43087 Test: java/array-sort.html 43088 43089 Made RuntimeArray inherit from JSArray, keeping the promise given in ClassInfo. 43090 43091 * bridge/runtime_array.cpp: 43092 (JSC::RuntimeArray::RuntimeArray): 43093 (JSC::RuntimeArray::~RuntimeArray): 43094 * bridge/runtime_array.h: 43095 (JSC::RuntimeArray::classInfo): 43096 (JSC::RuntimeArray::getConcreteArray): 43097 43098 2010-02-25 Dan Bernstein <mitz (a] apple.com> 43099 43100 Reviewed by Alexey Proskuryakov. 43101 43102 Fixed a regression introduced in r44243, which made the assertion in checkListItems() 43103 ineffective. 43104 43105 * dom/SelectElement.cpp: 43106 (WebCore::SelectElementData::checkListItems): Copy the items vector before recomputing it, 43107 then assert that the newly-computed vector is equal to the copy. 43108 43109 2010-02-25 Dirk Schulze <krit (a] webkit.org> 43110 43111 Reviewed by Nikolas Zimmermann. 43112 43113 SVG's tspan is no member of SVGRenderBase, this can cause crashes on filters 43114 https://bugs.webkit.org/show_bug.cgi?id=35354 43115 43116 This makes the base class RenderSVGInline of RenderSVGTSpan and RenderSVGInlineText 43117 dependent on SVGBaseRenderer. 43118 The SVG spec want as to use the object bounding box of the text root as the bounding box 43119 for text-childs. So we search for the text root and use it's bounding box, stroke rect and 43120 repaint rect for further calculations. 43121 43122 Test: svg/filters/filter-on-tspan.svg 43123 43124 * rendering/RenderSVGInline.cpp: 43125 (WebCore::RenderSVGInline::objectBoundingBox): Find the text root and give back it's bounding box. 43126 (WebCore::RenderSVGInline::strokeBoundingBox): same for stroke rect 43127 (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): same for repaint rect 43128 * rendering/RenderSVGInline.h: 43129 (WebCore::RenderSVGInline::toSVGRenderBase): RenderSVGInline is part of SVGRenderBase now. 43130 * rendering/RenderSVGTSpan.h: 43131 (WebCore::RenderSVGTSpan::renderName): Removed bounding box code. Was just a hack for filters and maskers. 43132 * rendering/SVGRenderSupport.cpp: 43133 (WebCore::findTextRootObject): Search for the text root. 43134 * rendering/SVGRenderSupport.h: 43135 * svg/graphics/SVGPaintServerGradient.cpp: moved findTextRootObject to SVGRenderSupport 43136 43137 2010-02-25 Dirk Schulze <krit (a] webkit.org> 43138 43139 Reviewed by Nikolas Zimmermann. 43140 43141 Use-element doesn't transform clipPath 43142 https://bugs.webkit.org/show_bug.cgi?id=35375 43143 43144 If the use element is a child of clipPath, any settings on x, y or transform does not 43145 transform the clipPath it references. 43146 The use-element just misses this transformation in toClipPath. 43147 43148 Test: svg/custom/use-on-clip-path-with-transformation.svg 43149 43150 * platform/graphics/cairo/PathCairo.cpp: Gtk port translated the path to the wrong direction. 43151 (WebCore::Path::translate): 43152 * svg/SVGUseElement.cpp: 43153 (WebCore::SVGUseElement::toClipPath): 43154 43155 2010-02-25 Jian Li <jianli (a] chromium.org> 43156 43157 Reviewed by Dmitry Titov. 43158 43159 File.type support. 43160 https://bugs.webkit.org/show_bug.cgi?id=35361 43161 43162 Test: LayoutTests/editing/pasteboard/file-input-files-access.html 43163 43164 * html/File.cpp: 43165 (WebCore::File::File): 43166 * html/File.h: 43167 (WebCore::File::type): 43168 * html/File.idl: 43169 43170 2010-02-25 Alexander Pavlov <apavlov (a] chromium.org> 43171 43172 Reviewed by Pavel Feldman. 43173 43174 Javascript console should not attempt to scroll to end of console if console is not visible 43175 43176 https://bugs.webkit.org/show_bug.cgi?id=22992 43177 43178 * inspector/front-end/ConsoleView.js: 43179 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView): 43180 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView): 43181 (WebInspector.ConsoleView.prototype.addMessage): 43182 43183 2010-02-25 Alexey Proskuryakov <ap (a] apple.com> 43184 43185 Qt and Gtk build fixes. 43186 43187 * GNUmakefile.am: 43188 * WebCore.pro: 43189 Added CRuntimeObject.{c,cpp}. 43190 43191 2010-02-25 Alexey Proskuryakov <ap (a] apple.com> 43192 43193 Windows build fix. 43194 43195 * WebCore.vcproj/WebCore.vcproj: Added CRuntimeObject.{c,cpp}. 43196 43197 2010-02-25 Alexey Proskuryakov <ap (a] apple.com> 43198 43199 Reviewed by Geoffrey Garen. 43200 43201 https://bugs.webkit.org/show_bug.cgi?id=35394 43202 <rdar://problem/7685262> Make passing objects between Java and plug-ins work 43203 43204 * WebCore.PluginHostProcess.exp: WebKit now subclasses RuntimeObject, so it needed more exports. 43205 43206 * bridge/runtime_object.cpp: 43207 (JSC::Bindings::callRuntimeObject): 43208 (JSC::Bindings::callRuntimeConstructor): 43209 Assert that a runtime object is passed as function. 43210 43211 * bridge/runtime_object.h: Moved RuntimeObject into Bindings namespace, matching other 43212 related classes. 43213 43214 * bridge/jni/jni_jsobject.mm: 43215 (JavaJSObject::toString): Pass rootObject to convertValueToJValue(). It's not needed when 43216 constructing a string, but this function now takes it for the sake of Object. 43217 (JavaJSObject::convertValueToJObject): Check that object class is JavaRuntimeObject, not 43218 just RuntimeObject. 43219 43220 * bridge/jni/jsc/JNIBridgeJSC.cpp: 43221 (JavaField::setValueToInstance): Pass rootObject to convertValueToJValue(). 43222 (JavaArray::setValueAt): Ditto. 43223 43224 * bridge/jni/jsc/JNIUtilityPrivate.h: convertValueToJValue() now takes a RootObject argument, 43225 because one is needed to gcProtect an object ghtat is wrapped into JSObject. 43226 43227 * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Convert 43228 JavaScript objects to Java JSObject ones. This was already happening in other code paths, 43229 which we should change to use common code. 43230 43231 * bridge/jni/jsc/JavaInstanceJSC.cpp: 43232 (JavaInstance::newRuntimeObject): Create an appropriate RuntimeObject subclass, 43233 which is JavaRuntimeObject for Java. 43234 (JavaInstance::invokeMethod): Unwrap returned JavaObjects that contain JS objects. 43235 43236 * WebCore.xcodeproj/project.pbxproj: 43237 * bindings/objc/WebScriptObject.mm: 43238 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 43239 * bridge/c/CRuntimeObject.cpp: Added. 43240 (JSC::Bindings::CRuntimeObject::CRuntimeObject): 43241 (JSC::Bindings::CRuntimeObject::~CRuntimeObject): 43242 (JSC::Bindings::CRuntimeObject::getInternalCInstance): 43243 * bridge/c/CRuntimeObject.h: Added. 43244 (JSC::Bindings::CRuntimeObject::classInfo): 43245 * bridge/c/c_instance.cpp: 43246 (JSC::Bindings::CInstance::newRuntimeObject): 43247 * bridge/c/c_instance.h: 43248 * bridge/c/c_utility.cpp: 43249 (JSC::Bindings::convertValueToNPVariant): 43250 * bridge/jni/jsc/JavaInstanceJSC.h: 43251 * bridge/jni/jsc/JavaRuntimeObject.cpp: Added. 43252 (JSC::Bindings::): 43253 (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject): 43254 (JSC::Bindings::JavaRuntimeObject::~JavaRuntimeObject): 43255 (JSC::Bindings::JavaRuntimeObject::getInternalJavaInstance): 43256 * bridge/jni/jsc/JavaRuntimeObject.h: Added. 43257 (JSC::Bindings::JavaRuntimeObject::classInfo): 43258 * bridge/jsc/BridgeJSC.h: 43259 * bridge/objc/ObjCRuntimeObject.h: Added. 43260 (JSC::Bindings::ObjCRuntimeObject::classInfo): 43261 * bridge/objc/ObjCRuntimeObject.mm: Added. 43262 (JSC::Bindings::): 43263 (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject): 43264 (JSC::Bindings::ObjCRuntimeObject::~ObjCRuntimeObject): 43265 (JSC::Bindings::ObjCRuntimeObject::getInternalObjCInstance): 43266 * bridge/objc/objc_instance.h: 43267 * bridge/objc/objc_instance.mm: 43268 (ObjcInstance::newRuntimeObject): 43269 * bridge/objc/objc_runtime.mm: 43270 (JSC::Bindings::callObjCFallbackObject): 43271 * bridge/runtime_root.h: 43272 Added RuntimeObject subclasses for each instance type, and use them for type casting. 43273 43274 2010-02-25 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 43275 43276 Rubber-stamped by Xan Lopez. 43277 43278 Adopt the same string as the one that is expected by 43279 fast/parser/fragment-parser.html for the description used by the 43280 <isindex> element. 43281 43282 * platform/gtk/LocalizedStringsGtk.cpp: 43283 (WebCore::searchableIndexIntroduction): 43284 43285 2010-02-25 Pavel Feldman <pfeldman (a] chromium.org> 43286 43287 Reviewed by Timothy Hatcher. 43288 43289 Web Inspector: evaluate-on-hover does not work on HTML files. 43290 43291 https://bugs.webkit.org/show_bug.cgi?id=35378 43292 43293 * inspector/front-end/SourceCSSTokenizer.re2js: 43294 * inspector/front-end/SourceHTMLTokenizer.js: 43295 (WebInspector.SourceHTMLTokenizer): 43296 (WebInspector.SourceHTMLTokenizer.prototype.set line): 43297 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute): 43298 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue): 43299 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute): 43300 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue): 43301 (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType): 43302 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 43303 * inspector/front-end/SourceHTMLTokenizer.re2js: 43304 * inspector/front-end/SourceJavaScriptTokenizer.js: 43305 (WebInspector.SourceJavaScriptTokenizer): 43306 * inspector/front-end/SourceJavaScriptTokenizer.re2js: 43307 * inspector/front-end/SourceTokenizer.js: 43308 (WebInspector.SourceTokenizer.prototype.set condition): 43309 (WebInspector.SourceTokenizer.prototype.get condition): 43310 (WebInspector.SourceTokenizer.prototype.get subTokenizer): 43311 (WebInspector.SourceTokenizer.prototype.getLexCondition): 43312 (WebInspector.SourceTokenizer.prototype.setLexCondition): 43313 * inspector/front-end/TextEditorHighlighter.js: 43314 (WebInspector.TextEditorHighlighter): 43315 (WebInspector.TextEditorHighlighter.prototype.set mimeType): 43316 (WebInspector.TextEditorHighlighter.prototype.highlight): 43317 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks): 43318 (WebInspector.TextEditorHighlighter.prototype._highlightLines): 43319 (WebInspector.TextEditorHighlighter.prototype._highlightLine): 43320 * inspector/front-end/TextViewer.js: 43321 (WebInspector.TextViewer.prototype._paintLine): 43322 43323 2010-02-25 Xan Lopez <xlopez (a] igalia.com> 43324 43325 Reviewed by Gustavo Noronha. 43326 43327 Simple style cleanups. 43328 43329 * plugins/gtk/PluginViewGtk.cpp: 43330 (WebCore::plugRemovedCallback): 43331 (WebCore::plugAddedCallback): 43332 (WebCore::PluginView::platformStart): 43333 43334 2010-02-25 Andreas Kling <andreas.kling (a] nokia.com> 43335 43336 Reviewed by Darin Adler. 43337 43338 Optimize decoding of Latin-1 text by exploiting the fact that most of it will 43339 be ASCII-only data. 43340 43341 https://bugs.webkit.org/show_bug.cgi?id=35233 43342 43343 * platform/text/TextCodecLatin1.cpp: 43344 (WebCore::TextCodecLatin1::decode): 43345 43346 2010-02-25 Pavel Feldman <pfeldman (a] chromium.org> 43347 43348 Reviewed by Dimitri Glazkov. 43349 43350 Web Inspector: make script lines count calculation lazy. 43351 43352 https://bugs.webkit.org/show_bug.cgi?id=35392 43353 43354 * inspector/front-end/Script.js: 43355 (WebInspector.Script): 43356 (WebInspector.Script.prototype.get linesCount): 43357 * inspector/front-end/ScriptsPanel.js: 43358 * inspector/front-end/SourceView.js: 43359 (WebInspector.SourceView.prototype._addBreakpoint): 43360 43361 2010-02-25 James Choi <jchoi42 (a] pha.jhu.edu> 43362 43363 Reviewed by David Levin. 43364 43365 Change hardcoded gcc paths to be Solaris friendly 43366 https://bugs.webkit.org/show_bug.cgi?id=35213 43367 43368 * bindings/scripts/CodeGeneratorObjC.pm: 43369 * bindings/scripts/IDLParser.pm: 43370 * css/make-css-file-arrays.pl: 43371 * dom/make_names.pl: 43372 43373 2010-02-25 Xan Lopez <xlopez (a] igalia.com> 43374 43375 Reviewed by Gustavo Noronha. 43376 43377 Workaround Java plugins not drawing themselves properly on first 43378 expose by doing a late size-allocate after 'plug-added' has been 43379 emitted on the embedding GtkSocket. It's unclear to me if this is 43380 a bug in our side or theirs, but this should be pretty safe and 43381 fixes the annoyance while we investigate it further. 43382 43383 * plugins/gtk/PluginViewGtk.cpp: 43384 (WebCore::plugAddedCallback): 43385 (WebCore::PluginView::platformStart): 43386 43387 2010-02-23 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 43388 43389 Reviewed by Tor Arne Vestb. 43390 43391 Add missing include guards 43392 43393 * loader/CrossOriginPreflightResultCache.h: 43394 * loader/MainResourceLoader.h: 43395 43396 2010-02-25 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 43397 43398 Reviewed by Tor Arne Vestb. 43399 43400 [Qt] Restrict the optimization flags for Symbian to release builds. 43401 43402 * WebCore.pro: 43403 43404 2010-02-25 Jarkko Sakkinen <jarkko.sakkinen (a] tieto.com> 43405 43406 Reviewed by Kenneth Rohde Christiansen. 43407 43408 Qt WebGL support 43409 43410 Adds GraphicsContext3D QtWebKit implementation. 43411 https://bugs.webkit.org/show_bug.cgi?id=35153 43412 43413 * WebCore.pri: 43414 * WebCore.pro: 43415 * platform/graphics/GraphicsContext3D.h: 43416 * platform/graphics/qt/GraphicsContext3DQt.cpp: Added. 43417 (WebCore::GraphicsContext3DInternal::isValid): 43418 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 43419 (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): 43420 (WebCore::GraphicsContext3DInternal::getProcAddress): 43421 (WebCore::GraphicsContext3D::create): 43422 (WebCore::GraphicsContext3D::GraphicsContext3D): 43423 (WebCore::GraphicsContext3D::~GraphicsContext3D): 43424 (WebCore::GraphicsContext3D::platformGraphicsContext3D): 43425 (WebCore::GraphicsContext3D::platformTexture): 43426 (WebCore::GraphicsContext3D::makeContextCurrent): 43427 (WebCore::GraphicsContext3D::beginPaint): 43428 (WebCore::GraphicsContext3D::endPaint): 43429 (WebCore::GraphicsContext3D::reshape): 43430 (WebCore::GraphicsContext3D::activeTexture): 43431 (WebCore::GraphicsContext3D::attachShader): 43432 (WebCore::GraphicsContext3D::bindAttribLocation): 43433 (WebCore::GraphicsContext3D::bindBuffer): 43434 (WebCore::GraphicsContext3D::bindFramebuffer): 43435 (WebCore::GraphicsContext3D::bindRenderbuffer): 43436 (WebCore::GraphicsContext3D::bindTexture): 43437 (WebCore::GraphicsContext3D::blendColor): 43438 (WebCore::GraphicsContext3D::blendEquation): 43439 (WebCore::GraphicsContext3D::blendEquationSeparate): 43440 (WebCore::GraphicsContext3D::blendFunc): 43441 (WebCore::GraphicsContext3D::blendFuncSeparate): 43442 (WebCore::GraphicsContext3D::bufferData): 43443 (WebCore::GraphicsContext3D::bufferSubData): 43444 (WebCore::GraphicsContext3D::checkFramebufferStatus): 43445 (WebCore::GraphicsContext3D::clearColor): 43446 (WebCore::GraphicsContext3D::clear): 43447 (WebCore::GraphicsContext3D::clearDepth): 43448 (WebCore::GraphicsContext3D::clearStencil): 43449 (WebCore::GraphicsContext3D::colorMask): 43450 (WebCore::GraphicsContext3D::compileShader): 43451 (WebCore::GraphicsContext3D::copyTexImage2D): 43452 (WebCore::GraphicsContext3D::copyTexSubImage2D): 43453 (WebCore::GraphicsContext3D::cullFace): 43454 (WebCore::GraphicsContext3D::depthFunc): 43455 (WebCore::GraphicsContext3D::depthMask): 43456 (WebCore::GraphicsContext3D::depthRange): 43457 (WebCore::GraphicsContext3D::detachShader): 43458 (WebCore::GraphicsContext3D::disable): 43459 (WebCore::GraphicsContext3D::disableVertexAttribArray): 43460 (WebCore::GraphicsContext3D::drawArrays): 43461 (WebCore::GraphicsContext3D::drawElements): 43462 (WebCore::GraphicsContext3D::enable): 43463 (WebCore::GraphicsContext3D::enableVertexAttribArray): 43464 (WebCore::GraphicsContext3D::finish): 43465 (WebCore::GraphicsContext3D::flush): 43466 (WebCore::GraphicsContext3D::framebufferRenderbuffer): 43467 (WebCore::GraphicsContext3D::framebufferTexture2D): 43468 (WebCore::GraphicsContext3D::frontFace): 43469 (WebCore::GraphicsContext3D::generateMipmap): 43470 (WebCore::GraphicsContext3D::getActiveAttrib): 43471 (WebCore::GraphicsContext3D::getActiveUniform): 43472 (WebCore::GraphicsContext3D::getAttribLocation): 43473 (WebCore::GraphicsContext3D::getContextAttributes): 43474 (WebCore::GraphicsContext3D::getError): 43475 (WebCore::GraphicsContext3D::getString): 43476 (WebCore::GraphicsContext3D::hint): 43477 (WebCore::GraphicsContext3D::isBuffer): 43478 (WebCore::GraphicsContext3D::isEnabled): 43479 (WebCore::GraphicsContext3D::isFramebuffer): 43480 (WebCore::GraphicsContext3D::isProgram): 43481 (WebCore::GraphicsContext3D::isRenderbuffer): 43482 (WebCore::GraphicsContext3D::isShader): 43483 (WebCore::GraphicsContext3D::isTexture): 43484 (WebCore::GraphicsContext3D::lineWidth): 43485 (WebCore::GraphicsContext3D::linkProgram): 43486 (WebCore::GraphicsContext3D::pixelStorei): 43487 (WebCore::GraphicsContext3D::polygonOffset): 43488 (WebCore::GraphicsContext3D::readPixels): 43489 (WebCore::GraphicsContext3D::releaseShaderCompiler): 43490 (WebCore::GraphicsContext3D::renderbufferStorage): 43491 (WebCore::GraphicsContext3D::sampleCoverage): 43492 (WebCore::GraphicsContext3D::scissor): 43493 (WebCore::GraphicsContext3D::shaderSource): 43494 (WebCore::GraphicsContext3D::stencilFunc): 43495 (WebCore::GraphicsContext3D::stencilFuncSeparate): 43496 (WebCore::GraphicsContext3D::stencilMask): 43497 (WebCore::GraphicsContext3D::stencilMaskSeparate): 43498 (WebCore::GraphicsContext3D::stencilOp): 43499 (WebCore::GraphicsContext3D::stencilOpSeparate): 43500 (WebCore::GraphicsContext3D::texParameterf): 43501 (WebCore::GraphicsContext3D::texParameteri): 43502 (WebCore::GraphicsContext3D::uniform1f): 43503 (WebCore::GraphicsContext3D::uniform1fv): 43504 (WebCore::GraphicsContext3D::uniform2f): 43505 (WebCore::GraphicsContext3D::uniform2fv): 43506 (WebCore::GraphicsContext3D::uniform3f): 43507 (WebCore::GraphicsContext3D::uniform3fv): 43508 (WebCore::GraphicsContext3D::uniform4f): 43509 (WebCore::GraphicsContext3D::uniform4fv): 43510 (WebCore::GraphicsContext3D::uniform1i): 43511 (WebCore::GraphicsContext3D::uniform1iv): 43512 (WebCore::GraphicsContext3D::uniform2i): 43513 (WebCore::GraphicsContext3D::uniform2iv): 43514 (WebCore::GraphicsContext3D::uniform3i): 43515 (WebCore::GraphicsContext3D::uniform3iv): 43516 (WebCore::GraphicsContext3D::uniform4i): 43517 (WebCore::GraphicsContext3D::uniform4iv): 43518 (WebCore::GraphicsContext3D::uniformMatrix2fv): 43519 (WebCore::GraphicsContext3D::uniformMatrix3fv): 43520 (WebCore::GraphicsContext3D::uniformMatrix4fv): 43521 (WebCore::GraphicsContext3D::useProgram): 43522 (WebCore::GraphicsContext3D::validateProgram): 43523 (WebCore::GraphicsContext3D::vertexAttrib1f): 43524 (WebCore::GraphicsContext3D::vertexAttrib1fv): 43525 (WebCore::GraphicsContext3D::vertexAttrib2f): 43526 (WebCore::GraphicsContext3D::vertexAttrib2fv): 43527 (WebCore::GraphicsContext3D::vertexAttrib3f): 43528 (WebCore::GraphicsContext3D::vertexAttrib3fv): 43529 (WebCore::GraphicsContext3D::vertexAttrib4f): 43530 (WebCore::GraphicsContext3D::vertexAttrib4fv): 43531 (WebCore::GraphicsContext3D::vertexAttribPointer): 43532 (WebCore::GraphicsContext3D::viewport): 43533 (WebCore::GraphicsContext3D::getBooleanv): 43534 (WebCore::GraphicsContext3D::getBufferParameteriv): 43535 (WebCore::GraphicsContext3D::getFloatv): 43536 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): 43537 (WebCore::GraphicsContext3D::getIntegerv): 43538 (WebCore::GraphicsContext3D::getProgramiv): 43539 (WebCore::GraphicsContext3D::getProgramInfoLog): 43540 (WebCore::GraphicsContext3D::getRenderbufferParameteriv): 43541 (WebCore::GraphicsContext3D::getShaderiv): 43542 (WebCore::GraphicsContext3D::getShaderInfoLog): 43543 (WebCore::GraphicsContext3D::getShaderSource): 43544 (WebCore::GraphicsContext3D::getTexParameterfv): 43545 (WebCore::GraphicsContext3D::getTexParameteriv): 43546 (WebCore::GraphicsContext3D::getUniformfv): 43547 (WebCore::GraphicsContext3D::getUniformiv): 43548 (WebCore::GraphicsContext3D::getUniformLocation): 43549 (WebCore::GraphicsContext3D::getVertexAttribfv): 43550 (WebCore::GraphicsContext3D::getVertexAttribiv): 43551 (WebCore::GraphicsContext3D::getVertexAttribOffset): 43552 (WebCore::GraphicsContext3D::texImage2D): 43553 (WebCore::GraphicsContext3D::texSubImage2D): 43554 (WebCore::GraphicsContext3D::createBuffer): 43555 (WebCore::GraphicsContext3D::createFramebuffer): 43556 (WebCore::GraphicsContext3D::createProgram): 43557 (WebCore::GraphicsContext3D::createRenderbuffer): 43558 (WebCore::GraphicsContext3D::createShader): 43559 (WebCore::GraphicsContext3D::createTexture): 43560 (WebCore::GraphicsContext3D::deleteBuffer): 43561 (WebCore::GraphicsContext3D::deleteFramebuffer): 43562 (WebCore::GraphicsContext3D::deleteProgram): 43563 (WebCore::GraphicsContext3D::deleteRenderbuffer): 43564 (WebCore::GraphicsContext3D::deleteShader): 43565 (WebCore::GraphicsContext3D::deleteTexture): 43566 (WebCore::GraphicsContext3D::sizeInBytes): 43567 (WebCore::GraphicsContext3D::synthesizeGLError): 43568 (WebCore::GraphicsContext3D::getImageData): 43569 43570 2010-02-25 Pavel Feldman <pfeldman (a] chromium.org> 43571 43572 Reviewed by Timothy Hatcher. 43573 43574 Web Inspector: Swap images for activate and deactivate breakpoints. 43575 43576 https://bugs.webkit.org/show_bug.cgi?id=35383 43577 43578 * WebCore.gypi: 43579 * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png. 43580 * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png. 43581 * inspector/front-end/WebKit.qrc: 43582 * inspector/front-end/inspector.css: 43583 43584 2010-02-25 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 43585 43586 Reviewed by Xan Lopez. 43587 43588 Go back on symlink resolution if we are loading the flash plugin, 43589 and the path contains /netscape/, following what Chromium does. 43590 43591 Thanks to Evan Martin for the help on this! 43592 43593 * plugins/gtk/PluginPackageGtk.cpp: 43594 (WebCore::PluginPackage::load): 43595 43596 2010-02-25 Pavel Feldman <pfeldman (a] chromium.org> 43597 43598 Reviewed by Timothy Hatcher. 43599 43600 Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh. 43601 43602 https://bugs.webkit.org/show_bug.cgi?id=35232 43603 43604 * inspector/front-end/Panel.js: 43605 (WebInspector.Panel.prototype.canShowSourceLine): 43606 (WebInspector.Panel.prototype.showSourceLine): 43607 * inspector/front-end/ResourcesPanel.js: 43608 (WebInspector.ResourcesPanel.prototype.canShowSourceLine): 43609 (WebInspector.ResourcesPanel.prototype.showSourceLine): 43610 * inspector/front-end/Script.js: 43611 (WebInspector.Script): 43612 * inspector/front-end/ScriptView.js: 43613 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): 43614 * inspector/front-end/ScriptsPanel.js: 43615 (WebInspector.ScriptsPanel.prototype.show): 43616 (WebInspector.ScriptsPanel.prototype.get searchableViews): 43617 (WebInspector.ScriptsPanel.prototype.addScript): 43618 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): 43619 (WebInspector.ScriptsPanel.prototype.addBreakpoint): 43620 (WebInspector.ScriptsPanel.prototype.removeBreakpoint): 43621 (WebInspector.ScriptsPanel.prototype.reset): 43622 (WebInspector.ScriptsPanel.prototype.canShowSourceLine): 43623 (WebInspector.ScriptsPanel.prototype.showSourceLine): 43624 (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine): 43625 (WebInspector.ScriptsPanel.prototype.showView): 43626 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): 43627 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 43628 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare): 43629 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): 43630 * inspector/front-end/SourceView.js: 43631 (WebInspector.SourceView.prototype._addBreakpoint): 43632 * inspector/front-end/inspector.js: 43633 (WebInspector.documentClick.followLink): 43634 (WebInspector.documentClick): 43635 (WebInspector._choosePanelToShowSourceLine): 43636 (WebInspector.canShowSourceLine): 43637 (WebInspector.showSourceLine): 43638 43639 2010-02-25 Ben Murdoch <benm (a] google.com> 43640 43641 Reviewed by Kenneth Rohde Christiansen. 43642 43643 The target element of a Touch should be the target where that touch originated, not where it is now. 43644 https://bugs.webkit.org/show_bug.cgi?id=34585 43645 43646 Currently the target of a touch is set to the resulting node of the hit test where the touch currently 43647 is. This does not match the behavior of iPhone or Android. This patch uses a hashmap on the EventHandler 43648 to keep track of the target element when a touch is first started. This target is then used as the target 43649 for subsequent touches with the same id. This matches observed behavior on iPhone and Android. 43650 43651 Tests: 43652 fast/events/touch/touch-target.html: Added. 43653 fast/events/touch/basic-single-touch-events.html: Updated. 43654 43655 * page/EventHandler.cpp: 43656 (WebCore::EventHandler::handleTouchEvent): Store the originating target element of a touch in a hashmap 43657 so that we can reuse that target for future events caused by that touch. This matches observed behavior 43658 on iPhone and Android. 43659 * page/EventHandler.h: Add hashmap as a member. 43660 * platform/PlatformTouchPoint.h: 43661 (WebCore::PlatformTouchPoint::id): Store the touch point id as unsigned. 43662 * platform/qt/PlatformTouchPointQt.cpp: 43663 (WebCore::PlatformTouchPoint::PlatformTouchPoint): Cast platform touch id from signed to unsigned. Qt API 43664 docs state that it will always be >= 0. 43665 43666 2010-02-24 Antonio Gomes <tonikitoo (a] webkit.org> 43667 43668 Reviewed by Simon Fraser. 43669 Patch by Antonio Gomes <tonikitoo (a] webkit.org> 43670 43671 Add a convenient center() method to IntRect 43672 https://bugs.webkit.org/show_bug.cgi?id=35346 43673 43674 As it is a convenience method, and implemention is 43675 based on FloatRect's one, patch does not provide a 43676 layout test. 43677 43678 * platform/graphics/IntRect.h: 43679 (WebCore::IntRect::center): 43680 43681 2010-02-25 Andrey Kosyakov <caseq (a] chromium.org> 43682 43683 Reviewed by Pavel Feldman. 43684 43685 Fake workers implementation that simulates workers using iframe and timer, 43686 needed to support workers debugging. Also, a facility to inject scripts into 43687 inspected page upon load. 43688 https://bugs.webkit.org/show_bug.cgi?id=35148 43689 43690 * WebCore.gypi: 43691 * WebCore.vcproj/WebCore.vcproj: 43692 * inspector/InspectorBackend.cpp: 43693 (WebCore::InspectorBackend::addScriptToEvaluateOnLoad): 43694 (WebCore::InspectorBackend::removeAllScriptsToEvaluateOnLoad): 43695 * inspector/InspectorBackend.h: 43696 * inspector/InspectorBackend.idl: 43697 * inspector/InspectorController.cpp: 43698 (WebCore::InspectorController::didCommitLoad): 43699 (WebCore::InspectorController::addScriptToEvaluateOnLoad): 43700 (WebCore::InspectorController::removeAllScriptsToEvaluateOnLoad): 43701 * inspector/InspectorController.h: 43702 * inspector/front-end/InjectedFakeWorker.js: Added. 43703 (InjectedFakeWorker.Worker): 43704 (InjectedFakeWorker.FakeWorker): 43705 (InjectedFakeWorker.FakeWorker.prototype.postMessage): 43706 (InjectedFakeWorker.FakeWorker.prototype.terminate): 43707 (InjectedFakeWorker.FakeWorker.prototype._onmessageWrapper): 43708 (InjectedFakeWorker.FakeWorker.prototype._dispatchMessage): 43709 (InjectedFakeWorker.FakeWorker.prototype._handleException): 43710 (InjectedFakeWorker.FakeWorker.prototype._buildWorker): 43711 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.handler): 43712 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext): 43713 (InjectedFakeWorker.FakeWorker.prototype._importScripts): 43714 (InjectedFakeWorker.FakeWorker.prototype._loadScript): 43715 (InjectedFakeWorker.URL): 43716 (InjectedFakeWorker.URL.prototype.urlRegEx.split): 43717 (InjectedFakeWorker.URL.prototype.mockLocation): 43718 (InjectedFakeWorker.URL.prototype.completeWith): 43719 (InjectedFakeWorker.URL.prototype.sameOrigin): 43720 (InjectedFakeWorker.DOMCoreException.formatError): 43721 (InjectedFakeWorker.DOMCoreException): 43722 (InjectedFakeWorker.noop): 43723 * inspector/front-end/InspectorBackendStub.js: 43724 (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource): 43725 (.WebInspector.InspectorBackendStub.prototype.addScriptToEvaluateOnLoad): 43726 (.WebInspector.InspectorBackendStub.prototype.removeAllScriptsToEvaluateOnLoad): 43727 * inspector/front-end/WebKit.qrc: 43728 * inspector/front-end/inspector.html: 43729 43730 2010-02-24 Nicholas Young <nicholas.young (a] nokia.com> 43731 43732 Reviewed by Eric Carlson. 43733 43734 Add mediaPlayerOwningDocument() to MediaPlayerClient. 43735 https://bugs.webkit.org/show_bug.cgi?id=35374 43736 43737 No new tests. These are interface changes only. 43738 43739 * html/HTMLMediaElement.cpp: 43740 (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Implementation for media element. 43741 * html/HTMLMediaElement.h: 43742 * platform/graphics/MediaPlayer.h: 43743 (WebCore::MediaPlayerClient::mediaPlayerOwningDocument): New virtual method. 43744 43745 2010-02-24 Andreas Kling <andreas.kling (a] nokia.com> 43746 43747 Reviewed by Kenneth Rohde Christiansen. 43748 43749 Optimized Font::normalizeSpaces() by caching the String::characters() 43750 instead of repeatedly calling operator[] 43751 43752 https://bugs.webkit.org/show_bug.cgi?id=35336 43753 43754 * platform/graphics/Font.cpp: 43755 (WebCore::Font::normalizeSpaces): 43756 43757 2010-02-24 Jungshik Shin <jshin (a] chromium.org> 43758 43759 Reviewed by David Levin. 43760 43761 [Chromium] Traditional Chinese Chrome on Windows should use PMingLiu instead of Simsun for Han characters 43762 https://bugs.webkit.org/show_bug.cgi?id=35319 43763 43764 No visible change in the layout test. 43765 43766 * platform/graphics/chromium/FontUtilsChromiumWin.cpp: 43767 (WebCore::): 43768 43769 2010-02-24 Anthony Ricaud <rik (a] webkit.org> 43770 43771 Reviewed by Pavel Feldman. 43772 43773 Web Inspector: Reduce the timer to show the eval popover 43774 https://bugs.webkit.org/show_bug.cgi?id=35344 43775 43776 * inspector/front-end/SourceFrame.js: 43777 (WebInspector.SourceFrame.prototype._mouseMove): 43778 43779 2010-02-24 Jay Campan <jcampan (a] google.com> 43780 43781 Reviewed by David Levin. 43782 43783 Don't show the autofill popup when the input text is disabled or read only. 43784 43785 Test: manual-tests/chromium/no-autofill-on-readonly.html 43786 43787 https://bugs.webkit.org/show_bug.cgi?id=35129 43788 43789 * src/EditorClientImpl.cpp: 43790 (WebKit::EditorClientImpl::autofill): 43791 * manual-tests/chromium/no-autofill-on-readonly.html: Added. 43792 43793 2010-02-24 Dominic Mazzoni <dmazzoni (a] chromium.org> 43794 43795 Reviewed by Jeremy Orlow. 43796 43797 Wraps includes of SVG headers so that it's possible to 43798 compile the V8 bindings with SVG disabled, e.g. 'enable_svg=0'. 43799 https://bugs.webkit.org/show_bug.cgi?id=35345 43800 43801 No new tests. 43802 43803 * bindings/v8/V8DOMWrapper.cpp: 43804 * bindings/v8/V8Proxy.cpp: 43805 * bindings/v8/custom/V8CSSValueCustom.cpp: 43806 * bindings/v8/custom/V8DocumentCustom.cpp: 43807 * bindings/v8/custom/V8ElementCustom.cpp: 43808 * bindings/v8/custom/V8EventCustom.cpp: 43809 * bindings/v8/custom/V8SVGElementCustom.cpp: 43810 43811 2010-02-24 Maciej Stachowiak <mjs (a] apple.com> 43812 43813 Unreviewed build fix. 43814 43815 Fix gtk build. 43816 43817 Include JSC headers as runtime/ instead of JavaScriptCore/ 43818 43819 * bindings/js/JSDOMWrapper.h: 43820 * bindings/js/ScriptWrappable.h: 43821 43822 2010-02-24 Maciej Stachowiak <mjs (a] apple.com> 43823 43824 Reviewed by Oliver Hunt. 43825 43826 Cache JavaScript wrappers inline in DOM nodes 43827 https://bugs.webkit.org/show_bug.cgi?id=35226 43828 43829 <rdar://problem/7664202> 43830 43831 7.4% speedup on Dromaeo DOM Core tests. 43832 2.3% speedup on Hixie DOM Core tests. 43833 43834 This fixes the following things from the last attempt: 43835 - Now builds in both debug and release and passes all tests 43836 - Properly use a WeakGCPtr, not just a raw pointer, in ScriptWrappable 43837 - Properly look in the appropriate per-document or per-world map 43838 - Added an assert that would have caught any of the problems I found 43839 - Handle clearing the inline cache properly in all cases 43840 43841 * bindings/js/JSDOMBinding.cpp: 43842 (WebCore::cacheDOMObjectWrapper): Adjust for name changes. 43843 (WebCore::forgetDOMNode): Clear wrapper pointer. 43844 (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world. 43845 * bindings/js/JSDOMBinding.h: 43846 (WebCore::Document::getWrapperCache): Inlined. 43847 (WebCore::domObjectWrapperMapFor): Renamed to start with lowercase. Moved to header to inline. 43848 * bindings/js/JSDOMWrapper.h: Added. 43849 (WebCore::DOMObject::DOMObject): Factored this out of JSDOMBinding.h to avoid include 43850 cycle. I think the class should be renamed, I picked a forward-looking header name because 43851 we already have a DOMObject.h 43852 * bindings/js/JSNodeCustom.cpp: 43853 (WebCore::createWrapperInline): Renamed version of original createWrapper. 43854 (WebCore::createWrapper): Call createWrapperInline. Out-of-line version. 43855 (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper. 43856 * bindings/js/JSNodeCustom.h: Added. 43857 (WebCore::getCachedDOMNodeWrapper): Moved from JSDOMBinding.cpp and moved here, 43858 so it could inline everywhere without creating an include cycle. Consider inline 43859 cache. 43860 (WebCore::toJS): Moved to header to inline. 43861 * bindings/js/ScriptWrappable.h: 43862 (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious 43863 way for JavaScriptCore. (Using a WeakGCPtr). 43864 (WebCore::ScriptWrappable::wrapper): 43865 (WebCore::ScriptWrappable::setWrapper): 43866 (WebCore::ScriptWrappable::clearWrapper): 43867 * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders 43868 in the header, not just the impl file, so they can add inlining. 43869 * dom/Node.idl: Add CustomHeader directive. 43870 43871 Add new files to build. 43872 43873 * GNUmakefile.am: 43874 * WebCore.gypi: 43875 * WebCore.pro: 43876 * WebCore.vcproj/WebCore.vcproj: 43877 * WebCore.xcodeproj/project.pbxproj: 43878 43879 43880 2010-02-24 Jochen Eisinger <jochen (a] chromium.org> 43881 43882 Reviewed by Jeremy Orlow. 43883 43884 Expose Database object of currently active task on the database thread 43885 https://bugs.webkit.org/show_bug.cgi?id=35341 43886 43887 * storage/DatabaseThread.cpp: 43888 (WebCore::DatabaseThread::DatabaseThread): 43889 (WebCore::DatabaseThread::databaseThread): 43890 * storage/DatabaseThread.h: 43891 (WebCore::DatabaseThread::getDatabaseOfCurrentTask): 43892 43893 2010-02-24 Nicholas Young <nicholas.young (a] nokia.com> 43894 43895 Reviewed by Eric Carlson. 43896 43897 supportsMuting() should be an internal interface between MediaPlayer and MediaPlayerPrivate. 43898 https://bugs.webkit.org/show_bug.cgi?id=35327 43899 43900 No new tests. Refactoring Only. 43901 43902 * html/HTMLMediaElement.cpp: 43903 (WebCore::HTMLMediaElement::setMuted): Do not check supportsMuting() 43904 (WebCore::HTMLMediaElement::updateVolume): Set volume and muted 43905 * platform/graphics/MediaPlayer.cpp: 43906 (WebCore::MediaPlayer::setVolume): Check supportsMuting() 43907 (WebCore::MediaPlayer::setMuted): Check supportsMuting() 43908 * platform/graphics/MediaPlayer.h: Remove supportsMuting() 43909 43910 2010-02-24 Adam Barth <abarth (a] webkit.org> 43911 43912 Reviewed by Darin Fisher. 43913 43914 [Chromium API] Disambiguate allowJavaScript from didNotAllowScript 43915 https://bugs.webkit.org/show_bug.cgi?id=35205 43916 43917 For clients that want to show a user interface element when JavaScript 43918 was blocked on a page, we need to disambiguate between querying the 43919 client for whether JavaScript is enabled from actually failing to 43920 execute some script. 43921 43922 This patch adds a new FrameLoaderClient callback for when WebCore would 43923 like to execute JavaScript but fails to because JavaScript is disabled. 43924 43925 This patch also touches every client of canExecuteScripts so they can 43926 indicate whether we should make this callback. I was hoping there was 43927 a better choke point, but my first two attempts were wrong in subtle 43928 ways. pkasting points out that this will be easy to screw up in the 43929 future, so it's better to make all the clients be explicit. 43930 43931 * WebCore.PluginHostProcess.exp: 43932 * bindings/ScriptControllerBase.cpp: 43933 (WebCore::ScriptController::canExecuteScripts): 43934 (WebCore::ScriptController::executeScript): 43935 * bindings/js/JSEventListener.cpp: 43936 (WebCore::JSEventListener::handleEvent): 43937 * bindings/js/JSLazyEventListener.cpp: 43938 (WebCore::JSLazyEventListener::initializeJSFunction): 43939 * bindings/js/ScheduledAction.cpp: 43940 (WebCore::ScheduledAction::execute): 43941 * bindings/js/ScriptController.cpp: 43942 (WebCore::ScriptController::bindingRootObject): 43943 (WebCore::ScriptController::windowScriptNPObject): 43944 (WebCore::ScriptController::jsObjectForPluginElement): 43945 (WebCore::ScriptController::executeScriptInWorld): 43946 * bindings/js/ScriptController.h: 43947 (WebCore::): 43948 * bindings/js/ScriptControllerMac.mm: 43949 (WebCore::ScriptController::windowScriptObject): 43950 * bindings/js/ScriptDebugServer.cpp: 43951 (WebCore::ScriptDebugServer::setJavaScriptPaused): 43952 * bindings/js/ScriptEventListener.cpp: 43953 (WebCore::createAttributeEventListener): 43954 * bindings/js/ScriptState.cpp: 43955 (WebCore::scriptStateFromNode): 43956 * bindings/v8/ScriptController.cpp: 43957 (WebCore::ScriptController::windowScriptNPObject): 43958 (WebCore::ScriptController::createScriptObjectForPluginElement): 43959 * bindings/v8/ScriptController.h: 43960 (WebCore::): 43961 * bindings/v8/ScriptEventListener.cpp: 43962 (WebCore::createAttributeEventListener): 43963 * bindings/v8/V8Proxy.cpp: 43964 (WebCore::V8Proxy::retrieve): 43965 * dom/ScriptElement.cpp: 43966 (WebCore::ScriptElementData::evaluateScript): 43967 * dom/XMLTokenizerLibxml2.cpp: 43968 (WebCore::XMLTokenizer::startElementNs): 43969 * html/HTMLMediaElement.cpp: 43970 (WebCore::HTMLMediaElement::controls): 43971 * html/HTMLTokenizer.cpp: 43972 (WebCore::HTMLTokenizer::parseTag): 43973 (WebCore::HTMLTokenizer::processToken): 43974 * inspector/InspectorController.cpp: 43975 (WebCore::canPassNodeToJavaScript): 43976 * loader/FrameLoader.cpp: 43977 (WebCore::FrameLoader::isProcessingUserGesture): 43978 (WebCore::FrameLoader::open): 43979 (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds): 43980 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): 43981 * loader/FrameLoaderClient.h: 43982 (WebCore::FrameLoaderClient::didNotAllowScript): 43983 43984 2010-02-24 Adam Barth <abarth (a] webkit.org> 43985 43986 Reviewed by Darin Fisher. 43987 43988 Add call to FrameLoaderClient::allowPlugins everywhere arePluginsEnabled is called 43989 https://bugs.webkit.org/show_bug.cgi?id=34997 43990 43991 If we want to let the FrameLoaderClient override arePluginsEnabled, 43992 then we need to call out to the FrameLoaderClient every time we read 43993 the setting. 43994 43995 We don't have testing infrustructure for these changes, which is lame. 43996 I'm supposed to fix that in Bug 33991. 43997 43998 * dom/DOMImplementation.cpp: 43999 (WebCore::DOMImplementation::createDocument): 44000 * loader/MainResourceLoader.cpp: 44001 (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase): 44002 * loader/PluginDocument.cpp: 44003 (WebCore::PluginTokenizer::writeRawData): 44004 * page/Page.cpp: 44005 (WebCore::Page::pluginData): 44006 * plugins/MimeType.cpp: 44007 (WebCore::MimeType::enabledPlugin): 44008 44009 2010-02-24 James Robinson <jamesr (a] chromium.org> 44010 44011 Reviewed by Dmitry Titov. 44012 44013 Do not fire focus events while a modal dialog is up. 44014 https://bugs.webkit.org/show_bug.cgi?id=33962 44015 44016 Modifies the FocusController to check the frame's page's defersLoading() flag before firing blur/focus events. 44017 This flag is set while a modal dialog (like a window.alert or window.confirm) is up. Firing the events causes 44018 assertion failures, since when the dialog is dismissed the PageGroupLoadDeferrer assumes that no script has run. 44019 44020 Manual tests only as DumpRenderTree does not support modal dialogs 44021 44022 * manual-tests/modal-dialog-blur-selfclose.html: Added. 44023 * manual-tests/modal-dialog-blur.html: Added. 44024 * page/FocusController.cpp: 44025 (WebCore::dispatchEventsOnWindowAndFocusedNode): 44026 44027 2010-02-24 Dan Bernstein <mitz (a] apple.com> 44028 44029 Reviewed by Anders Carlsson. 44030 44031 <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element 44032 44033 Test: fast/parser/fragment-parser.html 44034 44035 Ensure that fragment parsing has no side effects on the fragments owner 44036 document. 44037 44038 * html/HTMLParser.cpp: 44039 (WebCore::HTMLParser::insertNode): Dont call 44040 dispatchDocumentElementAvailable() for fragments. 44041 (WebCore::HTMLParser::handleError): Dont copy attributes to the owner 44042 documents <html> and <body> elements when a redundant <html> or <body> 44043 is encountered while parsing a fragment. 44044 (WebCore::HTMLParser::framesetCreateErrorCheck): Dont change the owner 44045 documents <body> elements style when parsing a fragment. 44046 (WebCore::HTMLParser::createHead): Dont attach the new <head> to the 44047 ownder document of a fragment. 44048 44049 2010-02-24 David Levin <levin (a] chromium.org> 44050 44051 Reviewed by Darin Adler. 44052 44053 Need to create a CanvasSurface base class for HTMLCanvasElement. 44054 https://bugs.webkit.org/show_bug.cgi?id=35322 44055 44056 This is an initial step in making the OffscreenCanvas object. 44057 44058 No new functionality so no new tests. 44059 44060 * GNUmakefile.am: Added CanvasSurface to the build. 44061 * WebCore.gypi: ditto 44062 * WebCore.pro: ditto 44063 * WebCore.vcproj/WebCore.vcproj: ditto 44064 * WebCore.xcodeproj/project.pbxproj: ditto 44065 * dom/CanvasSurface.cpp: Added. 44066 * dom/CanvasSurface.h: Added. 44067 * html/HTMLCanvasElement.h: Made HTMLCanvasElement inherit from CanvasSurface. 44068 44069 2010-02-24 Peter Kasting <pkasting (a] google.com> 44070 44071 Reviewed by Adam Barth. 44072 44073 Fix regression in calculating an animated image's start time. 44074 https://bugs.webkit.org/show_bug.cgi?id=35115 44075 44076 * platform/graphics/BitmapImage.cpp: 44077 (WebCore::BitmapImage::startAnimation): 44078 44079 2010-02-24 Dan Bernstein <mitz (a] apple.com> 44080 44081 Reviewed by Simon Fraser. 44082 44083 <rdar://problem/7682827> Text with :first-letter lingers after being removed 44084 44085 Test: fast/css/first-letter-set-text.html 44086 44087 * rendering/RenderTextFragment.cpp: 44088 (WebCore::RenderTextFragment::setTextInternal): Set this back as the 44089 text nodes renderer, as removing the first letter has resets the nodes 44090 renderer. 44091 44092 2010-02-24 Ariya Hidayat <ariya.hidayat (a] gmail.com> 44093 44094 Reviewed by Kenneth Rohde Christiansen. 44095 44096 [Qt] Faster cut-off for rectangle fill without shadow. 44097 https://bugs.webkit.org/show_bug.cgi?id=35337 44098 44099 * platform/graphics/qt/GraphicsContextQt.cpp: 44100 44101 2010-02-24 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44102 44103 Reviewed by nobody, build fix. 44104 44105 [Qt] Corrects build break of QtLauncher on Windows. 44106 The VERSION variable was not set anymore while building in trunk. 44107 44108 * WebCore.pro: 44109 44110 2010-02-24 Alexander Pavlov <apavlov (a] chromium.org> 44111 44112 Reviewed by Pavel Feldman. 44113 44114 Web Inspector: Activate/Deactivate breaks does not look consistent with rest of the toolbar. 44115 44116 Fix style and add the new images to the related file sets. 44117 https://bugs.webkit.org/show_bug.cgi?id=35307 44118 44119 * WebCore.gypi: 44120 * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: 44121 * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: 44122 * inspector/front-end/WebKit.qrc: 44123 * inspector/front-end/inspector.css: 44124 44125 2010-02-24 Xan Lopez <xlopez (a] igalia.com> 44126 44127 Reviewed by Gustavo Noronha. 44128 44129 Get rid of an extra call to 44130 setNPWindowIfNeeded. updatePluginWidget already calls this for us 44131 if needed. 44132 44133 * plugins/gtk/PluginViewGtk.cpp: 44134 (WebCore::PluginView::platformStart): 44135 44136 2010-02-24 Xan Lopez <xlopez (a] igalia.com> 44137 44138 Reviewed by Gustavo Noronha. 44139 44140 Try to sanitize a bit the geometry management of plugins. 44141 44142 Stop doing contradictory things in updatePluginWidget (we were at 44143 the same time pretending the geometry setting was delayed until 44144 ::paint and setting the geometry not once but twice) and just set 44145 it any time the windowRect or clipRect for the plugin has changed. 44146 44147 This is closer to what the Mac port does, and fixes instances of 44148 the plugins not being drawn until the window is resized or 44149 scrolled. Other than that all manual and layout tests seems to 44150 still work. 44151 44152 * plugins/gtk/PluginViewGtk.cpp: 44153 (WebCore::PluginView::updatePluginWidget): 44154 (WebCore::PluginView::setNPWindowIfNeeded): 44155 44156 2010-02-23 Geoff Garen <ggaren (a] apple.com> 44157 44158 Reviewed by Oliver Hunt. 44159 44160 Simplify animation lifetime handling. Previously we manually 44161 determined whether our base element was safe when we unregistered 44162 our listener, now we simply ensure that the base element itself 44163 registers and unregisters the animation listener. 44164 44165 * svg/animation/SVGSMILElement.cpp: 44166 (WebCore::ConditionEventListener::create): 44167 (WebCore::ConditionEventListener::disconnectAnimation): 44168 (WebCore::ConditionEventListener::ConditionEventListener): 44169 (WebCore::ConditionEventListener::operator==): 44170 (WebCore::ConditionEventListener::handleEvent): 44171 (WebCore::SVGSMILElement::eventBaseFor): 44172 (WebCore::SVGSMILElement::connectConditions): 44173 (WebCore::SVGSMILElement::disconnectConditions): 44174 * svg/animation/SVGSMILElement.h: 44175 44176 2010-02-23 Dmitry Titov <dimich (a] chromium.org> 44177 44178 Reviewed by David Levin. 44179 44180 Chromium: Use V8::TerminateExecution to actually terminate workers. 44181 https://bugs.webkit.org/show_bug.cgi?id=35137 44182 44183 Test: existing fast/workers/stress-js-execution.html which is currently failing 44184 on Mac and Linux bots for Chromium. 44185 44186 * bindings/v8/WorkerContextExecutionProxy.cpp: 44187 (WebCore::WorkerContextExecutionProxy::evaluate): 44188 * bindings/v8/WorkerScriptController.cpp: 44189 (WebCore::WorkerScriptController::forbidExecution): 44190 44191 2010-02-23 Enrica Casucci <enrica (a] apple.com> 44192 44193 Reviewed by Simon Fraser. 44194 44195 REGRESSION: WebKit crashes when deleting images on blogger.com (34957) 44196 <rdar://problem/7651935> 44197 https://bugs.webkit.org/show_bug.cgi?id=34957 44198 44199 Fixing a regression introduced with revision 53085. Anchor elements should not be considered 44200 in editable content when calculating the position in the parent before the node. 44201 44202 Test: editing/execCommand/delete-image-in-anchor.html 44203 44204 * dom/Position.cpp: 44205 (WebCore::Position::getInlineBoxAndOffset): 44206 44207 2010-02-23 Tony Chang <tony (a] chromium.org> 44208 44209 Reviewed by Eric Seidel. 44210 44211 https://bugs.webkit.org/show_bug.cgi?id=34634 44212 Pasting a list into the middle of another list item should split the target 44213 list item into two separate list items. This matches the behavior in other 44214 browsers. 44215 44216 Test: editing/pasteboard/paste-list-004.html 44217 44218 * editing/ReplaceSelectionCommand.cpp: 44219 (WebCore::ReplaceSelectionCommand::insertAsListItems): 44220 44221 2010-02-23 Brady Eidson <beidson (a] apple.com> 44222 44223 Reviewed by Tim Hatcher and Pavel Feldman. 44224 44225 Regression (r55107) - WebInspector docking is busted. 44226 https://bugs.webkit.org/show_bug.cgi?id=35274 44227 44228 * inspector/InspectorController.cpp: 44229 (WebCore::InspectorController::canAttachWindow): Use the minimum height for this calculation, 44230 not the preferred height. 44231 (WebCore::InspectorController::attachWindow): attachWindow() shouldn't decide the policy, as it is 44232 often called partway through the show or dock procedure after some of the initial conditions have 44233 changed. Let the front-end itself and the InspectorClient's make the policy decision at the start 44234 of the show/dock operation. 44235 44236 * inspector/InspectorFrontendHost.cpp: 44237 (WebCore::InspectorFrontendHost::canAttachWindow): 44238 * inspector/InspectorFrontendHost.h: 44239 * inspector/InspectorFrontendHost.idl: 44240 44241 * inspector/front-end/inspector.js: 44242 (WebInspector.toggleAttach): Before attaching, ask the front-end-host if attaching is allowed. 44243 44244 2010-02-23 Mark Rowe <mrowe (a] apple.com> 44245 44246 Reviewed by Geoff Garen. 44247 44248 <http://webkit.org/b/35287> ImageSourceCG::frameIsCompleteAtIndex returns false for all frames until image has completed loading 44249 44250 CGImageSourceGetStatusAtIndex claims that all frames of a multi-frame image are incomplete when we've not yet received the 44251 complete data for an image that is using an incremental data source (<rdar://problem/7679174>). We work around this by 44252 special-casing all frames except the last in an image and treating them as complete if they are present and reported as 44253 being incomplete. We do this on the assumption that loading new data can only modify the existing last frame or append new 44254 frames. The last frame is only treated as being complete if the image source reports it as such. This ensures that it is 44255 truly the last frame of the image rather than just the last that we currently have data for. 44256 44257 * platform/graphics/cg/ImageSourceCG.cpp: 44258 (WebCore::ImageSource::frameIsCompleteAtIndex): 44259 44260 2010-02-23 Enrica Casucci <enrica (a] apple.com> 44261 44262 Reviewed by Darin Adler. 44263 44264 Crash in createContextualFragment when inserting a list in a non HTML document. 44265 <rdar://problem/7666670> 44266 https://bugs.webkit.org/show_bug.cgi?id=35305 44267 44268 createFragmentFromMarkup did not handle correctly the case where documentElement is 44269 not an HTMLElement. The static cast to HTMLElement was causing createContextualFragment to 44270 crash. 44271 44272 Test: editing/execCommand/insert-list-xml.xhtml 44273 44274 * dom/Element.cpp: 44275 (WebCore::Element::createContextualFragment): Added. 44276 * dom/Element.h: Added createContextualFragment virtual function. 44277 * editing/markup.cpp: 44278 (WebCore::createFragmentFromMarkup): Removed static cast to HTMLElement. 44279 * html/HTMLElement.cpp: 44280 (WebCore::HTMLElement::createContextualFragment): Modified to perform only checks 44281 that are specific for an HTMLElement object. The rest of the logic has been moved to the 44282 corresponding method in the Element class. 44283 44284 2010-02-23 Steve Falkenburg <sfalken (a] apple.com> 44285 44286 Reviewed by Adam Roben. 44287 44288 WebCore should stop throwing away the CGImageSourceRef on Windows to improve GIF performance 44289 https://bugs.webkit.org/show_bug.cgi?id=35309 44290 44291 * platform/graphics/cg/ImageSourceCG.cpp: 44292 (WebCore::ImageSource::clear): 44293 44294 2010-02-23 Leandro Pereira <leandro (a] profusion.mobi> 44295 44296 Reviewed by Gustavo Noronha Silva. 44297 44298 Changes references of GOwnPtr to reflect their new place. 44299 http://webkit.org/b/35084 44300 44301 * WebCore/platform/KURL.cpp 44302 * WebCore/platform/TextEncoding.cpp: 44303 * WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp: 44304 * WebCore/platform/text/gtk/TextCodecGtk.cpp: 44305 44306 2010-02-23 Brady Eidson <beidson (a] apple.com> 44307 44308 Reviewed by Alexey Proskuryakov. 44309 44310 HTTP 307 after a 303 after a POST re-sends POST data from the original request. 44311 <rdar://problem/7390251> and https://bugs.webkit.org/show_bug.cgi?id=31410 44312 44313 Test: http/tests/loading/307-after-303-after-post.html 44314 44315 Remember the last HTTP method send out during a redirect chain for a resource handle: 44316 * platform/network/ResourceHandle.cpp: 44317 (WebCore::ResourceHandle::lastHTTPMethod): 44318 * platform/network/ResourceHandle.h: 44319 * platform/network/ResourceHandleInternal.h: 44320 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 44321 44322 Refer to the last HTTP method used instead of the original method: 44323 * platform/network/cf/ResourceHandleCFNet.cpp: 44324 (WebCore::willSendRequest): 44325 (WebCore::ResourceHandle::willSendRequest): 44326 * platform/network/mac/ResourceHandleMac.mm: 44327 (WebCore::ResourceHandle::willSendRequest): 44328 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 44329 44330 2010-02-23 Crystal Zhang <haizhang (a] rim.com> 44331 44332 Unreviewed build fix. 44333 44334 Fix build error when enable plugin proxy: 'toRenderEmbeddedObject' identifier not found. 44335 As RenderEmbeddedObject inherits RenderPartObject and 'toRenderEmbeddedObject' belongs 44336 to former one. 44337 44338 * html/HTMLMediaElement.cpp: 44339 44340 2010-02-23 Evan Martin <evan (a] chromium.org> 44341 44342 Reviewed by Jeremy Orlow. 44343 44344 [chromium] fix previous SVG-disabling patch 44345 https://bugs.webkit.org/show_bug.cgi?id=35298 44346 44347 * WebCore.gypi: rename variable 44348 * WebCore.gyp/WebCore.gyp: actually use the variable 44349 44350 2010-02-23 Michael Lotz <mmlr (a] mlotz.ch> 44351 44352 Reviewed by David Levin. 44353 44354 [Haiku] Fix conversion from BString to String 44355 https://bugs.webkit.org/show_bug.cgi?id=35082 44356 44357 The previous patch to this file was broken (sorry). First of all, 44358 the conversion from UTF8 was accidentally removed. Second, for 44359 empty strings, we need to point the implementation at StringImpl::empty(). 44360 44361 Covered by existing tests. 44362 44363 * platform/text/haiku/StringHaiku.cpp: 44364 (WebCore::String::String): 44365 44366 2010-02-23 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 44367 44368 Reviewed by Eric Carlson. 44369 44370 [Qt] Prevent the media backend from handling non-audio or -video mime types 44371 44372 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 44373 44374 2010-02-23 Evan Martin <evan (a] chromium.org> 44375 44376 Reviewed by Jeremy Orlow. 44377 44378 [chromium] Allow building without SVG 44379 https://bugs.webkit.org/show_bug.cgi?id=31522 44380 44381 * WebCore.gyp/WebCore.gyp, WebCore.gypi: test enable_svg flag. 44382 * bindings/v8/custom/V8SVGDocumentCustom.cpp, 44383 bindings/v8/custom/V8SVGPathSegCustom.cpp: test ENABLE(SVG). 44384 44385 2010-02-23 Leandro Pereira <leandro (a] profusion.mobi> 44386 44387 Reviewed by Gustavo Noronha Silva. 44388 44389 Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds 44390 again. 44391 http://webkit.org/b/35084 44392 44393 * WebCore/platform/gtk/DataObjectGtk.h: 44394 * WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 44395 44396 2010-02-23 Ariya Hidayat <ariya.hidayat (a] gmail.com> 44397 44398 Reviewed by Kenneth Rohde Christiansen. 44399 44400 [Qt] Faster cut-off for rectangle drawing without shadow. 44401 https://bugs.webkit.org/show_bug.cgi?id=35267 44402 44403 * platform/graphics/qt/GraphicsContextQt.cpp: 44404 (WebCore::GraphicsContext::drawRect): 44405 44406 2010-02-23 Steve Block <steveblock (a] google.com> 44407 44408 Reviewed by Jeremy Orlow. 44409 44410 Removes redundant Settings::setGeolocationEnabled and Settings::geolocationEnabled 44411 https://bugs.webkit.org/show_bug.cgi?id=35242 44412 44413 No new tests, removing dead code only. 44414 44415 * page/Settings.cpp: 44416 * page/Settings.h: 44417 44418 2010-02-23 Ben Murdoch <benm (a] google.com> 44419 44420 Reviewed by Eric Seidel. 44421 44422 pageX/Y co-ordinates of TouchEvent should be 0,0 44423 https://bugs.webkit.org/show_bug.cgi?id=35239 44424 44425 The co-ordinates attached to a touch event are not used for tracking touch motion, rather the co-ordinates attached to Touches within the touch event should be used. Set the co-ordinates on the event itself to 0 to avoid confusion and match observed iPhone behavior. 44426 44427 * page/EventHandler.cpp: 44428 (WebCore::EventHandler::handleTouchEvent): Set the pageX/Y and screenX/Y co-ordinates attached to the touch event to 0,0 to match observed behavior on the iPhone. 44429 * page/EventHandler.h: Remove now unused members m_firstTouchScreenPos and m_firstTouchPagePos. 44430 44431 2010-02-23 Stephan Amus <superstippi (a] gmx.de> 44432 44433 Reviewed by Eric Seidel. 44434 44435 [Haiku] Various improvements to EventHandlerHaiku. 44436 https://bugs.webkit.org/show_bug.cgi?id=34685 44437 44438 Covered by existing tests. 44439 44440 Fix the build by not including PlatformScrollBar.h. 44441 44442 * page/haiku/EventHandlerHaiku.cpp: 44443 (WebCore::isKeyboardOptionTab): 44444 Use the correct keycode for tab keys. 44445 (WebCore::EventHandler::focusDocumentView): 44446 Use proper locking. In any case, Haiku doesn't append platform 44447 widgets to WebCore widgets. But if it did, this implementation 44448 would be correct. 44449 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 44450 Implemented. 44451 (WebCore::EventHandler::eventActivatedView): 44452 Removed notImplemented() and added note. 44453 (WebCore::EventHandler::passMousePressEventToSubframe): 44454 Implemented. 44455 (WebCore::EventHandler::passMouseMoveEventToSubframe): 44456 Implemented. 44457 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 44458 Implemented. 44459 (WebCore::EventHandler::accessKeyModifiers): 44460 Added note. 44461 44462 2010-02-23 Tony Chang <tony (a] chromium.org> 44463 44464 Not reviewed. 44465 Revert r55135 because the layout test is failing on all the bots. 44466 https://bugs.webkit.org/show_bug.cgi?id=34634 44467 44468 * editing/ReplaceSelectionCommand.cpp: 44469 (WebCore::ReplaceSelectionCommand::insertAsListItems): 44470 44471 2010-02-17 Steve Block <steveblock (a] google.com> 44472 44473 Reviewed by Ariya Hidayat. 44474 44475 Adds cache to store Geolocation positions between browser sessions. 44476 https://bugs.webkit.org/show_bug.cgi?id=34084 44477 44478 This is required to fully implement the Geolocation maximumAge property. 44479 See Bug 30676. 44480 44481 No new tests, will add tests for maximumAge once complete. 44482 44483 * Android.mk: Modified. Added GeolocationPositionCache.cpp 44484 * GNUmakefile.am: Modified. Added GeolocationPositionCache.[cpp|h] 44485 * WebCore.gypi: Modified. Added GeolocationPositionCache.[cpp|h] 44486 * WebCore.pro: Modified. Added GeolocationPositionCache.[cpp|h] 44487 * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationPositionCache.[cpp|h] 44488 * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationPositionCache.[cpp|h] 44489 * page/GeolocationPositionCache.cpp: Added. 44490 (WebCore::GeolocationPositionCache::GeolocationPositionCache): 44491 (WebCore::GeolocationPositionCache::~GeolocationPositionCache): 44492 (WebCore::GeolocationPositionCache::setCachedPosition): 44493 (WebCore::GeolocationPositionCache::cachedPosition): 44494 (WebCore::GeolocationPositionCache::setDatabasePath): 44495 (WebCore::GeolocationPositionCache::readFromDB): 44496 (WebCore::GeolocationPositionCache::writeToDB): 44497 * page/GeolocationPositionCache.h: Added. 44498 44499 2010-02-23 Yuta Kitamura <yutak (a] chromium.org> 44500 44501 Reviewed by Dan Bernstein. 44502 44503 Fix alignment of vertical-align: text-bottom inside an inline-block. 44504 44505 This patch is based on a fix provided by Takahito Hirano. 44506 44507 display: inline-block + vertical-align: text-bottom causes misalignment. 44508 https://bugs.webkit.org/show_bug.cgi?id=30846 44509 44510 Test: fast/inline-block/inline-block-vertical-align-2.html 44511 44512 * rendering/RenderBoxModelObject.cpp: 44513 (WebCore::RenderBoxModelObject::verticalPosition): Fixed vpos calculation. 44514 We cannot cut corners for inline blocks, since they may have their own 44515 text metrics. 44516 44517 2010-02-23 Steve Block <steveblock (a] google.com> 44518 44519 Reviewed by David Levin. 44520 44521 Sets default values of V8 runtime enabler flags to match behavior with JSC 44522 https://bugs.webkit.org/show_bug.cgi?id=35095 44523 44524 No new tests, modifies a Chromium feature only. 44525 44526 * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on' 44527 * storage/Database.cpp: Modified. Sets database flag default to 'on'. 44528 44529 2010-02-23 Stephan Amus <superstippi (a] gmx.de> 44530 44531 Reviewed by Eric Seidel. 44532 44533 [Haiku] Fix various issues in keyboard event generation. 44534 https://bugs.webkit.org/show_bug.cgi?id=34685 44535 44536 Covered by existing tests. 44537 44538 Fixed backspace keycode. 44539 Fixed using the appropriate fields from the Haiku event for mapping 44540 to the VK_* codes and added mapping a great deal more codes. 44541 Added extraction of modifier key flags. 44542 Completed implementation of disambiguateKeyDownEvent() 44543 Implemented currentCapsLockState(). 44544 44545 * platform/haiku/PlatformKeyboardEventHaiku.cpp: 44546 (WebCore::keyIdentifierForHaikuKeyCode): 44547 (WebCore::windowsKeyCodeForKeyEvent): 44548 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 44549 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 44550 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 44551 44552 2010-02-23 Steve Block <steveblock (a] google.com> 44553 44554 Reviewed by Darin Adler. 44555 44556 Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame 44557 https://bugs.webkit.org/show_bug.cgi?id=34962 44558 44559 These methods are required so that a Geolocation object can cancel an 44560 asynchronous permission request. This allows the chrome client to cancel 44561 any UI it is showing for the permission request. 44562 44563 No new tests, as this is for the purposes of browser UI only. 44564 44565 * loader/EmptyClients.h: Modified 44566 (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): Added 44567 * page/Chrome.cpp: Modified. 44568 (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): Added 44569 * page/Chrome.h: Modified. 44570 * page/ChromeClient.h: Modified. 44571 (WebCore::ChromeClient::cancelGeolocationPermissionRequestForFrame): Added 44572 * page/Geolocation.cpp: Modified. 44573 (WebCore::Geolocation::disconnectFrame): Modified. Call cancelGeolocationPermissionRequestForFrame 44574 44575 2010-02-23 Tony Chang <tony (a] chromium.org> 44576 44577 Reviewed by Eric Seidel. 44578 44579 https://bugs.webkit.org/show_bug.cgi?id=34634 44580 Pasting a list into the middle of another list item should split the target 44581 list item into two separate list items. This matches the behavior in other 44582 browsers. 44583 44584 Test: editing/pasteboard/paste-list-004.html 44585 44586 * editing/ReplaceSelectionCommand.cpp: 44587 (WebCore::ReplaceSelectionCommand::insertAsListItems): 44588 44589 2010-02-23 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 44590 44591 Reviewed by Laszlo Gombos. 44592 44593 [Qt] Correct build problems while building QtWebKit inside Qt. 44594 https://bugs.webkit.org/show_bug.cgi?id=34975 44595 44596 * WebCore.pro: Change the condition !standalone_package to !QTDIR_build 44597 44598 2010-02-23 Noam Rosenthal <noam.rosenthal (a] nokia.com> 44599 44600 Reviewed by Ariya Hidayat. 44601 44602 [Qt] Connect video with accelerated compositing 44603 https://bugs.webkit.org/show_bug.cgi?id=35276 44604 44605 MediaControlPrivate and GraphicsLayer are patched together via 44606 a shared PlatformLayer (QGraphicsItem). This patch makes sure that the 44607 QGraphicsVideoItem from MediaControl becomes part of the scene 44608 associsated with GraphicsLayer 44609 44610 Test: http://double.co.nz/video_test/test1.html with AC turned on 44611 44612 * platform/graphics/qt/GraphicsLayerQt.cpp: 44613 (WebCore::GraphicsLayerQtImpl::): mediaLayer member 44614 (WebCore::GraphicsLayerQtImpl::opaqueArea): video is opaque 44615 (WebCore::GraphicsLayerQtImpl::paint): don't paint video 44616 (WebCore::GraphicsLayerQtImpl::flushChanges): flush mediaLayer 44617 (WebCore::GraphicsLayerQt::setContentsToMedia): notify 44618 * platform/graphics/qt/GraphicsLayerQt.h: reimp setContentsToMedia 44619 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 44620 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): m_compositing 44621 (WebCore::MediaPlayerPrivate::paint): don't paint if compositing 44622 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): 44623 reimp from MediaPlayerPrivateInterface to support AC 44624 (WebCore::MediaPlayerPrivate::platformLayer): ditto 44625 * platform/graphics/qt/MediaPlayerPrivateQt.h: 44626 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): ditto 44627 44628 2010-02-23 Stephan Amus <superstippi (a] gmx.de> 44629 44630 Reviewed by Eric Seidel. 44631 44632 Fix various issues in PlatformWheelEventHaiku. 44633 https://bugs.webkit.org/show_bug.cgi?id=34685 44634 44635 Covered by existing tests. 44636 44637 Fixed coding style violations. 44638 Synced extracting the correct coordinates with Haiku WebKit implementation. 44639 Added extracting modifier key flags. 44640 44641 * platform/haiku/PlatformWheelEventHaiku.cpp: 44642 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 44643 44644 2010-02-23 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 44645 44646 Reviewed by Eric Seidel. 44647 44648 Build fix for PluginView 44649 https://bugs.webkit.org/show_bug.cgi?id=35230 44650 44651 No new tests, build fix only. 44652 44653 * plugins/PluginView.cpp: 44654 * plugins/PluginView.h: 44655 * plugins/PluginViewNone.cpp: 44656 44657 2010-02-23 Kwang Yul Seo <skyul (a] company100.net> 44658 44659 Reviewed by Eric Seidel. 44660 44661 [BREWMP] Port ScriptController::createScriptInstanceForWidget 44662 https://bugs.webkit.org/show_bug.cgi?id=34413 44663 44664 * bindings/js/ScriptControllerBrew.cpp: Added. 44665 (WebCore::ScriptController::createScriptInstanceForWidget): 44666 44667 2010-02-23 Jos Milln Soto <jmillan (a] igalia.com> 44668 44669 Reviewed by Eric Seidel. 44670 44671 [Gtk] Webkit crashes when using orca 44672 https://bugs.webkit.org/show_bug.cgi?id=35169 44673 44674 Made webkit_accessible_text_get_caret_offset check if end selection 44675 node is null. 44676 44677 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 44678 (webkit_accessible_text_get_caret_offset): 44679 44680 2010-02-22 Stephan Amus <superstippi (a] gmx.de> 44681 44682 Reviewed by Eric Seidel. 44683 44684 [Haiku] Implemented PopupMenu support. 44685 https://bugs.webkit.org/show_bug.cgi?id=35078 44686 44687 Covered by existing tests. 44688 44689 The implementation is currently very simple: Added a PopupMenuHaiku 44690 class that derives from a native BPopUpMenu. It attaches a BHandler 44691 derivative to the BApplication (WebCore main thread) which receives 44692 the item invokation and menu hidden events and informs the PopupMenuClient 44693 accordingly. 44694 44695 * platform/PopupMenu.h: 44696 Changed type of m_menu for Haiku. 44697 * platform/haiku/PopupMenuHaiku.cpp: 44698 (WebCore::PopupMenuHandler::PopupMenuHandler): 44699 (WebCore::PopupMenuHandler::MessageReceived): 44700 (WebCore::PopupMenuHaiku::PopupMenuHaiku): 44701 (WebCore::PopupMenuHaiku::~PopupMenuHaiku): 44702 (WebCore::PopupMenuHaiku::show): 44703 (WebCore::PopupMenuHaiku::hide): 44704 (WebCore::PopupMenuHaiku::Hide): 44705 (WebCore::PopupMenu::PopupMenu): 44706 (WebCore::PopupMenu::~PopupMenu): 44707 Removed bogus code. 44708 (WebCore::PopupMenu::show): 44709 Implemented using new PopupMenuHaiku class. 44710 (WebCore::PopupMenu::hide): 44711 Implemented using new PopupMenuHaiku class. 44712 (WebCore::PopupMenu::updateFromElement): 44713 Implemented. 44714 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 44715 Implemented according to Gtk port. 44716 44717 2010-02-22 Stephan Amus <superstippi (a] gmx.de> 44718 44719 Reviewed by Eric Seidel. 44720 44721 Fix various issues in PlatformMouseEventHaiku. 44722 https://bugs.webkit.org/show_bug.cgi?id=34685 44723 44724 Covered by existing tests. 44725 44726 Mapping Haiku button constants (bit field) to WebCore buttons was broken. 44727 Extracting event time was broken (supposed to be in seconds). 44728 Wrong coordinate was being extracted, needs to be content local. 44729 Added extracting modifier key flags. 44730 44731 * platform/haiku/PlatformMouseEventHaiku.cpp: 44732 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 44733 44734 2010-02-22 Stephan Amus <superstippi (a] gmx.de> 44735 44736 Reviewed by Eric Seidel. 44737 44738 [Haiku] Implement creating and filling platform gradients. 44739 https://bugs.webkit.org/show_bug.cgi?id=34683 44740 44741 Covered by existing tests. 44742 44743 * platform/graphics/Gradient.h: 44744 Typedef PlatformGradient to BGradient 44745 * platform/graphics/haiku/GradientHaiku.cpp: 44746 (WebCore::Gradient::platformDestroy): 44747 Delete the cached BGradient object. 44748 (WebCore::Gradient::platformGradient): 44749 Create a BGradient object according to the type of Gradient. 44750 Return the cached object. 44751 (WebCore::Gradient::fill): 44752 use BView API to fill with the platform gradient. 44753 44754 2010-02-22 Stephan Amus <superstippi (a] gmx.de> 44755 44756 Reviewed by Eric Seidel. 44757 44758 Build fix for debug builds of GlyphPageTreeNode.cpp 44759 https://bugs.webkit.org/show_bug.cgi?id=34528 44760 44761 Covered by existing tests. 44762 44763 * platform/graphics/GlyphPageTreeNode.cpp: 44764 include <stdio.h> since printf() is used if NDEBUG is not defined. 44765 44766 2010-02-22 Nate Chapin <japhet (a] chromium.org> 44767 44768 Unreviewed, Chromium build fix. 44769 44770 Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements. 44771 44772 CodeGeneratorV8.pm was relying on HasOverridingNameGetter to hint 44773 that a custom named getter was needed. That hint was removed in 44774 http://trac.webkit.org/changeset/55104. 44775 44776 * bindings/scripts/CodeGeneratorV8.pm: 44777 44778 2010-02-22 Alexey Proskuryakov <ap (a] apple.com> 44779 44780 Rubber-stamped by Geoff Garen. 44781 44782 Rename RuntimeObjectImp to RuntimeObject. 44783 44784 * WebCore.PluginHostProcess.exp: 44785 * bindings/js/JSPluginElementFunctions.cpp: 44786 (WebCore::getRuntimeObject): 44787 (WebCore::runtimeObjectPropertyGetter): 44788 (WebCore::runtimeObjectCustomGetOwnPropertySlot): 44789 (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor): 44790 (WebCore::runtimeObjectCustomPut): 44791 * bindings/objc/WebScriptObject.mm: 44792 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 44793 * bridge/c/c_utility.cpp: 44794 (JSC::Bindings::convertValueToNPVariant): 44795 * bridge/jni/jni_jsobject.mm: 44796 (JavaJSObject::convertValueToJObject): 44797 * bridge/jni/jsc/JNIUtilityPrivate.cpp: 44798 (JSC::Bindings::convertValueToJValue): 44799 * bridge/jsc/BridgeJSC.cpp: 44800 (JSC::Bindings::Instance::createRuntimeObject): 44801 (JSC::Bindings::Instance::newRuntimeObject): 44802 * bridge/jsc/BridgeJSC.h: 44803 * bridge/objc/objc_runtime.mm: 44804 (JSC::Bindings::callObjCFallbackObject): 44805 * bridge/qt/qt_instance.cpp: 44806 (JSC::Bindings::QtRuntimeObject::markChildren): 44807 (JSC::Bindings::): 44808 (JSC::Bindings::QtRuntimeObject::QtRuntimeObject): 44809 (JSC::Bindings::QtInstance::getInstance): 44810 (JSC::Bindings::QtInstance::newRuntimeObject): 44811 * bridge/qt/qt_instance.h: 44812 * bridge/qt/qt_pixmapruntime.cpp: 44813 (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject): 44814 (JSC::Bindings::): 44815 (JSC::Bindings::QtPixmapInstance::variantFromObject): 44816 (JSC::Bindings::QtPixmapInstance::createRuntimeObject): 44817 * bridge/qt/qt_runtime.cpp: 44818 (JSC::Bindings::valueRealType): 44819 * bridge/runtime_method.cpp: 44820 (JSC::callRuntimeMethod): 44821 * bridge/runtime_object.cpp: 44822 (JSC::RuntimeObject::RuntimeObject): 44823 (JSC::RuntimeObject::~RuntimeObject): 44824 (JSC::RuntimeObject::invalidate): 44825 (JSC::RuntimeObject::fallbackObjectGetter): 44826 (JSC::RuntimeObject::fieldGetter): 44827 (JSC::RuntimeObject::methodGetter): 44828 (JSC::RuntimeObject::getOwnPropertySlot): 44829 (JSC::RuntimeObject::getOwnPropertyDescriptor): 44830 (JSC::RuntimeObject::put): 44831 (JSC::RuntimeObject::deleteProperty): 44832 (JSC::RuntimeObject::defaultValue): 44833 (JSC::callRuntimeObject): 44834 (JSC::RuntimeObject::getCallData): 44835 (JSC::callRuntimeConstructor): 44836 (JSC::RuntimeObject::getConstructData): 44837 (JSC::RuntimeObject::getOwnPropertyNames): 44838 (JSC::RuntimeObject::throwInvalidAccessError): 44839 * bridge/runtime_object.h: 44840 * bridge/runtime_root.cpp: 44841 (JSC::Bindings::RootObject::invalidate): 44842 (JSC::Bindings::RootObject::addRuntimeObject): 44843 (JSC::Bindings::RootObject::removeRuntimeObject): 44844 * bridge/runtime_root.h: 44845 44846 2010-02-19 Peter Kasting <pkasting (a] google.com> 44847 44848 Reviewed by Eric Seidel. 44849 44850 Avoid recursion when trying to get the size of a PNG; it's unnecessary 44851 and in the worst case can lead to heap corruption. 44852 https://bugs.webkit.org/show_bug.cgi?id=35167 44853 44854 Test: fast/images/bad-png.html 44855 44856 * platform/image-decoders/png/PNGImageDecoder.cpp: 44857 (WebCore::PNGImageReader::decode): 44858 44859 2010-02-22 Brady Eidson <beidson (a] apple.com> 44860 44861 Reviewed by Tim Hatcher. 44862 44863 Disable WebView docking to views that are too small. 44864 <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254 44865 44866 * WebCore.base.exp: 44867 * inspector/InspectorController.cpp: 44868 (WebCore::InspectorController::canAttachWindow): Provide a utility for WebKits to make a showWindow() 44869 decision based on if attachment would be allowed or not. 44870 (WebCore::InspectorController::attachWindow): Don't attach if the view is too small to attach to. 44871 * inspector/InspectorController.h: 44872 44873 2010-02-22 Alexey Proskuryakov <ap (a] apple.com> 44874 44875 Build fix. 44876 44877 * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual! 44878 44879 2010-02-22 Alexey Proskuryakov <ap (a] apple.com> 44880 44881 Undo a small part of the previous commit. 44882 44883 * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local 44884 variable as RefPtr for safety. 44885 44886 2010-02-22 Alexey Proskuryakov <ap (a] apple.com> 44887 44888 Reviewed by Darin Adler. 44889 44890 https://bugs.webkit.org/show_bug.cgi?id=35260 44891 Eliminate __apple_runtime_object 44892 44893 No change in functionality, so no tests. 44894 44895 * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it. 44896 44897 * bindings/js/JSHTMLAppletElementCustom.cpp: 44898 * bindings/js/JSHTMLEmbedElementCustom.cpp: 44899 * bindings/js/JSHTMLObjectElementCustom.cpp: 44900 * html/HTMLAppletElement.idl: 44901 * html/HTMLEmbedElement.idl: 44902 * html/HTMLObjectElement.idl: 44903 These objects no longer need overriding name getters, as they no longer intercept the 44904 __apple_runtime_object property. 44905 44906 * bindings/js/JSPluginElementFunctions.cpp: 44907 (WebCore::pluginInstance): This is no longer static. It was used for callPlugin() in 44908 this file, and now it's also used elsewhere when calling plug-in methods. 44909 (WebCore::runtimeObjectGetter): Removed. This function was only used by the intercepting 44910 name getters. 44911 44912 * bindings/js/JSPluginElementFunctions.h: Export pluginInstance(). 44913 44914 * bindings/objc/WebScriptObject.mm: 44915 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 44916 * bridge/runtime_method.cpp: 44917 (JSC::callRuntimeMethod): 44918 Take plug-in element's instance directly, without relying on fake attribute lookup. 44919 One change resulting from this is that RuntimeObjectImp may not be created in some cases - 44920 this code only needs an instance, but the old code had to pass the instance wrapped into 44921 RuntimeObjectImp. 44922 44923 2010-02-22 John Sullivan <sullivan (a] apple.com> 44924 44925 Reviewed by Tim Hatcher. 44926 44927 https://bugs.webkit.org/show_bug.cgi?id=35256 44928 HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index 44929 44930 No new tests because this code path is not used for JS-initiated changes. 44931 44932 * html/HTMLSelectElement.cpp: 44933 (WebCore::HTMLSelectElement::setSelectedIndexByUser): 44934 Bail out if the to-be-selected index matches the already-selected index. 44935 44936 2010-02-22 Enrica Casucci <enrica (a] apple.com> 44937 44938 Reviewed by Dan Bernstein. 44939 44940 Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com 44941 <rdar://problem/7615758> 44942 https://bugs.webkit.org/show_bug.cgi?id=35060 44943 44944 Test: editing/selection/extend-byline-withfloat.html 44945 44946 * editing/visible_units.cpp: 44947 (WebCore::previousLinePosition): Skip elements with zero height. 44948 (WebCore::nextLinePosition): Skip elements with zero height. 44949 44950 2010-02-22 Nate Chapin <japhet (a] chromium.org> 44951 44952 Unreviewed, Chromium build fix. 44953 44954 * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge. 44955 44956 2010-02-22 Nate Chapin <japhet (a] chromium.org> 44957 44958 Reviewed by Dimitri Glazkov. 44959 44960 [V8] Streamline V8 event listener code. Merge all the variants of 44961 V8DOMWrapper::getEventListner() into a single version and generate 44962 addEventListener() and removeEventListener() bindings for all objects 44963 except DOMWindow. 44964 44965 https://bugs.webkit.org/show_bug.cgi?id=35245 44966 44967 * Android.v8bindings.mk: 44968 * WebCore.gypi: 44969 * bindings/scripts/CodeGeneratorV8.pm: 44970 * bindings/v8/V8DOMWrapper.cpp: 44971 (WebCore::V8DOMWrapper::getEventListener): 44972 * bindings/v8/V8DOMWrapper.h: 44973 * bindings/v8/WorkerContextExecutionProxy.cpp: 44974 * bindings/v8/WorkerContextExecutionProxy.h: 44975 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Removed. 44976 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Removed. 44977 * bindings/v8/custom/V8DOMWindowCustom.cpp: 44978 (WebCore::V8DOMWindow::addEventListenerCallback): 44979 (WebCore::V8DOMWindow::removeEventListenerCallback): 44980 * bindings/v8/custom/V8EventSourceCustom.cpp: Removed. 44981 * bindings/v8/custom/V8MessagePortCustom.cpp: 44982 * bindings/v8/custom/V8NodeCustom.cpp: 44983 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 44984 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Removed. 44985 * bindings/v8/custom/V8WebSocketCustom.cpp: 44986 * bindings/v8/custom/V8WorkerContextCustom.cpp: 44987 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 44988 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 44989 * dom/MessagePort.idl: 44990 * dom/Node.idl: 44991 * loader/appcache/DOMApplicationCache.idl: 44992 * notifications/Notification.idl: 44993 * page/EventSource.idl: 44994 * svg/SVGElementInstance.idl: 44995 * websockets/WebSocket.idl: 44996 * workers/AbstractWorker.idl: 44997 * workers/WorkerContext.idl: 44998 * xml/XMLHttpRequest.idl: 44999 * xml/XMLHttpRequestUpload.idl: 45000 45001 2010-02-22 Chris Fleizach <cfleizach (a] apple.com> 45002 45003 Reviewed by Beth Dakin. 45004 45005 AX: AXFocused is not writable like it should be on nodes 45006 https://bugs.webkit.org/show_bug.cgi?id=35186 45007 45008 Test: platform/mac/accessibility/element-focus.html 45009 45010 * accessibility/AccessibilityRenderObject.cpp: 45011 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 45012 45013 2010-02-22 Simon Fraser <simon.fraser (a] apple.com> 45014 45015 Reviewed by Dan Bernstein, Darin Adler. 45016 45017 Remove addScrolledContentOffset/subtractScrolledContentOffset 45018 https://bugs.webkit.org/show_bug.cgi?id=35225 45019 45020 Remove RenderLayer's addScrolledContentOffset() and subtractScrolledContentOffset() 45021 methods, and instead use the existing scrolledContentOffset(), and use 45022 IntSize and IntPoint instead of lots of x, y variables. 45023 45024 Added new IntPoint toPoint(const IntSize&) method as a convenience to convert a size to a point, 45025 which is needed in a few places. 45026 45027 * page/EventHandler.cpp: 45028 (WebCore::EventHandler::handleDrag): Use the new toPoint() convenience. 45029 * platform/graphics/IntPoint.h: 45030 (WebCore::toPoint): New convenience method to convert an IntSize to an IntPoint. 45031 * rendering/LayoutState.cpp: 45032 (WebCore::LayoutState::LayoutState): 45033 * rendering/RenderBlock.cpp: 45034 (WebCore::RenderBlock::layoutBlock): 45035 (WebCore::RenderBlock::paintObject): 45036 (WebCore::RenderBlock::selectionGapRectsForRepaint): 45037 (WebCore::RenderBlock::nodeAtPoint): 45038 (WebCore::RenderBlock::offsetForContents): 45039 * rendering/RenderBoxModelObject.cpp: 45040 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 45041 * rendering/RenderInline.cpp: 45042 (WebCore::RenderInline::clippedOverflowRectForRepaint): 45043 * rendering/RenderLayer.cpp: 45044 (WebCore::RenderLayer::updateLayerPosition): 45045 * rendering/RenderLayer.h: 45046 (WebCore::RenderLayer::size): 45047 * rendering/RenderObject.cpp: 45048 (WebCore::RenderObject::computeRectForRepaint): 45049 * rendering/TextControlInnerElements.cpp: 45050 (WebCore::RenderTextControlInnerBlock::positionForPoint): 45051 45052 2009-02-22 Adam Langley <agl (a] google.com> 45053 45054 Reviewed by Darin Fisher. 45055 45056 fontconfig on Linux can change the render preferences on a per strike 45057 basis (a strike a combination of face and size). Because of this, we 45058 need to query fontconfig each time a new FontPlatformData is created 45059 for a new size. 45060 45061 This patch adds support for querying this via ChromiumBridge. 45062 45063 https://bugs.webkit.org/show_bug.cgi?id=33065 45064 45065 * platform/chromium/ChromiumBridge.h: add getRenderStyleForStrike 45066 * platform/graphics/chromium/FontCacheLinux.cpp: 45067 (WebCore::FontCache::createFontPlatformData): 45068 * platform/graphics/chromium/FontCustomPlatformData.cpp: 45069 (WebCore::FontCustomPlatformData::fontPlatformData): 45070 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 45071 (WebCore::FontPlatformData::FontPlatformData): 45072 (WebCore::FontPlatformData::operator=): 45073 (WebCore::FontPlatformData::setupPaint): 45074 (WebCore::FontPlatformData::queryStyle): 45075 add code to query fontconfig via ChromiumBridge 45076 * platform/graphics/chromium/FontPlatformDataLinux.h: 45077 45078 2010-02-22 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 45079 45080 Build fix for make distcheck. 45081 45082 * GNUmakefile.am: 45083 45084 2010-02-22 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 45085 45086 Reviewed by Kenneth Rohde Christiansen. 45087 45088 Fix compiler warning "suggest parentheses around" 45089 https://bugs.webkit.org/show_bug.cgi?id=35197 45090 45091 No new tests as there is no new functionality. 45092 45093 * wml/WMLVariables.cpp: 45094 (WebCore::substituteVariableReferences): 45095 45096 2010-02-22 Gustavo Noronha Silva <gns (a] gnome.org> 45097 45098 Reviewed by Xan Lopez. 45099 45100 [Soup] loses information related to message flags when converting from/to Resource{Request,Response} 45101 https://bugs.webkit.org/show_bug.cgi?id=35093 45102 45103 Store message flags in WebCore objects, and set them on the 45104 SoupMessage, when creating one from them. 45105 45106 No behaviour change. 45107 45108 * platform/network/soup/ResourceHandleSoup.cpp: 45109 (WebCore::fillResponseFromMessage): 45110 * platform/network/soup/ResourceRequest.h: 45111 (WebCore::ResourceRequest::soupMessageFlags): 45112 (WebCore::ResourceRequest::setSoupMessageFlags): 45113 * platform/network/soup/ResourceRequestSoup.cpp: 45114 (WebCore::ResourceRequest::toSoupMessage): 45115 (WebCore::ResourceRequest::updateFromSoupMessage): 45116 * platform/network/soup/ResourceResponse.h: 45117 (WebCore::ResourceResponse::soupMessageFlags): 45118 (WebCore::ResourceResponse::setSoupMessageFlags): 45119 * platform/network/soup/ResourceResponseSoup.cpp: 45120 (WebCore::ResourceResponse::toSoupMessage): 45121 (WebCore::ResourceResponse::updateFromSoupMessage): 45122 45123 2010-02-22 Steve Block <steveblock (a] google.com> 45124 45125 Reviewed by Nate Chapin. 45126 45127 Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded 45128 https://bugs.webkit.org/show_bug.cgi?id=35238 45129 45130 No new tests, build fix only. 45131 45132 * bindings/v8/V8DOMWrapper.cpp: 45133 (WebCore::globalObjectPrototypeIsDOMWindow): 45134 45135 2010-02-22 Steve Block <steveblock (a] google.com> 45136 45137 Reviewed by Simon Fraser. 45138 45139 Simplifies calculation of the transform in RenderLayer::paintLayer 45140 https://bugs.webkit.org/show_bug.cgi?id=35101 45141 45142 No new tests, optimization only. 45143 45144 * rendering/RenderLayer.cpp: 45145 (WebCore::RenderLayer::paintLayer): 45146 45147 2010-02-22 Nicholas Young <nicholas.young (a] nokia.com> 45148 45149 Reviewed by Tor Arne Vestb. 45150 45151 [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7 45152 45153 https://bugs.webkit.org/show_bug.cgi?id=34631 45154 45155 No new tests. This patch only affects multimedia backend. 45156 45157 * WebCore.pro: Build depends on Qt version. 45158 * css/mediaControlsQt.css: Updated media controls. 45159 * platform/graphics/MediaPlayer.cpp: Different backend included depending on Qt version. 45160 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Added new QtMultimedia Backend. 45161 (WebCore::MediaPlayerPrivate::create): 45162 (WebCore::MediaPlayerPrivate::registerMediaEngine): 45163 (WebCore::MediaPlayerPrivate::getSupportedTypes): 45164 (WebCore::MediaPlayerPrivate::supportsType): 45165 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 45166 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 45167 (WebCore::MediaPlayerPrivate::hasVideo): 45168 (WebCore::MediaPlayerPrivate::hasAudio): 45169 (WebCore::MediaPlayerPrivate::load): 45170 (WebCore::MediaPlayerPrivate::cancelLoad): 45171 (WebCore::MediaPlayerPrivate::play): 45172 (WebCore::MediaPlayerPrivate::pause): 45173 (WebCore::MediaPlayerPrivate::paused): 45174 (WebCore::MediaPlayerPrivate::seek): 45175 (WebCore::MediaPlayerPrivate::seeking): 45176 (WebCore::MediaPlayerPrivate::duration): 45177 (WebCore::MediaPlayerPrivate::currentTime): 45178 (WebCore::MediaPlayerPrivate::buffered): 45179 (WebCore::MediaPlayerPrivate::maxTimeSeekable): 45180 (WebCore::MediaPlayerPrivate::bytesLoaded): 45181 (WebCore::MediaPlayerPrivate::totalBytes): 45182 (WebCore::MediaPlayerPrivate::setRate): 45183 (WebCore::MediaPlayerPrivate::setVolume): 45184 (WebCore::MediaPlayerPrivate::supportsMuting): 45185 (WebCore::MediaPlayerPrivate::setMuted): 45186 (WebCore::MediaPlayerPrivate::networkState): 45187 (WebCore::MediaPlayerPrivate::readyState): 45188 (WebCore::MediaPlayerPrivate::setVisible): 45189 (WebCore::MediaPlayerPrivate::mediaStatusChanged): 45190 (WebCore::MediaPlayerPrivate::handleError): 45191 (WebCore::MediaPlayerPrivate::stateChanged): 45192 (WebCore::MediaPlayerPrivate::nativeSizeChanged): 45193 (WebCore::MediaPlayerPrivate::queuedSeekTimeout): 45194 (WebCore::MediaPlayerPrivate::seekTimeout): 45195 (WebCore::MediaPlayerPrivate::positionChanged): 45196 (WebCore::MediaPlayerPrivate::durationChanged): 45197 (WebCore::MediaPlayerPrivate::volumeChanged): 45198 (WebCore::MediaPlayerPrivate::mutedChanged): 45199 (WebCore::MediaPlayerPrivate::updateStates): 45200 (WebCore::MediaPlayerPrivate::setSize): 45201 (WebCore::MediaPlayerPrivate::naturalSize): 45202 (WebCore::MediaPlayerPrivate::paint): 45203 (WebCore::MediaPlayerPrivate::repaint): 45204 * platform/graphics/qt/MediaPlayerPrivateQt.h: Added new QtMultimedia Backend. 45205 (WebCore::MediaPlayerPrivate::isAvailable): 45206 (WebCore::MediaPlayerPrivate::supportsFullscreen): 45207 * platform/qt/RenderThemeQt.cpp: 45208 (WebCore::RenderThemeQt::mediaControlsBaselineOpacity): New method. 45209 (WebCore::RenderThemeQt::paintMediaBackground): Background depends on baseline opacity. 45210 (WebCore::RenderThemeQt::paintMediaMuteButton): Changed styling. 45211 (WebCore::RenderThemeQt::paintMediaCurrentTime): Added current time display. 45212 (WebCore::RenderThemeQt::formatMediaControlsCurrentTime): Added time formatting. 45213 (WebCore::RenderThemeQt::formatMediaControlsRemainingTime): Added time formatting. 45214 (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): Volume slider added. 45215 (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): Volume slider added. 45216 (WebCore::RenderThemeQt::paintMediaSliderTrack): Updated for QtMultimedia. 45217 (WebCore::RenderThemeQt::paintMediaSliderThumb): Dropped an unnecessary check. 45218 (WebCore::RenderThemeQt::adjustSliderThumbSize): Handle a missing case. 45219 * platform/qt/RenderThemeQt.h: Reimplemented a few more methods. 45220 45221 2010-02-22 Alexander Pavlov <apavlov (a] chromium.org> 45222 45223 Not reviewed: mac build fix 45224 45225 * bindings/js/ScriptDebugServer.cpp: 45226 (WebCore::ScriptDebugServer::ScriptDebugServer): 45227 45228 2010-02-22 Alexander Pavlov <apavlov (a] chromium.org> 45229 45230 Reviewed by Pavel Feldman. 45231 45232 Web Inspector: there should be a way to "deactivate" or "skip" all breakpoints while debugging. 45233 https://bugs.webkit.org/show_bug.cgi?id=33217 45234 45235 * English.lproj/localizedStrings.js: 45236 * bindings/js/ScriptDebugServer.cpp: 45237 (WebCore::ScriptDebugServer::ScriptDebugServer): 45238 (WebCore::ScriptDebugServer::hasBreakpoint): 45239 (WebCore::ScriptDebugServer::setBreakpointsActivated): 45240 * bindings/js/ScriptDebugServer.h: 45241 * bindings/v8/ScriptDebugServer.h: 45242 (WebCore::ScriptDebugServer::setBreakpointsActivated): 45243 * inspector/InspectorBackend.cpp: 45244 (WebCore::InspectorBackend::activateBreakpoints): 45245 (WebCore::InspectorBackend::deactivateBreakpoints): 45246 * inspector/InspectorBackend.h: 45247 * inspector/InspectorBackend.idl: 45248 * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: Added. 45249 * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: Added. 45250 * inspector/front-end/InspectorBackendStub.js: 45251 (.WebInspector.InspectorBackendStub.prototype.activateBreakpoints): 45252 (.WebInspector.InspectorBackendStub.prototype.deactivateBreakpoints): 45253 * inspector/front-end/ScriptsPanel.js: 45254 (WebInspector.ScriptsPanel): 45255 (WebInspector.ScriptsPanel.prototype.get breakpointsActivated): 45256 (WebInspector.ScriptsPanel.prototype.addBreakpoint): 45257 (WebInspector.ScriptsPanel.prototype._stepOutClicked): 45258 (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked): 45259 * inspector/front-end/inspector.css: 45260 * inspector/front-end/textViewer.css: 45261 45262 2010-02-22 Mark Rowe <mrowe (a] apple.com> 45263 45264 Rubber-stamped by Sam Weinig and Maciej Stachowiak. 45265 45266 REGRESSION (r55039): Animation starts from near end when loaded over slow network 45267 <http://webkit.org/b/35222> / <rdar://problem/7673523> 45268 45269 Roll out r55039 (related to <http://webkit.org/b/35115>) as it causes animated GIFs 45270 to skip intermediate frames when loading over a slower network. 45271 45272 * platform/graphics/BitmapImage.cpp: 45273 (WebCore::BitmapImage::startAnimation): 45274 45275 2010-02-22 Maciej Stachowiak <mjs (a] apple.com> 45276 45277 Not reviewed, build fix. 45278 45279 Revert the previous change. 45280 45281 2010-02-21 Maciej Stachowiak <mjs (a] apple.com> 45282 45283 Reviewed by Darin Adler. 45284 45285 Cache JavaScript wrappers inline in DOM nodes 45286 https://bugs.webkit.org/show_bug.cgi?id=35226 45287 <rdar://problem/7664202> 45288 45289 8.8% speedup on Dromaeo DOM Core tests. 45290 3.3% speedup on Hixie DOM Core tests. 45291 45292 * bindings/js/JSDOMBinding.cpp: 45293 (WebCore::forgetDOMNode): Clear wrapper pointer. 45294 (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world. 45295 * bindings/js/JSDOMBinding.h: 45296 (WebCore::DOMObjectWrapperMapFor): 45297 * bindings/js/JSDocumentCustom.cpp: 45298 (WebCore::toJS): Remove unneeded argument from getCachedDOMNodeWrapper. 45299 * bindings/js/JSNodeCustom.cpp: 45300 (WebCore::createWrapperInline): Renamed version of original createWrapper. 45301 (WebCore::createWrapper): Call createWrapperInline. Out-of-line version. 45302 (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper. 45303 * bindings/js/JSNodeCustom.h: Added. 45304 (WebCore::getCachedDOMNodeWrapper): Moved here so it can be inlined. 45305 (WebCore::toJS): Moved here so it can be inlined. 45306 * bindings/js/ScriptWrappable.h: 45307 (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious 45308 way for JavaScriptCore. 45309 (WebCore::ScriptWrappable::wrapper): 45310 (WebCore::ScriptWrappable::setWrapper): 45311 (WebCore::ScriptWrappable::clearWrapper): 45312 * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders 45313 in the header, not just the impl file, so they can add inlining. 45314 * dom/Node.idl: Add CustomHeader directive. 45315 45316 Add new files to build. 45317 45318 * GNUmakefile.am: 45319 * WebCore.gypi: 45320 * WebCore.pro: 45321 * WebCore.vcproj/WebCore.vcproj: 45322 45323 2010-02-22 Pavel Feldman <pfeldman (a] chromium.org> 45324 45325 Not reviewed: windows build fix. 45326 45327 2010-02-21 Pavel Feldman <pfeldman (a] chromium.org> 45328 45329 Reviewed by Timothy Hatcher. 45330 45331 Web Inspector: stop on inline breakpoints on reload. 45332 - ScriptBreakpoint struct has been introduced and reused in InspectorController 45333 and debug server. 45334 - JavaScriptDebugServer was moved to bindings/js and renamed to ScriptDebugServer 45335 There were no changes to semantics, only some mechanical changes: 45336 - addBreakpoint and updateBreakpoint were merged into setBreakpoint 45337 - ScriptDebugServer now operates ScriptBreakpoint instances instead of 45338 BreakpointInfo. 45339 - It no longer allocates maps and breakpoint info in heap - all done on stack. 45340 - JavaScriptDebugListener is now ScriptDebugServer::Listener 45341 - Listener methods no longer have ExecState (was unused). 45342 - addListener/removeListener pair wuth no page argument removed (was unused). 45343 - InspectorController now binds sourceID to url and maintains a map of 'sticky' 45344 breakpoints. Whenever script is loaded and there is a sticky breakpoint url matching, 45345 breakpoint is being 'restored' synchronously in debug server and pushed to frontend. 45346 Front-end no longer stores map of sticky breakpoints. 45347 - setBreakpoint/removeBreakpoint/didParseSource trio handle this logic. 45348 - A bunch of if(USE_JSC/V8/other) forks removed. 45349 - InspectorFrontend now operates primitive types only, got rid of USE_JSC as well. 45350 45351 https://bugs.webkit.org/show_bug.cgi?id=28799 45352 45353 * GNUmakefile.am: 45354 * WebCore.base.exp: 45355 * WebCore.gypi: 45356 * WebCore.order: 45357 * WebCore.pro: 45358 * WebCore.vcproj/WebCore.vcproj: 45359 * WebCore.xcodeproj/project.pbxproj: 45360 * bindings/js/JSInjectedScriptHostCustom.cpp: 45361 (WebCore::JSInjectedScriptHost::currentCallFrame): 45362 (WebCore::JSInjectedScriptHost::isActivation): 45363 * bindings/js/ScriptDebugServer.cpp: 45364 (WebCore::ScriptDebugServer::shared): 45365 (WebCore::ScriptDebugServer::ScriptDebugServer): 45366 (WebCore::ScriptDebugServer::~ScriptDebugServer): 45367 (WebCore::ScriptDebugServer::addListener): 45368 (WebCore::ScriptDebugServer::removeListener): 45369 (WebCore::ScriptDebugServer::pageCreated): 45370 (WebCore::ScriptDebugServer::hasListenersInterestedInPage): 45371 (WebCore::ScriptDebugServer::setBreakpoint): 45372 (WebCore::ScriptDebugServer::removeBreakpoint): 45373 (WebCore::ScriptDebugServer::hasBreakpoint): 45374 (WebCore::ScriptDebugServer::clearBreakpoints): 45375 (WebCore::ScriptDebugServer::setPauseOnExceptionsState): 45376 (WebCore::ScriptDebugServer::pauseProgram): 45377 (WebCore::ScriptDebugServer::continueProgram): 45378 (WebCore::ScriptDebugServer::stepIntoStatement): 45379 (WebCore::ScriptDebugServer::stepOverStatement): 45380 (WebCore::ScriptDebugServer::stepOutOfFunction): 45381 (WebCore::ScriptDebugServer::currentCallFrame): 45382 (WebCore::ScriptDebugServer::currentCallFrameState): 45383 (WebCore::ScriptDebugServer::dispatchDidParseSource): 45384 (WebCore::ScriptDebugServer::dispatchFailedToParseSource): 45385 (WebCore::toPage): 45386 (WebCore::ScriptDebugServer::detach): 45387 (WebCore::ScriptDebugServer::sourceParsed): 45388 (WebCore::ScriptDebugServer::dispatchFunctionToListeners): 45389 (WebCore::ScriptDebugServer::setJavaScriptPaused): 45390 (WebCore::ScriptDebugServer::pauseIfNeeded): 45391 (WebCore::ScriptDebugServer::callEvent): 45392 (WebCore::ScriptDebugServer::atStatement): 45393 (WebCore::ScriptDebugServer::returnEvent): 45394 (WebCore::ScriptDebugServer::exception): 45395 (WebCore::ScriptDebugServer::willExecuteProgram): 45396 (WebCore::ScriptDebugServer::didExecuteProgram): 45397 (WebCore::ScriptDebugServer::didReachBreakpoint): 45398 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon): 45399 (WebCore::ScriptDebugServer::recompileAllJSFunctions): 45400 (WebCore::ScriptDebugServer::didAddListener): 45401 (WebCore::ScriptDebugServer::didRemoveListener): 45402 (WebCore::ScriptDebugServer::didRemoveLastListener): 45403 * bindings/js/ScriptDebugServer.h: 45404 (WebCore::ScriptDebugServer::Listener::~Listener): 45405 (WebCore::ScriptDebugServer::): 45406 (WebCore::ScriptDebugServer::pauseOnExceptionsState): 45407 (WebCore::ScriptDebugServer::hasListeners): 45408 (WebCore::ScriptDebugServer::hasGlobalListeners): 45409 * bindings/v8/ScriptDebugServer.cpp: 45410 (WebCore::ScriptDebugServer::shared): 45411 * bindings/v8/ScriptDebugServer.h: 45412 (WebCore::ScriptDebugServer::Listener::~Listener): 45413 (WebCore::ScriptDebugServer::addListener): 45414 (WebCore::ScriptDebugServer::removeListener): 45415 (WebCore::ScriptDebugServer::setBreakpoint): 45416 (WebCore::ScriptDebugServer::removeBreakpoint): 45417 (WebCore::ScriptDebugServer::clearBreakpoints): 45418 (WebCore::ScriptDebugServer::): 45419 (WebCore::ScriptDebugServer::pauseOnExceptionsState): 45420 (WebCore::ScriptDebugServer::setPauseOnExceptionsState): 45421 (WebCore::ScriptDebugServer::pauseProgram): 45422 (WebCore::ScriptDebugServer::continueProgram): 45423 (WebCore::ScriptDebugServer::stepIntoStatement): 45424 (WebCore::ScriptDebugServer::stepOverStatement): 45425 (WebCore::ScriptDebugServer::stepOutOfFunction): 45426 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon): 45427 (WebCore::ScriptDebugServer::recompileAllJSFunctions): 45428 (WebCore::ScriptDebugServer::currentCallFrameState): 45429 (WebCore::ScriptDebugServer::pageCreated): 45430 (WebCore::ScriptDebugServer::ScriptDebugServer): 45431 (WebCore::ScriptDebugServer::~ScriptDebugServer): 45432 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 45433 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 45434 (WebCore::V8InjectedScriptHost::isActivationCallback): 45435 * inspector/InjectedScriptHost.cpp: 45436 * inspector/InjectedScriptHost.h: 45437 * inspector/InjectedScriptHost.idl: 45438 * inspector/InspectorBackend.cpp: 45439 (WebCore::InspectorBackend::setBreakpoint): 45440 (WebCore::InspectorBackend::removeBreakpoint): 45441 (WebCore::InspectorBackend::pauseInDebugger): 45442 (WebCore::InspectorBackend::stepOverStatementInDebugger): 45443 (WebCore::InspectorBackend::stepIntoStatementInDebugger): 45444 (WebCore::InspectorBackend::stepOutOfFunctionInDebugger): 45445 (WebCore::InspectorBackend::pauseOnExceptionsState): 45446 (WebCore::InspectorBackend::setPauseOnExceptionsState): 45447 * inspector/InspectorBackend.h: 45448 * inspector/InspectorBackend.idl: 45449 * inspector/ScriptBreakpoint.h: Added. 45450 (WebCore::InspectorBreakpoint::InspectorBreakpoint): 45451 * inspector/InspectorController.cpp: 45452 (WebCore::InspectorController::InspectorController): 45453 (WebCore::InspectorController::setWindowVisible): 45454 (WebCore::InspectorController::scriptObjectReady): 45455 (WebCore::InspectorController::close): 45456 (WebCore::InspectorController::didCommitLoad): 45457 (WebCore::InspectorController::addProfile): 45458 (WebCore::InspectorController::startUserInitiatedProfiling): 45459 (WebCore::InspectorController::stopUserInitiatedProfiling): 45460 (WebCore::InspectorController::enableProfiler): 45461 (WebCore::InspectorController::disableProfiler): 45462 (WebCore::InspectorController::enableDebuggerFromFrontend): 45463 (WebCore::InspectorController::disableDebugger): 45464 (WebCore::InspectorController::resumeDebugger): 45465 (WebCore::InspectorController::setBreakpoint): 45466 (WebCore::InspectorController::removeBreakpoint): 45467 (WebCore::InspectorController::didParseSource): 45468 (WebCore::InspectorController::failedToParseSource): 45469 (WebCore::InspectorController::didPause): 45470 * inspector/InspectorController.h: 45471 * inspector/InspectorFrontend.cpp: 45472 (WebCore::InspectorFrontend::parsedScriptSource): 45473 (WebCore::InspectorFrontend::restoredBreakpoint): 45474 (WebCore::InspectorFrontend::failedToParseScriptSource): 45475 (WebCore::InspectorFrontend::resumedScript): 45476 * inspector/InspectorFrontend.h: 45477 * inspector/JavaScriptDebugListener.h: Removed. 45478 * inspector/JavaScriptDebugServer.cpp: Removed. 45479 * inspector/JavaScriptDebugServer.h: Removed. 45480 * inspector/front-end/Breakpoint.js: 45481 (WebInspector.Breakpoint.prototype.set condition): 45482 * inspector/front-end/BreakpointsSidebarPane.js: 45483 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 45484 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 45485 * inspector/front-end/InspectorBackendStub.js: 45486 (.WebInspector.InspectorBackendStub.prototype.addBreakpoint): 45487 * inspector/front-end/ResourcesPanel.js: 45488 (WebInspector.ResourcesPanel.prototype.sourceFrameForResource): 45489 * inspector/front-end/ScriptsPanel.js: 45490 (WebInspector.ScriptsPanel): 45491 (WebInspector.ScriptsPanel.prototype.addScript): 45492 (WebInspector.ScriptsPanel.prototype.addBreakpoint): 45493 (WebInspector.ScriptsPanel.prototype.removeBreakpoint): 45494 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 45495 * inspector/front-end/inspector.js: 45496 (WebInspector.restoredBreakpoint): 45497 * page/Page.cpp: 45498 (WebCore::Page::Page): 45499 * platform/android/TemporaryLinkStubs.cpp: 45500 45501 2010-02-21 Gavin Barraclough <barraclough (a] apple.com> 45502 45503 Reviewed by Oliver Hunt. 45504 45505 Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const. 45506 45507 * platform/text/StringImpl.cpp: 45508 (WebCore::StringImpl::sharedBuffer): 45509 * platform/text/StringImpl.h: 45510 45511 2010-02-07 Yuzo Fujishima <yuzo (a] google.com> 45512 45513 Reviewed by Eric Seidel. 45514 45515 When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements. 45516 RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else. 45517 Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed. 45518 https://bugs.webkit.org/show_bug.cgi?id=9526 45519 45520 Test: printing/page-break-always-for-overflow.html 45521 45522 * rendering/RenderBlock.cpp: 45523 (WebCore::RenderBlock::paintChildren): 45524 * rendering/RenderBlock.h: 45525 45526 2010-02-21 Julien Chaffraix <jchaffraix (a] webkit.org> 45527 45528 Reviewed by Eric Seidel. 45529 45530 Remove auto_ptr usage in WebCore. 45531 https://bugs.webkit.org/show_bug.cgi?id=35157 45532 45533 The changes consists of: 45534 45535 - Changing auto_ptr arguments or return types to PassOwnPtr. 45536 45537 - Replacing local auto_ptr by OwnPtr. 45538 45539 - Removing now unneeded <memory> inclusion. 45540 45541 * css/CSSParser.cpp: 45542 (WebCore::CSSParser::addProperty): 45543 * loader/WorkerThreadableLoader.cpp: 45544 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 45545 (WebCore::workerContextDidReceiveResponse): 45546 (WebCore::workerContextDidReceiveData): 45547 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): 45548 (WebCore::workerContextDidReceiveAuthenticationCancellation): 45549 * loader/WorkerThreadableLoader.h: 45550 * loader/icon/IconLoader.cpp: 45551 (WebCore::IconLoader::create): 45552 * loader/icon/IconLoader.h: 45553 * platform/ContextMenu.cpp: 45554 (WebCore::separatorItem): 45555 * platform/CrossThreadCopier.h: 45556 (WebCore::): 45557 * platform/network/HTTPHeaderMap.cpp: 45558 (WebCore::HTTPHeaderMap::copyData): 45559 (WebCore::HTTPHeaderMap::adopt): 45560 * platform/network/HTTPHeaderMap.h: 45561 * platform/network/ResourceRequestBase.cpp: 45562 (WebCore::ResourceRequestBase::adopt): 45563 (WebCore::ResourceRequestBase::copyData): 45564 * platform/network/ResourceRequestBase.h: 45565 * platform/network/ResourceResponseBase.cpp: 45566 (WebCore::ResourceResponseBase::adopt): 45567 (WebCore::ResourceResponseBase::copyData): 45568 * platform/network/ResourceResponseBase.h: 45569 * svg/SVGDocumentExtensions.cpp: 45570 (WebCore::SVGDocumentExtensions::removePendingResource): 45571 * svg/SVGDocumentExtensions.h: 45572 * svg/SVGElement.cpp: 45573 (WebCore::SVGElement::insertedIntoDocument): 45574 * workers/GenericWorkerTask.h: 45575 * workers/WorkerThread.cpp: 45576 (WebCore::WorkerThreadStartupData::create): 45577 45578 2010-02-21 Simon Fraser <simon.fraser (a] apple.com> 45579 45580 Reviewed by Dan Bernstein. 45581 45582 https://bugs.webkit.org/show_bug.cgi?id=22215 45583 Avoid calling absoluteClippedOverflowRect() so many times 45584 45585 RenderLayer::updateLayerPositions() computes the clipped overflow rect 45586 and the outline bounds for repaint, and then calls repaintAfterLayoutIfNeeded() 45587 which can compute the same rects all over again. Avoid this by passing 45588 these two rects into repaintAfterLayoutIfNeeded() if known. This measurably 45589 reduces the time spent in updateLayerPositions() for some content. 45590 45591 * rendering/RenderLayer.cpp: 45592 (WebCore::RenderLayer::updateLayerPositions): 45593 * rendering/RenderObject.cpp: 45594 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 45595 * rendering/RenderObject.h: 45596 45597 2010-02-20 Alexey Proskuryakov <ap (a] apple.com> 45598 45599 Reviewed by Maciej Stachowiak. 45600 45601 https://bugs.webkit.org/show_bug.cgi?id=35202 45602 <rdar://problem/4856597> Calling Java method which accepts Object always passes a null argument 45603 45604 * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for 45605 other JS types. 45606 45607 2010-02-20 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 45608 45609 Reviewed by Darin Adler. 45610 45611 Fix compiler warning "suggest parentheses around" 45612 https://bugs.webkit.org/show_bug.cgi?id=35197 45613 45614 No new tests as there is no new functionality. 45615 45616 * html/DateComponents.cpp: 45617 (WebCore::beforeGregorianStartDate): 45618 * plugins/PluginDatabase.cpp: 45619 (WebCore::PluginDatabase::findPlugin): 45620 45621 2010-02-20 Noam Rosenthal <noam.rosenthal (a] nokia.com> 45622 45623 Reviewed by Laszlo Gombos. 45624 45625 [Qt] ENABLE_3D_RENDERING should be optional 45626 https://bugs.webkit.org/show_bug.cgi?id=35100 45627 45628 No new tests: this is a build fix. 45629 45630 * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test 45631 45632 2010-02-20 Alexey Proskuryakov <ap (a] apple.com> 45633 45634 Reviewed by Maciej Stachowiak. 45635 45636 https://bugs.webkit.org/show_bug.cgi?id=23742 45637 Applet methods can not return arrays to JS 45638 45639 * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaArray::JavaArray): Don't accidentally zero out 45640 m_rootObject (that's how PassRefPtr works). Without m_rootObject, we crash quickly. 45641 45642 * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Do handle returned arrays. 45643 Also, added an ifdef around code that's only needed on Tiger, and removed a comment saying 45644 it can be removed when "new" plugin ships. I doubt that anyone can remember what "new" 45645 could refer to back then. 45646 45647 2010-02-20 Pavel Feldman <pfeldman (a] chromium.org> 45648 45649 Reviewed by Timothy Hatcher. 45650 45651 Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic. 45652 45653 https://bugs.webkit.org/show_bug.cgi?id=35192 45654 45655 * inspector/front-end/ResourcesPanel.js: 45656 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 45657 * inspector/front-end/ScriptsPanel.js: 45658 (WebInspector.ScriptsPanel.prototype.show): 45659 (WebInspector.ScriptsPanel.prototype.viewRecreated): 45660 45661 2010-02-20 Pavel Feldman <pfeldman (a] chromium.org> 45662 45663 Reviewed by Timothy Hatcher. 45664 45665 Web Inspector: need to highlight the evaluated expression used for popovers. 45666 45667 https://bugs.webkit.org/show_bug.cgi?id=35126 45668 45669 * inspector/front-end/SourceFrame.js: 45670 (WebInspector.SourceFrame.prototype._mouseMove): 45671 (WebInspector.SourceFrame.prototype._hidePopup): 45672 (WebInspector.SourceFrame.prototype._mouseHover): 45673 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): 45674 (WebInspector.SourceFrame.prototype._showPopup): 45675 * inspector/front-end/inspector.css: 45676 45677 2010-02-20 Gustavo Noronha Silva <gns (a] gnome.org> 45678 45679 Roll out 55047 because it causes layout, and API tests to fail 45680 45681 2010-02-19 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 45682 45683 Reviewed by Xan Lopez. 45684 45685 [Soup] loses information related to message flags when converting from/to Resource{Request,Response} 45686 https://bugs.webkit.org/show_bug.cgi?id=35093 45687 45688 Refactor updating of ResourceResponse objects from soup message 45689 objects, to avoid code duplication. 45690 45691 No behaviour change. 45692 45693 * platform/network/soup/ResourceHandleSoup.cpp: 45694 (WebCore::fillResponseFromMessage): 45695 * platform/network/soup/ResourceResponseSoup.cpp: 45696 (WebCore::ResourceResponse::updateFromSoupMessage): 45697 45698 2010-02-20 Alexey Proskuryakov <ap (a] apple.com> 45699 45700 Reviewed by Maciej Stachowiak. 45701 45702 https://bugs.webkit.org/show_bug.cgi?id=35190 45703 Don't use system malloc in Java bindings 45704 45705 * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector. 45706 45707 2010-02-20 Alexey Proskuryakov <ap (a] apple.com> 45708 45709 Reviewed by Maciej Stachowiak. 45710 45711 https://bugs.webkit.org/show_bug.cgi?id=9761 45712 LiveConnect string conversion fails for java.lang.Object 45713 45714 Can't test Java in DRT (I wonder why). 45715 45716 * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): 45717 Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code. 45718 45719 2010-02-19 Maciej Stachowiak <mjs (a] apple.com> 45720 45721 Reviewed by David Levin. 45722 45723 Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases 45724 https://bugs.webkit.org/show_bug.cgi?id=35147 45725 45726 I made ENABLE(SANDBOX) only control the sandbox attribute itself; 45727 I did not ifdef the infrastructure to make sandboxing 45728 switchable. This is because the likely concerns about sandboxing 45729 are not stability of the infrastructure code, but rather the fact 45730 that the security model exposed to authors is still evolving. 45731 45732 * Configurations/FeatureDefines.xcconfig: 45733 * GNUmakefile.am: 45734 * WebCore.pri: 45735 * html/HTMLIFrameElement.cpp: 45736 (WebCore::HTMLIFrameElement::parseMappedAttribute): 45737 45738 2010-02-19 Alexey Proskuryakov <ap (a] apple.com> 45739 45740 Reviewed by Maciej Stachowiak. 45741 45742 https://bugs.webkit.org/show_bug.cgi?id=35132 45743 <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132) 45744 45745 * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse 45746 pointer when above a plug-in or applet to prevent flicker. 45747 45748 2010-02-18 Peter Kasting <pkasting (a] google.com> 45749 45750 Reviewed by Adam Barth. 45751 45752 Fix regression in calculating an animated image's start time. 45753 https://bugs.webkit.org/show_bug.cgi?id=35115 45754 45755 * platform/graphics/BitmapImage.cpp: 45756 (WebCore::BitmapImage::startAnimation): 45757 45758 2010-02-19 Alexey Proskuryakov <ap (a] apple.com> 45759 45760 Reviewed by Geoffrey Garen. 45761 45762 https://bugs.webkit.org/show_bug.cgi?id=35178 45763 LiveConnect code uses hand-rolled fprintf logging 45764 45765 Changed to use LOG, LOG_ERROR and ASSERT. 45766 45767 * platform/Logging.cpp: 45768 (WebCore::getChannelFromName): 45769 * platform/Logging.h: 45770 * platform/mac/LoggingMac.mm: 45771 (WebCore::InitializeLoggingChannelsIfNecessary): 45772 * platform/win/LoggingWin.cpp: 45773 (WebCore::InitializeLoggingChannelsIfNecessary): 45774 TextConversion channel was (almost) unused, renamed to LiveConnect. 45775 45776 * platform/text/gtk/TextCodecGtk.cpp: (WebCore::TextCodecGtk::registerEncodingNames): 45777 The only use of this channel was in platform specific code, commandeered it for cross-platform 45778 needs. 45779 45780 * bridge/jni/JNIBridge.cpp: 45781 * bridge/jni/JNIUtility.cpp: 45782 (JSC::Bindings::getJavaVM): 45783 (JSC::Bindings::getJNIEnv): 45784 (JSC::Bindings::getJNIField): 45785 * bridge/jni/JNIUtility.h: 45786 (JSC::Bindings::callJNIMethodV): 45787 (JSC::Bindings::callJNIStaticMethod): 45788 * bridge/jni/jni_jsobject.mm: 45789 (completedJavaScriptAccess): 45790 (dispatchToJavaScriptThread): 45791 (performJavaScriptAccess): 45792 (JavaJSObject::invoke): 45793 (JavaJSObject::call): 45794 (JavaJSObject::eval): 45795 (JavaJSObject::getMember): 45796 (JavaJSObject::setMember): 45797 (JavaJSObject::removeMember): 45798 (JavaJSObject::getSlot): 45799 (JavaJSObject::setSlot): 45800 (JavaJSObject::toString): 45801 (JavaJSObject::createNative): 45802 * bridge/jni/jsc/JNIBridgeJSC.cpp: 45803 (JavaField::valueFromInstance): 45804 (JavaField::setValueToInstance): 45805 * bridge/jni/jsc/JavaClassJSC.cpp: 45806 (JavaClass::JavaClass): 45807 * bridge/jni/jsc/JavaInstanceJSC.cpp: 45808 (JavaInstance::invokeMethod): 45809 (JObjectWrapper::JObjectWrapper): 45810 (JObjectWrapper::~JObjectWrapper): 45811 45812 2010-02-19 Dirk Schulze <krit (a] webkit.org> 45813 45814 Reviewed by Nikolas Zimmermann. 45815 45816 RenderSVGResourceMasker causes an Assert on Wind builds during DRT 45817 https://bugs.webkit.org/show_bug.cgi?id=35182 45818 45819 We remove the Assert for now and return earlier, if the HashMap of the Masker 45820 does not contain the RenderObject. The RenderObject is an identifiert to get 45821 a already calculated mask. 45822 A race condition during parsing can cause the invalidation call, before the mask 45823 got calculated (only during DRT on Win build bots). 45824 The real bug will be fixed with: https://bugs.webkit.org/show_bug.cgi?id=35181 45825 45826 * rendering/RenderSVGResourceMasker.cpp: 45827 (WebCore::RenderSVGResourceMasker::invalidateClient): 45828 45829 2010-02-18 Peter Kasting <pkasting (a] google.com> 45830 45831 Reviewed by Darin Fisher. 45832 45833 Make Pasteboard::writeImage() safe against NULL cachedImages, and clean 45834 up some code. 45835 https://bugs.webkit.org/show_bug.cgi?id=35136 45836 45837 * loader/ImageLoader.cpp: 45838 (WebCore::ImageLoader::updateRenderer): Shorten some code. 45839 * page/DragController.cpp: 45840 (WebCore::getImage): Shorten some code. 45841 * platform/chromium/PasteboardChromium.cpp: 45842 (WebCore::Pasteboard::writeImage): NULL-check cachedImage(). 45843 * platform/gtk/PasteboardGtk.cpp: 45844 (WebCore::Pasteboard::writeImage): NULL-check cachedImage(). 45845 * platform/mac/PasteboardMac.mm: 45846 (WebCore::Pasteboard::writeImage): NULL-check cachedImage(). 45847 * platform/qt/PasteboardQt.cpp: 45848 (WebCore::Pasteboard::writeImage): NULL-check cachedImage(). 45849 * platform/win/PasteboardWin.cpp: 45850 (WebCore::Pasteboard::writeImage): NULL-check cachedImage(). 45851 45852 2010-02-19 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 45853 45854 Rubberstamped by Noam Rosenthal, who wrote the original code. 45855 45856 Make mouse wheel scrolling work when using the GraphicsLayer. 45857 45858 * platform/graphics/qt/GraphicsLayerQt.cpp: 45859 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 45860 45861 2010-02-19 Nate Chapin <japhet (a] chromium.org> 45862 45863 Reviewed by Dimitri Glazkov. 45864 45865 [V8] Fix Worker crash regression in r54972 45866 45867 https://bugs.webkit.org/show_bug.cgi?id=35166 45868 45869 * bindings/v8/V8DOMWrapper.cpp: 45870 (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext. 45871 45872 2010-02-19 Steve Block <steveblock (a] google.com> 45873 45874 Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests 45875 45876 * bindings/generic/RuntimeEnabledFeatures.cpp: 45877 * storage/Database.cpp: 45878 45879 2010-02-19 Steve Block <steveblock (a] google.com> 45880 45881 Reviewed by David Levin. 45882 45883 Sets default values of V8 runtime enabler flags to match behavior with JSC 45884 https://bugs.webkit.org/show_bug.cgi?id=35095 45885 45886 No new tests, modifies a Chromium feature only. 45887 45888 * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on' 45889 * storage/Database.cpp: Modified. Sets database flag default to 'on'. 45890 45891 2010-02-19 Alexander Pavlov <apavlov (a] chromium.org> 45892 45893 Reviewed by Pavel Feldman. 45894 45895 WebInspector: Elements panel: Correctly show empty elements' ending tags 45896 for XML and HTML documents. 45897 https://bugs.webkit.org/show_bug.cgi?id=26315 45898 45899 Test: inspector/elements-panel-xhtml-structure.xhtml 45900 45901 * inspector/InspectorController.cpp: 45902 (WebCore::InspectorController::populateScriptObjects): 45903 * inspector/front-end/ElementsTreeOutline.js: 45904 (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode): 45905 (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType): 45906 (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired): 45907 (WebInspector.ElementsTreeElement.prototype.onexpand): 45908 (WebInspector.ElementsTreeElement.prototype.oncollapse): 45909 (WebInspector.ElementsTreeElement.prototype.updateTitle.callback): 45910 (WebInspector.ElementsTreeElement.prototype.updateTitle): 45911 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): 45912 45913 2010-02-19 Pavel Feldman <pfeldman (a] chromium.org> 45914 45915 Not reviewed. Chromium build fix: reverting r54997 and r54998. 45916 45917 * bindings/v8/custom/V8LocationCustom.cpp: 45918 (WebCore::V8Location::protocolAccessorSetter): 45919 * platform/KURLGoogle.cpp: 45920 (WebCore::KURL::setProtocol): 45921 (WebCore::KURL::isHierarchical): 45922 45923 2010-02-17 Philippe Normand <pnormand (a] igalia.com> 45924 45925 Reviewed by Eric Seidel. 45926 45927 [GTK] RTP/RTSP streams playback support 45928 https://bugs.webkit.org/show_bug.cgi?id=33662 45929 45930 Added live pipelines support in updateStates(). 45931 45932 * manual-tests/video-rtsp.html: Added. 45933 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 45934 (WebCore::MediaPlayerPrivate::seek): 45935 (WebCore::MediaPlayerPrivate::updateStates): 45936 45937 2010-02-18 Yaar Schnitman <yaar (a] chromium.org> 45938 45939 Reviewed by Darin Adler. 45940 45941 Normalize custom ctors for Image, Option, Audio 45942 https://bugs.webkit.org/show_bug.cgi?id=34782 45943 45944 Test: fast/js/custom-constructors.html 45945 45946 * bindings/js/JSAudioConstructor.cpp: 45947 (WebCore::JSAudioConstructor::JSAudioConstructor): 45948 (WebCore::constructAudio): 45949 * bindings/js/JSImageConstructor.cpp: 45950 (WebCore::constructImage): 45951 * bindings/js/JSOptionConstructor.cpp: 45952 (WebCore::constructHTMLOptionElement): 45953 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 45954 (WebCore::v8HTMLAudioElementConstructorCallback): 45955 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 45956 (WebCore::v8HTMLImageElementConstructorCallback): 45957 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 45958 (WebCore::v8HTMLOptionElementConstructorCallback): 45959 * html/HTMLAudioElement.cpp: 45960 (WebCore::HTMLAudioElement::HTMLAudioElement): 45961 (WebCore::HTMLAudioElement::createForJSConstructor): 45962 * html/HTMLAudioElement.h: 45963 * html/HTMLImageElement.cpp: 45964 (WebCore::HTMLImageElement::createForJSConstructor): 45965 (WebCore::HTMLImageElement::mapToEntry): 45966 (WebCore::HTMLImageElement::createRenderer): 45967 (WebCore::HTMLImageElement::attach): 45968 (WebCore::HTMLImageElement::width): 45969 (WebCore::HTMLImageElement::height): 45970 (WebCore::HTMLImageElement::naturalHeight): 45971 * html/HTMLImageElement.h: 45972 * html/HTMLOptionElement.cpp: 45973 (WebCore::HTMLOptionElement::HTMLOptionElement): 45974 (WebCore::HTMLOptionElement::createForJSConstructor): 45975 (WebCore::HTMLOptionElement::ownerSelectElement): 45976 (WebCore::HTMLOptionElement::nonRendererRenderStyle): 45977 (WebCore::HTMLOptionElement::disabled): 45978 (WebCore::HTMLOptionElement::insertedIntoTree): 45979 * html/HTMLOptionElement.h: 45980 45981 2010-02-18 Simon Fraser <simon.fraser (a] apple.com> 45982 45983 No Review. 45984 45985 Remove a couple of extraneous spaces that got added to the project file 45986 by hand-ending. 45987 45988 * WebCore.xcodeproj/project.pbxproj: 45989 45990 2010-02-18 Simon Fraser <simon.fraser (a] apple.com> 45991 45992 Reviewed by Dan Bernstein. 45993 45994 <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article 45995 45996 Add logic to determine when painting via the software rendering path will give an equivalent 45997 result to the accelerated compositing presentation. This tests for the presence of 3D transforms 45998 via the existing RenderLayerCompositor::has3DContent() method. 45999 46000 * WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior(). 46001 * page/FrameView.h: 46002 * page/FrameView.cpp: 46003 (WebCore::FrameView::isSoftwareRenderable): New method. 46004 (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it. 46005 46006 2010-02-18 Dan Bernstein <mitz (a] apple.com> 46007 46008 Reviewed by John Sullivan. 46009 46010 <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on display: none; element 46011 when there are pending style sheets 46012 46013 Test: fast/css/getComputedStyle/pending-stylesheet.html 46014 46015 When querying a property of a computed style declaration for a non-rendered element, 46016 CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it 46017 would behave as if the lack of renderer is due to FOUC suppression, and set a flag on 46018 the document causing it to recalculate style. On the next computed style property access, 46019 style would be recalculated for the document, but then the flag would get set again if the 46020 element did not have a renderer. 46021 46022 * dom/Document.cpp: 46023 (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets 46024 m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement(). 46025 * dom/Document.h: 46026 * dom/Element.cpp: 46027 (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets(). 46028 46029 2010-02-18 Dirk Schulze <krit (a] webkit.org> 46030 46031 Reviewed by Nikolas Zimmermann. 46032 46033 Move SVGResources to Renderers, starting with Masker 46034 https://bugs.webkit.org/show_bug.cgi?id=35020 46035 46036 We have rendering specific code in WebCore/svg/graphics. The goal is to move 46037 this code into suitable Renderers. This helps us to clean up the code and makes 46038 maintenance easier. It also makes it possible to remove rendering specific code 46039 from SVG*Elements into this renderers. So the Renderer contains everything that 46040 is needed to use the resource. 46041 RenderSVGResource will be the base class for all new resource render classes like 46042 RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources. 46043 46044 This patch starts moving SVGResourceMasker to RenderSVGResourceMasker. 46045 Another benefit is the much more useful result in DRT on using masker. 46046 46047 * Android.mk: 46048 * GNUmakefile.am: 46049 * WebCore.gypi: 46050 * WebCore.pro: 46051 * WebCore.vcproj/WebCore.vcproj: 46052 * WebCore.xcodeproj/project.pbxproj: 46053 * rendering/RenderObject.cpp: 46054 (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class. 46055 * rendering/RenderObject.h: 46056 (WebCore::RenderObject::isSVGResource): Check if renderer is a resource. 46057 * rendering/RenderPath.cpp: 46058 * rendering/RenderSVGImage.cpp: 46059 (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources. 46060 * rendering/RenderSVGImage.h: Some code clean up according to the webkit style. 46061 (WebCore::RenderSVGImage::toSVGRenderBase): 46062 (WebCore::RenderSVGImage::renderName): 46063 (WebCore::RenderSVGImage::isSVGImage): 46064 (WebCore::RenderSVGImage::localToParentTransform): 46065 (WebCore::RenderSVGImage::strokeBoundingBox): 46066 (WebCore::RenderSVGImage::requiresLayer): 46067 (WebCore::RenderSVGImage::localTransform): 46068 * rendering/RenderSVGInlineText.h: 46069 (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText 46070 * rendering/RenderSVGModelObject.cpp: 46071 (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources. 46072 * rendering/RenderSVGModelObject.h: 46073 * rendering/RenderSVGResource.h: Added. 46074 (WebCore::): Base class for all Resource renderers like masker, clipper and others. 46075 (WebCore::RenderSVGResource::RenderSVGResource): 46076 (WebCore::RenderSVGResource::cast): 46077 (WebCore::RenderSVGResource::toRenderSVGResource): 46078 (WebCore::RenderSVGResource::isSVGResource): 46079 (WebCore::RenderSVGResource::drawsContents): 46080 (WebCore::getRenderSVGResourceById): 46081 * rendering/RenderSVGResourceMasker.cpp: Added. 46082 (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): 46083 (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): 46084 (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients. 46085 (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client. 46086 (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object. 46087 (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object. 46088 (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with. 46089 * rendering/RenderSVGResourceMasker.h: Added. 46090 (WebCore::MaskerData::MaskerData): 46091 (WebCore::RenderSVGResourceMasker::renderName): 46092 (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT. 46093 (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT. 46094 (WebCore::RenderSVGResourceMasker::resourceType): 46095 * rendering/RenderSVGRoot.cpp: 46096 (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources. 46097 * rendering/RenderSVGRoot.h: 46098 * rendering/RenderSVGText.cpp: 46099 (WebCore::RenderSVGText::destroy): dito. 46100 * rendering/RenderSVGText.h: 46101 * rendering/RenderTreeAsText.cpp: 46102 (WebCore::write): 46103 * rendering/SVGRenderSupport.cpp: 46104 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 46105 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer): 46106 (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed. 46107 * rendering/SVGRenderSupport.h: 46108 (WebCore::SVGRenderBase::toSVGRenderBase): 46109 (WebCore::SVGRenderBase::strokeBoundingBox): 46110 (WebCore::SVGRenderBase::markerBoundingBox): 46111 * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly. 46112 (WebCore::operator<<): 46113 (WebCore::writeSVGResource): 46114 (WebCore::writeSVGContainer): 46115 (WebCore::writeSVGText): 46116 (WebCore::writeSVGInlineText): 46117 (WebCore::writeSVGImage): 46118 (WebCore::write): 46119 (WebCore::writeResourcesToObject): 46120 * rendering/SVGRenderTreeAsText.h: 46121 * svg/SVGMaskElement.cpp: Update Masker to use the new renderer. 46122 (WebCore::SVGMaskElement::svgAttributeChanged): 46123 (WebCore::SVGMaskElement::childrenChanged): 46124 (WebCore::SVGMaskElement::maskBoundingBox): 46125 (WebCore::SVGMaskElement::createRenderer): 46126 * svg/SVGMaskElement.h: 46127 * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed. 46128 (WebCore::SVGStyledElement::invalidateResources): 46129 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): 46130 * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType. 46131 (WebCore::toUnitType): 46132 * svg/graphics/SVGResource.h: 46133 (WebCore::): 46134 (WebCore::SVGResource::isMarker): 46135 * svg/graphics/SVGResourceMasker.cpp: Removed. 46136 * svg/graphics/SVGResourceMasker.h: Removed. 46137 46138 2010-02-18 Dumitru Daniliuc <dumi (a] chromium.org> 46139 46140 Reviewed by Dimitri Glazkov. 46141 46142 Allow creating/dropping virtual tables when the module is FTS2. 46143 46144 https://bugs.webkit.org/show_bug.cgi?id=34867 46145 46146 * storage/DatabaseAuthorizer.cpp: 46147 (WebCore::DatabaseAuthorizer::createVTable): 46148 (WebCore::DatabaseAuthorizer::dropVTable): 46149 46150 2010-02-18 Peter Kasting <pkasting (a] google.com> 46151 46152 Not reviewed, Chromium build fix. 46153 46154 r54963 had a typo in the WebCore.gypi change. 46155 https://bugs.webkit.org/show_bug.cgi?id=35003 46156 46157 * WebCore.gypi: 46158 46159 2010-02-18 Vangelis Kokkevis <vangelis (a] chromium.org> 46160 46161 Reviewed by Simon Fraser. 46162 46163 Changing forward declaration of TimingFunction in GraphicsLayer.h from 46164 class to struct to match its actual definition in TimingFunction.h 46165 46166 https://bugs.webkit.org/show_bug.cgi?id=35069 46167 46168 46169 * platform/graphics/GraphicsLayer.h: 46170 Change forward declaration from: class TimingFunction to: 46171 struct TimingFunction 46172 46173 2010-02-18 Noam Rosenthal <noam.rosenthal (a] nokia.com> 46174 46175 Reviewed by Kenneth Rohde Christiansen. 46176 46177 [Qt] Minor improvement to hybrid QPixmap 46178 https://bugs.webkit.org/show_bug.cgi?id=34507 46179 Instead of having toHTMLImageElement which creates a new element, 46180 assignToHTMLImageElement would set an existing HTML <img/> element to 46181 contain the native QPixmap/QImge. 46182 Also made some style fixes. 46183 46184 Additions to existing tests: see WebKit/qt/tests 46185 46186 * bridge/qt/qt_pixmapruntime.cpp: 46187 (JSC::Bindings::QtPixmapWidthField::valueFromInstance): style 46188 (JSC::Bindings::QtPixmapHeightField::valueFromInstance): style 46189 (JSC::Bindings::QtPixmapAssignToElementMethod::name): assignTo 46190 (JSC::Bindings::QtPixmapAssignToElementMethod::invoke): new function 46191 (JSC::Bindings::QtPixmapAssignToElementMethod::numParameters): 1 46192 (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): style 46193 (JSC::Bindings::QtPixmapToStringMethod::invoke): style 46194 (JSC::Bindings::QtPixmapInstance::invokeMethod): style 46195 (JSC::Bindings::QtPixmapClass::methodsNamed): new func, removed old 46196 (JSC::Bindings::QtPixmapInstance::getPropertyNames): ditto 46197 (JSC::Bindings::QtPixmapInstance::defaultValue): style 46198 (JSC::Bindings::QtPixmapInstance::valueOf): style 46199 (JSC::Bindings::QtPixmapInstance::toPixmap): style 46200 (JSC::Bindings::QtPixmapInstance::variantFromObject): style 46201 46202 2010-02-18 Peter Kasting <pkasting (a] google.com> 46203 46204 Not reviewed, bustage fix. 46205 46206 An extraneous line in r54839 broke GIF animation. 46207 46208 * platform/image-decoders/gif/GIFImageReader.cpp: 46209 (GIFImageReader::read): 46210 46211 2010-02-18 Dan Bernstein <mitz (a] apple.com> 46212 46213 Reviewed by Simon Fraser. 46214 46215 <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox 46216 https://bugs.webkit.org/show_bug.cgi?id=34946 46217 46218 Test: fast/repaint/selection-gap-overflow-scroll-2.html 46219 46220 * rendering/RenderBlock.cpp: 46221 (WebCore::RenderBlock::paintSelection): localToContainerQuad() adjusts for 46222 overflow scroll, but RenderLayer::addBlockSelectionGapsBounds() takes 46223 non-scrolled coordinates, so account for that. 46224 46225 2010-02-17 Dumitru Daniliuc <dumi (a] chromium.org> 46226 46227 Reviewed by Darin Adler. 46228 46229 Change the V8 and JSC SQLStatementErrorCallback to interpret 46230 'undefined' return values as 'true', as required by the spec. 46231 46232 https://bugs.webkit.org/show_bug.cgi?id=35048 46233 46234 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 46235 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 46236 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 46237 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 46238 * bindings/v8/custom/V8CustomVoidCallback.cpp: 46239 (WebCore::invokeCallbackHelper): 46240 (WebCore::invokeCallback): 46241 (WebCore::invokeCallbackTreatUndefinedAsTrue): 46242 * bindings/v8/custom/V8CustomVoidCallback.h: 46243 46244 2010-02-17 Ojan Vafai <ojan (a] chromium.org> 46245 46246 Reviewed by Adam Barth. 46247 46248 keyboard selection sometimes moves the wrong end of the selection for Win/Linux 46249 https://bugs.webkit.org/show_bug.cgi?id=35066 46250 46251 On Windows/Linux keyboard based selections should always move the same 46252 end of the seleciton. On Mac, lineboundary and documentboundary changes 46253 move different ends of the selection depending on which direction your 46254 extending. 46255 46256 Test: editing/selection/extend-after-mouse-selection.html 46257 46258 * editing/SelectionController.cpp: 46259 (WebCore::SelectionController::positionForPlatform): 46260 (WebCore::SelectionController::startForPlatform): 46261 (WebCore::SelectionController::endForPlatform): 46262 (WebCore::SelectionController::modifyExtendingRight): 46263 (WebCore::SelectionController::modifyExtendingForward): 46264 (WebCore::SelectionController::modifyMovingForward): 46265 (WebCore::SelectionController::modifyExtendingBackward): 46266 (WebCore::SelectionController::modifyMovingBackward): 46267 * editing/SelectionController.h: 46268 46269 2010-02-18 Timothy Hatcher <timothy (a] apple.com> 46270 46271 Add "with" to the list of keywords to syntax highlight. 46272 46273 http://webkit.org/b/35123 46274 46275 Reviewed by Pavel Feldman. 46276 46277 * inspector/front-end/SourceJavaScriptTokenizer.js: 46278 (WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords. 46279 * inspector/front-end/SourceJavaScriptTokenizer.re2js: 46280 (WebInspector.SourceJavaScriptTokenizer): Ditto. 46281 46282 2010-02-17 Peter Kasting <pkasting (a] google.com> 46283 46284 Reviewed by Adam Barth. 46285 46286 Rework PNG-in-ICO decoding to copy the decoded framebuffer into the ICO 46287 decoder, making the logic less crazy and more like the other decoders. 46288 https://bugs.webkit.org/show_bug.cgi?id=28751 46289 46290 * platform/image-decoders/ImageDecoder.cpp: 46291 (WebCore::RGBA32Buffer::operator=): 46292 * platform/image-decoders/ImageDecoder.h: 46293 (WebCore::RGBA32Buffer::RGBA32Buffer): 46294 * platform/image-decoders/ico/ICOImageDecoder.cpp: 46295 (WebCore::ICOImageDecoder::frameBufferAtIndex): 46296 (WebCore::ICOImageDecoder::decodeAtIndex): 46297 * platform/image-decoders/ico/ICOImageDecoder.h: 46298 * platform/image-decoders/qt/RGBA32BufferQt.cpp: 46299 (WebCore::RGBA32Buffer::operator=): 46300 * platform/image-decoders/skia/ImageDecoderSkia.cpp: 46301 (WebCore::RGBA32Buffer::operator=): 46302 46303 2010-02-18 Pavel Feldman <pfeldman (a] chromium.org> 46304 46305 Reviewed by Timothy Hatcher. 46306 46307 Web Inspector: multiple popovers on screen at the same time. 46308 46309 https://bugs.webkit.org/show_bug.cgi?id=35105 46310 46311 * inspector/front-end/Popover.js: 46312 (WebInspector.Popover.prototype.show): 46313 (WebInspector.Popover.prototype.hide): 46314 * inspector/front-end/SourceFrame.js: 46315 (WebInspector.SourceFrame.prototype._showPopup): 46316 46317 2010-02-18 Pavel Feldman <pfeldman (a] chromium.org> 46318 46319 Reviewed by Timothy Hatcher. 46320 46321 Web Inspector: Expand Object.__proto__ properly. 46322 46323 https://bugs.webkit.org/show_bug.cgi?id=35113 46324 46325 * inspector/front-end/EventListenersSidebarPane.js: 46326 * inspector/front-end/InjectedScript.js: 46327 (injectedScriptConstructor): 46328 * inspector/front-end/ObjectProxy.js: 46329 (WebInspector.ObjectProxy): 46330 * inspector/front-end/PropertiesSidebarPane.js: 46331 (WebInspector.PropertiesSidebarPane.prototype.update.callback): 46332 * inspector/front-end/inspector.js: 46333 (WebInspector.log.logMessage): 46334 (WebInspector.log): 46335 46336 2010-02-18 Nate Chapin <japhet (a] chromium.org> 46337 46338 Reviewed by Adam Barth. 46339 46340 [V8] Merge the DOMWindow and WorkerContext object wrapping code paths, 46341 and use a faster method of disambiguating between the types of contexts. 46342 46343 https://bugs.webkit.org/show_bug.cgi?id=35009 46344 46345 * bindings/scripts/CodeGeneratorV8.pm: Remove logic determining whether we need to 46346 handle the WorkerContext case. 46347 * bindings/v8/V8DOMWrapper.cpp: 46348 (WebCore::globalObjectPrototypeIsDOMWindow): 46349 (WebCore::V8DOMWrapper::instantiateV8Object): Merge instantiateV8Object paths. 46350 * bindings/v8/V8DOMWrapper.h: 46351 46352 2010-02-12 Brett Wilson <brettw (a] chromium.org> 46353 46354 Reviewed by Adam Barth. 46355 46356 Update the Google-URL version of KURL and the V8 bindings to the new 46357 behavior of KURL.IsStandard. 46358 46359 https://bugs.webkit.org/show_bug.cgi?id=34859 46360 46361 This is covered by fast/dom/Window/invalid-protocol.html 46362 46363 * bindings/v8/custom/V8LocationCustom.cpp: 46364 (WebCore::V8Location::protocolAccessorSetter): 46365 * platform/KURLGoogle.cpp: 46366 (WebCore::KURL::setProtocol): 46367 (WebCore::KURL::isHierarchical): 46368 46369 2010-02-18 Xan Lopez <xlopez (a] igalia.com> 46370 46371 Reviewed by Gustavo Noronha. 46372 46373 Remove some duplication between PluginView and Widget methods, and 46374 move the setSelfVisible calls to the parent class. 46375 46376 * platform/gtk/WidgetGtk.cpp: 46377 (WebCore::Widget::show): 46378 (WebCore::Widget::hide): 46379 * plugins/gtk/PluginViewGtk.cpp: 46380 (WebCore::PluginView::setFocus): 46381 (WebCore::PluginView::show): 46382 (WebCore::PluginView::hide): 46383 46384 2010-02-18 Simon Fraser <simon.fraser (a] apple.com> 46385 46386 Reviewed by Darin Adler. 46387 46388 <rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks 46389 46390 Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods 46391 used for Core Graphics gradient drawing. 46392 46393 * platform/graphics/Gradient.h: 46394 * platform/graphics/cg/GradientCG.cpp: 46395 (WebCore::Gradient::platformDestroy): 46396 (WebCore::Gradient::paint): 46397 46398 2010-02-18 Pavel Feldman <pfeldman (a] chromium.org> 46399 46400 Reviewed by Timothy Hatcher. 46401 46402 Web Inspector: on-hover evaluation renders nodes and arrays as strings. 46403 46404 https://bugs.webkit.org/show_bug.cgi?id=35103 46405 46406 * inspector/front-end/SourceFrame.js: 46407 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): 46408 46409 2010-02-18 Brady Eidson <beidson (a] apple.com> 46410 46411 Reviewed by Sam Weinig. 46412 46413 Particularly constructed WebFrames can try to access a null HistoryItem 46414 <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063 46415 46416 Test: fast/loader/api-test-new-window-data-load-base-url.html 46417 46418 * loader/HistoryController.cpp: 46419 (WebCore::HistoryController::updateBackForwardListForFragmentScroll): We have a known case where a fragment scroll 46420 might take place with a null m_currentItem. updateBackForwardListClippedAtTarget() will either move m_currentItem 46421 to m_previousItem then create a new m_currentItem... or it will do nothing. So we either have both an m_currentItem 46422 and m_previousItem, or we have neither. In the case where we have no m_previousItem, return early. 46423 46424 2010-02-18 Nate Chapin <japhet (a] chromium.org> 46425 46426 Reviewed by Eric Seidel. 46427 46428 [V8] Correctly handle the case where the event field on the 46429 global object is a v8::Object, but not a DOM wrapper. 46430 46431 https://bugs.webkit.org/show_bug.cgi?id=34899 46432 46433 Test: fast/dom/Window/window-event-override-no-crash.html 46434 46435 * bindings/v8/ScriptController.cpp: 46436 (WebCore::ScriptController::processingUserGesture): 46437 * bindings/v8/V8DOMWrapper.cpp: 46438 (WebCore::V8DOMWrapper::isValidDOMObject): 46439 (WebCore::V8DOMWrapper::isWrapperOfType): 46440 * bindings/v8/V8DOMWrapper.h: 46441 46442 2010-02-18 Pavel Feldman <pfeldman (a] chromium.org> 46443 46444 Not reviewed, Qt build fix. 46445 46446 * inspector/front-end/WebKit.qrc: 46447 46448 2010-02-18 Pavel Feldman <pfeldman (a] chromium.org> 46449 46450 Reviewed by Timothy Hatcher. 46451 46452 Web Inspector: Implement evaluate-on-hover for scripts panel. 46453 46454 https://bugs.webkit.org/show_bug.cgi?id=35003 46455 46456 * WebCore.gypi: 46457 * WebCore.vcproj/WebCore.vcproj: 46458 * inspector/front-end/Images/gearButtonGlyph.png: Added. 46459 * inspector/front-end/Images/popoverArrows.png: Added. 46460 * inspector/front-end/Images/popoverBackground.png: Added. 46461 * inspector/front-end/Images/thumbActiveHoriz.png: Added. 46462 * inspector/front-end/Images/thumbActiveVert.png: Added. 46463 * inspector/front-end/Images/thumbHoriz.png: Added. 46464 * inspector/front-end/Images/thumbHoverHoriz.png: Added. 46465 * inspector/front-end/Images/thumbHoverVert.png: Added. 46466 * inspector/front-end/Images/thumbVert.png: Added. 46467 * inspector/front-end/Images/trackHoriz.png: Added. 46468 * inspector/front-end/Images/trackVert.png: Added. 46469 * inspector/front-end/Popup.js: 46470 (WebInspector.Popup): 46471 (WebInspector.Popup.prototype.show): 46472 (WebInspector.Popup.prototype.hide): 46473 (WebInspector.Popup.prototype._positionElement): 46474 * inspector/front-end/SourceFrame.js: 46475 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 46476 (WebInspector.SourceFrame.prototype._scroll): 46477 (WebInspector.SourceFrame.prototype._mouseDown): 46478 (WebInspector.SourceFrame.prototype._mouseUp): 46479 (WebInspector.SourceFrame.prototype._mouseMove): 46480 (WebInspector.SourceFrame.prototype._mouseOut): 46481 (WebInspector.SourceFrame.prototype._resetHoverTimer): 46482 (WebInspector.SourceFrame.prototype._hidePopup): 46483 (WebInspector.SourceFrame.prototype._mouseHover): 46484 (WebInspector.SourceFrame.prototype._showPopup.showTextPopup): 46485 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): 46486 (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback): 46487 (WebInspector.SourceFrame.prototype._showPopup): 46488 (WebInspector.HoverPropertiesSection): 46489 (WebInspector.HoverPropertiesSection.prototype.update): 46490 * inspector/front-end/TextEditorHighlighter.js: 46491 (WebInspector.TextEditorHighlighter): 46492 (WebInspector.TextEditorHighlighter.prototype._lex): 46493 * inspector/front-end/TextViewer.js: 46494 (WebInspector.TextViewer.prototype._paintLine): 46495 * inspector/front-end/WebKit.qrc: 46496 * inspector/front-end/inspector.css: 46497 * inspector/front-end/inspector.html: 46498 * inspector/front-end/inspectorSyntaxHighlight.css: 46499 * inspector/front-end/popover.css: Added. 46500 46501 2010-02-18 Ben Murdoch <benm (a] google.com> 46502 46503 Reviewed by Jeremy Orlow. 46504 46505 [v8] Complete upstreaming of V8 Touch Event bindings 46506 https://bugs.webkit.org/show_bug.cgi?id=35094 46507 46508 No new tests required. 46509 46510 * bindings/v8/V8Index.cpp: Add generated touch event headers. 46511 46512 2010-02-18 Steve Block <steveblock (a] google.com> 46513 46514 Reviewed by Jeremy Orlow. 46515 46516 Updates Android V8 build to use DerivedSourcesAllInOne.cpp 46517 https://bugs.webkit.org/show_bug.cgi?id=35083 46518 46519 No new tests, build fix only. 46520 46521 * Android.derived.v8bindings.mk: 46522 * Android.v8bindings.mk: 46523 46524 2010-02-18 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 46525 46526 Reviewed by Xan Lopez. 46527 46528 fast/frames/iframe-reparenting.html crashing on GTK Debug bots 46529 https://bugs.webkit.org/show_bug.cgi?id=35081 46530 46531 Check that the client is alive after every call to it, since any 46532 of them could cause the load to be cancelled, and the client to go 46533 away. 46534 46535 This is much better than protecting a specific subclass of 46536 ResourceHandleClient (ResourceLoader), which makes us fail when 46537 any other client is used. 46538 46539 Test: fast/frames/iframe-reparenting.html 46540 46541 * platform/network/soup/ResourceHandleSoup.cpp: 46542 (WebCore::parseDataUrl): 46543 46544 2010-02-18 Ben Murdoch <benm (a] google.com> 46545 46546 Reviewed by Nate Chapin. 46547 46548 [v8] [Android] V8 bindings for touch events are missing. 46549 https://bugs.webkit.org/show_bug.cgi?id=33795 46550 46551 No new tests as this just enables touch events in V8. Existing touch tests suffice. 46552 46553 * WebCore.gypi: Add Touch idl files. 46554 * bindings/scripts/CodeGeneratorV8.pm: Add TouchList to typeCanFailConversion map. 46555 * bindings/v8/DOMObjectsInclude.h: Add touch headers. 46556 * bindings/v8/DerivedSourcesAllInOne.cpp: Add touch generated bindings. 46557 * bindings/v8/V8Index.h: Add touch DOM object types. 46558 * bindings/v8/custom/V8EventCustom.cpp: Add conversion of event to touch event. 46559 * Android.derived.jscbindings.mk: Add the touch derived sources to the makefile. 46560 * Android.derived.v8bindings.mk: Add the touch derived sources to the makefile. 46561 46562 2010-02-18 William Chan <willchan (a] chromium.org> 46563 46564 Reviewed by Adam Barth. 46565 46566 https://bugs.webkit.org/show_bug.cgi?id=35071 46567 Disable loader limiting of requests per host for the chromium port. 46568 46569 No tests because we're only changing a constant. 46570 46571 * platform/network/chromium/ResourceRequest.cpp: 46572 (WebCore::initializeMaximumHTTPConnectionCountPerHost): 46573 46574 2010-02-18 Xan Lopez <xlopez (a] igalia.com> 46575 46576 Reviewed by Eric Seidel. 46577 46578 [Linux] Webkit incompatible with Java plugins 46579 https://bugs.webkit.org/show_bug.cgi?id=24912 46580 46581 The NP Version supported by WebKit is at the moment hardcoded in 46582 PluginPackage.cpp (to 24), but not all backends actually implement 46583 the methods needed to claim this. Introduce a new method to be 46584 implemented by each backend where the maximum supported version 46585 can be specified, and set the GTK+ port NPVersion to 19. This 46586 fixes an instantaneous crasher in the Sun Java NPAPI plugin. 46587 46588 * plugins/PluginPackage.cpp: 46589 (WebCore::PluginPackage::initializeBrowserFuncs): 46590 * plugins/PluginPackage.h: 46591 * plugins/gtk/PluginPackageGtk.cpp: 46592 (WebCore::PluginPackage::NPVersion): 46593 * plugins/mac/PluginPackageMac.cpp: 46594 (WebCore::PluginPackage::NPVersion): 46595 * plugins/qt/PluginPackageQt.cpp: 46596 (WebCore::PluginPackage::NPVersion): 46597 * plugins/symbian/PluginPackageSymbian.cpp: 46598 (WebCore::PluginPackage::NPVersion): 46599 * plugins/win/PluginPackageWin.cpp: 46600 (WebCore::PluginPackage::NPVersion): 46601 46602 2010-02-17 Dmitry Titov <dimich (a] chromium.org> 46603 46604 Reviewed by David Levin, Darin Fisher, Simon Hausmann. 46605 46606 When a live iframe element is moved between pages, it still depends on the old page. 46607 https://bugs.webkit.org/show_bug.cgi?id=34382 46608 46609 Test: fast/frames/iframe-reparenting-new-page.html 46610 46611 * html/HTMLFrameElementBase.cpp: 46612 (WebCore::HTMLFrameElementBase::setName): 46613 Move the code setting the frame name into a separate function. 46614 46615 (WebCore::HTMLFrameElementBase::setNameAndOpenURL): 46616 (WebCore::HTMLFrameElementBase::updateOnReparenting): 46617 Called on the frame that was just re-parented and inserted into another Document. 46618 Simply invoke Frame::transferChildFrameToNewDocument(...); 46619 46620 (WebCore::HTMLFrameElementBase::insertedIntoDocument): 46621 * html/HTMLFrameElementBase.h: 46622 * html/HTMLFrameOwnerElement.h: 46623 (WebCore::HTMLFrameOwnerElement::setName): 46624 Make this a virtual function, to be able to reach it via Frame::m_ownerElement. 46625 46626 * loader/EmptyClients.h: 46627 (WebCore::EmptyFrameLoaderClient::adoptFrame): 46628 * loader/FrameLoaderClient.h: 46629 Add a new method, didTransferChildFrameToNewDocument(). 46630 It compliments createFrame() in that a frame which was re-parented 46631 in DOM and potentially changes Page, should notify the WebKit 46632 implementation about potential ownership change. 46633 Many embedders assume that Page owns all the Frames, or at least 46634 all Frames are destroyed before 'their' Page is destroyed. Obviously, if Frame 46635 can be transferred to another Page, the embedders should be notified. 46636 46637 * page/Frame.cpp: 46638 (WebCore::Frame::transferChildFrameToNewDocument): 46639 Added, makes actual adjustments for Frame - resets the Page, 46640 updates the frame tree and frame name, calls to FrameLoaderClient 46641 to update external objects and recurses into children. 46642 Can only be used on child frames. 46643 46644 * page/Frame.h: 46645 46646 2010-02-17 Tony Chang <tony (a] chromium.org> 46647 46648 Reviewed by Eric Seidel. 46649 46650 Copying and pasting into a contenteditable area can create <div>s surrounded by <span>s 46651 https://bugs.webkit.org/show_bug.cgi?id=26937 46652 46653 This happens because of a span added when we copy that is used to 46654 preserve styles. To avoid this, when we paste, make sure to apply 46655 the styles to the span's children and then remove the style span. 46656 46657 This change is covered by existing layout tests. 46658 46659 * editing/ReplaceSelectionCommand.cpp: 46660 (WebCore::ReplaceSelectionCommand::handleStyleSpans): 46661 (WebCore::ReplaceSelectionCommand::copyStyleToChildren): 46662 * editing/ReplaceSelectionCommand.h: 46663 46664 2010-02-17 Tony Chang <tony (a] chromium.org> 46665 46666 Reviewed by Eric Seidel. 46667 46668 https://bugs.webkit.org/show_bug.cgi?id=34914 46669 When pasting absolute font sizes into a content editable area with 46670 page zoom, adjust the font sizes to be the same after page zoom is 46671 applied. 46672 46673 Test: editing/pasteboard/page-zoom.html 46674 46675 * editing/ReplaceSelectionCommand.cpp: 46676 (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance): 46677 46678 2010-02-17 Tony Chang <tony (a] chromium.org> 46679 46680 Reviewed by Eric Seidel. 46681 46682 https://bugs.webkit.org/show_bug.cgi?id=34737 46683 Copying styled list items then pasting into a list 46684 should work the same as copying unstyle list items: 46685 it shouldn't indent an extra level, but styles should 46686 be copied. 46687 46688 Small cleanups to insertAsListItems to make variable names 46689 more descriptive. 46690 46691 Test: editing/pasteboard/paste-list-003.html 46692 46693 * editing/ReplaceSelectionCommand.cpp: 46694 (WebCore::ReplaceSelectionCommand::doApply): 46695 (WebCore::ReplaceSelectionCommand::insertAsListItems): 46696 46697 2010-02-17 Kwang Yul Seo <skyul (a] company100.net> 46698 46699 Reviewed by Eric Seidel. 46700 46701 [BREWMP] Port PlatformKeyboardEvent 46702 https://bugs.webkit.org/show_bug.cgi?id=34794 46703 46704 Retrieve the type, key code, text and modifiers from BREW's keyboard event. 46705 46706 * platform/PlatformKeyboardEvent.h: 46707 * platform/brew/PlatformKeyboardEventBrew.cpp: Added. 46708 (WebCore::keyIdentifierForBrewKeyCode): 46709 (WebCore::windowsKeyCodeForKeyEvent): 46710 (WebCore::singleCharacterString): 46711 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 46712 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 46713 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 46714 46715 2010-02-17 Hayato Ito <hayato (a] chromium.org> 46716 46717 Reviewed by Eric Seidel. 46718 46719 Support CSS page-break-inside with a value of 'avoid'. 46720 46721 https://bugs.webkit.org/show_bug.cgi?id=34080 46722 46723 Test: printing/page-break-inside.html 46724 46725 * rendering/RenderBlock.cpp: 46726 (WebCore::RenderBlock::paintChildren): 46727 46728 2010-02-17 Fumitoshi Ukai <ukai (a] chromium.org> 46729 46730 Reviewed by Alexey Proskuryakov. 46731 46732 WebSocket bufferedAmount should not be 0 when send after close. 46733 https://bugs.webkit.org/show_bug.cgi?id=34633 46734 46735 Fixed bug in webkit r54694. check m_client after it calls user 46736 callback, because user callback may call close(), which would 46737 call onclose event handler. 46738 46739 Test: websocket/tests/bufferedAmount-after-close.html 46740 46741 * websockets/ThreadableWebSocketChannelClientWrapper.h: 46742 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): 46743 * websockets/WebSocket.cpp: 46744 (WebCore::WebSocket::WebSocket): 46745 (WebCore::WebSocket::send): 46746 (WebCore::WebSocket::close): 46747 (WebCore::WebSocket::bufferedAmount): 46748 (WebCore::WebSocket::didConnect): 46749 (WebCore::WebSocket::didClose): 46750 * websockets/WebSocket.h: 46751 * websockets/WebSocketChannel.cpp: 46752 (WebCore::WebSocketChannel::WebSocketChannel): 46753 (WebCore::WebSocketChannel::send): 46754 (WebCore::WebSocketChannel::bufferedAmount): 46755 (WebCore::WebSocketChannel::didClose): 46756 (WebCore::WebSocketChannel::didReceiveData): 46757 * websockets/WebSocketChannel.h: 46758 * websockets/WebSocketChannelClient.h: 46759 (WebCore::WebSocketChannelClient::didClose): 46760 * websockets/WorkerThreadableWebSocketChannel.cpp: 46761 (WebCore::workerContextDidClose): 46762 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): 46763 * websockets/WorkerThreadableWebSocketChannel.h: 46764 46765 2010-02-17 Yuzo Fujishima <yuzo (a] google.com> 46766 46767 Reviewed by Eric Seidel. 46768 46769 In diffing render styles, consider all pseudo style changes. 46770 Without this patch, only :before and :after are considered. This is the cause of the following bug. 46771 https://bugs.webkit.org/show_bug.cgi?id=32187 46772 46773 Test: fast/css/first-letter-first-line-hover.html 46774 46775 * dom/Node.cpp: 46776 (WebCore::Node::diff): 46777 * rendering/style/RenderStyle.cpp: 46778 (WebCore::RenderStyle::hasAnyPublicPseudoStyles): 46779 * rendering/style/RenderStyle.h: 46780 * rendering/style/RenderStyleConstants.h: 46781 (WebCore::): 46782 46783 2010-02-17 Kwang Yul Seo <skyul (a] company100.net> 46784 46785 Reviewed by Eric Seidel. 46786 46787 [BREWMP] Add WebCore::prefetchDNS 46788 https://bugs.webkit.org/show_bug.cgi?id=34873 46789 46790 DNS prefetching is not implemented because the maximum number 46791 of UDP sockets is quite small in most BREW devices. 46792 46793 * platform/network/brew/DNSBrew.cpp: Added. 46794 (WebCore::prefetchDNS): 46795 46796 2010-02-17 Kent Tamura <tkent (a] chromium.org> 46797 46798 Reviewed by Eric Seidel. 46799 46800 Introduces new Icon loading interface in order to support 46801 asynchronous loading. 46802 https://bugs.webkit.org/show_bug.cgi?id=32054 46803 46804 It's hard for Chromium port to load an icon inside 46805 Icon::createIconForFiles() because of sanbox and multi-process 46806 architecture. So this change adds a method to request an icon to 46807 Chrome class, and makes FileChooser receives an Icon instance 46808 asynchronously. Synchronous loading also works with the new interface. 46809 46810 Because all ports don't have implementations of Chrome::iconForFiles() 46811 yet, FileChooser tries to load an Icon synchronously with 46812 Icon::createIconForFiles(), then tries to load an Icon asynchronously 46813 with Chrome::iconForFiles() if Icon::createIconForFiles() returns 0. 46814 46815 The existing Icon::createIconForFiles() implementations should be 46816 moved to Chrome::iconForFiles(). We're going to remove 46817 Icon::createIconForFiles(). 46818 46819 * loader/EmptyClients.h: 46820 (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation. 46821 * page/Chrome.cpp: 46822 (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles(). 46823 * page/Chrome.h: 46824 * page/ChromeClient.h: 46825 (WebCore::ChromeClient::iconForFiles): Add a declaration as a pure virtual method. 46826 * platform/FileChooser.cpp: 46827 (WebCore::FileChooser::FileChooser): Use loadIcon(). 46828 (WebCore::FileChooser::chooseFiles): ditto. 46829 (WebCore::FileChooser::loadIcon): Added. 46830 (WebCore::FileChooser::iconLoaded): Added. 46831 * platform/FileChooser.h: Add two methods to FileChooserClient; repaint() and iconForFiles(). 46832 * platform/graphics/Icon.h: Add a FIXME comment. 46833 * platform/graphics/gtk/IconGtk.cpp: ditto. 46834 * platform/graphics/mac/IconMac.mm: ditto. 46835 * platform/graphics/qt/IconQt.cpp: ditto. 46836 * platform/graphics/win/IconWin.cpp: ditto. 46837 * rendering/RenderFileUploadControl.cpp: 46838 (WebCore::RenderFileUploadControl::iconForFiles): Delegate to Chrome::iconForFiles(). 46839 (WebCore::RenderFileUploadControl::click): Use chrome(). 46840 (WebCore::RenderFileUploadControl::chrome): 46841 * rendering/RenderFileUploadControl.h: 46842 (WebCore::RenderFileUploadControl::repaint): 46843 46844 2010-02-17 Mark Rowe <mrowe (a] apple.com> 46845 46846 Reviewed by Darin Adler. 46847 46848 Bug 35065: Delay between page loading and animated GIF playing 46849 <http://webkit.org/b/35065> / <rdar://problem/7109548> 46850 46851 BitmapImage::startAnimation was adding the current frame duration to the desired start time 46852 of the frame for every time it was called. If the function then bailed out due to not having 46853 sufficient data to render the frame, this would lead to the desired start time of the frame 46854 being pushed out multiple times. On an animated GIF that took mulitple seconds to load this 46855 could happen many times for a single frame, resulting in the start time of the second frame 46856 of the animation being pushed out by as much as five seconds. 46857 46858 * platform/graphics/BitmapImage.cpp: 46859 (WebCore::BitmapImage::startAnimation): Change the order of the code slightly so that the 46860 desired start time is only updated after determining that we have sufficient data to handle 46861 the next frame. 46862 46863 2010-02-17 Stephan Amus <superstippi (a] gmx.de> 46864 46865 Reviewed by Eric Seidel. 46866 46867 Implemented homeDirectoryPath() and listDirectory() on the Haiku platform. 46868 https://bugs.webkit.org/show_bug.cgi?id=34687 46869 46870 Covered by existing tests. 46871 46872 * platform/haiku/FileSystemHaiku.cpp: 46873 (WebCore::homeDirectoryPath): Implemented 46874 (WebCore::listDirectory): Implemented 46875 46876 2010-02-17 Kwang Yul Seo <skyul (a] company100.net> 46877 46878 Reviewed by Eric Seidel. 46879 46880 [BREWMP] Port userIdleTime 46881 https://bugs.webkit.org/show_bug.cgi?id=34259 46882 46883 Return an arbitrarily high userIdleTime so that releasing pages from the page 46884 cache isn't postponed. 46885 46886 * platform/brew/SystemTimeBrew.cpp: Added. 46887 (WebCore::userIdleTime): 46888 46889 2010-02-17 Dirk Schulze <krit (a] webkit.org> 46890 46891 Rolling out r54909. Breaks SL and Win. 46892 46893 2010-02-17 Dumitru Daniliuc <dumi (a] chromium.org> 46894 46895 Reviewed by Dimitri Glazkov. 46896 46897 Fix Chromium's bindings for Database.transaction(): a 'null' 46898 callback should be treated as no callback. 46899 46900 Test: storage/null-callbacks.html 46901 46902 https://bugs.webkit.org/show_bug.cgi?id=35047 46903 46904 * bindings/v8/custom/V8DatabaseCustom.cpp: 46905 (WebCore::createTransaction): 46906 46907 2010-02-17 Dirk Schulze <krit (a] webkit.org> 46908 46909 Reviewed by Nikolas Zimmermann. 46910 46911 Move SVGResources to Renderers, starting with Masker 46912 https://bugs.webkit.org/show_bug.cgi?id=35020 46913 46914 We have rendering specific code in WebCore/svg/graphics. The goal is to move 46915 this code into suitable Renderers. This helps us to clean up the code and makes 46916 maintenance easier. It also makes it possible to remove rendering specific code 46917 from SVG*Elements into this renderers. So the Renderer contains everything that 46918 is needed to use the resource. 46919 RenderSVGResource will be the base class for all new resource render classes like 46920 RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources. 46921 46922 This patch starts moving SVGResourceMasker to RenderSVGResourceMasker. 46923 Another benefit is the much more useful result in DRT on using masker. 46924 46925 * Android.mk: 46926 * GNUmakefile.am: 46927 * WebCore.gypi: 46928 * WebCore.pro: 46929 * WebCore.vcproj/WebCore.vcproj: 46930 * WebCore.xcodeproj/project.pbxproj: 46931 * rendering/RenderObject.cpp: 46932 (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class. 46933 * rendering/RenderObject.h: 46934 (WebCore::RenderObject::isSVGResource): Check if renderer is a resource. 46935 * rendering/RenderPath.cpp: 46936 * rendering/RenderSVGImage.cpp: 46937 (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources. 46938 * rendering/RenderSVGImage.h: Some code clean up according to the webkit style. 46939 (WebCore::RenderSVGImage::toSVGRenderBase): 46940 (WebCore::RenderSVGImage::renderName): 46941 (WebCore::RenderSVGImage::isSVGImage): 46942 (WebCore::RenderSVGImage::localToParentTransform): 46943 (WebCore::RenderSVGImage::strokeBoundingBox): 46944 (WebCore::RenderSVGImage::requiresLayer): 46945 (WebCore::RenderSVGImage::localTransform): 46946 * rendering/RenderSVGInlineText.h: 46947 (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText 46948 * rendering/RenderSVGModelObject.cpp: 46949 (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources. 46950 * rendering/RenderSVGModelObject.h: 46951 * rendering/RenderSVGResource.h: Added. 46952 (WebCore::): Base class for all Resource renderers like masker, clipper and others. 46953 (WebCore::RenderSVGResource::RenderSVGResource): 46954 (WebCore::RenderSVGResource::cast): 46955 (WebCore::RenderSVGResource::toRenderSVGResource): 46956 (WebCore::RenderSVGResource::isSVGResource): 46957 (WebCore::RenderSVGResource::drawsContents): 46958 (WebCore::getRenderSVGResourceById): 46959 * rendering/RenderSVGResourceMasker.cpp: Added. 46960 (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker): 46961 (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): 46962 (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients. 46963 (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client. 46964 (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object. 46965 (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object. 46966 (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with. 46967 * rendering/RenderSVGResourceMasker.h: Added. 46968 (WebCore::MaskerData::MaskerData): 46969 (WebCore::RenderSVGResourceMasker::renderName): 46970 (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT. 46971 (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT. 46972 (WebCore::RenderSVGResourceMasker::resourceType): 46973 * rendering/RenderSVGRoot.cpp: 46974 (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources. 46975 * rendering/RenderSVGRoot.h: 46976 * rendering/RenderSVGText.cpp: 46977 (WebCore::RenderSVGText::destroy): dito. 46978 * rendering/RenderSVGText.h: 46979 * rendering/RenderTreeAsText.cpp: 46980 (WebCore::write): 46981 * rendering/SVGRenderSupport.cpp: 46982 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 46983 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer): 46984 (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed. 46985 * rendering/SVGRenderSupport.h: 46986 (WebCore::SVGRenderBase::toSVGRenderBase): 46987 (WebCore::SVGRenderBase::strokeBoundingBox): 46988 (WebCore::SVGRenderBase::markerBoundingBox): 46989 * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly. 46990 (WebCore::operator<<): 46991 (WebCore::writeSVGResource): 46992 (WebCore::writeSVGContainer): 46993 (WebCore::writeSVGText): 46994 (WebCore::writeSVGInlineText): 46995 (WebCore::writeSVGImage): 46996 (WebCore::write): 46997 (WebCore::writeResourcesToObject): 46998 * rendering/SVGRenderTreeAsText.h: 46999 * svg/SVGMaskElement.cpp: Update Masker to use the new renderer. 47000 (WebCore::SVGMaskElement::svgAttributeChanged): 47001 (WebCore::SVGMaskElement::childrenChanged): 47002 (WebCore::SVGMaskElement::maskBoundingBox): 47003 (WebCore::SVGMaskElement::createRenderer): 47004 * svg/SVGMaskElement.h: 47005 * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed. 47006 (WebCore::SVGStyledElement::invalidateResources): 47007 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): 47008 * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType. 47009 (WebCore::toUnitType): 47010 * svg/graphics/SVGResource.h: 47011 (WebCore::): 47012 (WebCore::SVGResource::isMarker): 47013 * svg/graphics/SVGResourceMasker.cpp: Removed. 47014 * svg/graphics/SVGResourceMasker.h: Removed. 47015 47016 2010-02-17 Kenneth Russell <kbr (a] google.com> 47017 47018 Reviewed by Oliver Hunt. 47019 47020 Refactor texImage2D and texSubImage2D taking Image to use common code 47021 https://bugs.webkit.org/show_bug.cgi?id=34458 47022 47023 Merged the Safari and Chromium code which extracts the data from 47024 Image objects into common entry points on GraphicsContext3D. This 47025 immediately fixes the following three problems: 47026 - Chromium not implementing texSubImage2D taking Image. 47027 - Safari not obeying the flipY parameter to texImage2D or 47028 texSubImage2D taking Image. 47029 - Safari not obeying the premultipyAlpha parameter to texImage2D 47030 or texSubImage2D taking Image. 47031 Added new test verifying the behavior of texImage2D and 47032 texSubImage2D and the flipY parameter. The premultiplyAlpha 47033 parameter can not be tested yet as the implementation is not yet 47034 spec compliant. This will be fixed in a follow-on bug. 47035 47036 Ran all WebGL demos in demo repository on Safari and Chromium; 47037 textures are now the right way up in both browsers, and 47038 transparent textures in Particles demo now look correct in Safari. 47039 47040 Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html 47041 47042 * WebCore.gyp/WebCore.gyp: 47043 * WebCore.gypi: 47044 * WebCore.xcodeproj/project.pbxproj: 47045 * platform/graphics/GraphicsContext3D.cpp: Added. 47046 (WebCore::GraphicsContext3D::extractImageData): 47047 (WebCore::GraphicsContext3D::processImageData): 47048 (WebCore::GraphicsContext3D::premultiplyAlpha): 47049 (WebCore::GraphicsContext3D::unmultiplyAlpha): 47050 * platform/graphics/GraphicsContext3D.h: 47051 (WebCore::GraphicsContext3D::): 47052 * platform/graphics/cg/GraphicsContext3DCG.cpp: Added. 47053 (WebCore::GraphicsContext3D::getImageData): 47054 * platform/graphics/mac/GraphicsContext3DMac.cpp: 47055 (WebCore::GraphicsContext3D::texImage2D): 47056 (WebCore::GraphicsContext3D::texSubImage2D): 47057 * platform/graphics/skia/GraphicsContext3DSkia.cpp: Added. 47058 (WebCore::GraphicsContext3D::getImageData): 47059 47060 2010-02-17 Noam Rosenthal <noam.rosenthal (a] nokia.com> 47061 47062 Reviewed by Ariya Hidayat. 47063 47064 [Qt] GraphicsLayer: support perspective and 3D transforms 47065 https://bugs.webkit.org/show_bug.cgi?id=34960 47066 47067 New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html 47068 47069 * platform/graphics/qt/GraphicsLayerQt.cpp: 47070 (WebCore::GraphicsLayerQtImpl::updateTransform): 47071 (WebCore::GraphicsLayerQtImpl::setBaseTransform): 47072 (WebCore::GraphicsLayerQtImpl::computeTransform): 47073 (WebCore::GraphicsLayerQtImpl::flushChanges): 47074 (WebCore::TransformAnimationQt::~TransformAnimationQt): 47075 47076 2010-02-17 Peter Kasting <pkasting (a] google.com> 47077 47078 Unreviewed, build fix. 47079 47080 Fix crashes due to an omitted line in r54839. 47081 47082 * platform/image-decoders/png/PNGImageDecoder.cpp: 47083 (WebCore::decodingFailed): 47084 47085 2010-02-17 Alok Priyadarshi <alokp (a] chromium.org> 47086 47087 Reviewed by Ariya Hidayat. 47088 47089 Bug 34900: Implement accelerated compositing for chromium. 47090 https://bugs.webkit.org/show_bug.cgi?id=34900 47091 47092 Do not exclude files needed for accelerated compositing. In fact there is no need to exclude these files. 47093 These files are already guarded with WTF_USE_ACCELERATED_COMPOSITING flag. 47094 47095 * WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp, 47096 and RenderLayerCompositor.cpp from excluded list. 47097 47098 2010-02-17 Jian Li <jianli (a] chromium.org> 47099 47100 Reviewed by Darin Fisher. 47101 47102 [chromium] Remove the obsolete chromium interface for handling DownloadURL. 47103 https://bugs.webkit.org/show_bug.cgi?id=34982 47104 47105 * platform/chromium/ChromiumDataObject.cpp: 47106 (WebCore::ChromiumDataObject::clear): 47107 (WebCore::ChromiumDataObject::hasData): 47108 (WebCore::ChromiumDataObject::ChromiumDataObject): 47109 * platform/chromium/ChromiumDataObject.h: 47110 * platform/chromium/ClipboardChromium.cpp: 47111 (WebCore::ClipboardChromium::setData): 47112 47113 2010-02-17 Dan Bernstein <mitz (a] apple.com> 47114 47115 Reviewed by Darin Adler. 47116 47117 <rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns 47118 47119 * manual-tests/match-marker-rects.html: Added. 47120 * rendering/InlineTextBox.cpp: 47121 (WebCore::InlineTextBox::paintTextMatchMarker): Use the text renderer rather 47122 than its ancestor block for the local-to-absolute transformation. 47123 (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto. 47124 47125 2010-02-17 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 47126 47127 Reviewed by Xan Lopez. 47128 47129 Does not send an Accept header for subresources, causing some sites to break 47130 https://bugs.webkit.org/show_bug.cgi?id=33242 47131 47132 Set */* as the Accept header when downloading resources 47133 that did not set an Accept header. This behaviour is similar to 47134 the one adopted by Chromium. 47135 47136 Test: http/tests/misc/image-checks-for-accept.html 47137 47138 * platform/network/soup/ResourceHandleSoup.cpp: 47139 (WebCore::startHttp): 47140 47141 2010-02-17 Marcus Bulach <bulach (a] chromium.org> 47142 47143 Reviewed by Jeremy Orlow. 47144 47145 Fixes initialization order of members for GeolocationServiceChromium. 47146 https://bugs.webkit.org/show_bug.cgi?id=35034 47147 47148 * platform/chromium/GeolocationServiceChromium.cpp: 47149 47150 2010-02-17 Xan Lopez <xlopez (a] igalia.com> 47151 47152 Reviewed by Gustavo Noronha. 47153 47154 [Linux] Webkit incompatible with Java plugins 47155 https://bugs.webkit.org/show_bug.cgi?id=24912 47156 47157 Resolve symlinks before trying to load plugins as modules, since 47158 GModule won't do it. 47159 47160 Based on original work by Gustavo Noronha. 47161 47162 * plugins/gtk/PluginPackageGtk.cpp: 47163 (WebCore::PluginPackage::load): 47164 47165 2010-02-17 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 47166 47167 Reviewed by Xan Lopez. 47168 47169 Protect the resource loader object from disappearing during 47170 parseDataUrl. 47171 47172 Tested by testdownload API test. 47173 47174 * platform/network/soup/ResourceHandleSoup.cpp: 47175 (WebCore::parseDataUrl): 47176 47177 2010-02-17 Marcus Bulach <bulach (a] chromium.org> 47178 47179 Reviewed by Jeremy Orlow. 47180 47181 Implements GeolocationServices for Chromium. 47182 https://bugs.webkit.org/show_bug.cgi?id=32068 47183 47184 This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass. 47185 47186 * WebCore.gypi: 47187 * page/Geolocation.h: 47188 * platform/GeolocationService.h: 47189 47190 2010-02-17 Steve Block <steveblock (a] google.com> 47191 47192 Reviewed by Ariya Hidayat. 47193 47194 Adds missing platform and feature guards to V8 bindings 47195 https://bugs.webkit.org/show_bug.cgi?id=34987 47196 47197 No new tests, build fix only. 47198 47199 * bindings/v8/V8Proxy.cpp: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge 47200 * bindings/v8/V8Proxy.h: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge 47201 * bindings/v8/custom/V8DocumentCustom.cpp: Modified. Adds XPATH guards 47202 47203 2010-02-17 Steve Block <steveblock (a] google.com> 47204 47205 Reviewed by Ariya Hidayat. 47206 47207 Include WebCore's npruntime.h for Android in V8 bindings 47208 https://bugs.webkit.org/show_bug.cgi?id=35002 47209 47210 Currently, the V8 bindings include bindings/npruntime.h, which is a 47211 Chromium-specific file outside of the WebKit tree. 47212 47213 No new tests, build fix only. 47214 47215 * bindings/v8/NPV8Object.cpp: 47216 * bindings/v8/NPV8Object.h: 47217 * bindings/v8/V8NPObject.h: 47218 * bindings/v8/V8NPUtils.h: 47219 * bindings/v8/npruntime_impl.h: 47220 * bindings/v8/npruntime_priv.h: 47221 47222 2010-01-07 Philippe Normand <pnormand (a] igalia.com> 47223 47224 Reviewed by Gustavo Noronha Silva. 47225 47226 [GStreamer] Should handle BUFFERING messages 47227 https://bugs.webkit.org/show_bug.cgi?id=30004 47228 47229 Initial support for on-disk buffering of videos. This works only 47230 for Quicktime and flv though. 47231 47232 * css/mediaControlsGtk.css: 47233 * platform/gtk/RenderThemeGtk.cpp: 47234 (WebCore::RenderThemeGtk::paintMediaSliderTrack): Draw the 47235 buffering status in the media controls. 47236 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 47237 (WebCore::mediaPlayerPrivateMessageCallback): Defer buffering 47238 messages handling to processBufferingStats(). 47239 (WebCore::bufferingTimeoutCallback): Closure called periodically 47240 during the on-disk buffering process. 47241 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): New instance 47242 variables and create playbin2 here instead of doing it in load(). 47243 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): New instance 47244 variables. 47245 (WebCore::MediaPlayerPrivate::load): Simply set uri on playbin2 47246 instead of creating the pipeline and setting uri all together. 47247 (WebCore::MediaPlayerPrivate::processBufferingStats): Start a new 47248 timeout source if the player is starting on-disk buffering. 47249 (WebCore::MediaPlayerPrivate::queryBufferingStats): Method called 47250 200ms during on-disk buffering to update the maxTimeLoaded and few 47251 other private variables. 47252 (WebCore::MediaPlayerPrivate::maxTimeSeekable): 47253 (WebCore::MediaPlayerPrivate::maxTimeLoaded): 47254 (WebCore::MediaPlayerPrivate::bytesLoaded): Fixed implementations 47255 regarding buffering. 47256 (WebCore::MediaPlayerPrivate::totalBytes): Improved logging. 47257 (WebCore::MediaPlayerPrivate::updateStates): Start playback if it 47258 was internally paused at beginning of on-disk buffering and set 47259 ready/network states depending on the state of the on-disk 47260 buffering process. 47261 (WebCore::MediaPlayerPrivate::didEnd): Emit durationChanged. 47262 (WebCore::MediaPlayerPrivate::setAutobuffer): Edit playbin2 flags 47263 property depending on autoBuffer value. 47264 (WebCore::MediaPlayerPrivate::createGSTPlayBin): Don't set uri 47265 there, it is now done in load(). 47266 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: New methods 47267 and instance variables. 47268 47269 2010-02-16 Chris Evans <cevans (a] chromium.org> 47270 47271 Reviewed by Adam Barth. 47272 47273 Add a new setting which gives the option of assigning every file:/// 47274 to its own unique domain. 47275 47276 https://bugs.webkit.org/show_bug.cgi?id=34778 47277 47278 Test: Pending in forthcoming separate change due to non-trivial 47279 dependencies. 47280 47281 * dom/Document.cpp: 47282 (WebCore::Document::initSecurityContext): Place file:/// URI documents 47283 into their own unique domains if the new setting requires it. 47284 * page/Settings.h: 47285 * page/Settings.cpp: 47286 (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter. 47287 * page/SecurityOrigin.h: 47288 * page/SecurityOrigin.cpp: 47289 (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an 47290 origin to be considered unique. 47291 47292 2010-02-16 Pavel Feldman <pfeldman (a] chromium.org> 47293 47294 Reviewed by Timothy Hatcher. 47295 47296 Web Inspector: drosera/demo.js not syntax highlighted correctly. 47297 47298 https://bugs.webkit.org/show_bug.cgi?id=35008 47299 47300 * inspector/front-end/SourceTokenizer.js: 47301 (WebInspector.SourceTokenizer.Registry): 47302 (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer): 47303 47304 2010-02-16 Pavel Feldman <pfeldman (a] chromium.org> 47305 47306 Reviewed by Timothy Hatcher. 47307 47308 Web Inspector: prefer smooth scrolling to instant highlight. 47309 47310 https://bugs.webkit.org/show_bug.cgi?id=34978 47311 47312 * inspector/front-end/TextViewer.js: 47313 (WebInspector.TextViewer): 47314 (WebInspector.TextViewer.prototype._scroll): 47315 (WebInspector.TextChunk): 47316 (WebInspector.TextChunk.prototype._createRow): 47317 * inspector/front-end/textViewer.css: 47318 47319 2010-02-16 Yael Aharon <yael.aharon (a] nokia.com> 47320 47321 Reviewed by Nikolas Zimmermann. 47322 47323 SVG not rendered as background-image from data URI 47324 https://bugs.webkit.org/show_bug.cgi?id=33630 47325 47326 When the background image is an SVG image, and it is smaller than the area 47327 it is supposed to fill, we were using renderSubTreeToImage to draw it. 47328 That call was not going through all the drawing phases, and so the SVG itself 47329 would not be drawn. 47330 47331 Test: svg/css/background-image-svg.html 47332 47333 * svg/graphics/SVGImage.cpp: 47334 (WebCore::SVGImage::nativeImageForCurrentFrame): 47335 47336 2010-02-16 Bryan Yeung <bryeung (a] chromium.org> 47337 47338 Reviewed by Nikolas Zimmermann. 47339 47340 Remove the bounds on stroke width and miter for the skia platform. 47341 https://bugs.webkit.org/show_bug.cgi?id=34954 47342 47343 Test: svg/custom/stroke-width-large.svg 47344 47345 * platform/graphics/skia/PlatformContextSkia.cpp: 47346 (PlatformContextSkia::setupPaintForStroking): 47347 47348 2010-02-16 MORITA Hajime <morrita (a] gmail.com> 47349 47350 Reviewed by Nikolas Zimmermann. 47351 47352 REGRESSION: SVG text disappaears after double click 47353 https://bugs.webkit.org/show_bug.cgi?id=34880 47354 47355 Tests: svg/text/selection-doubleclick.svg 47356 svg/text/selection-tripleclick.svg 47357 47358 * rendering/SVGRootInlineBox.cpp: 47359 (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection): 47360 Use InlineTextBox::selectionStartEnd() instead of 47361 RenderObject::selectionStartEnd() because latter may span multiple 47362 comparing startPos and endPos is irrelevant in some cases. 47363 former selectionStartEnd() is for single line and comparing 47364 startPos and endPos will make sense. 47365 47366 2010-02-16 Jessie Berlin <jberlin (a] webkit.org> 47367 47368 Reviewed by Timothy Hatcher. 47369 47370 Inspector should display Array lengths in the property lists. 47371 https://bugs.webkit.org/show_bug.cgi?id=20695 47372 47373 * inspector/front-end/InjectedScript.js: 47374 (injectedScriptConstructor): 47375 For objects of type 'array' (which includes Arrays, NodeLists, and HTMLCollections), make the length of the object available via propertyLength on the proxy object. 47376 * inspector/front-end/ObjectPropertiesSection.js: 47377 (WebInspector.ObjectPropertyTreeElement.prototype.update): 47378 For properties that have propertyLength defined, append it to the displayed description. 47379 47380 2010-02-16 Yusuke Sato <yusukes (a] chromium.org> 47381 47382 Reviewed by Dimitri Glazkov. 47383 47384 [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP 47385 https://bugs.webkit.org/show_bug.cgi?id=34735 47386 47387 Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs. 47388 47389 Test: fast/css/font-face-opentype.html 47390 47391 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 47392 (WebCore::fillBMPGlyphs): 47393 47394 2010-02-16 Darin Adler <darin (a] apple.com> 47395 47396 * page/MediaCanStartListener.h: Fixed license. 47397 47398 2010-02-16 Darin Adler <darin (a] apple.com> 47399 47400 Reviewed by Sam Weinig. 47401 47402 Generalize delayed plug-in start for background tabs for use for other media 47403 https://bugs.webkit.org/show_bug.cgi?id=34981 47404 47405 Also did some simple cleanup of HTMLMediaElement to get ready to make it 47406 a client of the same mechanism. 47407 47408 * WebCore.base.exp: Added Page::setCanStartMedia and resorted. 47409 * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h. 47410 47411 * html/HTMLAudioElement.h: Added an implementation of isVideo since that 47412 is now a pure virtual function in HTMLMediaElement. Also made tagPriority 47413 private. 47414 47415 * html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an 47416 abstract base class by making its constructor protected and making the 47417 isVideo function a pure virtual function. 47418 47419 * page/Page.cpp: 47420 (WebCore::Page::Page): Updated for name change from m_canStartPlugins 47421 to m_canStartMedia. 47422 (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion. 47423 (WebCore::Page::removeUnstartedMedia): Ditto. 47424 (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved 47425 the code here from PageWin.cpp. The main change from the one in PageWin.cpp 47426 is that this function calls mediaCanStart rather than explicitly calling a 47427 combination of start and dispatchDidFailToStartPlugin on a PluginView. 47428 47429 * page/Page.h: Re-sorted forward class declarations. Renamed the plugin 47430 starting functions to media starting names and changed types from 47431 PluginView to MediaCanStartListener. 47432 47433 * page/MediaCanStartListener.h: Added. 47434 47435 * page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent 47436 Page.cpp file so it can be used for more than just Windows plug-ins. 47437 47438 * plugins/PluginView.cpp: Sorted includes. 47439 (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener. 47440 (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that 47441 media can start. Contains the code that used to be in Page::setCanStartPlugins. 47442 (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use 47443 removeMediaCanStartListener. 47444 47445 * plugins/PluginView.h: Adopted MediaCanStartListener. 47446 47447 2010-02-16 Simon Fraser <simon.fraser (a] apple.com> 47448 47449 Reviewed by Dan Bernstein. 47450 47451 https://bugs.webkit.org/show_bug.cgi?id=34999 47452 Compositing layers inside overflow:scroll divs are not always updated on scrolling 47453 47454 When RenderLayer::scrollToOffset() updates compositing layer positions, it needs 47455 to start updating at its stacking context rather than just its compositing ancestor. 47456 The stacking context is guaranteed to contain all descendants of the overflow 47457 layer, including those that are not direct descendants of the overflow layer in stacking 47458 (and therefore compositing) order. 47459 47460 Test: compositing/overflow/scroll-ancestor-update.html 47461 47462 * rendering/RenderLayer.cpp: 47463 (WebCore::RenderLayer::scrollToOffset): 47464 47465 2010-02-16 Dan Bernstein <mitz (a] apple.com> 47466 47467 Reviewed by Simon Fraser. 47468 47469 Allow FloatRect::center() to return fractional coordinates. It was 47470 mistakenly converting to integers. 47471 47472 * platform/graphics/FloatRect.h: 47473 (WebCore::FloatRect::center): 47474 47475 2010-02-16 Gavin Barraclough <barraclough (a] apple.com> 47476 47477 Reviewed by Oliver Hunt. 47478 47479 https://bugs.webkit.org/show_bug.cgi?id=34964 47480 Leaks tool reports false memory leaks due to Rope implementation. 47481 47482 Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length() 47483 (matches WebCore::StringImpl). 47484 47485 * bridge/jni/jsc/JavaStringJSC.h: 47486 (JSC::Bindings::JavaStringImpl::length): 47487 * platform/text/AtomicString.cpp: 47488 (WebCore::AtomicString::add): 47489 (WebCore::AtomicString::find): 47490 47491 2010-02-15 Jon Honeycutt <jhoneycutt (a] apple.com> 47492 47493 <rdar://problem/7288853> Message about missing plugin does not specify 47494 the type or download link for download 47495 47496 Reviewed by Mark Rowe. 47497 47498 * plugins/PluginDatabase.cpp: 47499 (WebCore::PluginDatabase::findPlugin): 47500 Only update the mimeType out param if we find a plug-in for the file 47501 extension. 47502 47503 2010-02-16 Simon Fraser <simon.fraser (a] apple.com> 47504 47505 Build fix for Tiger. 47506 47507 Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged(). 47508 47509 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 47510 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 47511 47512 2010-02-16 Csaba Osztrogonc <ossy (a] webkit.org> 47513 47514 Reviewed by Eric Carlson. 47515 47516 Buildfix for r54826. 47517 47518 HTMLMediaElement class defined by HTMLMediaElement.h in #if ENABLE(VIDEO) block, 47519 it should be in #if ENABLE(VIDEO) block in rendering/RenderLayerBacking.cpp too. 47520 47521 * rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added. 47522 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 47523 47524 2010-02-16 Julie Parent <jparent (a] chromium.org> 47525 47526 Unreviewed: Chromium build fix. 47527 47528 http://trac.webkit.org/changeset/54823 introduced an unused variable. Remove it. 47529 47530 * platform/image-decoders/ImageDecoder.cpp: 47531 (WebCore::ImageDecoder::create): 47532 47533 2010-02-16 Mark Rowe <mrowe (a] apple.com> 47534 47535 Reviewed by Alexey Proskuryakov. 47536 47537 Bug 34974: Leak of ScheduledAction during layout tests 47538 <https://bugs.webkit.org/show_bug.cgi?id=34974> 47539 47540 ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer. 47541 If any of the code paths in between hit an error case and returned early the raw pointer would be leaked. We 47542 can avoid this by passing it as a PassOwnPtr. This will ensure that the ScheduledAction is cleaned up should 47543 an error case be hit. 47544 47545 * bindings/js/JSDOMWindowCustom.cpp: 47546 (WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off 47547 as the function argument. 47548 (WebCore::JSDOMWindow::setInterval): Ditto. 47549 * bindings/js/JSWorkerContextCustom.cpp: 47550 (WebCore::JSWorkerContext::setTimeout): Ditto. 47551 (WebCore::JSWorkerContext::setInterval): Ditto. 47552 * bindings/js/ScheduledAction.cpp: 47553 (WebCore::ScheduledAction::create): Return a PassOwnPtr. 47554 * bindings/js/ScheduledAction.h: 47555 * page/DOMTimer.cpp: 47556 (WebCore::DOMTimer::DOMTimer): Update argument type. 47557 (WebCore::DOMTimer::install): Ditto. 47558 * page/DOMTimer.h: 47559 * page/DOMWindow.cpp: 47560 (WebCore::DOMWindow::setTimeout): Ditto. 47561 (WebCore::DOMWindow::setInterval): Ditto. 47562 * page/DOMWindow.h: 47563 47564 2010-02-16 Nikolas Zimmermann <nzimmermann (a] rim.com> 47565 47566 Reviewed by David Hyatt. 47567 47568 SVG units don't stay consistently sized on zoom 47569 https://bugs.webkit.org/show_bug.cgi?id=14004 47570 47571 Large step towards making WebKit an usable SVG viewer. 47572 47573 Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents. 47574 SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom). 47575 Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS 47576 properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG. 47577 To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments. 47578 47579 Some new rules regarding zooming: 47580 - "Zoom text only" should never affect SVG documents, neither text nor content should zoom. 47581 This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it. 47582 In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom. 47583 47584 - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.) 47585 47586 Cover all mentioned cases above by a new set of layout tests. 47587 47588 Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg 47589 svg/zoom/page/absolute-sized-document-scrollbars.svg 47590 svg/zoom/page/relative-sized-document-scrollbars.svg 47591 svg/zoom/page/zoom-coords-viewattr-01-b.svg 47592 svg/zoom/page/zoom-foreignObject.svg 47593 svg/zoom/page/zoom-hixie-mixed-008.xml 47594 svg/zoom/page/zoom-hixie-mixed-009.xml 47595 svg/zoom/page/zoom-hixie-rendering-model-004.xhtml 47596 svg/zoom/page/zoom-svg-float-border-padding.xml 47597 svg/zoom/text/absolute-sized-document-no-scrollbars.svg 47598 svg/zoom/text/absolute-sized-document-scrollbars.svg 47599 svg/zoom/text/relative-sized-document-scrollbars.svg 47600 svg/zoom/text/zoom-coords-viewattr-01-b.svg 47601 svg/zoom/text/zoom-foreignObject.svg 47602 svg/zoom/text/zoom-hixie-mixed-008.xml 47603 svg/zoom/text/zoom-hixie-mixed-009.xml 47604 svg/zoom/text/zoom-hixie-rendering-model-004.xhtml 47605 svg/zoom/text/zoom-svg-float-border-padding.xml 47606 47607 * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements. 47608 (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes. 47609 (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing). 47610 (WebCore::CSSStyleSelector::setFontSize): Ditto. 47611 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG. 47612 * css/CSSStyleSelector.h: 47613 * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor. 47614 (WebCore::CSSStyleSelector::applySVGProperty): 47615 * page/Frame.cpp: 47616 (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases. 47617 (WebCore::Frame::shouldApplyPageZoom): Ditto. 47618 (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well. 47619 * rendering/RenderSVGRoot.cpp: 47620 (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements. 47621 (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight. 47622 (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here. 47623 (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code. 47624 (WebCore::RenderSVGRoot::calcViewport): Simplify code. 47625 (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values. 47626 * rendering/RenderSVGRoot.h: 47627 * svg/SVGLength.cpp: 47628 (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function. 47629 * svg/SVGSVGElement.cpp: 47630 (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom. 47631 (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor(). 47632 47633 2010-02-16 Julie Parent <jparent (a] chromium.org> 47634 47635 Unreviewed: Chromium build fix. 47636 47637 https://bugs.webkit.org/show_bug.cgi?id=34998 47638 47639 Move include of JavaScriptProfile.h behind if (USE_JSC). 47640 47641 * inspector/InspectorController.cpp: 47642 47643 2010-02-16 Alexey Proskuryakov <ap (a] apple.com> 47644 47645 Reviewed by Geoffrey Garen and Kevin Decker. 47646 47647 https://bugs.webkit.org/show_bug.cgi?id=34989 47648 <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content 47649 47650 * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some 47651 comments about the way we pass events down to plug-ins. 47652 47653 2010-02-16 Simon Fraser <simon.fraser (a] apple.com> 47654 47655 Reviewed by Eric Carlson. 47656 47657 With hardware acceleration turned off, video frames never display if poster 47658 image is specified 47659 https://bugs.webkit.org/show_bug.cgi?id=34965 47660 47661 HTMLVideoElement's m_shouldDisplayPosterImage was never updated after 47662 the movie supplied its first video frame, so the poster would continue to show. 47663 47664 Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called 47665 each time a new frame is available. updatePosterImage() is cheap. 47666 47667 Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of 47668 ugly casts. 47669 47670 Test: manual-tests/media-elements/video-replaces-poster.html 47671 47672 * html/HTMLMediaElement.cpp: 47673 (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check. 47674 (WebCore::HTMLMediaElement::setNetworkState): Ditto. 47675 (WebCore::HTMLMediaElement::setReadyState): Ditto. 47676 (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage(). 47677 * html/HTMLMediaElement.h: 47678 (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual 47679 method on the base class. 47680 * html/HTMLVideoElement.h: Override updatePosterImage(). 47681 47682 2010-02-16 Simon Fraser <simon.fraser (a] apple.com> 47683 47684 Build fix for platforms without ACCELERATED_COMPOSITING defined. 47685 47686 mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined. 47687 47688 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 47689 (WebCore::MediaPlayerPrivate::setUpVideoRendering): 47690 47691 2010-02-16 Simon Fraser <simon.fraser (a] apple.com> 47692 47693 Reviewed by Eric Carlson. 47694 47695 Autoplaying video with poster doesn't reliably show up 47696 https://bugs.webkit.org/show_bug.cgi?id=34966 47697 47698 A timing issue with compositing updates when replacing the poster image 47699 with the video could cause the video to not display. 47700 47701 Fix by making video layer hook up more similar to WebGL etc, by having the 47702 video kick off a recalcStyle() via a SyntheticStyleChange. This requires 47703 vending a PlaformLayer* from the media player, up through the element. 47704 47705 Test: media/video-replaces-poster.html 47706 47707 * html/HTMLMediaElement.cpp: 47708 (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc() 47709 to kick off a compositing update. 47710 47711 * html/HTMLMediaElement.h: 47712 (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer. 47713 47714 * platform/graphics/MediaPlayer.cpp: 47715 (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer. 47716 (WebCore::MediaPlayer::platformLayer): 47717 47718 * platform/graphics/MediaPlayer.h: 47719 (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback 47720 to indicate that the rendering mode changed. The element uses this to kick off a 47721 recalcStyle. 47722 47723 * platform/graphics/MediaPlayerPrivate.h: 47724 (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer. 47725 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto 47726 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 47727 (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly 47728 via setContentsToMedia(). 47729 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto. 47730 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the 47731 rendering mode changed. 47732 (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer. 47733 * rendering/RenderLayerBacking.cpp: 47734 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia() 47735 here. 47736 47737 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer(). 47738 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 47739 (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer. 47740 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged() 47741 (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more. 47742 47743 * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed. 47744 * rendering/RenderVideo.cpp: Ditto. 47745 47746 2010-02-12 Peter Kasting <pkasting (a] google.com> 47747 47748 Reviewed by Adam Barth. 47749 47750 Code cleanup in ImageDecoders; no functional change. 47751 https://bugs.webkit.org/show_bug.cgi?id=28751 47752 47753 * Make code mostly comply with the style guide (switch indenting, use of 47754 "!" vs. "== 0", don't unnecessarily wrap lines, etc.) 47755 * Eliminate m_allDataReceived in ICO/BMP decoders since it's in the 47756 base ImageDecoder class 47757 * Remove some useless or wrong comments, add others 47758 * Wrap comments at 80 columns (most already were) for 47759 consistency/readability 47760 * Avoid casts by using correct variable types 47761 * Consistent naming of decode() function/args 47762 * Shorter code in some places 47763 * Make declaration and definition order match 47764 47765 * platform/graphics/qt/ImageDecoderQt.cpp: 47766 (WebCore::ImageDecoderQt::frameCount): 47767 (WebCore::ImageDecoderQt::frameBufferAtIndex): 47768 (WebCore::ImageDecoderQt::forceLoadEverything): 47769 * platform/image-decoders/ImageDecoder.cpp: 47770 (WebCore::ImageDecoder::create): 47771 (WebCore::RGBA32Buffer::clear): 47772 (WebCore::RGBA32Buffer::setSize): 47773 * platform/image-decoders/ImageDecoder.h: 47774 (WebCore::RGBA32Buffer::): 47775 (WebCore::ImageDecoder::ImageDecoder): 47776 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 47777 (WebCore::BMPImageDecoder::BMPImageDecoder): 47778 (WebCore::BMPImageDecoder::setData): 47779 (WebCore::BMPImageDecoder::isSizeAvailable): 47780 (WebCore::BMPImageDecoder::frameBufferAtIndex): 47781 (WebCore::BMPImageDecoder::decode): 47782 (WebCore::BMPImageDecoder::decodeHelper): 47783 (WebCore::BMPImageDecoder::processFileHeader): 47784 * platform/image-decoders/bmp/BMPImageDecoder.h: 47785 (WebCore::BMPImageDecoder::readUint32): 47786 * platform/image-decoders/bmp/BMPImageReader.cpp: 47787 (WebCore::BMPImageReader::BMPImageReader): 47788 (WebCore::BMPImageReader::decodeBMP): 47789 (WebCore::BMPImageReader::readInfoHeaderSize): 47790 (WebCore::BMPImageReader::processInfoHeader): 47791 (WebCore::BMPImageReader::readInfoHeader): 47792 (WebCore::BMPImageReader::isInfoHeaderValid): 47793 (WebCore::BMPImageReader::processBitmasks): 47794 (WebCore::BMPImageReader::processColorTable): 47795 (WebCore::BMPImageReader::processRLEData): 47796 (WebCore::BMPImageReader::processNonRLEData): 47797 * platform/image-decoders/bmp/BMPImageReader.h: 47798 (WebCore::BMPImageReader::readUint32): 47799 (WebCore::BMPImageReader::pastEndOfImage): 47800 (WebCore::BMPImageReader::readCurrentPixel): 47801 (WebCore::BMPImageReader::getComponent): 47802 (WebCore::BMPImageReader::getAlpha): 47803 (WebCore::BMPImageReader::setI): 47804 (WebCore::BMPImageReader::setRGBA): 47805 * platform/image-decoders/gif/GIFImageDecoder.cpp: 47806 (WebCore::GIFImageDecoder::GIFImageDecoder): 47807 (WebCore::GIFImageDecoder::setData): 47808 (WebCore::GIFImageDecoder::isSizeAvailable): 47809 (WebCore::GIFImageDecoder::frameCount): 47810 (WebCore::GIFImageDecoder::frameBufferAtIndex): 47811 (WebCore::GIFImageDecoder::clearFrameBufferCache): 47812 (WebCore::GIFImageDecoder::sizeNowAvailable): 47813 (WebCore::GIFImageDecoder::haveDecodedRow): 47814 (WebCore::GIFImageDecoder::frameComplete): 47815 (WebCore::GIFImageDecoder::decode): 47816 (WebCore::GIFImageDecoder::initFrameBuffer): 47817 * platform/image-decoders/gif/GIFImageDecoder.h: 47818 (WebCore::GIFImageDecoder::): 47819 (WebCore::GIFImageDecoder::filenameExtension): 47820 * platform/image-decoders/gif/GIFImageReader.cpp: 47821 (GIFImageReader::do_lzw): 47822 (GIFImageReader::read): 47823 * platform/image-decoders/gif/GIFImageReader.h: 47824 (GIFImageReader::~GIFImageReader): 47825 * platform/image-decoders/ico/ICOImageDecoder.cpp: 47826 (WebCore::ICOImageDecoder::ICOImageDecoder): 47827 (WebCore::ICOImageDecoder::~ICOImageDecoder): 47828 (WebCore::ICOImageDecoder::setData): 47829 (WebCore::ICOImageDecoder::isSizeAvailable): 47830 (WebCore::ICOImageDecoder::frameSizeAtIndex): 47831 (WebCore::ICOImageDecoder::frameCount): 47832 (WebCore::ICOImageDecoder::frameBufferAtIndex): 47833 (WebCore::ICOImageDecoder::compareEntries): 47834 (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): 47835 (WebCore::ICOImageDecoder::decode): 47836 (WebCore::ICOImageDecoder::decodeDirectory): 47837 (WebCore::ICOImageDecoder::decodeAtIndex): 47838 (WebCore::ICOImageDecoder::processDirectoryEntries): 47839 (WebCore::ICOImageDecoder::readDirectoryEntry): 47840 * platform/image-decoders/ico/ICOImageDecoder.h: 47841 (WebCore::ICOImageDecoder::readUint16): 47842 (WebCore::ICOImageDecoder::readUint32): 47843 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 47844 (WebCore::): 47845 (WebCore::JPEGImageReader::JPEGImageReader): 47846 (WebCore::JPEGImageReader::skipBytes): 47847 (WebCore::JPEGImageReader::decode): 47848 (WebCore::error_exit): 47849 (WebCore::fill_input_buffer): 47850 (WebCore::term_source): 47851 (WebCore::JPEGImageDecoder::setData): 47852 (WebCore::JPEGImageDecoder::setSize): 47853 (WebCore::JPEGImageDecoder::frameBufferAtIndex): 47854 (WebCore::JPEGImageDecoder::jpegComplete): 47855 (WebCore::JPEGImageDecoder::decode): 47856 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 47857 (WebCore::JPEGImageDecoder::filenameExtension): 47858 * platform/image-decoders/png/PNGImageDecoder.cpp: 47859 (WebCore::decodingFailed): 47860 (WebCore::decodingWarning): 47861 (WebCore::headerAvailable): 47862 (WebCore::rowAvailable): 47863 (WebCore::pngComplete): 47864 (WebCore::PNGImageReader::PNGImageReader): 47865 (WebCore::PNGImageReader::close): 47866 (WebCore::PNGImageReader::decode): 47867 (WebCore::PNGImageReader::createInterlaceBuffer): 47868 (WebCore::PNGImageDecoder::setData): 47869 (WebCore::PNGImageDecoder::frameBufferAtIndex): 47870 (WebCore::PNGImageDecoder::headerAvailable): 47871 (WebCore::PNGImageDecoder::rowAvailable): 47872 (WebCore::PNGImageDecoder::pngComplete): 47873 (WebCore::PNGImageDecoder::decode): 47874 * platform/image-decoders/png/PNGImageDecoder.h: 47875 (WebCore::PNGImageDecoder::filenameExtension): 47876 * platform/image-decoders/qt/RGBA32BufferQt.cpp: 47877 (WebCore::RGBA32Buffer::setDecodedImage): 47878 47879 2010-02-16 Csaba Osztrogonc <ossy (a] webkit.org> 47880 47881 [Qt] Unreviewed buildfix. 47882 47883 * WebCore.pro: Missing backslash added. 47884 47885 2010-02-16 Mikhail Naganov <mnaganov (a] chromium.org> 47886 47887 Reviewed by Pavel Feldman. 47888 47889 Move JSC-specific wrappers for Profile and ProfileNode to bindings/js. 47890 47891 https://bugs.webkit.org/show_bug.cgi?id=34848 47892 47893 * GNUmakefile.am: 47894 * WebCore.gypi: 47895 * WebCore.pro: 47896 * WebCore.vcproj/WebCore.vcproj: 47897 * WebCore.xcodeproj/project.pbxproj: 47898 * bindings/js/JavaScriptProfile.cpp: Added. 47899 (WebCore::profileCache): 47900 (WebCore::getTitleCallback): 47901 (WebCore::getHeadCallback): 47902 (WebCore::getUniqueIdCallback): 47903 (WebCore::focus): 47904 (WebCore::exclude): 47905 (WebCore::restoreAll): 47906 (WebCore::finalize): 47907 (WebCore::ProfileClass): 47908 (WebCore::toJS): 47909 * bindings/js/JavaScriptProfile.h: Added. 47910 * bindings/js/JavaScriptProfileNode.cpp: Added. 47911 (WebCore::profileNodeCache): 47912 (WebCore::getFunctionName): 47913 (WebCore::getURL): 47914 (WebCore::getLineNumber): 47915 (WebCore::getTotalTime): 47916 (WebCore::getSelfTime): 47917 (WebCore::getNumberOfCalls): 47918 (WebCore::getChildren): 47919 (WebCore::getVisible): 47920 (WebCore::getCallUID): 47921 (WebCore::finalize): 47922 (WebCore::ProfileNodeClass): 47923 (WebCore::toJS): 47924 * bindings/js/JavaScriptProfileNode.h: Added. 47925 * inspector/JavaScriptProfile.cpp: Removed. 47926 * inspector/JavaScriptProfile.h: Removed. 47927 * inspector/JavaScriptProfileNode.cpp: Removed. 47928 * inspector/JavaScriptProfileNode.h: Removed. 47929 47930 2010-02-16 Alexander Pavlov <apavlov (a] chromium.org> 47931 47932 Reviewed by Pavel Feldman. 47933 47934 Web Inspector: Elements Panel: Limit the number of initially loaded element children 47935 https://bugs.webkit.org/show_bug.cgi?id=34421 47936 47937 Test: inspector/elements-panel-limited-children.html 47938 47939 * English.lproj/localizedStrings.js: 47940 * inspector/front-end/DOMAgent.js: 47941 (WebInspector.DOMNode.prototype._insertChild): 47942 * inspector/front-end/ElementsPanel.js: 47943 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): 47944 * inspector/front-end/ElementsTreeOutline.js: 47945 (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor): 47946 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): 47947 (WebInspector.ElementsTreeElement): 47948 (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit): 47949 (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit): 47950 (WebInspector.ElementsTreeElement.prototype.get expandedChildCount): 47951 (WebInspector.ElementsTreeElement.prototype.showChild): 47952 (WebInspector.ElementsTreeElement.prototype.insertChildElement): 47953 (WebInspector.ElementsTreeElement.prototype.moveChild): 47954 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): 47955 (WebInspector.ElementsTreeElement.prototype._updateChildren): 47956 (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange): 47957 (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren): 47958 (): 47959 * inspector/front-end/inspector.css: 47960 47961 2010-02-16 Ismail Donmez <ismail (a] namtrac.org> 47962 47963 Reviewed by Pavel Feldman. 47964 47965 Fix compilation with inspector disabled. 47966 https://bugs.webkit.org/show_bug.cgi?id=32724 47967 47968 * rendering/RenderLayerBacking.cpp: 47969 (WebCore::inspectorTimelineAgent): 47970 47971 2010-02-16 Pavel Feldman <pfeldman (a] chromium.org> 47972 47973 Reviewed by Timothy Hatcher. 47974 47975 Web Inspector: turn off line wrapping in source view. 47976 47977 https://bugs.webkit.org/show_bug.cgi?id=34935 47978 47979 * inspector/front-end/TextViewer.js: 47980 (WebInspector.TextViewer.prototype.markAndRevealRange): 47981 (WebInspector.TextViewer.prototype._paintLine): 47982 * inspector/front-end/textViewer.css: 47983 * inspector/front-end/utilities.js: 47984 47985 2010-02-16 Pavel Feldman <pfeldman (a] chromium.org> 47986 47987 Reviewed by Timothy Hatcher. 47988 47989 Web Inspector: let search iterate over views in Resources 47990 and keep the view in Scripts. 47991 47992 https://bugs.webkit.org/show_bug.cgi?id=34968 47993 47994 * inspector/front-end/Panel.js: 47995 (WebInspector.Panel.prototype.jumpToNextSearchResult): 47996 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): 47997 (WebInspector.Panel.prototype.showSourceLineForURL): 47998 (WebInspector.Panel.prototype.searchIteratesOverViews): 47999 * inspector/front-end/ResourcesPanel.js: 48000 (WebInspector.ResourcesPanel.prototype.get _resources): 48001 (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews): 48002 * inspector/front-end/SourceView.js: 48003 (WebInspector.SourceView.prototype.showingLastSearchResult): 48004 * inspector/front-end/inspector.js: 48005 (WebInspector.documentKeyDown): 48006 (WebInspector.focusSearchField): 48007 48008 2010-02-16 Noam Rosenthal <noam.rosenthal (a] nokia.com> 48009 48010 Reviewed by Ariya Hidayat. 48011 48012 [Qt] canvas clipping is buggy 48013 https://bugs.webkit.org/show_bug.cgi?id=32405 48014 48015 Apparently the bug was in GraphicsContext::roundToDevicePixels, we 48016 didn't take unto accounts rotation, so the device pixels were rounded 48017 incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so 48018 it should be rather safe 48019 48020 Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right 48021 48022 * platform/graphics/qt/GraphicsContextQt.cpp: 48023 (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from 48024 GraphicsContextCG 48025 48026 2010-02-16 Yury Semikhatsky <yurys (a] chromium.org> 48027 48028 Not Reviewed, build fix. 48029 48030 * platform/graphics/FloatRect.h: 48031 (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler 48032 doesn't complain about that. 48033 48034 2010-02-15 Dan Bernstein <mitz (a] apple.com> 48035 48036 Reviewed by Simon Fraser. 48037 48038 <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout 48039 48040 Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of 48041 a quads bounding box, rather than its top left, as the reference point passed to 48042 offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in 48043 one column, but most of it is on another column, the single rect we return will be for the 48044 second column. 48045 48046 * platform/graphics/FloatRect.h: 48047 (WebCore::FloatRect::center): Added. 48048 * rendering/RenderObject.cpp: 48049 (WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left. 48050 48051 2010-02-15 MORITA Hajime <morrita (a] gmail.com> 48052 48053 Reviewed by Nikolas Zimmermann. 48054 48055 SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker 48056 48057 https://bugs.webkit.org/show_bug.cgi?id=34831 48058 48059 No new tests, no change of functionality. 48060 48061 * rendering/SVGCharacterLayoutInfo.h: 48062 (WebCore::SVGTextChunkWalker::SVGTextChunkWalker): 48063 Removed setupBackground(), setupFill(), setupFillSelection(), 48064 setupStroke(), setupStrokeSelection(), setupForeground() 48065 and associated member variables. 48066 48067 * rendering/SVGRootInlineBox.cpp: 48068 (WebCore::SVGRootInlineBoxPaintWalker::setupBackground): 48069 renamed from chunkSetupBackgroundCallback. 48070 (WebCore::SVGRootInlineBoxPaintWalker::setupFill): 48071 renamed from chunkSetupFillCallback. 48072 (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection): 48073 renamed from chunkSetupFillSelectionCallback. 48074 (WebCore::SVGRootInlineBoxPaintWalker::setupStroke): 48075 renamed from chunkSetupStrokeCallback. 48076 (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection): 48077 renamed from chunkSetupStrokeSelectionCallback. 48078 (WebCore::SVGRootInlineBoxPaintWalker::setupForeground): 48079 renamed from chunkSetupForegroundCallback. 48080 (WebCore::SVGRootInlineBoxPaintWalker::paintChunk): 48081 renamed from chunkPortionCallback. 48082 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 48083 extracted from walkTextChunks. 48084 (WebCore::SVGRootInlineBox::paint): 48085 follow SVGTextChunkWalker change. 48086 (WebCore::SVGRootInlineBox::walkTextChunks): 48087 moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback(). 48088 48089 2010-02-15 Dan Bernstein <mitz (a] apple.com> 48090 48091 Try to fix the Chromium build. 48092 48093 * rendering/RenderThemeChromiumMac.mm: 48094 (WebCore::RenderThemeChromiumMac::convertToPaintingRect): 48095 48096 2010-02-14 Gavin Barraclough <barraclough (a] apple.com> 48097 48098 Reviewed by Darin Adler. 48099 48100 https://bugs.webkit.org/show_bug.cgi?id=33731 48101 Many false leaks in release builds due to PtrAndFlags 48102 48103 PtrAndFlags has now been removed; remove forwarding header. 48104 48105 * ForwardingHeaders/wtf/PtrAndFlags.h: Removed. 48106 48107 2010-02-15 Gavin Barraclough <barraclough (a] apple.com> 48108 48109 Reviewed by Geoff Garen. 48110 48111 Bug 34952 - String lengths in UString should be unsigned. 48112 This matches WebCore::StringImpl, and better unifies behaviour throughout JSC. 48113 48114 * bindings/js/JSDOMWindowCustom.cpp: 48115 (WebCore::JSDOMWindow::atob): 48116 (WebCore::JSDOMWindow::btoa): 48117 48118 2010-02-15 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 48119 48120 Reviewed by Xan Lopez. 48121 48122 [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled 48123 https://bugs.webkit.org/show_bug.cgi?id=34944 48124 48125 Set the URL in the newly created response, when parsing data: 48126 URIs. 48127 48128 Test: fast/harness/page-cache-crash-on-data-urls.html 48129 48130 * platform/network/soup/ResourceHandleSoup.cpp: 48131 (WebCore::parseDataUrl): 48132 48133 2010-02-15 Dan Bernstein <mitz (a] apple.com> 48134 48135 Reviewed by Simon Fraser. 48136 48137 <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants 48138 https://bugs.webkit.org/show_bug.cgi?id=34923 48139 48140 Test: fast/multicol/client-rects.html 48141 48142 In column layout, a different transform applies to different points in 48143 the block and its descendants, depending on their y coordinate within the 48144 block. offsetFromContainer() used to return the offset that applied to 48145 the origin. With this change, it returns the offset that applies to a 48146 given reference point. When mapping a quad from local to absolute 48147 coordinates, the top left of the quads bounding box is used as that 48148 reference point. 48149 48150 * editing/SelectionController.cpp: 48151 (WebCore::SelectionController::layout): Pass the carets origin as the 48152 reference point to offsetFromContainer(). 48153 * rendering/RenderBlock.cpp: 48154 (WebCore::RenderBlock::adjustForColumns): Adds the offset between the 48155 given point and its image under the column paint-time transform to the 48156 given offset. Used by offsetFromContainer() where it had previously used 48157 adjustRectForColumns(), which takes a rect and operates less efficiently. 48158 * rendering/RenderBlock.h: 48159 * rendering/RenderBox.cpp: 48160 (WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as 48161 the reference point to offsetFromContainer(). 48162 (WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to 48163 offsetFromContainer(). 48164 (WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead 48165 of adjustRectForColumns(), and use the reference point to get the right 48166 adjustment for the point of interest, instead of the origin, in case this 48167 box spans multiple columns. 48168 * rendering/RenderBox.h: 48169 * rendering/RenderInline.cpp: 48170 (WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the 48171 column offset to the computation, which previously this function didnt 48172 do. 48173 (WebCore::RenderInline::mapLocalToContainer): Pass the transformed point 48174 as the reference point to offsetFromContainer(). 48175 (WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to 48176 offsetFromContainer(). 48177 * rendering/RenderInline.h: 48178 * rendering/RenderObject.cpp: 48179 (WebCore::RenderObject::mapLocalToContainer): Apply column adjustment, 48180 based on the reference point, to the transform if needed. 48181 (WebCore::RenderObject::localToContainerQuad): Initialize the 48182 TransformState with the top left corner of the quads bounding box. It 48183 is later used as the reference point when deciding on which column to 48184 base the calculations. 48185 (WebCore::RenderObject::offsetFromContainer): Adjust for columns. 48186 (WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin 48187 as the reference point to offsetFromContainer(). 48188 * rendering/RenderObject.h: 48189 (WebCore::RenderObject::adjustForColumns): Added. 48190 * rendering/RenderTableCell.cpp: 48191 (WebCore::RenderTableCell::offsetFromContainer): Pass the reference 48192 point through. 48193 * rendering/RenderTableCell.h: 48194 * rendering/RenderText.cpp: 48195 (WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each 48196 rect to absolute coordinates individually. 48197 * rendering/RenderThemeMac.mm: 48198 (WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to 48199 offsetFromContainer(). 48200 48201 2010-02-12 Alexey Proskuryakov <ap (a] apple.com> 48202 48203 Reviewed by Kevin Decker. 48204 48205 <rdar://problem/7130641> Browser objects identity is not preserved by Safari 48206 48207 Test: plugins/netscape-browser-object-identity.html 48208 48209 * bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback): 48210 RootObject can now call out during invalidation, making it possible for other code to know 48211 when this happens. 48212 48213 * bridge/runtime_root.cpp: 48214 (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor, 48215 in cpp file since it's virtual. 48216 (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks. 48217 48218 * bridge/NP_jsobject.cpp: 48219 (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to 48220 keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap 48221 JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map 48222 separately, due to supporting per-instance granularity (as opposed to per-RootObject here). 48223 (jsDeallocate): Remove the corresponding map entry. 48224 (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount. 48225 48226 2010-02-15 Philippe Normand <pnormand (a] igalia.com> 48227 48228 Rubber-stamped by Gustavo Noronha Silva. 48229 48230 Removed redefine of LOG_VERBOSE. This should not have commited in 48231 the first place. 48232 48233 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 48234 48235 2010-02-15 Pavel Feldman <pfeldman (a] chromium.org> 48236 48237 Reviewed by Timothy Hatcher. 48238 48239 Web Inspector: incorrect syntax highlighting as HTML in a script tag. 48240 We were preserving initial lexer state upon entering other tags while in <script> 48241 but were not doing it for <script tag itself. As a result, nested script 48242 tags were failing to highlight. 48243 48244 https://bugs.webkit.org/show_bug.cgi?id=34934 48245 48246 * inspector/front-end/SourceHTMLTokenizer.js: 48247 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 48248 * inspector/front-end/SourceHTMLTokenizer.re2js: 48249 48250 2010-02-15 Brady Eidson <beidson (a] apple.com> 48251 48252 Reviewed by Dan Bernstein. 48253 48254 Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging 48255 messages over to WebCore-style. 48256 48257 No new tests. (Logging changes only) 48258 48259 * loader/ProgressTracker.cpp: 48260 (WebCore::ProgressTracker::progressStarted): 48261 (WebCore::ProgressTracker::progressCompleted): 48262 (WebCore::ProgressTracker::finalProgressComplete): 48263 (WebCore::ProgressTracker::incrementProgress): 48264 48265 * platform/Logging.cpp: 48266 (WebCore::): 48267 (WebCore::getChannelFromName): 48268 * platform/Logging.h: 48269 48270 2010-02-15 Noam Rosenthal <noam.rosenthal (a] nokia.com> 48271 48272 Reviewed by Simon Hausmann. 48273 48274 [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property 48275 https://bugs.webkit.org/show_bug.cgi?id=34901 48276 48277 When a signal/slot/property is of type QWebElement, it can seamlessly 48278 connect with JS objects that hold a WebCore element. 48279 48280 New tests, see WebKit/qt/ChangeLog 48281 48282 * bridge/qt/qt_runtime.cpp: 48283 (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement 48284 constructor 48285 (JSC::Bindings::QtWebElementRuntime::get): A proxy to 48286 QWebElement::element 48287 (JSC::Bindings::convertValueToQVariant): handle QWebElement 48288 (JSC::Bindings::convertQVariantToValue): handle QWebElement 48289 48290 2010-02-15 Pavel Feldman <pfeldman (a] chromium.org> 48291 48292 Not reviewed, Chromium build fix (force conversion of property names to 48293 strings in Web Inspector's injected script). 48294 48295 * inspector/front-end/InjectedScript.js: 48296 (injectedScriptConstructor): 48297 48298 2010-02-15 Pavel Feldman <pfeldman (a] chromium.org> 48299 48300 Not reviewed: touch InspectorController in order to kick win bot tests 48301 with new injected script contents. 48302 48303 * inspector/InspectorController.cpp: 48304 48305 2010-02-14 Pavel Feldman <pfeldman (a] chromium.org> 48306 48307 Reviewed by Timothy Hatcher. 48308 48309 Web Inspector: highlight actual search match in elements panel. 48310 48311 https://bugs.webkit.org/show_bug.cgi?id=34251 48312 48313 * inspector/front-end/ElementsPanel.js: 48314 (WebInspector.ElementsPanel.prototype.searchCanceled): 48315 (WebInspector.ElementsPanel.prototype.performSearch): 48316 (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): 48317 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): 48318 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): 48319 (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult): 48320 (WebInspector.ElementsPanel.prototype._hideSearchHighlights): 48321 * inspector/front-end/InjectedScript.js: 48322 * inspector/front-end/SourceFrame.js: 48323 (WebInspector.SourceFrame.prototype.findSearchMatches): 48324 * inspector/front-end/TextViewer.js: 48325 (WebInspector.TextViewer.prototype._paintLine): 48326 * inspector/front-end/textViewer.css: 48327 * inspector/front-end/utilities.js: 48328 48329 2010-02-14 Pavel Feldman <pfeldman (a] chromium.org> 48330 48331 Reviewed by Timothy Hatcher. 48332 48333 Web Inspector: XPathResult objects are not expanded in console. 48334 48335 https://bugs.webkit.org/show_bug.cgi?id=34926 48336 48337 * inspector/front-end/InjectedScript.js: 48338 (injectedScriptConstructor): 48339 * inspector/front-end/ObjectPropertiesSection.js: 48340 (WebInspector.ObjectPropertiesSection.prototype.updateProperties): 48341 (WebInspector.ObjectPropertiesSection.CompareProperties): 48342 (WebInspector.ObjectPropertyTreeElement.prototype.update): 48343 * inspector/front-end/Section.js: 48344 (WebInspector.Section): 48345 * inspector/front-end/inspector.css: 48346 48347 2010-02-10 Philippe Normand <pnormand (a] igalia.com> 48348 48349 Reviewed by Gustavo Noronha Silva. 48350 48351 [Gtk] wrong video aspect ratio 48352 https://bugs.webkit.org/show_bug.cgi?id=34790 48353 48354 Fixed natural size calculation regarding pixel aspect ratio and 48355 display aspect ratio. 48356 48357 Test: media/video-display-aspect-ratio.html 48358 48359 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 48360 (WebCore::greatestCommonDivisor): 48361 (WebCore::MediaPlayerPrivate::naturalSize): 48362 48363 2010-02-14 Adam Barth <abarth (a] webkit.org> 48364 48365 Reviewed by Darin Adler. 48366 48367 HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top"> 48368 https://bugs.webkit.org/show_bug.cgi?id=33277 48369 48370 submitForm wasn't respecting shouldAllowNavigation. Instead of calling 48371 the wrapper function, we need to call shouldAllowNavigation because we 48372 need to handle the "frame not found" case differently than the 48373 "navigation denied" case. 48374 48375 Test: http/tests/security/sandboxed-iframe-form-top.html 48376 48377 * loader/FrameLoader.cpp: 48378 (WebCore::FrameLoader::submitForm): 48379 48380 2010-02-14 Kent Tamura <tkent (a] chromium.org> 48381 48382 No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot. 48383 48384 * rendering/RenderRuby.cpp: Add a comment for #endf. 48385 * rendering/RenderRubyBase.cpp: Add a comment for #endf. 48386 * rendering/RenderRubyRun.cpp: Add a comment for #endf. 48387 * rendering/RenderRubyText.cpp: Add a comment for #endf. 48388 48389 2010-02-13 Pavel Feldman <pfeldman (a] chromium.org> 48390 48391 Reviewed by Timothy Hatcher. 48392 48393 Web Inspector: cache created row, span and text elements 48394 in TextView to improve scroller performance on debug build. 48395 48396 https://bugs.webkit.org/show_bug.cgi?id=34921 48397 48398 * inspector/front-end/SourceFrame.js: 48399 (WebInspector.SourceFrame.prototype.set visible): 48400 * inspector/front-end/TextViewer.js: 48401 (WebInspector.TextViewer): 48402 (WebInspector.TextViewer.prototype.freeCachedElements): 48403 (WebInspector.TextViewer.prototype._buildChunks): 48404 (WebInspector.TextViewer.prototype._makeLineAChunk): 48405 (WebInspector.TextViewer.prototype._paintLine): 48406 (WebInspector.TextViewer.prototype._releaseLines): 48407 (WebInspector.TextViewer.prototype._appendSpan): 48408 (WebInspector.TextViewer.prototype._appendTextNode): 48409 (WebInspector.TextChunk): 48410 (WebInspector.TextChunk.prototype.set expanded): 48411 (WebInspector.TextChunk.prototype._lineNumberText): 48412 (WebInspector.TextChunk.prototype._createRow): 48413 48414 2010-02-13 Kent Tamura <tkent (a] chromium.org> 48415 48416 Reviewed by Darin Adler. 48417 48418 Refactor parsing/serialization functions in HTMLInputElement. 48419 https://bugs.webkit.org/show_bug.cgi?id=34852 48420 48421 - Rename formStringToDouble() to parseToDoubleForNumberType() 48422 - Rename formStringToDateComponents() to parseToDateComponents() 48423 - Rename formStringFromDouble() to serializeForNumberType() 48424 - Add serializeForDateTimeTypes() 48425 The code is moved from setValueAsDate() and setDateValue(). 48426 - Add serialize() 48427 48428 parseToDouble() is the top-level function to parse a 48429 type-dependent string and return a double 48430 value. parseToDoubleForNumber() and parseToDateComponents() 48431 functions are helper functions for it. serialize() is the 48432 top-level function to serialize a double value to a type-dependent 48433 string, and serializeForNumberType() and 48434 serializeForDateTimeTypes() are helper functions for it. 48435 48436 No tests because of no functional changes. 48437 48438 * html/HTMLInputElement.cpp: 48439 (WebCore::HTMLInputElement::stepMismatch): 48440 (WebCore::HTMLInputElement::getAllowedValueStep): 48441 (WebCore::HTMLInputElement::parseToDouble): 48442 (WebCore::HTMLInputElement::valueAsDate): 48443 (WebCore::HTMLInputElement::setValueAsDate): 48444 (WebCore::HTMLInputElement::setValueAsNumber): 48445 (WebCore::HTMLInputElement::serializeForDateTimeTypes): 48446 (WebCore::HTMLInputElement::serialize): 48447 (WebCore::HTMLInputElement::serializeForNumberType): 48448 (WebCore::HTMLInputElement::parseToDoubleForNumberType): 48449 (WebCore::HTMLInputElement::parseToDateComponents): 48450 * html/HTMLInputElement.h: 48451 * html/ValidityState.cpp: 48452 (WebCore::ValidityState::typeMismatch): 48453 * rendering/RenderSlider.cpp: 48454 (WebCore::SliderRange::valueFromElement): 48455 (WebCore::RenderSlider::updateFromElement): 48456 (WebCore::RenderSlider::setValueForPosition): 48457 48458 2010-01-05 Ojan Vafai <ojan (a] chromium.org> 48459 48460 Reviewed by Dan Bernstein. 48461 48462 Improve text control intrinsic widths. 48463 https://bugs.webkit.org/show_bug.cgi?id=25566 48464 https://bugs.webkit.org/show_bug.cgi?id=25581 48465 https://bugs.webkit.org/show_bug.cgi?id=25958 48466 48467 For Mac fonts that have invalid avgCharWidth entries in the OS/2 table, 48468 fallback to the Safari 4- behavior of using the width of a zero. For other 48469 fonts, make Mac match Windows (and thus IE) metrics. 48470 48471 Lucida Grande is hard-coded to match MS Shell Dlg for inputs and 48472 Courier New for textareas in order to match Safari Win, Firefox and, in 48473 some cases IE (IE uses different default fonts depending on encoding). 48474 48475 The only case where we still don't match Windows is if no font-size is 48476 set. The default font-size for form controls on the Mac is smaller and 48477 thus text-control widths will be slightly smaller. 48478 48479 No new tests. Covered by existing tests. 48480 48481 * platform/graphics/mac/SimpleFontDataMac.mm: 48482 (WebCore::SimpleFontData::platformCharWidthInit): 48483 * rendering/RenderTextControl.cpp: 48484 (WebCore::): 48485 (WebCore::RenderTextControl::hasValidAvgCharWidth): 48486 (WebCore::RenderTextControl::getAvgCharWidth): 48487 (WebCore::RenderTextControl::calcPrefWidths): 48488 * rendering/RenderTextControl.h: 48489 (WebCore::RenderTextControl::scaleEmToUnits): 48490 * rendering/RenderTextControlMultiLine.cpp: 48491 (WebCore::RenderTextControlMultiLine::getAvgCharWidth): 48492 * rendering/RenderTextControlMultiLine.h: 48493 * rendering/RenderTextControlSingleLine.cpp: 48494 (WebCore::RenderTextControlSingleLine::getAvgCharWidth): 48495 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 48496 * rendering/RenderTextControlSingleLine.h: 48497 48498 2010-02-11 Ariya Hidayat <ariya.hidayat (a] gmail.com> 48499 48500 Reviewed by Kenneth Rohde Christiansen. 48501 48502 [Qt] Unnecessary QBrush construction for doing a solid color stroke 48503 https://bugs.webkit.org/show_bug.cgi?id=34874 48504 48505 Use the similar trick like in r54347, i.e. use the special brush for 48506 solid color to avoid expensive QBrush constructor. 48507 48508 * platform/graphics/qt/GraphicsContextQt.cpp: 48509 (WebCore::GraphicsContext::setPlatformStrokeColor): 48510 48511 2010-02-11 Darin Fisher <darin (a] chromium.org> 48512 48513 Reviewed by Jeremy Orlow. 48514 48515 Pass the Document along to the ChromiumBridge cookie methods. 48516 48517 https://bugs.webkit.org/show_bug.cgi?id=34878 48518 48519 * platform/chromium/ChromiumBridge.h: 48520 * platform/network/chromium/CookieJarChromium.cpp: 48521 (WebCore::setCookies): 48522 (WebCore::cookies): 48523 (WebCore::cookiesEnabled): 48524 (WebCore::getRawCookies): 48525 (WebCore::deleteCookie): 48526 48527 2010-02-12 Eric Seidel <eric (a] webkit.org> 48528 48529 No review, rolling out r54694. 48530 http://trac.webkit.org/changeset/54694 48531 https://bugs.webkit.org/show_bug.cgi?id=34633 48532 48533 This appears to have caused crashes on the Leopard bot. See 48534 bug 34898. 48535 48536 * websockets/ThreadableWebSocketChannelClientWrapper.h: 48537 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): 48538 * websockets/WebSocket.cpp: 48539 (WebCore::WebSocket::WebSocket): 48540 (WebCore::WebSocket::send): 48541 (WebCore::WebSocket::close): 48542 (WebCore::WebSocket::bufferedAmount): 48543 (WebCore::WebSocket::didConnect): 48544 (WebCore::WebSocket::didClose): 48545 * websockets/WebSocket.h: 48546 * websockets/WebSocketChannel.cpp: 48547 (WebCore::WebSocketChannel::WebSocketChannel): 48548 (WebCore::WebSocketChannel::send): 48549 (WebCore::WebSocketChannel::bufferedAmount): 48550 (WebCore::WebSocketChannel::didClose): 48551 * websockets/WebSocketChannel.h: 48552 * websockets/WebSocketChannelClient.h: 48553 (WebCore::WebSocketChannelClient::didClose): 48554 * websockets/WorkerThreadableWebSocketChannel.cpp: 48555 (WebCore::workerContextDidClose): 48556 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): 48557 * websockets/WorkerThreadableWebSocketChannel.h: 48558 48559 2010-02-12 Gavin Barraclough <barraclough (a] apple.com> 48560 48561 Reviewed by Sam Weinig. 48562 48563 Workers' EventListeners should be removed before JSGlobalData is destroyed 48564 https://bugs.webkit.org/show_bug.cgi?id=34903 48565 48566 (Patch co-developed with Alexey Proskuryakov). 48567 48568 Since http://trac.webkit.org/changeset/54460 the EventListeners registered by a 48569 worker thread are not removed until after the thread's JSGlobalData has been 48570 destroyed. This is slightly worrisome since the JSEventListener contains 48571 JSObject*s, which will be dangling once the heap is destroyed. The 48572 JSEventListeners may also reference the worker thread's normal world, which 48573 again it makes no sense to keep around after the JSGlobalData is freed. 48574 48575 Remove all event listeners immediately prior to tearing down the JSGlobalData. 48576 48577 https://bugs.webkit.org/show_bug.cgi?id=34728 addressed the symptoms of this 48578 problem, and it is probably cleaner to make the client data's normal world no 48579 longer be a member (since it is a ref-counted object), however they should be 48580 no requirement to 'detatch' - it makes no sense for anyone to be referencing 48581 the world after the JSGlobalData has gone away (the world's purpose is to hold 48582 wrapper objects in the JSGlobalData's heap). Keep the restructuring that makes 48583 the normal world no longer be a member, but remove the detach mechanism this 48584 patch added & replace with stronger ASSERTs. 48585 48586 * bindings/js/JSDOMBinding.cpp: 48587 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 48588 * bindings/js/JSDOMBinding.h: 48589 (WebCore::WebCoreJSClientData::~WebCoreJSClientData): 48590 * workers/WorkerThread.cpp: 48591 (WebCore::WorkerThreadShutdownStartTask::performTask): 48592 48593 2010-02-12 Gavin Barraclough <barraclough (a] apple.com> 48594 48595 Reviewed by Sam Weinig. 48596 48597 https://bugs.webkit.org/show_bug.cgi?id=33731 48598 Remove uses of PtrAndFlags from WebCore::StringImpl. 48599 48600 These break the OS X Leaks tool. Use a bits stolen from the refCount to hold the 48601 'InTable' and 'HasTerminatingNullCharacter' flags, along with the string type 48602 (fixes a leak where the string data is allocated at the address (this + 1), and is 48603 misinterpreted as being an internal buffer). 48604 48605 * WebCore.base.exp: 48606 * platform/text/StringImpl.cpp: 48607 (WebCore::StringImpl::StringImpl): 48608 (WebCore::StringImpl::~StringImpl): 48609 (WebCore::StringImpl::create): 48610 (WebCore::StringImpl::createWithTerminatingNullCharacter): 48611 (WebCore::StringImpl::crossThreadString): 48612 (WebCore::StringImpl::sharedBuffer): 48613 * platform/text/StringImpl.h: 48614 (WebCore::StringImpl::): 48615 (WebCore::StringImpl::hasTerminatingNullCharacter): 48616 (WebCore::StringImpl::inTable): 48617 (WebCore::StringImpl::setInTable): 48618 (WebCore::StringImpl::ref): 48619 (WebCore::StringImpl::deref): 48620 (WebCore::StringImpl::hasOneRef): 48621 (WebCore::StringImpl::operator new): 48622 (WebCore::StringImpl::bufferOwnership): 48623 * storage/OriginUsageRecord.cpp: 48624 (WebCore::OriginUsageRecord::addDatabase): 48625 (WebCore::OriginUsageRecord::markDatabase): 48626 48627 2010-02-12 Nikolas Zimmermann <nzimmermann (a] rim.com> 48628 48629 Reviewed by Dirk Schulze. 48630 48631 Repaint bug on Text selection in foreignObject 48632 https://bugs.webkit.org/show_bug.cgi?id=16939 48633 48634 Tests: svg/overflow/overflow-on-foreignObject.svg 48635 svg/text/foreignObject-text-clipping-bug.xml 48636 48637 Selecting text contained in <foreignObject> leads to artefacts. Same for zooming/panning. 48638 RenderForeignObject contained old legacy code returning FloatRect() for repaintRectInLocalCoordinates, 48639 which is obviously wrong. Fixing that leads to even more problems, as the underlying RenderBlock 48640 did not reflect the x/y translation set on the <foreignObject>. This is problematic, as laying out 48641 positioned objects in the XHTML subtree depends on proper size/location values of the frameRect. 48642 48643 Correctly clip on overflow="hidden". overflow="scroll" & friends are not yet supported, see lengthy 48644 comment in RenderSVGBlock why we either need RenderLayer for RenderForeignObject or need to rework 48645 overflow handling to avoid RenderLayer. 48646 48647 SVGForeignObjectElement uses a hacky custom solution to synchronize CSS width/height properties with 48648 the SVG width/height attributes. Remove all of that code and just implement calcWidth/calcHeight in 48649 RenderForeignObject, grabbing the right values from SVGForeignObjectElement::width/height upon layout. 48650 48651 * rendering/RenderForeignObject.cpp: 48652 (WebCore::RenderForeignObject::paint): Clip properly to the actual bounds of the foreignObject, respecting that x/y translation is handled by RenderBlock now. 48653 (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): Added missing function, forward to SVGRenderBase just like all other SVG renderers. 48654 (WebCore::RenderForeignObject::computeRectForRepaint): Remove manual implementation, forward to SVGRenderBase. 48655 (WebCore::RenderForeignObject::localToParentTransform): Respect x/y translation here _after_ applying localTransform(). 48656 (WebCore::RenderForeignObject::calcWidth): Override RenderBlock::calcWidth to grab width() from SVGForeignObjectElement. 48657 (WebCore::RenderForeignObject::calcHeight): Override RenderBlock::calcHeight to grab height() from SVGForeignObjectElement. 48658 (WebCore::RenderForeignObject::layout): Calculate viewport once and cache it. Push x/y location down to RenderBlock - analogous to RenderSVGText. 48659 (WebCore::RenderForeignObject::nodeAtFloatPoint): Adapt to x/y translation changes (map through localTransform, not localToParentTransform). Respect overflow clipping. 48660 (WebCore::RenderForeignObject::mapLocalToContainer): Set useTransforms=true, to avoid assertions when selecting text in foreign objects. 48661 * rendering/RenderForeignObject.h: 48662 (WebCore::RenderForeignObject::objectBoundingBox): Return cached m_viewport. 48663 (WebCore::RenderForeignObject::strokeBoundingBox): Ditto. 48664 (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): Ditto. 48665 * rendering/RenderSVGBlock.cpp: 48666 (WebCore::RenderSVGBlock::setStyle): Cleanup code, move setHasOverflowClip() overrides in updateBoxModelInfoFromStyle where it belongs. 48667 (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): Added to force setting setHasOverflowClip(false). 48668 * rendering/RenderSVGBlock.h: 48669 * svg/SVGForeignObjectElement.cpp: Kill a lot of custom code - it was just plain wrong to utilize CSS to push width/height information down to RenderBlock. 48670 (WebCore::SVGForeignObjectElement::svgAttributeChanged): 48671 48672 2010-02-12 Dan Bernstein <mitz (a] apple.com> 48673 48674 Reviewed by Simon Fraser. 48675 48676 <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website 48677 https://bugs.webkit.org/show_bug.cgi?id=34865 48678 48679 Test: fast/text/glyph-reordering.html 48680 48681 * platform/graphics/mac/ComplexTextController.cpp: 48682 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): 48683 (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): Added. Sets m_isMonotonic 48684 and populates m_glyphEndOffsets with the end offsets of each glyphs corresponding character range. 48685 (WebCore::ComplexTextController::advance): For non-monotonic runs, use endOffsetAt() to get 48686 glyphs end offsets. 48687 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check for monotonicity and call 48688 setIsNonMonotonic() if needed. 48689 * platform/graphics/mac/ComplexTextController.h: 48690 (WebCore::ComplexTextController::ComplexTextRun::lastIndexAt): Added this getter. 48691 (WebCore::ComplexTextController::ComplexTextRun::isMonotonic): Ditto. 48692 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 48693 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic. 48694 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 48695 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto. 48696 48697 2010-02-12 Alexey Proskuryakov <ap (a] apple.com> 48698 48699 Reviewed by David Levin. 48700 48701 https://bugs.webkit.org/show_bug.cgi?id=34866 48702 Leopard Debug Bot crashed on fast/forms/old-names.html 48703 48704 * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::formCollectionInfo): Removed 48705 a misplaced checkConsistency() call. We are not looking at cache content at this point, and 48706 caches will be reset on next access. 48707 48708 2010-02-12 Pavel Feldman <pfeldman (a] chromium.org> 48709 48710 Reviewed by Timothy Hatcher. 48711 48712 Web Inspector: restore highlighting animation, bring back 48713 keyboard navigation, beautify search results. 48714 48715 https://bugs.webkit.org/show_bug.cgi?id=34853 48716 48717 * inspector/front-end/TextViewer.js: 48718 (WebInspector.TextViewer): 48719 (WebInspector.TextViewer.prototype.highlightLine): 48720 * inspector/front-end/textViewer.css: 48721 48722 2010-02-12 Anton Muhin <antonm (a] chromium.org> 48723 48724 Reviewed by Adam Barth. 48725 48726 [v8] handle to the document can only own Objects, not Values 48727 https://bugs.webkit.org/show_bug.cgi?id=34854 48728 48729 * bindings/v8/V8DOMWindowShell.cpp: 48730 (WebCore::V8DOMWindowShell::updateDocumentWrapper): 48731 (WebCore::V8DOMWindowShell::updateDocumentWrapperCache): 48732 * bindings/v8/V8DOMWindowShell.h: 48733 * bindings/v8/custom/V8DocumentCustom.cpp: 48734 (WebCore::toV8): 48735 48736 2010-02-12 Simon Hausmann <simon.hausmann (a] nokia.com> 48737 48738 Reviewed by Holger Freyther. 48739 48740 Replaced stray CRLF with LF. 48741 48742 * wml/WMLInputElement.cpp: 48743 (WebCore::WMLInputElement::suggestedValue): 48744 * wml/WMLInputElement.h: 48745 48746 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 48747 48748 Reviewed by Tor Arne Vestb. 48749 48750 [Qt] Make qtlauncher and qgvlauncher use the generated headers 48751 path to make sure they are correctly generated. 48752 48753 * WebCore.pro: 48754 48755 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 48756 48757 Reviewed by Tor Arne Vestb. 48758 48759 [Qt] Ensure relative paths in generated .pri files to ensure that 48760 a source package with pre-generated derived sources can be compiled. 48761 48762 - Re-add a separate headers.pri file for WEBKIT_API_HEADERS 48763 - Rename the generated headers.pri to classheaders.pri to avoid 48764 confusion with the one generated by synqt since they don't have the 48765 same content. 48766 - Remove private headers list variable from classheaders.pri 48767 - Use $$PWD in classheaders.pri 48768 - Remove classheaders.pri from the installed files 48769 48770 * WebCore.pro: 48771 48772 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 48773 48774 Reviewed by Tor Arne Vestb. 48775 48776 [Qt] Manually add support for the install target on Symbian. 48777 48778 This is required to copy the headers over the ones in Qt. 48779 48780 * WebCore.pro: 48781 48782 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 48783 48784 Reviewed by Tor Arne Vestb. 48785 48786 [Qt] Minor fixes on QtWebKit headers generation. 48787 48788 - Adds QtWebKit to the generated headers destination path 48789 - Improve compatibility with MinGW 48790 48791 * WebCore.pro: 48792 48793 2010-02-11 Fumitoshi Ukai <ukai (a] chromium.org> 48794 48795 Reviewed by Alexey Proskuryakov. 48796 48797 WebSocket ignores HttpOnly cookies, but should use in Handshake. 48798 https://bugs.webkit.org/show_bug.cgi?id=34289 48799 48800 Test: websocket/tests/cookies/httponly-cookie.pl 48801 48802 * platform/CookieJar.h: add cookieRequestHeaderFieldValue() 48803 * platform/chromium/ChromiumBridge.h: 48804 * platform/haiku/CookieJarHaiku.cpp: 48805 (WebCore::cookieRequestHeaderFieldValue): 48806 * platform/mac/CookieJar.mm: 48807 (WebCore::cookies): 48808 (WebCore::cookieRequestHeaderFieldValue): 48809 * platform/network/android/CookieJarAndroid.cpp: 48810 (WebCore::cookieRequestHeaderFieldValue): 48811 * platform/network/chromium/CookieJarChromium.cpp: 48812 (WebCore::cookieRequestHeaderFieldValue): 48813 * platform/network/curl/CookieJarCurl.cpp: 48814 (WebCore::cookieRequestHeaderFieldValue): 48815 * platform/network/soup/CookieJarSoup.cpp: 48816 (WebCore::cookieRequestHeaderFieldValue): 48817 * platform/network/win/CookieJarCFNetWin.cpp: 48818 (WebCore::cookieRequestHeaderFieldValue): 48819 * platform/network/win/CookieJarWin.cpp: 48820 (WebCore::cookieRequestHeaderFieldValue): 48821 * platform/qt/CookieJarQt.cpp: 48822 (WebCore::cookieRequestHeaderFieldValue): 48823 * websockets/WebSocketHandshake.cpp: 48824 (WebCore::WebSocketHandshake::clientHandshakeMessage): use cookieRequestHeaderFieldValue() instead of cookies() to include HttpOnly cookies. 48825 48826 2010-02-16 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 48827 48828 Reviewed by Gustavo Noronha Silva. 48829 48830 Notify about size changes in the WebKit GStreamer source. 48831 48832 https://bugs.webkit.org/show_bug.cgi?id=34881 48833 48834 * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp: 48835 (webkit_web_src_init): 48836 (StreamingClient::didReceiveResponse): 48837 * platform/graphics/gtk/WebKitWebSourceGStreamer.h: 48838 This makes sure that other GStreamer elements know about the 48839 size and on-disk buffering actually works. 48840 Only notify about size changes if gst-plugins-base before 48841 0.10.27 is used, because from that version onwards this is 48842 automatically handled. 48843 48844 If appsrc 0.10.27 or later is used, set the min-percent property 48845 to 20% to allow more time to pass between the need-data signal 48846 and starvation of the pipeline. 48847 48848 Also reset the size when stopping the source and send EOS 48849 on seeking failures. 48850 48851 2010-02-11 Ariya Hidayat <ariya.hidayat (a] gmail.com> 48852 48853 Reviewed by Kenneth Rohde Christiansen. 48854 48855 [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles. 48856 48857 https://bugs.webkit.org/show_bug.cgi?id=32375 48858 48859 * platform/graphics/qt/GraphicsContextQt.cpp: 48860 (WebCore::GraphicsContext::clipOut): 48861 (WebCore::GraphicsContext::clipOutEllipseInRect): 48862 48863 2010-02-11 Yuzo Fujishima <yuzo (a] google.com> 48864 48865 Reviewed by Shinichiro Hamaji. 48866 48867 Rename underscored identifiers in WebCore/css/CSSParser.cpp. 48868 https://bugs.webkit.org/show_bug.cgi?id=34877 48869 Also fix whitespace erros that surface due to the above fix. 48870 48871 This doesn't change the code logic. Hence no new tests are required. 48872 48873 * css/CSSParser.cpp: 48874 (WebCore::CSSParser::parseValue): 48875 48876 2010-02-11 Joseph Pecoraro <joepeck (a] webkit.org> 48877 48878 Reviewed by Timothy Hatcher. 48879 48880 Web Inspector: Focusing a resource in the inspector should default to content not header 48881 https://bugs.webkit.org/show_bug.cgi?id=34861 48882 48883 * inspector/front-end/Settings.js: 48884 (WebInspector.Settings.prototype._load): changed initial default to content tab 48885 48886 2010-02-11 Joseph Pecoraro <joepeck (a] webkit.org> 48887 48888 Reviewed by Timothy Hatcher. 48889 48890 Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item 48891 https://bugs.webkit.org/show_bug.cgi?id=34872 48892 48893 * inspector/front-end/StylesSidebarPane.js: 48894 (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate 48895 (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling 48896 48897 2010-02-11 Nikolas Zimmermann <nzimmermann (a] rim.com> 48898 48899 Reviewed by Eric Seidel. 48900 48901 Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint. 48902 48903 * platform/graphics/FloatSize.h: 48904 (WebCore::roundedIntSize): 48905 48906 2010-02-11 Kent Tamura <tkent (a] chromium.org> 48907 48908 Reviewed by Darin Adler. 48909 48910 Fix two issues on maxLength. 48911 https://bugs.webkit.org/show_bug.cgi?id=34783 48912 48913 - ValidityState.tooLong behavior was inconsistent with UIs of 48914 <input> and <textarea>. tooLong checked Unicode code point length 48915 though the UIs checks grapheme cluster length. 48916 48917 - Setting HTMLTextAreaElement::value didn't update the dirty flag. 48918 48919 * html/HTMLInputElement.cpp: 48920 (WebCore::HTMLInputElement::tooLong): Use numGraphemeClusters() instead of length(). 48921 * html/HTMLTextAreaElement.cpp: 48922 Rename setValue() to setNonDirtyValue(), and introduce setValue() 48923 which calls setNonDirtyValue() and sets the dirty flag. 48924 (WebCore::HTMLTextAreaElement::childrenChanged): 48925 (WebCore::HTMLTextAreaElement::reset): 48926 (WebCore::HTMLTextAreaElement::setValue): 48927 (WebCore::HTMLTextAreaElement::setNonDirtyValue): 48928 (WebCore::HTMLTextAreaElement::setDefaultValue): 48929 (WebCore::HTMLTextAreaElement::tooLong): Use numGraphemeClusters() instead of length(). 48930 * html/HTMLTextAreaElement.h: 48931 48932 2010-02-11 Fumitoshi Ukai <ukai (a] chromium.org> 48933 48934 Reviewed by Alexey Proskuryakov. 48935 48936 WebSocket bufferedAmount should not be 0 when send after close. 48937 https://bugs.webkit.org/show_bug.cgi?id=34633 48938 48939 Test: websocket/tests/bufferedAmount-after-close.html 48940 48941 * websockets/ThreadableWebSocketChannelClientWrapper.h: 48942 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose): 48943 * websockets/WebSocket.cpp: 48944 (WebCore::WebSocket::WebSocket): 48945 (WebCore::WebSocket::send): 48946 (WebCore::WebSocket::close): 48947 (WebCore::WebSocket::bufferedAmount): 48948 (WebCore::WebSocket::didConnect): 48949 (WebCore::WebSocket::didClose): 48950 * websockets/WebSocket.h: 48951 * websockets/WebSocketChannel.cpp: 48952 (WebCore::WebSocketChannel::WebSocketChannel): 48953 (WebCore::WebSocketChannel::send): 48954 (WebCore::WebSocketChannel::bufferedAmount): 48955 (WebCore::WebSocketChannel::didClose): 48956 * websockets/WebSocketChannel.h: 48957 * websockets/WebSocketChannelClient.h: 48958 (WebCore::WebSocketChannelClient::didClose): 48959 * websockets/WorkerThreadableWebSocketChannel.cpp: 48960 (WebCore::workerContextDidClose): 48961 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): 48962 * websockets/WorkerThreadableWebSocketChannel.h: 48963 48964 2010-02-11 Fumitoshi Ukai <ukai (a] chromium.org> 48965 48966 Reviewed by Alexey Proskuryakov. 48967 48968 WebSocket in Worker failed to close 48969 https://bugs.webkit.org/show_bug.cgi?id=34785 48970 48971 Tests: websocket/tests/workers/close-in-shared-worker.html 48972 websocket/tests/workers/close-in-worker.html 48973 48974 * websockets/WorkerThreadableWebSocketChannel.cpp: 48975 (WebCore::WorkerThreadableWebSocketChannel::close): 48976 48977 2010-02-11 Kwang Yul Seo <skyul (a] company100.net> 48978 48979 Reviewed by Eric Seidel. 48980 48981 [BREWMP] Add dummy Cursor 48982 https://bugs.webkit.org/show_bug.cgi?id=34672 48983 48984 * platform/brew/CursorBrew.cpp: Added. 48985 (WebCore::Cursor::Cursor): 48986 (WebCore::Cursor::~Cursor): 48987 (WebCore::Cursor::operator=): 48988 (WebCore::dummyCursor): 48989 (WebCore::pointerCursor): 48990 (WebCore::crossCursor): 48991 (WebCore::handCursor): 48992 (WebCore::moveCursor): 48993 (WebCore::iBeamCursor): 48994 (WebCore::waitCursor): 48995 (WebCore::helpCursor): 48996 (WebCore::eastResizeCursor): 48997 (WebCore::northResizeCursor): 48998 (WebCore::northEastResizeCursor): 48999 (WebCore::northWestResizeCursor): 49000 (WebCore::southResizeCursor): 49001 (WebCore::southEastResizeCursor): 49002 (WebCore::southWestResizeCursor): 49003 (WebCore::westResizeCursor): 49004 (WebCore::northSouthResizeCursor): 49005 (WebCore::eastWestResizeCursor): 49006 (WebCore::northEastSouthWestResizeCursor): 49007 (WebCore::northWestSouthEastResizeCursor): 49008 (WebCore::columnResizeCursor): 49009 (WebCore::rowResizeCursor): 49010 (WebCore::verticalTextCursor): 49011 (WebCore::cellCursor): 49012 (WebCore::contextMenuCursor): 49013 (WebCore::noDropCursor): 49014 (WebCore::copyCursor): 49015 (WebCore::progressCursor): 49016 (WebCore::aliasCursor): 49017 (WebCore::noneCursor): 49018 (WebCore::notAllowedCursor): 49019 (WebCore::zoomInCursor): 49020 (WebCore::zoomOutCursor): 49021 (WebCore::middlePanningCursor): 49022 (WebCore::eastPanningCursor): 49023 (WebCore::northPanningCursor): 49024 (WebCore::northEastPanningCursor): 49025 (WebCore::northWestPanningCursor): 49026 (WebCore::southPanningCursor): 49027 (WebCore::southEastPanningCursor): 49028 (WebCore::southWestPanningCursor): 49029 (WebCore::westPanningCursor): 49030 (WebCore::grabCursor): 49031 (WebCore::grabbingCursor): 49032 49033 2010-02-11 Nate Chapin <japhet (a] chromium.org> 49034 49035 Reviewed by Dimitri Glazkov. 49036 49037 [V8] Add back in a fast path for v8 object wrapping 49038 when it's not possible we're in a WorkerContext (the fast 49039 path is important for performance). 49040 49041 https://bugs.webkit.org/show_bug.cgi?id=34805 49042 49043 * bindings/scripts/CodeGeneratorV8.pm: 49044 * bindings/v8/V8DOMWrapper.cpp: 49045 (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext): 49046 (WebCore::V8DOMWrapper::instantiateV8Object): 49047 * bindings/v8/V8DOMWrapper.h: 49048 49049 2010-02-11 Nikolas Zimmermann <nzimmermann (a] rim.com> 49050 49051 Reviewed by Dirk Schulze. 49052 49053 Small cleanups in SVG render tree code. 49054 Centralize calls to inflateShadow(), in SVGRenderSupport::computeRectForRepaint, 49055 instead of spreading them around the subclasses. All classes should inherit 49056 protected from SVGRenderBase, made it consistent. 49057 49058 Doesn't affect layout tests. 49059 49060 * rendering/RenderSVGImage.cpp: 49061 (WebCore::RenderSVGImage::computeRectForRepaint): 49062 * rendering/RenderSVGImage.h: 49063 * rendering/RenderSVGModelObject.cpp: 49064 (WebCore::RenderSVGModelObject::computeRectForRepaint): 49065 * rendering/RenderSVGRoot.h: 49066 * rendering/RenderSVGText.cpp: 49067 (WebCore::RenderSVGText::computeRectForRepaint): 49068 (WebCore::RenderSVGText::layout): 49069 * rendering/SVGRenderSupport.cpp: 49070 (WebCore::SVGRenderBase::computeRectForRepaint): 49071 * rendering/SVGRootInlineBox.h: 49072 49073 2010-02-11 David Hyatt <hyatt (a] apple.com> 49074 49075 Reviewed by Dan Bernstein. 49076 49077 https://bugs.webkit.org/show_bug.cgi?id=34857 49078 Move InlineIterator and BidiRun into new files so subclasses can access them. 49079 49080 * GNUmakefile.am: 49081 * WebCore.gypi: 49082 * WebCore.pro: 49083 * WebCore.vcproj/WebCore.vcproj: 49084 * WebCore.xcodeproj/project.pbxproj: 49085 * rendering/BidiRun.cpp: Added. 49086 (WebCore::BidiRun::destroy): 49087 (WebCore::throw): 49088 (WebCore::BidiRun::operator delete): 49089 * rendering/BidiRun.h: Added. 49090 (WebCore::BidiRun::BidiRun): 49091 (WebCore::BidiRun::next): 49092 * rendering/InlineIterator.h: Added. 49093 (WebCore::InlineIterator::InlineIterator): 49094 (WebCore::operator==): 49095 (WebCore::operator!=): 49096 (WebCore::bidiNext): 49097 (WebCore::bidiFirst): 49098 (WebCore::InlineIterator::increment): 49099 (WebCore::InlineIterator::atEnd): 49100 (WebCore::InlineIterator::current): 49101 (WebCore::InlineIterator::direction): 49102 (WebCore::InlineBidiResolver::increment): 49103 (WebCore::InlineBidiResolver::appendRun): 49104 * rendering/RenderBlock.h: 49105 * rendering/RenderBlockLineLayout.cpp: 49106 (WebCore::RenderBlock::appendRunsForObject): 49107 (WebCore::RenderBlock::requiresLineBox): 49108 49109 2010-02-11 Steve Block <steveblock (a] google.com> 49110 49111 Reviewed by Dimitri Glazkov. 49112 49113 Fixes CodeGeneratorV8.pm to include the header for the indexer type when using setCollectionIndexedGetter() 49114 https://bugs.webkit.org/show_bug.cgi?id=34836 49115 49116 setCollectionIndexedGetter() uses getIndexedPropertyOfCollection(), 49117 which in turn uses toV8() with the indexer type, which is declared in 49118 the header for the indexer type. 49119 49120 No new tests, build fix only. 49121 49122 * bindings/scripts/CodeGeneratorV8.pm: 49123 49124 2010-02-11 Pavel Feldman <pfeldman (a] chromium.org> 49125 49126 Reviewed by Timothy Hatcher. 49127 49128 Web Inspector: split source code into chunks in order to improve text 49129 viewer performance on large files. 49130 49131 https://bugs.webkit.org/show_bug.cgi?id=34816 49132 49133 This change brings back SourceFrame's canvas+style magic, restores line 49134 wrapping and makes things a lot like they used to be. 49135 It removes TextEditor for now and renames NativeTextViewer into TextViewer. 49136 TextViewer is no longer derived from TextEditor. 49137 This TextViewer is still based on TextEditorModel, no iframes are involved. 49138 49139 Instead of creating div per line, TextViewer splits source code into 50 line 49140 chunks. Upon scroll event, visible chunks are sharded into lines and individual 49141 lines are highlighted. Whenever highlighted region gets outside of the visible 49142 area, highlight spans are thrown away and region is replaced with the original 49143 plain text chunk. 49144 49145 Complex stuff: 49146 - Whenever there is a need to manipulate individual lines (add message bubble / 49147 set breakpoint / reveal / etc.), individual chunks for such lines are created. 49148 - There is also an implicit machinery that is maintaining selection when it 49149 goes beyond the visible area. 49150 - Search occurrences are implemented as artificial spans interweaving 49151 highlighting markup. 49152 49153 * WebCore.gypi: 49154 * WebCore.vcproj/WebCore.vcproj: 49155 * inspector/front-end/NativeTextViewer.js: Removed. 49156 * inspector/front-end/ScriptView.js: 49157 (WebInspector.ScriptView): 49158 * inspector/front-end/Settings.js: 49159 * inspector/front-end/SourceFrame.js: 49160 (WebInspector.SourceFrame): 49161 (WebInspector.SourceFrame.prototype.set visible): 49162 (WebInspector.SourceFrame.prototype.set executionLine): 49163 (WebInspector.SourceFrame.prototype.revealLine): 49164 (WebInspector.SourceFrame.prototype.addBreakpoint): 49165 (WebInspector.SourceFrame.prototype.removeBreakpoint): 49166 (WebInspector.SourceFrame.prototype.addMessage): 49167 (WebInspector.SourceFrame.prototype.clearMessages): 49168 (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): 49169 (WebInspector.SourceFrame.prototype.setContent): 49170 (WebInspector.SourceFrame.prototype.highlightLine): 49171 (WebInspector.SourceFrame.prototype._createViewerIfNeeded): 49172 (WebInspector.SourceFrame.prototype.markAndRevealRange): 49173 (WebInspector.SourceFrame.prototype.clearMarkedRange): 49174 (WebInspector.SourceFrame.prototype._breakpointChanged): 49175 (WebInspector.SourceFrame.prototype._updateExecutionLine): 49176 (WebInspector.SourceFrame.prototype._addMessageToSource): 49177 (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource): 49178 (WebInspector.SourceFrame.prototype._addBreakpointToSource): 49179 (WebInspector.SourceFrame.prototype._removeBreakpointFromSource): 49180 (WebInspector.SourceFrame.prototype._mouseDown): 49181 (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed): 49182 (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed): 49183 (WebInspector.SourceFrame.prototype._editBreakpointCondition): 49184 (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup): 49185 (WebInspector.SourceFrame.prototype._createConditionElement): 49186 (WebInspector.SourceFrame.prototype._keyDown): 49187 (WebInspector.SourceFrame.prototype.resize): 49188 (WebInspector.SourceFrame.prototype._drawProgramCounterInContext): 49189 (WebInspector.SourceFrame.prototype._drawProgramCounterImageIfNeeded): 49190 (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint): 49191 (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded): 49192 * inspector/front-end/SourceView.js: 49193 (WebInspector.SourceView): 49194 (WebInspector.SourceView.prototype._removeBreakpoint): 49195 (WebInspector.SourceView.prototype.searchCanceled): 49196 (WebInspector.SourceView.prototype._jumpToSearchResult): 49197 * inspector/front-end/TextEditor.js: Removed. 49198 * inspector/front-end/TextViewer.js: Added. 49199 (WebInspector.TextViewer): 49200 (WebInspector.TextViewer.prototype.set mimeType): 49201 (WebInspector.TextViewer.prototype.get textModel): 49202 (WebInspector.TextViewer.prototype.revealLine): 49203 (WebInspector.TextViewer.prototype.addDecoration): 49204 (WebInspector.TextViewer.prototype.removeDecoration): 49205 (WebInspector.TextViewer.prototype.markAndRevealRange): 49206 (WebInspector.TextViewer.prototype.highlightLine): 49207 (WebInspector.TextViewer.prototype._textChanged): 49208 (WebInspector.TextViewer.prototype._createChunkRow): 49209 (WebInspector.TextViewer.prototype._makeLineAChunk): 49210 (WebInspector.TextViewer.prototype._indexChunks): 49211 (WebInspector.TextViewer.prototype._highlightChanged): 49212 (WebInspector.TextViewer.prototype._scroll): 49213 (WebInspector.TextViewer.prototype.setCoalescingUpdate): 49214 (WebInspector.TextViewer.prototype._repaintAll): 49215 (WebInspector.TextViewer.prototype._chunkForOffset): 49216 (WebInspector.TextViewer.prototype._chunkNumberForLine): 49217 (WebInspector.TextViewer.prototype._chunkStartLine): 49218 (WebInspector.TextViewer.prototype._restoreChunks): 49219 (WebInspector.TextViewer.prototype._repaint): 49220 (WebInspector.TextViewer.prototype._getSelection): 49221 (WebInspector.TextViewer.prototype._restoreSelection): 49222 (WebInspector.TextViewer.prototype._selectionToPosition): 49223 (WebInspector.TextViewer.prototype._createLineRow): 49224 (WebInspector.TextViewer.prototype._paintLine): 49225 (WebInspector.TextViewer.prototype._createSpan): 49226 (WebInspector.TextViewer.prototype._createLink): 49227 (WebInspector.TextViewer.prototype._rewriteHref): 49228 (WebInspector.TextViewer.prototype._markRange): 49229 (WebInspector.TextViewer.prototype._decimalDigits): 49230 (WebInspector.TextViewer.prototype.resize): 49231 * inspector/front-end/WebKit.qrc: 49232 * inspector/front-end/inspector.css: 49233 * inspector/front-end/inspector.html: 49234 * inspector/front-end/textEditor.css: Removed. 49235 * inspector/front-end/textViewer.css: Added. 49236 * inspector/front-end/utilities.js: 49237 (Node.prototype.traverseNextTextNode): 49238 (Node.prototype.rangeBoundaryForOffset): 49239 49240 2010-02-11 Csaba Osztrogonc <ossy (a] webkit.org> 49241 49242 Reviewed by Tor Arne Vestb. 49243 49244 [Qt] ENABLE_RUBY flag was restored by r54649, but default value wasn't added for Qt port. 49245 https://bugs.webkit.org/show_bug.cgi?id=34698 49246 49247 * WebCore.pri: Add ENABLE_RUBY=1 as default setting. 49248 49249 2010-02-11 Steve Block <steveblock (a] google.com> 49250 49251 Reviewed by Jeremy Orlow. 49252 49253 Updates Android V8 Makefile to generate Notifications and WebSockets headers required by V8DOMWrapper.cpp 49254 https://bugs.webkit.org/show_bug.cgi?id=34815 49255 49256 No new tests, build fix only. 49257 49258 * Android.derived.v8bindings.mk: 49259 49260 2010-02-11 Steve Block <steveblock (a] google.com> 49261 49262 Reviewed by Jeremy Orlow. 49263 49264 Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp 49265 https://bugs.webkit.org/show_bug.cgi?id=34814 49266 49267 No new tests, build fix only. 49268 49269 * Android.derived.v8bindings.mk: 49270 49271 2010-02-11 Steve Block <steveblock (a] google.com> 49272 49273 Reviewed by Nate Chapin. 49274 49275 Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp 49276 https://bugs.webkit.org/show_bug.cgi?id=34806 49277 49278 No new tests, build fix only. 49279 49280 * Android.derived.v8bindings.mk: 49281 49282 2010-02-11 Steve Block <steveblock (a] google.com> 49283 49284 Reviewed by David Levin. 49285 49286 Guards SVG code in V8 bindings with ENABLE(SVG) 49287 https://bugs.webkit.org/show_bug.cgi?id=34812 49288 49289 Also updates Android V8 Makefile to generate required SVG headers. 49290 49291 No new tests, build fix only. 49292 49293 * Android.derived.v8bindings.mk: 49294 * bindings/v8/custom/V8CSSValueCustom.cpp: 49295 (WebCore::toV8): 49296 * bindings/v8/custom/V8DocumentCustom.cpp: 49297 (WebCore::toV8): 49298 * bindings/v8/custom/V8ElementCustom.cpp: 49299 (WebCore::toV8): 49300 49301 2010-02-08 Maciej Stachowiak <mjs (a] apple.com> 49302 49303 Reviewed by Cameron Zwarich. 49304 49305 Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose. 49306 https://bugs.webkit.org/show_bug.cgi?id=34698 49307 49308 * Configurations/FeatureDefines.xcconfig: 49309 * DerivedSources.make: 49310 * GNUmakefile.am: 49311 * html/HTMLTagNames.in: Make the ruby-related tag names conditional. 49312 * rendering/RenderObject.cpp: 49313 (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements. 49314 * rendering/RenderObject.h: ditto above 49315 * rendering/RenderRuby.cpp: ifdef this whole file 49316 * rendering/RenderRuby.h: ditto 49317 * rendering/RenderRubyBase.cpp: ditto 49318 * rendering/RenderRubyBase.h: ditto 49319 * rendering/RenderRubyRun.cpp: ditto 49320 * rendering/RenderRubyRun.h: ditto 49321 * rendering/RenderRubyText.cpp: ditto 49322 * rendering/RenderRubyText.h: ditto 49323 49324 2010-02-11 Kent Tamura <tkent (a] chromium.org> 49325 49326 Reviewed by Darin Adler. 49327 49328 Step attribute support for date&time types. 49329 https://bugs.webkit.org/show_bug.cgi?id=30847 49330 49331 - Add implementation for ValidityState.stepMismatch, stepUp() and 49332 stepDown() for date, datetime, datetime-local, month, time, week types. 49333 - Fix string representation of DateComponents. 49334 49335 Tests: fast/forms/ValidityState-stepMismatch.html 49336 fast/forms/input-stepup-stepdown.html 49337 49338 * html/HTMLInputElement.cpp: 49339 - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow. 49340 (WebCore::HTMLInputElement::stepBase): 49341 (WebCore::HTMLInputElement::stepMismatch): 49342 (WebCore::HTMLInputElement::getStepParameters): 49343 (WebCore::HTMLInputElement::getAllowedValueStep): 49344 (WebCore::HTMLInputElement::applyStep): 49345 Renamed from applyStepForNumberOrRange(), and add support for other types. 49346 (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange(). 49347 (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange(). 49348 (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue(). 49349 (WebCore::HTMLInputElement::setDateValue): 49350 A helper function to make the best representation of DateComponents. 49351 (WebCore::HTMLInputElement::setValueAsNumber): Use setDateValue(). 49352 * html/HTMLInputElement.h: 49353 49354 2010-02-10 Oliver Hunt <oliver (a] apple.com> 49355 49356 Reviewed by Gavin Barraclough. 49357 49358 postMessage does not send ImageData 49359 https://bugs.webkit.org/show_bug.cgi?id=34825 49360 49361 Implement serialisation of ImageData, and for testing reasons 49362 expose the ImageData constructor (which should already have 49363 been exposed). 49364 49365 * bindings/js/SerializedScriptValue.cpp: 49366 (WebCore::SerializedImageData::create): 49367 (WebCore::SerializedImageData::width): 49368 (WebCore::SerializedImageData::height): 49369 (WebCore::SerializedImageData::data): 49370 (WebCore::SerializedImageData::SerializedImageData): 49371 (WebCore::SerializedScriptValueData::SerializedScriptValueData): 49372 (WebCore::SharedSerializedData::asImageData): 49373 (WebCore::SerializingTreeWalker::convertIfTerminal): 49374 (WebCore::DeserializingTreeWalker::convertIfTerminal): 49375 (WebCore::TeardownTreeWalker::convertIfTerminal): 49376 * bindings/js/SerializedScriptValue.h: 49377 (WebCore::SerializedScriptValueData::): 49378 (WebCore::SerializedScriptValueData::asImageData): 49379 * html/canvas/CanvasPixelArray.h: 49380 (WebCore::CanvasPixelArray::data): 49381 * page/DOMWindow.idl: 49382 49383 2010-02-10 Adam Barth <abarth (a] webkit.org> 49384 49385 Reviewed by Darin Adler. 49386 49387 Address last round of review comments on r53607 49388 https://bugs.webkit.org/show_bug.cgi?id=33940 49389 49390 Mostly renaming and cleaning up. 49391 49392 * css/CSSImportRule.cpp: 49393 (WebCore::CSSImportRule::insertedIntoParent): 49394 * css/CSSStyleSheet.h: 49395 (WebCore::CSSStyleSheet::create): 49396 (WebCore::CSSStyleSheet::createInline): 49397 * css/StyleBase.cpp: 49398 (WebCore::StyleBase::baseURL): 49399 * css/StyleSheet.cpp: 49400 (WebCore::StyleSheet::StyleSheet): 49401 * css/StyleSheet.h: 49402 (WebCore::StyleSheet::href): 49403 (WebCore::StyleSheet::setFinalURL): 49404 (WebCore::StyleSheet::finalURL): 49405 * dom/Document.cpp: 49406 (WebCore::Document::updateBaseURL): 49407 * dom/ProcessingInstruction.cpp: 49408 (WebCore::ProcessingInstruction::checkStyleSheet): 49409 * xml/XSLImportRule.cpp: 49410 (WebCore::XSLImportRule::loadSheet): 49411 * xml/XSLStyleSheet.h: 49412 (WebCore::XSLStyleSheet::create): 49413 (WebCore::XSLStyleSheet::createInline): 49414 * xml/XSLStyleSheetLibxslt.cpp: 49415 (WebCore::XSLStyleSheet::XSLStyleSheet): 49416 (WebCore::XSLStyleSheet::parseString): 49417 (WebCore::XSLStyleSheet::loadChildSheets): 49418 * xml/XSLStyleSheetQt.cpp: 49419 (WebCore::XSLStyleSheet::XSLStyleSheet): 49420 49421 2010-02-10 Noam Rosenthal <noam.rosenthal (a] nokia.com> 49422 49423 Reviewed by Ariya Hidayat. 49424 49425 [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation 49426 This is because we try to delete the animation when finished: that is 49427 unnecessary. WebCore manages the animation's lifecycle and makes sure 49428 to call the right function when the animation can be deleted. 49429 49430 https://bugs.webkit.org/show_bug.cgi?id=34761 49431 49432 No new tests. 49433 49434 * platform/graphics/qt/GraphicsLayerQt.cpp: 49435 (WebCore::GraphicsLayerQt::addAnimation): No need to delete here 49436 (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater 49437 49438 2010-02-10 Kevin Ollivier <kevino (a] theolliviers.com> 49439 49440 [wx] Build fix for wxMac/Cocoa. 49441 49442 * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed. 49443 * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp. 49444 * wscript: 49445 49446 2010-02-10 Jon Honeycutt <jhoneycutt (a] apple.com> 49447 49448 REGRESSION(24929): PDF page doesn't load in background tab 49449 49450 Reviewed by Dan Bernstein. 49451 49452 * plugins/PluginView.cpp: 49453 (WebCore::PluginView::startOrAddToUnstartedList): 49454 Only delay loading of the plug-in if we'll kick off our own load of the 49455 plug-in data later, in start(). 49456 49457 2010-02-10 Enrica Casucci <enrica (a] apple.com> 49458 49459 Reviewed by Simon Fraser. 49460 49461 Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site 49462 <rdar://problem/7557201> 49463 https://bugs.webkit.org/show_bug.cgi?id=34823 49464 49465 No tests added because the code is exercised by the existing tests. 49466 49467 The root cause was the fact that we were not releasing a reference that was held by CA. 49468 In debug builds we had an assert in the destructor of WKCACFLayer. 49469 49470 * platform/graphics/win/GraphicsLayerCACF.cpp: 49471 (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF): 49472 49473 2010-02-10 Kwang Yul Seo <skyul (a] company100.net> 49474 49475 Reviewed by Eric Seidel. 49476 49477 [BREWMP] Typedef DragImageRef 49478 https://bugs.webkit.org/show_bug.cgi?id=34791 49479 49480 Use IImage* as it is the BREW's image type. 49481 49482 * platform/DragImage.h: 49483 49484 2010-02-10 Beth Dakin <bdakin (a] apple.com> 49485 49486 Reviewed by Simon Fraser and Darin Adler. 49487 49488 Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: 49489 Mask not invalidating 49490 49491 SVGMaskElement is the only class that keeps a HashMap of canvas 49492 resources rather than just a pointer to a resource. This 49493 patch makes SVGMaskElement invalidate all of its resources in the 49494 HashMap instead of just one. 49495 49496 * svg/SVGMaskElement.cpp: 49497 (WebCore::SVGMaskElement::svgAttributeChanged): 49498 (WebCore::SVGMaskElement::childrenChanged): 49499 (WebCore::SVGMaskElement::invalidateCanvasResources): 49500 * svg/SVGMaskElement.h: 49501 * svg/SVGStyledElement.cpp: 49502 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): 49503 (WebCore::SVGStyledElement::invalidateCanvasResources): 49504 * svg/SVGStyledElement.h: 49505 49506 2010-02-10 Stephan Amus <superstippi (a] gmx.de> 49507 49508 Reviewed by David Levin. 49509 49510 Fixes to rect conversion and image rendering on Haiku 49511 https://bugs.webkit.org/show_bug.cgi?id=34684 49512 49513 Covered by existing tests. 49514 49515 The changes to the rect conversions are indeed correct. In Haiku (to stay 49516 compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel 49517 *indices*, even though the values are floating point. So a rectangle covering 49518 just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other 49519 frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the 49520 width and height of rectangles refer to the distance between pixels, while on 49521 Haiku, a one pixel rect has indeed a width and height of 0, as confusing as 49522 that may be. 49523 49524 The part of the patch that affects 49525 WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing 49526 methods more correctly. Image observers are notified, and pattern drawing takes 49527 the "phase" into account which makes scrolled backgrounds render correctly. 49528 Transformations are still not supported, since the Haiku drawing backend itself 49529 does not yet support them. 49530 49531 Use OwnPtr when creating the BBitmap to avoid future leaks with early returns. 49532 49533 Convert the bitmap data to non pre-multiplied until Haiku supports drawing 49534 pre-multiplied bitmaps. 49535 49536 * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion 49537 * platform/graphics/haiku/ImageHaiku.cpp: 49538 (WebCore::BitmapImage::draw): Fixed placement, notify observers 49539 (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers 49540 * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion 49541 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion 49542 49543 2010-02-10 Simon Fraser <simon.fraser (a] apple.com> 49544 49545 Reviewed by David Levin. 49546 49547 Clean up unused member var and initialization in Document 49548 https://bugs.webkit.org/show_bug.cgi?id=34820 49549 49550 Remove unused m_secureForms member variable in Document. 49551 49552 * dom/Document.cpp: 49553 (WebCore::Document::Document): 49554 * dom/Document.h: 49555 49556 2010-02-10 Kevin Watters <kevinwatters (a] gmail.com> 49557 49558 Reviewed by Kevin Ollivier. 49559 49560 [wx] Add Windows complex text support and Mac support for containsCharacters. 49561 49562 https://bugs.webkit.org/show_bug.cgi?id=34759 49563 49564 * platform/graphics/SimpleFontData.h: 49565 * platform/graphics/wx/FontPlatformData.h: 49566 (WebCore::FontPlatformData::roundsGlyphAdvances): 49567 * platform/graphics/wx/FontPlatformDataWx.cpp: 49568 (WebCore::FontPlatformData::useGDI): 49569 (WebCore::FontPlatformData::hfont): 49570 * platform/graphics/wx/FontWx.cpp: 49571 (WebCore::Font::canReturnFallbackFontsForComplexText): 49572 (WebCore::Font::selectionRectForComplexText): 49573 (WebCore::Font::drawComplexText): 49574 (WebCore::Font::floatWidthForComplexText): 49575 (WebCore::Font::offsetForPositionForComplexText): 49576 * platform/graphics/wx/SimpleFontDataWx.cpp: 49577 (WebCore::SimpleFontData::platformInit): 49578 (WebCore::SimpleFontData::platformDestroy): 49579 (WebCore::SimpleFontData::containsCharacters): 49580 (WebCore::SimpleFontData::platformWidthForGlyph): 49581 (WebCore::SimpleFontData::scriptFontProperties): 49582 (WebCore::SimpleFontData::initGDIFont): 49583 (WebCore::SimpleFontData::platformCommonDestroy): 49584 (WebCore::SimpleFontData::widthForGDIGlyph): 49585 * platform/wx/wxcode/fontprops.h: 49586 * platform/wx/wxcode/gtk/fontprops.cpp: 49587 (wxFontContainsCharacters): 49588 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 49589 (wxFontContainsCharacters): 49590 * platform/wx/wxcode/win/fontprops.cpp: 49591 (wxFontContainsCharacters): 49592 * platform/wx/wxcode/win/non-kerned-drawing.cpp: 49593 (WebCore::drawTextWithSpacing): 49594 * wscript: 49595 49596 2010-02-10 Kwang Yul Seo <skyul (a] company100.net> 49597 Reviewed by Eric Seidel. 49598 49599 [BREWMP] Add dummy Frame::dragImageForSelection 49600 https://bugs.webkit.org/show_bug.cgi?id=34792 49601 49602 Add FrameBrew.cpp which contains a dummy implementation of 49603 Frame::dragImageForSelection. 49604 49605 * page/brew/FrameBrew.cpp: Added. 49606 (WebCore::Frame::dragImageForSelection): 49607 49608 2010-02-10 Kevin Ollivier <kevino (a] theolliviers.com> 49609 49610 [wx] Build fix. Switch drawPattern to Image class like other platforms. 49611 49612 * platform/graphics/BitmapImage.h: 49613 * platform/graphics/wx/ImageWx.cpp: 49614 (WebCore::Image::drawPattern): 49615 49616 2010-02-10 Chris Marrin <cmarrin (a] apple.com> 49617 49618 Reviewed by Darin Adler. 49619 49620 Added CA_PRINT_TREE functionality to WKCACFLayer implementation 49621 https://bugs.webkit.org/show_bug.cgi?id=34779 49622 49623 I've tried to duplicate the look of the output on Mac, but 49624 it's not quite the same. It shows all the useful information though. 49625 It is enabled by setting the environment variable CA_PRINT_TREE=1 49626 49627 * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree 49628 (WebCore::WKCACFLayer::isTransformLayer): 49629 Moved function to cpp file because it needs to use the function form 49630 of kCACFTransformLayer because the DLL is delay loaded, and that function 49631 can only be called from the cpp file. 49632 (WebCore::WKCACFLayer::sublayerAtIndex): 49633 (WebCore::printIndent): 49634 (WebCore::printTransform): 49635 (WebCore::WKCACFLayer::printTree):Prints from this layer down 49636 (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers 49637 * platform/graphics/win/WKCACFLayer.h: 49638 * platform/graphics/win/WKCACFLayerRenderer.cpp: 49639 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): 49640 (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers 49641 (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1 49642 * platform/graphics/win/WKCACFLayerRenderer.h: 49643 49644 2010-02-10 Nate Chapin <japhet (a] chromium.org> 49645 49646 Reviewed by Adam Barth. 49647 49648 Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate() 49649 to not use V8ClassIndex. 49650 49651 https://bugs.webkit.org/show_bug.cgi?id=34768 49652 49653 * bindings/scripts/CodeGeneratorV8.pm: 49654 * bindings/v8/V8Binding.cpp: 49655 * bindings/v8/V8Binding.h: 49656 * bindings/v8/V8DOMWindowShell.cpp: 49657 * bindings/v8/V8DOMWrapper.cpp: 49658 * bindings/v8/V8DOMWrapper.h: 49659 * bindings/v8/V8Proxy.cpp: 49660 * bindings/v8/WorkerContextExecutionProxy.cpp: 49661 * bindings/v8/custom/V8DOMWindowCustom.cpp: 49662 * bindings/v8/custom/V8LocationCustom.cpp: 49663 * bindings/v8/custom/V8MessageEventCustom.cpp: 49664 49665 2010-02-10 Nate Chapin <japhet (a] chromium.org> 49666 49667 Reviewed by Dimitri Glazkov. 49668 49669 [V8] Handle the possibility that ScheduledAction::execute() may 49670 retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if 49671 JS was disallowed). 49672 49673 * bindings/v8/ScheduledAction.cpp: 49674 (WebCore::ScheduledAction::execute): 49675 49676 2010-02-10 Kenneth Russell <kbr (a] google.com> 49677 49678 Reviewed by Oliver Hunt. 49679 49680 Remove automatic viewport resizing 49681 https://bugs.webkit.org/show_bug.cgi?id=34766 49682 49683 Removed automatic viewport resizing per conclusions on the WebGL 49684 mailing list. Added test verifying new behavior and updated a 49685 couple of previous tests failing after this change. 49686 49687 Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html 49688 49689 * platform/graphics/mac/GraphicsContext3DMac.cpp: 49690 (WebCore::GraphicsContext3D::reshape): 49691 49692 2010-02-10 Ariya Hidayat <ariya.hidayat (a] gmail.com> 49693 49694 Reviewed by Kenneth Rohde Christiansen. 49695 49696 [Qt] Implement image interpolation quality. 49697 49698 https://bugs.webkit.org/show_bug.cgi?id=34629 49699 49700 * platform/graphics/qt/GraphicsContextQt.cpp: 49701 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 49702 (WebCore::GraphicsContext::setImageInterpolationQuality): 49703 (WebCore::GraphicsContext::imageInterpolationQuality): 49704 49705 2010-02-10 Eric Seidel <eric (a] webkit.org> 49706 49707 No review, Mac build fix. 49708 49709 Crash in Flash at http://www.cctv.com/ 49710 https://bugs.webkit.org/show_bug.cgi?id=34673 49711 49712 * plugins/PluginViewNone.cpp: 49713 (WebCore::PluginView::getValueStatic): 49714 49715 2010-02-10 Gustavo Noronha Silva <gns (a] gnome.org> 49716 49717 Reviewed by Xan Lopez. 49718 49719 [GTK] Hits assertion on history back, with page cache enabled, in specific conditions 49720 https://bugs.webkit.org/show_bug.cgi?id=34773 49721 49722 When unsetting the adjustments from a ScrollView, also disconnect 49723 them from the Scrollbars. 49724 49725 Test: fast/frames/frame-crash-with-page-cache.html 49726 49727 * platform/gtk/ScrollViewGtk.cpp: 49728 (WebCore::ScrollView::setGtkAdjustments): 49729 * platform/gtk/ScrollbarGtk.cpp: 49730 (ScrollbarGtk::~ScrollbarGtk): 49731 (ScrollbarGtk::detachAdjustment): 49732 * platform/gtk/ScrollbarGtk.h: 49733 49734 2010-02-09 Alexey Proskuryakov <ap (a] apple.com> 49735 49736 Reviewed by Geoffrey Garen. 49737 49738 https://bugs.webkit.org/show_bug.cgi?id=34490 49739 WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions 49740 49741 Test: fast/images/destroyed-image-load-event.html 49742 49743 * ForwardingHeaders/wtf/ValueCheck.h: Added. 49744 49745 * loader/ImageLoader.cpp: 49746 (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements, 49747 so check the owner instead. 49748 (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor. 49749 (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers 49750 in ImageEventSender. 49751 (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous 49752 image. The only client using this method that I could find was DeleteButton, which doesn't 49753 care about load events for the new image, so I didn't add any code for firing those. 49754 (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers - 49755 there wasn't any meaningful code shared (callers just undid most assignments made there). 49756 Merged the logic into callers. 49757 (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its 49758 old events, too. 49759 (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case 49760 no one is going to dispatch the event "soon". So, don't queue it. 49761 (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't 49762 help catch this particuar bug, but seems like a useful check anyway. 49763 49764 * loader/ImageLoader.h: Removed setLoadingImage(). 49765 49766 2010-02-10 Jon Honeycutt <jhoneycutt (a] apple.com> 49767 49768 Mac build fix. Unreviewed. 49769 49770 * WebCore.xcodeproj/project.pbxproj: 49771 Add PluginViewNone.cpp to the Mac project. 49772 49773 2010-02-10 Adam Roben <aroben (a] apple.com> 49774 49775 Optimize ImageBuffer::toDataURL's CG implementation 49776 49777 There was some unused code that could have been removed in r31830 when 49778 this function was changed not to flip the CG image anymore. 49779 49780 Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates 49781 unnecessary memory under CoreGraphics 49782 49783 Reviewed by Sam Weinig. 49784 49785 * platform/graphics/cg/ImageBufferCG.cpp: 49786 (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef 49787 and buffer, and switch to the new overload of base64Encode that 49788 doesn't require us to copy all the image data into a Vector first. 49789 49790 * platform/text/Base64.cpp: 49791 (WebCore::base64Encode): 49792 * platform/text/Base64.h: 49793 Added an overload that takes a raw data pointer and length, just like 49794 we have for base64Decode. The overload that takes a Vector as input 49795 just calls through to the new overload. 49796 49797 2010-02-10 Dan Bernstein <mitz (a] apple.com> 49798 49799 Reviewed by Dave Hyatt. 49800 49801 Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through 49802 https://bugs.webkit.org/show_bug.cgi?id=34546 49803 49804 * manual-tests/drag-image-table-part-decorations.html: 49805 * rendering/RenderTableCell.cpp: 49806 (WebCore::RenderTableCell::paint): Dont paint collapsed borders if this object shouldnt 49807 paint within the current painting root. 49808 49809 2010-02-08 Jon Honeycutt <jhoneycutt (a] apple.com> 49810 49811 <rdar://problem/7436875> Crash in Flash when visiting 49812 http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260] 49813 49814 Reviewed by Darin Adler. 49815 49816 Test: platform/win/plugins/plugin-delayed-destroy.html 49817 49818 * bridge/NP_jsobject.cpp: 49819 (_NPN_Evaluate): 49820 If Flash calls this to evaluate a script that destroys the PluginView, 49821 we crash when returning to Flash code. Before evaluating the script, 49822 call PluginView::keepAlive() to hold a ref to this instance (and release 49823 it asynchronously). 49824 49825 * plugins/PluginView.cpp: 49826 (WebCore::instanceMap): 49827 Return a map from the NPP to the PluginView. 49828 (WebCore::PluginView::~PluginView): 49829 Assert that the keep alive timer is not running; remove ourselves from 49830 the instance map. 49831 (WebCore::PluginView::performRequest): 49832 The parent Frame is now a RefPtr; use .get(). 49833 (WebCore::PluginView::status): 49834 Ditto. 49835 (WebCore::PluginView::didReceiveResponse): 49836 Ditto. 49837 (WebCore::PluginView::PluginView): 49838 Add the view to the instance map. 49839 (WebCore::PluginView::lifeSupportTimerFired): 49840 Deref the PluginView. 49841 (WebCore::PluginView::keepAlive): 49842 Ref the PluginView, then start a time to release the reference 49843 asynchronously. 49844 (WebCore::PluginView::keepAlive): 49845 Find the PluginView in the map, and call its keepAlive() function. 49846 49847 * plugins/PluginView.h: 49848 Made m_parentFrame a RefPtr, so that it will remain valid when the 49849 keep alive timer fires. 49850 (WebCore::PluginView::parentFrame): 49851 Use .get(). 49852 49853 * plugins/gtk/PluginViewGtk.cpp: 49854 (WebCore::PluginView::updatePluginWidget): 49855 Use .get(). 49856 (WebCore::PluginView::handleKeyboardEvent): 49857 Use .get(). 49858 (WebCore::PluginView::handleMouseEvent): 49859 Use .get(). 49860 49861 * plugins/PluginViewNone.cpp: 49862 (WebCore::PluginView::keepAlive): 49863 Stubbed. 49864 49865 2010-02-10 Jesus Sanchez-Palencia <jesus.palencia (a] openbossa.org> 49866 49867 Reviewed by Kenneth Rohde Christiansen. 49868 49869 Support frameset flattening 49870 https://bugs.webkit.org/show_bug.cgi?id=32717 49871 49872 Add support for enabling/disabling FrameSet Flattening on the Mac port. 49873 49874 * WebCore.base.exp: 49875 49876 2010-02-10 Jeremy Orlow <jorlow (a] chromium.org> 49877 49878 Revert 54599 because it breaks a lot of tests on Windows Chrome 49879 49880 * inspector/front-end/DOMAgent.js: 49881 (WebInspector.DOMNode.prototype._insertChild): 49882 * inspector/front-end/ElementsPanel.js: 49883 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): 49884 * inspector/front-end/ElementsTreeOutline.js: 49885 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): 49886 (WebInspector.ElementsTreeElement): 49887 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): 49888 (WebInspector.ElementsTreeElement.prototype._updateChildren): 49889 (): 49890 * inspector/front-end/inspector.css: 49891 49892 2010-02-10 Adam Roben <aroben (a] apple.com> 49893 49894 Fix bad paths in WebCore.vcproj 49895 49896 These were harmless in VS2005, but cause project conversion errors in 49897 VS2010 RC. 49898 49899 Fixes <http://webkit.org/b/34801>. 49900 49901 Reviewed by Dan Bernstein. 49902 49903 * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to 49904 JSHTMLFrameSetElement.{cpp,h}. 49905 49906 2010-02-10 Julien Chaffraix <jchaffraix (a] webkit.org> 49907 49908 Not reviewed (build fix). 49909 49910 * platform/graphics/win/FontCacheWin.cpp: 49911 (WebCore::FontCache::getLastResortFallbackFont): Return a 49912 SimpleFontData here. 49913 49914 2010-02-10 Julien Chaffraix <jchaffraix (a] pleyo.com> 49915 49916 Reviewed by Eric Seidel. 49917 49918 Bug 23287 - Avoid using FontPlatformData outside the FontCache 49919 49920 No functional change, only refactored the code using FontPlatformData to use SimpleFontData. 49921 49922 This change leaves the class FontCached as it needs some thoughts and more refactoring. 49923 49924 * css/CSSFontFaceSource.cpp: 49925 (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly. 49926 * css/CSSFontSelector.cpp: 49927 (WebCore::fontDataForGenericFamily): Ditto. 49928 * platform/graphics/FontCache.cpp: 49929 (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData 49930 that was moved in the private section of the class. It calls getCachedFontPlatformData and cache 49931 the returned FontPlatformData if it is not null. 49932 (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData. 49933 * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a 49934 FontPlatformData. Moved some method in the private sections. 49935 49936 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 49937 (WebCore::FontCache::getSimilarFontPlatformData): 49938 (WebCore::FontCache::getLastResortFallbackFont): 49939 * platform/graphics/chromium/FontCacheLinux.cpp: 49940 (WebCore::FontCache::getSimilarFontPlatformData): 49941 (WebCore::FontCache::getLastResortFallbackFont): 49942 * platform/graphics/gtk/FontCacheGtk.cpp: 49943 (WebCore::FontCache::getSimilarFontPlatformData): 49944 (WebCore::FontCache::getLastResortFallbackFont): 49945 * platform/graphics/haiku/FontCacheHaiku.cpp: 49946 (WebCore::FontCache::getSimilarFontPlatformData): 49947 (WebCore::FontCache::getLastResortFallbackFont): 49948 * platform/graphics/qt/FontCacheQt.cpp: 49949 (WebCore::FontCache::getLastResortFallbackFont): 49950 * platform/graphics/win/FontCacheWin.cpp: 49951 (WebCore::FontCache::getSimilarFontPlatformData): 49952 (WebCore::FontCache::getLastResortFallbackFont): 49953 * platform/graphics/wince/FontCacheWince.cpp: 49954 * platform/graphics/wx/FontCacheWx.cpp: 49955 (WebCore::FontCache::getSimilarFontPlatformData): 49956 (WebCore::FontCache::getLastResortFallbackFont): 49957 Updated all the previous platform methods to return a SimpleFontData. 49958 49959 * platform/graphics/mac/FontCacheMac.mm: 49960 (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData. 49961 (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code 49962 and moved a DEFINE_STATIC_LOCAL where it is needed. 49963 49964 2010-02-10 Alexander Pavlov <apavlov (a] chromium.org> 49965 49966 Reviewed by Pavel Feldman. 49967 49968 Web Inspector: Elements Panel: Limit the number of initially loaded element children 49969 https://bugs.webkit.org/show_bug.cgi?id=34421 49970 49971 Test: inspector/elements-panel-limited-children.html 49972 49973 * English.lproj/localizedStrings.js: 49974 * inspector/front-end/DOMAgent.js: 49975 (WebInspector.DOMNode.prototype._insertChild): 49976 * inspector/front-end/ElementsPanel.js: 49977 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): 49978 * inspector/front-end/ElementsTreeOutline.js: 49979 (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor): 49980 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): 49981 (WebInspector.ElementsTreeElement): 49982 (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit): 49983 (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit): 49984 (WebInspector.ElementsTreeElement.prototype.get expandedChildCount): 49985 (WebInspector.ElementsTreeElement.prototype.showChild): 49986 (WebInspector.ElementsTreeElement.prototype.insertChildElement): 49987 (WebInspector.ElementsTreeElement.prototype.moveChild): 49988 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): 49989 (WebInspector.ElementsTreeElement.prototype._updateChildren): 49990 (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange): 49991 (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren): 49992 (): 49993 * inspector/front-end/inspector.css: 49994 49995 2010-02-10 Mikhail Naganov <mnaganov (a] chromium.org> 49996 49997 Reviewed by Pavel Feldman. 49998 49999 Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for 50000 making JavaScriptDebugServer engine-agnostic. 50001 50002 https://bugs.webkit.org/show_bug.cgi?id=34795 50003 50004 * GNUmakefile.am: 50005 * WebCore.gypi: 50006 * WebCore.pro: 50007 * WebCore.xcodeproj/project.pbxproj: 50008 * bindings/js/JSBindingsAllInOne.cpp: 50009 * bindings/js/ScriptDebugServer.cpp: Added. 50010 (WebCore::ScriptDebugServer::recompileAllJSFunctions): 50011 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon): 50012 * bindings/js/ScriptDebugServer.h: Added. 50013 * bindings/v8/ScriptDebugServer.cpp: Added. 50014 (WebCore::ScriptDebugServer::recompileAllJSFunctions): 50015 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon): 50016 * bindings/v8/ScriptDebugServer.h: Added. 50017 * inspector/InspectorController.cpp: 50018 (WebCore::InspectorController::startUserInitiatedProfiling): 50019 (WebCore::InspectorController::enableProfiler): 50020 (WebCore::InspectorController::disableProfiler): 50021 * page/Console.cpp: 50022 (WebCore::Console::profile): 50023 (WebCore::Console::profileEnd): 50024 50025 2009-10-06 Yongjun Zhang <yongjun.zhang (a] nokia.com> 50026 50027 Reviewed by Simon Hausmann. 50028 50029 Make JObjectWrapper::ref() and deref() public accessible to derefIfNull(). 50030 50031 Will be reverted when the following winscw compiler bug is fixed. 50032 https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812 50033 50034 https://bugs.webkit.org/show_bug.cgi?id=28054 50035 50036 * bridge/jni/jsc/JavaInstanceJSC.h: 50037 * bridge/jni/v8/JavaInstanceV8.h: 50038 50039 2010-02-10 Yaar Schnitman <yaar (a] chromium.org> 50040 50041 Reviewed by Adam Barth. 50042 50043 Simplified RuntimeEnabledFeatures and corresponding v8 generated code 50044 https://bugs.webkit.org/show_bug.cgi?id=34667 50045 50046 * WebCore.gypi: 50047 * bindings/generic/RuntimeEnabledFeatures.cpp: Added. 50048 (WebCore::RuntimeEnabledFeatures::audioEnabled): 50049 (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled): 50050 (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled): 50051 (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled): 50052 (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled): 50053 (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled): 50054 (WebCore::RuntimeEnabledFeatures::webSocketEnabled): 50055 (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled): 50056 * bindings/generic/RuntimeEnabledFeatures.h: Added. 50057 (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled): 50058 (WebCore::RuntimeEnabledFeatures::localStorageEnabled): 50059 (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled): 50060 (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled): 50061 (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled): 50062 (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled): 50063 (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled): 50064 (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled): 50065 (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled): 50066 (WebCore::RuntimeEnabledFeatures::geolocationEnabled): 50067 (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled): 50068 (WebCore::RuntimeEnabledFeatures::indexedDBEnabled): 50069 (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures): 50070 * bindings/scripts/CodeGenerator.pm: 50071 * bindings/scripts/CodeGeneratorV8.pm: 50072 * bindings/v8/RuntimeEnabledFeatures.cpp: Removed. 50073 * bindings/v8/RuntimeEnabledFeatures.h: Removed. 50074 * bindings/v8/custom/V8DOMWindowCustom.cpp: 50075 * bindings/v8/custom/V8NavigatorCustom.cpp: 50076 * bindings/v8/custom/V8WorkerContextCustom.cpp: 50077 50078 2010-02-09 Alexander Pavlov <apavlov (a] chromium.org> 50079 50080 Reviewed by Pavel Feldman. 50081 50082 Web Inspector: Add two basic categories for the Audits panel 50083 https://bugs.webkit.org/show_bug.cgi?id=32930 50084 50085 * WebCore.gypi: 50086 * WebCore.vcproj/WebCore.vcproj: 50087 * inspector/front-end/AuditCategories.js: Added. 50088 (WebInspector.AuditCategories.PagePerformance): 50089 (WebInspector.AuditCategories.PagePerformance.prototype.initialize): 50090 (WebInspector.AuditCategories.NetworkUtilization): 50091 (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize): 50092 * inspector/front-end/AuditLauncherView.js: 50093 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): 50094 (WebInspector.AuditLauncherView.prototype._createLauncherUI): 50095 (WebInspector.AuditLauncherView.prototype.show): 50096 * inspector/front-end/AuditRules.js: Added. 50097 (WebInspector.AuditRules.arrayAsUL): 50098 (WebInspector.AuditRules.getDomainToResourcesMap): 50099 (WebInspector.AuditRules.evaluateInTargetWindow): 50100 (WebInspector.AuditRules.GzipRule): 50101 (WebInspector.AuditRules.GzipRule.prototype.doRun): 50102 (WebInspector.AuditRules.GzipRule.prototype._isCompressed): 50103 (WebInspector.AuditRules.GzipRule.prototype._shouldCompress): 50104 (WebInspector.AuditRules.CombineExternalResourcesRule): 50105 (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun): 50106 (WebInspector.AuditRules.CombineJsResourcesRule): 50107 (WebInspector.AuditRules.CombineCssResourcesRule): 50108 (WebInspector.AuditRules.MinimizeDnsLookupsRule): 50109 (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun): 50110 (WebInspector.AuditRules.ParallelizeDownloadRule): 50111 (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun): 50112 (WebInspector.AuditRules.UnusedCssRule): 50113 (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage): 50114 (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage): 50115 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): 50116 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine): 50117 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 50118 (WebInspector.AuditRules.CacheControlRule): 50119 (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun): 50120 (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources): 50121 (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources): 50122 (WebInspector.AuditRules.CacheControlRule.prototype.execCheck): 50123 (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan): 50124 (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader): 50125 (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader): 50126 (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible): 50127 (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable): 50128 (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch): 50129 (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration): 50130 (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable): 50131 (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource): 50132 (WebInspector.AuditRules.BrowserCacheControlRule): 50133 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources): 50134 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks): 50135 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck): 50136 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck): 50137 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck): 50138 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck): 50139 (WebInspector.AuditRules.ProxyCacheControlRule): 50140 (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks): 50141 (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck): 50142 (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck): 50143 (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck): 50144 (WebInspector.AuditRules.ImageDimensionsRule): 50145 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 50146 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension): 50147 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth): 50148 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight): 50149 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine): 50150 (WebInspector.AuditRules.CssInHeadRule): 50151 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): 50152 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews): 50153 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine): 50154 (WebInspector.AuditRules.StylesScriptsOrderRule): 50155 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): 50156 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine): 50157 (WebInspector.AuditRules.CookieRuleBase): 50158 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback): 50159 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun): 50160 (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies): 50161 (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs): 50162 (WebInspector.AuditRules.CookieSizeRule): 50163 (WebInspector.AuditRules.CookieSizeRule.prototype._average): 50164 (WebInspector.AuditRules.CookieSizeRule.prototype._max): 50165 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): 50166 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter): 50167 (WebInspector.AuditRules.StaticCookielessRule): 50168 (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): 50169 (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback): 50170 * inspector/front-end/AuditsPanel.js: 50171 (WebInspector.AuditsPanel.prototype._constructCategories): 50172 (WebInspector.AuditsPanel.prototype._reloadResources): 50173 (WebInspector.AuditsPanel.prototype.show): 50174 (WebInspector.AuditsPanel.prototype._updateLauncherViewControls): 50175 (WebInspector.AuditCategory): 50176 (WebInspector.AuditCategory.prototype.get id): 50177 (WebInspector.AuditCategory.prototype.get ruleCount): 50178 (WebInspector.AuditCategory.prototype.runRules): 50179 (WebInspector.AuditCategory.prototype._ensureInitialized): 50180 (WebInspector.AuditCategoryResult): 50181 * inspector/front-end/WebKit.qrc: 50182 * inspector/front-end/audits.css: 50183 * inspector/front-end/inspector.html: 50184 * inspector/front-end/inspector.js: 50185 (WebInspector.loaded): 50186 (WebInspector.addPanelToolbarIcon): 50187 (WebInspector.documentKeyDown): 50188 50189 2010-02-10 Adam Barth <abarth (a] webkit.org> 50190 50191 Reviewed by Darin Adler. 50192 50193 Freeze sandbox attributes on creation 50194 https://bugs.webkit.org/show_bug.cgi?id=34184 50195 50196 This is how the spec works now. 50197 50198 Test: fast/frames/sandboxed-iframe-forms-dynamic.html 50199 50200 * bindings/ScriptControllerBase.cpp: 50201 (WebCore::ScriptController::canExecuteScripts): 50202 * bindings/generic/BindingDOMWindow.h: 50203 (WebCore::::createWindow): 50204 * bindings/js/JSDOMWindowCustom.cpp: 50205 (WebCore::createWindow): 50206 * dom/Document.cpp: 50207 * dom/Document.h: 50208 * loader/FrameLoader.cpp: 50209 (WebCore::FrameLoader::submitForm): 50210 (WebCore::FrameLoader::requestObject): 50211 (WebCore::FrameLoader::shouldAllowNavigation): 50212 (WebCore::FrameLoader::updateSandboxFlags): 50213 * page/SecurityOrigin.cpp: 50214 * page/SecurityOrigin.h: 50215 50216 2010-02-09 Ariya Hidayat <ariya.hidayat (a] gmail.com> 50217 50218 Rubber-stamped by Kenneth Rohde Christiansen. 50219 50220 [Qt] Remove old, outdated unused code block. 50221 50222 * platform/graphics/qt/GraphicsContextQt.cpp: 50223 50224 2010-02-09 Chris Guillory <ctguil (a] google.com> 50225 50226 Reviewed by Darin Fisher. 50227 50228 [Chromium] Notify ChromeClientChromium of state change notifications. 50229 50230 https://bugs.webkit.org/show_bug.cgi?id=34464 50231 50232 * accessibility/chromium/AXObjectCacheChromium.cpp: 50233 (WebCore::toChromeClientChromium): 50234 (WebCore::AXObjectCache::postPlatformNotification): 50235 * page/chromium/ChromeClientChromium.h: 50236 50237 2010-02-09 Kwang Yul Seo <skyul (a] company100.net> 50238 50239 Reviewed by Adam Barth. 50240 50241 [BREWMP] Port PlatformMouseEvent 50242 https://bugs.webkit.org/show_bug.cgi?id=34600 50243 50244 Retrieve the event type, position, key modifiers, time stamp 50245 and click count from AEEEvent. 50246 50247 * platform/PlatformMouseEvent.h: 50248 * platform/brew/PlatformMouseEventBrew.cpp: Added. 50249 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 50250 50251 2010-02-09 Avi Drissman <avi (a] chromium.org> 50252 50253 Reviewed by Timothy Hatcher. 50254 50255 [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons 50256 https://bugs.webkit.org/show_bug.cgi?id=34544 50257 50258 Covered by layout tests when run on SL. 50259 50260 * platform/chromium/ThemeChromiumMac.mm: 50261 (-[TCMVisibleView _focusRingVisibleRect]): 50262 (-[TCMVisibleView _focusRingClipAncestor]): 50263 (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug): 50264 (FocusIndicationFix::swizzleFocusView): 50265 (FocusIndicationFix::ScopedFixer::ScopedFixer): 50266 (FocusIndicationFix::ScopedFixer::~ScopedFixer): 50267 (+[NSView TCMInterposing_focusView]): 50268 (WebCore::paintCheckbox): 50269 (WebCore::paintRadio): 50270 (WebCore::paintButton): 50271 50272 2010-02-09 Anton Muhin <antonm (a] chromium.org> 50273 50274 Reviewed by Nate Chapin. 50275 50276 [v8] Check if returned wrapper is empty before operating on it. 50277 https://bugs.webkit.org/show_bug.cgi?id=34746 50278 50279 * bindings/v8/custom/V8DocumentCustom.cpp: 50280 (WebCore::toV8): 50281 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 50282 (WebCore::toV8): 50283 * bindings/v8/custom/V8SVGDocumentCustom.cpp: 50284 (WebCore::toV8): 50285 50286 2010-02-09 Mikhail Naganov <mnaganov (a] chromium.org> 50287 50288 Reviewed by Pavel Feldman. 50289 50290 Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs. 50291 Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required 50292 for really enabling it in V8 bindings generation. 50293 50294 https://bugs.webkit.org/show_bug.cgi?id=34706 50295 50296 * inspector/InjectedScriptHost.idl: 50297 * inspector/InspectorBackend.cpp: 50298 (WebCore::InspectorBackend::currentCallFrame): 50299 (WebCore::InspectorBackend::getProfile): 50300 * inspector/InspectorBackend.h: 50301 * inspector/InspectorBackend.idl: 50302 * inspector/InspectorController.cpp: 50303 (WebCore::InspectorController::InspectorController): 50304 (WebCore::InspectorController::addProfile): 50305 (WebCore::InspectorController::getProfile): 50306 (WebCore::InspectorController::startUserInitiatedProfiling): 50307 (WebCore::InspectorController::stopUserInitiatedProfiling): 50308 (WebCore::InspectorController::enableProfiler): 50309 (WebCore::InspectorController::disableProfiler): 50310 * inspector/InspectorController.h: 50311 * inspector/InspectorFrontend.cpp: 50312 (WebCore::InspectorFrontend::pausedScript): 50313 (WebCore::InspectorFrontend::resumedScript): 50314 (WebCore::InspectorFrontend::profilerWasEnabled): 50315 (WebCore::InspectorFrontend::profilerWasDisabled): 50316 (WebCore::InspectorFrontend::didGetProfile): 50317 * inspector/InspectorFrontend.h: 50318 * page/Console.idl: 50319 50320 2010-02-09 Gavin Barraclough <barraclough (a] apple.com> 50321 50322 Rubber Stamped by Geoff Garen. 50323 50324 Rename StringBuilder::release && JSStringBuilder::releaseJSString 50325 to 'build()'. 50326 50327 * bindings/js/ScriptString.h: 50328 (WebCore::ScriptString::operator+=): 50329 50330 2010-02-09 Dan Bernstein <mitz (a] apple.com> 50331 50332 Reviewed by Anders Carlsson. 50333 50334 <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets 50335 https://bugs.webkit.org/show_bug.cgi?id=34776 50336 50337 Tests: plugins/instance-available-before-stylesheets-loaded-object.html 50338 plugins/instance-available-before-stylesheets-loaded.html 50339 50340 * html/HTMLEmbedElement.cpp: 50341 (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call 50342 updateLayoutIgnorePendingStylesheets() before checking for a renderer. 50343 * html/HTMLObjectElement.cpp: 50344 (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto. 50345 50346 2010-02-09 Alejandro G. Castro <alex (a] igalia.com> 50347 50348 Reviewed by Darin Adler. 50349 50350 Problems navigating by caret in links whose text wraps onto 50351 subsequent lines. 50352 https://bugs.webkit.org/show_bug.cgi?id=25676 50353 50354 We should not search ahead if we are not in the last element. 50355 50356 * dom/Position.cpp: 50357 50358 2010-02-09 Dirk Schulze <krit (a] webkit.org> 50359 50360 Reviewed by Nikolas Zimmermann. 50361 50362 More optimization for AffineTransform with SVG 50363 https://bugs.webkit.org/show_bug.cgi?id=34774 50364 50365 Some optimizations to safe unnecessary summations and multiplications. 50366 Optimize AffineTransform to handle an identity or translation matrix 50367 more efficient. 50368 Added translationRight to avoid multiplications of matrices as much as 50369 possible. 50370 50371 No tests added, no change of functionality. 50372 50373 * platform/graphics/transforms/AffineTransform.cpp: 50374 (WebCore::AffineTransform::inverse): 50375 (WebCore::AffineTransform::translate): 50376 (WebCore::AffineTransform::translateRight): 50377 * platform/graphics/transforms/AffineTransform.h: 50378 * rendering/RenderForeignObject.cpp: 50379 (WebCore::RenderForeignObject::translationForAttributes): 50380 (WebCore::RenderForeignObject::localToParentTransform): 50381 * rendering/RenderForeignObject.h: 50382 * rendering/RenderSVGRoot.cpp: 50383 (WebCore::RenderSVGRoot::localToBorderBoxTransform): 50384 (WebCore::RenderSVGRoot::localToRepaintContainerTransform): 50385 (WebCore::RenderSVGRoot::localToParentTransform): 50386 * rendering/RenderSVGViewportContainer.cpp: 50387 (WebCore::RenderSVGViewportContainer::localToParentTransform): 50388 * rendering/SVGRootInlineBox.cpp: 50389 (WebCore::applyTextLengthCorrectionToTextChunk): 50390 50391 2010-02-09 Dirk Schulze <krit (a] webkit.org> 50392 50393 Reviewed by Nikolas Zimmermann. 50394 50395 SVG patterns with some scale patternTransform are not displayed correctly for small elements 50396 https://bugs.webkit.org/show_bug.cgi?id=25484 50397 50398 SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This 50399 causes problems, if the patternTransform scales the pattern. This patch deletes the clipping. 50400 50401 Tests: svg/custom/pattern-excessive-malloc.svg 50402 svg/custom/pattern-size-bigger-than-target-size.svg 50403 svg/custom/pattern-skew-transformed.svg 50404 50405 * svg/SVGPatternElement.cpp: 50406 (WebCore::SVGPatternElement::buildPattern): 50407 50408 2010-02-09 Darin Adler <darin (a] apple.com> 50409 50410 * rendering/RenderObject.cpp: 50411 (WebCore::RenderObject::styleDidChange): Fixed typo in comment. 50412 50413 2010-02-09 MORITA Hajime <morrita (a] gmail.com> 50414 50415 Reviewed by Nikolas Zimmermann. 50416 50417 SVG selection text foreground colour does not respect user settings 50418 https://bugs.webkit.org/show_bug.cgi?id=15997 50419 50420 Add two subphases SVGTextPaintSubphaseGlyphFillSelection and 50421 SVGTextPaintSubphaseGlyphStrokeSelection for painting selected 50422 text on SVG. Selected texts are painted with style from 50423 getCachedPseudoStyle() instead of style(). 50424 50425 Tests: svg/text/selection-styles.xhtml 50426 50427 * rendering/SVGCharacterLayoutInfo.h: 50428 (WebCore::SVGTextChunkWalker::SVGTextChunkWalker): 50429 (WebCore::SVGTextChunkWalker::setupFillSelection): 50430 (WebCore::SVGTextChunkWalker::setupStrokeSelection): 50431 * rendering/SVGRootInlineBox.cpp: 50432 (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection): 50433 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback): 50434 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback): 50435 (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer): 50436 (WebCore::SVGRootInlineBox::paint): 50437 (WebCore::SVGRootInlineBox::walkTextChunks): 50438 * rendering/SVGInlineTextBox.h: 50439 (WebCore::): 50440 Add callback hooks and its implementation for handle new 50441 subphases. 50442 50443 * rendering/SVGInlineTextBox.cpp: 50444 (WebCore::SVGInlineTextBox::chunkSelectionStartEnd): 50445 (WebCore::SVGInlineTextBox::paintCharacters): 50446 Split box text into selected part and non-selected part, and use 50447 separate subphases to paint them. 50448 50449 * svg/SVGFont.cpp: 50450 (WebCore::SVGTextRunWalker::walk): 50451 Relax ASSERT() condition to accept a part of text. 50452 50453 * svg/graphics/SVGPaintServer.cpp: 50454 (WebCore::applyStrokeStyleToContext): 50455 (WebCore::SVGPaintServer::setup): 50456 * svg/graphics/SVGPaintServer.h: 50457 * svg/graphics/SVGPaintServerGradient.cpp: 50458 (WebCore::SVGPaintServerGradient::setup): 50459 * svg/graphics/SVGPaintServerGradient.h: 50460 * svg/graphics/SVGPaintServerPattern.cpp: 50461 (WebCore::SVGPaintServerPattern::setup): 50462 * svg/graphics/SVGPaintServerPattern.h: 50463 * svg/graphics/SVGPaintServerSolid.cpp: 50464 (WebCore::SVGPaintServerSolid::setup): 50465 * svg/graphics/SVGPaintServerSolid.h: 50466 Change setup() signature to accept RenderStyle instead of always 50467 using RenderObject::style(). 50468 50469 2010-02-09 Nikolas Zimmermann <nzimmermann (a] rim.com> 50470 50471 Reviewed by Dirk Schulze. 50472 50473 No scroll bars are displayed for standalone SVG image 50474 https://bugs.webkit.org/show_bug.cgi?id=11225 50475 50476 Height and width defined for svg element are not honored 50477 https://bugs.webkit.org/show_bug.cgi?id=24033 50478 50479 SVG file does not pan and has no scroll bars 50480 https://bugs.webkit.org/show_bug.cgi?id=24448 50481 50482 Adapt to SVG 1.1 errata to change the overflow handling: 50483 Replace "svg { overflow: hidden }" by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars. 50484 Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support). 50485 50486 Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements. 50487 50488 Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg 50489 svg/overflow/overflow-on-inner-svg-element.svg 50490 svg/overflow/overflow-on-outermost-svg-element-defaults.svg 50491 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg 50492 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg 50493 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg 50494 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml 50495 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml 50496 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml 50497 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml 50498 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml 50499 50500 * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements. 50501 * page/FrameView.cpp: 50502 (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents. 50503 * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata. 50504 (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size. 50505 (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto. 50506 (WebCore::RenderSVGRoot::nodeAtPoint): Simplify. 50507 * rendering/RenderSVGViewportContainer.cpp: 50508 (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision. 50509 * rendering/SVGRenderSupport.cpp: 50510 (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects. 50511 50512 2010-02-09 Kwang Yul Seo <skyul (a] company100.net> 50513 50514 Reviewed by Eric Seidel. 50515 50516 [BREWMP] Port KURL::fileSystemPath 50517 https://bugs.webkit.org/show_bug.cgi?id=34516 50518 50519 Convert a file URL to a file path by prefixing 50520 AEEFS_HOME_DIR to access files relative to the current 50521 module directory in a case-sensitive manner. 50522 50523 As IWeb "file:" engine opens files in BREW's application-relative 50524 file namespace, we follow the same policy here. 50525 50526 * platform/brew/KURLBrew.cpp: Added. 50527 (WebCore::KURL::fileSystemPath): 50528 50529 2010-02-09 Noam Rosenthal <noam.rosenthal (a] nokia.com> 50530 50531 Reviewed by Kenneth Rohde Christiansen. 50532 50533 [Qt] the above website does not render properly when in compositing mode 50534 https://bugs.webkit.org/show_bug.cgi?id=34681 50535 50536 http://media.24ways.org/2009/15/spinner-alt.html now renders correctly 50537 50538 * platform/graphics/qt/GraphicsLayerQt.cpp: 50539 (WebCore::MaskEffectQt::MaskEffectQt): implement mask as 50540 QGraphicsEffect 50541 (WebCore::MaskEffectQt::draw): reimp 50542 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect 50543 (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents 50544 (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the 50545 mask layer, not just the actual children 50546 50547 2010-02-09 Kwang Yul Seo <skyul (a] company100.net> 50548 50549 Reviewed by Laszlo Gombos. 50550 50551 [BREWMP] Fix macro redefinition error in BREWMP simulator build. 50552 https://bugs.webkit.org/show_bug.cgi?id=34738 50553 50554 Remove warning: 'FAR' macro redefinition. 50555 50556 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 50557 50558 2010-02-07 Yuzo Fujishima <yuzo (a] google.com> 50559 50560 Reviewed by Dan Bernstein. 50561 50562 Fix the following bugs: 50563 https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly 50564 https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail 50565 50566 Tests: fast/css/inline-element-line-break.html 50567 fast/css/pseudo-element-line-break.html 50568 50569 findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found, 50570 but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks. 50571 50572 * rendering/RenderBlockLineLayout.cpp: 50573 (WebCore::RenderBlock::findNextLineBreak): 50574 50575 2010-02-09 Shinichiro Hamaji <hamaji (a] chromium.org> 50576 50577 Reviewed by Darin Adler. 50578 50579 Provide a way to get total number of pages to be printed 50580 https://bugs.webkit.org/show_bug.cgi?id=34699 50581 50582 Test: printing/numberOfPages.html 50583 50584 * WebCore.base.exp: 50585 * page/PrintContext.cpp: 50586 (WebCore::PrintContext::pageNumberForElement): 50587 (WebCore::PrintContext::numberOfPages): 50588 * page/PrintContext.h: 50589 (WebCore::PrintContext::pageRects): 50590 50591 2010-02-08 Dominic Cooney <dominicc (a] google.com> 50592 50593 Reviewed by Adam Barth. 50594 50595 [V8] Move Element custom methods into generic bindings 50596 50597 This patch moves the security checks in setAttribute, 50598 setAttributeNode, setAttributeNS and setAttributeNodeNS from 50599 V8ElementCustom into the generic bindings so that they can be 50600 reused in other bindings. This is in a similar vein to 50601 <https://bugs.webkit.org/attachment.cgi?id=45872>. 50602 50603 https://bugs.webkit.org/show_bug.cgi?id=34554 50604 50605 LayoutTests: None 50606 50607 * WebCore.gypi: 50608 * bindings/generic/BindingElement.h: Added. 50609 (WebCore::::setAttribute): 50610 (WebCore::::setAttributeNode): 50611 (WebCore::::setAttributeNS): 50612 (WebCore::::setAttributeNodeNS): 50613 * bindings/v8/V8Binding.h: 50614 * bindings/v8/custom/V8ElementCustom.cpp: 50615 (WebCore::V8Element::setAttributeCallback): 50616 (WebCore::V8Element::setAttributeNodeCallback): 50617 (WebCore::V8Element::setAttributeNSCallback): 50618 (WebCore::V8Element::setAttributeNodeNSCallback): 50619 50620 2010-02-08 Hayato Ito <hayato (a] chromium.org> 50621 50622 Reviewed by Darin Adler. 50623 50624 Schedule a loading request when there are many in-flight requests beyond 50625 the limit to avoid forever page loading. 50626 50627 https://bugs.webkit.org/show_bug.cgi?id=31227 50628 50629 Test: http/tests/loading/load-javascript-after-many-xhrs.html 50630 50631 * loader/loader.cpp: 50632 (WebCore::Loader::Host::servePendingRequests): 50633 50634 2010-02-08 David Levin <levin (a] chromium.org> 50635 50636 Reviewed by Gavin Barraclough. 50637 50638 REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot. 50639 https://bugs.webkit.org/show_bug.cgi?id=34728 50640 50641 The core part of the fix is to change WebCoreJSClientData::m_normalWorld 50642 from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld 50643 is really ref counted. 50644 50645 No new tests because current tests sufficiently cover this as evidenced as 50646 the buildbot crashes. 50647 50648 * bindings/js/JSDOMBinding.cpp: 50649 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData 50650 being 0. 50651 * bindings/js/JSDOMBinding.h: 50652 (WebCore::DOMWrapperWorld::create): Made this class follow the standard 50653 create pattern for RefCounted classes. 50654 (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can 50655 now outlive JSGlobalData, this method tells it to stop using its JSGlobalData. 50656 (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to 50657 m_normalWorld being a RefPtr. 50658 (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added 50659 asserts for the FIXME). 50660 (WebCore::WebCoreJSClientData::normalWorld): Ditto. 50661 * bindings/js/ScriptController.cpp: 50662 (WebCore::IsolatedWorld::create): Made the constructor protected. 50663 (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so 50664 that code would have to use the create method. 50665 50666 2010-02-08 Kinuko Yasuda <kinuko (a] chromium.org> 50667 50668 Reviewed by David Levin. 50669 50670 Remove special utf-8 tag from Chromium cilpboard code because 50671 we now have the corresponding code in generic clipboard framework 50672 code in chromium (since it's needed by other places than in Web 50673 page rendering) and no longer need the separate workaround code in 50674 WebKit. 50675 https://bugs.webkit.org/show_bug.cgi?id=34567 50676 50677 Test: (for regression) editing/pasteboard 50678 50679 * platform/chromium/ClipboardChromium.cpp: 50680 (WebCore::ClipboardChromium::writeRange): 50681 * platform/chromium/PasteboardChromium.cpp: 50682 (WebCore::Pasteboard::writeSelection): 50683 (WebCore::Pasteboard::documentFragment): 50684 50685 2010-02-08 Darin Adler <darin (a] apple.com> 50686 50687 Reviewed by Dan Bernstein. 50688 50689 Crash due to layout not done in case involving removal of absolute positioning 50690 https://bugs.webkit.org/show_bug.cgi?id=34734 50691 rdar://problem/7588280 50692 50693 Test: fast/dynamic/position-change-layout.html 50694 50695 * rendering/RenderObject.cpp: 50696 (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in 50697 a case where the object already needs layout, but might have a new containing 50698 block and so needs to mark the new containing block. 50699 50700 2010-02-08 Charlie Reis <creis (a] chromium.org> 50701 50702 Reviewed by Darin Adler. 50703 50704 onbeforeunload not called at window close + frame or iframe focused 50705 https://bugs.webkit.org/show_bug.cgi?id=27481 50706 50707 Chromium and WebKit on Windows will now fire beforeunload handlers 50708 even if an inner frame is focused. 50709 50710 Layout tests aren't able to test this bug, since it requires closing 50711 the actual browser window, not calling window.close(). Instead, 50712 test with WebCore/manual-tests/onbeforeunload-focused-iframe.html. 50713 50714 * manual-tests/onbeforeunload-focused-iframe.html: Added. 50715 * manual-tests/resources/focused-iframe.html: Added. 50716 50717 2010-02-08 Alexey Proskuryakov <ap (a] apple.com> 50718 50719 Addressing review feedback. 50720 50721 * bridge/c/c_instance.h: Removed argument name. 50722 50723 2010-02-08 Alexey Proskuryakov <ap (a] apple.com> 50724 50725 Reviewed by Darin Adler. 50726 50727 https://bugs.webkit.org/show_bug.cgi?id=34727 50728 Assertion crashes and freezes when plug-in property access results in an exception 50729 50730 Test: plugins/netscape-plugin-property-access-exception.html 50731 50732 * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to 50733 be called from CField. 50734 50735 * bridge/c/c_runtime.cpp: 50736 (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without 50737 this, not only didn't we get exceptions, but we also got an assertion failure because of 50738 dangling global exception on next call into plug-in. 50739 (JSC::Bindings::CField::setValueToInstance): Ditto. 50740 50741 2010-02-08 Dirk Schulze <krit (a] webkit.org> 50742 50743 Unreviewed build fix of ChromiumWin. 50744 50745 * platform/graphics/chromium/TransparencyWin.cpp: 50746 (WebCore::): 50747 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): 50748 (WebCore::TransparencyWin::setupTransformForKeepTransform): 50749 * platform/graphics/chromium/TransparencyWin.h: 50750 * rendering/RenderThemeChromiumWin.cpp: 50751 (WebCore::): 50752 50753 2010-02-05 Dumitru Daniliuc <dumi (a] chromium.org> 50754 50755 Reviewed by Jeremy Orlow. 50756 50757 Adding a way to get the set of all open database handles pointing 50758 to a given database. 50759 https://bugs.webkit.org/show_bug.cgi?id=34619 50760 50761 Sometimes we need to be able to close all handles to a database as 50762 soon as possible (to delete the DB file, for example). 50763 50764 * storage/DatabaseTracker.cpp: 50765 (WebCore::DatabaseTracker::getOpenDatabases): 50766 * storage/DatabaseTracker.h: 50767 * storage/chromium/DatabaseTrackerChromium.cpp: 50768 (WebCore::DatabaseTracker::addOpenDatabase): 50769 (WebCore::DatabaseTracker::removeOpenDatabase): 50770 (WebCore::DatabaseTracker::getOpenDatabases): 50771 50772 2010-02-08 Dirk Schulze <krit (a] webkit.org> 50773 50774 Unreviewed windows build-fix. 50775 50776 * page/win/FrameCGWin.cpp: 50777 (WebCore::drawRectIntoContext): 50778 50779 2010-02-08 Dirk Schulze <krit (a] webkit.org> 50780 50781 Reviewed by Nikolas Zimmermann. 50782 50783 Add back an AffineTransform class for use by SVG 50784 https://bugs.webkit.org/show_bug.cgi?id=33750 50785 50786 This adds back AffineTransform. This saves additional 4% memory consumption 50787 on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721 50788 It also makes it possible to optimize the calculations internally of 50789 AffineTransform to the needs of 2D transformations (the second benefit for SVG, 50790 which uses transformations relative often at the moment. 50791 Everything that is 2D related (like images, patterns, gradients, fonts), uses 50792 AffineTransform now. 50793 50794 * WebCore.xcodeproj/project.pbxproj: 50795 * bindings/js/JSSVGMatrixCustom.cpp: 50796 (WebCore::JSSVGMatrix::multiply): 50797 (WebCore::JSSVGMatrix::inverse): 50798 (WebCore::JSSVGMatrix::rotateFromVector): 50799 * bindings/js/JSSVGPODTypeWrapper.h: 50800 * bindings/scripts/CodeGeneratorJS.pm: 50801 * bindings/scripts/CodeGeneratorObjC.pm: 50802 * bindings/scripts/CodeGeneratorV8.pm: 50803 * bindings/v8/V8Index.h: 50804 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 50805 (WebCore::V8SVGMatrix::multiplyCallback): 50806 (WebCore::V8SVGMatrix::inverseCallback): 50807 (WebCore::V8SVGMatrix::rotateFromVectorCallback): 50808 * html/HTMLCanvasElement.cpp: Changed to AffineTransform now 50809 (WebCore::HTMLCanvasElement::baseTransform): 50810 * html/HTMLCanvasElement.h: 50811 * platform/graphics/FloatPoint.cpp: 50812 (WebCore::FloatPoint::matrixTransform): 50813 * platform/graphics/FloatPoint.h: 50814 * platform/graphics/GeneratedImage.cpp: 50815 (WebCore::GeneratedImage::drawPattern): 50816 * platform/graphics/GeneratedImage.h: 50817 * platform/graphics/Gradient.cpp: 50818 (WebCore::Gradient::setGradientSpaceTransform): 50819 (WebCore::Gradient::setPlatformGradientSpaceTransform): 50820 * platform/graphics/Gradient.h: 50821 (WebCore::Gradient::gradientSpaceTransform): 50822 * platform/graphics/GraphicsContext.h: 50823 * platform/graphics/Image.cpp: 50824 (WebCore::Image::drawTiled): 50825 * platform/graphics/Image.h: 50826 * platform/graphics/ImageBuffer.h: 50827 (WebCore::ImageBuffer::baseTransform): 50828 * platform/graphics/Path.h: 50829 * platform/graphics/Pattern.cpp: 50830 (WebCore::Pattern::setPatternSpaceTransform): 50831 * platform/graphics/Pattern.h: 50832 (WebCore::Pattern::create): 50833 (WebCore::Pattern::tileImage): 50834 * platform/graphics/cairo/FontCairo.cpp: 50835 (WebCore::Font::drawGlyphs): 50836 * platform/graphics/cairo/GraphicsContextCairo.cpp: 50837 (WebCore::setPlatformFill): 50838 (WebCore::setPlatformStroke): 50839 (WebCore::GraphicsContext::getCTM): 50840 * platform/graphics/cairo/ImageCairo.cpp: 50841 (WebCore::Image::drawPattern): 50842 * platform/graphics/cairo/PathCairo.cpp: 50843 * platform/graphics/cairo/PatternCairo.cpp: 50844 (WebCore::Pattern::createPlatformPattern): 50845 * platform/graphics/cg/GraphicsContextCG.cpp: 50846 (WebCore::GraphicsContext::getCTM): 50847 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 50848 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 50849 * platform/graphics/cg/ImageCG.cpp: 50850 (WebCore::Image::drawPattern): 50851 * platform/graphics/cg/PathCG.cpp: 50852 * platform/graphics/cg/PatternCG.cpp: 50853 (WebCore::Pattern::createPlatformPattern): 50854 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 50855 (WebCore::GraphicsContext::getCTM): 50856 * platform/graphics/haiku/ImageHaiku.cpp: 50857 (WebCore::Image::drawPattern): 50858 * platform/graphics/haiku/PathHaiku.cpp: 50859 * platform/graphics/qt/FontQt.cpp: 50860 (WebCore::Font::drawComplexText): 50861 * platform/graphics/qt/GraphicsContextQt.cpp: 50862 (WebCore::GraphicsContext::getCTM): 50863 (WebCore::GraphicsContext::fillPath): 50864 (WebCore::GraphicsContext::strokePath): 50865 (WebCore::GraphicsContext::fillRect): 50866 * platform/graphics/qt/ImageQt.cpp: 50867 (WebCore::Image::drawPattern): 50868 * platform/graphics/qt/PathQt.cpp: 50869 * platform/graphics/qt/PatternQt.cpp: 50870 (WebCore::Pattern::createPlatformPattern): 50871 * platform/graphics/skia/GradientSkia.cpp: 50872 (WebCore::Gradient::setPlatformGradientSpaceTransform): 50873 * platform/graphics/skia/GraphicsContextSkia.cpp: 50874 (WebCore::GraphicsContext::getCTM): 50875 * platform/graphics/skia/ImageSkia.cpp: 50876 (WebCore::Image::drawPattern): 50877 * platform/graphics/skia/PathSkia.cpp: 50878 * platform/graphics/skia/PatternSkia.cpp: 50879 (WebCore::Pattern::platformPattern): 50880 * platform/graphics/skia/SkiaFontWin.cpp: 50881 (WebCore::windowsCanHandleTextDrawing): 50882 * platform/graphics/transforms/AffineTransform.cpp: 50883 (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore 50884 (WebCore::AffineTransform::scale): Didn't scale the complete matrix 50885 (WebCore::AffineTransform::translate): Didn't respect other transformations 50886 (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices 50887 (WebCore::AffineTransform::map): 50888 (WebCore::AffineTransform::mapPoint): 50889 (WebCore::AffineTransform::mapRect): 50890 * platform/graphics/transforms/AffineTransform.h: 50891 (WebCore::AffineTransform::isIdentityOrTranslation): 50892 * platform/graphics/transforms/TransformationMatrix.cpp: 50893 (WebCore::TransformationMatrix::toAffineTransform): 50894 * platform/graphics/transforms/TransformationMatrix.h: 50895 * platform/graphics/win/FontCGWin.cpp: 50896 (WebCore::drawGDIGlyphs): 50897 * platform/graphics/win/GraphicsContextCGWin.cpp: 50898 * platform/graphics/win/GraphicsContextCairoWin.cpp: 50899 * platform/graphics/win/GraphicsContextWin.cpp: 50900 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 50901 * platform/graphics/wince/FontWince.cpp: 50902 * platform/graphics/wince/GraphicsContextWince.cpp: 50903 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 50904 (WebCore::GraphicsContext::fillPath): 50905 (WebCore::GraphicsContext::strokePath): 50906 (WebCore::GraphicsContext::getCTM): 50907 (WebCore::GraphicsContext::drawBitmapPattern): 50908 * platform/graphics/wince/ImageBufferWince.cpp: 50909 (WebCore::): 50910 (WebCore::BufferedImage::drawPattern): 50911 * platform/graphics/wince/PathWince.cpp: 50912 (WebCore::Path::transform): 50913 * platform/graphics/wince/PlatformPathWince.cpp: 50914 (WebCore::drawPolygons): 50915 (WebCore::PathPolygon::transform): 50916 (WebCore::PlatformPathElement::transform): 50917 (WebCore::PlatformPath::strokePath): 50918 (WebCore::PlatformPath::fillPath): 50919 (WebCore::PlatformPath::transform): 50920 * platform/graphics/wince/PlatformPathWince.h: 50921 (WebCore::): 50922 * platform/graphics/wx/GraphicsContextWx.cpp: 50923 (WebCore::GraphicsContext::getCTM): 50924 * platform/graphics/wx/ImageWx.cpp: 50925 (WebCore::BitmapImage::drawPattern): 50926 (WebCore::Image::drawPattern): 50927 * platform/graphics/wx/PathWx.cpp: 50928 * platform/gtk/RenderThemeGtk.cpp: 50929 (WebCore::paintMozillaGtkWidget): 50930 * plugins/win/PluginViewWin.cpp: 50931 (WebCore::PluginView::paintWindowedPluginIntoContext): 50932 * rendering/RenderBox.cpp: 50933 (WebCore::RenderBox::localTransform): 50934 * rendering/RenderBox.h: 50935 * rendering/RenderBoxModelObject.cpp: 50936 (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData): 50937 (WebCore::RenderBoxModelScaleData::transform): 50938 (WebCore::RenderBoxModelScaleData::setTransform): 50939 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 50940 (WebCore::RenderBoxModelObject::paintBoxShadow): 50941 * rendering/RenderForeignObject.cpp: 50942 (WebCore::RenderForeignObject::translationForAttributes): 50943 (WebCore::RenderForeignObject::localToParentTransform): 50944 * rendering/RenderForeignObject.h: 50945 (WebCore::RenderForeignObject::localTransform): 50946 * rendering/RenderLayer.cpp: 50947 (WebCore::RenderLayer::paintLayer): 50948 * rendering/RenderObject.cpp: 50949 (WebCore::RenderObject::localTransform): 50950 (WebCore::RenderObject::localToParentTransform): 50951 (WebCore::RenderObject::absoluteTransform): 50952 * rendering/RenderObject.h: 50953 * rendering/RenderPath.cpp: 50954 (WebCore::RenderPath::localToParentTransform): 50955 (WebCore::RenderPath::localTransform): 50956 * rendering/RenderPath.h: 50957 * rendering/RenderSVGHiddenContainer.h: 50958 (WebCore::RenderSVGHiddenContainer::absoluteTransform): 50959 * rendering/RenderSVGImage.h: 50960 (WebCore::RenderSVGImage::localToParentTransform): 50961 (WebCore::RenderSVGImage::localTransform): 50962 * rendering/RenderSVGRoot.cpp: 50963 (WebCore::RenderSVGRoot::localToBorderBoxTransform): 50964 (WebCore::RenderSVGRoot::localToRepaintContainerTransform): 50965 (WebCore::RenderSVGRoot::localToParentTransform): 50966 (WebCore::RenderSVGRoot::absoluteTransform): 50967 (WebCore::RenderSVGRoot::localTransform): 50968 * rendering/RenderSVGRoot.h: 50969 * rendering/RenderSVGText.h: 50970 (WebCore::RenderSVGText::localToParentTransform): 50971 (WebCore::RenderSVGText::localTransform): 50972 * rendering/RenderSVGTransformableContainer.cpp: 50973 (WebCore::RenderSVGTransformableContainer::localToParentTransform): 50974 (WebCore::RenderSVGTransformableContainer::localTransform): 50975 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): 50976 * rendering/RenderSVGTransformableContainer.h: 50977 * rendering/RenderSVGViewportContainer.cpp: 50978 (WebCore::RenderSVGViewportContainer::markerBoundaries): 50979 (WebCore::RenderSVGViewportContainer::markerContentTransformation): 50980 (WebCore::RenderSVGViewportContainer::viewportTransform): 50981 (WebCore::RenderSVGViewportContainer::localToParentTransform): 50982 (WebCore::RenderSVGViewportContainer::absoluteTransform): 50983 * rendering/RenderSVGViewportContainer.h: 50984 * rendering/SVGCharacterLayoutInfo.cpp: 50985 (WebCore::SVGChar::characterTransform): 50986 * rendering/SVGCharacterLayoutInfo.h: 50987 (WebCore::SVGTextChunkWalker::operator()): 50988 * rendering/SVGInlineTextBox.cpp: 50989 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): 50990 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 50991 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): 50992 (WebCore::SVGInlineTextBox::paintCharacters): 50993 (WebCore::SVGInlineTextBox::paintDecoration): 50994 * rendering/SVGMarkerLayoutInfo.h: 50995 (WebCore::MarkerLayout::MarkerLayout): 50996 * rendering/SVGRenderSupport.cpp: 50997 (WebCore::applyTransformToPaintInfo): 50998 * rendering/SVGRenderSupport.h: 50999 * rendering/SVGRenderTreeAsText.cpp: 51000 (WebCore::operator<<): 51001 * rendering/SVGRenderTreeAsText.h: 51002 * rendering/SVGRootInlineBox.cpp: 51003 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 51004 (WebCore::applyTextLengthCorrectionToTextChunk): 51005 (WebCore::SVGRootInlineBox::buildLayoutInformation): 51006 * rendering/TransformState.cpp: 51007 (WebCore::TransformState::applyTransform): 51008 * rendering/TransformState.h: 51009 * svg/GradientAttributes.h: 51010 (WebCore::GradientAttributes::gradientTransform): 51011 (WebCore::GradientAttributes::setGradientTransform): 51012 * svg/PatternAttributes.h: 51013 (WebCore::PatternAttributes::patternTransform): 51014 (WebCore::PatternAttributes::setPatternTransform): 51015 * svg/SVGAnimateMotionElement.cpp: 51016 (WebCore::SVGAnimateMotionElement::resetToBaseValue): 51017 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): 51018 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): 51019 * svg/SVGAnimateMotionElement.h: 51020 * svg/SVGAnimateTransformElement.cpp: 51021 * svg/SVGAnimateTransformElement.h: 51022 * svg/SVGElement.h: 51023 (WebCore::SVGElement::supplementalTransform): 51024 * svg/SVGFitToViewBox.cpp: 51025 (WebCore::SVGFitToViewBox::viewBoxToViewTransform): 51026 * svg/SVGFitToViewBox.h: 51027 * svg/SVGLocatable.cpp: 51028 (WebCore::SVGLocatable::getCTM): 51029 (WebCore::SVGLocatable::getScreenCTM): 51030 (WebCore::SVGLocatable::getTransformToElement): 51031 * svg/SVGLocatable.h: 51032 * svg/SVGMarkerElement.cpp: 51033 (WebCore::SVGMarkerElement::viewBoxToViewTransform): 51034 * svg/SVGMarkerElement.h: 51035 * svg/SVGMaskElement.cpp: 51036 (WebCore::SVGMaskElement::drawMaskerContent): 51037 * svg/SVGMatrix.idl: 51038 * svg/SVGPatternElement.cpp: 51039 (WebCore::SVGPatternElement::buildPattern): 51040 * svg/SVGPreserveAspectRatio.cpp: 51041 (WebCore::SVGPreserveAspectRatio::getCTM): 51042 * svg/SVGPreserveAspectRatio.h: 51043 * svg/SVGSVGElement.cpp: 51044 (WebCore::SVGSVGElement::viewport): 51045 (WebCore::SVGSVGElement::createSVGMatrix): 51046 (WebCore::SVGSVGElement::createSVGTransformFromMatrix): 51047 (WebCore::SVGSVGElement::getCTM): 51048 (WebCore::SVGSVGElement::getScreenCTM): 51049 (WebCore::SVGSVGElement::viewBoxToViewTransform): 51050 * svg/SVGSVGElement.h: 51051 * svg/SVGStyledLocatableElement.cpp: 51052 (WebCore::SVGStyledLocatableElement::getCTM): 51053 (WebCore::SVGStyledLocatableElement::getScreenCTM): 51054 * svg/SVGStyledLocatableElement.h: 51055 * svg/SVGStyledTransformableElement.cpp: 51056 (WebCore::SVGStyledTransformableElement::getCTM): 51057 (WebCore::SVGStyledTransformableElement::getScreenCTM): 51058 (WebCore::SVGStyledTransformableElement::animatedLocalTransform): 51059 (WebCore::SVGStyledTransformableElement::supplementalTransform): 51060 * svg/SVGStyledTransformableElement.h: 51061 (WebCore::SVGStyledTransformableElement::isStyledTransformable): 51062 (WebCore::SVGStyledTransformableElement::toPathData): 51063 * svg/SVGTextContentElement.cpp: 51064 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): 51065 * svg/SVGTextElement.cpp: 51066 (WebCore::SVGTextElement::getScreenCTM): 51067 (WebCore::SVGTextElement::getCTM): 51068 (WebCore::SVGTextElement::animatedLocalTransform): 51069 (WebCore::SVGTextElement::supplementalTransform): 51070 * svg/SVGTextElement.h: 51071 * svg/SVGTextPathElement.cpp: 51072 * svg/SVGTransform.cpp: 51073 (SVGTransform::SVGTransform): 51074 (SVGTransform::matrix): 51075 (SVGTransform::setMatrix): 51076 * svg/SVGTransform.h: 51077 * svg/SVGTransformDistance.cpp: 51078 (WebCore::SVGTransformDistance::SVGTransformDistance): 51079 (WebCore::SVGTransformDistance::scaledDistance): 51080 (WebCore::SVGTransformDistance::isZero): 51081 * svg/SVGTransformDistance.h: 51082 * svg/SVGTransformList.cpp: 51083 (SVGTransformList::createSVGTransformFromMatrix): 51084 (SVGTransformList::concatenate): 51085 (SVGTransformList::valueAsString): 51086 * svg/SVGTransformList.h: 51087 * svg/SVGTransformable.cpp: 51088 (WebCore::SVGTransformable::getCTM): 51089 (WebCore::SVGTransformable::getScreenCTM): 51090 (WebCore::SVGTransformable::parseTransformValue): 51091 * svg/SVGTransformable.h: 51092 (WebCore::SVGTransformable::): 51093 * svg/graphics/SVGPaintServerGradient.cpp: 51094 (WebCore::SVGPaintServerGradient::gradientTransform): 51095 (WebCore::SVGPaintServerGradient::setGradientTransform): 51096 (WebCore::clipToTextMask): 51097 (WebCore::SVGPaintServerGradient::setup): 51098 * svg/graphics/SVGPaintServerGradient.h: 51099 * svg/graphics/SVGPaintServerPattern.cpp: 51100 (WebCore::SVGPaintServerPattern::patternTransform): 51101 (WebCore::SVGPaintServerPattern::setPatternTransform): 51102 (WebCore::SVGPaintServerPattern::setup): 51103 * svg/graphics/SVGPaintServerPattern.h: 51104 * svg/graphics/SVGResourceClipper.cpp: 51105 (WebCore::SVGResourceClipper::applyClip): 51106 * svg/graphics/SVGResourceMarker.cpp: 51107 (WebCore::SVGResourceMarker::markerTransformation): 51108 (WebCore::SVGResourceMarker::draw): 51109 * svg/graphics/SVGResourceMarker.h: 51110 * svg/graphics/filters/SVGFEImage.cpp: 51111 * svg/graphics/filters/SVGFETile.cpp: 51112 (WebCore::FETile::apply): 51113 51114 2010-02-08 Stephen White <senorblanco (a] chromium.org> 51115 51116 Reviewed by Dimitri Glazkov. 51117 51118 Make an inline function containing a static var out-of-line. This is 51119 a workaround for Xcode 3.1 bug radar 7070016. We tripped on this in 51120 deviceRGBColorSpaceRef on the Chromium canaries. This is a proactive 51121 fix for the same problem in sRGBColorSpaceRef(). 51122 51123 https://bugs.webkit.org/show_bug.cgi?id=34663 51124 51125 * platform/graphics/cg/GraphicsContextCG.cpp: 51126 (WebCore::sRGBColorSpaceRef): 51127 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 51128 51129 2010-02-08 Nate Chapin <japhet (a] chromium.org> 51130 51131 Reviewed by Dimitri Glazkov. 51132 51133 [V8] Unify the WorkerContext V8 object wrapping code with 51134 the standard V8 object wrapping code. 51135 51136 https://bugs.webkit.org/show_bug.cgi?id=34658 51137 51138 * bindings/scripts/CodeGeneratorV8.pm: 51139 * bindings/v8/V8DOMWrapper.cpp: 51140 (WebCore::V8DOMWrapper::instantiateV8Object): 51141 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 51142 * bindings/v8/V8WorkerContextEventListener.cpp: 51143 (WebCore::V8WorkerContextEventListener::handleEvent): 51144 (WebCore::V8WorkerContextEventListener::getReceiverObject): 51145 * bindings/v8/WorkerContextExecutionProxy.cpp: 51146 * bindings/v8/WorkerContextExecutionProxy.h: 51147 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 51148 (WebCore::V8NotificationCenter::createHTMLNotificationCallback): 51149 (WebCore::V8NotificationCenter::createNotificationCallback): 51150 * bindings/v8/custom/V8WorkerContextCustom.cpp: 51151 (WebCore::toV8): 51152 51153 2010-02-08 Kwang Yul Seo <skyul (a] company100.net> 51154 51155 Reviewed by Darin Adler. 51156 51157 Use fastStrDup instead of strdup 51158 https://bugs.webkit.org/show_bug.cgi?id=33943 51159 51160 Replace strdup/free with fastStrDup/fastFree. 51161 51162 * bridge/IdentifierRep.h: 51163 (WebCore::IdentifierRep::IdentifierRep): 51164 * bridge/jni/JNIBridge.cpp: 51165 (JavaMethod::~JavaMethod): 51166 (appendClassName): 51167 (JavaMethod::signature): 51168 * bridge/jni/jsc/JavaClassJSC.cpp: 51169 (JavaClass::JavaClass): 51170 (JavaClass::~JavaClass): 51171 * platform/network/curl/ResourceHandleCurl.cpp: 51172 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 51173 * platform/network/curl/ResourceHandleManager.cpp: 51174 (WebCore::ResourceHandleManager::~ResourceHandleManager): 51175 (WebCore::ResourceHandleManager::setCookieJarFileName): 51176 (WebCore::ResourceHandleManager::initializeHandle): 51177 * plugins/PluginStream.cpp: 51178 (WebCore::PluginStream::~PluginStream): 51179 (WebCore::PluginStream::startStream): 51180 * xml/XSLTProcessorLibxslt.cpp: 51181 (WebCore::xsltParamArrayFromParameterMap): 51182 (WebCore::freeXsltParamArray): 51183 51184 2010-02-08 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 51185 51186 Reviewed by Simon Hausmann. 51187 51188 Fix Qt build on Windows. 51189 51190 nmake fails to pick the right cpp file, so we have to 51191 rename the file to to a unique name. 51192 51193 * WebCore.pro: 51194 * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp. 51195 51196 2010-02-08 Nikolas Zimmermann <nzimmermann (a] rim.com> 51197 51198 Reviewed by Dirk Schulze. 51199 51200 All SVG *-expected.txt files contain wrong results 51201 https://bugs.webkit.org/show_bug.cgi?id=34703 51202 51203 Finally dump meaningful information for SVG layout tests. 51204 Use 'absoluteClippedOverflowRect' which goes through the same code paths used 51205 to actually calculate repaint rects etc - instead of the legacy CSS-unaware 51206 code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'. 51207 Remove absoluteTransform() - a long standing TODO, finally not needed anymore. 51208 51209 Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform(). 51210 Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues 51211 when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well. 51212 51213 As we're now dumping clipped overflow rects any problems with repaint rects will become 51214 immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg> 51215 element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account). 51216 Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers. 51217 51218 Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them. 51219 51220 * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden(). 51221 * rendering/RenderObject.h: Remove absoluteTransform() method. 51222 * rendering/RenderSVGHiddenContainer.h: Ditto. 51223 * rendering/RenderSVGRoot.cpp: 51224 (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode. 51225 (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing 51226 along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values. 51227 (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode. 51228 * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore. 51229 * rendering/RenderSVGText.cpp: 51230 (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text. 51231 * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method. 51232 (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode. 51233 * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method. 51234 * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y. 51235 (WebCore::SVGRenderBase::isOverflowHidden): 51236 * rendering/SVGRenderSupport.h: 51237 * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()). 51238 (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees. 51239 * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform(). 51240 (WebCore::absoluteTransformForRenderer): 51241 (WebCore::createMaskAndSwapContextForTextGradient): 51242 (WebCore::clipToTextMask): 51243 (WebCore::SVGPaintServerGradient::setup): 51244 51245 2010-02-07 Daniel Bates <dbates (a] webkit.org> 51246 51247 Reviewed by Darin Adler. 51248 51249 https://bugs.webkit.org/show_bug.cgi?id=34402 51250 51251 Implements all of the numeric CSS3 list-style-types as per 51252 section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>. 51253 51254 Test: fast/lists/w3-css3-list-styles-numeric.html 51255 51256 * css/CSSPrimitiveValueMappings.h: 51257 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 51258 * css/CSSValueKeywords.in: 51259 * inspector/front-end/SourceCSSTokenizer.re2js: 51260 * platform/text/CharacterNames.h: Added constant hyphenMinus. 51261 * rendering/RenderListMarker.cpp: 51262 (WebCore::): Defined enum SequenceType. 51263 (WebCore::toAlphabeticOrNumeric): Added. 51264 (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric. 51265 (WebCore::toNumeric): Added. 51266 (WebCore::listMarkerSuffix): 51267 (WebCore::listMarkerText): 51268 (WebCore::RenderListMarker::paint): 51269 (WebCore::RenderListMarker::calcPrefWidths): 51270 (WebCore::RenderListMarker::getRelativeMarkerRect): 51271 * rendering/style/RenderStyle.h: 51272 (WebCore::): 51273 * rendering/style/RenderStyleConstants.h: Added numeric list style types 51274 and fixed indent level for the enum values. 51275 (WebCore::): 51276 51277 2010-02-07 Ismail Donmez <ismail (a] namtrac.org> 51278 51279 Reviewed by Darin Adler. 51280 51281 Include wtf/StringExtras.h for strdup definition, which 51282 is needed for WinCE. 51283 51284 * bridge/IdentifierRep.h: 51285 51286 2010-02-07 Pavel Feldman <pfeldman (a] chromium.org> 51287 51288 Reviewed by Timothy Hatcher. 51289 51290 Web Inspector: Fragment-held Elements Not Shown in Inspector. 51291 51292 https://bugs.webkit.org/show_bug.cgi?id=34680 51293 51294 * inspector/InspectorDOMAgent.cpp: 51295 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 51296 (WebCore::InspectorDOMAgent::buildObjectForNode): 51297 * inspector/front-end/ElementsTreeOutline.js: 51298 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): 51299 51300 2010-02-07 Jian Li <jianli (a] chromium.org> 51301 51302 Reviewed by Darin Fisher. 51303 51304 [chromium] Change chromium interface to handle DownloadURL format. 51305 https://bugs.webkit.org/show_bug.cgi?id=34655 51306 51307 * platform/chromium/ChromiumDataObject.cpp: 51308 (WebCore::ChromiumDataObject::clear): 51309 (WebCore::ChromiumDataObject::hasData): 51310 (WebCore::ChromiumDataObject::ChromiumDataObject): 51311 * platform/chromium/ChromiumDataObject.h: 51312 * platform/chromium/ClipboardChromium.cpp: 51313 (WebCore::ClipboardChromium::setData): 51314 51315 2010-02-06 Dimitri Glazkov <dglazkov (a] chromium.org> 51316 51317 No review, rolling out r54364. 51318 http://trac.webkit.org/changeset/54364 51319 https://bugs.webkit.org/show_bug.cgi?id=34464 51320 51321 Introduced asserts in layout tests, needs more testing 51322 locally. 51323 51324 * accessibility/chromium/AXObjectCacheChromium.cpp: 51325 (WebCore::AXObjectCache::postPlatformNotification): 51326 * page/chromium/ChromeClientChromium.h: 51327 51328 2010-02-06 Dimitri Glazkov <dglazkov (a] chromium.org> 51329 51330 Reviewed by Adam Barth. 51331 51332 Using inlines and function-level statics don't mix, according to gcc. 51333 https://bugs.webkit.org/show_bug.cgi?id=34663 51334 51335 De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines. 51336 51337 It appears that the initialization check, generated by gcc doesn't account 51338 for a possibility that the function may be inlined, resulting in lazy 51339 initialization failure for more than one inlined instance of the function. 51340 51341 No behavior change, so no new tests. 51342 51343 * platform/graphics/cg/GraphicsContextCG.cpp: 51344 (WebCore::deviceRGBColorSpaceRef): 51345 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 51346 51347 2010-02-05 Geoffrey Garen <ggaren (a] apple.com> 51348 51349 Reviewed by Dan Bernstein. 51350 51351 Added an ASSERT to catch an implausible but theoretically possible leak. 51352 51353 In theory, if malloc allocated a UChar buffer directly after a StringImpl, 51354 the StringImpl might incorrecly assume that the UChar buffer was inline, 51355 and fail to delete it. 51356 51357 This ASSERT is somewhat academic, since we don't use the same allocator 51358 in debug builds, but oh well. 51359 51360 * platform/text/StringImpl.cpp: 51361 (WebCore::StringImpl::StringImpl): 51362 (WebCore::StringImpl::createUninitialized): 51363 * platform/text/StringImpl.h: Separated the inline buffer StringImpl 51364 constructor from the out-of-line buffer StringImpl constructor. Made 51365 the former ASSERT that its buffer was indeed inline, and the latter ASSERT 51366 that its buffer was indeed not inline. 51367 51368 2010-02-05 Chris Marrin <cmarrin (a] apple.com> 51369 51370 Reviewed by Simon Fraser. 51371 51372 Fixed changed virtual function in GraphicsLayerCACF and call order issues 51373 https://bugs.webkit.org/show_bug.cgi?id=34348 51374 51375 The correct virtual function in GraphicsLayerCACF is now being 51376 called. We also fixed an issue in QTMovieWin where the size 51377 of the movie was not being set correctly because the call order 51378 was changed. 51379 51380 I also changed the order of a couple of calls in QTMovieWin to account 51381 for changed calling order from the logic above. 51382 51383 * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API 51384 (WebCore::GraphicsLayerCACF::setContentsToMedia): 51385 (WebCore::GraphicsLayerCACF::updateContentsMedia): 51386 * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API 51387 (WebCore::GraphicsLayerCACF::): 51388 * platform/graphics/win/QTMovieWin.cpp: 51389 (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math 51390 (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct 51391 (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize() 51392 (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places 51393 51394 2010-02-05 Enrica Casucci <enrica (a] apple.com> 51395 51396 Reviewed by Simon Fraser. 51397 51398 Horizontal scrollbar works in reverse at milliondollarcu.be 51399 <rdar://problem/7556121> 51400 https://bugs.webkit.org/show_bug.cgi?id=33848 51401 51402 Added a manual test. 51403 51404 * manual-tests/win: Added. 51405 * manual-tests/win/horizontal-scroll-composited.html: Added. 51406 * platform/graphics/win/WKCACFLayerRenderer.cpp: 51407 (WebCore::WKCACFLayerRenderer::setScrollFrame): 51408 (WebCore::WKCACFLayerRenderer::setRootChildLayer): 51409 51410 2010-02-05 Ryan Leavengood <leavengood (a] gmail.com> 51411 51412 Reviewed by David Levin. 51413 51414 Implementation of GlyphPage::fill() for Haiku port. 51415 https://bugs.webkit.org/show_bug.cgi?id=34527 51416 51417 Covered by existing tests. 51418 51419 * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp 51420 51421 2010-01-19 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 51422 51423 Reviewed by Dave Hyatt. 51424 51425 Implement flattening of framesets 51426 https://bugs.webkit.org/show_bug.cgi?id=32717 51427 51428 The following patch, builds ontop of Antti Koivisto's frameset 51429 flattening code from the iPhone source, which itself is based on 51430 the old Nokia Series 60 source. 51431 51432 Layout tests have been added to test the functionality and the original 51433 code which has then been fixed to make these pass, as well as support 51434 frameset grids. 51435 51436 Tests: fast/frames/flattening/frameset-flattening-advanced.html 51437 fast/frames/flattening/frameset-flattening-grid.html 51438 fast/frames/flattening/frameset-flattening-simple.html 51439 fast/frames/flattening/frameset-flattening-subframe-resize.html 51440 fast/frames/flattening/frameset-flattening-subframesets.html 51441 51442 * page/FrameView.cpp: 51443 (WebCore::FrameView::layout): 51444 (WebCore::FrameView::scheduleRelayout): 51445 * page/Settings.cpp: 51446 (WebCore::Settings::Settings): 51447 (WebCore::Settings::setFrameSetFlatteningEnabled): 51448 * page/Settings.h: 51449 (WebCore::Settings::frameSetFlatteningEnabled): 51450 * rendering/RenderFrame.cpp: 51451 (WebCore::RenderFrame::layoutWithFlattening): 51452 * rendering/RenderFrame.h: 51453 * rendering/RenderFrameSet.cpp: 51454 (WebCore::RenderFrameSet::layout): 51455 (WebCore::RenderFrameSet::positionFramesWithFlattening): 51456 (WebCore::RenderFrameSet::flattenFrameSet): 51457 (WebCore::RenderFrameSet::userResize): 51458 * rendering/RenderFrameSet.h: 51459 51460 2010-02-05 Simon Fraser <simon.fraser (a] apple.com> 51461 51462 Reviewed by Dan Bernstein. 51463 51464 Changing display type of parent of input on focus causes input field to not receive key events 51465 https://bugs.webkit.org/show_bug.cgi?id=34620 51466 <rdar://problem/7584572> 51467 51468 When layout affects a text input, the RenderTextControl gets destroyed and 51469 recreated, which in turn makes a new innerTextElement. However, if the text field was 51470 focused, the VisibleSelection is left pointing to the old innerTextElement, so text 51471 input no longer works. 51472 51473 The fix is to call updateFocusAppearanceSoon() when attaching the input element, 51474 which will update the selection if necessary. 51475 51476 Test: fast/forms/restore-selection-after-layout.html 51477 51478 * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable, 51479 m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires. 51480 * dom/Document.cpp: 51481 (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection 51482 (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter. 51483 (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down. 51484 * dom/Element.cpp: 51485 (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false. 51486 * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined. 51487 * html/HTMLInputElement.cpp: 51488 (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true. 51489 51490 2010-02-05 Pavel Feldman <pfeldman (a] chromium.org> 51491 51492 Reviewed by Timothy Hatcher. 51493 51494 Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns. 51495 51496 https://bugs.webkit.org/show_bug.cgi?id=34646 51497 51498 * inspector/front-end/CookieItemsView.js: 51499 (WebInspector.CookieItemsView): 51500 (WebInspector.CookieItemsView.prototype.show): 51501 (WebInspector.CookieItemsView.prototype._update): 51502 (WebInspector.CookieItemsView.prototype._updateWithCookies): 51503 (WebInspector.CookieItemsView.prototype._filterCookiesForDomain): 51504 (WebInspector.CookieItemsView.prototype._createDataGrid): 51505 (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare): 51506 (WebInspector.CookieItemsView.prototype._populateDataGrid): 51507 (WebInspector.CookieItemsView.prototype._createSimpleDataGrid): 51508 (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid): 51509 (WebInspector.CookieItemsView.prototype._deleteCookieCallback): 51510 (WebInspector.CookieItemsView.prototype._refreshButtonClicked): 51511 * inspector/front-end/DOMStorageItemsView.js: 51512 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries): 51513 (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries): 51514 * inspector/front-end/DataGrid.js: 51515 (WebInspector.DataGrid): 51516 (WebInspector.DataGrid.prototype.autoSizeColumns): 51517 * inspector/front-end/DatabaseQueryView.js: 51518 (WebInspector.DatabaseQueryView.prototype._queryFinished): 51519 * inspector/front-end/DatabaseTableView.js: 51520 (WebInspector.DatabaseTableView.prototype._queryFinished): 51521 * inspector/front-end/StoragePanel.js: 51522 (WebInspector.StoragePanel.prototype.dataGridForResult): 51523 51524 2010-02-04 Pavel Feldman <pfeldman (a] chromium.org> 51525 51526 Reviewed by Timothy Hatcher. 51527 51528 Web Inspector: group cookies by frame, show total 51529 cookies size, allow sorting cookie table. 51530 51531 https://bugs.webkit.org/show_bug.cgi?id=34617 51532 51533 * English.lproj/localizedStrings.js: 51534 * inspector/InspectorController.cpp: 51535 (WebCore::InspectorController::deleteCookie): 51536 * inspector/front-end/CookieItemsView.js: 51537 (WebInspector.CookieItemsView): 51538 (WebInspector.CookieItemsView.prototype.update): 51539 (WebInspector.CookieItemsView.prototype._updateWithCookies): 51540 (WebInspector.CookieItemsView.prototype._cookiesForDomain): 51541 (WebInspector.CookieItemsView.prototype.dataGridForCookies): 51542 (WebInspector.CookieItemsView.prototype._createNodes): 51543 (WebInspector.CookieItemsView.prototype._sortData.localeCompare): 51544 (WebInspector.CookieItemsView.prototype._sortData.numberCompare): 51545 (WebInspector.CookieItemsView.prototype._sortData.expiresCompare): 51546 (WebInspector.CookieItemsView.prototype._sortData): 51547 * inspector/front-end/StoragePanel.js: 51548 (WebInspector.StoragePanel.prototype.showCookies): 51549 (WebInspector.CookieSidebarTreeElement): 51550 (WebInspector.CookieSidebarTreeElement.prototype.onselect): 51551 (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): 51552 (WebInspector.CookieSidebarTreeElement.prototype.set subtitle): 51553 * inspector/front-end/inspector.js: 51554 (WebInspector.updateResource): 51555 51556 2010-02-05 Maxime Simone <simon.maxime (a] gmail.com> 51557 51558 Reviewed by David Levin. 51559 51560 More robust conversion from BString to String for Haiku port. 51561 https://bugs.webkit.org/show_bug.cgi?id=34527 51562 51563 Covered by existing tests. 51564 51565 * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString. 51566 51567 2010-02-05 Steve Falkenburg <sfalken (a] apple.com> 51568 51569 Reviewed by Adam Roben. 51570 51571 Windows build fix. 51572 51573 * WebCore.vcproj/WebCore.make: 51574 51575 2010-02-05 Csaba Osztrogonc <ossy (a] webkit.org> 51576 51577 Reviewed by Dirk Schulze. 51578 Rubber-stamped by Kenneth Rohde Christiansen. 51579 51580 [Qt] Modifying SVG path dumping to equal to other ports 51581 https://bugs.webkit.org/show_bug.cgi?id=33784 51582 51583 * platform/graphics/qt/PathQt.cpp: 51584 (WebCore::Path::debugString): Path dumping style is aproached to Mac. 51585 51586 2010-02-05 Sebastian Drge <sebastian.droege (a] collabora.co.uk> 51587 51588 Reviewed by Gustavo Noronha. 51589 51590 Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure 51591 https://bugs.webkit.org/show_bug.cgi?id=34317 51592 51593 * GNUmakefile.am: 51594 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 51595 (WebCore::mediaPlayerPrivateSourceChangedCallback): 51596 (WebCore::doGstInit): 51597 * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp: 51598 * platform/graphics/gtk/WebKitWebSourceGStreamer.h: 51599 Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure. 51600 This makes sure that referer, cookies, authentication information 51601 and all kinds of other context are passed to GStreamer for websites 51602 like Vimeo or YouTube. 51603 51604 2010-02-05 Nate Chapin <japhet (a] chromium.org> 51605 51606 Reviewed by Dimitri Glazkov. 51607 51608 [V8] Clean up code for getting a v8::FunctionTemplate. 51609 51610 https://bugs.webkit.org/show_bug.cgi?id=34606 51611 51612 * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public 51613 * bindings/v8/V8Binding.cpp: 51614 (WebCore::configureTemplate): 51615 * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead. 51616 (WebCore::V8DOMWrapper::getConstructor): 51617 (WebCore::V8DOMWrapper::instantiateV8Object): 51618 * bindings/v8/V8DOMWrapper.h: 51619 (WebCore::V8DOMWrapper::lookupDOMWrapper): 51620 * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates. 51621 (WebCore::V8ClassIndex::getTemplate): 51622 * bindings/v8/V8Index.h: 51623 * bindings/v8/WorkerContextExecutionProxy.cpp: 51624 (WebCore::WorkerContextExecutionProxy::toV8): 51625 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 51626 (WebCore::v8HTMLAudioElementConstructorCallback): 51627 (WebCore::V8HTMLAudioElementConstructor::GetTemplate): 51628 * bindings/v8/custom/V8HTMLAudioElementConstructor.h: 51629 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 51630 (WebCore::v8HTMLImageElementConstructorCallback): 51631 (WebCore::V8HTMLImageElementConstructor::GetTemplate): 51632 * bindings/v8/custom/V8HTMLImageElementConstructor.h: 51633 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 51634 (WebCore::v8HTMLOptionElementConstructorCallback): 51635 (WebCore::V8HTMLOptionElementConstructor::GetTemplate): 51636 * bindings/v8/custom/V8HTMLOptionElementConstructor.h: 51637 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 51638 (WebCore::createInjectedScriptHostV8Wrapper): 51639 51640 2010-02-05 Siddharth Mathur <siddharth.mathur (a] nokia.com> 51641 51642 Reviewed by Ariya Hidayat. 51643 51644 [Qt] Build break in QtWebkit on Symbian 51645 https://bugs.webkit.org/show_bug.cgi?id=34597 51646 51647 * plugins/PluginView.h: 51648 51649 2010-02-05 Yury Semikhatsky <yurys (a] chromium.org> 51650 51651 Reviewed by Pavel Feldman. 51652 51653 - Use SerializedScriptValue for passing data between injected script and 51654 inspector frontend. 51655 - Remove custom JSON implementation from the instpector utility script. 51656 - Make sure that only objects created in the same ScriptState can be values 51657 of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't 51658 want ScriptObjects to leak between contexts. 51659 - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing 51660 it as additional parameter. 51661 51662 https://bugs.webkit.org/show_bug.cgi?id=33592 51663 51664 * bindings/js/JSInjectedScriptHostCustom.cpp: 51665 (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript): 51666 * bindings/js/ScriptArray.cpp: 51667 (WebCore::ScriptArray::set): 51668 * bindings/js/ScriptFunctionCall.cpp: 51669 (WebCore::ScriptFunctionCall::ScriptFunctionCall): 51670 (WebCore::ScriptFunctionCall::appendArgument): 51671 * bindings/js/ScriptFunctionCall.h: 51672 * bindings/js/ScriptObject.cpp: 51673 (WebCore::ScriptObject::set): 51674 * bindings/js/ScriptValue.cpp: 51675 (WebCore::ScriptValue::serialize): 51676 (WebCore::ScriptValue::deserialize): 51677 * bindings/js/ScriptValue.h: 51678 * bindings/v8/ScriptArray.cpp: 51679 (WebCore::ScriptArray::set): 51680 * bindings/v8/ScriptFunctionCall.cpp: 51681 (WebCore::ScriptFunctionCall::ScriptFunctionCall): 51682 (WebCore::ScriptFunctionCall::appendArgument): 51683 * bindings/v8/ScriptFunctionCall.h: 51684 * bindings/v8/ScriptObject.cpp: 51685 (WebCore::ScriptObject::set): 51686 * bindings/v8/ScriptState.h: 51687 * bindings/v8/ScriptValue.cpp: 51688 (WebCore::ScriptValue::serialize): 51689 (WebCore::deserialize): 51690 * bindings/v8/ScriptValue.h: 51691 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 51692 (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback): 51693 * inspector/InjectedScript.cpp: 51694 (WebCore::InjectedScript::dispatch): 51695 (WebCore::InjectedScript::callFrames): 51696 (WebCore::InjectedScript::wrapForConsole): 51697 (WebCore::InjectedScript::releaseWrapperObjectGroup): 51698 * inspector/InjectedScript.h: 51699 * inspector/InjectedScriptHost.cpp: 51700 (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript): 51701 * inspector/InjectedScriptHost.h: 51702 * inspector/InjectedScriptHost.idl: 51703 * inspector/InspectorBackend.cpp: 51704 (WebCore::InspectorBackend::dispatchOnInjectedScript): 51705 * inspector/InspectorController.cpp: 51706 (WebCore::InspectorController::setFrontendProxyObject): 51707 (WebCore::InspectorController::didPause): 51708 (WebCore::InspectorController::didEvaluateForTestInFrontend): 51709 * inspector/InspectorFrontend.cpp: 51710 (WebCore::InspectorFrontend::InspectorFrontend): 51711 (WebCore::InspectorFrontend::newScriptArray): 51712 (WebCore::InspectorFrontend::newScriptObject): 51713 (WebCore::InspectorFrontend::populateFrontendSettings): 51714 (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount): 51715 (WebCore::InspectorFrontend::addConsoleMessage): 51716 (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): 51717 (WebCore::InspectorFrontend::updateResource): 51718 (WebCore::InspectorFrontend::removeResource): 51719 (WebCore::InspectorFrontend::didGetResourceContent): 51720 (WebCore::InspectorFrontend::updateFocusedNode): 51721 (WebCore::InspectorFrontend::setAttachedWindow): 51722 (WebCore::InspectorFrontend::addRecordToTimeline): 51723 (WebCore::InspectorFrontend::parsedScriptSource): 51724 (WebCore::InspectorFrontend::failedToParseScriptSource): 51725 (WebCore::InspectorFrontend::addProfileHeader): 51726 (WebCore::InspectorFrontend::setRecordingProfile): 51727 (WebCore::InspectorFrontend::didGetProfileHeaders): 51728 (WebCore::InspectorFrontend::didGetProfile): 51729 (WebCore::InspectorFrontend::pausedScript): 51730 (WebCore::InspectorFrontend::setDocument): 51731 (WebCore::InspectorFrontend::setDetachedRoot): 51732 (WebCore::InspectorFrontend::setChildNodes): 51733 (WebCore::InspectorFrontend::childNodeCountUpdated): 51734 (WebCore::InspectorFrontend::childNodeInserted): 51735 (WebCore::InspectorFrontend::childNodeRemoved): 51736 (WebCore::InspectorFrontend::attributesUpdated): 51737 (WebCore::InspectorFrontend::didRemoveNode): 51738 (WebCore::InspectorFrontend::didGetChildNodes): 51739 (WebCore::InspectorFrontend::didApplyDomChange): 51740 (WebCore::InspectorFrontend::didGetEventListenersForNode): 51741 (WebCore::InspectorFrontend::didGetCookies): 51742 (WebCore::InspectorFrontend::didDispatchOnInjectedScript): 51743 (WebCore::InspectorFrontend::addDatabase): 51744 (WebCore::InspectorFrontend::selectDatabase): 51745 (WebCore::InspectorFrontend::didGetDatabaseTableNames): 51746 (WebCore::InspectorFrontend::addDOMStorage): 51747 (WebCore::InspectorFrontend::selectDOMStorage): 51748 (WebCore::InspectorFrontend::didGetDOMStorageEntries): 51749 (WebCore::InspectorFrontend::didSetDOMStorageItem): 51750 (WebCore::InspectorFrontend::didRemoveDOMStorageItem): 51751 (WebCore::InspectorFrontend::updateDOMStorage): 51752 (WebCore::InspectorFrontend::addNodesToSearchResult): 51753 (WebCore::InspectorFrontend::contextMenuItemSelected): 51754 (WebCore::InspectorFrontend::evaluateForTestInFrontend): 51755 (WebCore::InspectorFrontend::callSimpleFunction): 51756 * inspector/InspectorFrontend.h: 51757 (WebCore::InspectorFrontend::scriptState): 51758 * inspector/front-end/InjectedScript.js: 51759 (injectedScriptConstructor): 51760 (injectedScriptConstructor.): 51761 * inspector/front-end/InjectedScriptAccess.js: 51762 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback): 51763 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): 51764 (InjectedScriptAccess._installHandler): 51765 * inspector/front-end/inspector.js: 51766 (WebInspector.pausedScript): 51767 (WebInspector.addConsoleMessage): 51768 51769 2010-02-05 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 51770 51771 Reviewed by Simon Hausmann. 51772 51773 [Qt] Generate convenience headers (QWebView, etc) using qmake 51774 51775 In Qt this is done using syncqt, but we use a pro-file instead 51776 that generates makefile-rules for each of the extra headers. 51777 51778 These extra headers are installed alongside the normal headers. 51779 51780 * WebCore.pro: Use headers.pri based on DerivedSources instead 51781 of the one previously checked in in the source tree. 51782 51783 2010-02-05 Mikhail Naganov <mnaganov (a] chromium.org> 51784 51785 Reviewed by Pavel Feldman. 51786 51787 Enable JAVASCRIPT_DEBUGGER in chromium port. 51788 51789 https://bugs.webkit.org/show_bug.cgi?id=34638 51790 51791 * page/Console.cpp: 51792 * page/Console.h: 51793 * page/Console.idl: 51794 51795 2010-02-05 Pavel Feldman <pfeldman (a] chromium.org> 51796 51797 Reviewed by Timothy Hatcher. 51798 51799 Web Inspector: Tab width for javascript source is 8, should be 4 51800 51801 https://bugs.webkit.org/show_bug.cgi?id=31248 51802 51803 * inspector/front-end/SourceFrame.js: 51804 (WebInspector.SourceFrame): 51805 * inspector/front-end/TextEditorModel.js: 51806 (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces): 51807 (WebInspector.TextEditorModel.prototype._innerSetText): 51808 (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded): 51809 51810 2010-02-05 Tony Chang <tony (a] chromium.org> 51811 51812 Reviewed by Eric Seidel. 51813 51814 https://bugs.webkit.org/show_bug.cgi?id=24872 51815 When pasting a list into another list should not indent another level. 51816 If the cursor is at the beginning of the line, it should insert the 51817 list items before the current list item. If the cursor is at the end 51818 of the line, it should insert the list items after the current list item. 51819 51820 This matches Firefox and IE and makes the common activity of reordering a list 51821 work as expected. 51822 51823 This also adds a small helper method (isListItem) to htmlediting.h. 51824 51825 Test: editing/pasteboard/paste-list-002.html 51826 51827 * editing/ReplaceSelectionCommand.cpp: 51828 (WebCore::ReplaceSelectionCommand::doApply): 51829 (WebCore::ReplaceSelectionCommand::insertAsListItems): 51830 * editing/ReplaceSelectionCommand.h: 51831 * editing/htmlediting.cpp: 51832 (WebCore::isListItem): 51833 (WebCore::appendedSublist): 51834 * editing/htmlediting.h: 51835 51836 2010-02-04 Mark Rowe <mrowe (a] apple.com> 51837 51838 Reviewed by Timothy Hatcher. 51839 51840 Build fix. Remove a symbol corresponding to an inline function from the linker export 51841 file to prevent a weak external failure. 51842 51843 * WebCore.base.exp: Remove symbol. 51844 * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script. 51845 51846 2010-02-04 Geoffrey Garen <ggaren (a] apple.com> 51847 51848 Reviewed by Oliver Hunt. 51849 51850 Updated to use new WeakGCPtr::clear interface. 51851 51852 * bindings/js/JSEventListener.cpp: 51853 * bindings/js/JSEventListener.h: 51854 (WebCore::JSEventListener::invalidateJSFunction): 51855 51856 2010-02-04 Geoffrey Garen <ggaren (a] apple.com> 51857 51858 Build fix: Added a forwarding header. 51859 51860 * ForwardingHeaders/runtime/WeakGCPtr.h: Added. 51861 51862 2010-02-04 Geoffrey Garen <ggaren (a] apple.com> 51863 51864 Reviewed by Alexey Proskuryakov and Darin Adler. 51865 51866 REGRESSION (r52082): Missing event handlers on JQuery demo page (33383) 51867 https://bugs.webkit.org/show_bug.cgi?id=33383 51868 <rdar://problem/7559449> 51869 51870 There were two bugs here: 51871 51872 1. A stale wrapper would invalidate a node's event listeners, even if 51873 the node had a fresh wrapper keeping it alive. 51874 51875 The fix for this is for an event listener to keep a WeakGCPtr back-pointer 51876 to the wrapper it expects to mark it. The wrapper destructor checks this 51877 back-pointer, and only invalidates the event listener in the case of a match. 51878 51879 2. Conversely, a stale wrapper would not invalidate a node's event 51880 listeners soon enough, if its destructor didn't have a chance to run 51881 before an event fired on the node. (This can only happen in cases where 51882 we've made some other error and failed to mark a wrapper that was circuitously 51883 observable in the DOM. But we know we have edge case bugs like this, and 51884 we don't want them to be crashes.) 51885 51886 The fix for this is to check the wrapper back-pointer before firing the 51887 event listener. As long as the the wrapper back-pointer is not null, 51888 it's safe to fire the listener. 51889 51890 * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods. 51891 51892 * bindings/js/JSAbstractWorkerCustom.cpp: 51893 (WebCore::JSAbstractWorker::addEventListener): 51894 (WebCore::JSAbstractWorker::removeEventListener): 51895 * bindings/js/JSDOMApplicationCacheCustom.cpp: 51896 (WebCore::JSDOMApplicationCache::addEventListener): 51897 (WebCore::JSDOMApplicationCache::removeEventListener): 51898 * bindings/js/JSDOMWindowCustom.cpp: 51899 (WebCore::JSDOMWindow::markChildren): 51900 (WebCore::JSDOMWindow::addEventListener): 51901 (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper 51902 to the JSEventListener constructor. 51903 51904 * bindings/js/JSEventListener.cpp: 51905 (WebCore::JSEventListener::JSEventListener): 51906 (WebCore::JSEventListener::initializeJSFunction): 51907 (WebCore::JSEventListener::invalidateJSFunction): 51908 * bindings/js/JSEventListener.h: 51909 (WebCore::JSEventListener::create): 51910 (WebCore::JSEventListener::isolatedWorld): 51911 (WebCore::JSEventListener::wrapper): 51912 (WebCore::JSEventListener::setWrapper): 51913 (WebCore::JSEventListener::jsFunction): 51914 (WebCore::createJSAttributeEventListener): Implemented the back-pointer 51915 described above. Refactored the jsFunction() accessor to return 0 if 51916 the wrapper back-pointer is 0. 51917 51918 * bindings/js/JSEventSourceCustom.cpp: 51919 (WebCore::JSEventSource::addEventListener): 51920 (WebCore::JSEventSource::removeEventListener): 51921 * bindings/js/JSLazyEventListener.cpp: 51922 (WebCore::JSLazyEventListener::JSLazyEventListener): 51923 (WebCore::JSLazyEventListener::initializeJSFunction): 51924 * bindings/js/JSLazyEventListener.h: 51925 (WebCore::JSLazyEventListener::create): 51926 * bindings/js/JSMessagePortCustom.cpp: 51927 (WebCore::JSMessagePort::markChildren): 51928 (WebCore::JSMessagePort::addEventListener): 51929 (WebCore::JSMessagePort::removeEventListener): 51930 * bindings/js/JSNodeCustom.cpp: 51931 (WebCore::JSNode::addEventListener): 51932 (WebCore::JSNode::removeEventListener): 51933 (WebCore::JSNode::markChildren): 51934 * bindings/js/JSSVGElementInstanceCustom.cpp: 51935 (WebCore::JSSVGElementInstance::addEventListener): 51936 (WebCore::JSSVGElementInstance::removeEventListener): 51937 * bindings/js/JSWebSocketCustom.cpp: 51938 (WebCore::JSWebSocket::addEventListener): 51939 (WebCore::JSWebSocket::removeEventListener): 51940 * bindings/js/JSWorkerContextCustom.cpp: 51941 (WebCore::JSWorkerContext::markChildren): 51942 (WebCore::JSWorkerContext::addEventListener): 51943 (WebCore::JSWorkerContext::removeEventListener): 51944 * bindings/js/JSXMLHttpRequestCustom.cpp: 51945 (WebCore::JSXMLHttpRequest::markChildren): 51946 (WebCore::JSXMLHttpRequest::addEventListener): 51947 (WebCore::JSXMLHttpRequest::removeEventListener): 51948 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 51949 (WebCore::JSXMLHttpRequestUpload::markChildren): 51950 (WebCore::JSXMLHttpRequestUpload::addEventListener): 51951 (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper 51952 to the JSEventListener constructor. 51953 51954 51955 * bindings/js/ScriptEventListener.cpp: 51956 (WebCore::createAttributeEventListener): Updated to pass a wrapper 51957 to the JSEventListener constructor. 51958 (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction() 51959 is no longer a virtual accessor on the EventHandler base class. 51960 51961 * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction() 51962 is no longer a virtual accessor on the EventHandler base class. Added a "JS" 51963 to invalidateEventListeners and markEventListeners to clarify that these 51964 actions are for JS event listeners only. Added a wrapper parameter to 51965 invalidateEventListeners for the back-pointer check explained above. 51966 51967 * dom/EventListener.h: 51968 (WebCore::EventListener::invalidateJSFunction): ditto 51969 51970 * dom/EventTarget.h: 51971 (WebCore::EventTarget::markJSEventListeners): 51972 (WebCore::EventTarget::invalidateJSEventListeners): ditto 51973 51974 2010-02-04 Tony Chang <tony (a] chromium.org> 51975 51976 Reviewed by Eric Seidel. 51977 51978 https://bugs.webkit.org/show_bug.cgi?id=25002 51979 When inserting a new paragraph, avoid nesting empty divs. When 51980 pasting near the end of a paragraph, this prevents each paste 51981 command for getting nested one level deeper. 51982 51983 Test: editing/inserting/paragraph-outside-nested-divs.html 51984 51985 * editing/InsertParagraphSeparatorCommand.cpp: 51986 (WebCore::highestVisuallyEquivalentDiv): 51987 (WebCore::InsertParagraphSeparatorCommand::doApply): 51988 51989 2010-02-04 Dumitru Daniliuc <dumi (a] chromium.org> 51990 51991 Reviewed by Eric Seidel. 51992 51993 1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always 51994 succeeds. 51995 2. Jump straight to the transaction error callback when a 51996 statement fails in a way that makes sqlite automatically rollback 51997 the transaction. 51998 3. Fix the code that handles the "quota reached" failure, as it is 51999 one of the failures that lead to an automatic transaction 52000 rollback. 52001 52002 https://bugs.webkit.org/show_bug.cgi?id=34280 52003 52004 * platform/sql/SQLiteDatabase.cpp: 52005 (WebCore::SQLiteDatabase::isAutoCommitOn): 52006 * platform/sql/SQLiteDatabase.h: 52007 * platform/sql/SQLiteTransaction.cpp: 52008 (WebCore::SQLiteTransaction::begin): 52009 (WebCore::SQLiteTransaction::commit): 52010 (WebCore::SQLiteTransaction::rollback): 52011 (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite): 52012 * platform/sql/SQLiteTransaction.h: 52013 * storage/SQLTransaction.cpp: 52014 (WebCore::SQLTransaction::SQLTransaction): 52015 (WebCore::SQLTransaction::runStatements): 52016 (WebCore::SQLTransaction::runCurrentStatement): 52017 (WebCore::SQLTransaction::handleCurrentStatementError): 52018 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): 52019 52020 2010-02-04 Peter Kasting <pkasting (a] google.com> 52021 52022 Not reviewed, rollback. 52023 52024 Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior. 52025 52026 * platform/chromium/ScrollbarThemeChromiumMac.h: 52027 52028 2010-02-04 Stephen White <senorblanco (a] chromium.org> 52029 52030 Unreviewed, build fix. 52031 52032 Fix for Chromium/Mac after palindromic scrollbar change (54345). 52033 52034 Covered by many layout tests. 52035 52036 * platform/chromium/ScrollbarThemeChromiumMac.h: 52037 (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages): 52038 52039 2010-02-04 Clemmitt Sigler <cmsigler (a] gmail.com> 52040 52041 Reviewed by David Levin. 52042 52043 WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified. 52044 Updated WebCore/GNUmakefile.am to include needed files in build. 52045 52046 https://bugs.webkit.org/show_bug.cgi?id=34387 52047 52048 No new tests. 52049 52050 * GNUmakefile.am: 52051 52052 2010-02-04 Stephan Amus <superstippi (a] gmx.de> 52053 52054 Reviewed by David Levin. 52055 52056 Misc coding style fixes in Haiku port code. 52057 https://bugs.webkit.org/show_bug.cgi?id=34527 52058 52059 No tests needed. 52060 52061 * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0 52062 * platform/haiku/DragImageHaiku.cpp: Trailing white space. 52063 * platform/haiku/FileChooserHaiku.cpp: Sorted headers. 52064 * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h 52065 52066 2010-02-04 Enrica Casucci <enrica (a] apple.com> 52067 52068 Reviewed by Csaba Osztrogonac. 52069 52070 Fixed crash on QT introduced with the fix for 52071 https://bugs.webkit.org/show_bug.cgi?id=34609 52072 52073 The test has been added with the original patch. 52074 52075 * platform/qt/ClipboardQt.cpp: 52076 (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData. 52077 52078 2010-02-04 Christian Dywan <christian (a] twotoasts.de> 52079 52080 Reviewed by Xan Lopez. 52081 52082 Conditionalize third party cookie policy for libsoup 2.29.90. 52083 52084 * platform/network/soup/CookieJarSoup.cpp: 52085 (WebCore::setCookies): 52086 * platform/network/soup/DNSSoup.cpp: 52087 (WebCore::prefetchDNS): 52088 * platform/network/soup/ResourceHandleSoup.cpp: 52089 (WebCore::restartedCallback): 52090 (WebCore::startHttp): 52091 * platform/network/soup/ResourceRequestSoup.cpp: 52092 (WebCore::ResourceRequest::toSoupMessage): 52093 (WebCore::ResourceRequest::updateFromSoupMessage): 52094 52095 2010-02-04 Christian Dywan <christian (a] twotoasts.de> 52096 52097 Rubber-stamped by Gustavo Noronha Silva. 52098 52099 Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation. 52100 52101 * platform/gtk/GOwnPtrGtk.cpp: 52102 52103 2010-02-04 Alexey Proskuryakov <ap (a] apple.com> 52104 52105 Reviewed by Darin Adler. 52106 52107 Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1 52108 https://bugs.webkit.org/show_bug.cgi?id=34520 52109 52110 Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html 52111 52112 * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute 52113 properties before attributes. Otherwise, copying "checked" attribute would make the cloned 52114 node checked, unchecking original (they share a name, and are thus in the same radio group). 52115 We do want the original to be unchecked, but we also want to know its original state in 52116 HTMLInputElement::copyNonAttributeProperties(). 52117 52118 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties): 52119 Use setChecked instead of plain assignment to prevent m_checked getting out of sync with 52120 checkedRadioButtons. Also, copy field related to default checked state, so that m_checked 52121 won't be overridden when copying attributes. 52122 52123 2010-02-04 Kevin Ollivier <kevino (a] theolliviers.com> 52124 52125 [wx] Build fix after addition of Clipboard::writePlainText method. 52126 52127 * platform/wx/ClipboardWx.cpp: 52128 (WebCore::ClipboardWx::writePlainText): 52129 * platform/wx/ClipboardWx.h: 52130 52131 2010-02-04 Enrica Casucci <enrica (a] apple.com> 52132 52133 Reviewed by Oliver Hunt. 52134 52135 REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info. 52136 <rdar://problem/7595685> 52137 https://bugs.webkit.org/show_bug.cgi?id=34609 52138 52139 Test: editing/pasteboard/drop-inputtext-acquires-style.html 52140 52141 The dragging code did not distinguish the case of dragging the content of an input control 52142 as a special case. The markup placed in the pasteboard included the style information. 52143 I've modified the Clipboard class interface adding a new method writePlainText to match the 52144 behavior of the copy and cut commands and modified the drag code to detect the special case. 52145 I've modified all the platform specific implementations of the Clipboard class. 52146 52147 * dom/Clipboard.h: Added writePlainText pure virtual function. 52148 * editing/Editor.cpp: 52149 (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl. 52150 (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl. 52151 * editing/htmlediting.cpp: 52152 (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name 52153 in Editor.cpp 52154 * editing/htmlediting.h: 52155 * page/DragController.cpp: 52156 (WebCore::DragController::startDrag): 52157 * platform/Pasteboard.h: 52158 * platform/android/ClipboardAndroid.cpp: 52159 (WebCore::ClipboardAndroid::writePlainText): Added. 52160 * platform/android/ClipboardAndroid.h: 52161 * platform/chromium/ClipboardChromium.cpp: 52162 (WebCore::ClipboardChromium::writePlainText): Added. 52163 * platform/chromium/ClipboardChromium.h: 52164 * platform/gtk/ClipboardGtk.cpp: 52165 (WebCore::ClipboardGtk::writePlainText): Added. 52166 * platform/gtk/ClipboardGtk.h: 52167 * platform/haiku/ClipboardHaiku.cpp: 52168 (WebCore::ClipboardHaiku::writePlainText): Added. 52169 * platform/haiku/ClipboardHaiku.h: 52170 * platform/mac/ClipboardMac.h: 52171 * platform/mac/ClipboardMac.mm: 52172 (WebCore::ClipboardMac::writePlainText): Added. 52173 * platform/mac/PasteboardMac.mm: 52174 (WebCore::Pasteboard::writePlainText): Added helper function. 52175 * platform/qt/ClipboardQt.cpp: 52176 (WebCore::ClipboardQt::writePlainText): Added. 52177 * platform/qt/ClipboardQt.h: 52178 * platform/win/ClipboardWin.cpp: 52179 (WebCore::ClipboardWin::writePlainText): Added. 52180 * platform/win/ClipboardWin.h: 52181 52182 2010-02-04 Steve Block <steveblock (a] google.com> 52183 52184 Reviewed by Nate Chapin. 52185 52186 Fix bug in V8 convertNPVariantToJValue when converting float and double types 52187 https://bugs.webkit.org/show_bug.cgi?id=34593 52188 52189 No new tests, build fix only. 52190 52191 * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified. 52192 (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum. 52193 52194 2010-02-04 Chris Guillory <chris.guillory (a] google.com> 52195 52196 Reviewed by Darin Fisher. 52197 52198 [Chromium] Notify ChromeClientChromium of AccessibilityObject state 52199 change notifications. 52200 52201 https://bugs.webkit.org/show_bug.cgi?id=34464 52202 52203 * accessibility/chromium/AXObjectCacheChromium.cpp: 52204 (WebCore::toChromeClientChromium): 52205 (WebCore::AXObjectCache::postPlatformNotification): 52206 * page/chromium/ChromeClientChromium.h: 52207 52208 2010-02-04 Stephen White <senorblanco (a] chromium.org> 52209 52210 Unreviewed, build fix for Chromium. 52211 52212 Revert r54341 ("[v8] Remove clear method from DOM object maps"), 52213 since it causes the worker tests to fail on Chromium. 52214 52215 * bindings/v8/DOMData.h: 52216 (WebCore::DOMData::removeObjectsFromWrapperMap): 52217 * bindings/v8/DOMDataStore.h: 52218 (WebCore::ChunkedTable::clear): 52219 (WebCore::ChunkedTable::clearEntries): 52220 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear): 52221 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear): 52222 * bindings/v8/V8DOMMap.cpp: 52223 (WebCore::removeAllDOMObjectsInCurrentThreadHelper): 52224 (WebCore::removeAllDOMObjectsInCurrentThread): 52225 * bindings/v8/V8DOMMap.h: 52226 (WebCore::WeakReferenceMap::clear): 52227 * bindings/v8/WorkerScriptController.cpp: 52228 (WebCore::WorkerScriptController::~WorkerScriptController): 52229 52230 2010-02-04 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 52231 52232 Reviewed by Xan Lopez. 52233 52234 [GTK] Crashes when an invalid hostname is pre-fetched 52235 https://bugs.webkit.org/show_bug.cgi?id=34602 52236 52237 * platform/network/soup/DNSSoup.cpp: 52238 (WebCore::prefetchDNS): NULL-check the SoupURI that is created 52239 from the hostname; that will happen for invalid hostnames. 52240 52241 2010-02-04 Jos Milln Soto <jmillan (a] igalia.com> 52242 52243 Reviewed by Xan Lopez. 52244 52245 [Gtk] webkitgtk crashed when Orca open 52246 https://bugs.webkit.org/show_bug.cgi?id=34463 52247 52248 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 52249 (textForObject): 52250 Checking if render objects are texts before calling toRenderText 52251 52252 2010-02-04 Xan Lopez <xlopez (a] igalia.com> 52253 52254 Reviewed by Gustavo Noronha. 52255 52256 Set first party URI in all SoupMessages. This allows libsoup to 52257 implement a "no third party cookies" policy in case it wants 52258 to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and 52259 use it for SoupURI. 52260 52261 * platform/network/soup/CookieJarSoup.cpp: 52262 (WebCore::setCookies): 52263 * platform/network/soup/ResourceHandleSoup.cpp: 52264 (WebCore::restartedCallback): 52265 (WebCore::startHttp): 52266 * platform/network/soup/ResourceRequestSoup.cpp: 52267 (WebCore::ResourceRequest::toSoupMessage): 52268 (WebCore::ResourceRequest::updateFromSoupMessage): 52269 52270 2010-02-04 Pavel Feldman <pfeldman (a] chromium.org> 52271 52272 Reviewed by Timothy Hatcher. 52273 52274 Web Inspector: group cookies by domains, not frame's domains. 52275 52276 https://bugs.webkit.org/show_bug.cgi?id=34599 52277 52278 * inspector/front-end/CookieItemsView.js: 52279 (WebInspector.CookieItemsView.prototype._cookiesForDomain): 52280 * inspector/front-end/inspector.js: 52281 (WebInspector.updateResource): 52282 (WebInspector._addCookieDomain): 52283 52284 2010-02-04 Nate Chapin <japhet (a] chromium.org> 52285 52286 Reviewed by Dimitri Glazkov. 52287 52288 [V8] Delete V8CustomBinding.h and all references to V8Custom 52289 52290 https://bugs.webkit.org/show_bug.cgi?id=32638 52291 52292 * bindings/v8/NPV8Object.cpp: 52293 * bindings/v8/V8DOMWindowShell.h: 52294 * bindings/v8/V8NPObject.cpp: 52295 * bindings/v8/V8Utilities.cpp: 52296 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: 52297 * bindings/v8/custom/V8AttrCustom.cpp: 52298 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 52299 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 52300 * bindings/v8/custom/V8ClipboardCustom.cpp: 52301 * bindings/v8/custom/V8CoordinatesCustom.cpp: 52302 * bindings/v8/custom/V8CustomBinding.h: Removed. 52303 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: 52304 * bindings/v8/custom/V8DOMWindowCustom.cpp: 52305 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: 52306 * bindings/v8/custom/V8DatabaseCustom.cpp: 52307 * bindings/v8/custom/V8ElementCustom.cpp: 52308 * bindings/v8/custom/V8EventSourceConstructor.cpp: 52309 * bindings/v8/custom/V8EventSourceCustom.cpp: 52310 * bindings/v8/custom/V8GeolocationCustom.cpp: 52311 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 52312 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 52313 (WebCore::v8HTMLAudioElementConstructorCallback): 52314 (WebCore::V8HTMLAudioElementConstructor::GetTemplate): 52315 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 52316 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: 52317 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: 52318 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: 52319 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 52320 (WebCore::v8HTMLImageElementConstructorCallback): 52321 (WebCore::V8HTMLImageElementConstructor::GetTemplate): 52322 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 52323 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: 52324 (WebCore::v8HTMLOptionElementConstructorCallback): 52325 (WebCore::V8HTMLOptionElementConstructor::GetTemplate): 52326 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 52327 * bindings/v8/custom/V8HistoryCustom.cpp: 52328 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 52329 * bindings/v8/custom/V8LocationCustom.cpp: 52330 * bindings/v8/custom/V8MessagePortCustom.cpp: 52331 * bindings/v8/custom/V8NodeCustom.cpp: 52332 * bindings/v8/custom/V8NodeFilterCustom.cpp: 52333 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 52334 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 52335 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: 52336 * bindings/v8/custom/V8SVGLengthCustom.cpp: 52337 * bindings/v8/custom/V8SharedWorkerCustom.cpp: 52338 * bindings/v8/custom/V8StorageCustom.cpp: 52339 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: 52340 * bindings/v8/custom/V8WebGLArrayCustom.h: 52341 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 52342 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 52343 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 52344 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 52345 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 52346 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 52347 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 52348 * bindings/v8/custom/V8WebKitPointConstructor.cpp: 52349 * bindings/v8/custom/V8WorkerContextCustom.cpp: 52350 * bindings/v8/custom/V8WorkerCustom.cpp: 52351 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 52352 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 52353 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 52354 52355 2010-02-04 Ariya Hidayat <ariya.hidayat (a] gmail.com> 52356 52357 Reviewed by Simon Hausmann. 52358 52359 [Qt] Unnecessary QBrush construction for doing a solid fill 52360 https://bugs.webkit.org/show_bug.cgi?id=34559 52361 52362 Use the similar trick like r37421, i.e. use the special brush for 52363 solid color to avoid creating QBrush again and again. 52364 52365 * platform/graphics/qt/GraphicsContextQt.cpp: 52366 (WebCore::GraphicsContext::setPlatformFillColor): 52367 52368 2010-02-04 Dan Bernstein <mitz (a] apple.com> 52369 52370 Reviewed by Simon Fraser. 52371 52372 REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big 52373 https://bugs.webkit.org/show_bug.cgi?id=34371 52374 52375 Allow ScrollbarTheme to cap the overlap between pages, and set a cap of 52376 40 in ScrollbarThemeMac. 52377 52378 * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages(). 52379 * editing/EditorCommand.cpp: 52380 (WebCore::verticalScrollDistance): Use Scrollbar methods instead of 52381 constants, and cap the scroll distance if needed. 52382 * platform/ScrollView.cpp: 52383 (WebCore::ScrollView::updateScrollbars): Ditto. 52384 (WebCore::ScrollView::wheelEvent): Ditto. 52385 * platform/Scrollbar.cpp: 52386 (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the 52387 value from the native scrollbar theme. 52388 * platform/Scrollbar.h: Replaced scroll amount constants with static methods. 52389 (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep. 52390 (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging. 52391 * platform/ScrollbarTheme.h: 52392 (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation 52393 that returns the largest int. 52394 * platform/gtk/WheelEventGtk.cpp: 52395 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of 52396 constants. 52397 * platform/haiku/PlatformWheelEventHaiku.cpp: 52398 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of 52399 constants. 52400 * platform/mac/ScrollbarThemeMac.h: 52401 (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override 52402 that returns 40. 52403 * platform/mac/WheelEventMac.mm: 52404 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use 52405 Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep. 52406 * platform/wx/MouseWheelEventWx.cpp: 52407 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of 52408 constants. 52409 * platform/wx/ScrollViewWx.cpp: 52410 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar 52411 methods instead of constants, and cap the scroll distance if needed. 52412 * rendering/RenderLayer.cpp: 52413 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto. 52414 52415 2010-02-04 No'am Rosenthal <noam.rosenthal (a] nokia.com> 52416 52417 Reviewed by Ariya Hidayat. 52418 52419 [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary 52420 recaching, remove QTimer::singleShot and QPixmap::scaled, more 52421 accurate strategy of handling transform operation blends. Rotating a 52422 bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5. 52423 52424 https://bugs.webkit.org/show_bug.cgi?id=34062 52425 52426 This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements. 52427 52428 * platform/graphics/qt/GraphicsLayerQt.cpp: 52429 (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching 52430 (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs 52431 (WebCore::OpacityAnimationQt::updateState): style change 52432 52433 2010-02-04 Pavel Feldman <pfeldman (a] chromium.org> 52434 52435 Reviewed by Timothy Hatcher. 52436 52437 Web Inspector: Cookies for resources are not shown in storage panel. 52438 52439 https://bugs.webkit.org/show_bug.cgi?id=34594 52440 52441 * inspector/InspectorController.cpp: 52442 (WebCore::InspectorController::getCookies): 52443 * inspector/InspectorResource.cpp: 52444 (WebCore::InspectorResource::updateScriptObject): 52445 (WebCore::InspectorResource::cachedResource): 52446 * inspector/InspectorResource.h: 52447 (WebCore::InspectorResource::requestURL): 52448 52449 2010-02-04 Anton Muhin <antonm (a] chromium.org> 52450 52451 Reviewed by Adam Barth. 52452 52453 [v8] Remove clear method from DOM object maps 52454 https://bugs.webkit.org/show_bug.cgi?id=34530 52455 52456 No new tests. Should be covered by existent testing infrastructure. 52457 52458 * bindings/v8/DOMData.h: 52459 * bindings/v8/DOMDataStore.h: 52460 * bindings/v8/V8DOMMap.cpp: 52461 * bindings/v8/V8DOMMap.h: 52462 * bindings/v8/WorkerScriptController.cpp: 52463 (WebCore::WorkerScriptController::~WorkerScriptController): 52464 52465 2010-02-04 Holger Hans Peter Freyther <zecke (a] selfish.org> 52466 52467 Reviewed by Xan Lopez. 52468 52469 [Gtk] Check if the renderer() exists in textForObject. 52470 52471 This is fixing a crash in the textForObject method. It can 52472 happen when inspecting AtkObjects in the accerciser, then 52473 navigating to a new page and still inspecting the old tree. 52474 52475 In this case the AccessibilityObjectWrapperAtk was still 52476 valid but the included renderer() was returning 0. Add a 52477 check for the accObject->renderer() before trying to use 52478 the result. 52479 52480 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 52481 (textForObject): 52482 52483 2010-02-04 Yury Semikhatsky <yurys (a] chromium.org> 52484 52485 Reviewed by Pavel Feldman. 52486 52487 Provide strongly typed C++ interface for inspector's injected script. 52488 52489 https://bugs.webkit.org/show_bug.cgi?id=33616 52490 52491 * GNUmakefile.am: 52492 * WebCore.gypi: 52493 * WebCore.pro: 52494 * WebCore.vcproj/WebCore.vcproj: 52495 * WebCore.xcodeproj/project.pbxproj: 52496 * bindings/js/JSInjectedScriptHostCustom.cpp: 52497 (WebCore::InjectedScriptHost::injectedScriptFor): 52498 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 52499 (WebCore::InjectedScriptHost::injectedScriptFor): 52500 * inspector/InjectedScript.cpp: Added. 52501 (WebCore::InjectedScript::InjectedScript): 52502 (WebCore::InjectedScript::dispatch): 52503 (WebCore::InjectedScript::callFrames): 52504 (WebCore::InjectedScript::wrapAndStringifyForConsole): 52505 (WebCore::InjectedScript::releaseWrapperObjectGroup): 52506 * inspector/InjectedScript.h: Added. 52507 (WebCore::InjectedScript::InjectedScript): 52508 (WebCore::InjectedScript::~InjectedScript): 52509 (WebCore::InjectedScript::hasNoValue): 52510 * inspector/InjectedScriptHost.cpp: 52511 (WebCore::InjectedScriptHost::injectedScriptForId): 52512 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup): 52513 * inspector/InjectedScriptHost.h: 52514 * inspector/InspectorBackend.cpp: 52515 (WebCore::InspectorBackend::dispatchOnInjectedScript): 52516 * inspector/InspectorController.cpp: 52517 (WebCore::InspectorController::InspectorController): 52518 (WebCore::InspectorController::~InspectorController): 52519 (WebCore::InspectorController::inspectedPageDestroyed): 52520 (WebCore::InspectorController::windowScriptObjectAvailable): 52521 (WebCore::InspectorController::scriptObjectReady): 52522 (WebCore::InspectorController::setFrontendProxyObject): 52523 (WebCore::InspectorController::close): 52524 (WebCore::InspectorController::getProfile): 52525 (WebCore::InspectorController::enableDebugger): 52526 (WebCore::InspectorController::didPause): 52527 (WebCore::InspectorController::injectedScriptForNodeId): 52528 * inspector/InspectorController.h: 52529 (WebCore::InspectorController::frontendScriptState): 52530 * inspector/InspectorFrontend.cpp: 52531 (WebCore::InspectorFrontend::addConsoleMessage): 52532 * inspector/front-end/InjectedScript.js: 52533 (injectedScriptConstructor): 52534 52535 2010-02-04 Philippe Normand <pnormand (a] igalia.com> 52536 52537 Rubber stamped by Xan Lopez. 52538 52539 Missing include, build fix after landing of patch from the bug 34435. 52540 52541 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 52542 52543 2010-02-02 Philippe Normand <pnormand (a] igalia.com> 52544 52545 Reviewed by Gustavo Noronha Silva. 52546 52547 [Gtk] libsoup critical warning in media player http cookies injection code 52548 https://bugs.webkit.org/show_bug.cgi?id=34435 52549 52550 Fixed the critical warning and refactored the 52551 User-Agent/Referer/cookies injection code, in that order. Previous 52552 order (cookies first) was wrong because if cookies injection could 52553 not be done neither the User-Agent nor Referer were injected. Also 52554 started a non-JSC-specific, gtk-specific GOwnPtr module. 52555 52556 * GNUmakefile.am: 52557 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 52558 (WebCore::mediaPlayerPrivateSourceChangedCallback): 52559 * platform/gtk/GOwnPtrGtk.cpp: Added. 52560 (WTF::SoupURI): 52561 (WTF::GstElement): 52562 * platform/gtk/GOwnPtrGtk.h: Added. 52563 52564 2010-02-04 Mikhail Naganov <mnaganov (a] chromium.org> 52565 52566 Reviewed by Timothy Hatcher. 52567 52568 Put JSC-specific debugger & profiler code under "USE(JSC)" defines. 52569 The plan is to enable "JAVASCRIPT_DEBUGGER" in Chromium and then 52570 make this code engine-agnostic. 52571 52572 https://bugs.webkit.org/show_bug.cgi?id=34531 52573 52574 * inspector/InjectedScriptHost.cpp: 52575 * inspector/InjectedScriptHost.h: 52576 * inspector/InspectorBackend.cpp: 52577 * inspector/InspectorBackend.h: 52578 * inspector/InspectorController.cpp: 52579 (WebCore::InspectorController::InspectorController): 52580 (WebCore::InspectorController::setWindowVisible): 52581 (WebCore::InspectorController::scriptObjectReady): 52582 (WebCore::InspectorController::close): 52583 (WebCore::InspectorController::didCommitLoad): 52584 * inspector/InspectorController.h: 52585 * inspector/InspectorFrontend.cpp: 52586 * inspector/InspectorFrontend.h: 52587 * inspector/JavaScriptCallFrame.cpp: 52588 * inspector/JavaScriptCallFrame.h: 52589 * inspector/JavaScriptDebugListener.h: 52590 * inspector/JavaScriptDebugServer.cpp: 52591 * inspector/JavaScriptDebugServer.h: 52592 * inspector/JavaScriptProfile.cpp: 52593 * inspector/JavaScriptProfile.h: 52594 * inspector/JavaScriptProfileNode.cpp: 52595 * inspector/JavaScriptProfileNode.h: 52596 * loader/FrameLoader.cpp: 52597 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 52598 * page/Page.cpp: 52599 (WebCore::Page::Page): 52600 52601 2010-02-03 Nicholas Young <nicholas.young (a] nokia.com> 52602 52603 Reviewed by Eric Carlson. 52604 52605 Defer formatting of times displayed on media controls to the current theme. 52606 https://bugs.webkit.org/show_bug.cgi?id=34405 52607 52608 No new tests needed. Refactoring Only. 52609 52610 * rendering/MediaControlElements.cpp: Removed formatTime() 52611 (WebCore::MediaControlTimeDisplayElement::setCurrentValue): No longer sets inner text 52612 * rendering/MediaControlElements.h: 52613 * rendering/RenderMedia.cpp: 52614 (WebCore::RenderMedia::updateTimeDisplay): Asks the theme to format the time display elements 52615 * rendering/RenderTheme.cpp: 52616 (WebCore::RenderTheme::formatMediaControlsTime): new virtual method 52617 (WebCore::RenderTheme::formatMediaControlsCurrentTime): new virtual method 52618 (WebCore::RenderTheme::formatMediaControlsRemainingTime): new virtual method 52619 * rendering/RenderTheme.h: 52620 52621 2010-02-03 Steve Falkenburg <sfalken (a] apple.com> 52622 52623 Windows Debug_All build fix. 52624 52625 * platform/graphics/win/WKCACFLayer.cpp: 52626 52627 2010-02-03 Brady Eidson <beidson (a] apple.com> 52628 52629 Reviewed by Alexey Proskuryakov. 52630 52631 REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails 52632 <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550 52633 52634 Tests: fast/loader/document-with-fragment-url-1.html 52635 fast/loader/document-with-fragment-url-2.html 52636 fast/loader/document-with-fragment-url-3.html 52637 fast/loader/document-with-fragment-url-4.html 52638 52639 * platform/KURL.cpp: 52640 (WebCore::KURL::init): When resolving new URL from an empty reference relative to an absolute URL, 52641 any fragment identifier from the absolute URL should be removed from the resulting resolution. 52642 52643 2010-02-03 Kwang Yul Seo <skyul (a] company100.net> 52644 52645 Reviewed by Eric Seidel. 52646 52647 [BREWMP] Port TextBreakIteratorInternalICU 52648 https://bugs.webkit.org/show_bug.cgi?id=34515 52649 52650 Port TextBreakIteratorInternalICU. 52651 52652 * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added. 52653 (WebCore::currentSearchLocaleID): 52654 (WebCore::currentTextBreakLocaleID): 52655 52656 2010-02-03 Adele Peterson <adele (a] apple.com> 52657 52658 Reviewed by Simon Fraser. 52659 52660 Fix for <rdar://problem/7594212> 52661 https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/ 52662 CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319 52663 52664 Test: fast/css/counters/counter-before-selector-crash.html 52665 52666 * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check. 52667 52668 2010-02-03 Adele Peterson <adele (a] apple.com> 52669 52670 Reviewed by Brady Eidson. 52671 52672 Initialize the variable in the last checkin to false. I didn't realize DRT relies on this being false. 52673 So ports that want visited link tracking need to set that flag. 52674 52675 * page/PageGroup.cpp: 52676 52677 2010-02-03 Adele Peterson <adele (a] apple.com> 52678 52679 Reviewed by Brady Eidson. 52680 52681 Fix for https://bugs.webkit.org/show_bug.cgi?id=34547 52682 static shouldTrackVisitedLinks is not initialized 52683 52684 For ports that don't call into WebKit to initialize this, 52685 we should initialize to true so they get the visited link behavior by default. 52686 52687 * page/PageGroup.cpp: 52688 52689 2010-02-03 Dan Bernstein <mitz (a] apple.com> 52690 52691 Reviewed by Simon Fraser. 52692 52693 <rdar://problem/7577604> Drag and Drop: background elements are bleeding through 52694 https://bugs.webkit.org/show_bug.cgi?id=34546 52695 52696 * manual-tests/drag-image-table-part-decorations.html: Added. 52697 * rendering/RenderFieldset.cpp: 52698 (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldnt 52699 paint within the current painting root. 52700 * rendering/RenderTable.cpp: 52701 (WebCore::RenderTable::paintBoxDecorations): Ditto. 52702 * rendering/RenderTableCell.cpp: 52703 (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto. 52704 (WebCore::RenderTableCell::paintBoxDecorations): Ditto. 52705 52706 2010-02-03 Nate Chapin <japhet (a] chromium.org> 52707 52708 Unreviewed, Chromium mac build fix. 52709 52710 [V8] Remove unused V8Proxy* variable from generated wrapping code. 52711 52712 * bindings/scripts/CodeGeneratorV8.pm: 52713 52714 2010-02-03 Nate Chapin <japhet (a] chromium.org> 52715 52716 Reviewed by Dimitri Glazkov. 52717 52718 [V8] Use toV8() to wrap in the custom bindings, and remove 52719 the old wrapping code from V8DOMWrapper. 52720 52721 https://bugs.webkit.org/show_bug.cgi?id=32563 52722 52723 * bindings/scripts/CodeGeneratorV8.pm: 52724 * bindings/v8/ScriptController.cpp: 52725 * bindings/v8/ScriptObject.cpp: 52726 * bindings/v8/V8AbstractEventListener.cpp: 52727 * bindings/v8/V8Collection.h: 52728 * bindings/v8/V8DOMWindowShell.cpp: 52729 * bindings/v8/V8DOMWrapper.cpp: 52730 * bindings/v8/V8DOMWrapper.h: 52731 * bindings/v8/V8NodeFilterCondition.cpp: 52732 * bindings/v8/V8Proxy.cpp: 52733 * bindings/v8/WorkerContextExecutionProxy.h 52734 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 52735 * bindings/v8/custom/V8CustomPositionCallback.cpp: 52736 * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: 52737 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 52738 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 52739 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 52740 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 52741 * bindings/v8/custom/V8DOMWindowCustom.cpp: 52742 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: 52743 * bindings/v8/custom/V8DocumentCustom.cpp: 52744 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 52745 * bindings/v8/custom/V8ElementCustom.cpp: 52746 * bindings/v8/custom/V8EventCustom.cpp: 52747 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 52748 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 52749 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 52750 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 52751 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 52752 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 52753 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 52754 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 52755 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 52756 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 52757 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 52758 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 52759 * bindings/v8/custom/V8MessageEventCustom.cpp: 52760 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 52761 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 52762 * bindings/v8/custom/V8NodeListCustom.cpp: 52763 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 52764 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 52765 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 52766 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 52767 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 52768 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 52769 52770 2010-02-03 Sam Weinig <sam (a] webkit.org> 52771 52772 Reviewed by Anders Carlsson. 52773 52774 Fix drawing buttons in viewless WebKit. 52775 52776 * platform/mac/ThemeMac.mm: 52777 (WebCore::paintButton): If there is no view, make sure to flip the 52778 context so that the button is drawn correctly. 52779 52780 2010-02-03 Yael Aharon <yael.aharon (a] nokia.com> 52781 52782 Reviewed by Kenneth Rohde Christiansen. 52783 52784 [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork 52785 https://bugs.webkit.org/show_bug.cgi?id=34425 52786 52787 Reverting r54279, it was a misunderstanding. 52788 52789 * platform/network/qt/SocketStreamHandlePrivate.h: 52790 * platform/network/qt/SocketStreamHandleQt.cpp: 52791 (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate): 52792 (WebCore::SocketStreamHandlePrivate::send): 52793 (WebCore::SocketStreamHandlePrivate::close): 52794 52795 2010-02-03 Drew Wilson <atwilson (a] chromium.org> 52796 52797 Reviewed by Alexey Proskuryakov. 52798 52799 SharedWorkerScriptLoader should not be an ActiveDOMObject 52800 https://bugs.webkit.org/show_bug.cgi?id=34513 52801 52802 Test: Existing tests suffice (fixes test downstream in Chrome). 52803 52804 * workers/DefaultSharedWorkerRepository.cpp: 52805 (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader): 52806 Changed to no longer derive from ActiveDOMObject (handles its own refcounting). 52807 (WebCore::SharedWorkerScriptLoader::load): 52808 Now increments own refcount when a load is pending. 52809 (WebCore::SharedWorkerScriptLoader::notifyFinished): 52810 Changed to decrement refcount when load is complete. 52811 * workers/WorkerScriptLoaderClient.h: 52812 Documentation change about reliability of notifyFinished() when used from worker context. 52813 52814 2010-02-03 Pavel Feldman <pfeldman (a] chromium.org> 52815 52816 Reviewed by Timothy Hatcher. 52817 52818 Web Inspector: Inspector renders blank scripts on reloading the webpage. 52819 52820 https://bugs.webkit.org/show_bug.cgi?id=34537 52821 52822 * inspector/front-end/ResourcesPanel.js: 52823 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): 52824 52825 2010-02-03 Yury Semikhatsky <yurys (a] chromium.org> 52826 52827 Reviewed by Pavel Feldman. 52828 52829 Provide strongly typed C++ interface for inspector's injected script. 52830 52831 https://bugs.webkit.org/show_bug.cgi?id=33616 52832 52833 * WebCore.gypi: 52834 * WebCore.pro: 52835 * WebCore.vcproj/WebCore.vcproj: 52836 * WebCore.xcodeproj/project.pbxproj: 52837 * bindings/js/JSInjectedScriptHostCustom.cpp: 52838 (WebCore::InjectedScriptHost::injectedScriptFor): 52839 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 52840 (WebCore::InjectedScriptHost::injectedScriptFor): 52841 * inspector/InjectedScript.cpp: Added. 52842 (WebCore::InjectedScript::InjectedScript): 52843 (WebCore::InjectedScript::dispatch): 52844 (WebCore::InjectedScript::callFrames): 52845 (WebCore::InjectedScript::wrapAndStringify): 52846 (WebCore::InjectedScript::releaseWrapperObjectGroup): 52847 * inspector/InjectedScript.h: Added. 52848 (WebCore::InjectedScript::InjectedScript): 52849 (WebCore::InjectedScript::~InjectedScript): 52850 (WebCore::InjectedScript::hasNoValue): 52851 * inspector/InjectedScriptHost.cpp: 52852 (WebCore::InjectedScriptHost::injectedScriptForId): 52853 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup): 52854 * inspector/InjectedScriptHost.h: 52855 * inspector/InspectorBackend.cpp: 52856 (WebCore::InspectorBackend::dispatchOnInjectedScript): 52857 * inspector/InspectorController.cpp: 52858 (WebCore::InspectorController::InspectorController): 52859 (WebCore::InspectorController::~InspectorController): 52860 (WebCore::InspectorController::inspectedPageDestroyed): 52861 (WebCore::InspectorController::windowScriptObjectAvailable): 52862 (WebCore::InspectorController::scriptObjectReady): 52863 (WebCore::InspectorController::setFrontendProxyObject): 52864 (WebCore::InspectorController::close): 52865 (WebCore::InspectorController::getProfile): 52866 (WebCore::InspectorController::enableDebugger): 52867 (WebCore::InspectorController::didPause): 52868 (WebCore::InspectorController::injectedScriptForNodeId): 52869 * inspector/InspectorController.h: 52870 (WebCore::InspectorController::frontendScriptState): 52871 * inspector/InspectorFrontend.cpp: 52872 (WebCore::InspectorFrontend::addConsoleMessage): 52873 52874 2010-02-03 Andras Becsi <abecsi (a] webkit.org> 52875 52876 Unreviewed build fix. 52877 52878 [Qt] Roll-out r54281 because it broke the build on the Qt Release bot. 52879 52880 * platform/graphics/qt/GraphicsLayerQt.cpp: 52881 (WebCore::GraphicsLayerQtImpl::State::State): 52882 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 52883 (WebCore::GraphicsLayerQtImpl::setBaseTransform): 52884 (WebCore::GraphicsLayerQtImpl::drawContents): 52885 (WebCore::GraphicsLayerQtImpl::notifyChange): 52886 (WebCore::GraphicsLayerQtImpl::flushChanges): 52887 (WebCore::GraphicsLayerQt::setNeedsDisplayInRect): 52888 (WebCore::applyTimingFunction): 52889 (WebCore::webkitAnimationToQtAnimationValue): 52890 (WebCore::AnimationQtBase::updateState): 52891 (WebCore::AnimationQt::updateCurrentTime): 52892 (WebCore::TransformAnimationQt::TransformAnimationQt): 52893 (WebCore::TransformAnimationQt::~TransformAnimationQt): 52894 (WebCore::TransformAnimationQt::applyFrame): 52895 (WebCore::TransformAnimationQt::updateState): 52896 (WebCore::OpacityAnimationQt::updateState): 52897 (WebCore::GraphicsLayerQt::pauseAnimation): 52898 52899 2010-02-02 Bryan Yeung <bryeung (a] google.com> 52900 52901 Reviewed by Darin Adler. 52902 52903 Avoid using an invalidated KURL object in baseURI. 52904 52905 https://bugs.webkit.org/show_bug.cgi?id=34492 52906 52907 This change fixes baseURI for Chromium (where the KURL implementation 52908 does not allow invalid KURLs to carry relative paths). This is 52909 regression tested by 52910 LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg 52911 52912 This is a re-application of this patch since it was mistakenly identified as 52913 the cause of a big chromium test regression and rolled out in r54264. 52914 52915 * dom/Element.cpp: 52916 (WebCore::Element::baseURI): 52917 52918 2010-02-02 Joel Stanley <joel (a] jms.id.au> 52919 52920 Reviewed by David Levin. 52921 52922 [Chromium] Make setCaretBlinkInterval static. 52923 https://bugs.webkit.org/show_bug.cgi?id=31704 52924 52925 This is so it can be called from the newly exposed Chromium API setter 52926 method. 52927 52928 * rendering/RenderThemeChromiumLinux.cpp: 52929 * rendering/RenderThemeChromiumLinux.h: 52930 52931 2010-02-02 Yael Aharon <yael.aharon (a] nokia.com> 52932 52933 Reviewed by Kenneth Rohde Christiansen. 52934 52935 [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork 52936 https://bugs.webkit.org/show_bug.cgi?id=34425 52937 52938 Buffer the sent data in SocketStreamHandlePrivate instead of relying on 52939 the network layer to do it. This is more robust and more consistent with how 52940 Qt's HTTP stack works. 52941 Close the socket in SocketStreamHandlePrivate::close() regardless of its state. 52942 52943 No new tests, since no new functionality is introduced. 52944 52945 * platform/network/qt/SocketStreamHandlePrivate.h: 52946 * platform/network/qt/SocketStreamHandleQt.cpp: 52947 (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate): 52948 (WebCore::SocketStreamHandlePrivate::send): 52949 (WebCore::SocketStreamHandlePrivate::close): 52950 (WebCore::SocketStreamHandlePrivate::socketBytesWritten): 52951 52952 2010-02-03 Shinichiro Hamaji <hamaji (a] chromium.org> 52953 52954 Unreviewed revert of r54259 as it seems to break chromium's unit tests. 52955 The tests pass with r54257 but fail with r54260. 52956 As r54258 and r54260 don't touch code, I'm reverting this change. 52957 52958 [V8] Generate toV8 conversion helpers, a la JSC bindings. 52959 https://bugs.webkit.org/show_bug.cgi?id=32563 52960 52961 * bindings/v8/ScriptController.cpp: 52962 (WebCore::ScriptController::processingUserGesture): 52963 (WebCore::createScriptObject): 52964 (WebCore::ScriptController::createScriptObjectForPluginElement): 52965 * bindings/v8/ScriptObject.cpp: 52966 (WebCore::ScriptGlobalObject::set): 52967 * bindings/v8/V8AbstractEventListener.cpp: 52968 (WebCore::V8AbstractEventListener::handleEvent): 52969 * bindings/v8/V8Collection.h: 52970 (WebCore::getV8Object): 52971 (WebCore::toNativeCollection): 52972 (WebCore::getNamedPropertyOfCollection): 52973 (WebCore::collectionNamedPropertyGetter): 52974 (WebCore::getIndexedPropertyOfCollection): 52975 (WebCore::collectionIndexedPropertyGetter): 52976 (WebCore::nodeCollectionIndexedPropertyEnumerator): 52977 (WebCore::collectionIndexedPropertyEnumerator): 52978 (WebCore::collectionStringOrNullIndexedPropertyGetter): 52979 (WebCore::collectionStringIndexedPropertyGetter): 52980 (WebCore::setCollectionIndexedGetter): 52981 (WebCore::setCollectionNamedGetter): 52982 (WebCore::setCollectionStringOrNullIndexedGetter): 52983 (WebCore::setCollectionStringIndexedGetter): 52984 * bindings/v8/V8DOMWindowShell.cpp: 52985 (WebCore::V8DOMWindowShell::updateDocumentWrapperCache): 52986 * bindings/v8/V8DOMWrapper.cpp: 52987 (WebCore::downcastSVGPathSeg): 52988 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object): 52989 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object): 52990 (WebCore::V8DOMWrapper::convertToV8Object): 52991 (WebCore::V8DOMWrapper::instantiateV8Object): 52992 (WebCore::V8DOMWrapper::isDOMEventWrapper): 52993 (WebCore::V8DOMWrapper::htmlElementType): 52994 (WebCore::V8DOMWrapper::svgElementType): 52995 (WebCore::V8DOMWrapper::convertEventToV8Object): 52996 (WebCore::): 52997 (WebCore::V8DOMWrapper::convertDocumentToV8Object): 52998 (WebCore::V8DOMWrapper::convertNodeToV8Object): 52999 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 53000 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 53001 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object): 53002 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object): 53003 (WebCore::V8DOMWrapper::convertCSSValueToV8Object): 53004 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object): 53005 (WebCore::V8DOMWrapper::convertWindowToV8Object): 53006 (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object): 53007 * bindings/v8/V8DOMWrapper.h: 53008 (WebCore::V8DOMWrapper::convertToV8Object): 53009 (WebCore::V8DOMWrapper::convertNodeToV8Object): 53010 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): 53011 (WebCore::V8DOMWrapper::convertEventToV8Object): 53012 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): 53013 (WebCore::V8DOMWrapper::instantiateV8Object): 53014 * bindings/v8/V8NodeFilterCondition.cpp: 53015 (WebCore::V8NodeFilterCondition::acceptNode): 53016 * bindings/v8/V8Proxy.cpp: 53017 (WebCore::V8Proxy::setDOMException): 53018 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 53019 (WebCore::toV8Object): 53020 (WebCore::V8CanvasRenderingContext2D::createPatternCallback): 53021 * bindings/v8/custom/V8CustomPositionCallback.cpp: 53022 (WebCore::V8CustomPositionCallback::handleEvent): 53023 * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: 53024 (WebCore::V8CustomPositionErrorCallback::handleEvent): 53025 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 53026 (WebCore::V8CustomSQLStatementCallback::handleEvent): 53027 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 53028 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 53029 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 53030 (WebCore::V8CustomSQLTransactionCallback::handleEvent): 53031 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 53032 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): 53033 * bindings/v8/custom/V8DOMWindowCustom.cpp: 53034 (WebCore::V8DOMWindow::openCallback): 53035 (WebCore::V8DOMWindow::indexedPropertyGetter): 53036 (WebCore::V8DOMWindow::namedPropertyGetter): 53037 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: 53038 (WebCore::NAMED_PROPERTY_GETTER): 53039 * bindings/v8/custom/V8DocumentCustom.cpp: 53040 (WebCore::V8Document::evaluateCallback): 53041 (WebCore::V8Document::getCSSCanvasContextCallback): 53042 (WebCore::V8Document::implementationAccessorGetter): 53043 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 53044 (WebCore::V8Document::locationAccessorGetter): 53045 * bindings/v8/custom/V8ElementCustom.cpp: 53046 (WebCore::V8Element::setAttributeNodeCallback): 53047 (WebCore::V8Element::setAttributeNodeNSCallback): 53048 * bindings/v8/custom/V8EventCustom.cpp: 53049 (WebCore::V8Event::dataTransferAccessorGetter): 53050 (WebCore::V8Event::clipboardDataAccessorGetter): 53051 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 53052 (WebCore::getNamedItems): 53053 (WebCore::getItem): 53054 (WebCore::V8HTMLAllCollection::callAsFunctionCallback): 53055 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 53056 (WebCore::V8Custom::v8HTMLAudioElementConstructorCallback): 53057 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 53058 (WebCore::V8HTMLCanvasElement::getContextCallback): 53059 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 53060 (WebCore::getNamedItems): 53061 (WebCore::getItem): 53062 (WebCore::V8HTMLCollection::callAsFunctionCallback): 53063 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 53064 (WebCore::V8HTMLDocument::namedPropertyGetter): 53065 (WebCore::V8HTMLDocument::allAccessorGetter): 53066 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 53067 (WebCore::V8HTMLFormElement::indexedPropertyGetter): 53068 (WebCore::V8HTMLFormElement::namedPropertyGetter): 53069 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 53070 (WebCore::V8HTMLFrameSetElement::namedPropertyGetter): 53071 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 53072 (WebCore::V8Custom::v8HTMLImageElementConstructorCallback): 53073 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 53074 (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter): 53075 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 53076 (WebCore::V8HTMLSelectElement::namedPropertyGetter): 53077 (WebCore::V8HTMLSelectElement::indexedPropertyGetter): 53078 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 53079 (WebCore::createInjectedScript): 53080 (WebCore::V8InjectedScriptHost::nodeForIdCallback): 53081 (WebCore::V8InjectedScriptHost::databaseForIdCallback): 53082 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 53083 (WebCore::V8MessageChannel::constructorCallback): 53084 * bindings/v8/custom/V8MessageEventCustom.cpp: 53085 (WebCore::V8MessageEvent::portsAccessorGetter): 53086 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 53087 (WebCore::V8NamedNodeMap::indexedPropertyGetter): 53088 (WebCore::V8NamedNodeMap::namedPropertyGetter): 53089 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 53090 (WebCore::toV8): 53091 * bindings/v8/custom/V8NodeListCustom.cpp: 53092 (WebCore::V8NodeList::namedPropertyGetter): 53093 (WebCore::V8NodeList::callAsFunctionCallback): 53094 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 53095 (WebCore::V8NotificationCenter::createHTMLNotificationCallback): 53096 (WebCore::V8NotificationCenter::createNotificationCallback): 53097 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 53098 (WebCore::V8SVGMatrix::multiplyCallback): 53099 (WebCore::V8SVGMatrix::inverseCallback): 53100 (WebCore::V8SVGMatrix::rotateFromVectorCallback): 53101 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 53102 (WebCore::V8StyleSheetList::namedPropertyGetter): 53103 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 53104 (WebCore::toV8Object): 53105 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 53106 (WebCore::toV8Object): 53107 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 53108 (WebCore::V8XSLTProcessor::transformToFragmentCallback): 53109 (WebCore::V8XSLTProcessor::transformToDocumentCallback): 53110 53111 2010-02-03 Mikhail Naganov <mnaganov (a] chromium.org> 53112 53113 Reviewed by Pavel Feldman. 53114 53115 Start unforking debugger and profiler code. 53116 53117 Remove custom implementation of Console. 53118 Add 'ScriptProfiler' and 'ScriptProfile' types. 53119 Start migration to engine-neutral types in InspectorController. 53120 53121 https://bugs.webkit.org/show_bug.cgi?id=34481 53122 53123 * GNUmakefile.am: 53124 * WebCore.gypi: 53125 * WebCore.pro: 53126 * WebCore.xcodeproj/project.pbxproj: 53127 * bindings/js/JSBindingsAllInOne.cpp: 53128 * bindings/js/JSConsoleCustom.cpp: 53129 * bindings/js/ScriptProfile.h: Added. 53130 * bindings/js/ScriptProfiler.cpp: Added. 53131 (WebCore::ScriptProfiler::start): 53132 (WebCore::ScriptProfiler::stop): 53133 * bindings/js/ScriptProfiler.h: Added. 53134 * bindings/scripts/CodeGeneratorV8.pm: 53135 * bindings/v8/ScriptProfile.h: Added. 53136 (WebCore::ScriptProfile::create): 53137 (WebCore::ScriptProfile::~ScriptProfile): 53138 (WebCore::ScriptProfile::title): 53139 (WebCore::ScriptProfile::uid): 53140 (WebCore::ScriptProfile::ScriptProfile): 53141 * bindings/v8/ScriptProfiler.cpp: Added. 53142 (WebCore::ScriptProfiler::start): 53143 (WebCore::ScriptProfiler::stop): 53144 * bindings/v8/ScriptProfiler.h: Added. 53145 * bindings/v8/custom/V8ConsoleCustom.cpp: Removed. 53146 * inspector/InspectorController.cpp: 53147 (WebCore::InspectorController::endGroup): 53148 (WebCore::InspectorController::show): 53149 (WebCore::InspectorController::setDOMStorageItem): 53150 (WebCore::InspectorController::addProfile): 53151 (WebCore::InspectorController::addProfileFinishedMessageToConsole): 53152 (WebCore::InspectorController::addStartProfilingMessageToConsole): 53153 (WebCore::InspectorController::createProfileHeader): 53154 (WebCore::InspectorController::getCurrentUserInitiatedProfileName): 53155 (WebCore::InspectorController::startUserInitiatedProfiling): 53156 (WebCore::InspectorController::stopUserInitiatedProfiling): 53157 (WebCore::InspectorController::enableDebugger): 53158 (WebCore::InspectorController::specialPanelForJSName): 53159 * inspector/InspectorController.h: 53160 (WebCore::InspectorController::searchingForNodeInPage): 53161 * page/Console.cpp: 53162 (WebCore::Console::profile): 53163 (WebCore::Console::profileEnd): 53164 * page/Console.h: 53165 (WebCore::): 53166 (WebCore::Console::create): 53167 (WebCore::Console::profiles): 53168 * page/Console.idl: 53169 53170 2010-02-02 Kent Tamura <tkent (a] chromium.org> 53171 53172 Reviewed by Darin Adler. 53173 53174 Fix a bug that changes for some constraint attributes doesn't 53175 update validation CSS selectors. 53176 https://bugs.webkit.org/show_bug.cgi?id=31716 53177 53178 - Rename HTMLFormControlElement::updateValidity() to setNeedsValidityCheck() 53179 - Introduce HTMLFormControlElement::setNeedsWillValidate() 53180 - Introduce HTMLFormControlElement::m_hasName to make willValidate() 53181 work in parseMappedAttribute(). 53182 - We need to call setNeedsValidityCheck() when HTMLInputElement::step or 53183 HTMLTextAreaElement::maxLength is changed. 53184 53185 * html/HTMLFormControlElement.cpp: 53186 (WebCore::HTMLFormControlElement::HTMLFormControlElement): 53187 (WebCore::HTMLFormControlElement::parseMappedAttribute): 53188 (WebCore::HTMLFormControlElement::insertedIntoTree): 53189 (WebCore::HTMLFormControlElement::removedFromTree): 53190 (WebCore::HTMLFormControlElement::formDestroyed): 53191 (WebCore::HTMLFormControlElement::willValidate): Avoids function calls. 53192 (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): 53193 (WebCore::HTMLFormControlElement::setNeedsValidityCheck): 53194 * html/HTMLFormControlElement.h: 53195 (WebCore::HTMLFormControlElement::disabled): Move the code from .cpp. 53196 * html/HTMLInputElement.cpp: 53197 (WebCore::HTMLInputElement::setInputType): 53198 (WebCore::HTMLInputElement::parseMappedAttribute): 53199 (WebCore::HTMLInputElement::setValue): 53200 (WebCore::HTMLInputElement::setValueFromRenderer): 53201 (WebCore::HTMLInputElement::setFileListFromRenderer): 53202 * html/HTMLTextAreaElement.cpp: 53203 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 53204 (WebCore::HTMLTextAreaElement::setValue): 53205 * rendering/RenderTextControlMultiLine.cpp: 53206 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 53207 53208 2010-02-02 Roland Steiner <rolandsteiner (a] chromium.org> 53209 53210 Reviewed by Adele Peterson. 53211 53212 Bug 34198 - Ruby text should not inherit line-height 53213 (https://bugs.webkit.org/show_bug.cgi?id=34198) 53214 53215 Resetting line-height to 'normal' in the default UA style sheet. 53216 Adding layout-test to check for this. 53217 53218 Test: fast/ruby/ruby-line-height.html 53219 53220 * css/html.css: 53221 53222 2010-02-02 James Robinson <jamesr (a] chromium.org> 53223 53224 Reviewed by Dmitry Titov. 53225 53226 Add a null check for image, which might be NULL if tileSize is empty 53227 https://bugs.webkit.org/show_bug.cgi?id=34510 53228 53229 Test: fast/gradients/crash-on-1px-border.html 53230 53231 * rendering/RenderBoxModelObject.cpp: 53232 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 53233 53234 2010-02-02 Kent Tamura <tkent (a] chromium.org> 53235 53236 Reviewed by Darin Adler. 53237 53238 rangeOverflow/rangeUnderflow support for type=datetime, datetime-local, 53239 month, time and week 53240 https://bugs.webkit.org/show_bug.cgi?id=34483 53241 53242 Tests: fast/forms/ValidityState-rangeOverflow.html 53243 fast/forms/ValidityState-rangeUnderflow.html 53244 53245 * html/HTMLInputElement.cpp: 53246 Defines the hard limits for the types as double values. 53247 (WebCore::HTMLInputElement::rangeUnderflow): Supports the types. 53248 (WebCore::HTMLInputElement::rangeOverflow): Supports the types. 53249 (WebCore::HTMLInputElement::minimum): Supports the types. 53250 (WebCore::HTMLInputElement::maximum): Supports the types. 53251 53252 2010-02-02 Fumitoshi Ukai <ukai (a] chromium.org> 53253 53254 Reviewed by Alexey Proskuryakov. 53255 53256 WebSocket set pending activity to avoid unexpected GC. 53257 https://bugs.webkit.org/show_bug.cgi?id=34014 53258 53259 Test: websocket/tests/websocket-pending-activity.html 53260 53261 * websockets/WebSocket.cpp: 53262 (WebCore::WebSocket::connect): set pending activity until it receives didClose. 53263 (WebCore::WebSocket::contextDestroyed): check socket is already closed. 53264 (WebCore::WebSocket::stop): close the connection and unset pending activity when it stops. 53265 (WebCore::WebSocket::didClose): unset pending activity. 53266 * websockets/WebSocket.h: 53267 * websockets/WebSocketChannel.cpp: 53268 (WebCore::WebSocketChannel::didReceiveData): protect this while it processes received data. 53269 53270 2010-02-02 Gustavo Noronha Silva <gns (a] gnome.org> 53271 53272 No review, rolling out r54261. 53273 http://trac.webkit.org/changeset/54261 53274 https://bugs.webkit.org/show_bug.cgi?id=34435 53275 53276 Causes crashes on release builds 53277 53278 * GNUmakefile.am: 53279 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 53280 (WebCore::mediaPlayerPrivateSourceChangedCallback): 53281 * platform/gtk/GOwnPtrGtk.cpp: Removed. 53282 * platform/gtk/GOwnPtrGtk.h: Removed. 53283 53284 2010-02-02 David Levin <levin (a] chromium.org> 53285 53286 No review, rolling out r54245. 53287 http://trac.webkit.org/changeset/54245 53288 https://bugs.webkit.org/show_bug.cgi?id=34492 53289 53290 This patch seems to have broken thousands of chromium tests on 53291 Windows (and since it was for chromium, I'm rolling it out). 53292 53293 * dom/Element.cpp: 53294 (WebCore::Element::baseURI): 53295 53296 2010-02-02 Steve Falkenburg <sfalken (a] apple.com> 53297 53298 Reviewed by Darin Adler. 53299 53300 Copyright year updating for Windows version resources should be automatic 53301 https://bugs.webkit.org/show_bug.cgi?id=34503 53302 53303 * WebCore.vcproj/QTMovieWin.rc: 53304 53305 2010-02-02 Dimitri Glazkov <dglazkov (a] chromium.org> 53306 53307 No review, rolling out r54257. 53308 http://trac.webkit.org/changeset/54257 53309 https://bugs.webkit.org/show_bug.cgi?id=34491 53310 53311 [Chromium] broke thousands of Win tests and a few of Linux tests. 53312 53313 * platform/graphics/skia/GraphicsContextSkia.cpp: 53314 (WebCore::GraphicsContext::beginTransparencyLayer): 53315 * platform/graphics/skia/PlatformContextSkia.cpp: 53316 (PlatformContextSkia::applyAntiAliasedClipPaths): 53317 * platform/graphics/skia/PlatformContextSkia.h: 53318 53319 2010-02-02 Philippe Normand <pnormand (a] igalia.com> 53320 53321 Reviewed by Gustavo Noronha Silva. 53322 53323 [Gtk] libsoup critical warning in media player http cookies injection code 53324 https://bugs.webkit.org/show_bug.cgi?id=34435 53325 53326 Fixed the critical warning and refactored the 53327 User-Agent/Referer/cookies injection code, in that order. Previous 53328 order (cookies first) was wrong because if cookies injection could 53329 not be done neither the User-Agent not Referer were injected. Also 53330 started a non-JSC-specific, gtk-specific GOwnPtr module. 53331 53332 * GNUmakefile.am: 53333 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 53334 (WebCore::mediaPlayerPrivateSourceChangedCallback): 53335 * platform/gtk/GOwnPtrGtk.cpp: Added. 53336 (WTF::SoupURI): 53337 (WTF::GstElement): 53338 * platform/gtk/GOwnPtrGtk.h: Added. 53339 53340 2010-02-02 Nate Chapin <japhet (a] chromium.org> 53341 53342 Reviewed by Dimitri Glazkov. 53343 53344 [V8] Use toV8() to wrap in the custom bindings, and remove 53345 the old wrapping code from V8DOMWrapper. 53346 53347 https://bugs.webkit.org/show_bug.cgi?id=32563 53348 53349 * bindings/v8/ScriptController.cpp: 53350 * bindings/v8/ScriptObject.cpp: 53351 * bindings/v8/V8AbstractEventListener.cpp: 53352 * bindings/v8/V8Collection.h: 53353 * bindings/v8/V8DOMWindowShell.cpp: 53354 * bindings/v8/V8DOMWrapper.cpp: 53355 * bindings/v8/V8DOMWrapper.h: 53356 * bindings/v8/V8NodeFilterCondition.cpp: 53357 * bindings/v8/V8Proxy.cpp: 53358 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 53359 * bindings/v8/custom/V8CustomPositionCallback.cpp: 53360 * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: 53361 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 53362 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 53363 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 53364 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 53365 * bindings/v8/custom/V8DOMWindowCustom.cpp: 53366 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: 53367 * bindings/v8/custom/V8DocumentCustom.cpp: 53368 * bindings/v8/custom/V8DocumentLocationCustom.cpp: 53369 * bindings/v8/custom/V8ElementCustom.cpp: 53370 * bindings/v8/custom/V8EventCustom.cpp: 53371 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: 53372 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: 53373 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 53374 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 53375 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 53376 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 53377 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 53378 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: 53379 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 53380 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 53381 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 53382 * bindings/v8/custom/V8MessageChannelConstructor.cpp: 53383 * bindings/v8/custom/V8MessageEventCustom.cpp: 53384 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 53385 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 53386 * bindings/v8/custom/V8NodeListCustom.cpp: 53387 * bindings/v8/custom/V8NotificationCenterCustom.cpp: 53388 * bindings/v8/custom/V8SVGMatrixCustom.cpp: 53389 * bindings/v8/custom/V8StyleSheetListCustom.cpp: 53390 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 53391 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 53392 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: 53393 53394 2010-02-02 Garret Kelly <gdk (a] chromium.org> 53395 53396 Reviewed by David Levin. 53397 53398 When using the Skia graphics context, the beginTransparencyLayer call 53399 currently creates a new layer, but does not keep the current 53400 compositing mode for use when merging the created layer back onto the 53401 rest of the context. This patch fixes that. 53402 https://bugs.webkit.org/show_bug.cgi?id=34491 53403 53404 fast/backgrounds/svg-as-mask.html is affected by this change in Chromium, 53405 but not fixed. This is the first of a series of patches to fix it. 53406 53407 * platform/graphics/skia/GraphicsContextSkia.cpp: 53408 (WebCore::GraphicsContext::beginTransparencyLayer): 53409 * platform/graphics/skia/PlatformContextSkia.cpp: 53410 (PlatformContextSkia::beginTransparencyLayer): 53411 * platform/graphics/skia/PlatformContextSkia.h: 53412 53413 2010-02-02 Kwang Yul Seo <skyul (a] company100.net> 53414 53415 Reviewed by Eric Seidel. 53416 53417 Use WTF::getLocalTime instead of localtime_r in FTPDirectoryDocument 53418 https://bugs.webkit.org/show_bug.cgi?id=34409 53419 53420 Platform guards for localtime_r are not needed because we already have 53421 WTF::getLocalTime which does the same thing. 53422 53423 * loader/FTPDirectoryDocument.cpp: 53424 (WebCore::processFileDateString): 53425 * loader/FTPDirectoryParser.cpp: 53426 (WebCore::gmtimeQt): 53427 53428 2010-02-02 Adam Roben <aroben (a] apple.com> 53429 53430 Copy WebCore's bindings generation scripts to the PrivateHeaders 53431 directory on Mac 53432 53433 This will allow other projects to use these scripts. 53434 53435 Fixes <http://webkit.org/b/34498>. 53436 53437 Reviewed by Mark Rowe. 53438 53439 * WebCore.xcodeproj/project.pbxproj: Added the bindings generation 53440 scripst to the Copy Headers phase, and marked them as Private. 53441 53442 2010-02-02 Adam Roben <aroben (a] apple.com> 53443 53444 Copy WebCore's bindings generation scripts to a more sensible location 53445 53446 Part of Bug 34496: Clean up WebCore's IDL/script copying 53447 <https://bugs.webkit.org/show_bug.cgi?id=34496> 53448 53449 Reviewed by Steve Falkenburg. 53450 53451 * WebCore.vcproj/WebCore.make: 53452 * WebCore.vcproj/WebCoreGenerated.vcproj: 53453 Instead of copying to obj/WebKit/DOMInterfaces, copy to obj/WebCore/scripts. 53454 53455 2010-02-02 Adam Roben <aroben (a] apple.com> 53456 53457 Rename the scripts used to copy WebCore's bindings generation scripts 53458 53459 Part of Bug 34496: Clean up WebCore's IDL/script copying 53460 <https://bugs.webkit.org/show_bug.cgi?id=34496> 53461 53462 Reviewed by Steve Falkenburg. 53463 53464 * WebCore.vcproj/MigrateScripts: Renamed from WebCore/WebCore.vcproj/MigrateIDLAndScripts. 53465 * WebCore.vcproj/migrate-scripts.sh: Renamed from WebCore/WebCore.vcproj/migrate-idls.sh. 53466 53467 * WebCore.vcproj/WebCoreGenerated.vcproj: Updated for renames. 53468 53469 2010-02-02 Adam Roben <aroben (a] apple.com> 53470 53471 Stop copying IDL files into $(WebKitOutputDir) 53472 53473 No one uses these anymore (as of r52921). 53474 53475 Part of Bug 34496: Clean up WebCore's IDL/script copying 53476 <https://bugs.webkit.org/show_bug.cgi?id=34496> 53477 53478 Reviewed by Steve Falkenburg. 53479 53480 * WebCore.vcproj/MigrateIDLAndScripts: Don't copy the IDL files 53481 anymore. Keep copying the scripts, though, since other projects 53482 (outside of the WebKit repository) do use those. 53483 53484 2010-02-02 Bryan Yeung <bryeung (a] google.com> 53485 53486 Reviewed by Darin Adler. 53487 53488 Avoid using an invalidated KURL object in baseURI. 53489 53490 https://bugs.webkit.org/show_bug.cgi?id=34492 53491 53492 This change fixes baseURI for Chromium (where the KURL implementation 53493 does not allow invalid KURLs to carry relative paths). This is 53494 regression tested by 53495 LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg 53496 53497 * dom/Element.cpp: 53498 (WebCore::Element::baseURI): 53499 53500 2010-02-02 Alexey Proskuryakov <ap (a] apple.com> 53501 53502 Reviewed by Darin Adler. 53503 53504 https://bugs.webkit.org/show_bug.cgi?id=34076 53505 <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute 53506 53507 Test: fast/forms/misplaced-img-form-registration.html 53508 53509 * html/HTMLFormElement.cpp: 53510 (WebCore::HTMLFormElement::registerImgElement): Assert that the same image isn't added 53511 to vector again. 53512 (WebCore::HTMLFormElement::removeImgElement): Similarly, assert that we're removing something 53513 that's actually registered. 53514 53515 * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::~HTMLImageElement): If parser fails 53516 to insert the image element, then there will be no removed from tree notification either, 53517 need to unregister right away. 53518 53519 2010-02-02 Alexander Pavlov <apavlov (a] chromium.org> 53520 53521 Reviewed by Pavel Feldman. 53522 53523 Web Inspector: Eliminate some of the platform flavor-specific stylesheet selectors 53524 53525 Extract OS version into WebInspector.platformFlavor 53526 https://bugs.webkit.org/show_bug.cgi?id=34469 53527 53528 * inspector/front-end/InspectorBackendStub.js: 53529 * inspector/front-end/InspectorFrontendHostStub.js: 53530 (.WebInspector.InspectorFrontendHostStub.prototype.platform): 53531 * inspector/front-end/inspector.css: 53532 * inspector/front-end/inspector.js: 53533 (WebInspector.pendingDispatches.0.URLRegExp.i.get platform): 53534 (WebInspector.get platformFlavor): 53535 (WebInspector._detectPlatformFlavor): 53536 (WebInspector.loaded): 53537 (WebInspector.toolbarDragStart): 53538 (WebInspector.isMac): 53539 53540 2010-02-02 Steve Block <steveblock (a] google.com> 53541 53542 Reviewed by Ariya Hidayat. 53543 53544 Adds utility functions for converting between JavaInstance and NPAPI types 53545 https://bugs.webkit.org/show_bug.cgi?id=34468 53546 53547 This is required by Android for injecting objects into V8 JavaScript. 53548 53549 No new tests, added utility functions only. 53550 53551 * Android.v8bindings.mk: Modified. Added JavaNPObjectV8.cpp 53552 * bridge/jni/v8/JavaNPObjectV8.cpp: Added. 53553 (JSC::Bindings::AllocJavaNPObject): 53554 (JSC::Bindings::FreeJavaNPObject): 53555 (JSC::Bindings::): 53556 (JSC::Bindings::JavaInstanceToNPObject): 53557 (JSC::Bindings::ExtractJavaInstance): 53558 (JSC::Bindings::JavaNPObjectHasMethod): 53559 (JSC::Bindings::JavaNPObjectInvoke): 53560 (JSC::Bindings::JavaNPObjectHasProperty): 53561 (JSC::Bindings::JavaNPObjectGetProperty): 53562 * bridge/jni/v8/JavaNPObjectV8.h: Added. 53563 53564 2010-02-02 Benjamin Poulain <benjamin.poulain (a] nokia.com> 53565 53566 Reviewed by Ariya Hidayat. 53567 53568 [Qt] Symbian plugins include a wrong header file for QPixmap 53569 https://bugs.webkit.org/show_bug.cgi?id=34475 53570 53571 * plugins/symbian/PluginViewSymbian.cpp: 53572 53573 2010-02-02 Pavel Feldman <pfeldman (a] chromium.org> 53574 53575 Reviewed by Timothy Hatcher. 53576 53577 Web Inspector: URLs are not syntax-higlighted as links in source view. 53578 53579 This change enables linkifier in the NativeTextViewer. It adds 53580 "linkify" and "a_node" parse states into the highlighter in order 53581 to detect links and distinguish between resource and external ones. 53582 Contains drive-by fix for the webkit-html-* styles and moves them to the 53583 common location. 53584 53585 https://bugs.webkit.org/show_bug.cgi?id=34364 53586 53587 * inspector/front-end/NativeTextViewer.js: 53588 (WebInspector.NativeTextViewer): 53589 (WebInspector.NativeTextViewer.prototype._createSpan): 53590 (WebInspector.NativeTextViewer.prototype._createLink): 53591 (WebInspector.NativeTextViewer.prototype._rewriteHref): 53592 * inspector/front-end/SourceFrame.js: 53593 (WebInspector.SourceFrame.prototype.setContent): 53594 (WebInspector.SourceFrame.prototype._createEditorIfNeeded): 53595 * inspector/front-end/SourceHTMLTokenizer.js: 53596 (WebInspector.SourceHTMLTokenizer): 53597 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute): 53598 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue): 53599 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute): 53600 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue): 53601 (WebInspector.SourceHTMLTokenizer.prototype._stringToken): 53602 (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType): 53603 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 53604 * inspector/front-end/SourceHTMLTokenizer.re2js: 53605 * inspector/front-end/SourceView.js: 53606 (WebInspector.SourceView.prototype._contentLoaded): 53607 * inspector/front-end/TextEditorHighlighter.js: 53608 (WebInspector.TextEditorHighlighter): 53609 * inspector/front-end/inspector.css: 53610 * inspector/front-end/inspectorSyntaxHighlight.css: 53611 53612 2010-02-02 Simon Hausmann <simon.hausmann (a] nokia.com> 53613 53614 Reviewed by Ariya Hidayat. 53615 53616 [Qt] Install libraries and headers in package builds 53617 https://bugs.webkit.org/show_bug.cgi?id=34325 53618 53619 Add the QtWebKit libraries to the installable items, except on 53620 Symbian where the libraries are always linked in their final 53621 destination. 53622 53623 Also include the headers generated by syncqt in the installation. 53624 53625 * WebCore.pro: 53626 53627 2010-02-02 Kavita Kanetkar <kkanetkar (a] chromium.org> 53628 53629 Reviewed by Dmitry Titov. 53630 53631 [V8] Raising an exception while setting timeout/interval from a detached frame 53632 https://bugs.webkit.org/show_bug.cgi?id=34453 53633 This fixes the issue/failing test mentioned in Chromium bug: 53634 http://code.google.com/p/chromium/issues/detail?id=32671 53635 53636 53637 * bindings/v8/custom/V8DOMWindowCustom.cpp: 53638 (WebCore::WindowSetTimeoutImpl): 53639 53640 2010-02-02 Kwang Yul Seo <skyul (a] company100.net> 53641 53642 Reviewed by Eric Seidel. 53643 53644 [BREWMP] Port Screen 53645 https://bugs.webkit.org/show_bug.cgi?id=34299 53646 53647 Get the screen size and depth from the main display bitmap. 53648 53649 * platform/brew/ScreenBrew.cpp: Added. 53650 (WebCore::getDisplayInfo): 53651 (WebCore::screenRect): 53652 (WebCore::screenAvailableRect): 53653 (WebCore::screenDepth): 53654 (WebCore::screenDepthPerComponent): 53655 (WebCore::screenIsMonochrome): 53656 53657 2010-02-02 Kwang Yul Seo <skyul (a] company100.net> 53658 53659 Reviewed by Eric Seidel. 53660 53661 [BREWMP] Port LocalizedStrings 53662 https://bugs.webkit.org/show_bug.cgi?id=34257 53663 53664 Port LocalizedStrings to BREWMP. 53665 53666 * platform/brew/LocalizedStringsBrew.cpp: Added. 53667 (WebCore::submitButtonDefaultLabel): 53668 (WebCore::inputElementAltText): 53669 (WebCore::resetButtonDefaultLabel): 53670 (WebCore::defaultLanguage): 53671 (WebCore::searchableIndexIntroduction): 53672 (WebCore::fileButtonChooseFileLabel): 53673 (WebCore::fileButtonNoFileSelectedLabel): 53674 (WebCore::contextMenuItemTagOpenLinkInNewWindow): 53675 (WebCore::contextMenuItemTagDownloadLinkToDisk): 53676 (WebCore::contextMenuItemTagCopyLinkToClipboard): 53677 (WebCore::contextMenuItemTagOpenImageInNewWindow): 53678 (WebCore::contextMenuItemTagDownloadImageToDisk): 53679 (WebCore::contextMenuItemTagCopyImageToClipboard): 53680 (WebCore::contextMenuItemTagOpenFrameInNewWindow): 53681 (WebCore::contextMenuItemTagCopy): 53682 (WebCore::contextMenuItemTagGoBack): 53683 (WebCore::contextMenuItemTagGoForward): 53684 (WebCore::contextMenuItemTagStop): 53685 (WebCore::contextMenuItemTagReload): 53686 (WebCore::contextMenuItemTagCut): 53687 (WebCore::contextMenuItemTagPaste): 53688 (WebCore::contextMenuItemTagNoGuessesFound): 53689 (WebCore::contextMenuItemTagIgnoreSpelling): 53690 (WebCore::contextMenuItemTagLearnSpelling): 53691 (WebCore::contextMenuItemTagSearchWeb): 53692 (WebCore::contextMenuItemTagLookUpInDictionary): 53693 (WebCore::contextMenuItemTagOpenLink): 53694 (WebCore::contextMenuItemTagIgnoreGrammar): 53695 (WebCore::contextMenuItemTagSpellingMenu): 53696 (WebCore::contextMenuItemTagShowSpellingPanel): 53697 (WebCore::contextMenuItemTagCheckSpelling): 53698 (WebCore::contextMenuItemTagCheckSpellingWhileTyping): 53699 (WebCore::contextMenuItemTagCheckGrammarWithSpelling): 53700 (WebCore::contextMenuItemTagFontMenu): 53701 (WebCore::contextMenuItemTagBold): 53702 (WebCore::contextMenuItemTagItalic): 53703 (WebCore::contextMenuItemTagUnderline): 53704 (WebCore::contextMenuItemTagOutline): 53705 (WebCore::contextMenuItemTagWritingDirectionMenu): 53706 (WebCore::contextMenuItemTagDefaultDirection): 53707 (WebCore::contextMenuItemTagLeftToRight): 53708 (WebCore::contextMenuItemTagRightToLeft): 53709 (WebCore::contextMenuItemTagInspectElement): 53710 (WebCore::searchMenuNoRecentSearchesText): 53711 (WebCore::searchMenuRecentSearchesText): 53712 (WebCore::searchMenuClearRecentSearchesText): 53713 (WebCore::unknownFileSizeText): 53714 (WebCore::AXWebAreaText): 53715 (WebCore::AXLinkText): 53716 (WebCore::AXListMarkerText): 53717 (WebCore::AXImageMapText): 53718 (WebCore::AXHeadingText): 53719 (WebCore::imageTitle): 53720 (WebCore::contextMenuItemTagTextDirectionMenu): 53721 (WebCore::AXButtonActionVerb): 53722 (WebCore::AXTextFieldActionVerb): 53723 (WebCore::AXRadioButtonActionVerb): 53724 (WebCore::AXCheckedCheckBoxActionVerb): 53725 (WebCore::AXUncheckedCheckBoxActionVerb): 53726 (WebCore::AXLinkActionVerb): 53727 (WebCore::AXMenuListPopupActionVerb): 53728 (WebCore::AXMenuListActionVerb): 53729 (WebCore::AXDefinitionListTermText): 53730 (WebCore::AXDefinitionListDefinitionText): 53731 (WebCore::validationMessageValueMissingText): 53732 (WebCore::validationMessageTypeMismatchText): 53733 (WebCore::validationMessagePatternMismatchText): 53734 (WebCore::validationMessageTooLongText): 53735 (WebCore::validationMessageRangeUnderflowText): 53736 (WebCore::validationMessageRangeOverflowText): 53737 (WebCore::validationMessageStepMismatchText): 53738 53739 2010-02-02 Kwang Yul Seo <skyul (a] company100.net> 53740 53741 Reviewed by Eric Seidel. 53742 53743 [BREWMP] Port systemBeep 53744 https://bugs.webkit.org/show_bug.cgi?id=33601 53745 53746 Implement systemBeep with IShell_Beep. 53747 53748 * platform/brew/SoundBrew.cpp: Added. 53749 (WebCore::systemBeep): 53750 53751 2010-02-02 Shinichiro Hamaji <hamaji (a] chromium.org> 53752 53753 Reviewed by Eric Seidel. 53754 53755 [Win] Utilize PrintContext to share the printing code with other ports 53756 https://bugs.webkit.org/show_bug.cgi?id=34312 53757 53758 No new tests as this is just a small refactoring. 53759 53760 2010-02-02 Kwang Yul Seo <skyul (a] company100.net> 53761 53762 Reviewed by Eric Seidel. 53763 53764 [BREWMP] Add conversions between IntPoint and AEEPoint 53765 https://bugs.webkit.org/show_bug.cgi?id=34194 53766 53767 Make it easy to convert between IntPoint and AEEPoint. 53768 53769 * platform/graphics/IntPoint.h: 53770 * platform/graphics/brew/IntPointBrew.cpp: Added. 53771 (WebCore::IntPoint::IntPoint): 53772 (WebCore::IntPoint::operator AEEPoint): 53773 53774 2010-02-02 Steve Block <steveblock (a] google.com> 53775 53776 Reviewed by Adam Barth. 53777 53778 Adds virtual destructors for AbstractWeakReferenceMap and AbstractWeakReferenceMap::Visitor 53779 https://bugs.webkit.org/show_bug.cgi?id=34434 53780 53781 No new tests, build fix only. 53782 53783 * bindings/v8/V8DOMMap.h: Modified. 53784 (WebCore::AbstractWeakReferenceMap::~AbstractWeakReferenceMap): Added. 53785 (WebCore::AbstractWeakReferenceMap::Visitor::~Visitor): Added. 53786 53787 2010-02-02 Avi Drissman <avi (a] chromium.org> 53788 53789 Reviewed by Eric Seidel. 53790 53791 Sync up Chromium Mac render theme to Mac render theme 53792 https://bugs.webkit.org/show_bug.cgi?id=34340 53793 53794 Covered by existing layout tests. 53795 53796 * platform/chromium/ThemeChromiumMac.mm: 53797 (WebCore::updateStates): 53798 (WebCore::checkbox): 53799 (WebCore::paintCheckbox): 53800 (WebCore::radio): 53801 (WebCore::paintRadio): 53802 (WebCore::listButtonSizes): 53803 (WebCore::setupButtonCell): 53804 (WebCore::button): 53805 (WebCore::paintButton): 53806 (WebCore::ThemeChromiumMac::controlSize): 53807 (WebCore::ThemeChromiumMac::minimumControlSize): 53808 (WebCore::ThemeChromiumMac::controlBorder): 53809 (WebCore::ThemeChromiumMac::paint): 53810 * rendering/RenderThemeChromiumMac.h: 53811 * rendering/RenderThemeChromiumMac.mm: 53812 (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]): 53813 (WebCore::convertNSColorToColor): 53814 (WebCore::RenderThemeChromiumMac::systemColor): 53815 (WebCore::RenderThemeChromiumMac::isControlStyled): 53816 (WebCore::RenderThemeChromiumMac::adjustRepaintRect): 53817 (WebCore::RenderThemeChromiumMac::convertToPaintingRect): 53818 (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator): 53819 (WebCore::RenderThemeChromiumMac::paintMenuList): 53820 (WebCore::RenderThemeChromiumMac::paintMenuListButton): 53821 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): 53822 (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle): 53823 (WebCore::RenderThemeChromiumMac::paintSliderTrack): 53824 (WebCore::RenderThemeChromiumMac::paintSliderThumb): 53825 (WebCore::RenderThemeChromiumMac::paintSearchField): 53826 (WebCore::RenderThemeChromiumMac::setSearchFieldSize): 53827 (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle): 53828 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton): 53829 (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): 53830 (WebCore::RenderThemeChromiumMac::popupButton): 53831 (WebCore::RenderThemeChromiumMac::sliderThumbHorizontal): 53832 (WebCore::RenderThemeChromiumMac::sliderThumbVertical): 53833 53834 2010-02-02 Kwang Yul Seo <skyul (a] company100.net> 53835 53836 Reviewed by Eric Seidel. 53837 53838 [BREWMP] Port Logging 53839 https://bugs.webkit.org/show_bug.cgi?id=34300 53840 53841 Log calls to notImplemented() by default. 53842 53843 * platform/brew/LoggingBrew.cpp: Added. 53844 (WebCore::InitializeLoggingChannelsIfNecessary): 53845 53846 2010-02-02 Kwang Yul Seo <skyul (a] company100.net> 53847 53848 Reviewed by Eric Seidel. 53849 53850 [BREWMP] Port FileChooser 53851 https://bugs.webkit.org/show_bug.cgi?id=34261 53852 53853 Port FileChooser to BREWMP. 53854 53855 * platform/brew/FileChooserBrew.cpp: Added. 53856 (WebCore::FileChooser::basenameForWidth): 53857 53858 2010-02-01 Zoltan Horvath <zoltan (a] webkit.org> 53859 53860 Reviewed by Darin Adler. 53861 53862 Allow custom memory allocation control for IconDatabaseClient class 53863 https://bugs.webkit.org/show_bug.cgi?id=33252 53864 53865 Inherits the following struct from Noncopyable because it is 53866 instantiated by 'new' and no need to be copyable: 53867 53868 class name - instantiated at: WebCore/'location' 53869 class IconDatabaseClient - loader/icon/IconDatabase.cpp:89 53870 53871 * loader/icon/IconDatabaseClient.h: 53872 53873 2010-02-01 Kwang Yul Seo <skyul (a] company100.net> 53874 53875 Reviewed by Eric Seidel. 53876 53877 [BREWMP] Port MIMETypeRegistry 53878 https://bugs.webkit.org/show_bug.cgi?id=34220 53879 53880 Port MIMETypeRegistry with an extension map as other ports do. 53881 53882 * platform/brew: Added. 53883 * platform/brew/MIMETypeRegistryBrew.cpp: Added. 53884 (WebCore::): 53885 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 53886 53887 2010-02-01 Dmitry Titov <dimich (a] chromium.org> 53888 53889 Not reviewed, revert r54194 that fails new test on Qt and Chromium. 53890 https://bugs.webkit.org/show_bug.cgi?id=34382 53891 53892 * html/HTMLFrameElementBase.cpp: 53893 (WebCore::HTMLFrameElementBase::setNameAndOpenURL): 53894 (WebCore::HTMLFrameElementBase::insertedIntoDocument): 53895 * html/HTMLFrameElementBase.h: 53896 * page/Frame.cpp: 53897 * page/Frame.h: 53898 53899 2010-02-01 Shinichiro Hamaji <hamaji (a] chromium.org> 53900 53901 Reviewed by Eric Seidel. 53902 53903 Provide a way to get page number with layoutTestController 53904 https://bugs.webkit.org/show_bug.cgi?id=33840 53905 53906 Test: printing/page-break-always.html 53907 53908 * WebCore.base.exp: 53909 * WebCore.xcodeproj/project.pbxproj: 53910 * page/PrintContext.cpp: 53911 (WebCore::PrintContext::pageRect): Added a getter function. 53912 (WebCore::PrintContext::computePageRects): Move its logic into computePageRectsWithPageSize. 53913 (WebCore::PrintContext::computePageRectsWithPageSize): Factored out from computePageRects for pageNumberForElement. 53914 (WebCore::enclosingBoxModelObject): Added for pageNumberForElement. 53915 (WebCore::PrintContext::pageNumberForElement): Added for testing. 53916 * page/PrintContext.h: 53917 53918 2010-02-01 Kwang Yul Seo <skyul (a] company100.net> 53919 53920 Reviewed by Eric Seidel. 53921 53922 [BREWMP] Add conversions between IntSize and AEESize 53923 https://bugs.webkit.org/show_bug.cgi?id=34197 53924 53925 Make it easy to convert between IntSize and AEESize. 53926 53927 * platform/graphics/IntSize.h: 53928 * platform/graphics/brew/IntSizeBrew.cpp: Added. 53929 (WebCore::IntSize::IntSize): 53930 (WebCore::IntSize::operator AEESize): 53931 53932 2010-02-01 Stephen White <senorblanco (a] chromium.org> 53933 53934 Reviewed by Eric Seidel. 53935 53936 Fix for Pattern transformations in Chromium/Skia. This required 53937 reworking Pattern a bit to be more like the Gradient implementation. 53938 In particular, it now holds an m_pattern reference to the 53939 platform-specific implementation, and passes along changes to the 53940 m_patternSpaceTransformation, in the same way that Gradient does for 53941 m_gradientSpaceTransformation. This is necessary since Skia creates the 53942 platform-specific pattern (SkShader) once, rather than recreating it 53943 on each draw. 53944 For platforms other than Skia, m_pattern is unused, they will 53945 continue to use the static createPlatformPattern(), and the new 53946 notification functions are stubbed out. Other platforms can switch to 53947 the new implementation if they so choose. 53948 53949 https://bugs.webkit.org/show_bug.cgi?id=24534 53950 53951 Covered by svg/custom/pattern-y-offset.svg, 53952 svg/custom/pattern-cycle-detection.svg, and many more. 53953 53954 * platform/graphics/Pattern.cpp: 53955 (WebCore::Pattern::Pattern): 53956 Initializer for m_pattern. 53957 (WebCore::Pattern::~Pattern): 53958 call platformDestroy(). 53959 (WebCore::Pattern::setPatternSpaceTransform): 53960 Pass along the transform via setPlatformPatternSpaceTransform(). 53961 (WebCore::Pattern::platformDestroy): 53962 (WebCore::Pattern::setPlatformPatternSpaceTransform): 53963 Stub implementations for non-skia platforms. 53964 * platform/graphics/Pattern.h: 53965 * platform/graphics/skia/GraphicsContextSkia.cpp: 53966 (WebCore::GraphicsContext::setPlatformFillPattern): 53967 (WebCore::GraphicsContext::setPlatformStrokePattern): 53968 Call platformPattern() instead of static version. 53969 Since Pattern now owns its SkShader, no need to unref here. 53970 * platform/graphics/skia/PatternSkia.cpp: 53971 (WebCore::Pattern::platformDestroy): 53972 Unref the SkShader on destroy. 53973 (WebCore::Pattern::platformPattern): 53974 Create the platform pattern (SkShader) once, and cache it. 53975 (WebCore::Pattern::setPlatformPatternSpaceTransform): 53976 Set the shader's local matrix from the m_patternSpaceTransformation. 53977 53978 2010-02-01 Daniel Bates <dbates (a] webkit.org> 53979 53980 Reviewed by Adam Barth. 53981 53982 https://bugs.webkit.org/show_bug.cgi?id=27312 53983 53984 Implements support for full page blocking via the X-XSS-Protection header. 53985 53986 Tests: http/tests/security/xssAuditor/full-block-base-href.html 53987 http/tests/security/xssAuditor/full-block-get-from-iframe.html 53988 http/tests/security/xssAuditor/full-block-iframe-javascript-url.html 53989 http/tests/security/xssAuditor/full-block-iframe-no-inherit.php 53990 http/tests/security/xssAuditor/full-block-javascript-link.html 53991 http/tests/security/xssAuditor/full-block-link-onclick.html 53992 http/tests/security/xssAuditor/full-block-object-tag.html 53993 http/tests/security/xssAuditor/full-block-post-from-iframe.html 53994 http/tests/security/xssAuditor/full-block-script-tag-with-source.html 53995 http/tests/security/xssAuditor/full-block-script-tag.html 53996 http/tests/security/xssAuditor/malformed-xss-protection-header.html 53997 53998 * page/XSSAuditor.cpp: 53999 (WebCore::XSSAuditor::shouldFullPageBlockForXSSProtectionHeader): Added. 54000 (WebCore::XSSAuditor::findInRequest): Modified to call method 54001 XSSAuditor::shouldFullPageBlockForXSSProtectionHeader. 54002 * page/XSSAuditor.h: Defined method shouldFullPageBlockForXSSProtectionHeader 54003 and fixed misspelled words in large comment block. 54004 54005 2010-02-01 Kwang Yul Seo <skyul (a] company100.net> 54006 54007 Reviewed by Eric Seidel. 54008 54009 [BREWMP] Port SharedTimer with IShell_SetTimerEx. 54010 https://bugs.webkit.org/show_bug.cgi?id=33599 54011 54012 As fireTime passed in setSharedTimerFireTime is the absolute time, 54013 we must calcalute the interval by subtracting currentTime() from 54014 fireTime and pass the result to ISHELL_SetTimerEx. 54015 54016 * platform/brew/SharedTimerBrew.cpp: Added. 54017 (WebCore::invokeCallback): 54018 (WebCore::setSharedTimerFiredFunction): 54019 (WebCore::setSharedTimerFireTime): 54020 (WebCore::stopSharedTimer): 54021 54022 2010-02-01 Shinichiro Hamaji <hamaji (a] chromium.org> 54023 54024 [Chromium] Unreviewed attempt to fix the chromium build. 54025 54026 Corresponding change: http://trac.webkit.org/changeset/54182 54027 54028 * bindings/scripts/CodeGeneratorV8.pm: 54029 * bindings/v8/ScriptController.cpp: 54030 (WebCore::ScriptController::processingUserGesture): 54031 * bindings/v8/ScriptController.h: 54032 54033 2010-02-01 Dmitry Titov <dimich (a] chromium.org> 54034 54035 Reviewed by David Levin. 54036 54037 When a live iframe element is moved between pages, it still depends on the old page. 54038 https://bugs.webkit.org/show_bug.cgi?id=34382 54039 54040 Test: fast/frames/iframe-reparenting-new-page.html 54041 54042 * html/HTMLFrameElementBase.cpp: 54043 (WebCore::HTMLFrameElementBase::setName): 54044 Move the code setting the frame name into a separate function. 54045 54046 (WebCore::HTMLFrameElementBase::setNameAndOpenURL): 54047 (WebCore::HTMLFrameElementBase::updateLiveFrame): 54048 Update frame tree, reset page in the contentFrame and re-set the name. 54049 54050 (WebCore::HTMLFrameElementBase::insertedIntoDocument): 54051 * html/HTMLFrameElementBase.h: 54052 54053 * page/Frame.cpp: 54054 (WebCore::Frame::setPage): 54055 * page/Frame.h: Add setPage method. It is only currently used when iframe is 54056 moved between pages (so the ASSERT(m_ownerElement). 54057 54058 2010-02-01 Brady Eidson <beidson (a] apple.com> 54059 54060 Reviewed by Tim Hatcher. 54061 54062 Add common IRC ports to port blocking. 54063 <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451 54064 54065 * platform/KURL.cpp: 54066 (WebCore::portAllowed): 54067 54068 2010-01-29 Jeremy Orlow <jorlow (a] chromium.org> 54069 54070 Reviewed by Nate Chapin. 54071 54072 [V8] Add compile time guards for IndexedDB custom functions 54073 https://bugs.webkit.org/show_bug.cgi?id=34368 54074 54075 * bindings/v8/custom/V8IDBRequestCustom.cpp: 54076 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: 54077 54078 2010-01-29 Gavin Barraclough <barraclough (a] apple.com> 54079 54080 Reviewed by Sam Weinig + Oliver Hunt. 54081 54082 Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds 54083 54084 Change HTMLMediaElement methods that require checking whether the event is a user gesture to 54085 be passed a boolean. This may be passed from the JSC bindings (where we have an exec state), 54086 or read from the event. Add a Flag to the IDL to mark this information is required. 54087 54088 * WebCore.Video.exp: 54089 * bindings/js/JSDOMBinding.cpp: 54090 (WebCore::processingUserGesture): 54091 * bindings/js/JSDOMWindowCustom.cpp: 54092 (WebCore::domWindowAllowPopUp): 54093 (WebCore::JSDOMWindow::open): 54094 (WebCore::JSDOMWindow::showModalDialog): 54095 * bindings/js/JSDocumentCustom.cpp: 54096 (WebCore::JSDocument::setLocation): 54097 * bindings/js/ScriptController.cpp: 54098 (WebCore::ScriptController::processingUserGesture): 54099 (WebCore::ScriptController::processingUserGestureEvent): 54100 (WebCore::ScriptController::anyPageIsProcessingUserGesture): 54101 * bindings/js/ScriptController.h: 54102 * bindings/scripts/CodeGeneratorJS.pm: 54103 * dom/Event.cpp: 54104 (WebCore::Event::isUserEvent): 54105 * dom/Event.h: 54106 * html/HTMLMediaElement.cpp: 54107 (WebCore::HTMLMediaElement::removedFromDocument): 54108 (WebCore::HTMLMediaElement::load): 54109 (WebCore::HTMLMediaElement::play): 54110 (WebCore::HTMLMediaElement::pause): 54111 (WebCore::HTMLMediaElement::beginScrubbing): 54112 (WebCore::HTMLMediaElement::documentDidBecomeActive): 54113 (WebCore::HTMLMediaElement::webkitEnterFullScreen): 54114 * html/HTMLMediaElement.h: 54115 * html/HTMLMediaElement.idl: 54116 * loader/FrameLoader.cpp: 54117 (WebCore::FrameLoader::isProcessingUserGesture): 54118 * loader/MediaDocument.cpp: 54119 (WebCore::MediaDocument::defaultEventHandler): 54120 * page/DOMWindow.cpp: 54121 (WebCore::DOMWindow::allowPopUp): 54122 * rendering/MediaControlElements.cpp: 54123 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): 54124 54125 2010-02-01 Andreas Kling <andreas.kling (a] nokia.com> 54126 54127 Reviewed by Kenneth Rohde Christiansen. 54128 54129 [Qt] Use the fallback style on Maemo 5 54130 54131 https://bugs.webkit.org/show_bug.cgi?id=34376 54132 54133 * platform/qt/RenderThemeQt.cpp: 54134 (WebCore::RenderThemeQt::RenderThemeQt): 54135 (WebCore::RenderThemeQt::fallbackStyle): 54136 (WebCore::RenderThemeQt::qStyle): 54137 (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists): 54138 * platform/qt/RenderThemeQt.h: 54139 54140 2010-02-01 Kavita Kanetkar <kkanetkar (a] chromium.org> 54141 54142 Reviewed by Nate Chapin. 54143 54144 [V8] Making V8 generated classes' GetTemplate() function public 54145 https://bugs.webkit.org/show_bug.cgi?id=34026 54146 54147 * bindings/scripts/CodeGeneratorV8.pm: Generated code need not depend on V8CustomBinding.h, made GetTemplate() signature public. 54148 54149 2010-02-01 Steve Block <steveblock (a] google.com> 54150 54151 Reviewed by Ariya Hidayat. 54152 54153 Adds V8-specific JNI bridge classes 54154 https://bugs.webkit.org/show_bug.cgi?id=34166 54155 54156 This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC. 54157 54158 No new tests, build fix only. 54159 54160 * Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp 54161 * bridge/Bridge.h: Modified. Added missing include for Noncopyable.h 54162 * bridge/jni/v8/JNIBridgeV8.cpp: Added. 54163 (JavaField::JavaField): 54164 * bridge/jni/v8/JNIBridgeV8.h: Added. 54165 (JSC::Bindings::JavaField::name): 54166 (JSC::Bindings::JavaField::type): 54167 (JSC::Bindings::JavaField::getJNIType): 54168 54169 2010-02-01 Steve Block <steveblock (a] google.com> 54170 54171 Reviewed by Ariya Hidayat. 54172 54173 Adds V8-specific JNI utility functions. 54174 https://bugs.webkit.org/show_bug.cgi?id=33901 54175 54176 This is the V8 equivalent of bridge/jni/jsc/JNIUtilityPrivate. 54177 54178 No new tests, build fix only. 54179 54180 * Android.v8bindings.mk: Modified. Add JNIUtilityPrivate.cpp 54181 * bridge/jni/v8/JNIUtilityPrivate.cpp: Added. 54182 (JSC::Bindings::convertNPVariantToJValue): 54183 (JSC::Bindings::convertJValueToNPVariant): 54184 * bridge/jni/v8/JNIUtilityPrivate.h: Added. 54185 54186 2010-02-01 Steve Block <steveblock (a] google.com> 54187 54188 Reviewed by Ariya Hidayat. 54189 54190 Adds V8 version of JavaClass 54191 https://bugs.webkit.org/show_bug.cgi?id=33898 54192 54193 This is the V8 equivalent of bridge/jni/jsc/JavaClassJSC 54194 54195 No new tests, build fix only. 54196 54197 * Android.v8bindings.mk: Modified. Added JavaClassV8.cpp 54198 * bridge/jni/v8/JavaClassV8.cpp: Added. 54199 (JavaClass::JavaClass): 54200 (JavaClass::~JavaClass): 54201 (JavaClass::methodsNamed): 54202 (JavaClass::fieldNamed): 54203 * bridge/jni/v8/JavaClassV8.h: Added. 54204 54205 2010-02-01 Steve Block <steveblock (a] google.com> 54206 54207 Reviewed by Ariya Hidayat. 54208 54209 Adds V8 version of JavaInstance 54210 https://bugs.webkit.org/show_bug.cgi?id=33951 54211 54212 This is the V8 equivalent of bridge/jni/jsc/JavaInstanceJSC. 54213 Also fixes a typo in a comment in JavaInstanceJSC.cpp. 54214 54215 No new tests, build fix only. 54216 54217 * Android.v8bindings.mk: Modified. Added JavaInstanceV8.cpp 54218 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. 54219 (JavaInstance::invokeMethod): Modified. Fixed comment 54220 * bridge/jni/v8/JavaInstanceV8.cpp: Added. 54221 (JavaInstance::JavaInstance): 54222 (JavaInstance::~JavaInstance): 54223 (JavaInstance::getClass): 54224 (JavaInstance::invokeMethod): 54225 (JObjectWrapper::JObjectWrapper): 54226 (JObjectWrapper::~JObjectWrapper): 54227 * bridge/jni/v8/JavaInstanceV8.h: Added. 54228 (JSC::Bindings::JObjectWrapper::instance): 54229 (JSC::Bindings::JObjectWrapper::setInstance): 54230 (JSC::Bindings::JObjectWrapper::ref): 54231 (JSC::Bindings::JObjectWrapper::deref): 54232 (JSC::Bindings::JavaInstance::javaInstance): 54233 (JSC::Bindings::JavaInstance::begin): 54234 (JSC::Bindings::JavaInstance::end): 54235 (JSC::Bindings::JavaInstance::virtualBegin): 54236 (JSC::Bindings::JavaInstance::virtualEnd): 54237 54238 2010-02-01 Dumitru Daniliuc <dumi (a] chromium.org> 54239 54240 Reviewed by Eric Seidel. 54241 54242 Making sure that all in-progress transactions are rolled back on 54243 the database thread before they're destroyed. Otherwise, 54244 SQLiteTransaction's destructor will try to do a rollback and that 54245 would cause an assertion failure, if the object is not destroyed 54246 on the DB thread. 54247 54248 https://bugs.webkit.org/show_bug.cgi?id=34152 54249 54250 * platform/sql/SQLiteTransaction.cpp: 54251 (WebCore::SQLiteTransaction::stop): 54252 * storage/SQLTransaction.cpp: 54253 (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown): 54254 * storage/SQLTransaction.h: 54255 * storage/SQLTransactionCoordinator.cpp: 54256 (WebCore::SQLTransactionCoordinator::shutdown): 54257 54258 2010-02-01 Sam Weinig <sam (a] webkit.org> 54259 54260 Reviewed by Beth Dakin. 54261 54262 Fix EXPERIMENTAL_SINGLE_VIEW_MODE build. 54263 54264 * page/EventHandler.h: 54265 * page/mac/EventHandlerMac.mm: 54266 (WebCore::EventHandler::currentNSEvent): 54267 (WebCore::EventHandler::currentKeyboardEvent): 54268 (WebCore::EventHandler::mouseDown): 54269 (WebCore::EventHandler::mouseDragged): 54270 (WebCore::EventHandler::mouseUp): 54271 (WebCore::EventHandler::mouseMoved): 54272 (WebCore::EventHandler::keyEvent): 54273 (WebCore::EventHandler::wheelEvent): 54274 (WebCore::EventHandler::sendContextMenuEvent): 54275 (WebCore::EventHandler::eventMayStartDrag): 54276 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): 54277 54278 2010-02-01 Nate Chapin <japhet (a] chromium.org> 54279 54280 Unreviewed, Chromium build fix. 54281 54282 Failed to properly add new files for http://trac.webkit.org/changeset/54150. 54283 54284 * bindings/v8/custom/V8BarInfoCustom.cpp: Added. 54285 * bindings/v8/custom/V8CSSRuleCustom.cpp: Added. 54286 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added. 54287 * bindings/v8/custom/V8CSSValueCustom.cpp: Added. 54288 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added. 54289 * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added. 54290 * bindings/v8/custom/V8HTMLElementCustom.cpp: Added. 54291 * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added. 54292 * bindings/v8/custom/V8SVGElementCustom.cpp: Added. 54293 * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added. 54294 * bindings/v8/custom/V8ScreenCustom.cpp: Added. 54295 * bindings/v8/custom/V8StyleSheetCustom.cpp: Added. 54296 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added. 54297 54298 2010-01-27 Matt Perry <mpcomplete (a] chromium.org> 54299 54300 Reviewed by Eric Seidel. 54301 54302 Add support for addUserScript to chromium port. 54303 54304 * bindings/v8/ScriptController.cpp: 54305 (WebCore::ScriptController::evaluateInWorld): 54306 * bindings/v8/ScriptController.h: 54307 54308 2010-02-01 Eric Carlson <eric.carlson (a] apple.com> 54309 54310 Reviewed by Dan Bernstein. 54311 54312 https://bugs.webkit.org/show_bug.cgi?id=34448 54313 <rdar://problem/7598130> 54314 54315 RenderVideo::intrinsicSizeChanged infinite recursion 54316 54317 * rendering/RenderImage.h: 54318 (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can 54319 be called by RenderVideo. 54320 * rendering/RenderVideo.cpp: 54321 (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not 54322 RenderVideo::intrinsicSizeChanged. 54323 (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of 54324 RenderImage::imageChanged. 54325 54326 2010-02-01 Nate Chapin <japhet (a] chromium.org> 54327 54328 Reviewed by Dimitri Glazkov. 54329 54330 [V8] Generate toV8() converter for most WebCore->V8 conversions, 54331 and defined custom converters in their respective V8<class>Custom.cpp. 54332 54333 Old converters in V8DOMWrapper will be deleted in a later patch. 54334 54335 https://bugs.webkit.org/show_bug.cgi?id=32563 54336 54337 * Android.v8bindings.mk: 54338 * WebCore.gyp/WebCore.gyp: 54339 * WebCore.gypi: 54340 * bindings/scripts/CodeGeneratorV8.pm: 54341 * bindings/v8/V8Collection.h: 54342 * bindings/v8/V8DOMWrapper.cpp: 54343 * bindings/v8/V8DOMWrapper.h: 54344 * bindings/v8/V8Proxy.h: 54345 * bindings/v8/custom/V8BarInfoCustom.cpp: Added. 54346 * bindings/v8/custom/V8CSSRuleCustom.cpp: Added. 54347 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added. 54348 * bindings/v8/custom/V8CSSValueCustom.cpp: Added. 54349 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added. 54350 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 54351 * bindings/v8/custom/V8ConsoleCustom.cpp: 54352 * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added. 54353 * bindings/v8/custom/V8DOMWindowCustom.cpp: 54354 * bindings/v8/custom/V8DocumentCustom.cpp: 54355 * bindings/v8/custom/V8ElementCustom.cpp: 54356 * bindings/v8/custom/V8EventCustom.cpp: 54357 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 54358 * bindings/v8/custom/V8HTMLElementCustom.cpp: Added. 54359 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 54360 * bindings/v8/custom/V8HistoryCustom.cpp: 54361 * bindings/v8/custom/V8LocationCustom.cpp: 54362 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: 54363 * bindings/v8/custom/V8NavigatorCustom.cpp: 54364 * bindings/v8/custom/V8NodeCustom.cpp: 54365 * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added. 54366 * bindings/v8/custom/V8SVGElementCustom.cpp: Added. 54367 * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added. 54368 * bindings/v8/custom/V8ScreenCustom.cpp: Added. 54369 * bindings/v8/custom/V8StyleSheetCustom.cpp: Added. 54370 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 54371 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added. 54372 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: 54373 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: 54374 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: 54375 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 54376 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: 54377 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: 54378 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: 54379 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: 54380 * dom/make_names.pl: Add options to generate wrapper factory for V8 bindings. 54381 54382 2010-02-01 Alexander Pavlov <apavlov (a] chromium.org> 54383 54384 Reviewed by Pavel Feldman. 54385 54386 Web Inspector: lazy-load textual resources to avoid UI hangup 54387 https://bugs.webkit.org/show_bug.cgi?id=34332 54388 54389 * inspector/front-end/ResourceView.js: 54390 (WebInspector.ResourceView.prototype._innerSelectContentTab): 54391 * inspector/front-end/SourceView.js: 54392 (WebInspector.SourceView.prototype.show): 54393 (WebInspector.SourceView.prototype.contentTabSelected): 54394 54395 2010-02-01 Brady Eidson <beidson (a] apple.com> 54396 54397 Reviewed by Adele Peterson. 54398 54399 Crash in Safari opening new tabs to "same page" 54400 <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444 54401 54402 Test: fast/loader/crash-copying-backforwardlist.html 54403 54404 * loader/FrameLoader.cpp: 54405 (WebCore::FrameLoader::loadItem): Null check currentItem(). 54406 54407 * page/Page.cpp: 54408 (WebCore::Page::goToItem): Ditto. 54409 54410 2010-02-01 Kevin Watters <kevinwatters (a] gmail.com> 54411 54412 Reviewed by Kevin Ollivier. 54413 54414 [wx] Remove unused file that doesn't seem to belong to the port. 54415 54416 https://bugs.webkit.org/show_bug.cgi?id=34445 54417 54418 * platform/wx/KeyEventWin.cpp: Removed. 54419 54420 2010-02-01 Eric Carlson <eric.carlson (a] apple.com> 54421 54422 Reviewed by Adele Peterson. 54423 54424 Fullscreen API should be on HTMLVideoElement 54425 https://bugs.webkit.org/show_bug.cgi?id=34438 54426 54427 Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement. 54428 54429 * html/HTMLMediaElement.cpp: 54430 * html/HTMLMediaElement.h: 54431 * html/HTMLMediaElement.idl: 54432 * html/HTMLVideoElement.cpp: 54433 (WebCore::HTMLVideoElement::paint): Removed outdated FIXME. 54434 (WebCore::HTMLVideoElement::paintCurrentFrameInContext): Ditto. 54435 (WebCore::HTMLVideoElement::webkitEnterFullScreen): Moved from HTMLMediaElement. 54436 (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto. 54437 (WebCore::HTMLVideoElement::webkitSupportsFullscreen): Ditto. 54438 (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto. 54439 * html/HTMLVideoElement.h: 54440 * html/HTMLVideoElement.idl: 54441 54442 2010-02-01 Pavel Feldman <pfeldman (a] chromium.org> 54443 54444 Reviewed by Timothy Hatcher. 54445 54446 Web Inspector: Syntax highlighting in source view of 54447 Resources pane stops half-way. 54448 54449 There were two problems here: (1) styles for html highlighter were not 54450 added into the css file (they used to be injected manually in the 54451 SourceFrame before). (2) 'Tag' needed to be lexer's state, not parser's. 54452 Otherwise unbalanced quotes in the text nodes were matching too match 54453 into the string tokens. 54454 54455 https://bugs.webkit.org/show_bug.cgi?id=34359 54456 54457 * inspector/front-end/NativeTextViewer.js: 54458 (WebInspector.NativeTextViewer.prototype._createLineDivs): 54459 (WebInspector.NativeTextViewer.prototype._lineHeight): 54460 (WebInspector.NativeTextViewer.prototype.initFontMetrics): 54461 * inspector/front-end/SourceFrame.js: 54462 (WebInspector.SourceFrame.prototype._createEditorIfNeeded): 54463 * inspector/front-end/SourceHTMLTokenizer.js: 54464 (WebInspector.SourceHTMLTokenizer): 54465 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 54466 * inspector/front-end/SourceHTMLTokenizer.re2js: 54467 * inspector/front-end/TextEditor.js: 54468 (WebInspector.TextEditor.prototype.initFontMetrics): 54469 (WebInspector.TextEditor.prototype._registerShortcuts): 54470 * inspector/front-end/inspectorSyntaxHighlight.css: 54471 54472 2010-02-01 Ben Murdoch <benm (a] google.com> 54473 54474 Reviewed by Darin Adler. 54475 54476 ScriptCallFrame's do not get line numbers/source id's if the caller is unkown. 54477 https://bugs.webkit.org/show_bug.cgi?id=34335 54478 54479 * bindings/js/ScriptCallStack.cpp: 54480 (WebCore::ScriptCallStack::ScriptCallStack): If the caller is unknown, the line number and source information is still available so pass it to the ScriptCallFrame being constructed. 54481 54482 2010-02-01 Dirk Schulze <krit (a] webkit.org> 54483 54484 Reviewed by Simon Fraser. 54485 54486 Add back an AffineTransform class for use by SVG 54487 https://bugs.webkit.org/show_bug.cgi?id=33750 54488 54489 These are the first steps on reimplementing AffineTransform. Unlike 54490 the old affine code, this one is platform independent like TransformationMatrix. 54491 AffineTransform has the benefit, that it stores just 6 doubles instead of 54492 16 in TransformationMatrix. The calculations of transformations are not that 54493 complex and can improve the memory usage and speed of SVG. 54494 AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at 54495 least for the moment). 54496 HTML Canvas is the first that makes use of the new AffineTransform. Next patches 54497 will introduce the affine code to SVG. 54498 54499 No new tests. The new AffineTransformation code is tested by fast/canvas. 54500 54501 * Android.mk: 54502 * GNUmakefile.am: 54503 * WebCore.gypi: 54504 * WebCore.pro: 54505 * WebCore.vcproj/WebCore.vcproj: 54506 * WebCore.xcodeproj/project.pbxproj: 54507 * html/canvas/CanvasRenderingContext2D.cpp: 54508 (WebCore::CanvasRenderingContext2D::scale): 54509 (WebCore::CanvasRenderingContext2D::rotate): 54510 (WebCore::CanvasRenderingContext2D::translate): 54511 (WebCore::CanvasRenderingContext2D::transform): 54512 (WebCore::CanvasRenderingContext2D::setTransform): 54513 (WebCore::CanvasRenderingContext2D::isPointInPath): 54514 (WebCore::CanvasRenderingContext2D::willDraw): 54515 * html/canvas/CanvasRenderingContext2D.h: 54516 * platform/graphics/GraphicsContext.h: 54517 * platform/graphics/Path.h: 54518 * platform/graphics/cairo/GraphicsContextCairo.cpp: 54519 (WebCore::GraphicsContext::getAffineCTM): 54520 (WebCore::GraphicsContext::concatCTM): 54521 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 54522 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 54523 * platform/graphics/cairo/PathCairo.cpp: 54524 (WebCore::Path::transform): 54525 * platform/graphics/cairo/TransformationMatrixCairo.cpp: 54526 (WebCore::AffineTransform::operator cairo_matrix_t): 54527 * platform/graphics/cg/GraphicsContextCG.cpp: 54528 (WebCore::GraphicsContext::concatCTM): 54529 (WebCore::GraphicsContext::getAffineCTM): 54530 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 54531 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 54532 * platform/graphics/cg/PathCG.cpp: 54533 (WebCore::Path::transform): 54534 * platform/graphics/cg/TransformationMatrixCG.cpp: 54535 (WebCore::AffineTransform::operator CGAffineTransform): 54536 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 54537 (WebCore::GraphicsContext::getAffineCTM): 54538 (WebCore::GraphicsContext::concatCTM): 54539 * platform/graphics/haiku/PathHaiku.cpp: 54540 (WebCore::Path::transform): 54541 * platform/graphics/qt/GraphicsContextQt.cpp: 54542 (WebCore::GraphicsContext::getAffineCTM): 54543 (WebCore::GraphicsContext::concatCTM): 54544 * platform/graphics/qt/PathQt.cpp: 54545 (WebCore::Path::transform): 54546 * platform/graphics/qt/TransformationMatrixQt.cpp: 54547 (WebCore::AffineTransform::operator QTransform): 54548 * platform/graphics/skia/GraphicsContextSkia.cpp: 54549 (WebCore::GraphicsContext::concatCTM): 54550 (WebCore::GraphicsContext::getAffineCTM): 54551 * platform/graphics/skia/PathSkia.cpp: 54552 (WebCore::Path::transform): 54553 * platform/graphics/skia/TransformationMatrixSkia.cpp: 54554 (WebCore::AffineTransform::operator SkMatrix): 54555 * platform/graphics/transforms/AffineTransform.cpp: Added. 54556 (WebCore::affineTransformDecompose): 54557 (WebCore::affineTransformCompose): 54558 (WebCore::AffineTransform::AffineTransform): 54559 (WebCore::AffineTransform::reset): 54560 (WebCore::AffineTransform::setMatrix): 54561 (WebCore::AffineTransform::isIdentity): 54562 (WebCore::AffineTransform::det): 54563 (WebCore::AffineTransform::isInvertible): 54564 (WebCore::AffineTransform::inverse): 54565 (WebCore::AffineTransform::multiply): 54566 (WebCore::AffineTransform::multLeft): 54567 (WebCore::AffineTransform::rotate): 54568 (WebCore::AffineTransform::scale): 54569 (WebCore::AffineTransform::translate): 54570 (WebCore::AffineTransform::scaleNonUniform): 54571 (WebCore::AffineTransform::rotateFromVector): 54572 (WebCore::AffineTransform::flipX): 54573 (WebCore::AffineTransform::flipY): 54574 (WebCore::AffineTransform::shear): 54575 (WebCore::AffineTransform::skew): 54576 (WebCore::AffineTransform::skewX): 54577 (WebCore::AffineTransform::skewY): 54578 (WebCore::makeMapBetweenRects): 54579 (WebCore::AffineTransform::map): 54580 (WebCore::AffineTransform::mapPoint): 54581 (WebCore::AffineTransform::mapRect): 54582 (WebCore::AffineTransform::blend): 54583 (WebCore::AffineTransform::toTransformationMatrix): 54584 * platform/graphics/transforms/AffineTransform.h: Added. 54585 (WebCore::AffineTransform::a): 54586 (WebCore::AffineTransform::setA): 54587 (WebCore::AffineTransform::b): 54588 (WebCore::AffineTransform::setB): 54589 (WebCore::AffineTransform::c): 54590 (WebCore::AffineTransform::setC): 54591 (WebCore::AffineTransform::d): 54592 (WebCore::AffineTransform::setD): 54593 (WebCore::AffineTransform::e): 54594 (WebCore::AffineTransform::setE): 54595 (WebCore::AffineTransform::f): 54596 (WebCore::AffineTransform::setF): 54597 (WebCore::AffineTransform::operator== ): 54598 (WebCore::AffineTransform::operator!=): 54599 (WebCore::AffineTransform::operator*=): 54600 (WebCore::AffineTransform::operator*): 54601 (WebCore::AffineTransform::setMatrix): 54602 * platform/graphics/win/GraphicsContextWin.cpp: 54603 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 54604 * platform/graphics/wince/GraphicsContextWince.cpp: 54605 (WebCore::GraphicsContext::concatCTM): 54606 (WebCore::GraphicsContext::getAffineCTM): 54607 * platform/graphics/wx/GraphicsContextWx.cpp: 54608 (WebCore::GraphicsContext::getAffineCTM): 54609 (WebCore::GraphicsContext::concatCTM): 54610 * platform/graphics/wx/PathWx.cpp: 54611 (WebCore::Path::transform): 54612 * platform/graphics/wx/TransformationMatrixWx.cpp: 54613 (WebCore::AffineTransform::operator wxGraphicsMatrix): 54614 54615 2010-01-29 Philippe Normand <pnormand (a] igalia.com> 54616 54617 Reviewed by Eric Carlson. 54618 54619 [GTK] set playbin mute property depending on volume value 54620 https://bugs.webkit.org/show_bug.cgi?id=31586 54621 54622 New API in MediaPlayer for mute control. 3 new methods are 54623 introduced: 54624 54625 - bool supportsMuting() const; 54626 - bool muted() const; 54627 - void setMuted(bool); 54628 54629 Platform MediaPlayer implementations can support it easily if the 54630 underlying sound daemon/API supports muting (eg. not only setting 54631 volume to 0) like PulseAudio for instance on Linux. At the moment 54632 the only player supporting this new API is the 54633 MediaPlayerPrivateGStreamer. 54634 54635 * html/HTMLMediaElement.cpp: 54636 (WebCore::HTMLMediaElement::setMuted): 54637 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): 54638 (WebCore::HTMLMediaElement::mediaPlayerMuteChanged): 54639 * html/HTMLMediaElement.h: 54640 * platform/graphics/MediaPlayer.cpp: 54641 (WebCore::NullMediaPlayerPrivate::supportsMuting): 54642 (WebCore::NullMediaPlayerPrivate::setMuted): 54643 (WebCore::MediaPlayer::MediaPlayer): 54644 (WebCore::MediaPlayer::muted): 54645 (WebCore::MediaPlayer::supportsMuting): 54646 (WebCore::MediaPlayer::setMuted): 54647 (WebCore::MediaPlayer::volumeChanged): 54648 (WebCore::MediaPlayer::muteChanged): 54649 * platform/graphics/MediaPlayer.h: 54650 (WebCore::MediaPlayerClient::mediaPlayerMuteChanged): 54651 * platform/graphics/MediaPlayerPrivate.h: 54652 (WebCore::MediaPlayerPrivateInterface::supportsMuting): 54653 (WebCore::MediaPlayerPrivateInterface::setMuted): 54654 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 54655 (WebCore::mediaPlayerPrivateVolumeChangedCallback): 54656 (WebCore::notifyVolumeIdleCallback): 54657 (WebCore::mediaPlayerPrivateMuteChangedCallback): 54658 (WebCore::notifyMuteIdleCallback): 54659 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 54660 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): 54661 (WebCore::MediaPlayerPrivate::volumeChangedCallback): 54662 (WebCore::MediaPlayerPrivate::volumeChanged): 54663 (WebCore::MediaPlayerPrivate::supportsMuting): 54664 (WebCore::MediaPlayerPrivate::setMuted): 54665 (WebCore::MediaPlayerPrivate::muteChangedCallback): 54666 (WebCore::MediaPlayerPrivate::muteChanged): 54667 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 54668 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 54669 54670 2010-02-01 Henry Haverinen <henry.haverinen (a] nokia.com> 54671 54672 Reviewed by Simon Hausmann. 54673 54674 [Qt] Build without SSL support is broken 54675 54676 Added missing #ifdefs for OpenSSL support and one null-pointer 54677 check for the socket. 54678 54679 https://bugs.webkit.org/show_bug.cgi?id=34416 54680 54681 * platform/network/qt/SocketStreamHandlePrivate.h: 54682 * platform/network/qt/SocketStreamHandleQt.cpp: 54683 (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate): 54684 (WebCore::SocketStreamHandlePrivate::send): 54685 54686 2010-02-01 Pavel Feldman <pfeldman (a] chromium.org> 54687 54688 Reviewed by Timothy Hatcher. 54689 54690 Web Inspector: Fix rest of the NativeTextViewer (line numbers, 54691 conditional breakpoints, selection). 54692 54693 * inspector/front-end/NativeTextViewer.js: 54694 (WebInspector.NativeTextViewer): 54695 (WebInspector.NativeTextViewer.prototype._updatePreferredSize): 54696 (WebInspector.NativeTextViewer.prototype._registerMouseListeners): 54697 (WebInspector.NativeTextViewer.prototype._mouseDown): 54698 (WebInspector.NativeTextViewer.prototype._contextMenu): 54699 (WebInspector.NativeTextViewer.prototype._lineForMouseEvent): 54700 (WebInspector.NativeTextViewer.prototype._lineHeight): 54701 * inspector/front-end/TextEditor.js: 54702 (WebInspector.TextEditor): 54703 (WebInspector.TextEditor.prototype._registerMouseListeners): 54704 (WebInspector.TextEditor.prototype._offsetToLine): 54705 (WebInspector.TextEditor.prototype._lineHeight): 54706 (WebInspector.TextEditor.prototype.reveal): 54707 (WebInspector.TextEditor.prototype._paint): 54708 (WebInspector.TextEditor.prototype._updateDivDecorations): 54709 (WebInspector.TextEditor.prototype._paintSelection): 54710 54711 2010-02-01 Steve Block <steveblock (a] google.com> 54712 54713 Reviewed by Ariya Hidayat. 54714 54715 Adds implementation of JavaString for V8. 54716 https://bugs.webkit.org/show_bug.cgi?id=33953 54717 54718 No new tests, build fix only. 54719 54720 * bridge/jni/JNIBridge.h: Modified. Include JavaStringV8.h for V8 54721 * bridge/jni/v8: Added. 54722 * bridge/jni/v8/JavaStringV8.h: Added. 54723 (JSC::Bindings::JavaStringImpl::init): 54724 (JSC::Bindings::JavaStringImpl::UTF8String): 54725 (JSC::Bindings::JavaStringImpl::uchars): 54726 (JSC::Bindings::JavaStringImpl::length): 54727 54728 2010-02-01 Alex Milowski <alex (a] milowski.com> 54729 54730 Reviewed by Darin Adler. 54731 54732 Added compile time debug support for mathml layout (block boundary & baseline) 54733 54734 * mathml/RenderMathMLBlock.cpp: 54735 (WebCore::RenderMathMLBlock::stretchToHeight): 54736 (WebCore::RenderMathMLBlock::paint): 54737 * mathml/RenderMathMLBlock.h: 54738 54739 2010-02-01 Philippe Normand <pnormand (a] igalia.com> 54740 54741 Rubber stamped by Xan Lopez. 54742 54743 Fixed compilation warning about unsigned vs signed comparison. 54744 54745 * plugins/gtk/PluginViewGtk.cpp: 54746 (WebCore::PluginView::paint): 54747 54748 2010-01-31 Kent Tamura <tkent (a] chromium.org> 54749 54750 Unreviewed. Revert r54112 and r54124 because of Windows build error. 54751 54752 * Android.mk: 54753 * GNUmakefile.am: 54754 * WebCore.gypi: 54755 * WebCore.pro: 54756 * WebCore.vcproj/WebCore.vcproj: 54757 * WebCore.xcodeproj/project.pbxproj: 54758 * html/canvas/CanvasRenderingContext2D.cpp: 54759 (WebCore::CanvasRenderingContext2D::scale): 54760 (WebCore::CanvasRenderingContext2D::rotate): 54761 (WebCore::CanvasRenderingContext2D::translate): 54762 (WebCore::CanvasRenderingContext2D::transform): 54763 (WebCore::CanvasRenderingContext2D::setTransform): 54764 (WebCore::CanvasRenderingContext2D::isPointInPath): 54765 (WebCore::CanvasRenderingContext2D::willDraw): 54766 * html/canvas/CanvasRenderingContext2D.h: 54767 * platform/graphics/GraphicsContext.h: 54768 * platform/graphics/Path.h: 54769 * platform/graphics/cairo/GraphicsContextCairo.cpp: 54770 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 54771 * platform/graphics/cairo/PathCairo.cpp: 54772 * platform/graphics/cairo/TransformationMatrixCairo.cpp: 54773 * platform/graphics/cg/GraphicsContextCG.cpp: 54774 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 54775 * platform/graphics/cg/PathCG.cpp: 54776 * platform/graphics/cg/TransformationMatrixCG.cpp: 54777 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 54778 * platform/graphics/haiku/PathHaiku.cpp: 54779 * platform/graphics/qt/GraphicsContextQt.cpp: 54780 * platform/graphics/qt/PathQt.cpp: 54781 * platform/graphics/qt/TransformationMatrixQt.cpp: 54782 * platform/graphics/skia/GraphicsContextSkia.cpp: 54783 * platform/graphics/skia/PathSkia.cpp: 54784 * platform/graphics/skia/TransformationMatrixSkia.cpp: 54785 * platform/graphics/transforms/AffineTransform.cpp: Removed. 54786 * platform/graphics/transforms/AffineTransform.h: Removed. 54787 * platform/graphics/wince/GraphicsContextWince.cpp: 54788 * platform/graphics/wx/GraphicsContextWx.cpp: 54789 * platform/graphics/wx/PathWx.cpp: 54790 * platform/graphics/wx/TransformationMatrixWx.cpp: 54791 (WebCore::TransformationMatrix::operator wxGraphicsMatrix): 54792 54793 2010-01-31 Kwang Yul Seo <skyul (a] company100.net> 54794 54795 Reviewed by Darin Adler. 54796 54797 Limit the scope of packing alignment to avoid MSVC C4103 warning. 54798 https://bugs.webkit.org/show_bug.cgi?id=34390 54799 54800 Use pack(push, 16) and pack(pop) to limit the scope of packing 54801 alignment change. 54802 54803 * bindings/js/JSSVGPODTypeWrapper.h: 54804 54805 2010-01-31 Kent Tamura <tkent (a] chromium.org> 54806 54807 Reviewed by Darin Adler. 54808 54809 Fix valueAsNumber calculation for type=month. 54810 https://bugs.webkit.org/show_bug.cgi?id=34304 54811 54812 valueAsNumber calculation for type=month which was checked in as 54813 r53893 was the number of milliseconds since UNIX epoch, and it was 54814 wrong. The correct way is the number months since UNIX epoch. 54815 54816 * html/DateComponents.cpp: 54817 (WebCore::DateComponents::setMonthsSinceEpoch): 54818 (WebCore::DateComponents::monthsSinceEpoch): 54819 * html/DateComponents.h: Declare setMonthsSinceEpoch() and monthsSinceEpoch(). 54820 * html/HTMLInputElement.cpp: 54821 (WebCore::HTMLInputElement::parseToDouble): 54822 Switch to monthsSinceEpoch() for type=MONTH. 54823 (WebCore::HTMLInputElement::valueAsDate): 54824 Add code with millisecondsSinceEpoch() for MONTH because 54825 parseToDouble() changed its behavior. 54826 (WebCore::HTMLInputElement::setValueAsNumber): 54827 Use setMonthsSinceEpoch() for MONTH. 54828 54829 2010-01-31 Dan Bernstein <mitz (a] apple.com> 54830 54831 Reviewed by Timothy Hatcher. 54832 54833 Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center 54834 https://bugs.webkit.org/show_bug.cgi?id=34398 54835 54836 * inspector/front-end/inspector.css: Specify line-height: normal for 54837 ".console-message .bubble" and ".sidebar-tree-item .status .bubble". 54838 54839 2010-01-28 Ojan Vafai <ojan (a] chromium.org> 54840 54841 Reviewed by Darin Adler. 54842 54843 Implement CSSOM Range.getClientRects for collapsed selections 54844 https://bugs.webkit.org/show_bug.cgi?id=34239 54845 54846 When getting the quads for a range on a text node, allow returning 54847 zero width quads. This leaves the case of collapsed selections inside 54848 elements still not fixed, but no worse. 54849 54850 * rendering/InlineTextBox.cpp: 54851 (WebCore::InlineTextBox::selectionRect): 54852 * rendering/RenderText.cpp: 54853 (WebCore::RenderText::absoluteQuadsForRange): 54854 54855 2010-01-31 Oliver Hunt <oliver (a] apple.com> 54856 54857 Reviewed by Simon Fraser. 54858 54859 Animated scaling of background-image is too slow 54860 https://bugs.webkit.org/show_bug.cgi?id=33808 54861 54862 Implement a version of the RenderImage animated scaling optimisation 54863 for background images. Due to the possibility of arbitrary transforms 54864 being applied to containing elements we explicitly check the current 54865 CTM of the context for scaling or rotation. 54866 54867 * platform/graphics/GraphicsContext.cpp: 54868 (WebCore::GraphicsContext::drawTiledImage): 54869 * platform/graphics/GraphicsContext.h: 54870 * platform/graphics/transforms/TransformationMatrix.h: 54871 (WebCore::TransformationMatrix::isIdentityOrTranslation): 54872 * rendering/RenderBoxModelObject.cpp: 54873 (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData): 54874 (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData): 54875 (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer): 54876 (WebCore::RenderBoxModelScaleData::size): 54877 (WebCore::RenderBoxModelScaleData::setSize): 54878 (WebCore::RenderBoxModelScaleData::lastPaintTime): 54879 (WebCore::RenderBoxModelScaleData::setLastPaintTime): 54880 (WebCore::RenderBoxModelScaleData::useLowQualityScale): 54881 (WebCore::RenderBoxModelScaleData::transform): 54882 (WebCore::RenderBoxModelScaleData::setTransform): 54883 (WebCore::RenderBoxModelScaleData::setUseLowQualityScale): 54884 (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed): 54885 (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired): 54886 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): 54887 (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired): 54888 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 54889 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 54890 * rendering/RenderBoxModelObject.h: 54891 54892 2010-01-31 Dirk Schulze <krit (a] webkit.org> 54893 54894 Reviewed by Simon Fraser. 54895 54896 Add back an AffineTransform class for use by SVG 54897 https://bugs.webkit.org/show_bug.cgi?id=33750 54898 54899 These are the first steps on reimplementing AffineTransform. Unlike 54900 the old affine code, this one is platform independent like TransformationMatrix. 54901 AffineTransform has the benefit, that it stores just 6 doubles instead of 54902 16 in TransformationMatrix. The calculations of transformations are not that 54903 complex and can improve the memory usage and speed of SVG. 54904 AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at 54905 least for the moment). 54906 HTML Canvas is the first that makes use of the new AffineTransform. Next patches 54907 will introduce the affine code to SVG. 54908 54909 No new tests. The new AffineTransformation code is tested by fast/canvas. 54910 54911 * Android.mk: 54912 * GNUmakefile.am: 54913 * WebCore.gypi: 54914 * WebCore.pro: 54915 * WebCore.vcproj/WebCore.vcproj: 54916 * WebCore.xcodeproj/project.pbxproj: 54917 * html/canvas/CanvasRenderingContext2D.cpp: 54918 (WebCore::CanvasRenderingContext2D::scale): 54919 (WebCore::CanvasRenderingContext2D::rotate): 54920 (WebCore::CanvasRenderingContext2D::translate): 54921 (WebCore::CanvasRenderingContext2D::transform): 54922 (WebCore::CanvasRenderingContext2D::setTransform): 54923 (WebCore::CanvasRenderingContext2D::isPointInPath): 54924 (WebCore::CanvasRenderingContext2D::willDraw): 54925 * html/canvas/CanvasRenderingContext2D.h: 54926 * platform/graphics/GraphicsContext.h: 54927 * platform/graphics/Path.h: 54928 * platform/graphics/cairo/GraphicsContextCairo.cpp: 54929 (WebCore::GraphicsContext::getAffineCTM): 54930 (WebCore::GraphicsContext::concatCTM): 54931 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 54932 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 54933 * platform/graphics/cairo/PathCairo.cpp: 54934 (WebCore::Path::transform): 54935 * platform/graphics/cairo/TransformationMatrixCairo.cpp: 54936 (WebCore::AffineTransform::operator cairo_matrix_t): 54937 * platform/graphics/cg/GraphicsContextCG.cpp: 54938 (WebCore::GraphicsContext::concatCTM): 54939 (WebCore::GraphicsContext::getAffineCTM): 54940 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 54941 (WebCore::GraphicsContextPlatformPrivate::concatCTM): 54942 * platform/graphics/cg/PathCG.cpp: 54943 (WebCore::Path::transform): 54944 * platform/graphics/cg/TransformationMatrixCG.cpp: 54945 (WebCore::AffineTransform::operator CGAffineTransform): 54946 * platform/graphics/haiku/GraphicsContextHaiku.cpp: 54947 (WebCore::GraphicsContext::getAffineCTM): 54948 (WebCore::GraphicsContext::concatCTM): 54949 * platform/graphics/haiku/PathHaiku.cpp: 54950 (WebCore::Path::transform): 54951 * platform/graphics/qt/GraphicsContextQt.cpp: 54952 (WebCore::GraphicsContext::getAffineCTM): 54953 (WebCore::GraphicsContext::concatCTM): 54954 * platform/graphics/qt/PathQt.cpp: 54955 (WebCore::Path::transform): 54956 * platform/graphics/qt/TransformationMatrixQt.cpp: 54957 (WebCore::AffineTransform::operator QTransform): 54958 * platform/graphics/skia/GraphicsContextSkia.cpp: 54959 (WebCore::GraphicsContext::getAffineCTM): 54960 * platform/graphics/skia/PathSkia.cpp: 54961 (WebCore::Path::transform): 54962 * platform/graphics/skia/TransformationMatrixSkia.cpp: 54963 (WebCore::AffineTransform::operator SkMatrix): 54964 * platform/graphics/transforms/AffineTransform.cpp: Added. 54965 (WebCore::affineTransformDecompose): 54966 (WebCore::affineTransformCompose): 54967 (WebCore::AffineTransform::AffineTransform): 54968 (WebCore::AffineTransform::reset): 54969 (WebCore::AffineTransform::setMatrix): 54970 (WebCore::AffineTransform::isIdentity): 54971 (WebCore::AffineTransform::det): 54972 (WebCore::AffineTransform::isInvertible): 54973 (WebCore::AffineTransform::inverse): 54974 (WebCore::AffineTransform::multiply): 54975 (WebCore::AffineTransform::multLeft): 54976 (WebCore::AffineTransform::rotate): 54977 (WebCore::AffineTransform::scale): 54978 (WebCore::AffineTransform::translate): 54979 (WebCore::AffineTransform::scaleNonUniform): 54980 (WebCore::AffineTransform::rotateFromVector): 54981 (WebCore::AffineTransform::flipX): 54982 (WebCore::AffineTransform::flipY): 54983 (WebCore::AffineTransform::shear): 54984 (WebCore::AffineTransform::skew): 54985 (WebCore::AffineTransform::skewX): 54986 (WebCore::AffineTransform::skewY): 54987 (WebCore::makeMapBetweenRects): 54988 (WebCore::AffineTransform::map): 54989 (WebCore::AffineTransform::mapPoint): 54990 (WebCore::AffineTransform::mapRect): 54991 (WebCore::AffineTransform::blend): 54992 * platform/graphics/transforms/AffineTransform.h: Added. 54993 (WebCore::AffineTransform::a): 54994 (WebCore::AffineTransform::setA): 54995 (WebCore::AffineTransform::b): 54996 (WebCore::AffineTransform::setB): 54997 (WebCore::AffineTransform::c): 54998 (WebCore::AffineTransform::setC): 54999 (WebCore::AffineTransform::d): 55000 (WebCore::AffineTransform::setD): 55001 (WebCore::AffineTransform::e): 55002 (WebCore::AffineTransform::setE): 55003 (WebCore::AffineTransform::f): 55004 (WebCore::AffineTransform::setF): 55005 (WebCore::AffineTransform::operator== ): 55006 (WebCore::AffineTransform::operator!=): 55007 (WebCore::AffineTransform::operator*=): 55008 (WebCore::AffineTransform::operator*): 55009 (WebCore::AffineTransform::setMatrix): 55010 * platform/graphics/wince/GraphicsContextWince.cpp: 55011 (WebCore::GraphicsContext::concatCTM): 55012 (WebCore::GraphicsContext::getAffineCTM): 55013 * platform/graphics/wx/GraphicsContextWx.cpp: 55014 (WebCore::GraphicsContext::getAffineCTM): 55015 (WebCore::GraphicsContext::concatCTM): 55016 * platform/graphics/wx/PathWx.cpp: 55017 (WebCore::Path::transform): 55018 * platform/graphics/wx/TransformationMatrixWx.cpp: 55019 (WebCore::AffineTransform::operator wxGraphicsMatrix): 55020 55021 2010-01-31 Pavel Feldman <pfeldman (a] chromium.org> 55022 55023 Reviewed by Timothy Hatcher. 55024 55025 Web Inspector: [REGRESSION] Breakpoint source line is not displayed 55026 in the breakpoint manager. 55027 55028 * inspector/front-end/SourceFrame.js: 55029 (WebInspector.SourceFrame.prototype._addBreakpointToSource): 55030 55031 2010-01-31 Pavel Feldman <pfeldman (a] chromium.org> 55032 55033 Reviewed by Timothy Hatcher. 55034 55035 Web Inspector: Introduce NativeTextViewer. 55036 55037 This change handles rendering highlighted text, using browser's 55038 selection/drag/drop/click logic. Breakpoint decorations and 55039 program counter is working. 55040 55041 Todo: line numbers are painted 'under' the text when scrolling 55042 horizontally, search is not yet implemented. 55043 55044 https://bugs.webkit.org/show_bug.cgi?id=34391 55045 55046 * WebCore.gypi: 55047 * WebCore.vcproj/WebCore.vcproj: 55048 * inspector/front-end/DivBasedTextViewer.js: Added. 55049 (WebInspector.DivBasedTextViewer): 55050 (WebInspector.DivBasedTextViewer.prototype._textChanged): 55051 (WebInspector.DivBasedTextViewer.prototype._createLineDivs): 55052 (WebInspector.DivBasedTextViewer.prototype._updatePreferredSize): 55053 (WebInspector.DivBasedTextViewer.prototype._scroll): 55054 (WebInspector.DivBasedTextViewer.prototype._registerMouseListeners): 55055 (WebInspector.DivBasedTextViewer.prototype._registerKeyboardListeners): 55056 (WebInspector.DivBasedTextViewer.prototype._registerClipboardListeners): 55057 (WebInspector.DivBasedTextViewer.prototype._paintSelection): 55058 (WebInspector.DivBasedTextViewer.prototype._positionDivDecoration): 55059 (WebInspector.DivBasedTextViewer.prototype._mouseDown): 55060 (WebInspector.DivBasedTextViewer.prototype._contextMenu): 55061 (WebInspector.DivBasedTextViewer.prototype._caretForMouseEvent): 55062 (WebInspector.DivBasedTextViewer.prototype._paintLine): 55063 (WebInspector.DivBasedTextViewer.prototype._createSpan): 55064 * inspector/front-end/Settings.js: 55065 * inspector/front-end/SourceFrame.js: 55066 (WebInspector.SourceFrame.prototype.clearMessages): 55067 (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): 55068 (WebInspector.SourceFrame.prototype._createEditorIfNeeded): 55069 (WebInspector.SourceFrame.prototype._addMessageToSource): 55070 (WebInspector.SourceFrame.prototype.resize): 55071 * inspector/front-end/TextEditor.js: 55072 (WebInspector.TextEditor): 55073 (WebInspector.TextEditor.prototype.setDivDecoration): 55074 (WebInspector.TextEditor.prototype._registerMouseListeners): 55075 (WebInspector.TextEditor.prototype._registerKeyboardListeners): 55076 (WebInspector.TextEditor.prototype._registerClipboardListeners): 55077 (WebInspector.TextEditor.prototype.reveal): 55078 (WebInspector.TextEditor.prototype._textChanged): 55079 (WebInspector.TextEditor.prototype.revalidateDecorationsAndPaint): 55080 (WebInspector.TextEditor.prototype._updatePreferredSize): 55081 (WebInspector.TextEditor.prototype.resize): 55082 (WebInspector.TextEditor.prototype._paintLinesContinuation): 55083 (WebInspector.TextEditor.prototype._paintLine): 55084 (WebInspector.TextEditor.prototype._contextMenu): 55085 (WebInspector.TextEditor.prototype._caretForMouseEvent): 55086 (WebInspector.TextEditor.prototype._changeFont): 55087 * inspector/front-end/TextEditorHighlighter.js: 55088 (WebInspector.TextEditorHighlighter.prototype._lex): 55089 * inspector/front-end/WebKit.qrc: 55090 * inspector/front-end/inspector.html: 55091 * inspector/front-end/textEditor.css: 55092 55093 2010-01-31 Benjamin Poulain <benjamin.poulain (a] nokia.com> 55094 55095 Reviewed by Eric Seidel. 55096 55097 [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms 55098 https://bugs.webkit.org/show_bug.cgi?id=34168 55099 55100 Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded 55101 and Symbian 55102 55103 * WebCore.pro: 55104 55105 2010-01-31 Yury Semikhatsky <yurys (a] chromium.org> 55106 55107 Reviewed by Pavel Feldman. 55108 55109 Make ScriptState destructor protected since all non-empty 55110 ScriptStates are managed by GC. Remove obsolete constructor. 55111 55112 https://bugs.webkit.org/show_bug.cgi?id=34266 55113 55114 * bindings/v8/ScriptState.cpp: 55115 * bindings/v8/ScriptState.h: 55116 55117 2010-01-30 Simon Fraser <simon.fraser (a] apple.com> 55118 55119 Reviewed by Dan Bernstein. 55120 55121 Use CGGradient on Leopard and later, since it's faster than CGShading 55122 https://bugs.webkit.org/show_bug.cgi?id=34384 55123 55124 Use CGGradient on Leopard and later, rather than CGShading, for 55125 performance. 55126 55127 * platform/graphics/Gradient.h: 55128 * platform/graphics/Gradient.cpp: 55129 (WebCore::Gradient::sortStopsIfNecessary): Utility method to sort stops. 55130 Did not call this from getColor() to avoid overhead of a function call. 55131 55132 * platform/graphics/cg/GradientCG.cpp: 55133 (WebCore::Gradient::platformDestroy): Use CGGradientRelease() post-Tiger. 55134 (WebCore::Gradient::platformGradient): Create and return a CGGradientRef post-Tiger. 55135 (WebCore::Gradient::fill): Call new paint() method. 55136 (WebCore::Gradient::paint): New convenence method that avoids testing 55137 isRadial() in a bunch of other places. 55138 55139 * platform/graphics/cg/GraphicsContextCG.cpp: 55140 (WebCore::GraphicsContext::fillPath): Call the gradient's paint() method. 55141 (WebCore::GraphicsContext::strokePath): Ditto 55142 (WebCore::GraphicsContext::fillRect): Ditto 55143 (WebCore::GraphicsContext::strokeRect): Ditto 55144 55145 2010-01-30 Simon Fraser <simon.fraser (a] apple.com> 55146 55147 Reviewed by Adele Peterson. 55148 55149 Do color animations on premultiplied colors 55150 https://bugs.webkit.org/show_bug.cgi?id=34383 55151 55152 Convert colors to premultiplied alpha before interpolating them, 55153 then convert the result back to non-premultiplied. This gives better 55154 results when animating from transparent colors. 55155 55156 Test: transitions/color-transition-premultiplied.html 55157 55158 * page/animation/AnimationBase.cpp: 55159 (WebCore::blendFunc): 55160 55161 2010-01-30 Gustavo Noronha Silva <gns (a] gnome.org> 55162 55163 Build fixes needed for make distcheck. 55164 55165 * GNUmakefile.am: 55166 55167 2010-01-29 Mark Rowe <mrowe (a] apple.com> 55168 55169 Stop copying an IDL file in to the framework wrapper. 55170 55171 * WebCore.xcodeproj/project.pbxproj: 55172 55173 2010-01-29 Mark Rowe <mrowe (a] apple.com> 55174 55175 Sort Xcode projects. 55176 55177 * WebCore.xcodeproj/project.pbxproj: 55178 55179 == Rolled over to ChangeLog-2010-01-29 == 55180