1. 27 Mar, 2013 4 commits
  2. 22 Mar, 2013 2 commits
  3. 21 Mar, 2013 1 commit
  4. 20 Mar, 2013 3 commits
    • commit-queue@webkit.org's avatar
      [JSC] Implement EnforceRange IDL attribute for integer conversions · 91f1ffcd
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112506
      
      Patch by Michael Pruett <michael@68k.org> on 2013-03-20
      Reviewed by Kentaro Hara.
      
      .:
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      Implement the EnforceRange attribute for JSC bindings.
      
      The EnforceRange attribute requires a type error to be thrown when
      converting an ECMAScript number which is beyond the representable
      range of the IDL integer type.
      
      Tests: fast/js/webidl-type-mapping.html
             storage/indexeddb/cursor-advance-workers.html
             storage/indexeddb/cursor-advance.html
             storage/indexeddb/intversion-bad-parameters.html
      
      * WebCore.exp.in:
      * bindings/js/JSDOMBinding.cpp:
      (WebCore):
      (WebCore::enforceRange):
      (WebCore::toInt32EnforceRange):
      (WebCore::toUInt32EnforceRange):
      (WebCore::toInt64):
      (WebCore::toUInt64):
      * bindings/js/JSDOMBinding.h:
      (WebCore::toInt32):
      (WebCore):
      (WebCore::toUInt32):
      * bindings/scripts/CodeGeneratorJS.pm:
      (JSValueToNative):
      * bindings/scripts/test/JS/JSTestEventTarget.cpp:
      (WebCore::jsTestEventTargetPrototypeFunctionItem):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjShortAttr):
      (WebCore::setJSTestObjUnsignedShortAttr):
      (WebCore::setJSTestObjLongAttr):
      (WebCore::setJSTestObjLongLongAttr):
      (WebCore::setJSTestObjUnsignedLongLongAttr):
      (WebCore::setJSTestObjReflectedIntegralAttr):
      (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
      (WebCore::setJSTestObjReflectedCustomIntegralAttr):
      (WebCore::setJSTestObjAttrWithGetterException):
      (WebCore::setJSTestObjAttrWithSetterException):
      (WebCore::setJSTestObjWithScriptStateAttribute):
      (WebCore::setJSTestObjConditionalAttr1):
      (WebCore::setJSTestObjConditionalAttr2):
      (WebCore::setJSTestObjConditionalAttr3):
      (WebCore::setJSTestObjStrawberry):
      (WebCore::setJSTestObjId):
      (WebCore::setJSTestObjNullableLongSettableAttribute):
      (WebCore::setJSTestObjNullableStringValue):
      (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
      (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
      (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
      (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
      (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
      (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
      (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
      (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
      (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
      (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
      (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
      (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
      (WebCore::jsTestObjPrototypeFunctionStrictFunction):
      * bindings/scripts/test/JS/JSTestTypedefs.cpp:
      (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
      (WebCore::setJSTestTypedefsAttrWithGetterException):
      (WebCore::setJSTestTypedefsAttrWithSetterException):
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      * fast/js/webidl-type-mapping-expected.txt:
      * platform/chromium/fast/js/webidl-type-mapping-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      91f1ffcd
    • eric.carlson@apple.com's avatar
      Allow ports specific text track menu · 62bb7dc9
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112800
      
      Reviewed by Dean Jackson.
      
      Source/WebCore: 
      
      No new tests, existing tests updated for changes.
      
      * English.lproj/Localizable.strings: Add localizable strings for text track names.
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement): userPrefersCaptions -> shouldShowCaptions.
      (WebCore::HTMLMediaElement::setSelectedTextTrack): toggleTrackAtIndex -> setSelectedTextTrack.
      (WebCore::HTMLMediaElement::userPrefersCaptions): userPrefersCaptions -> shouldShowCaptions.
      (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Get preferences from CaptionUserPreferences
          instead of from Settings.
      (WebCore::HTMLMediaElement::setSelectedTextTrack): Renamed from toggleTrackAtIndex. Now takes
          a TextTrack* instead of an int.
      (WebCore::HTMLMediaElement::captionPreferencesChanged): Don't force a recalculation unless 
          captions are enabled/disabled to avoid unnecessary thrash.
      * html/HTMLMediaElement.h:
      
      * html/shadow/MediaControlElements.cpp:
      (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Use the menu to track
          map instead of just the track index.
      (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Build and configure the
          menu from the menu to track map.
      (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Start with a list
          of tracks already sorted according to platform specific rules. Build a menu to track map
          so tracks are retained while the menu is visible.
      * html/shadow/MediaControlElements.h:
      
      * html/shadow/MediaControls.cpp:
      (WebCore::MediaControls::textTrackPreferencesChanged): Call closedCaptionTracksChanged so the
          track menu will be rebuilt before it is shown again.
      
      * html/track/InbandTextTrack.cpp:
      (WebCore::InbandTextTrack::containsOnlyForcedSubtitles): New, passthrough to the private track.
      (WebCore::InbandTextTrack::isMainProgramContent): Ditto.
      (WebCore::InbandTextTrack::isEasyToRead): Ditto.
      * html/track/InbandTextTrack.h:
      * html/track/TextTrack.h:
      
      * html/track/TextTrackList.cpp:
      (WebCore::TextTrackList::contains): New.
      * html/track/TextTrackList.h:
      
      * page/CaptionUserPreferences.cpp:
      (WebCore::CaptionUserPreferences::CaptionUserPreferences): Pull in from .h ditto.
      (WebCore::CaptionUserPreferences::~CaptionUserPreferences): Ditto.
      (WebCore::CaptionUserPreferences::shouldShowCaptions): Renamed from userPrefersCaptions. 
      (WebCore::CaptionUserPreferences::setShouldShowCaptions): New.
      (WebCore::CaptionUserPreferences::userPrefersCaptions): Ditto.
      (WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
      (WebCore::CaptionUserPreferences::userPrefersSubtitles): Ditto.
      (WebCore::CaptionUserPreferences::setUserPrefersSubtitles): Ditto.
      (WebCore::CaptionUserPreferences::userPrefersTextDescriptions): Ditto.
      (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions): Ditto.
      (WebCore::CaptionUserPreferences::displayNameForTrack): Ditto.
      (WebCore::CaptionUserPreferences::sortedTrackListForMenu): Ditto.
      * page/CaptionUserPreferences.h:
      
      * page/CaptionUserPreferencesMac.h:
      * page/CaptionUserPreferencesMac.mm:
      (WebCore::CaptionUserPreferencesMac::shouldShowCaptions): Renamed from userPrefersCaptions. 
      (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): New.
      (WebCore::CaptionUserPreferences::userPrefersSubtitles): Ditto.
      (WebCore::trackDisplayName): Update logic used to build track title.
      (WebCore::CaptionUserPreferencesMac::displayNameForTrack): Call trackDisplayName.
      (WebCore::textTrackCompare): Text track title sort comparison function.
      (WebCore::CaptionUserPreferencesMac::sortedTrackListForMenu): New. Sort the list of tracks
          according to title, language, and user preferences.
      
      * platform/Language.cpp:
      (WebCore::displayNameForLanguageLocale): Don't leak the CFLocale.
              
      * platform/LocalizedStrings.cpp:
      (WebCore::textTrackCountryAndLanguageMenuItemText): New.
      (WebCore::textTrackLanguageMenuItemText): Ditto.
      (WebCore::closedCaptionTrackMenuItemText): Ditto.
      (WebCore::sdhTrackMenuItemText): Ditto.
      (WebCore::easyReaderTrackMenuItemText): Ditto.
      * platform/LocalizedStrings.h:
      
      * platform/graphics/InbandTextTrackPrivate.h:
      * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
      * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
      (WebCore::InbandTextTrackPrivateAVFObjC::containsOnlyForcedSubtitles): New, return AVFoundation property.
      (WebCore::InbandTextTrackPrivateAVFObjC::isMainProgramContent): Ditto.
      (WebCore::InbandTextTrackPrivateAVFObjC::isEasyToRead): Ditto.
      
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::setShouldDisplayTrackKind): Set setting via CaptionUserPreferences
          instead of from Settings.
      (WebCore::InternalSettings::shouldDisplayTrackKind): Get setting from CaptionUserPreferences
          instead of from Settings.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add new exports.
      * win/WebKit.vcproj/WebKitExports.def.in: Ditto.
      
      LayoutTests: 
      
      * media/track/track-user-preferences-expected.txt:
      * media/track/track-user-preferences.html:
      * media/video-controls-captions-trackmenu-localized.html:
      * media/video-controls-captions-trackmenu-sorted.html:
      * media/video-controls-captions-trackmenu.html:
      * platform/mac/media/video-controls-captions-trackmenu-expected.txt:
      * platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt:
      * platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62bb7dc9
    • commit-queue@webkit.org's avatar
      Copy-paste should not spellcheck when continuous spellcheck is turned off · ecff1e49
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112464
      
      Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-03-20
      Reviewed by Ryosuke Niwa.
      
      .:
      
      * Source/autotools/symbols.filter: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
      
      Source/WebCore:
      
      Test: editing/spelling/spellcheck-paste-continuous-disabled.html
      
      * WebCore.exp.in: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
      * WebCore.order: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
      * editing/Editor.cpp:
      (WebCore::Editor::replaceSelectionWithFragment): Do not spellcheck if continuous spellcheck is turned off.
      * testing/Internals.cpp:
      (WebCore::Internals::resetToConsistentState): Leave continuous spellcheck turned on after a test.
      (WebCore::Internals::setContinuousSpellCheckingEnabled): Let tests enable and disable continuous spellcheck.
      (WebCore):
      * testing/Internals.h: Let tests enable and disable continuous spellcheck.
      (Internals):
      * testing/Internals.idl: Let tests enable and disable continuous spellcheck.
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
      
      LayoutTests:
      
      * editing/spelling/spellcheck-paste-continuous-disabled-expected.txt: Added expected results for pasting when continuous spellcheck is turned off.
      * editing/spelling/spellcheck-paste-continuous-disabled.html: Added a test for pasting with continuous spellcheck turned off.
      * platform/mac-wk2/TestExpectations: Skip spellcheck-paste-continuous-disabled.html, because it is a slight modification of spellcheck-paste-disabled.html, which is also skipped in mac-wk2.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ecff1e49
  5. 13 Mar, 2013 1 commit
    • japhet@chromium.org's avatar
      .: Expose symbols for internals · df4bd6ea
      japhet@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112194
      
      Reviewed by Alexey Proskuryakov.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore: REGRESSION(r137607): Redirecting a post to a get then reloading triggers resubmit warning
      https://bugs.webkit.org/show_bug.cgi?id=112194
      
      Reviewed by Alexey Proskuryakov.
      
      Test: http/tests/navigation/post-redirect-get-reload.php
      
      * loader/SubresourceLoader.cpp:
      (WebCore::SubresourceLoader::willSendRequest): Matching urls aren't a reliable way of checking whether
          we are in a redirect. Check redirectResponse.isNull() instead.
      * testing/Internals.cpp:
      (WebCore::Internals::forceReload): Expose a means of forcing a reload like one a user generates for testing.
          Note that testRunner.queueReload() does this, but is not supported after the initial load completes,
          which makes it unsuitable for this case.
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit/win: Expose symbols for internals
      https://bugs.webkit.org/show_bug.cgi?id=112194
      
      Reviewed by Alexey Proskuryakov.
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=112194.
      
      Reviewed by Alexey Proskuryakov.
      
      * http/tests/navigation/post-redirect-get-reload-expected.txt: Added.
      * http/tests/navigation/post-redirect-get-reload.php: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df4bd6ea
  6. 04 Mar, 2013 1 commit
    • commit-queue@webkit.org's avatar
      <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc · acbaff4b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109061
      
      Patch by Ruslan Abdikeev <aruslan@chromium.org> on 2013-03-04
      Reviewed by Adam Barth.
      
      .:
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      Test: fast/dom/icon-url-list-apple-touch.html
      
      Added iconTypes parameter to Document::iconURLs().
      Added Document::shortcutIconURLs() with original semantics of iconURLs().
      Fixed IconController.cpp to provide iconTypesMask to iconURLs().
      Renamed iconTypes to iconTypesMask to make the meaning clearer.
      
      * WebCore.exp.in:
      * dom/Document.cpp:
      (WebCore::Document::shortcutIconURLs):
      (WebCore):
      (WebCore::Document::iconURLs):
      * dom/Document.h:
      (Document):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::iconURL):
      (WebCore::IconController::urlsForTypes):
      * testing/Internals.cpp:
      (WebCore::Internals::iconURLs):
      (WebCore::Internals::shortcutIconURLs):
      (WebCore):
      (WebCore::Internals::allIconURLs):
      * testing/Internals.h:
      * testing/Internals.idl:
      
      LayoutTests:
      
      Added test for apple-touch-icon in allIconURLs().
      Changed iconURLs() to shortcutIconURLs().
      
      * fast/dom/icon-url-change.html:
      * fast/dom/icon-url-list-apple-touch-expected.txt: Added.
      * fast/dom/icon-url-list-apple-touch.html: Added.
      * fast/dom/icon-url-list.html:
      * fast/dom/icon-url-property.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      acbaff4b
  7. 03 Mar, 2013 5 commits
    • rniwa@webkit.org's avatar
      Windows build fix attempt after r144547. · 3be49417
      rniwa@webkit.org authored
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3be49417
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r144567. · ee29c058
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/144567
      https://bugs.webkit.org/show_bug.cgi?id=111266
      
      Does not compile on apple-win (Requested by abarth on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-03
      
      .:
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * dom/Document.cpp:
      (WebCore::Document::iconURLs):
      * dom/Document.h:
      (Document):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::iconURL):
      (WebCore::IconController::urlsForTypes):
      * loader/icon/IconController.h:
      (IconController):
      * testing/Internals.cpp:
      (WebCore::Internals::iconURLs):
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit:
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/chromium:
      
      * public/WebFrame.h:
      * src/WebFrameImpl.cpp:
      (WebKit::WebFrameImpl::iconURLs):
      * src/WebFrameImpl.h:
      (WebFrameImpl):
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      * fast/dom/icon-url-change.html:
      * fast/dom/icon-url-list-apple-touch-expected.txt: Removed.
      * fast/dom/icon-url-list-apple-touch.html: Removed.
      * fast/dom/icon-url-list.html:
      * fast/dom/icon-url-property.html:
      * platform/chromium-android/fast/dom/icon-url-list-apple-touch-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144572 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee29c058
    • rniwa@webkit.org's avatar
      Source/WebCore: Another Windows build fix attempt after r144567. · f024fa91
      rniwa@webkit.org authored
      Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
      
      * testing/Internals.idl:
      
      Source/WebKit/win: That was a wrong fix. Revert r144569.
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f024fa91
    • rniwa@webkit.org's avatar
      Windows build fix attempt after r144567. · 94af0659
      rniwa@webkit.org authored
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94af0659
    • commit-queue@webkit.org's avatar
      <link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc · 2d6eecc6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109061
      
      Patch by Ruslan Abdikeev <aruslan@chromium.org> on 2013-03-03
      Reviewed by Adam Barth.
      
      .:
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      Test: fast/dom/icon-url-list-apple-touch.html
      
      Added iconTypes parameter to Document::iconURLs().
      Added Document::shortcutIconURLs() with original semantics of iconURLs().
      Fixed IconController.cpp to provide iconTypesMask to iconURLs().
      Renamed iconTypes to iconTypesMask to make the meaning clearer.
      
      * WebCore.exp.in:
      * dom/Document.cpp:
      (WebCore::Document::shortcutIconURLs):
      (WebCore):
      (WebCore::Document::iconURLs):
      * dom/Document.h:
      (Document):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::iconURL):
      (WebCore::IconController::urlsForTypes):
      * testing/Internals.cpp:
      (WebCore::Internals::iconURLs):
      (WebCore::Internals::shortcutIconURLs):
      (WebCore):
      (WebCore::Internals::allIconURLs):
      * testing/Internals.h:
      * testing/Internals.idl:
      
      LayoutTests:
      
      Added test for apple-touch-icon in allIconURLs().
      Changed iconURLs() to shortcutIconURLs().
      
      * fast/dom/icon-url-change.html:
      * fast/dom/icon-url-list-apple-touch-expected.txt: Added.
      * fast/dom/icon-url-list-apple-touch.html: Added.
      * fast/dom/icon-url-list.html:
      * fast/dom/icon-url-property.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d6eecc6
  8. 02 Mar, 2013 1 commit
  9. 01 Mar, 2013 1 commit
  10. 24 Feb, 2013 1 commit
  11. 21 Feb, 2013 1 commit
    • tony@chromium.org's avatar
      Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set · 2d54e365
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109989
      
      Reviewed by Ryosuke Niwa.
      
      .:
      
      Add setters to export symbols.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      Start generating the code for settings that call m_page->setNeedsRecalcStyleInAllFrames()
      when the value is changed. This allows us to generate 10 more settings. As a follow up, we
      can remove some methods from DRT/WTR after this.
      
      No new tests, this is a build refactor and should not impact any test results.
      
      * page/Settings.cpp:
      (WebCore::Settings::Settings): Remove member variables. Add SETTINGS_SETTER_BODIES macro that
      has the generated setter bodies.
      * page/Settings.h:
      (Settings): Remove code that is now generated.
      * page/Settings.in: Add new entries with setNeedsStyleRecalcWhenSetting=1
      * page/make_settings.pl:
      (defaultItemFactory): Add setNeedsStyleRecalcWhenSetting flag.
      (generateSettingsMacrosHeader): Print macro for setter bodies.
      (printConditionalMacros): Add setter body code.
      (printGettersAndSetters): Pass in setNeedsStyleRecalcWhenSetting so we know whether to inline the
      setter in the header or not.
      (printGetterAndSetter): Ditto.
      (printSetterBodies): Print macro for setter bodies.
      (printSetterBody): Print setter body for a single setting.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d54e365
  12. 19 Feb, 2013 3 commits
  13. 15 Feb, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Add platform support for -webkit-background-blend-mode to CG context · 1bbfa110
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108549
      
      Patch by Rik Cabanier <cabanier@adobe.com> on 2013-02-15
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      Tests: css3/compositing/effect-background-blend-mode-stacking.html
             css3/compositing/effect-background-blend-mode.html
      
      This patch adds support for blending on background images to the Core Graphics port of WebKit.
      
      * platform/graphics/CrossfadeGeneratedImage.cpp: Added interface change for blending.
      (WebCore::CrossfadeGeneratedImage::drawPattern):
      * platform/graphics/CrossfadeGeneratedImage.h: Added interface change for blending.
      (CrossfadeGeneratedImage):
      * platform/graphics/GeneratedImage.h: Added interface change for blending.
      (GeneratedImage):
      * platform/graphics/GeneratorGeneratedImage.cpp: Added interface change for blending.
      (WebCore::GeneratorGeneratedImage::drawPattern):
      * platform/graphics/GeneratorGeneratedImage.h: Added interface change for blending.
      (GeneratorGeneratedImage):
      * platform/graphics/GraphicsContext.cpp: Added interface change for blending and passes blend mode to image object.
      (WebCore::GraphicsContext::drawTiledImage):
      (WebCore::GraphicsContext::blendModeOperation):
      (WebCore):
      * platform/graphics/GraphicsContext.h: Added interface change for blending.
      (GraphicsContext):
      * platform/graphics/Image.cpp: Added interface change for blending and passed it to graphics layer.
      (WebCore::Image::drawTiled):
      * platform/graphics/Image.h: Added interface change for blending.
      (Image):
      * platform/graphics/cg/ImageCG.cpp: Added interface change for blending and passed it to OS.
      (WebCore::Image::drawPattern):
      * rendering/RenderBoxModelObject.cpp: Passed blend mode when drawing background images.
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      * platform/graphics/cairo/ImageCairo.cpp: Added interface change for blending.
      (WebCore::Image::drawPattern):
      * platform/graphics/qt/ImageQt.cpp: Added interface change for blending.
      (WebCore::Image::drawPattern):
      * platform/graphics/skia/ImageSkia.cpp: Added interface change for blending.
      (WebCore::Image::drawPattern):
      * rendering/RenderBoxModelObject.cpp: Added interface change for blending.
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      * svg/graphics/SVGImageForContainer.cpp: Added interface change for blending.
      (WebCore::SVGImageForContainer::drawPattern):
      * svg/graphics/SVGImageForContainer.h: Added interface change for blending.
      
      Source/WebKit:
      
      Fixed build issue.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/win:
      
      Fixed build issue.
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      Added tests for background images.
      
      * css3/compositing/effect-background-blend-mode-expected.png: Added.
      * css3/compositing/effect-background-blend-mode-expected.txt: Added.
      * css3/compositing/effect-background-blend-mode-stacking-expected.png: Added.
      * css3/compositing/effect-background-blend-mode-stacking-expected.txt: Added.
      * css3/compositing/effect-background-blend-mode-stacking.html: Added.
      * css3/compositing/effect-background-blend-mode.html: Added.
      * css3/compositing/resources/ducky.png: Added.
      * platform/chromium/TestExpectations:
      * platform/mac/css3/compositing: Added.
      * platform/mac/css3/compositing/effect-background-blend-mode-expected.png: Added.
      * platform/mac/css3/compositing/effect-background-blend-mode-stacking-expected.png: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1bbfa110
    • allan.jensen@digia.com's avatar
      Simplify hitTestResultAtPoint and nodesFromRect APIs · eb0e1f9f
      allan.jensen@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=95720
      
      .:
      
      Reviewed by Julien Chaffraix.
      
      Update exported symbols.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      Reviewed by Julien Chaffraix.
      
      The existing API was overloaded and could be simplified by passing all the bool arguments in
      a HitTestRequest argument. This should also help clarify the call as the enum values explicitely
      state what they do.
      
      * WebCore.exp.in:
      * WebCore.order:
      * dom/Document.cpp:
      (WebCore::Document::nodesFromRect):
      * dom/Document.h:
      (Document):
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::createContextMenu):
      * page/DragController.cpp:
      (WebCore::DragController::canProcessDrag):
      (WebCore::DragController::startDrag):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::hitTestResultAtPoint):
      (WebCore::EventHandler::handleMousePressEvent):
      (WebCore::EventHandler::handleGestureEvent):
      (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
      (WebCore::EventHandler::bestClickableNodeForTouchPoint):
      (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
      (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
      (WebCore::EventHandler::handleTouchEvent):
      * page/EventHandler.h:
      (WebCore):
      (EventHandler):
      * page/FocusController.cpp:
      (WebCore::updateFocusCandidateIfNeeded):
      * page/Frame.cpp:
      (WebCore::Frame::visiblePositionForPoint):
      (WebCore::Frame::documentAtPoint):
      * page/TouchDisambiguation.cpp:
      (WebCore::findGoodTouchTargets):
      * rendering/HitTestRequest.h:
      (WebCore::HitTestRequest::allowsFrameScrollbars):
      * testing/Internals.cpp:
      (WebCore::Internals::nodesFromRect):
      
      Source/WebKit/blackberry:
      
      Reviewed by Julien Chaffraix.
      
      Update calls to new API.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::contextNode):
      (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
      (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
      (BlackBerry::WebKit::WebPage::nodeAtDocumentPoint):
      (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
      
      Source/WebKit/chromium:
      
      Reviewed by Julien Chaffraix.
      
      Update calls to new API.
      
      * src/ContextMenuClientImpl.cpp:
      (WebKit::selectMisspelledWord):
      * src/FrameLoaderClientImpl.cpp:
      (WebKit::FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction):
      * src/WebFrameImpl.cpp:
      (WebKit::WebFrameImpl::characterIndexForPoint):
      * src/WebPluginContainerImpl.cpp:
      (WebKit::WebPluginContainerImpl::isRectTopmost):
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::handleMouseDown):
      (WebKit::WebViewImpl::computeBlockBounds):
      (WebKit::WebViewImpl::bestTouchLinkNode):
      (WebKit::WebViewImpl::hitTestResultForWindowPos):
      
      Source/WebKit/efl:
      
      Reviewed by Julien Chaffraix.
      
      Update calls to new API.
      
      * ewk/ewk_frame.cpp:
      (ewk_frame_hit_test_new):
      
      Source/WebKit/mac:
      
      Reviewed by Julien Chaffraix.
      
      Update calls to new API.
      
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::actionDictionary):
      * WebView/WebFrame.mm:
      (-[WebFrame elementAtPoint:]):
      * WebView/WebHTMLView.mm:
      (-[WebHTMLView elementAtPoint:allowShadowContent:]):
      
      Source/WebKit/qt:
      
      Reviewed by Julien Chaffraix.
      
      Update calls to new API.
      
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
      * WebCoreSupport/QWebFrameAdapter.cpp:
      (QWebFrameAdapter::hitTestContent):
      * WebCoreSupport/QWebPageAdapter.cpp:
      (QWebPageAdapter::TouchAdjuster::findCandidatePointForTouch):
      (QWebPageAdapter::handleSoftwareInputPanel):
      (QWebPageAdapter::updatePositionDependentMenuActions):
      
      Source/WebKit/win:
      
      Reviewed by Julien Chaffraix.
      
      Update calls to new API.
      
      * WebActionPropertyBag.cpp:
      (WebActionPropertyBag::Read):
      * WebKit.vcproj/WebKitExports.def.in:
      * WebView.cpp:
      (WebView::handleContextMenuEvent):
      (WebView::elementAtPoint):
      
      Source/WebKit/wx:
      
      Reviewed by Julien Chaffraix.
      
      Update calls to new API.
      
      * WebFrame.cpp:
      (WebKit::WebFrame::HitTest):
      
      Source/WebKit2:
      
      Reviewed by Julien Chaffraix and Maciej Stachowiak.
      
      Update calls to new API and update exported symbols.
      
      * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
      (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::hitTest):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::handleContextMenuEvent):
      (WebKit::WebPage::highlightPotentialActivation):
      (WebKit::WebPage::findZoomableAreaForPoint):
      * WebProcess/WebPage/mac/WebPageMac.mm:
      (WebKit::WebPage::characterIndexForPoint):
      (WebKit::WebPage::performDictionaryLookupAtLocation):
      (WebKit::WebPage::shouldDelayWindowOrderingEvent):
      (WebKit::WebPage::acceptsFirstMouse):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb0e1f9f
  14. 14 Feb, 2013 1 commit
    • caseq@chromium.org's avatar
      Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent · d50549ee
      caseq@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109192
      
      Reviewed by Pavel Feldman.
      
      .:
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      - remove frame and compositing instrumentation methods from InspectorInstrumentation;
      - expose those methods on InspectorController instead.
      
      * WebCore.exp.in:
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::didBeginFrame):
      (WebCore):
      (WebCore::InspectorController::didCancelFrame):
      (WebCore::InspectorController::willComposite):
      (WebCore::InspectorController::didComposite):
      * inspector/InspectorController.h:
      (InspectorController):
      * inspector/InspectorInstrumentation.cpp:
      (WebCore):
      * inspector/InspectorInstrumentation.h:
      (InspectorInstrumentation):
      * testing/Internals.cpp:
      (WebCore::Internals::emitInspectorDidBeginFrame):
      (WebCore::Internals::emitInspectorDidCancelFrame):
      
      Source/WebKit/blackberry:
      
      - invoke frame instrumentation methods on InspectorController, not on InspectorInstrumentation.
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
      (BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
      
      Source/WebKit/chromium:
      
      - expose frame and compositing insturmentation methods on WebDevToolsAgent;
      - temporarily route them from WebViewImpl to WebDevToolsAgent;
      
      * public/WebDevToolsAgent.h:
      (WebDevToolsAgent):
      * src/WebDevToolsAgentImpl.cpp:
      (WebKit::WebDevToolsAgentImpl::didBeginFrame):
      (WebKit):
      (WebKit::WebDevToolsAgentImpl::didCancelFrame):
      (WebKit::WebDevToolsAgentImpl::willComposite):
      (WebKit::WebDevToolsAgentImpl::didComposite):
      * src/WebDevToolsAgentImpl.h:
      (WebDevToolsAgentImpl):
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::instrumentBeginFrame):
      (WebKit::WebViewImpl::instrumentCancelFrame):
      (WebKit::WebViewImpl::didBeginFrame):
      (WebKit::WebViewImpl::willCommit):
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d50549ee
  15. 11 Feb, 2013 1 commit
  16. 08 Feb, 2013 1 commit
    • benjamin@webkit.org's avatar
      Move workerThreadCount from TestRunner to WebCore Internals · b9181b30
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109239
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-08
      Reviewed by Darin Adler.
      
      .: 
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore: 
      
      Add the new read-only property workerThreadCount.
      
      * testing/Internals.cpp:
      (WebCore::Internals::workerThreadCount):
      (WebCore):
      * testing/Internals.h:
      (Internals):
      * testing/Internals.idl:
      
      Source/WebKit: 
      
      * WebKit.xcodeproj/project.pbxproj:
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * WebCoreSupport/DumpRenderTreeSupportEfl.h:
      
      Source/WebKit/gtk: 
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      * WebCoreSupport/DumpRenderTreeSupportGtk.h:
      (DumpRenderTreeSupportGtk):
      
      Source/WebKit/mac: 
      
      Get rid of WebWorkersPrivate, which was only needed for DRT.
      
      * WebKit.exp:
      * Workers/WebWorkersPrivate.h: Removed.
      * Workers/WebWorkersPrivate.mm: Removed.
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      * WebCoreSupport/DumpRenderTreeSupportQt.h:
      
      Source/WebKit/win: 
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      Source/WebKit2: 
      
      * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.h:
      (InjectedBundle):
      * WebProcess/WebPage/WebFrame.cpp: Remove a useless #include.
      
      Tools: 
      
      * DumpRenderTree/TestRunner.cpp:
      (TestRunner::staticValues):
      * DumpRenderTree/TestRunner.h:
      (TestRunner):
      * DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
      * DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
      (WebTestRunner::TestRunner::TestRunner):
      * DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
      (TestRunner):
      * DumpRenderTree/efl/TestRunnerEfl.cpp:
      * DumpRenderTree/gtk/TestRunnerGtk.cpp:
      * DumpRenderTree/mac/TestRunnerMac.mm:
      (TestRunner::webHistoryItemCount):
      * DumpRenderTree/qt/TestRunnerQt.cpp:
      * DumpRenderTree/qt/TestRunnerQt.h:
      (TestRunner):
      * DumpRenderTree/win/TestRunnerWin.cpp:
      * DumpRenderTree/wx/TestRunnerWx.cpp:
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
      * WebKitTestRunner/InjectedBundle/TestRunner.h:
      
      LayoutTests: 
      
      Update the tests testRunner->internals.
      
      * fast/workers/resources/dedicated-worker-lifecycle.js:
      (runTests.worker.onmessage):
      (runTests):
      (orphanedWorkerExited.worker.onmessage):
      (orphanedWorkerExited):
      * fast/workers/resources/worker-lifecycle.js:
      (runTests.worker.onmessage):
      (runTests):
      * fast/workers/resources/worker-util.js:
      (.return):
      (waitUntilThreadCountMatches):
      * fast/workers/worker-close-more.html:
      * http/tests/workers/resources/worker-util.js:
      (.return):
      (waitUntilThreadCountMatches):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9181b30
  17. 07 Feb, 2013 1 commit
  18. 05 Feb, 2013 2 commits
  19. 04 Feb, 2013 1 commit
    • benjamin@webkit.org's avatar
      Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from... · 99308baf
      benjamin@webkit.org authored
      Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from DRT/WTR; use Internals
      https://bugs.webkit.org/show_bug.cgi?id=108741
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-04
      Reviewed by Tony Chang.
      
      .: 
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore: 
      
      Move suspendAnimations and resumeAnimations to group all the animation related
      code together.
      
      Add support for numberOfActiveAnimations, similarily to the feature previously defined
      in TestRunner.
      
      * testing/Internals.cpp:
      (WebCore::Internals::numberOfActiveAnimations):
      (WebCore):
      (WebCore::Internals::suspendAnimations):
      (WebCore::Internals::resumeAnimations):
      * testing/Internals.h:
      (Internals):
      * testing/Internals.idl:
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * WebCoreSupport/DumpRenderTreeSupportEfl.h:
      
      Source/WebKit/gtk: 
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      * WebCoreSupport/DumpRenderTreeSupportGtk.h:
      (DumpRenderTreeSupportGtk):
      
      Source/WebKit/mac: 
      
      * WebView/WebFrame.mm:
      * WebView/WebFramePrivate.h:
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      * WebCoreSupport/DumpRenderTreeSupportQt.h:
      
      Source/WebKit/win: 
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      Source/WebKit2: 
      
      Suspending and resuming application has been useless for a one. Someone just
      "forgot" WebKit2.
      
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
      * WebProcess/WebPage/WebFrame.cpp:
      * WebProcess/WebPage/WebFrame.h:
      (WebFrame):
      
      Tools: 
      
      Remove all support for suspendAnimation(), resumeAnimation() and numberOfActiveAnimations().
      
      * DumpRenderTree/TestRunner.cpp:
      (TestRunner::staticFunctions):
      * DumpRenderTree/TestRunner.h:
      (TestRunner):
      * DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
      * DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
      (WebTestRunner::TestRunner::TestRunner):
      * DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
      (TestRunner):
      * DumpRenderTree/efl/TestRunnerEfl.cpp:
      * DumpRenderTree/gtk/TestRunnerGtk.cpp:
      * DumpRenderTree/mac/TestRunnerMac.mm:
      * DumpRenderTree/qt/TestRunnerQt.cpp:
      * DumpRenderTree/qt/TestRunnerQt.h:
      (TestRunner):
      * DumpRenderTree/win/TestRunnerWin.cpp:
      * DumpRenderTree/wx/TestRunnerWx.cpp:
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
      * WebKitTestRunner/InjectedBundle/TestRunner.h:
      (TestRunner):
      
      LayoutTests: 
      
      Update the tests to use WebCore Internals instead of the TestRunner.
      
      * animations/animation-controller-drt-api.html:
      * transitions/hang-with-bad-transition-list.html:
      * transitions/remove-transition-style.html:
      * transitions/repeated-firing-background-color.html:
      * transitions/zero-duration-with-non-zero-delay-end.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99308baf
  20. 01 Feb, 2013 2 commits
    • benjamin@webkit.org's avatar
      Clean the String->AtomicString conversion for AnimationController::pauseAnimationAtTime · d19a49c4
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108558
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-01
      Reviewed by Dean Jackson.
      
      .: 
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore: 
      
      This is a step torward killing the implicit conversion from String to AtomicString.
      
      The animation name are AtomicString. The API is changed all the way to the callers
      to take an AtomicString. When needed, we use explicit conversion.
      
      * WebCore.exp.in:
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
      (WebCore::AnimationController::pauseAnimationAtTime):
      * page/animation/AnimationController.h:
      (AnimationController):
      * page/animation/AnimationControllerPrivate.h:
      (AnimationControllerPrivate):
      * page/animation/CompositeAnimation.cpp:
      (WebCore::CompositeAnimation::pauseAnimationAtTime):
      We should not null check the name. Getting a null name from the HashMap would be
      an error from the tests, and the HashMap would never return a value anyway.
      * testing/Internals.cpp:
      (WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
      
      Source/WebKit2: 
      
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      (WKBundleFramePauseAnimationOnElementWithId):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::pauseAnimationOnElementWithId):
      * WebProcess/WebPage/WebFrame.h:
      (WebFrame):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d19a49c4
    • pdr@google.com's avatar
      Change hasAlpha to isKnownToBeOpaque and correct the return value for SVG images. · ebc67c61
      pdr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106966
      
      Reviewed by Stephen White.
      
      Source/WebCore:
      
      Previously, Image::currentFrameHasAlpha's default implementation returned false so SVG
      images always returned false for currentFrameHasAlpha. Additionally, currentFrameHasAlpha
      was treated as returning whether the frame had alpha when it would actually conservatively
      return true.
      
      This patch renames hasAlpha and currentFrameHasAlpha to isKnownToBeOpaque and
      currentFrameIsKnownToBeOpaque, respectively. This rename better describes the actual
      functionality. This patch also makes Image::isKnownToBeOpaque a pure virtual function and
      correctly implements it for SVG images.
      
      All users of isKnownToBeOpaque access SVG images using CachedImage::imageForRenderer which
      currently returns a cached bitmap image. Therefore, this patch will not affect existing
      functionality. A regression test has been added that will catch if this changes in the
      future (e.g., WK106159 which proposes not returning cached bitmaps). The now unnecessary
      isBitmapImage() calls have been removed in this patch.
      
      image-box-shadow.html has been modified to test SVG images.
      
      * css/CSSCrossfadeValue.cpp:
      (WebCore::subimageKnownToBeOpaque):
      (WebCore::CSSCrossfadeValue::knownToBeOpaque):
      
          Mostly straightforward rename but note the logic has been slightly altered: AND -> OR.
      
      * css/CSSCrossfadeValue.h:
      (CSSCrossfadeValue):
      * css/CSSGradientValue.cpp:
      (WebCore::CSSGradientValue::knownToBeOpaque):
      * css/CSSGradientValue.h:
      (CSSGradientValue):
      * css/CSSImageGeneratorValue.cpp:
      (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
      * css/CSSImageGeneratorValue.h:
      (CSSImageGeneratorValue):
      * css/CSSImageValue.cpp:
      (WebCore::CSSImageValue::knownToBeOpaque):
      * css/CSSImageValue.h:
      (CSSImageValue):
      * loader/cache/CachedImage.cpp:
      (WebCore::CachedImage::currentFrameKnownToBeOpaque):
      * loader/cache/CachedImage.h:
      (CachedImage):
      * platform/graphics/BitmapImage.cpp:
      (WebCore::BitmapImage::currentFrameKnownToBeOpaque):
      * platform/graphics/BitmapImage.h:
      (BitmapImage):
      * platform/graphics/GeneratedImage.h:
      (GeneratedImage):
      * platform/graphics/Image.h:
      
          Note: now a pure virtual function!
      
      (Image):
      * platform/graphics/blackberry/LayerTiler.cpp:
      (WebCore::LayerTiler::updateTextureContentsIfNeeded):
      
          Removed unnecessary isBitmapImage() checks.
      
      * platform/graphics/cg/GraphicsContext3DCG.cpp:
      (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
      
          Removed unnecessary isBitmapImage() checks.
      
      * platform/graphics/cg/PDFDocumentImage.h:
      (PDFDocumentImage):
      * platform/graphics/chromium/GraphicsLayerChromium.cpp:
      
          Removed unnecessary isBitmapImage() checks.
      
      (WebCore::GraphicsLayerChromium::setContentsToImage):
      * platform/graphics/qt/StillImageQt.cpp:
      (WebCore::StillImage::currentFrameKnownToBeOpaque):
      * platform/graphics/qt/StillImageQt.h:
      (StillImage):
      * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp:
      (WebCore::BitmapImageSingleFrameSkia::currentFrameKnownToBeOpaque):
      * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
      (BitmapImageSingleFrameSkia):
      * platform/graphics/texmap/TextureMapperBackingStore.cpp:
      (WebCore::TextureMapperTile::updateContents):
      (WebCore::TextureMapperTiledBackingStore::updateContents):
      * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
      (WebCore::CoordinatedImageBacking::update):
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::backgroundIsObscured):
      
          Removed unnecessary isBitmapImage() checks and slightly reworked the logic.
      
      * rendering/style/FillLayer.cpp:
      (WebCore::FillLayer::hasOpaqueImage):
      * rendering/style/StyleCachedImage.cpp:
      (WebCore::StyleCachedImage::knownToBeOpaque):
      * rendering/style/StyleCachedImage.h:
      (StyleCachedImage):
      * rendering/style/StyleCachedImageSet.cpp:
      (WebCore::StyleCachedImageSet::knownToBeOpaque):
      * rendering/style/StyleCachedImageSet.h:
      (StyleCachedImageSet):
      * rendering/style/StyleGeneratedImage.cpp:
      (WebCore::StyleGeneratedImage::knownToBeOpaque):
      * rendering/style/StyleGeneratedImage.h:
      (StyleGeneratedImage):
      * rendering/style/StyleImage.h:
      (StyleImage):
      * rendering/style/StylePendingImage.h:
      (WebCore::StylePendingImage::knownToBeOpaque):
      * svg/graphics/SVGImage.h:
      (SVGImage):
      
      Source/WebKit/chromium:
      
      * tests/DragImageTest.cpp:
      (WebCore::TestImage::currentFrameKnownToBeOpaque):
      (TestImage):
      * tests/ImageLayerChromiumTest.cpp:
      (WebCore::TestImage::currentFrameKnownToBeOpaque):
      * tests/PlatformContextSkiaTest.cpp:
      (WebCore::TEST):
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      An SVG image has been added to this test to check for regressions.
      
      * fast/box-shadow/image-box-shadow-expected.html:
      * fast/box-shadow/image-box-shadow.html:
      
          Add an SVG image and correct a small mistake in the test that used values of 256
          instead of 255.
      
      * fast/box-shadow/resources/green.svg: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ebc67c61
  21. 29 Jan, 2013 3 commits
    • shinyak@chromium.org's avatar
      [Chromium] Cannot copy text when selecting readonly (or disabled) input elements · f803a768
      shinyak@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106287
      
      Reviewed by Hajime Morita.
      
      .:
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      When an input element is disabled or readonly, its inner element is not editable. So its rootEditableElement
      does not exist. In WebViewImpl::caretOrSelectionRange, if rootEditableElement does not exist, it uses
      a document element. However, the inner element and document element have a different tree scope, the selection range
      cannot be gotten correctly.
      
      We should use ShadowRoot instead of document so that we can stay in the same tree scope.
      
      * WebCore.exp.in:
      * editing/FrameSelection.cpp:
      (WebCore::FrameSelection::rootEditableElementOrTreeScopeRootNode): Added. Returns ShadowRoot so that we can
      stay in the same tree scope.
      (WebCore):
      * editing/FrameSelection.h:
      (FrameSelection):
      * editing/TextIterator.cpp:
      (WebCore::TextIterator::getLocationAndLengthFromRange):
      * editing/TextIterator.h:
      (TextIterator):
      
      Source/WebKit/chromium:
      
      When an input element is disabled or readonly, its inner element is not editable. So its rootEditableElement
      does not exist. In WebViewImpl::caretOrSelectionRange, if rootEditableElement does not exist, it uses
      a document element. However, the inner element and document element have a different tree scope, selection range
      cannot be gotten correctly.
      
      We should use ShadowRoot instead of document so that we can stay in the same tree scope.
      
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::caretOrSelectionRange):
      * tests/WebViewTest.cpp:
      * tests/data/selection_disabled.html: Added.
      * tests/data/selection_readonly.html: Added.
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f803a768
    • esprehn@chromium.org's avatar
      Refactor ShadowRoot exception handling · 5b16a239
      esprehn@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108209
      
      Reviewed by Dimitri Glazkov.
      
      Source/WebCore:
      
      Many of the exception cases for ShadowRoot are actually impossible and
      should be asserts instead. We can also move the one case of exception logic,
      for elements that don't allow author shadows into Element::createShadowRoot
      instead of having it all over the ShadowRoot and ElementShadow classes. This
      is the first step in centralizing all ShadowRoot creation inside ElementShadow.
      
      No new tests, covered by existing tests.
      
      * WebCore.exp.in:
      * dom/Element.cpp:
      (WebCore::Element::createShadowRoot): Be explicit about what kind of ShadowRoot you're creating.
      (WebCore::Element::ensureUserAgentShadowRoot): No more exceptions.
      * dom/ElementShadow.cpp:
      (WebCore::ElementShadow::addShadowRoot): This never actually throws exceptions, remove ExceptionCode.
      * dom/ElementShadow.h:
      (ElementShadow):
      * dom/ShadowRoot.cpp:
      (WebCore::determineUsageType): Merge with Element::createShadowRoot.
      (WebCore):
      (WebCore::ShadowRoot::ShadowRoot): Moved Histogram logic here since it's actually about the constructor anyway.
      (WebCore::ShadowRoot::create): Removed overload that made the code less obvious.
      * dom/ShadowRoot.h:
      (ShadowRoot):
      * html/HTMLKeygenElement.cpp:
      (WebCore::HTMLKeygenElement::HTMLKeygenElement):
      * html/shadow/TextFieldDecorationElement.cpp:
      (WebCore::getDecorationRootAndDecoratedRoot):
      * testing/Internals.cpp:
      (WebCore::Internals::ensureShadowRoot):
      (WebCore::Internals::createShadowRoot):
      
      Source/WebKit/win:
      
      * WebKit.vcproj/WebKitExports.def.in: Swap ShadowRoot::create export with Element::createShadowRoot.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b16a239
    • japhet@chromium.org's avatar
      .: Enable reuse of cached main resources · 3e317182
      japhet@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=105667
      
      Reviewed by Adam Barth.
      
      * Source/autotools/symbols.filter: Expose MemoryCache::resourceForURL().
      
      Source/WebCore: Enable reuse of cached main resources
      https://bugs.webkit.org/show_bug.cgi?id=105667
      
      Reviewed by Adam Barth.
      
      Test: http/tests/cache/cached-main-resource.html
      
      * WebCore.exp.in:
      * dom/Document.cpp:
      (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
      (WebCore):
      * dom/Document.h:
      (Document):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
          MainResourceLoader will take care of it.
      * loader/MainResourceLoader.cpp:
      (WebCore::MainResourceLoader::MainResourceLoader):
      (WebCore::MainResourceLoader::receivedError):
      (WebCore::MainResourceLoader::willSendRequest):
      (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
      (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
      (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
          ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
      (WebCore::MainResourceLoader::identifier):
      * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
          to better describe when it is used.
      * loader/cache/CachedRawResource.cpp:
      (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
      (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
      (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
      * loader/cache/CachedRawResource.h:
      (CachedRawResource):
      (RedirectPair):
      (WebCore::CachedRawResource::RedirectPair::RedirectPair):
      * loader/cache/CachedResource.cpp:
      (WebCore::CachedResource::addClientToSet): Don't return cached data for a main resource synchronously
      * loader/cache/CachedResource.h:
      (WebCore::CachedResource::canReuse):
      (CachedResource):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::requestResource): Leave cahce reuse of main resources off for chromium for now.
      (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
      * testing/Internals.cpp:
      (WebCore::Internals::isPreloaded):
      (WebCore):
      (WebCore::Internals::isLoadingFromMemoryCache):
      * testing/Internals.h:
      (Internals):
      * testing/Internals.idl:
      
      Source/WebKit/win: Enable reuse of cached main resources
      https://bugs.webkit.org/show_bug.cgi?id=105667
      
      Reviewed by Adam Barth.
      
      * WebKit.vcproj/WebKitExports.def.in: Expose some MemoryCache symbols for use in Internals.
      
      LayoutTests: Enable reuse of cached main resources
      https://bugs.webkit.org/show_bug.cgi?id=105667.
      
      Reviewed by Adam Barth.
      
      * http/tests/cache/cached-main-resource-expected.txt: Added.
      * http/tests/cache/cached-main-resource.html: Added.
      * http/tests/cache/resources/cacheable-iframe.php: Added.
      * http/tests/inspector/resource-har-pages-expected.txt:
      * http/tests/loading/redirect-methods-expected.txt:
      * http/tests/misc/favicon-loads-with-images-disabled-expected.txt:
      * http/tests/misc/link-rel-icon-beforeload-expected.txt:
      * platform/chromium/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e317182
  22. 23 Jan, 2013 1 commit
  23. 18 Jan, 2013 1 commit