forked from mirrors/gecko-dev
		
	 46fc331568
			
		
	
	
		46fc331568
		
	
	
	
	
		
			
			Most of the noise is from the fact that clang-format on parser/html/*.{h,cpp}
reformatted all sorts of stuff.  Not running it caused lots of format changes
from the generator... I guess we changed the format rules since the last time
this got run?
MozReview-Commit-ID: IA2G87zUIKN
		
	
			
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| #include "nsISupportsImpl.h"
 | |
| 
 | |
| #include "mozilla/Encoding.h"
 | |
| 
 | |
| const mozilla::Encoding*
 | |
| nsHtml5MetaScanner::sniff(nsHtml5ByteReadable* bytes)
 | |
| {
 | |
|   readable = bytes;
 | |
|   stateLoop(stateSave);
 | |
|   readable = nullptr;
 | |
|   return mEncoding;
 | |
| }
 | |
| 
 | |
| bool
 | |
| nsHtml5MetaScanner::tryCharset(nsHtml5String charset)
 | |
| {
 | |
|   // This code needs to stay in sync with
 | |
|   // nsHtml5StreamParser::internalEncodingDeclaration. Unfortunately, the
 | |
|   // trickery with member fields here leads to some copy-paste reuse. :-(
 | |
|   nsAutoCString label;
 | |
|   nsString charset16; // Not Auto, because using it to hold nsStringBuffer*
 | |
|   charset.ToString(charset16);
 | |
|   CopyUTF16toUTF8(charset16, label);
 | |
|   const mozilla::Encoding* encoding = Encoding::ForLabel(label);
 | |
|   if (!encoding) {
 | |
|     return false;
 | |
|   }
 | |
|   if (encoding == UTF_16BE_ENCODING || encoding == UTF_16LE_ENCODING) {
 | |
|     mEncoding = UTF_8_ENCODING;
 | |
|     return true;
 | |
|   }
 | |
|   if (encoding == X_USER_DEFINED_ENCODING) {
 | |
|     // WebKit/Blink hack for Indian and Armenian legacy sites
 | |
|     mEncoding = WINDOWS_1252_ENCODING;
 | |
|     return true;
 | |
|   }
 | |
|   mEncoding = encoding;
 | |
|   return true;
 | |
| }
 |