Chromium Code Reviews| Index: Source/core/html/track/DataCue.cpp |
| diff --git a/Source/core/css/CSSTestHelper.cpp b/Source/core/html/track/DataCue.cpp |
| similarity index 59% |
| copy from Source/core/css/CSSTestHelper.cpp |
| copy to Source/core/html/track/DataCue.cpp |
| index 3b24d9c75e44f8dcf59fabefacdb7c7815c7587b..d74506c0041089782a8fdca698e42f466ffa640a 100644 |
| --- a/Source/core/css/CSSTestHelper.cpp |
| +++ b/Source/core/html/track/DataCue.cpp |
| @@ -1,5 +1,5 @@ |
| /* |
| - * Copyright (c) 2014, Google Inc. All rights reserved. |
| + * Copyright (c) 2014, CableLabs Inc. All rights reserved. |
|
acolwell GONE FROM CHROMIUM
2014/04/04 23:25:27
nit: This should use the Chromium header in the Bl
|
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
| @@ -28,43 +28,52 @@ |
| */ |
| #include "config.h" |
| -#include "CSSTestHelper.h" |
| +#include "core/html/track/DataCue.h" |
| -#include "core/css/CSSRuleList.h" |
| -#include "core/css/CSSStyleSheet.h" |
| -#include "core/css/RuleSet.h" |
| -#include "core/css/StyleSheetContents.h" |
| -#include "core/dom/Document.h" |
| -#include "wtf/text/WTFString.h" |
| +namespace WebCore { |
| -#include <gtest/gtest.h> |
| +DataCue::DataCue(ExecutionContext* context, double startTime, double endTime, ArrayBuffer* data, ExceptionState& exceptionState) |
| + : TextTrackCue(startTime, endTime) |
|
acolwell GONE FROM CHROMIUM
2014/04/04 23:25:27
I'm surprised that there doesn't appear to be any
Brendan Long
2014/05/28 16:31:48
I don't see anything about that:
http://www.w3.or
philipj_slow
2014/06/02 07:50:52
Right, there is no such restriction. Negative time
|
| + , m_executionContext(context) |
|
acolwell GONE FROM CHROMIUM
2014/04/04 23:25:27
DataCue should probably from ContextLifecycleObser
|
| +{ |
| + ScriptWrappable::init(this); |
| + setData(data, exceptionState); |
| +} |
| -namespace WebCore { |
| +DataCue::~DataCue() |
| +{ |
| +} |
| + |
| +#ifndef NDEBUG |
| +String DataCue::toString() const |
| +{ |
| + return String::format("%p id=%s interval=%f-->%f)", this, id().utf8().data(), startTime(), endTime()); |
| +} |
| +#endif |
| -CSSTestHelper::~CSSTestHelper() |
| +PassRefPtr<ArrayBuffer> DataCue::data() const |
| { |
| + ASSERT(m_data); |
| + return ArrayBuffer::create(m_data.get()); |
| } |
| -CSSTestHelper::CSSTestHelper() |
| +void DataCue::setData(ArrayBuffer* data, ExceptionState& exceptionState) |
| { |
| - m_document = Document::create(); |
| - TextPosition position; |
| - m_styleSheet = CSSStyleSheet::createInline(m_document.get(), KURL(), position, "UTF-8"); |
| + if (!data) |
| + exceptionState.throwDOMException(InvalidNodeTypeError, "DataCue.data must be a non-null ArrayBuffer"); |
|
philipj_slow
2014/04/04 14:54:33
[StrictTypeChecking] in the IDL should take care o
Brendan Long
2014/04/04 15:07:22
I tried that and it still accepted null and string
fs
2014/04/04 17:10:35
Sounds like an issue with the bindings generator -
Brendan Long
2014/04/04 17:43:06
That looks like it would fix the null case. For st
acolwell GONE FROM CHROMIUM
2014/04/04 23:25:27
Should this be exceptionState.throwTypeError() ins
|
| + else |
| + m_data = ArrayBuffer::create(data); |
| } |
| -RuleSet& CSSTestHelper::ruleSet() |
| +String DataCue::text(bool& isNull) const |
| { |
| - RuleSet& ruleSet = m_styleSheet->contents()->ensureRuleSet(MediaQueryEvaluator(), RuleHasNoSpecialState); |
| - ruleSet.compactRulesIfNeeded(); |
| - return ruleSet; |
| + isNull = true; |
| + return String(); |
|
philipj_slow
2014/04/04 14:54:33
"The text attribute, on getting, must return UTF-1
Brendan Long
2014/04/04 15:07:22
My problem is, how do we identify the encoding? As
acolwell GONE FROM CHROMIUM
2014/04/04 23:25:27
I agree with Philip here. It seems odd that we wou
Brendan Long
2014/05/28 16:31:48
There was some discussion about removing .text, bu
philipj_slow
2014/06/02 07:50:52
It's been removed now: https://github.com/w3c/html
|
| } |
| -void CSSTestHelper::addCSSRules(const char* cssText) |
| +ExecutionContext* DataCue::executionContext() const |
| { |
| - TextPosition position; |
| - unsigned sheetLength = m_styleSheet->length(); |
| - ASSERT_TRUE(m_styleSheet->contents()->parseStringAtPosition(cssText, position, true)); |
| - ASSERT_TRUE(m_styleSheet->length() > sheetLength); |
| + return m_executionContext; |
| } |
| } // namespace WebCore |