Changeset 160374 in webkit
- Timestamp:
- Dec 10, 2013 10:53:51 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r160366 r160374 1 2013-12-10 László Langó <lango@inf.u-szeged.hu> 2 3 PageConsole::addMessage should automatically determine column number alongside line number 4 https://bugs.webkit.org/show_bug.cgi?id=114319 5 6 Reviewed by Joseph Pecoraro. 7 8 * inspector-protocol/page/deny-X-FrameOption-expected.txt: Added. 9 * inspector-protocol/page/deny-X-FrameOption.html: Added. 10 1 11 2013-12-10 Michał Pakuła vel Rutka <m.pakula@samsung.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r160370 r160374 1 2013-12-10 László Langó <lango@inf.u-szeged.hu> 2 3 PageConsole::addMessage should automatically determine column number alongside line number 4 https://bugs.webkit.org/show_bug.cgi?id=114319 5 6 Reviewed by Joseph Pecoraro. 7 8 * dom/InlineStyleSheetOwner.cpp: 9 (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner): 10 * dom/ScriptElement.cpp: 11 (WebCore::ScriptElement::ScriptElement): 12 * dom/ScriptableDocumentParser.h: 13 * dom/StyledElement.cpp: 14 (WebCore::StyledElement::styleAttributeChanged): 15 * html/parser/HTMLDocumentParser.cpp: 16 (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser): 17 (WebCore::HTMLDocumentParser::pumpPendingSpeculations): 18 * html/parser/HTMLDocumentParser.h: 19 * inspector/InspectorResourceAgent.cpp: 20 (WebCore::InspectorResourceAgent::buildInitiatorObject): 21 * page/Console.cpp: 22 (WebCore::internalAddMessage): 23 * page/PageConsole.cpp: 24 (WebCore::PageConsole::printSourceURLAndPosition): 25 (WebCore::PageConsole::addMessage): 26 * page/PageConsole.h: 27 * xml/parser/XMLDocumentParser.h: 28 * xml/parser/XMLDocumentParserLibxml2.cpp: 29 (WebCore::XMLDocumentParser::error): 30 1 31 2013-12-10 Andreas Kling <akling@apple.com> 2 32 -
trunk/Source/WebCore/dom/InlineStyleSheetOwner.cpp
r158569 r160374 39 39 { 40 40 if (createdByParser && document.scriptableDocumentParser() && !document.isInDocumentWrite()) 41 m_startLineNumber = document.scriptableDocumentParser()-> lineNumber();41 m_startLineNumber = document.scriptableDocumentParser()->textPosition().m_line; 42 42 } 43 43 -
trunk/Source/WebCore/dom/ScriptElement.cpp
r158569 r160374 76 76 ASSERT(m_element); 77 77 if (parserInserted && m_element->document().scriptableDocumentParser() && !m_element->document().isInDocumentWrite()) 78 m_startLineNumber = m_element->document().scriptableDocumentParser()-> lineNumber();78 m_startLineNumber = m_element->document().scriptableDocumentParser()->textPosition().m_line; 79 79 } 80 80 -
trunk/Source/WebCore/dom/ScriptableDocumentParser.h
r156980 r160374 45 45 virtual bool isWaitingForScripts() const = 0; 46 46 47 // These are used to expose the current line/column to the scripting system.48 virtual OrdinalNumber lineNumber() const = 0;49 47 virtual TextPosition textPosition() const = 0; 50 48 -
trunk/Source/WebCore/dom/StyledElement.cpp
r159856 r160374 196 196 WTF::OrdinalNumber startLineNumber = WTF::OrdinalNumber::beforeFirst(); 197 197 if (document().scriptableDocumentParser() && !document().isInDocumentWrite()) 198 startLineNumber = document().scriptableDocumentParser()-> lineNumber();198 startLineNumber = document().scriptableDocumentParser()->textPosition().m_line; 199 199 200 200 if (newStyleString.isNull()) { -
trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp
r158650 r160374 315 315 Ref<HTMLDocumentParser> protect(*this); 316 316 317 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willWriteHTML(document(), lineNumber().zeroBasedInt());317 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willWriteHTML(document(), textPosition().m_line.zeroBasedInt()); 318 318 319 319 ASSERT(m_speculations.isEmpty()); … … 321 321 processParsedChunkFromBackgroundParser(chunk); 322 322 323 InspectorInstrumentation::didWriteHTML(cookie, lineNumber().zeroBasedInt());323 InspectorInstrumentation::didWriteHTML(cookie, textPosition().m_line.zeroBasedInt()); 324 324 } 325 325 … … 459 459 460 460 // FIXME: Pass in current input length. 461 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willWriteHTML(document(), lineNumber().zeroBasedInt());461 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willWriteHTML(document(), textPosition().m_line.zeroBasedInt()); 462 462 463 463 double startTime = monotonicallyIncreasingTime(); … … 475 475 } 476 476 477 InspectorInstrumentation::didWriteHTML(cookie, lineNumber().zeroBasedInt());477 InspectorInstrumentation::didWriteHTML(cookie, textPosition().m_line.zeroBasedInt()); 478 478 } 479 479 … … 829 829 } 830 830 831 OrdinalNumber HTMLDocumentParser::lineNumber() const832 {833 #if ENABLE(THREADED_HTML_PARSER)834 if (m_haveBackgroundParser)835 return m_textPosition.m_line;836 #endif837 838 return m_input.current().currentLine();839 }840 841 831 TextPosition HTMLDocumentParser::textPosition() const 842 832 { -
trunk/Source/WebCore/html/parser/HTMLDocumentParser.h
r157653 r160374 81 81 82 82 virtual TextPosition textPosition() const; 83 virtual OrdinalNumber lineNumber() const;84 83 85 84 virtual void suspendScheduledTasks(); -
trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp
r159268 r160374 455 455 .setType(TypeBuilder::Network::Initiator::Type::Parser); 456 456 initiatorObject->setUrl(document->url().string()); 457 initiatorObject->setLineNumber(document->scriptableDocumentParser()-> lineNumber().oneBasedInt());457 initiatorObject->setLineNumber(document->scriptableDocumentParser()->textPosition().m_line.oneBasedInt()); 458 458 return initiatorObject; 459 459 } -
trunk/Source/WebCore/page/Console.cpp
r155774 r160374 93 93 return; 94 94 95 PageConsole::printSourceURLAnd Line(lastCaller.sourceURL(), lastCaller.lineNumber());95 PageConsole::printSourceURLAndPosition(lastCaller.sourceURL(), lastCaller.lineNumber()); 96 96 PageConsole::printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level); 97 97 -
trunk/Source/WebCore/page/PageConsole.cpp
r156625 r160374 65 65 } 66 66 67 void PageConsole::printSourceURLAnd Line(const String& sourceURL, unsigned lineNumber)67 void PageConsole::printSourceURLAndPosition(const String& sourceURL, unsigned lineNumber, unsigned columnNumber) 68 68 { 69 69 if (!sourceURL.isEmpty()) { 70 if (lineNumber > 0 )71 printf("%s:% d: ", sourceURL.utf8().data(), lineNumber);70 if (lineNumber > 0 && columnNumber > 0) 71 printf("%s:%u:%u: ", sourceURL.utf8().data(), lineNumber, columnNumber); 72 72 else 73 73 printf("%s: ", sourceURL.utf8().data()); … … 143 143 if (document) 144 144 url = document->url().string(); 145 // FIXME: <http://webkit.org/b/114319> PageConsole::addMessage should automatically determine column number alongside line number.146 145 // FIXME: The below code attempts to determine line numbers for parser generated errors, but this is not the only reason why we can get here. 147 146 // For example, if we are still parsing and get a WebSocket network error, it will be erroneously attributed to a line where parsing was paused. 148 147 // Also, we should determine line numbers for script generated messages (e.g. calling getImageData on a canvas). 149 148 // We probably need to split this function into multiple ones, as appropriate for different call sites. Or maybe decide based on MessageSource. 149 // https://bugs.webkit.org/show_bug.cgi?id=125340 150 150 unsigned line = 0; 151 unsigned column = 0; 151 152 if (document && document->parsing() && !document->isInDocumentWrite() && document->scriptableDocumentParser()) { 152 153 ScriptableDocumentParser* parser = document->scriptableDocumentParser(); 153 if (!parser->isWaitingForScripts() && !JSMainThreadExecState::currentState()) 154 line = parser->lineNumber().oneBasedInt(); 155 } 156 addMessage(source, level, message, url, line, 0, 0, 0, requestIdentifier); 154 if (!parser->isWaitingForScripts() && !JSMainThreadExecState::currentState()) { 155 TextPosition position = parser->textPosition(); 156 line = position.m_line.oneBasedInt(); 157 column = position.m_column.oneBasedInt(); 158 } 159 } 160 addMessage(source, level, message, url, line, column, 0, 0, requestIdentifier); 157 161 } 158 162 … … 183 187 return; 184 188 185 printSourceURLAnd Line(url, lineNumber);189 printSourceURLAndPosition(url, lineNumber, columnNumber); 186 190 printMessageSourceAndLevelPrefix(source, level); 187 191 -
trunk/Source/WebCore/page/PageConsole.h
r156625 r160374 49 49 ~PageConsole(); 50 50 51 static void printSourceURLAnd Line(const String& sourceURL, unsigned lineNumber);51 static void printSourceURLAndPosition(const String& sourceURL, unsigned lineNumber, unsigned columnNumber = 0); 52 52 static void printMessageSourceAndLevelPrefix(MessageSource, MessageLevel); 53 53 -
trunk/Source/WebCore/xml/parser/XMLDocumentParser.h
r159178 r160374 106 106 virtual void stopParsing(); 107 107 virtual void detach(); 108 virtual OrdinalNumber lineNumber() const;109 OrdinalNumber columnNumber() const;110 108 111 109 // from CachedResourceClient -
trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
r160024 r160374 973 973 #endif 974 974 975 TextPosition position = textPosition(); 975 976 if (m_parserPaused) 976 m_pendingCallbacks->appendErrorCallback(type, reinterpret_cast<const xmlChar*>(m), lineNumber(), columnNumber());977 m_pendingCallbacks->appendErrorCallback(type, reinterpret_cast<const xmlChar*>(m), position.m_line, position.m_column); 977 978 else 978 979 handleError(type, m, textPosition()); … … 1427 1428 #endif 1428 1429 1429 OrdinalNumber XMLDocumentParser::lineNumber() const1430 {1431 return OrdinalNumber::fromOneBasedInt(context() ? context()->input->line : 1);1432 }1433 1434 OrdinalNumber XMLDocumentParser::columnNumber() const1435 {1436 return OrdinalNumber::fromOneBasedInt(context() ? context()->input->col : 1);1437 }1438 1439 1430 TextPosition XMLDocumentParser::textPosition() const 1440 1431 {
Note: See TracChangeset
for help on using the changeset viewer.