This fixes all the license headers in the main library, which corrects
the appearance of the main license in the compiled output.
It seems that the `!` in the header forces the compiler to keep it in
the output. I believe older compiler releases did this purely based
on `@license`.
Issue #2638
Change-Id: I7f0e918caad10c9af689c9d07672b7fe9be7b2f3
When we changed the font for the icons without changing the class
name, we lost upstream styles from the font server. This was not
obvious in our demo, but was more obvious in other apps where the font
size was different.
By using the same class name as used by the font server, we get those
upstream styles applied correctly.
Issue #2633
Change-Id: I615c1dfd86e5b9802d03050c5db0154ac196c2ef
The compiler is very picky about the use of the "disabled" property on
HTMLElement, since it is only defined on certain subclasses of that.
This adds a method to create a button with the correct type to satisfy
the compiler.
Issue #2528
Change-Id: I31cacd62a35acc87b245ab362dbab55d791cf34d
- Drop unused classes
- Drop shaka-displayed in favor of shaka-hidden
- Move shaka-hidden to general.less and fix specificity issue
Change-Id: I9c91da637023607cccd6e7602d9b9ef30994dd82
This is now based solely on container attributes and CSS, as it used
to be, removing the need for a list of controls to hide in JavaScript.
This also does away with the "shaka-fade-out-on-mouse-out" CSS class.
Change-Id: Ic2f77c5b2f0691023279d9c99cfe3519f4b26cdd
- "Override CSS" could be set and unset from multiple places, such
that the calls from the overflow menus were easily invalidated by
mouse movements. This flag is now gone.
- "Show on mouse over" controls were implemented using mouseenter and
mouseleave events on each element. These listeners are now gone.
- Casting state, used to compute if the controls are opaque, is now
based on the same "casting" attribute used by the CSS to force them
to be opaque.
- Opacity decisions are now made by a single method, which accounts
for video and ad pause state, the hover state of "show on mouse
over" controls such as the overflow menus, and the recency of mouse
movements (represented by a single flag maintained by the existing
mouseover timers).
- An opacity decision is now triggered on play state changes, so the
UI content should always be correct when we pause a cast receiver.
- An opacity decision is now triggered on keyboard navigation
changes, so the UI should always be opaque when using keyboard
navigation.
Closes#2314
Change-Id: I5062feaf4698595deb89a2471a37c06bc9762bb5
This reflects changes in Google's policy on JavaScript license
headers, which should be smaller to avoid increasing the size of the
binary unnecessarily.
This also updates the company name from "Google, Inc" to "Google LLC".
Change-Id: I3f8b9ed3700b6351f43173d50c94d35c333e82b4
This CL changes the way controls fade out on mouseout to make
sure ad controls stay visible even when other controls are not.
Instead of fading everything within the top level controls
container, it's now possible to hide some controls, but
leave the others. Controls that need to fade on mouseout
are tagged with a 'shaka-fade-out-on-mouse-out' class.
To try out the change, make the 'shaka-ad-controls'
div visible and mouse out of the video container.
Everything except for the ad controls should fade.
(Please note that ad controls don't do anything meaningful yet).
Change-Id: I4fcd1b6430df680699980c492ec1d612437a877d
The calls to controls.configure() deleted the old layout
in terms of the html elements, but the ui.Elements
owning the html still survived.
This CL fixes that. It also switches ui.Element from
IDestroyable to IReleasable to make the release synchronous.
Fixes#2089.
Change-Id: Ic4ce70e91a1b028ef4d971ac3fb9281d8a667ea8
This is a fully automated change. The linter will fail because the
extra indentation caused line-length errors. These won't be fixed
automatically. They are fixed in a follow-up to make this one fully
automated.
Change-Id: I4d8cf9c998985add2bcd24a81c8d65495668c4f3
A coming update to the Google eslint config will require using "const"
over "let". This makes that one change to isolate the big changes.
Change-Id: I7d0974c3ae15c53cc45a6b07bf9f6586e2d34aca
There are some cases in testing where held references cause issues,
such as video elements lingering between tests on Tizen. This does a
better job of clearing out resources in destroy() methods in the UI.
Change-Id: Ib1434ed11561216cd41ec247535ea7b32c1154d1
This changes the format of the localization data to enable apps to
trivially lazy-load translations. It also adds --locales to the build
scripts to allow app developers to choose the compiled-in locales.
The generated output now goes into dist/ and is not checked into
revision control. Finally, it adds "description" and "meaning" fields
to the source messages to allow us to more easily integrate with a
context-aware human translation service. The "description" field
provides application context for the translator, while the "meaning"
field provides linguistic disambiguation for words with multiple
meanings or parts of speech in the original English.
Because the translation service wants to collapse messages with
identical text, we had to merge several messages together. To this
end, we have removed the prefixes "ARIA_LABEL_" and "LABEL_" from the
messages themselves and collapsed what remained.
Issue #1688
Change-Id: I24c17e71c73f6663cf123cfdba118c486fa80ecc
Previously, the cast button would not show up on the ui.
This was due to a typo in an event listener (it was looking for
'caststatuschange' rather than 'caststatuschanged'), and due to
the ui starting the button out hidden and only revealing it on
cast status change.
This fixes that typo, and changes the button to start out in an
appropriate state.
Issue #1803
Change-Id: I06a18015511fd897b15606d2bb75b3a448e124c7
Captions selection used to be a simple on/off button
and having aria-pressed state on it made sense. Now
that it's a gateway to text language selection the
state is no longer applicable.
Change-Id: I3780501afc8d3f5efa835ae9f015b44763c78c0e
What's already done:
- UIElement and IUIElement interface
- All elements register themselves with controls
- Each element is responsible for its' behavior
- A bit of clean up with constants/enums moving to
their own files
What is not done yet:
- Overflow menu is a dumping ground now. Its'
elements will move to the UIElement model eventually, too.
- Build files are hacked a bit and will need more attention.
- No clean up has been done except for the constants/enums.
Change-Id: I9917aa705e85158a2f26830bd988552fe177e53b