1. 08 Apr, 2011 4 commits
  2. 07 Apr, 2011 13 commits
    • bdakin@apple.com's avatar
      Probable fix for <rdar://problem/9251443> Crashing on exception: - · 6dfbb417
      bdakin@apple.com authored
      [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized 
      selector sent to instance ADDRESS.
      
      Reviewed by Simon Fraser.
      
             Need to implement new delegate method.
      * platform/mac/ScrollAnimatorMac.mm:
      (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6dfbb417
    • commit-queue@webkit.org's avatar
      2011-04-07 Ian Henderson <ianh@apple.com> · c0295d8f
      commit-queue@webkit.org authored
              Reviewed by Simon Fraser.
      
              Optimize filling rounded rects that are actually ellipses
              https://bugs.webkit.org/show_bug.cgi?id=58098
      
              In CG, drawing an ellipse directly is faster than constructing and
              filling a rounded rect path.  Detect when the given rounded rect is
              actually an ellipse and draw it directly in this case.
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::fillRoundedRect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0295d8f
    • commit-queue@webkit.org's avatar
      2011-04-07 Ned Holbrook <nholbrook@apple.com> · 4c749b2e
      commit-queue@webkit.org authored
              Reviewed by Dan Bernstein.
      
              CTLine objects should outlive their CTRuns
              https://bugs.webkit.org/show_bug.cgi?id=58063
      
              * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
              * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
              (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
              (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c749b2e
    • commit-queue@webkit.org's avatar
      2011-04-07 Nat Duca <nduca@chromium.org> · 118a5518
      commit-queue@webkit.org authored
              Reviewed by David Levin.
      
              [chromium] Compositor thread infrastructure
              https://bugs.webkit.org/show_bug.cgi?id=56131
      
              Introduce chrome compositor thread and related
              infrastructure.
      
              * WebCore.gypi:
              * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
              (WebCore::CCMainThread::performTask):
              (WebCore::CCMainThread::postTask):
              * platform/graphics/chromium/cc/CCMainThread.h: Added.
              (WebCore::CCMainThread::Task::~Task):
              (WebCore::CCMainThread::Task::instance):
              (WebCore::CCMainThread::Task::Task):
              * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
              (WebCore::MainThreadTask0::create):
              (WebCore::MainThreadTask0::MainThreadTask0):
              (WebCore::MainThreadTask0::performTask):
              (WebCore::MainThreadTask1::create):
              (WebCore::MainThreadTask1::MainThreadTask1):
              (WebCore::MainThreadTask1::performTask):
              (WebCore::MainThreadTask2::create):
              (WebCore::MainThreadTask2::MainThreadTask2):
              (WebCore::MainThreadTask2::performTask):
              (WebCore::MainThreadTask3::create):
              (WebCore::MainThreadTask3::MainThreadTask3):
              (WebCore::MainThreadTask3::performTask):
              (WebCore::createMainThreadTask):
              * platform/graphics/chromium/cc/CCThread.cpp: Added.
              (WebCore::CCThread::create):
              (WebCore::CCThread::CCThread):
              (WebCore::CCThread::~CCThread):
              (WebCore::CCThread::postTask):
              (WebCore::CCThread::compositorThreadStart):
              (WebCore::CCThread::runLoop):
              * platform/graphics/chromium/cc/CCThread.h: Added.
              (WebCore::CCThread::Task::~Task):
              (WebCore::CCThread::Task::instance):
              (WebCore::CCThread::Task::Task):
              (WebCore::CCThread::threadID):
              (WebCore::CCCompletionEvent::CCCompletionEvent):
              (WebCore::CCCompletionEvent::~CCCompletionEvent):
              (WebCore::CCCompletionEvent::wait):
              (WebCore::CCCompletionEvent::signal):
              * platform/graphics/chromium/cc/CCThreadTask.h: Added.
              (WebCore::CCThreadTask0::create):
              (WebCore::CCThreadTask0::CCThreadTask0):
              (WebCore::CCThreadTask0::performTask):
              (WebCore::CCThreadTask1::create):
              (WebCore::CCThreadTask1::CCThreadTask1):
              (WebCore::CCThreadTask1::performTask):
              (WebCore::CCThreadTask2::create):
              (WebCore::CCThreadTask2::CCThreadTask2):
              (WebCore::CCThreadTask2::performTask):
              (WebCore::CCThreadTask3::create):
              (WebCore::CCThreadTask3::CCThreadTask3):
              (WebCore::CCThreadTask3::performTask):
              (WebCore::createCCThreadTask):
      2011-04-07  Nat Duca  <nduca@chromium.org>
      
              Reviewed by David Levin.
      
              [chromium] Compositor thread infrastructure
              https://bugs.webkit.org/show_bug.cgi?id=56131
      
              Tests for chrome compositor thread and related infrastructure.
      
              * WebKit.gyp:
              * WebKit.gypi:
              * tests/CCThreadTaskTest.cpp: Added.
              (WebCore::TEST):
              * tests/CCThreadTest.cpp: Added.
              (WebCore::TEST):
              (WebCore::PingPongUsingCondition::ping):
              (WebCore::PingPongTestUsingTasks::ping):
              (WebCore::PingPongTestUsingTasks::pong):
              * tests/RunAllTests.cpp:
              (main):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      118a5518
    • eric@webkit.org's avatar
      2011-04-04 Eric Seidel <eric@webkit.org> · 5bee2940
      eric@webkit.org authored
              Reviewed by Ryosuke Niwa.
      
              Split run storage out from BidiResolver into a new BidiRunList class
              https://bugs.webkit.org/show_bug.cgi?id=57764
      
              Part of what makes BidiResolver and InlineIterator so difficult to understand
              (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
              for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
              BidiRuns from the algorithm.  This patch breaks the storage aspect off
              into its own class BidiRunList.
      
              This patch is only a start.  It does not actually fix the problematic ownership
              relationship, but it does make it possible to fix such in a second patch.
      
              The run pointers and addRun/prependRun, etc. were already a tightly coupled
              logical subset of the BidiResolver class, so moving them into their own class
              was both obvious and easy.  The only piece of logic I had to move was that
              deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
      
              I believe this deleteRuns side-effect was only ever used for one place
              (right after findNextLineBreak) and that it's only needed because
              findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
              an unintentional side-effect of how InlineIterator calls through to BidiResolver
              as part of bidiNext and not a desired effect of the code.  I have added the call
              to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
              could get re-used) as a safety precaution.  We could replace both with ASSERTs
              in a later patch.
      
              I suspect there may be a small performance win from further refactoring so that
              findNextLineBreak does not need to create BidiRuns.
      
              As I commented in the code, callers should own their own BidiRunList which they
              pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
              an earlier version of this patch, but it was too complicated with the current
              twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
              raise/lowerExplicitEmbeddingLevel are called unconditionally
              from commitExplicitEmbedding (which is called by bidiNext) and expect to have
              access to a runs list even in cases where we don't want any runs (findNextLineBreak).
      
              I also cleaned up some of the callers to pass around BidiRunList objects instead
              of InlineBidiResolvers now that they're separate objects.
      
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::drawBidiText):
              * platform/text/BidiResolver.h:
              (WebCore::BidiResolver::BidiResolver):
              (WebCore::BidiResolver::runs):
              (WebCore::BidiResolver::markCurrentRunEmpty):
              (WebCore::::appendRun):
              (WebCore::::lowerExplicitEmbeddingLevel):
              (WebCore::::raiseExplicitEmbeddingLevel):
              (WebCore::::reorderRunsFromLevels):
              (WebCore::::createBidiRunsForLine):
              * rendering/InlineIterator.h:
              (WebCore::InlineBidiResolver::appendRun):
              * rendering/RenderBlock.h:
              * rendering/RenderBlockLineLayout.cpp:
              (WebCore::createRun):
              (WebCore::RenderBlock::appendRunsForObject):
              (WebCore::reachedEndOfTextRenderer):
              (WebCore::RenderBlock::handleTrailingSpaces):
              (WebCore::RenderBlock::layoutInlineChildren):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5bee2940
    • commit-queue@webkit.org's avatar
      2011-04-07 Naoki Takano <takano.naoki@gmail.com> · 2ff922bf
      commit-queue@webkit.org authored
              Reviewed by Adam Barth.
      
              [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
              https://bugs.webkit.org/show_bug.cgi?id=57911
              http://code.google.com/p/chromium/issues/detail?id=78073
      
              Manual test added: manual-tests/autofill-popup-location.html
      
              Originally only height is checked so that it introduces the bug.
              So I changed it to check both width and height as size.
      
              * manual-tests/autofill-popup-location.html: Added.
              * platform/chromium/PopupMenuChromium.cpp:
              (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ff922bf
    • mitz@apple.com's avatar
      Build fix. · b430cba3
      mitz@apple.com authored
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::GraphicsContext::roundToDevicePixels):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b430cba3
    • mitz@apple.com's avatar
      <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor · bd95d94d
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=58083
      
      Reviewed by Simon Fraser.
      
      Source/WebCore: 
      
      Test: fast/text/decorations-transformed.html
      
      * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
      is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
      gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
      the width and the height. In this new mode, translating a rectangle in user space never changes
      its dimensions in device pixels.
      * platform/graphics/cg/GraphicsContextCG.cpp:
      (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
      (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
      all underlines have the same thickness in device pixels.
      * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
      (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
      * platform/graphics/qt/GraphicsContextQt.cpp:
      (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
      * platform/graphics/skia/GraphicsContextSkia.cpp:
      (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
      * platform/graphics/wince/GraphicsContextWinCE.cpp:
      (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
      * platform/graphics/wx/GraphicsContextWx.cpp:
      (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
      * rendering/InlineTextBox.cpp:
      (WebCore::InlineTextBox::paintDecoration):
      
      LayoutTests: 
      
      * fast/text/decorations-transformed.html: Added.
      * platform/mac/fast/text/decorations-transformed-expected.checksum: Added.
      * platform/mac/fast/text/decorations-transformed-expected.png: Added.
      * platform/mac/fast/text/decorations-transformed-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd95d94d
    • ap@apple.com's avatar
      Reviewed by Anders Carlsson. · 8199f90c
      ap@apple.com authored
              REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
              https://bugs.webkit.org/show_bug.cgi?id=58066
              <rdar://problem/8965302>
      
              * Scripts/webkit2/messages.py:
              * Shared/mac/AttributedString.h: Added.
              * Shared/mac/AttributedString.mm: Added.
              (WebKit::AttributedString::encode):
              (WebKit::AttributedString::decode):
              Added an class that wraps NSAttributedString. As far as I can tell, one can't pass a CF
              or NS object to another process without wrapping it in a C++ one.
              
              * Shared/mac/ArgumentCodersMac.h: Added.
              * Shared/mac/ArgumentCodersMac.mm: Added.
              Added coders for Foundation objects, similar to ArgumentCodersCF. There are two reasons why
              these are needed:
              1) Even though most Foundation objects are toll free bridged with CF, CFGetTypeID() doesn't
              work properly for them (I've been just getting 1).
              2) NSColor isn't toll free bridged to CF.
              This adds just the types necessary for editing NSAttributedString (and I don't yet know what
              happens with attachments).
      
              * UIProcess/API/mac/WKView.mm: (-[WKView attributedSubstringFromRange:]):
              * UIProcess/WebPageProxy.h:
              * UIProcess/mac/WebPageProxyMac.mm:
              (WebKit::WebPageProxy::getAttributedSubstringFromRange):
              * WebKit2.xcodeproj/project.pbxproj:
              * WebProcess/WebPage/WebPage.h:
              * WebProcess/WebPage/WebPage.messages.in:
              Boilerplate code for making a sync call to web process.
      
              * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getAttributedSubstringFromRange):
              Ported from WebHTMLView.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8199f90c
    • aestes@apple.com's avatar
      2011-04-07 Andy Estes <aestes@apple.com> · e35644e1
      aestes@apple.com authored
              Reviewed by Darin Adler.
      
              REGRESSION (r64712): Microsoft Outlook 2011: original message contents
              not included when replying to an email.
              https://bugs.webkit.org/show_bug.cgi?id=57794
      
              * WebKit.xcodeproj/project.pbxproj:
      2011-04-07  Andy Estes  <aestes@apple.com>
      
              Reviewed by Darin Adler.
      
              REGRESSION (r64712): Microsoft Outlook 2011: original message contents
              not included when replying to an email.
              https://bugs.webkit.org/show_bug.cgi?id=57794
              
              Outlook populates a reply message by creating an empty WebView and
              using DOM API to populate the WebView's empty document with content
              from the original message. It expects the initial empty document to
              simply be "<html></html>", and it proceeds to dynamically create and
              append a BODY node and add the original message content as a child of
              that node. Outlook then takes the innerHTML of the frame's first body
              element and copies it into a *new* document that is displayed and
              edited in the reply message window.
              
              Due to implementing the HTML5 tree building algorithm in r64712,
              initial empty documents went from being "<html></html>" to being
              "<html><head></head><body></body></html>". Outlook still dynamically
              creates a BODY node to parent the original message content, but this
              BODY node duplicates the one created by the tree builder. When Outlook
              then takes the innerHTML of the first body element to populate the
              reply message window it gets the empty body element created by the
              parser, not the one it created with the original message content.
              
              Fix this by injecting a user script into the initial empty document
              that removes the HEAD and BODY nodes created by the parser. This
              ensures that the BODY created by Outlook is the only BODY in the
              document.
      
              * Misc/OutlookQuirksUserScript.js: Added.
              * WebView/WebView.mm:
              (leakMailQuirksUserScriptContents):
              (-[WebView _injectMailQuirksScript]):
              (needsOutlookQuirksScript):
              (leakOutlookQuirksUserScriptContents):
              (-[WebView _injectOutlookQuirksScript]):
              (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
      2011-04-07  Andy Estes  <aestes@apple.com>
      
              Reviewed by Darin Adler.
      
              REGRESSION (r64712): Microsoft Outlook 2011: original message contents
              not included when replying to an email.
              https://bugs.webkit.org/show_bug.cgi?id=57794
              
              * WebCore.exp.in:
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
              before checking if the FrameLoader is parsing the initial empty document.
              This allows user scripts to be injected at the end of document parsing
              (if the setting is enabled).
              * page/Frame.cpp:
              (WebCore::Frame::injectUserScripts): Do not inject scripts if this
              feature is disabled on the initial empty document.
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              * page/Settings.h: Add a setting for injecting user scripts into the
              initial empty document (defaults to false).
              (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
              (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
              * platform/mac/RuntimeApplicationChecks.h:
              * platform/mac/RuntimeApplicationChecks.mm:
              (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
              application is Microsoft Outlook.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e35644e1
    • jer.noble@apple.com's avatar
      2011-04-06 Jer Noble <jer.noble@apple.com> · d5446357
      jer.noble@apple.com authored
              Reviewed by Maciej Stachowiak.
      
              AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
              https://bugs.webkit.org/show_bug.cgi?id=57962
      
              Add support for a new AVPlayerItem API which will notify clients when their
              seek completes.  This requires a new Notification type to be passed to the main
              thread in MediaPlayerPrivateAVFoundation.
      
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
              (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
              (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
                  overloaded functions which take a Notification; and a Notification::Type and boolean.
              (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted
                  Notification type.
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
              (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
              (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
              (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
              (-[WebCoreAVFMovieObserver seekCompleted:]): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5446357
    • commit-queue@webkit.org's avatar
      2011-04-07 Nancy Piedra <nancy.piedra@nokia.com> · 404a2d88
      commit-queue@webkit.org authored
              Reviewed by Eric Carlson.
      
              Add tests for parsing codecs parameter in video-can-play-type.html
              https://bugs.webkit.org/show_bug.cgi?id=53275
      
              * media/video-can-play-type-expected.txt:
              * media/video-can-play-type.html:
      2011-04-07  Nancy Piedra  <nancy.piedra@nokia.com>
      
              Reviewed by Eric Carlson.
      
              Parse quotes from content type parameters
              https://bugs.webkit.org/show_bug.cgi?id=53275
      
              This functionality is tested in video-can-play-type.html layout test
              where I've added codecs parameter with good and bad formatting.
      
              * platform/ContentType.cpp:
              (WebCore::ContentType::parameter):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      404a2d88
    • andreas.kling@nokia.com's avatar
      2011-04-07 Andreas Kling <andreas.kling@nokia.com> · e4b158bb
      andreas.kling@nokia.com authored
              Reviewed by Benjamin Poulain.
      
              [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars.
      
              When initializing a QStyleOptionSlider from a widget, the State_Horizontal
              hint may get set depending on how that widget is laid out in its parent.
              If this happens when drawing a vertical scrollbar, the hint is never
              cleared and we end up painting a vertical scrollbar with horizontal arrows.
      
              Covered by pixel tests which should no longer paint silly scrollbars.
      
              * platform/qt/ScrollbarThemeQt.cpp:
              (WebCore::styleOptionSlider):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83160 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4b158bb
  3. 06 Apr, 2011 18 commits
    • jer.noble@apple.com's avatar
      2011-04-06 Jer Noble <jer.noble@apple.com> · 2f78a59c
      jer.noble@apple.com authored
              Reviewed by Darin Adler.
      
              AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty]
              https://bugs.webkit.org/show_bug.cgi?id=57982
      
              Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty.
      
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
              (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f78a59c
    • jer.noble@apple.com's avatar
      2011-04-06 Jer Noble <jer.noble@apple.com> · e3b8e30d
      jer.noble@apple.com authored
              Reviewed by Eric Carlson.
      
              MediaPlayerPrivateAVFoundation does not change rate due to setRate().
              https://bugs.webkit.org/show_bug.cgi?id=57919
      
              * media/video-set-rate-from-pause-expected.txt: Added.
              * media/video-set-rate-from-pause.html: Added.
      2011-04-06  Jer Noble  <jer.noble@apple.com>
      
              Reviewed by Eric Carlson.
      
              MediaPlayerPrivateAVFoundation does not change rate due to setRate().
              https://bugs.webkit.org/show_bug.cgi?id=57919
      
              Test: media/video-set-rate-from-pause.html
      
              The base class of MediaPlayerPrivateAVFoundation does not actually change the rate
              of the media; instead a subclass must do that work.  So when setRate() is called,
              inform a subclass through a new pure virtual updateRate() function that there's
              work to be done.
      
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
              (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate()
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
              (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added.  Set the requested rate.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3b8e30d
    • mitz@apple.com's avatar
      <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has... · 39d6aca5
      mitz@apple.com authored
      <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic
      https://bugs.webkit.org/show_bug.cgi?id=58002
      
      Reviewed by Darin Adler.
      
      Source/WebCore: 
      
      * platform/graphics/mac/SimpleFontDataMac.mm:
      (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard
      does not require the vertical metrics tweaks that were needed in Leopard. That the
      tweaks were being applied went mostly unnoticed until r73993, because until then it
      only affected cases where Geeza Pro was specified, not when it occurred as a fallback
      font.
      
      LayoutTests: 
      
      * platform/mac/fast/dom/52776-expected.checksum:
      * platform/mac/fast/dom/52776-expected.png:
      * platform/mac/fast/dom/52776-expected.txt:
      * platform/mac/fast/text/complex-text-opacity-expected.txt:
      * platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt:
      * platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum:
      * platform/mac/fast/text/international/bidi-AN-after-L-expected.png:
      * platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
      * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.checksum:
      * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.png:
      * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt:
      * platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt:
      * platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt:
      * platform/mac/fast/text/international/bidi-neutral-run-expected.checksum:
      * platform/mac/fast/text/international/bidi-neutral-run-expected.png:
      * platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
      * platform/mac/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.checksum:
      * platform/mac/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.png:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39d6aca5
    • bweinstein@apple.com's avatar
      WebKit2: Support Windows 7 Gestures · 8a8c8fdf
      bweinstein@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=49824
      <rdar://problem/8689728>
              
      Reviewed by Adam Roben.
      
      Source/WebCore: 
      
      Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2.
      
      * WebCore.vcproj/WebCore.vcproj:
      * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h.
      
      Source/WebKit/win: 
      
      Move WindowsTouch.h from WebKit/win to WebCore/platform/win, so it can be
      used in both WebKit and WebKit2.
      
      * WebKit.vcproj/WebKit.vcproj: Remove WindowsTouch.h.
      * WebView.cpp: Include WindowsTouch.h from WebCore instead of WebKit.
      * WindowsTouch.h: Removed.
      
      Source/WebKit2: 
      
      Port code from WebKit1 -> WebKit2 to handle Windows 7 gestures.
              
      The UIProcess gets a WM_GESTURENOTIFY message, it sends a sync message to the WebProcess to ask
      if we should allow panning. The WebProcess checks if we're in a scrollable area, and the mouse
      isn't over a scrollbar.
      
      The UIProcess then gets a WM_GESTURE message, and if it is a pan gesture, it sends a message to
      the WebProcess to scroll by the amount fingers have moved since the last WM_GESTURE messeage. The
      X and Y are reversed because panning up -> moving the page down, and vice versa.
      
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::gestureWillBegin): Send a sync message to the WebProcess
          to initialize the gesture. The WebProcess returns whether or not we can start a pan
          gesture from where we are.
      (WebKit::WebPageProxy::gestureDidScroll): Send a message to the WebProcess to scroll by
          pan gesture.
      (WebKit::WebPageProxy::gestureDidEnd): Send a message to the WebProcess that the gesture has ended.
      * UIProcess/WebPageProxy.h:
      * UIProcess/win/WebView.cpp:
      (WebKit::WebView::wndProc): Add WM_GESTURE and WM_GESTURENOTIFY handlers.
      (WebKit::WebView::WebView): Initialize two new variables.
      (WebKit::WebView::onGestureNotify): Figure out which gestures we should support based on where
          the gesture is beginning.
      (WebKit::WebView::onGesture): Support starting a gesture, ending a gesture, and panning.
      * UIProcess/win/WebView.h:
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in: Add messages needed for gestures.
      * WebProcess/WebPage/win/WebPageWin.cpp:
      (WebKit::WebPage::gestureWillBegin): Set the node that the gesture started on (so we 
          know which layer to scroll if the user pans), and determine whether or not we should allow
          panning. If the page can't scroll, or the user is on a scrollbar, disallow panning.
      (WebKit::WebPage::gestureDidScroll): Scroll the enclosing layer of the element the gesture
          started on.
      (WebKit::WebPage::gestureDidEnd): Clear the node the gesture started on.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a8c8fdf
    • commit-queue@webkit.org's avatar
      2011-04-06 Asanka Herath <asanka@chromium.org> · 85ba04ed
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              Add new TargetType: TargetIsFavicon
      
              https://bugs.webkit.org/show_bug.cgi?id=57659
      
              No new functionality added, so no additional tests.
      
              * platform/network/ResourceRequestBase.h:
      2011-04-06  Asanka Herath  <asanka@chromium.org>
      
              Reviewed by Darin Fisher.
      
              Add new TargetType: TargetIsFavicon
      
              https://bugs.webkit.org/show_bug.cgi?id=57659
      
              * public/WebURLRequest.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85ba04ed
    • beidson@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973 · 452dbe28
      beidson@apple.com authored
      WK2 icon database should be able to get a CGImage of a specific size
      
      Reviewed by Anders Carlsson.
      
      ../WebCore: 
      
      * platform/graphics/BitmapImage.h:
      * platform/graphics/Image.h:
      (WebCore::Image::getFirstCGImageRefOfSize):
              
      * platform/graphics/cg/ImageCG.cpp:
      (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
        first frame of the requested size.
      
      ../WebKit2: 
      
      * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
      (WKIconDatabaseTryGetCGImageForURL): Change this API to take a requested size, and find the first matching
        CGImage in the icon.
      * UIProcess/API/C/cg/WKIconDatabaseCG.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      452dbe28
    • kevino@webkit.org's avatar
      Reviewed by Kevin Ollivier. · f39a6908
      kevino@webkit.org authored
      [wx] Fix cursor handling so that we always call the chrome to set it.
              
      https://bugs.webkit.org/show_bug.cgi?id=57972
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f39a6908
    • alexis.menard@openbossa.org's avatar
      2011-04-06 Alexis Menard <alexis.menard@openbossa.org> · a98ed549
      alexis.menard@openbossa.org authored
              Reviewed by Andreas Kling.
      
              [Qt] Implement fullscreen playback for the GStreamer backend.
              https://bugs.webkit.org/show_bug.cgi?id=56826
      
              Implement support for fullscreen playback when building the
              Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
              The implementation is done in FullScreenVideoQt alongside with
              the Qt Multimedia support.
      
              No new tests because layout tests cover it. They are not yet activated
              but will be any time soon.
      
              * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
              * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
              (FullScreenVideoWindow::FullScreenVideoWindow):
              (FullScreenVideoWindow::setVideoElement):
              (FullScreenVideoWindow::closeEvent):
              (FullScreenVideoWindow::keyPressEvent):
              (FullScreenVideoWindow::event):
              (FullScreenVideoWindow::showFullScreen):
              (FullScreenVideoWindow::hideCursor):
              (FullScreenVideoWindow::showCursor):
      2011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
      
              Reviewed by Andreas Kling.
      
              [Qt] Implement fullscreen playback for the GStreamer backend.
              https://bugs.webkit.org/show_bug.cgi?id=56826
      
              Implement support for fullscreen playback when building the
              Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
              The implementation is done in FullScreenVideoQt alongside with
              the Qt Multimedia support.
      
              No new tests because layout tests cover it. They are not yet activated
              but will be any time soon.
      
              * QtWebKit.pro:
              * WebCoreSupport/ChromeClientQt.cpp:
              (WebCore::ChromeClientQt::ChromeClientQt):
              (WebCore::ChromeClientQt::~ChromeClientQt):
              (WebCore::ChromeClientQt::enterFullscreenForNode):
              (WebCore::ChromeClientQt::exitFullscreenForNode):
              * WebCoreSupport/ChromeClientQt.h:
              * WebCoreSupport/FullScreenVideoQt.cpp:
              (WebCore::GStreamerFullScreenVideoHandler::GStreamerFullScreenVideoHandler):
              (WebCore::GStreamerFullScreenVideoHandler::setVideoElement):
              (WebCore::GStreamerFullScreenVideoHandler::enterFullScreen):
              (WebCore::GStreamerFullScreenVideoHandler::windowClosed):
              (WebCore::GStreamerFullScreenVideoHandler::exitFullScreen):
              (WebCore::DefaultFullScreenVideoHandler::DefaultFullScreenVideoHandler):
              (WebCore::FullScreenVideoQt::FullScreenVideoQt):
              (WebCore::FullScreenVideoQt::~FullScreenVideoQt):
              (WebCore::FullScreenVideoQt::enterFullScreenForNode):
              (WebCore::FullScreenVideoQt::exitFullScreenForNode):
              (WebCore::FullScreenVideoQt::requiresFullScreenForVideoPlayback):
              (WebCore::FullScreenVideoQt::isValid):
              * WebCoreSupport/FullScreenVideoQt.h:
              (WebCore::GStreamerFullScreenVideoHandler::~GStreamerFullScreenVideoHandler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a98ed549
    • hyatt@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=57916 · a61b8a36
      hyatt@apple.com authored
              
      Reviewed by Dan Bernstein.
      
      Implement an optimization to the line box tree to cull out most of the intermediate
      line boxes that can occur between the root line box and the leaves of the tree (images
      and text).
      
      Source/WebCore: 
      
      RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
      that starts off as false. Only if it gets flipped to true will there be any line boxes
      created for that RenderInline.
              
      * page/FocusController.cpp:
      (WebCore::FocusController::advanceFocusDirectionally):
      Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
      is up to date.
      
      * page/SpatialNavigation.cpp:
      (WebCore::hasOffscreenRect):
      (WebCore::nodeRectInAbsoluteCoordinates):
      Add asserts in spatial navigation code to catch any future bad queries that might be made
      for rectangles without layout being up to date.
      
      * platform/graphics/FloatRect.cpp:
      (WebCore::FloatRect::uniteIfNonZero):
      * platform/graphics/FloatRect.h:
      * platform/graphics/IntRect.cpp:
      (WebCore::IntRect::uniteIfNonZero):
      * platform/graphics/IntRect.h:
      Add a new unite function that is useful for the render tree to FloatRect and IntRect.  This
      version allows rect unites to happen if either width or height is nonzero.
      
      * rendering/HitTestResult.cpp:
      (WebCore::HitTestResult::addNodeToRectBasedTestResult):
      Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
      if content inside those inlines is hit.
      
      * rendering/InlineBox.h:
      (WebCore::InlineBox::logicalFrameRect):
      Fix a bug in this function for obtaining the logical frame rect of an inline box.
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::addToLine):
      addToLine now also checks line gap in the line box tree optimization checks.
          
      (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
      (WebCore::InlineFlowBox::computeOverflow):
      * rendering/InlineFlowBox.h:
      Rewritten to add the text box overflow to the text box itself.
      
       * rendering/InlineTextBox.cpp:
      (WebCore::InlineTextBox::destroy):
      Destroy has been changed to call a helper function to remove and destroy the line boxes that
      is now called from one additional spot.
      
      (WebCore::InlineTextBox::logicalOverflowRect):
      (WebCore::InlineTextBox::setLogicalOverflowRect):
      Text boxes now cache their own overflow in a global hash table.
      
      (WebCore::InlineTextBox::baselinePosition):
      (WebCore::InlineTextBox::lineHeight):
      Changed to not assume that the parent line box's renderer is the RenderText's immediate
      parent, since intermediate line boxes may have been culled.
      
      (WebCore::InlineTextBox::paint):
      Paint now properly checks only the text box overflow instead of the parent line box's overflow.
      
      * rendering/InlineTextBox.h:
      (WebCore::InlineTextBox::logicalTopVisualOverflow):
      (WebCore::InlineTextBox::logicalBottomVisualOverflow):
      (WebCore::InlineTextBox::logicalLeftVisualOverflow):
      (WebCore::InlineTextBox::logicalRightVisualOverflow):
      New accessors to obtain overflow for inline text boxes.
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::updateFirstLetter):
      updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
      text boxes may not have anything in between them and the block that contains the inline first letter
      container.
      
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::createLineBoxes):
      The culling optimization is done here.  Only if the RenderInline says that boxes are allowed will they
      be created.
      
      (WebCore::RenderBlock::layoutInlineChildren):
      The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
      This is done before any lines are built.
      
      * rendering/RenderInline.cpp:
      (WebCore::RenderInline::RenderInline):
      The new m_alwaysCreateLineBoxes flag has been added to the constructor.
      
      (WebCore::RenderInline::styleDidChange):
      An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
      (like having a layer, borders, padding, margins or backgrounds).  Some checks that depend on examining
      the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.
      
      (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
      The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
      vertical alignment, line height, etc.).
      
      (WebCore::RenderInline::absoluteRects):
      (WebCore::RenderInline::culledInlineAbsoluteRects):
      absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.
      
      (WebCore::RenderInline::absoluteQuads):
      (WebCore::RenderInline::culledInlineAbsoluteQuads):
      absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.
      
      (WebCore::RenderInline::offsetLeft):
      (WebCore::RenderInline::offsetTop):
      offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.
      
      (WebCore::RenderInline::linesBoundingBox):
      (WebCore::RenderInline::culledInlineBoundingBox):
      lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.
      
      (WebCore::RenderInline::culledInlineFirstLineBox):
      (WebCore::RenderInline::culledInlineLastLineBox):
      Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
      lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).
      
      (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
      (WebCore::RenderInline::linesVisualOverflowBoundingBox):
      linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.
      
      (WebCore::RenderInline::clippedOverflowRectForRepaint):
      The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.
      
      (WebCore::RenderInline::dirtyLineBoxes):
      dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
      m_alwaysCreateLineBoxes is false.
      
      (WebCore::RenderInline::createAndAppendInlineFlowBox):
      Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
      when line-box-contain is set to an unusual value.
      
      (WebCore::RenderInline::addFocusRingRects):
      Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.
      
      * rendering/RenderInline.h:
      (WebCore::RenderInline::firstLineBoxIncludingCulling):
      (WebCore::RenderInline::lastLineBoxIncludingCulling):
      Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
      is all that needs checking.
      
      (WebCore::RenderInline::alwaysCreateLineBoxes):
      (WebCore::RenderInline::setAlwaysCreateLineBoxes):
      Functions for getting and setting the m_alwaysCreateLineBoxes flag.
      
      * rendering/RenderLineBoxList.cpp:
      (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
      Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
      lines get dirtied.
      
      * rendering/RenderText.cpp:
      (WebCore::RenderText::removeAndDestroyTextBoxes):
      New helper invoked by destroy and also from updateFirstLetter.
      
      (WebCore::RenderText::destroy):
      Changed to call removeAndDestroyTextBoxes.
      
      (WebCore::RenderText::absoluteRects):
      Fixed to be properly physical instead of logical.
      
      (WebCore::RenderText::linesVisualOverflowBoundingBox):
      New implementation for RenderText that gives the bounding box of the text boxes including overflow from
      shadows, glyphs, text-stroke, etc.  Used by RenderInline::culledInlineVisualOverflowBoundingBox.
      
      * rendering/RenderText.h:
      * rendering/svg/RenderSVGInline.cpp:
      (WebCore::RenderSVGInline::RenderSVGInline):
      RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.
      
      * rendering/svg/SVGRootInlineBox.cpp:
      (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
      (WebCore::SVGRootInlineBox::layoutChildBoxes):
      Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
      now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).
      
      LayoutTests: 
      
      RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
      that starts off as false. Only if it gets flipped to true will there be any line boxes
      created for that RenderInline.
      
      * platform/mac/fast/blockflow/text-orientation-basic-expected.txt:
      * platform/mac/fast/text/capitalize-empty-generated-string-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a61b8a36
    • enrica@apple.com's avatar
      REGRESSION: Drag & Drop Gmail Attachments doesn't work. · b82803ec
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=57909
      <rdar://problem/9103220>
      
      Reviewed by Darin Adler.
      
      Source/WebCore: 
      
      In WebKit2 we cannot rely on the value returned by platformData() that
      on Mac returns an NSDraggingInfo object. This is available only in the UI
      process. Therefore we should use m_pasteboard instead.
      We cannot change what platformData() returns on Mac, since there are
      delegate methods that receive a NSDraggingInfo object (only in WebKit).
              
      * platform/DragData.h:
      (WebCore::DragData::pasteboard): Added.
      * platform/mac/ClipboardMac.mm:
      (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
      * platform/mac/DragDataMac.mm:
      (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
      (WebCore::DragData::asURL): Same as above.
      
      Source/WebKit2: 
      
      Added _hitTest method to support drag and drop when the drag types cannot be matched.
      This is the case for elements that do not place content
      in the drag pasteboard automatically when the drag start (i.e. dragging a DIV element).
                     
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _hitTest:dragTypes:]): Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b82803ec
    • benjamin.poulain@nokia.com's avatar
      2011-04-06 Benjamin Poulain <benjamin.poulain@nokia.com> · 9b5e7209
      benjamin.poulain@nokia.com authored
              Reviewed by Darin Adler.
      
              ClipboardWin has unused variables "ExceptionCode ec"
              https://bugs.webkit.org/show_bug.cgi?id=57952
      
              Remove the unused variable.
      
              * platform/win/ClipboardWin.cpp:
              (WebCore::ClipboardWin::declareAndWriteDragImage):
              (WebCore::ClipboardWin::writePlainText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9b5e7209
    • diegohcg@webkit.org's avatar
      2011-03-27 Diego Gonzalez <diegohcg@webkit.org> · bff0b437
      diegohcg@webkit.org authored
          [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled.
          https://bugs.webkit.org/show_bug.cgi?id=57007
      
          Reviewed by Kenneth Rohde Christiansen.
      
          * CodeGenerators.pri:
          * css/themeQtMobile.css: Removed.
          * platform/qt/QtMobileWebStyle.cpp:
          (drawRectangularControlBackground):
          (QtMobileWebStyle::drawPrimitive):
          (QtMobileWebStyle::drawComplexControl):
          * platform/qt/QtMobileWebStyle.h:
          * platform/qt/RenderThemeQt.cpp:
          (WebCore::RenderThemeQt::isControlStyled):
          (WebCore::RenderThemeQt::paintTextField):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bff0b437
    • mrobinson@webkit.org's avatar
      2011-04-06 Martin Robinson <mrobinson@igalia.com> · 62f5d3b2
      mrobinson@webkit.org authored
              Build fix for debug Cairo builds.
      
              * platform/graphics/cairo/PlatformContextCairo.cpp:
              (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62f5d3b2
    • diegohcg@webkit.org's avatar
      2011-04-06 Diego Gonzalez <diegohcg@webkit.org> · 7ba3af9f
      diegohcg@webkit.org authored
          [Qt] Style fix for QtMobileWebStyle.h
          https://bugs.webkit.org/show_bug.cgi?id=57708
      
          Reviewed by Antonio Gomes.
      
          * platform/qt/QtMobileWebStyle.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ba3af9f
    • mrobinson@webkit.org's avatar
      2011-04-06 Martin Robinson <mrobinson@igalia.com> · 69a5cea7
      mrobinson@webkit.org authored
              Reviewed by Xan Lopez.
      
              [Cairo] Hide the details of image masking in PlatformContextCairo
              https://bugs.webkit.org/show_bug.cgi?id=57878
      
              No new tests. This is just a refactor.
      
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to
              do the actual cairo_save. Remove information about image masking.
              (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to
              do the actual cairo_restore. Remove information about image masking.
              * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
              * platform/graphics/cairo/ImageBufferCairo.cpp:
              (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now.
              * platform/graphics/cairo/PlatformContextCairo.cpp:
              (WebCore::PlatformContextCairo::restore): Added.
              (WebCore::PlatformContextCairo::save): Added.
              (WebCore::PlatformContextCairo::pushImageMask): Added.
              * platform/graphics/cairo/PlatformContextCairo.h:
              (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h.
              (WebCore::ImageMaskInformation::isValid): Ditto.
              (WebCore::ImageMaskInformation::maskSurface): Ditto.
              (WebCore::ImageMaskInformation::maskRect): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      69a5cea7
    • diegohcg@webkit.org's avatar
      2011-04-02 Diego Gonzalez <diegohcg@webkit.org> · 43bdf2b4
      diegohcg@webkit.org authored
          [Qt] Radio buttons are showing wrong with mobile theme
          https://bugs.webkit.org/show_bug.cgi?id=57706
      
          Reviewed by Csaba Osztrogonác.
      
          * platform/qt/QtMobileWebStyle.cpp:
          (QtMobileWebStyle::drawRadio):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43bdf2b4
    • diegohcg@webkit.org's avatar
      2011-04-05 Diego Gonzalez <diegohcg@webkit.org> · dc20b8ef
      diegohcg@webkit.org authored
          Buildfix after r82125.
      
          [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
          https://bugs.webkit.org/show_bug.cgi?id=57087
      
          * platform/qt/QtMobileWebStyle.cpp:
          (QtMobileWebStyle::findChecker):
          (QtMobileWebStyle::findRadio):
          (QtMobileWebStyle::findComboButton):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc20b8ef
    • alex@webkit.org's avatar
      2011-04-06 Alejandro G. Castro <alex@igalia.com> · 567fc086
      alex@webkit.org authored
              Fix GTK3 compilation after r82962.
      
              * platform/gtk/RenderThemeGtk3.cpp:
              (WebCore::paintToggle):
              (WebCore::renderButton):
              (WebCore::RenderThemeGtk::paintMenuList):
              (WebCore::RenderThemeGtk::paintTextField):
              (WebCore::RenderThemeGtk::paintSliderTrack):
              (WebCore::RenderThemeGtk::paintSliderThumb):
              (WebCore::RenderThemeGtk::paintProgressBar):
              (WebCore::paintSpinArrowButton):
              * platform/gtk/ScrollbarThemeGtk3.cpp:
              (WebCore::ScrollbarThemeGtk::paintTrackBackground):
              (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
              (WebCore::ScrollbarThemeGtk::paintThumb):
              (WebCore::ScrollbarThemeGtk::paintButton):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      567fc086
  4. 05 Apr, 2011 5 commits