Skip to content
ChangeLog-2011-06-04 3.55 MiB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000
2011-06-04  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        [Mac WebKit2] REGRESSION (r86692): Synchronous XMLHttpRequest hangs in credential shim (affects Netgear ReadyNAS admin page)
        https://bugs.webkit.org/show_bug.cgi?id=62094
        rdar://problem/9539204

        * WebCore.exp.in: Export ResourceHandle::synchronousLoadRunLoopMode.
        * platform/network/ResourceHandle.h: Add synchronousLoadRunLoopMode.
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::synchronousLoadRunLoopMode): Added.
        (WebCore::ResourceHandle::loadResourceSynchronously): Call synchronousLoadRunLoopMode.
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::synchronousLoadRunLoopMode): Added.
        (WebCore::ResourceHandle::loadResourceSynchronously): Call synchronousLoadRunLoopMode.

2011-06-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add InlineWalker class to hold state for repeated calls to bidiNext
        https://bugs.webkit.org/show_bug.cgi?id=60724

        This is one more little step towards removing (naked) bidiNext usage.
        More refactoring is required before all callers of bidiNext can move
        onto using an InlineWalker instead of bidiNext directly.

        No change in behavior, thus no tests.

        * rendering/InlineIterator.h:
        (WebCore::InlineWalker::InlineWalker):
        (WebCore::InlineWalker::root):
        (WebCore::InlineWalker::current):
        (WebCore::InlineWalker::atEndOfInline):
        (WebCore::InlineWalker::atEnd):
        (WebCore::InlineWalker::advance):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

2011-06-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        WebKit2 needs to know when a scroll is happening due to the ScrollAnimator
        https://bugs.webkit.org/show_bug.cgi?id=62093

        Add additional ChromeClient functions to indicate the beginning and end of
        the various ScrollAnimator animations. Change existing notification that a
        rubber-band has completed for the main frame to be triggered for all frames.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::didStartRubberBandForFrame):
        (WebCore::ChromeClient::didCompleteRubberBandForFrame):
        (WebCore::ChromeClient::didStartAnimatedScroll):
        (WebCore::ChromeClient::didCompleteAnimatedScroll):
        * page/FrameView.cpp:
        (WebCore::FrameView::didStartRubberBand):
        (WebCore::FrameView::didCompleteRubberBand):
        (WebCore::FrameView::didStartAnimatedScroll):
        (WebCore::FrameView::didCompleteAnimatedScroll):
        * page/FrameView.h:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::didStartRubberBand):
        (WebCore::ScrollableArea::didStartAnimatedScroll):
        (WebCore::ScrollableArea::didCompleteAnimatedScroll):
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (WebCore::ScrollAnimatorMac::scroll):
        (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

2011-06-04  Martin Robinson  <mrobinson@igalia.com>

        Touch a file to try to fix the GTK+ build on the 32-bit bot.

        * testing/Internals.idl: Touch this IDL file in an effort to fix the build.

2011-06-04  Martin Robinson  <mrobinson@igalia.com>

        Fix the GTK+ build.

        * bindings/gobject/GNUmakefile.am: Make the GObject build less noisy.

2011-06-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Convert file <input> to use the new shadow DOM model
        https://bugs.webkit.org/show_bug.cgi?id=59005

        Refactoring, covered by existing tests.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Removed FILE_UPLOAD_BUTTON pseudoId and all references to it.
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: Ditto.
        * css/html.css:
        (input[type="button"], input[type="submit"], input[type="reset"]): Moved -webkit-file-upload-button to its own rule.
        (input[type="file"]::-webkit-file-upload-button): Added and moved all previously hard-coded properties there.
        * html/FileInputType.cpp:
        (WebCore::UploadButtonElement::create): Added.
        (WebCore::UploadButtonElement::UploadButtonElement): Added.
        (WebCore::UploadButtonElement::shadowPseudoId): Added.
        (WebCore::FileInputType::createShadowSubtree): Added.
        * html/FileInputType.h: Added createShadowSubtree decl.
        * page/DragController.cpp:
        (WebCore::asFileInput): Changed the logic to use new shadow DOM.
        * rendering/RenderFileUploadControl.cpp: Removed UploadButton class.
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed initializer for m_button.
        (WebCore::RenderFileUploadControl::updateFromElement): Removed attachment logic that's no longer necessary.
        (WebCore::nodeWidth): Added a helper.
        (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use uploadButton and nodeWidth.
        (WebCore::RenderFileUploadControl::paintObject): Ditto.
        (WebCore::RenderFileUploadControl::uploadButton): Added a helper to retrieve the button.
        (WebCore::RenderFileUploadControl::buttonValue): Changed to use uploadButton.
        * rendering/RenderFileUploadControl.h: Changed decls.
        * rendering/style/RenderStyleConstants.h: Removed FILE_UPLOAD_BUTTON decls.

2011-06-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        Input value sanitization for text fields is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=62061
        <rdar://problem/9553273>

        Newline characters should be removed according to HTML5, not replaced with spaces.
        This also matches Safari 5 behavior.

        * html/TextFieldInputType.cpp:
        (WebCore::isASCIILineBreak): A functor for removeCharacters().
        (WebCore::limitLength): Do one thing at once.
        (WebCore::TextFieldInputType::sanitizeValue): Sanitization removes newlines.
        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Moved (somewhat surprising)
        code that replaces newlines with spaces here.

2011-06-04  Jeffrey Pfau  <jpfau@apple.com>

        Reviewed by Beth Dakin.

        Crash in WebCore::RenderMathMLSubSup::baselinePosition()
        https://bugs.webkit.org/show_bug.cgi?id=57897

        Simple patch adding NULL checks in each function.
        Test: mathml/msubsup-remove-children.xhtml

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::stretchToHeight):
        (WebCore::RenderMathMLSubSup::baselinePosition):

2011-06-04  Nico Weber  <thakis@chromium.org>

        Reviewed by James Robinson.

        Give IDBBackingStore::Transaction a virtual destructor
        https://bugs.webkit.org/show_bug.cgi?id=62063

        IDBLevelDBBackingStore::createTransaction() hands out a
        PassRefPtr<IDBBackingStore::Transaction>, which means the missing
        virtual destructor is a real bug.

        * storage/IDBBackingStore.h:
        (WebCore::IDBBackingStore::Transaction::~Transaction):

2011-06-04  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderBox::overflowClipRect to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62032

        Covered by existing tests.

        * editing/Editor.cpp:
        (WebCore::Editor::insideVisibleArea):
        * platform/graphics/IntRect.h:
        (WebCore::IntRect::contract):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):
        (WebCore::RenderBox::overflowClipRect):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        (WebCore::RenderLayer::repaintBlockSelectionGaps):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::clipBox):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::overflowClipRect):
        (WebCore::RenderTable::nodeAtPoint):
        * rendering/RenderTable.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):

2011-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        V8Proxy::disconnectFrame doesn't do anything
        https://bugs.webkit.org/show_bug.cgi?id=62051

        Dead code should die.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::~ScriptController):
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2011-06-04  Nico Weber  <thakis@chromium.org>

        Reviewed by James Robinson.

        Make the destructors of DataTransferItem and DataTransferItems virtual
        https://bugs.webkit.org/show_bug.cgi?id=62052

        Clang has grown a new warning that warns on |delete ptr| if ptr's
        class is non-final, has virtual methods, but no virtual destructor.
        This warning finds real bugs, so we want to keep it enabled. However,
        it also warns about DataTransferItem[s]. Since these are subclassed,
        they can't be made final, so make their destructors virtual. (Maybe
        clang's warning even points out an actual bug here.)

        * dom/DataTransferItem.h:
        (WebCore::DataTransferItem::~DataTransferItem):
        * dom/DataTransferItems.h:
        (WebCore::DataTransferItems::~DataTransferItems):

2011-06-04  Nico Weber  <thakis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Make LayerPainterChromium destructor virtual
        https://bugs.webkit.org/show_bug.cgi?id=62056

        LayerTextureUpdaterCanvas has an OwnPtr<LayerPainterChromium>, which
        means that without this patch, the destructor of classes implementing
        LayerPainterChromium wasn't called correctly in that case.

        * platform/graphics/chromium/LayerPainterChromium.h:
        (WebCore::LayerPainterChromium::~LayerPainterChromium):

2011-06-04  Emil A Eklund  <eae@chromium.org>

        Reviewed by Andreas Kling.

        Fix IntRect::expand(const IntSize& size)
        https://bugs.webkit.org/show_bug.cgi?id=62042

        No new tests.

        * platform/graphics/IntRect.h:
        (WebCore::IntRect::expand):
        Fix IntRect::expand to expand the size rather than move the location.
        Currently unused.

2011-06-03  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        ResourceHandleMac should always respond to an authentication challenge
        https://bugs.webkit.org/show_bug.cgi?id=61667

        I don't know if this can actually happen in practice, so no new tests.

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
        Cancel authentication challenge if we don't have a client. We must always respond to the
        challenge to release the connection, and there is nothing else to do in this state anyway.

2011-06-03  Dan Bernstein  <mitz@apple.com>

        Try to fix the Apple LLVM Compiler build after r88087.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintMask):
        * rendering/RenderTableCell.h:

2011-06-03  Chris Rogers  <crogers@google.com>

        Unreviewed build fix.

        Fix clang build - take 2
        https://bugs.webkit.org/show_bug.cgi?id=62081

        * webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):

2011-06-03  Chris Rogers  <crogers@google.com>

        Unreviewed clang build fix.

        Fix clang build
        https://bugs.webkit.org/show_bug.cgi?id=62080

        * webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintMask and paintObject to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62077

        Switching paintMask and paintObject to use IntPoint for their paint offset instead of
        a pair of ints. paintObject is still on tx/ty, but paintMask was converted to IntSize
        passed by value -- bringing it in-line with the agreed-upon convention of a const IntPoint&.

        No new tests since this is simple refactoring.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::paintObject):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMask):
        (WebCore::RenderBox::pushContentsClip):
        (WebCore::RenderBox::popContentsClip):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::paintObject):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderFieldset.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintObject):
        * rendering/RenderListBox.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        (WebCore::RenderTable::paintObject):
        (WebCore::RenderTable::paintMask):
        * rendering/RenderTable.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):
        (WebCore::RenderTableSection::paintObject):
        * rendering/RenderTableSection.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::paintPlaceholder):
        (WebCore::RenderTextControl::paintObject):
        * rendering/RenderTextControl.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2011-06-03  Cary Clark  <caryclark@google.com>

        Reviewed by Eric Seidel.

        Support FontCustomPlatformData on Skia-Mac-Chrome variant
        https://bugs.webkit.org/show_bug.cgi?id=62040

        Canvas text is only recognized by Skia if it is registered
        by creating a new SkTypeface. Skia uses CGFont to measure
        and render the glyphs, then takes care of managing the glyph
        cache.

        Skia on Mac Chrome is not yet enabled, so this change
        does not affect existing code, and requires no new tests.

        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::RemoteFontStream::RemoteFontStream):
        (WebCore::RemoteFontStream::~RemoteFontStream):
        (WebCore::RemoteFontStream::rewind):
        (WebCore::RemoteFontStream::read):
        Turn the buffer into a stream. This is identical to
        the implementation in skia/FontCustomPlatformData.cpp.
        While that file could be modified instead of this one,
        it was simpler to add SkTypeface streaming to this instead
        of adding all CGFont support to the skia platform file.

        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        Release the SkTypeface reference.

        (WebCore::createFontCustomPlatformData):
        Associate the buffer stream with a SkTypeface so Skia
        can find the custom font data.

        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
        Add a slot to hold the SkTypeface.

2011-06-03  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Brian Weinstein.

        HistoryItem children persist across page loads
        https://bugs.webkit.org/show_bug.cgi?id=62071
        <rdar://problem/9552129>
        
        Not testable since there's no way to check for the presence/absence
        of children for a HistoryItem.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::reset): Call clearChildren when we're reusing a HistoryItem.

2011-06-03  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Allow existing AudioParams to use scheduled parameter changes
        https://bugs.webkit.org/show_bug.cgi?id=62046

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::processWithGainFrom):
        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
        * platform/audio/AudioBus.h:
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
        * webaudio/AudioGainNode.cpp:
        (WebCore::AudioGainNode::AudioGainNode):
        (WebCore::AudioGainNode::process):
        * webaudio/AudioGainNode.h:
        * webaudio/HighPass2FilterNode.cpp:
        (WebCore::HighPass2FilterNode::HighPass2FilterNode):
        * webaudio/LowPass2FilterNode.cpp:
        (WebCore::LowPass2FilterNode::LowPass2FilterNode):

2011-06-03  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Biquad filter coefficient naming is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=62053

        No new tests since audio API is not yet implemented.

        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::Biquad):
        (WebCore::Biquad::process):
        (WebCore::Biquad::processFast):
        (WebCore::Biquad::setLowpassParams):
        (WebCore::Biquad::setHighpassParams):
        (WebCore::Biquad::setLowShelfParams):
        (WebCore::Biquad::setZeroPolePairs):
        * platform/audio/Biquad.h:

2011-06-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        DOMWindow::setLocation doesn't understand that DOMWindow can be inactive
        https://bugs.webkit.org/show_bug.cgi?id=62057

        This code gets confused when dealing with inactive DOMWindows.  We
        should just block inactive DOMWindows because there's no compatibility
        reason to support them in this code path.

        Test: http/tests/security/xss-DENIED-contentWindow-eval.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::isInsecureScriptAccess):

2011-05-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Ryosuke Niwa.

        [GTK] Support smart replace for the pasteboard
        https://bugs.webkit.org/show_bug.cgi?id=61734

        Add smart replace support to WebCore and add hooks for it in WebKit
        via DumpRenderTreeSupportGtk. When a platform supports smart replace,
        WebCore will remove extra spaces that appear when pasting text. Eventually
        WebKitGTK+ may want to expose this in the public API.

        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeSelection): Now pass whether or not to use smart replace
        when calling writeSelection.
        (WebCore::Pasteboard::canSmartReplace): Added an implementation that checks the clipboard
        for whether or not it supports smart paste.
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::initGdkAtoms): Added initialization for smart replace atom.
        (WebCore::PasteboardHelper::fillSelectionData): Added no-op handler for smart replace atom.
        (WebCore::PasteboardHelper::targetListForDataObject): Properly handle new smart replace parameter.
        (WebCore::PasteboardHelper::writeClipboardContents): Properly handle new smart replace parameter.
        (WebCore::PasteboardHelper::clipboardContentSupportsSmartReplace): Added helper for Pasteboard.
        * platform/gtk/PasteboardHelper.h: Add new method definition.

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintCell to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62033

        Switching paintCell to take an IntPoint representing the paint offset
        instead of a pair of ints.

        No new tests since this is simple refactoring.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintCell):
        (WebCore::RenderTableSection::paintObject):
        * rendering/RenderTableSection.h:

2011-06-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dimitri Glazkov.

        Teach Gtk build about window.internals
        https://bugs.webkit.org/show_bug.cgi?id=61071

        * GNUmakefile.am: Add new internals directories to the VPATH
        (for idl processing) and the include list.

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintBackgroundsBehindCell to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62031

        Switching paintBackgroundsBehindCell to take an IntPoint representing
        the paint offset instead of a pair of ints.

        No new tests as this is simple refactoring.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintCell):

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintCaret and paintDragCaret to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62037

        Switching paintCaret and paintDragCaret to use an IntPoint representing
        the paint offset instead of a pair of ints.

        No new tests since this is simple refactoring.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::paintCaret):
        (WebCore::CaretBase::paintCaret):
        (WebCore::DragCaretController::paintDragCaret):
        * editing/FrameSelection.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::positionForPoint):
        (WebCore::RenderBlock::offsetForContents):
        * rendering/RenderBlock.h:

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintItemForeground and paintItemForeground to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62035

        Switching paintItemFore/Background to use IntPoint instead of a pair of ints.

        No new tests since this is simple refactoring.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintObject):
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        * rendering/RenderListBox.h:

2011-06-03  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        To support building namespaced Qt, we require that forward-declarations
        of Qt classes be wrapped in QT_BEGIN_NAMESPACE and QT_END_NAMESPACE.

        * platform/network/qt/QtMIMETypeSniffer.h:

2011-06-03  Rob Buis  <rbuis@rim.com>

        Reviewed by Nikolas Zimmermann.

        Cleanup member variable usage in svg/animation classes
        https://bugs.webkit.org/show_bug.cgi?id=62029

        Cleanup member variables.

        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::SMILTimeContainer):
        (WebCore::SMILTimeContainer::sampleAnimationAtTime):
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SMILTimeContainer.h:
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::SVGSMILElement):
        * svg/animation/SVGSMILElement.h:

2011-06-03  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioParam parameter scheduling implementation
        https://bugs.webkit.org/show_bug.cgi?id=61830

        No new tests since audio API is not yet implemented.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * webaudio/AudioParam.cpp:
        (WebCore::AudioParam::value):
        (WebCore::AudioParam::smoothedValue):
        (WebCore::AudioParam::smooth):
        (WebCore::AudioParam::calculateSampleAccurateValues):
        * webaudio/AudioParam.h:
        (WebCore::AudioParam::setContext):
        (WebCore::AudioParam::context):
        (WebCore::AudioParam::setValueAtTime):
        (WebCore::AudioParam::linearRampToValueAtTime):
        (WebCore::AudioParam::exponentialRampToValueAtTime):
        (WebCore::AudioParam::setTargetValueAtTime):
        (WebCore::AudioParam::setValueCurveAtTime):
        (WebCore::AudioParam::cancelScheduledValues):
        (WebCore::AudioParam::hasTimelineValues):
        * webaudio/AudioParam.idl:
        * webaudio/AudioParamTimeline.cpp: Added.
        (WebCore::AudioParamTimeline::setValueAtTime):
        (WebCore::AudioParamTimeline::linearRampToValueAtTime):
        (WebCore::AudioParamTimeline::exponentialRampToValueAtTime):
        (WebCore::AudioParamTimeline::setTargetValueAtTime):
        (WebCore::AudioParamTimeline::setValueCurveAtTime):
        (WebCore::isValidNumber):
        (WebCore::AudioParamTimeline::insertEvent):
        (WebCore::AudioParamTimeline::cancelScheduledValues):
        (WebCore::AudioParamTimeline::valueForContextTime):
        (WebCore::AudioParamTimeline::valuesForTimeRange):
        (WebCore::timeToSampleFrame):
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
        * webaudio/AudioParamTimeline.h: Added.
        (WebCore::AudioParamTimeline::AudioParamTimeline):
        (WebCore::AudioParamTimeline::hasValues):
        (WebCore::AudioParamTimeline::ParamEvent::ParamEvent):
        (WebCore::AudioParamTimeline::ParamEvent::type):
        (WebCore::AudioParamTimeline::ParamEvent::value):
        (WebCore::AudioParamTimeline::ParamEvent::time):
        (WebCore::AudioParamTimeline::ParamEvent::timeConstant):
        (WebCore::AudioParamTimeline::ParamEvent::duration):
        (WebCore::AudioParamTimeline::ParamEvent::curve):

2011-06-01  Jer Noble  <jer.noble@apple.com>

        Reviewed by Simon Fraser.

        Flash of broken page when exiting full screen at jerryseinfeld.com
        https://bugs.webkit.org/show_bug.cgi?id=61897
        <rdar://problem/9522985>

        Test: fullscreen/full-screen-placeholder.html

        Entering full-screen mode is causing the page layout to change because the full-screen
        element is taken out of the normal flow.  To counteract this effect, insert a placeholder
        block as a parent of the full-screen renderer with the same size and style as the full-screen
        element pre-full-screen.

        Only create a placeholder for block-level elements; the technique required for inline elements
        would be vastly more complicated.

        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement): Create a placeholder
            based on the size and style of the full-screen element.
        (WebCore::Document::setFullScreenRenderer): Persist the placeholder size and 
            style across new renderers.
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::RenderFullScreen): Added ivar.
        (RenderFullScreen::destroy): Make sure to safely destroy our placeholder.
        (RenderFullScreen::createPlaceholder): Added.
        * rendering/RenderFullScreen.h:
        (WebCore::RenderFullScreen::placeholder): Ivar accessor.

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintBoxDecorations to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=61968

        Switching paintBoxDecorations to take an IntPoint representing
        the paint offset instead of a pair of ints. Also cleaning up
        some duplicated code in InlineFlowBox related to constraining
        the paint rect to the linetop and linebottom.

        No new tests since this is just refactoring.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded): Added
        to remove duplicate code in paintBoxDecorations and paintMask.
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations):
        * rendering/RenderBox.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderFieldset.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintObject):
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTableCell.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):
        * rendering/RenderView.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):

2011-06-03  Doreen Jiang  <doreen.jiang@nokia.com>

        Reviewed by Benjamin Poulain.

        [Qt]The minimum size of the select menu list is incorrect for qtwebkit
        https://bugs.webkit.org/show_bug.cgi?id=56752

        The minimum width of the select-box is calculated to be as small as possible 
        instead of hardcoded value (width of 7 characters) in minimumMenuListSize() function
        This will avoid overapping the select lists in popular websites.

        Test: fast/forms/selectlist-minsize.html

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::minimumMenuListSize):

2011-06-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Prevent event dispatch for events with related target when host is the target.
        https://bugs.webkit.org/show_bug.cgi?id=61979

        Turns out, even if we trim the ancestor chain to 0, the event is still dispatched during AT_TARGET.
        So might as well be explicit about what we are trying to do and add a flag to prevent dispatch in these cases.

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::adjustToShadowBoundaries): Added preventing dispatch when the ancestor chain is trimmed to nothing.
        (WebCore::EventDispatcher::EventDispatcher): Added initializer.
        (WebCore::EventDispatcher::dispatchEvent): Added a check to prevent dispatch.
        * dom/EventDispatcher.h: Added a def.

2011-06-03  Dan Bernstein  <mitz@apple.com>

        Mac build fix.

        * WebCore.xcodeproj/project.pbxproj:

2011-06-03  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Eric Seidel.

        [Chromium] Call setToolTipText() in WebPopupMenuImpl mouse move handler to show tool tip in select popup window.
        https://bugs.webkit.org/show_bug.cgi?id=61260
        http://code.google.com/p/chromium/issues/detail?id=12721

        Manual test: select-popup-tooltip-test.html

        * manual-tests/select-popup-tooltip-test.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::getSelectedItemToolTip): Get selected item tooltip string according to hovering mouse position.
        * platform/chromium/PopupMenuChromium.h: Add getSelectedItemToolTip() declaration.

2011-06-03  Rob Buis  <rbuis@rim.com>

        Reviewed by Nikolas Zimmermann.

        Creating <animateMotion> elements via javascript do not execute
        https://bugs.webkit.org/show_bug.cgi?id=34301

        Enable constructors for SVGMPathElement and SVGAnimateMotionElement.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMWindow.idl:

2011-06-03  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        IndexedDB: Clean-up use of INT64_MAX in LevelDB back-end
        https://bugs.webkit.org/show_bug.cgi?id=62009

        This constant should only be needed inside IDBLevelDBCoding.cpp.

        No new functionality, no new tests.

        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::getNewDatabaseId):
        (WebCore::IDBLevelDBBackingStore::getObjectStores):
        (WebCore::getNewObjectStoreId):
        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
        (WebCore::getNewIndexId):
        * storage/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encodeMaxKey):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey):
        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encodeMaxKey):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::encodeMaxKey):
        * storage/IDBLevelDBCoding.h:

2011-06-03  Siddharth Mathur  <siddharth.mathur@nokia.com>

        Reviewed by Benjamin Poulain.

        [Qt] Build flag for experimental ICU library support
        https://bugs.webkit.org/show_bug.cgi?id=60786

        Adds a build-time flag (CONFIG+=use_system_icu) that enables experimental 
        ICU powered Unicode support. 

        No new tests as no new features added.

        * WebCore.pri: Removed text_breaking_with_icu CONFIG flag. 
        * WebCore.pro: Added TextCodecICU.cpp and qt/TextBreakIteratorInternalICUQt.cpp.
        * editing/qt/SmartReplaceQt.cpp:
        * features.pri: Support for use_system_icu CONFIG flag.
        * platform/text/TextCodecICU.cpp: Guard with USE(ICU_UNICODE). 
        * platform/text/qt/TextBreakIteratorInternalICUQt.cpp: Added.
        (WebCore::Q_GLOBAL_STATIC_WITH_INITIALIZER):
        (WebCore::currentSearchLocaleID):
        (WebCore::currentTextBreakLocaleID):
        * platform/text/qt/TextBreakIteratorQt.cpp: Moved out currentTextBreakLocaleID(). 
        (WebCore::isTextBreak):
        * platform/text/qt/TextCodecQt.cpp: Guard with USE(QT4_UNICODE). 
        (WebCore::TextCodecQt::registerEncodingNames):
        (WebCore::TextCodecQt::registerCodecs):

2011-06-03  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Frame flattening is broken with nested frames
        https://bugs.webkit.org/show_bug.cgi?id=61491

        Do not flatten offscreen iframes during frame flattening, as flattening might make them visible.

        Test: fast/frames/flattening/iframe-flattening-out-of-view.html
              fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html
              fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html

        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::flattenFrame):

2011-06-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        Incorrect embedded document replaced size calculation for box-sizing: border-box
        https://bugs.webkit.org/show_bug.cgi?id=62007

        When using <object style="box-sizing: border-box" data="foo.svg"/> to embed foo.svg
        which has an intrinsic width/height, the embedded document intrinsic size is incorrect.

        RenderPart::computeEmbeddedDocumentReplacedWidth/Height has to ask the content renderer for the replaced width/height not ourselves.

        Tests: svg/as-image/img-preserveAspectRatio-support-2.html
               svg/as-object/object-box-sizing-no-width-height.html

        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
        (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):

2011-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88004.
        http://trac.webkit.org/changeset/88004
        https://bugs.webkit.org/show_bug.cgi?id=62008

        This patch broke 4 tests in the GTK bots (Requested by
        msanchez on #webkit).

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::handleScrolledToAnchor):

2011-06-03  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Andreas Kling.

        Zooming <object style="width/height: auto" data="foo.svg"/> doesn't work as expected
        https://bugs.webkit.org/show_bug.cgi?id=62005

        Zooming an object with auto size, that references a svg with fixed size was broken. The svg size stayed the same.
        Get rid of the dependency between RenderSVGRoot and SVGSVGElement::currentScale(), always ask for the effective
        zoom in the RenderStyle instead of asking SVGSVGElement.

        The SVGSVGElement::currentScale()/setCurrentScale() methods are now only used when called from the bindings (eg. JS).
        They only take effect on the outermost <svg> element in standalone documents, otherwhise they are no-ops.

        Test: svg/zoom/page/zoom-svg-through-object-with-auto-size.html

        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeIntrinsicWidth):
        (WebCore::RenderSVGRoot::computeIntrinsicHeight):
        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::currentScale):
        (WebCore::SVGSVGElement::setCurrentScale):
        * svg/SVGSVGElement.h:

2011-06-03  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Martin Robinson.

        Focus and caret position should be updated when same-page links are followed
        https://bugs.webkit.org/show_bug.cgi?id=59737

        Update the caret position to the anchor's position after scrolling.

        This behavior is specific to the Gtk port and requested because of
        accessibility needs, that's why it's implemented in AXObjectCache.

        Test: platform/gtk/accessibility/caret-browsing-anchor-followed.html

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::handleScrolledToAnchor): Make sure the
        caret is updated to be in the anchor's position after scrolling.

2011-06-03  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Kent Tamura.

        Cloned keygen shadows should have -webkit-keygen-select pseudoclass.
        https://bugs.webkit.org/show_bug.cgi?id=61984

        When cloneNode's tag name-based cloning algorithm clones the
        KeygenSelectElements of a keygen shadow as select elements. These
        lack the -webkit-keygen-select pseudoclass.

        Test: fast/html/clone-keygen.html

        * html/HTMLKeygenElement.cpp:
        (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Create a KeygenSelectElement when being cloned.

2011-06-02  MORITA Hajime  <morrita@google.com>
        
        Unreviewed ChangeLog fix.
        
2011-06-03  Peter Varga  <pvarga@webkit.org>

        Rubber-stamped by Csaba Osztrogonác.
        
        [Qt][V8] Buildfix after r87988.

        No new tests needed.

        * bindings/v8/ScheduledAction.cpp: Add missing guards.
        (WebCore::ScheduledAction::execute):
        * bindings/v8/V8EventListener.cpp: Ditto.
        (WebCore::V8EventListener::callListenerFunction):

2011-06-03  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Kent Tamura.

        Cloned range input sliders should be SliderThumbElements, not divs.
        https://bugs.webkit.org/show_bug.cgi?id=61982

        Test: fast/html/clone-range.html

        * html/shadow/SliderThumbElement.h:
        (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Create a SliderThumbElement when being cloned.

2011-06-02  Yury Semikhatsky  <yurys@chromium.org>