Commit d12d23d0 authored by Chris Nardi's avatar Chris Nardi Committed by Commit Bot

Remove dead exception for MediaList.appendMedium

MediaList.appendMedium was able to throw an exception, but
MediaQuerySet::Add() always returned true, making it impossible for that
exception to be thrown. This matched the spec, as |appendMedium| cannot
throw an exception. Remove the dead code surrounding the possible
exception, and make MediaQuerySet::Add() return false if the medium is
not added. Also remove the TODO as deleteMedium can throw an exception
per the spec.

Change-Id: I32c1b7b3ac90812ce036273e9c1c56f6d65c0af2
Reviewed-on: https://chromium-review.googlesource.com/993398
Commit-Queue: Chris Nardi <cnardi@chromium.org>
Reviewed-by: default avatarPhilip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547909}
parent 4dc9839b
...@@ -82,7 +82,7 @@ bool MediaQuerySet::Add(const String& query_string) { ...@@ -82,7 +82,7 @@ bool MediaQuerySet::Add(const String& query_string) {
// Only continue if exactly one media query is found, as described above. // Only continue if exactly one media query is found, as described above.
if (result->queries_.size() != 1) if (result->queries_.size() != 1)
return true; return false;
std::unique_ptr<MediaQuery> new_query = std::move(result->queries_[0]); std::unique_ptr<MediaQuery> new_query = std::move(result->queries_[0]);
// TODO(keishi) Changed DCHECK to CHECK for crbug.com/699269 diagnosis // TODO(keishi) Changed DCHECK to CHECK for crbug.com/699269 diagnosis
...@@ -93,7 +93,7 @@ bool MediaQuerySet::Add(const String& query_string) { ...@@ -93,7 +93,7 @@ bool MediaQuerySet::Add(const String& query_string) {
for (size_t i = 0; i < queries_.size(); ++i) { for (size_t i = 0; i < queries_.size(); ++i) {
MediaQuery& query = *queries_[i]; MediaQuery& query = *queries_[i];
if (query == *new_query) if (query == *new_query)
return true; return false;
} }
queries_.push_back(std::move(new_query)); queries_.push_back(std::move(new_query));
...@@ -192,17 +192,12 @@ void MediaList::deleteMedium(const String& medium, ...@@ -192,17 +192,12 @@ void MediaList::deleteMedium(const String& medium,
parent_style_sheet_->DidMutate(); parent_style_sheet_->DidMutate();
} }
void MediaList::appendMedium(const String& medium, void MediaList::appendMedium(const String& medium) {
ExceptionState& exception_state) {
CSSStyleSheet::RuleMutationScope mutation_scope(parent_rule_); CSSStyleSheet::RuleMutationScope mutation_scope(parent_rule_);
bool success = media_queries_->Add(medium); bool added = media_queries_->Add(medium);
if (!success) { if (!added)
exception_state.ThrowDOMException(
kInvalidCharacterError,
"The value provided ('" + medium + "') is not a valid medium.");
return; return;
}
if (parent_style_sheet_) if (parent_style_sheet_)
parent_style_sheet_->DidMutate(); parent_style_sheet_->DidMutate();
......
...@@ -86,7 +86,7 @@ class MediaList final : public ScriptWrappable { ...@@ -86,7 +86,7 @@ class MediaList final : public ScriptWrappable {
unsigned length() const { return media_queries_->QueryVector().size(); } unsigned length() const { return media_queries_->QueryVector().size(); }
String item(unsigned index) const; String item(unsigned index) const;
void deleteMedium(const String& old_medium, ExceptionState&); void deleteMedium(const String& old_medium, ExceptionState&);
void appendMedium(const String& new_medium, ExceptionState&); void appendMedium(const String& new_medium);
String mediaText() const { return media_queries_->MediaText(); } String mediaText() const { return media_queries_->MediaText(); }
void setMediaText(const String&); void setMediaText(const String&);
......
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
stringifier attribute [TreatNullAs=EmptyString] DOMString mediaText; stringifier attribute [TreatNullAs=EmptyString] DOMString mediaText;
readonly attribute unsigned long length; readonly attribute unsigned long length;
[Measure] getter DOMString? item(unsigned long index); [Measure] getter DOMString? item(unsigned long index);
// TODO(foolip): appendMedium() and deleteMedium() should never throw. void appendMedium(DOMString medium);
[RaisesException] void appendMedium(DOMString medium);
[RaisesException] void deleteMedium(DOMString medium); [RaisesException] void deleteMedium(DOMString medium);
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment