| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index c707ba453eb701be02c352b19da2ee3cce0ab4e6..f7c72f860d0e28c7d2acea91ca922f1c39e97454 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -109,6 +109,7 @@
|
| #include "core/events/ScopedEventQueue.h"
|
| #include "core/events/ThreadLocalEventNames.h"
|
| #include "core/fetch/ResourceFetcher.h"
|
| +#include "core/fetch/TextResourceDecoder.h"
|
| #include "core/frame/ContentSecurityPolicy.h"
|
| #include "core/frame/DOMSecurityPolicy.h"
|
| #include "core/frame/DOMWindow.h"
|
| @@ -140,7 +141,6 @@
|
| #include "core/html/parser/HTMLDocumentParser.h"
|
| #include "core/html/parser/HTMLParserIdioms.h"
|
| #include "core/html/parser/NestingLevelIncrementer.h"
|
| -#include "core/html/parser/TextResourceDecoder.h"
|
| #include "core/inspector/InspectorCounters.h"
|
| #include "core/inspector/InspectorInstrumentation.h"
|
| #include "core/inspector/ScriptCallStack.h"
|
| @@ -1105,7 +1105,7 @@ void Document::setCharset(const String& charset)
|
| if (!encoding.isValid())
|
| return;
|
| DocumentEncodingData newEncodingData = m_encodingData;
|
| - newEncodingData.setEncoding(encoding);
|
| + newEncodingData.encoding = encoding;
|
| setEncodingData(newEncodingData);
|
| }
|
|
|
| @@ -2096,6 +2096,15 @@ AXObjectCache* Document::axObjectCache() const
|
| return topDocument->m_axObjectCache.get();
|
| }
|
|
|
| +void Document::setVisuallyOrdered()
|
| +{
|
| + m_visuallyOrdered = true;
|
| + // FIXME: How is possible to not have a renderer here?
|
| + if (renderView())
|
| + renderView()->style()->setRTLOrdering(VisualOrder);
|
| + setNeedsStyleRecalc();
|
| +}
|
| +
|
| PassRefPtr<DocumentParser> Document::createParser()
|
| {
|
| if (isHTMLDocument()) {
|
| @@ -3984,28 +3993,18 @@ void Document::setEncodingData(const DocumentEncodingData& newData)
|
| // document's title so that the user doesn't see an incorrectly decoded title
|
| // in the title bar.
|
| if (m_titleElement
|
| - && encoding() != newData.encoding()
|
| + && encoding() != newData.encoding
|
| && !m_titleElement->firstElementChild()
|
| && encoding() == Latin1Encoding()
|
| && m_titleElement->textContent().containsOnlyLatin1()) {
|
|
|
| CString originalBytes = m_titleElement->textContent().latin1();
|
| - OwnPtr<TextCodec> codec = newTextCodec(newData.encoding());
|
| + OwnPtr<TextCodec> codec = newTextCodec(newData.encoding);
|
| String correctlyDecodedTitle = codec->decode(originalBytes.data(), originalBytes.length(), true);
|
| m_titleElement->setTextContent(correctlyDecodedTitle);
|
| }
|
|
|
| m_encodingData = newData;
|
| -
|
| - // FIXME: Should be removed as part of https://code.google.com/p/chromium/issues/detail?id=319643
|
| - bool shouldUseVisualOrdering = m_encodingData.encoding().usesVisualOrdering();
|
| - if (shouldUseVisualOrdering != m_visuallyOrdered) {
|
| - m_visuallyOrdered = shouldUseVisualOrdering;
|
| - // FIXME: How is possible to not have a renderer here?
|
| - if (renderView())
|
| - renderView()->style()->setRTLOrdering(m_visuallyOrdered ? VisualOrder : LogicalOrder);
|
| - setNeedsStyleRecalc();
|
| - }
|
| }
|
|
|
| KURL Document::completeURLWithOverride(const String& url, const KURL& baseURLOverride) const
|
|
|