Changeset 209116 in webkit


Ignore:
Timestamp:
Nov 29, 2016 8:26:20 PM (7 years ago)
Author:
commit-queue@webkit.org
Message:

[Modern Media Controls] Localization
https://bugs.webkit.org/show_bug.cgi?id=165176

Patch by Antoine Quint <Antoine Quint> on 2016-11-29
Reviewed by Dean Jackson.

Source/WebCore:

We add a new localization file for the purpose of modern media controls, since we may
require different strings than the legacy one.

  • English.lproj/modern-media-controls-localized-strings.js: Added.
  • Modules/modern-media-controls/controls/airplay-placard.js:

(AirplayPlacard):

  • Modules/modern-media-controls/controls/pip-placard.js:

(PiPPlacard):

  • Modules/modern-media-controls/main.js:

(UIString):

  • Modules/modern-media-controls/media/status-support.js:

(StatusSupport.prototype.syncControl):
(StatusSupport):

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::mediaControlsScript):

LayoutTests:

Using the modern media controls module loader to ensure we pick up main.js,
and also because it's the right thing to do.

  • media/modern-media-controls/airplay-placard/airplay-placard.html:
  • media/modern-media-controls/pip-placard/pip-placard.html:
Location:
trunk
Files:
1 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r209114 r209116  
     12016-11-29  Antoine Quint  <graouts@apple.com>
     2
     3        [Modern Media Controls] Localization
     4        https://bugs.webkit.org/show_bug.cgi?id=165176
     5
     6        Reviewed by Dean Jackson.
     7
     8        Using the modern media controls module loader to ensure we pick up main.js,
     9        and also because it's the right thing to do.
     10
     11        * media/modern-media-controls/airplay-placard/airplay-placard.html:
     12        * media/modern-media-controls/pip-placard/pip-placard.html:
     13
    1142016-11-29  Brady Eidson  <beidson@apple.com>
    215
  • trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard.html

    r207024 r209116  
    1 <link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css" type="text/css" media="screen">
    2 <link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.css" type="text/css" media="screen">
    3 <link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.css" type="text/css" media="screen">
    41<script src="../../../resources/js-test-pre.js"></script>
    5 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
    6 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
    7 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
    8 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
    9 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
    10 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
    11 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
    12 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js" type="text/javascript"></script>
     2<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
    133<body>
    144<script type="text/javascript">
    155
    166description("Testing the <code>AirplayPlacard</code> class.");
    17 
    18 iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
    197
    208debug("Placard with all parameters");
  • trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard.html

    r207024 r209116  
    1 <link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css" type="text/css" media="screen">
    2 <link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.css" type="text/css" media="screen">
    3 <link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.css" type="text/css" media="screen">
    41<script src="../../../resources/js-test-pre.js"></script>
    5 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
    6 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
    7 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-item.js" type="text/javascript"></script>
    8 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-service.js" type="text/javascript"></script>
    9 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.js" type="text/javascript"></script>
    10 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/icon-button.js" type="text/javascript"></script>
    11 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/placard.js" type="text/javascript"></script>
    12 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js" type="text/javascript"></script>
     2<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
    133<body>
    144<script type="text/javascript">
    155
    166description("Testing the <code>PiPPlacard</code> class.");
    17 
    18 iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
    197
    208debug("Placard with all parameters");
  • trunk/Source/WebCore/ChangeLog

    r209111 r209116  
     12016-11-29  Antoine Quint  <graouts@apple.com>
     2
     3        [Modern Media Controls] Localization
     4        https://bugs.webkit.org/show_bug.cgi?id=165176
     5
     6        Reviewed by Dean Jackson.
     7
     8        We add a new localization file for the purpose of modern media controls, since we may
     9        require different strings than the legacy one.
     10
     11        * English.lproj/modern-media-controls-localized-strings.js: Added.
     12        * Modules/modern-media-controls/controls/airplay-placard.js:
     13        (AirplayPlacard):
     14        * Modules/modern-media-controls/controls/pip-placard.js:
     15        (PiPPlacard):
     16        * Modules/modern-media-controls/main.js:
     17        (UIString):
     18        * Modules/modern-media-controls/media/status-support.js:
     19        (StatusSupport.prototype.syncControl):
     20        (StatusSupport):
     21        * WebCore.xcodeproj/project.pbxproj:
     22        * rendering/RenderThemeMac.mm:
     23        (WebCore::RenderThemeMac::mediaControlsScript):
     24
    1252016-11-29  Antoine Quint  <graouts@apple.com>
    226
  • trunk/Source/WebCore/Modules/modern-media-controls/controls/airplay-placard.js

    r207024 r209116  
    3131        super({
    3232            iconName: Icons.AirplayPlacard,
    33             title: "AirPlay",
    34             description: "This video is playing on your Apple TV",
     33            title: UIString("AirPlay"),
     34            description: UIString("This video is playing on your Apple TV"),
    3535            layoutDelegate
    3636        });
  • trunk/Source/WebCore/Modules/modern-media-controls/controls/pip-placard.js

    r207024 r209116  
    3131        super({
    3232            iconName: Icons.PiPPlacard,
    33             description: "This video is playing in Picture in Picture",
     33            description: UIString("This video is playing in Picture in Picture"),
    3434            layoutDelegate
    3535        });
  • trunk/Source/WebCore/Modules/modern-media-controls/main.js

    r207436 r209116  
    3434    return new MediaController(shadowRoot, media, host);
    3535}
     36
     37function UIString(string)
     38{
     39    if (!("UIStrings" in window))
     40        return string;
     41
     42    if (string in UIStrings)
     43        return UIStrings[string];
     44
     45    console.error(`Localization for "${string}" not found.`);
     46    return "LOCALIZED STRING NOT FOUND";
     47}
  • trunk/Source/WebCore/Modules/modern-media-controls/media/status-support.js

    r209098 r209116  
    4444
    4545        if (!!media.error)
    46             this.control.text = "Error";
     46            this.control.text = UIString("Error");
    4747        else if (media.duration === Number.POSITIVE_INFINITY && media.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA)
    48             this.control.text = "Live Broadcast";
     48            this.control.text = UIString("Live Broadcast");
    4949        else if (media.readyState <= HTMLMediaElement.HAVE_NOTHING && media.networkState === HTMLMediaElement.NETWORK_LOADING)
    50             this.control.text = "Loading";
     50            this.control.text = UIString("Loading");
    5151        else
    5252            this.control.text = "";
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r209111 r209116  
    27252725                71537A01146BD9D7008BD615 /* SVGPathData.h in Headers */ = {isa = PBXBuildFile; fileRef = 715379FF146BD9D6008BD615 /* SVGPathData.h */; };
    27262726                7157F062150B6564006EAABD /* SVGAnimatedTransformList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7157F061150B6564006EAABD /* SVGAnimatedTransformList.cpp */; };
     2727                71A1B6081DEE5AD70073BCFB /* modern-media-controls-localized-strings.js in Resources */ = {isa = PBXBuildFile; fileRef = 71A1B6061DEE5A820073BCFB /* modern-media-controls-localized-strings.js */; };
    27272728                71A57DF1154BE25C0009D120 /* SVGPathUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 71A57DEF154BE25C0009D120 /* SVGPathUtilities.cpp */; };
    27282729                71A57DF2154BE25C0009D120 /* SVGPathUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 71A57DF0154BE25C0009D120 /* SVGPathUtilities.h */; };
     
    1009610097                718C7F561DD385C500B733C8 /* status-label.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = "status-label.css"; sourceTree = "<group>"; };
    1009710098                718C7F571DD385C500B733C8 /* status-label.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "status-label.js"; sourceTree = "<group>"; };
     10099                71A1B6071DEE5A820073BCFB /* English */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = English; path = "English.lproj/modern-media-controls-localized-strings.js"; sourceTree = SOURCE_ROOT; };
    1009810100                71A57DEF154BE25C0009D120 /* SVGPathUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGPathUtilities.cpp; sourceTree = "<group>"; };
    1009910101                71A57DF0154BE25C0009D120 /* SVGPathUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathUtilities.h; sourceTree = "<group>"; };
     
    1556215564                                93153BD914181F7A00FCF5BE /* missingImage@2x.png */,
    1556315565                                CDF419991AB0DA14004E64E1 /* missingImage@3x.png */,
     15566                                71A1B6061DEE5A820073BCFB /* modern-media-controls-localized-strings.js */,
    1556415567                                A11E8C011B1E28BE0003A7C7 /* moveCursor.png */,
    1556515568                                A11E8C021B1E28BE0003A7C7 /* northEastSouthWestResizeCursor.png */,
     
    2847328476                                93153BDA14181F7A00FCF5BE /* missingImage@2x.png in Resources */,
    2847428477                                318891611AB7EEA100EA627B /* missingImage@3x.png in Resources */,
     28478                                71A1B6081DEE5AD70073BCFB /* modern-media-controls-localized-strings.js in Resources */,
    2847528479                                A11E8C061B1E28FA0003A7C7 /* moveCursor.png in Resources */,
    2847628480                                A11E8C071B1E28FE0003A7C7 /* northEastSouthWestResizeCursor.png in Resources */,
     
    3186531869
    3186631870/* Begin PBXVariantGroup section */
     31871                71A1B6061DEE5A820073BCFB /* modern-media-controls-localized-strings.js */ = {
     31872                        isa = PBXVariantGroup;
     31873                        children = (
     31874                                71A1B6071DEE5A820073BCFB /* English */,
     31875                        );
     31876                        name = "modern-media-controls-localized-strings.js";
     31877                        sourceTree = "<group>";
     31878                };
    3186731879                7A1D7FC918F85F0F00C385AD /* mediaControlsLocalizedStrings.js */ = {
    3186831880                        isa = PBXVariantGroup;
  • trunk/Source/WebCore/rendering/RenderThemeMac.mm

    r208658 r209116  
    253253        StringBuilder scriptBuilder;
    254254        NSBundle *bundle = [NSBundle bundleForClass:[WebCoreRenderThemeBundle class]];
    255         if (RuntimeEnabledFeatures::sharedFeatures().modernMediaControlsEnabled())
     255        if (RuntimeEnabledFeatures::sharedFeatures().modernMediaControlsEnabled()) {
     256            scriptBuilder.append([NSString stringWithContentsOfFile:[bundle pathForResource:@"modern-media-controls-localized-strings.js" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil]);
    256257            scriptBuilder.append([NSString stringWithContentsOfFile:[bundle pathForResource:@"modern-media-controls" ofType:@"js" inDirectory:@"modern-media-controls"] encoding:NSUTF8StringEncoding error:nil]);
    257         else {
     258        } else {
    258259            scriptBuilder.append([NSString stringWithContentsOfFile:[bundle pathForResource:@"mediaControlsLocalizedStrings" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil]);
    259260            scriptBuilder.append([NSString stringWithContentsOfFile:[bundle pathForResource:@"mediaControlsApple" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil]);
Note: See TracChangeset for help on using the changeset viewer.