[webkit-changes] [155673] trunk/Source/WebCore
Title: [155673] trunk/Source/WebCore Revision 155673 Author akl...@apple.com Date 2013-09-12 23:16:41 -0700 (Thu, 12 Sep 2013) Log Message [CTTE] RenderMenuList always has a HTMLSelectElement. Reviewed by Anders Carlsson. This renderer is never anonymous and always has a corresponding HTMLSelectElement. Deleted element() in favor of HTMLSelectElement& selectElement(). Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLSelectElement.cpp trunk/Source/WebCore/rendering/RenderMenuList.cpp trunk/Source/WebCore/rendering/RenderMenuList.h Diff Modified: trunk/Source/WebCore/ChangeLog (155672 => 155673) --- trunk/Source/WebCore/ChangeLog 2013-09-13 05:50:14 UTC (rev 155672) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 06:16:41 UTC (rev 155673) @@ -1,5 +1,15 @@ 2013-09-12 Andreas Kling +[CTTE] RenderMenuList always has a HTMLSelectElement. + + +Reviewed by Anders Carlsson. + +This renderer is never anonymous and always has a corresponding HTMLSelectElement. +Deleted element() in favor of HTMLSelectElement& selectElement(). + +2013-09-12 Andreas Kling + [CTTE] Tighten RenderTextControl element typing. Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (155672 => 155673) --- trunk/Source/WebCore/html/HTMLSelectElement.cpp 2013-09-13 05:50:14 UTC (rev 155672) +++ trunk/Source/WebCore/html/HTMLSelectElement.cpp 2013-09-13 06:16:41 UTC (rev 155673) @@ -340,7 +340,7 @@ RenderObject* HTMLSelectElement::createRenderer(RenderArena* arena, RenderStyle*) { if (usesMenuList()) -return new (arena) RenderMenuList(this); +return new (arena) RenderMenuList(*this); return new (arena) RenderListBox(*this); } Modified: trunk/Source/WebCore/rendering/RenderMenuList.cpp (155672 => 155673) --- trunk/Source/WebCore/rendering/RenderMenuList.cpp 2013-09-13 05:50:14 UTC (rev 155672) +++ trunk/Source/WebCore/rendering/RenderMenuList.cpp 2013-09-13 06:16:41 UTC (rev 155673) @@ -54,8 +54,8 @@ using namespace HTMLNames; -RenderMenuList::RenderMenuList(Element* element) -: RenderFlexibleBox(element) +RenderMenuList::RenderMenuList(HTMLSelectElement& element) +: RenderFlexibleBox(&element) , m_buttonText(0) , m_innerBlock(0) , m_needsOptionsWidthUpdate(true) @@ -63,9 +63,6 @@ , m_lastActiveIndex(-1) , m_popupIsVisible(false) { -ASSERT(element); -ASSERT(element->isHTMLElement()); -ASSERT(isHTMLSelectElement(element)); } RenderMenuList::~RenderMenuList() @@ -132,9 +129,10 @@ } } -inline HTMLSelectElement* RenderMenuList::selectElement() const +HTMLSelectElement& RenderMenuList::selectElement() const { -return toHTMLSelectElement(element()); +ASSERT(RenderObject::node()); +return toHTMLSelectElement(*RenderObject::node()); } void RenderMenuList::addChild(RenderObject* newChild, RenderObject* beforeChild) @@ -175,7 +173,7 @@ void RenderMenuList::updateOptionsWidth() { float maxOptionWidth = 0; -const Vector& listItems = selectElement()->listItems(); +const Vector& listItems = selectElement().listItems(); int size = listItems.size(); FontCachePurgePreventer fontCachePurgePreventer; @@ -217,16 +215,15 @@ if (m_popupIsVisible) m_popup->updateFromElement(); else -setTextFromOption(selectElement()->selectedIndex()); +setTextFromOption(selectElement().selectedIndex()); } void RenderMenuList::setTextFromOption(int optionIndex) { -HTMLSelectElement* select = selectElement(); -const Vector& listItems = select->listItems(); +const Vector& listItems = selectElement().listItems(); int size = listItems.size(); -int i = select->optionToListIndex(optionIndex); +int i = selectElement().optionToListIndex(optionIndex); String text = emptyString(); if (i >= 0 && i < size) { Element* element = listItems[i]; @@ -342,8 +339,7 @@ FloatPoint absTopLeft = localToAbsolute(FloatPoint(), UseTransforms); IntRect absBounds = absoluteBoundingBoxRectIgnoringTransforms(); absBounds.setLocation(roundedIntPoint(absTopLeft)); -HTMLSelectElement* select = selectElement(); -m_popup->show(absBounds, &view().frameView(), select->optionToListIndex(select->selectedIndex())); +m_popup->show(absBounds, &view().frameView(), selectElement().optionToListIndex(selectElement().selectedIndex())); } void RenderMenuList::hidePopup() @@ -356,27 +352,25 @@ { // Check to ensure a page navigation has not occurred while // the popup was up. -Document& document = element()->document(); -if (&document != document.frame()->document()) +if (&document() != document().frame()->document()) return; - -HTMLSelectElement* select = selectElement(); -select->optionSelectedByUser(select->listToOptionIndex(listIndex), fireOnChange); + +selectElement().optionSelectedByUser(selectElement().lis
[webkit-changes] [155672] trunk/Source/WebKit/qt
Title: [155672] trunk/Source/WebKit/qt Revision 155672 Author akl...@apple.com Date 2013-09-12 22:50:14 -0700 (Thu, 12 Sep 2013) Log Message Fix Qt build. * WebCoreSupport/QWebPageAdapter.cpp: (QWebPageAdapter::inputMethodQuery): Modified Paths trunk/Source/WebKit/qt/ChangeLog trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp Diff Modified: trunk/Source/WebKit/qt/ChangeLog (155671 => 155672) --- trunk/Source/WebKit/qt/ChangeLog 2013-09-13 05:32:54 UTC (rev 155671) +++ trunk/Source/WebKit/qt/ChangeLog 2013-09-13 05:50:14 UTC (rev 155672) @@ -1,3 +1,10 @@ +2013-09-12 Andreas Kling + +Fix Qt build. + +* WebCoreSupport/QWebPageAdapter.cpp: +(QWebPageAdapter::inputMethodQuery): + 2013-09-11 Gyuyoung Kim Generate more HTML type checks and casting Modified: trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp (155671 => 155672) --- trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2013-09-13 05:32:54 UTC (rev 155671) +++ trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2013-09-13 05:50:14 UTC (rev 155672) @@ -743,11 +743,11 @@ return QVariant(); } case Qt::ImCurrentSelection: { -if (!editor.hasComposition() && renderTextControl && renderTextControl->textFormControlElement()) { +if (!editor.hasComposition() && renderTextControl) { int start = frame->selection().start().offsetInContainerNode(); int end = frame->selection().end().offsetInContainerNode(); if (end > start) -return QVariant(QString(renderTextControl->textFormControlElement()->value()).mid(start, end - start)); +return QVariant(QString(renderTextControl->textFormControlElement().value()).mid(start, end - start)); } return QVariant(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155671] trunk/Source
Title: [155671] trunk/Source Revision 155671 Author akl...@apple.com Date 2013-09-12 22:32:54 -0700 (Thu, 12 Sep 2013) Log Message [CTTE] Tighten RenderTextControl element typing. Reviewed by Anders Carlsson. Codify these invariants: - RenderTextControl always has a HTMLTextFormControl. - RenderSearchField always has a HTMLInputElement. - RenderTextControlSingleLine always has a HTMLInputElement. None of these renderers are ever anonymous. Deleted element() and added strongly typed reference getters instead. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp trunk/Source/WebCore/editing/TextIterator.cpp trunk/Source/WebCore/html/SearchInputType.cpp trunk/Source/WebCore/html/TextFieldInputType.cpp trunk/Source/WebCore/rendering/RenderSearchField.cpp trunk/Source/WebCore/rendering/RenderSearchField.h trunk/Source/WebCore/rendering/RenderTextControl.cpp trunk/Source/WebCore/rendering/RenderTextControl.h trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h trunk/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (155670 => 155671) --- trunk/Source/WebCore/ChangeLog 2013-09-13 05:13:55 UTC (rev 155670) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 05:32:54 UTC (rev 155671) @@ -1,5 +1,21 @@ 2013-09-12 Andreas Kling +[CTTE] Tighten RenderTextControl element typing. + + +Reviewed by Anders Carlsson. + +Codify these invariants: + +- RenderTextControl always has a HTMLTextFormControl. +- RenderSearchField always has a HTMLInputElement. +- RenderTextControlSingleLine always has a HTMLInputElement. + +None of these renderers are ever anonymous. Deleted element() and added +strongly typed reference getters instead. + +2013-09-12 Andreas Kling + [CTTE] RenderListMarker is always anonymous and owned by RenderListItem. Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (155670 => 155671) --- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2013-09-13 05:13:55 UTC (rev 155670) +++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2013-09-13 05:32:54 UTC (rev 155671) @@ -1386,8 +1386,8 @@ return String(); // need to return something distinct from empty string if (isNativeTextControl()) { -HTMLTextFormControlElement* textControl = toRenderTextControl(m_renderer)->textFormControlElement(); -return textControl->selectedText(); +HTMLTextFormControlElement& textControl = toRenderTextControl(m_renderer)->textFormControlElement(); +return textControl.selectedText(); } if (ariaRoleAttribute() == UnknownRole) @@ -1420,8 +1420,8 @@ AccessibilityRole ariaRole = ariaRoleAttribute(); if (isNativeTextControl() && ariaRole == UnknownRole) { -HTMLTextFormControlElement* textControl = toRenderTextControl(m_renderer)->textFormControlElement(); -return PlainTextRange(textControl->selectionStart(), textControl->selectionEnd() - textControl->selectionStart()); +HTMLTextFormControlElement& textControl = toRenderTextControl(m_renderer)->textFormControlElement(); +return PlainTextRange(textControl.selectionStart(), textControl.selectionEnd() - textControl.selectionStart()); } if (ariaRole == UnknownRole) @@ -1433,8 +1433,8 @@ void AccessibilityRenderObject::setSelectedTextRange(const PlainTextRange& range) { if (isNativeTextControl()) { -HTMLTextFormControlElement* textControl = toRenderTextControl(m_renderer)->textFormControlElement(); -textControl->setSelectionRange(range.start, range.start + range.length); +HTMLTextFormControlElement& textControl = toRenderTextControl(m_renderer)->textFormControlElement(); +textControl.setSelectionRange(range.start, range.start + range.length); return; } @@ -1818,7 +1818,7 @@ return VisiblePosition(); if (isNativeTextControl()) -return toRenderTextControl(m_renderer)->textFormControlElement()->visiblePositionForIndex(index); +return toRenderTextControl(m_renderer)->textFormControlElement().visiblePositionForIndex(index); if (!allowsTextRanges() && !m_renderer->isText()) return VisiblePosition(); @@ -1833,7 +1833,7 @@ int AccessibilityRenderObject::indexForVisiblePosition(const VisiblePosition& pos) const { if (isNativeTextControl()) -return toRenderTextControl(m_renderer)->textFormControlElement()->indexForVisiblePosition(pos); +return toRenderTextControl(m_renderer)->textFormControlElement().indexForVisiblePosition(pos); if (!isTextControl()) return 0; Modified: trunk/Source/WebCore/editing/TextIterator.cpp (155670 => 155671
[webkit-changes] [155644] trunk/Source/JavaScriptCore
Title: [155644] trunk/Source/_javascript_Core Revision 155644 Author fpi...@apple.com Date 2013-09-12 13:13:28 -0700 (Thu, 12 Sep 2013) Log Message Unreviewed, fix mispelling (Specualte -> Speculate) that I introduced in an earlier patch. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculateInt32Operand::gpr): (JSC::DFG::SpeculateStrictInt32Operand::gpr): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal): (JSC::DFG::SpeculativeJIT::fillSpeculateInt32): (JSC::DFG::SpeculativeJIT::fillSpeculateInt32Strict): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal): (JSC::DFG::SpeculativeJIT::fillSpeculateInt32): (JSC::DFG::SpeculativeJIT::fillSpeculateInt32Strict): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (155643 => 155644) --- trunk/Source/_javascript_Core/ChangeLog 2013-09-12 20:07:02 UTC (rev 155643) +++ trunk/Source/_javascript_Core/ChangeLog 2013-09-12 20:13:28 UTC (rev 155644) @@ -1,5 +1,22 @@ 2013-09-12 Filip Pizlo +Unreviewed, fix mispelling (Specualte -> Speculate) that I introduced in an +earlier patch. + +* dfg/DFGSpeculativeJIT.h: +(JSC::DFG::SpeculateInt32Operand::gpr): +(JSC::DFG::SpeculateStrictInt32Operand::gpr): +* dfg/DFGSpeculativeJIT32_64.cpp: +(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal): +(JSC::DFG::SpeculativeJIT::fillSpeculateInt32): +(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Strict): +* dfg/DFGSpeculativeJIT64.cpp: +(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal): +(JSC::DFG::SpeculativeJIT::fillSpeculateInt32): +(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Strict): + +2013-09-12 Filip Pizlo + GPRTemporary's reuse constructor should be templatized to reduce code duplication, and the bool to denote tag or payload should be replaced with an enum https://bugs.webkit.org/show_bug.cgi?id=121250 Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (155643 => 155644) --- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2013-09-12 20:07:02 UTC (rev 155643) +++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2013-09-12 20:13:28 UTC (rev 155644) @@ -332,8 +332,8 @@ // Called by the speculative operand types, below, to fill operand to // machine registers, implicitly generating speculation checks as needed. -GPRReg fillSpecualteInt32(Edge, DataFormat& returnFormat); -GPRReg fillSpecualteInt32Strict(Edge); +GPRReg fillSpeculateInt32(Edge, DataFormat& returnFormat); +GPRReg fillSpeculateInt32Strict(Edge); FPRReg fillSpeculateDouble(Edge); GPRReg fillSpeculateCell(Edge); GPRReg fillSpeculateBoolean(Edge); @@ -2141,7 +2141,7 @@ void arrayify(Node*); template -GPRReg fillSpecualteInt32Internal(Edge, DataFormat& returnFormat); +GPRReg fillSpeculateInt32Internal(Edge, DataFormat& returnFormat); // It is possible, during speculative generation, to reach a situation in which we // can statically determine a speculation will fail (for example, when two nodes @@ -2668,7 +2668,7 @@ GPRReg gpr() { if (m_gprOrInvalid == InvalidGPRReg) -m_gprOrInvalid = m_jit->fillSpecualteInt32(edge(), m_format); +m_gprOrInvalid = m_jit->fillSpeculateInt32(edge(), m_format); return m_gprOrInvalid; } @@ -2716,7 +2716,7 @@ GPRReg gpr() { if (m_gprOrInvalid == InvalidGPRReg) -m_gprOrInvalid = m_jit->fillSpecualteInt32Strict(edge()); +m_gprOrInvalid = m_jit->fillSpeculateInt32Strict(edge()); return m_gprOrInvalid; } Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (155643 => 155644) --- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2013-09-12 20:07:02 UTC (rev 155643) +++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2013-09-12 20:13:28 UTC (rev 155644) @@ -855,7 +855,7 @@ } template -GPRReg SpeculativeJIT::fillSpecualteInt32Internal(Edge edge, DataFormat& returnFormat) +GPRReg SpeculativeJIT::fillSpeculateInt32Internal(Edge edge, DataFormat& returnFormat) { #if DFG_ENABLE(DEBUG_VERBOSE) dataLogF("SpecInt@%d ", edge->index()); @@ -943,15 +943,15 @@ } } -GPRReg SpeculativeJIT::fillSpecualteInt32(Edge edge, DataFormat& returnFormat) +GPRReg SpeculativeJIT::fillSpeculateInt32(Edge edge, DataFormat& returnFormat) { -return fillSpecualteInt32Internal(edge, returnFormat); +return fillSpeculateInt32Internal(edge, returnFormat); } -GPRReg SpeculativeJIT::fillSpecualteInt32Strict(Edge edge) +GPRReg SpeculativeJIT::fillSpeculateInt32Strict(Edge edge) {
[webkit-changes] [155621] trunk
Title: [155621] trunk Revision 155621 Author ander...@apple.com Date 2013-09-12 09:13:47 -0700 (Thu, 12 Sep 2013) Log Message Add rudimentary support for move-only types as values in HashMap https://bugs.webkit.org/show_bug.cgi?id=121226 Reviewed by Andreas Kling. Source/WTF: * wtf/HashMap.h: Change a bunch of functions to so they can take both rvalue and lvalue references and use std::forward. * wtf/HashTraits.h: (WTF::KeyValuePair::KeyValuePair): Change constructors to accept both lvalues and rvalues. Tools: * TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::TEST): Add a HashMap test. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/HashMap.h trunk/Source/WTF/wtf/HashTraits.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp Diff Modified: trunk/Source/WTF/ChangeLog (155620 => 155621) --- trunk/Source/WTF/ChangeLog 2013-09-12 16:07:23 UTC (rev 155620) +++ trunk/Source/WTF/ChangeLog 2013-09-12 16:13:47 UTC (rev 155621) @@ -1,3 +1,17 @@ +2013-09-12 Anders Carlsson + +Add rudimentary support for move-only types as values in HashMap +https://bugs.webkit.org/show_bug.cgi?id=121226 + +Reviewed by Andreas Kling. + +* wtf/HashMap.h: +Change a bunch of functions to so they can take both rvalue and lvalue references and use std::forward. + +* wtf/HashTraits.h: +(WTF::KeyValuePair::KeyValuePair): +Change constructors to accept both lvalues and rvalues. + 2013-09-12 Mikhail Pozdnyakov Remove home-brewed nullptr Modified: trunk/Source/WTF/wtf/HashMap.h (155620 => 155621) --- trunk/Source/WTF/wtf/HashMap.h 2013-09-12 16:07:23 UTC (rev 155620) +++ trunk/Source/WTF/wtf/HashMap.h 2013-09-12 16:13:47 UTC (rev 155621) @@ -99,7 +99,7 @@ // replaces value but not key if key is already present // return value is a pair of the iterator to the key location, // and a boolean that's true if a new value was actually added -AddResult set(const KeyType&, MappedPassInType); +template AddResult set(const KeyType&, V&&); // does nothing if key is already present // return value is a pair of the iterator to the key location, @@ -134,7 +134,8 @@ static bool isValidKey(const KeyType&); private: -AddResult inlineAdd(const KeyType&, MappedPassInReferenceType); +template +AddResult inlineAdd(const KeyType&, T&&); HashTableType m_impl; }; @@ -226,10 +227,10 @@ struct HashMapTranslator { template static unsigned hash(const T& key) { return HashFunctions::hash(key); } template static bool equal(const T& a, const U& b) { return HashFunctions::equal(a, b); } -template static void translate(T& location, const U& key, const V& mapped) +template static void translate(T& location, const U& key, V&& mapped) { location.key = key; -ValueTraits::ValueTraits::store(mapped, location.value); +location.value = std::forward(mapped); } }; @@ -333,19 +334,21 @@ return m_impl.template contains>(value); } -template -auto HashMap::inlineAdd(const KeyType& key, MappedPassInReferenceType mapped) -> AddResult +template +template +auto HashMap::inlineAdd(const KeyType& key, T&& mapped) -> AddResult { -return m_impl.template add>(key, mapped); +return m_impl.template add>(key, std::forward(mapped)); } -template -auto HashMap::set(const KeyType& key, MappedPassInType mapped) -> AddResult +template +template +auto HashMap::set(const KeyType& key, T&& mapped) -> AddResult { -AddResult result = inlineAdd(key, mapped); +AddResult result = inlineAdd(key, std::forward(mapped)); if (!result.isNewEntry) { // The inlineAdd call above found an existing hash table entry; we need to set the mapped value. -MappedTraits::store(mapped, result.iterator->value); +result.iterator->value = std::forward(mapped); } return result; } Modified: trunk/Source/WTF/wtf/HashTraits.h (155620 => 155621) --- trunk/Source/WTF/wtf/HashTraits.h 2013-09-12 16:07:23 UTC (rev 155620) +++ trunk/Source/WTF/wtf/HashTraits.h 2013-09-12 16:13:47 UTC (rev 155621) @@ -201,16 +201,17 @@ { } -KeyValuePair(const KeyTypeArg& key, const ValueTypeArg& value) -: key(key) -, value(value) +template +KeyValuePair(K&& key, V&& value) +: key(std::forward(key)) +, value(std::forward(value)) { } template -KeyValuePair(const KeyValuePair& other) -: key(other.key) -, value(other.value) +KeyValuePair(KeyValuePair&& other) +: key(std::forward(other.key)) +, value(std::forward(other.value)) { }
[webkit-changes] [155670] trunk/Source/WebCore
Title: [155670] trunk/Source/WebCore Revision 155670 Author akl...@apple.com Date 2013-09-12 22:13:55 -0700 (Thu, 12 Sep 2013) Log Message [CTTE] RenderListMarker is always anonymous and owned by RenderListItem. Reviewed by Anders Carlsson. Store a RenderListItem& instead of a pointer in RenderListMarker. Deleted the element() function since list markers are always anonymous. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderListItem.cpp trunk/Source/WebCore/rendering/RenderListMarker.cpp trunk/Source/WebCore/rendering/RenderListMarker.h Diff Modified: trunk/Source/WebCore/ChangeLog (155669 => 155670) --- trunk/Source/WebCore/ChangeLog 2013-09-13 05:12:45 UTC (rev 155669) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 05:13:55 UTC (rev 155670) @@ -1,5 +1,15 @@ 2013-09-12 Andreas Kling +[CTTE] RenderListMarker is always anonymous and owned by RenderListItem. + + +Reviewed by Anders Carlsson. + +Store a RenderListItem& instead of a pointer in RenderListMarker. +Deleted the element() function since list markers are always anonymous. + +2013-09-12 Andreas Kling + [CTTE] RenderListBox's element is always a HTMLSelectElement. Modified: trunk/Source/WebCore/rendering/RenderListItem.cpp (155669 => 155670) --- trunk/Source/WebCore/rendering/RenderListItem.cpp 2013-09-13 05:12:45 UTC (rev 155669) +++ trunk/Source/WebCore/rendering/RenderListItem.cpp 2013-09-13 05:13:55 UTC (rev 155670) @@ -62,7 +62,7 @@ // up (e.g., in some deeply nested line box). See CSS3 spec. newStyle->inheritFrom(style()); if (!m_marker) -m_marker = RenderListMarker::createAnonymous(this); +m_marker = RenderListMarker::createAnonymous(*this); m_marker->setStyle(newStyle.release()); } else if (m_marker) { m_marker->destroy(); Modified: trunk/Source/WebCore/rendering/RenderListMarker.cpp (155669 => 155670) --- trunk/Source/WebCore/rendering/RenderListMarker.cpp 2013-09-13 05:12:45 UTC (rev 155669) +++ trunk/Source/WebCore/rendering/RenderListMarker.cpp 2013-09-13 05:13:55 UTC (rev 155670) @@ -1053,9 +1053,9 @@ return ""; } -RenderListMarker::RenderListMarker(RenderListItem* item) +RenderListMarker::RenderListMarker(RenderListItem& listItem) : RenderBox(0) -, m_listItem(item) +, m_listItem(listItem) { // init RenderObject attributes setInline(true); // our object is Inline @@ -1068,10 +1068,10 @@ m_image->removeClient(this); } -RenderListMarker* RenderListMarker::createAnonymous(RenderListItem* item) +RenderListMarker* RenderListMarker::createAnonymous(RenderListItem& listItem) { -Document& document = item->document(); -RenderListMarker* renderer = new (document.renderArena()) RenderListMarker(item); +Document& document = listItem.document(); +RenderListMarker* renderer = new (document.renderArena()) RenderListMarker(listItem); renderer->setDocumentForAnonymous(&document); return renderer; } @@ -1303,7 +1303,7 @@ textRun.setText(reversedText.characters(), length); } -const UChar suffix = listMarkerSuffix(type, m_listItem->value()); +const UChar suffix = listMarkerSuffix(type, m_listItem.value()); if (style()->isLeftToRightDirection()) { int width = font.width(textRun); context->drawText(font, textRun, textOrigin); @@ -1467,7 +1467,7 @@ case UpperNorwegian: case UpperRoman: case Urdu: -m_text = listMarkerText(type, m_listItem->value()); +m_text = listMarkerText(type, m_listItem.value()); break; } } @@ -1580,7 +1580,7 @@ logicalWidth = 0; else { LayoutUnit itemWidth = font.width(m_text); -UChar suffixSpace[2] = { listMarkerSuffix(type, m_listItem->value()), ' ' }; +UChar suffixSpace[2] = { listMarkerSuffix(type, m_listItem.value()), ' ' }; LayoutUnit suffixSpaceWidth = font.width(RenderBlock::constructTextRun(this, font, suffixSpace, 2, style())); logicalWidth = itemWidth + suffixSpaceWidth; } @@ -1663,21 +1663,21 @@ LayoutUnit RenderListMarker::lineHeight(bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const { if (!isImage()) -return m_listItem->lineHeight(firstLine, direction, PositionOfInteriorLineBoxes); +return m_listItem.lineHeight(firstLine, direction, PositionOfInteriorLineBoxes); return RenderBox::lineHeight(firstLine, direction, linePositionMode); } int RenderListMarker::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const { if (!isImage()) -return m_listItem->baselinePosition(baselineType, firstLine, direction, PositionOfInteriorLineBoxes); +return m_listItem.base
[webkit-changes] [155669] trunk/Source/WebCore
Title: [155669] trunk/Source/WebCore Revision 155669 Author akl...@apple.com Date 2013-09-12 22:12:45 -0700 (Thu, 12 Sep 2013) Log Message [CTTE] RenderListBox's element is always a HTMLSelectElement. Reviewed by Anders Carlsson. Hide element() on RenderListBox and make selectElement() return a reference since this renderer cannot be anonymous. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLSelectElement.cpp trunk/Source/WebCore/rendering/RenderListBox.cpp trunk/Source/WebCore/rendering/RenderListBox.h Diff Modified: trunk/Source/WebCore/ChangeLog (155668 => 155669) --- trunk/Source/WebCore/ChangeLog 2013-09-13 05:11:18 UTC (rev 155668) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 05:12:45 UTC (rev 155669) @@ -1,5 +1,15 @@ 2013-09-12 Andreas Kling +[CTTE] RenderListBox's element is always a HTMLSelectElement. + + +Reviewed by Anders Carlsson. + +Hide element() on RenderListBox and make selectElement() return a reference +since this renderer cannot be anonymous. + +2013-09-12 Andreas Kling + [CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement. Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (155668 => 155669) --- trunk/Source/WebCore/html/HTMLSelectElement.cpp 2013-09-13 05:11:18 UTC (rev 155668) +++ trunk/Source/WebCore/html/HTMLSelectElement.cpp 2013-09-13 05:12:45 UTC (rev 155669) @@ -341,7 +341,7 @@ { if (usesMenuList()) return new (arena) RenderMenuList(this); -return new (arena) RenderListBox(this); +return new (arena) RenderListBox(*this); } bool HTMLSelectElement::childShouldCreateRenderer(const Node* child) const Modified: trunk/Source/WebCore/rendering/RenderListBox.cpp (155668 => 155669) --- trunk/Source/WebCore/rendering/RenderListBox.cpp 2013-09-13 05:11:18 UTC (rev 155668) +++ trunk/Source/WebCore/rendering/RenderListBox.cpp 2013-09-13 05:12:45 UTC (rev 155669) @@ -82,18 +82,14 @@ // widget, but I'm not sure this is right for the new control. const int baselineAdjustment = 7; -RenderListBox::RenderListBox(Element* element) -: RenderBlockFlow(element) +RenderListBox::RenderListBox(HTMLSelectElement& element) +: RenderBlockFlow(&element) , m_optionsChanged(true) , m_scrollToRevealSelectionAfterLayout(false) , m_inAutoscroll(false) , m_optionsWidth(0) , m_indexOffset(0) { -ASSERT(element); -ASSERT(element->isHTMLElement()); -ASSERT(isHTMLSelectElement(element)); - view().frameView().addScrollableArea(this); } @@ -103,9 +99,10 @@ view().frameView().removeScrollableArea(this); } -inline HTMLSelectElement* RenderListBox::selectElement() const +HTMLSelectElement& RenderListBox::selectElement() const { -return toHTMLSelectElement(element()); +ASSERT(RenderObject::node()); +return toHTMLSelectElement(*RenderObject::node()); } void RenderListBox::updateFromElement() @@ -113,7 +110,7 @@ FontCachePurgePreventer fontCachePurgePreventer; if (m_optionsChanged) { -const Vector& listItems = selectElement()->listItems(); +const Vector& listItems = selectElement().listItems(); int size = numItems(); float width = 0; @@ -192,12 +189,10 @@ void RenderListBox::scrollToRevealSelection() { -HTMLSelectElement* select = selectElement(); - m_scrollToRevealSelectionAfterLayout = false; -int firstIndex = select->activeSelectionStartListIndex(); -if (firstIndex >= 0 && !listIndexIsVisible(select->activeSelectionEndListIndex())) +int firstIndex = selectElement().activeSelectionStartListIndex(); +if (firstIndex >= 0 && !listIndexIsVisible(selectElement().activeSelectionEndListIndex())) scrollToRevealElementAtListIndex(firstIndex); } @@ -241,7 +236,7 @@ int RenderListBox::size() const { -int specifiedSize = selectElement()->size(); +int specifiedSize = selectElement().size(); if (specifiedSize > 1) return max(minSize, specifiedSize); @@ -256,7 +251,7 @@ int RenderListBox::numItems() const { -return selectElement()->listItems().size(); +return selectElement().listItems().size(); } LayoutUnit RenderListBox::listHeight() const @@ -330,10 +325,8 @@ if (!isSpatialNavigationEnabled(&frame())) return RenderBlockFlow::addFocusRingRects(rects, additionalOffset, paintContainer); -HTMLSelectElement* select = selectElement(); - // Focus the last selected item. -int selectedItem = select->activeSelectionEndListIndex(); +int selectedItem = selectElement().activeSelectionEndListIndex(); if (selectedItem >= 0) { rects.append(pixelSnappedIntRect(itemBoundingBoxRect(additionalOffset, selectedItem))); return; @@ -341,11 +334,11 @@ // No selected items, find the first non-disabled item. int size = numItems(); -const Vector& listItems = select->listItems(); +const Vector& l
[webkit-changes] [155668] trunk/Source/WebCore
Title: [155668] trunk/Source/WebCore Revision 155668 Author akl...@apple.com Date 2013-09-12 22:11:18 -0700 (Thu, 12 Sep 2013) Log Message [CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement. Reviewed by Anders Carlsson. Add RenderHTMLCanvas::canvasElement(), hiding element(). This function also returns a reference since this renderer cannot be anonymous. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLCanvasElement.cpp trunk/Source/WebCore/rendering/RenderHTMLCanvas.cpp trunk/Source/WebCore/rendering/RenderHTMLCanvas.h Diff Modified: trunk/Source/WebCore/ChangeLog (155667 => 155668) --- trunk/Source/WebCore/ChangeLog 2013-09-13 05:09:46 UTC (rev 155667) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 05:11:18 UTC (rev 155668) @@ -1,5 +1,15 @@ 2013-09-12 Andreas Kling +[CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement. + + +Reviewed by Anders Carlsson. + +Add RenderHTMLCanvas::canvasElement(), hiding element(). +This function also returns a reference since this renderer cannot be anonymous. + +2013-09-12 Andreas Kling + [CTTE] RenderTextControlMultiLine's element is always a HTMLTextAreaElement. Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (155667 => 155668) --- trunk/Source/WebCore/html/HTMLCanvasElement.cpp 2013-09-13 05:09:46 UTC (rev 155667) +++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp 2013-09-13 05:11:18 UTC (rev 155668) @@ -114,7 +114,7 @@ Frame* frame = document().frame(); if (frame && frame->script().canExecuteScripts(NotAboutToExecuteScript)) { m_rendererIsCanvas = true; -return new (arena) RenderHTMLCanvas(this); +return new (arena) RenderHTMLCanvas(*this); } m_rendererIsCanvas = false; Modified: trunk/Source/WebCore/rendering/RenderHTMLCanvas.cpp (155667 => 155668) --- trunk/Source/WebCore/rendering/RenderHTMLCanvas.cpp 2013-09-13 05:09:46 UTC (rev 155667) +++ trunk/Source/WebCore/rendering/RenderHTMLCanvas.cpp 2013-09-13 05:11:18 UTC (rev 155668) @@ -41,20 +41,28 @@ using namespace HTMLNames; -RenderHTMLCanvas::RenderHTMLCanvas(HTMLCanvasElement* element) -: RenderReplaced(element, element->size()) +RenderHTMLCanvas::RenderHTMLCanvas(HTMLCanvasElement& element) +: RenderReplaced(&element, element.size()) { // Actual size is not known yet, report the default intrinsic size. view().frameView().incrementVisuallyNonEmptyPixelCount(roundedIntSize(intrinsicSize())); } +HTMLCanvasElement& RenderHTMLCanvas::canvasElement() const +{ +ASSERT(RenderObject::node()); +return toHTMLCanvasElement(*RenderObject::node()); +} + bool RenderHTMLCanvas::requiresLayer() const { if (RenderReplaced::requiresLayer()) return true; - -HTMLCanvasElement* canvas = static_cast(element()); -return canvas && canvas->renderingContext() && canvas->renderingContext()->isAccelerated(); + +if (CanvasRenderingContext* context = canvasElement().renderingContext()) +return context->isAccelerated(); + +return false; } void RenderHTMLCanvas::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& paintOffset) @@ -78,12 +86,12 @@ } bool useLowQualityScale = style()->imageRendering() == ImageRenderingCrispEdges || style()->imageRendering() == ImageRenderingOptimizeSpeed; -static_cast(element())->paint(context, paintRect, useLowQualityScale); +canvasElement().paint(context, paintRect, useLowQualityScale); } void RenderHTMLCanvas::canvasSizeChanged() { -IntSize canvasSize = static_cast(element())->size(); +IntSize canvasSize = canvasElement().size(); LayoutSize zoomedSize(canvasSize.width() * style()->effectiveZoom(), canvasSize.height() * style()->effectiveZoom()); if (zoomedSize == intrinsicSize()) Modified: trunk/Source/WebCore/rendering/RenderHTMLCanvas.h (155667 => 155668) --- trunk/Source/WebCore/rendering/RenderHTMLCanvas.h 2013-09-13 05:09:46 UTC (rev 155667) +++ trunk/Source/WebCore/rendering/RenderHTMLCanvas.h 2013-09-13 05:11:18 UTC (rev 155668) @@ -34,17 +34,19 @@ class RenderHTMLCanvas FINAL : public RenderReplaced { public: -explicit RenderHTMLCanvas(HTMLCanvasElement*); +explicit RenderHTMLCanvas(HTMLCanvasElement&); -virtual bool isCanvas() const { return true; } -virtual bool requiresLayer() const; +HTMLCanvasElement& canvasElement() const; void canvasSizeChanged(); - + private: -virtual const char* renderName() const { return "RenderHTMLCanvas"; } -virtual void paintReplaced(PaintInfo&, const LayoutPoint&); -virtual void intrinsicSizeChanged() { canvasSizeChanged(); } +void element() const WTF_DELETED_FUNCTION; +virtual bool requiresLayer() const OVERRIDE; +virtual bool isCanvas() const OVERRIDE { return true; } +virtual const char* renderName() const OVERRIDE { return "RenderHTMLCanvas"; } +virtual void paintRepl
[webkit-changes] [155667] trunk/Source/WebCore
Title: [155667] trunk/Source/WebCore Revision 155667 Author akl...@apple.com Date 2013-09-12 22:09:46 -0700 (Thu, 12 Sep 2013) Log Message [CTTE] RenderTextControlMultiLine's element is always a HTMLTextAreaElement. Reviewed by Anders Carlsson. Add RenderTextControlMultiLine::textAreaElement(), hiding element(). This function also returns a reference since this renderer cannot be anonymous. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLTextAreaElement.cpp trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h Diff Modified: trunk/Source/WebCore/ChangeLog (155666 => 155667) --- trunk/Source/WebCore/ChangeLog 2013-09-13 02:19:20 UTC (rev 155666) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 05:09:46 UTC (rev 155667) @@ -1,3 +1,13 @@ +2013-09-12 Andreas Kling + +[CTTE] RenderTextControlMultiLine's element is always a HTMLTextAreaElement. + + +Reviewed by Anders Carlsson. + +Add RenderTextControlMultiLine::textAreaElement(), hiding element(). +This function also returns a reference since this renderer cannot be anonymous. + 2013-09-12 Tim Horton [mac] Cache rendered image in PDFDocumentImage Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.cpp (155666 => 155667) --- trunk/Source/WebCore/html/HTMLTextAreaElement.cpp 2013-09-13 02:19:20 UTC (rev 155666) +++ trunk/Source/WebCore/html/HTMLTextAreaElement.cpp 2013-09-13 05:09:46 UTC (rev 155667) @@ -210,7 +210,7 @@ RenderObject* HTMLTextAreaElement::createRenderer(RenderArena* arena, RenderStyle*) { -return new (arena) RenderTextControlMultiLine(this); +return new (arena) RenderTextControlMultiLine(*this); } bool HTMLTextAreaElement::appendFormData(FormDataList& encoding, bool) Modified: trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp (155666 => 155667) --- trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp 2013-09-13 02:19:20 UTC (rev 155666) +++ trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp 2013-09-13 05:09:46 UTC (rev 155667) @@ -32,23 +32,29 @@ namespace WebCore { -RenderTextControlMultiLine::RenderTextControlMultiLine(Element* element) -: RenderTextControl(element) +RenderTextControlMultiLine::RenderTextControlMultiLine(HTMLTextAreaElement& element) +: RenderTextControl(&element) { } RenderTextControlMultiLine::~RenderTextControlMultiLine() { -if (element() && element()->inDocument()) -toHTMLTextAreaElement(element())->rendererWillBeDestroyed(); +if (textAreaElement().inDocument()) +textAreaElement().rendererWillBeDestroyed(); } +HTMLTextAreaElement& RenderTextControlMultiLine::textAreaElement() const +{ +ASSERT(RenderObject::node()); +return toHTMLTextAreaElement(*RenderObject::node()); +} + bool RenderTextControlMultiLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) { if (!RenderTextControl::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, hitTestAction)) return false; -if (result.innerNode() == element() || result.innerNode() == innerTextElement()) +if (result.innerNode() == &textAreaElement() || result.innerNode() == innerTextElement()) hitInnerTextElement(result, locationInContainer.point(), accumulatedOffset); return true; @@ -67,13 +73,12 @@ LayoutUnit RenderTextControlMultiLine::preferredContentLogicalWidth(float charWidth) const { -int factor = toHTMLTextAreaElement(element())->cols(); -return static_cast(ceilf(charWidth * factor)) + scrollbarThickness(); +return static_cast(ceilf(charWidth * textAreaElement().cols())) + scrollbarThickness(); } LayoutUnit RenderTextControlMultiLine::computeControlLogicalHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const { -return lineHeight * toHTMLTextAreaElement(element())->rows() + nonContentHeight; +return lineHeight * textAreaElement().rows() + nonContentHeight; } int RenderTextControlMultiLine::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const Modified: trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h (155666 => 155667) --- trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h 2013-09-13 02:19:20 UTC (rev 155666) +++ trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h 2013-09-13 05:09:46 UTC (rev 155667) @@ -26,12 +26,18 @@ namespace WebCore { +class HTMLTextAreaElement; + class RenderTextControlMultiLine FINAL : public RenderTextControl { public: -RenderTextControlMultiLine(Element*); +explicit RenderTextControlMultiLine(HTMLTextAreaElement&); virtual ~RenderTextControlMultiLine(); +HTMLTextAreaElement& textAreaElement() const; + private: +voi
[webkit-changes] [155620] releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk
Title: [155620] releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk Revision 155620 Author zandober...@gmail.com Date 2013-09-12 09:07:23 -0700 (Thu, 12 Sep 2013) Log Message Merge r155619 - [GTK][WK1] Block accelerated compositing under non-X11 displays https://bugs.webkit.org/show_bug.cgi?id=121165 Reviewed by Martin Robinson. This is analogous to the changes in r154728 and r154729 that enforce disabling accelerated compositing under Wayland displays and made the RedirectedXCompositeWindow use in WebKit2 limited only to the X11 displays. * WebCoreSupport/AcceleratedCompositingContextGL.cpp: Remove two unnecessary header includes that also introduce symbols that conflict with the symbols defined in the X headers. Include the header if the GTK+ dependency can provide it. (WebKit::AcceleratedCompositingContext::initialize): Only set up the RedirectedXCompositeWindow instance if running under an X11 display. (WebKit::AcceleratedCompositingContext::renderLayersToWindow): The removal of the unnecessary header inclusions also removed the std::max() injection into the global scope. Using std::max directly instead. (WebKit::AcceleratedCompositingContext::scheduleLayerFlush): Ditto. * webkit/webkitwebview.cpp: (updateAcceleratedCompositingSetting): A helper function that ensures the accelerated compositing feature stays disabled under Wayland displays. It also prints out a warning message the first time the user tries to enable accelerated compositing under Wayland displays, telling that the feature is not supported and will remain disabled. (webkit_web_view_update_settings): Call updateAcceleratedCompositingSetting() to enable the feature if possible. (webkit_web_view_settings_notify): Ditto. Modified Paths releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/ChangeLog releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/webkit/webkitwebview.cpp Diff Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/ChangeLog (155619 => 155620) --- releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/ChangeLog 2013-09-12 16:02:39 UTC (rev 155619) +++ releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/ChangeLog 2013-09-12 16:07:23 UTC (rev 155620) @@ -1,3 +1,29 @@ +2013-09-12 Zan Dobersek + +[GTK][WK1] Block accelerated compositing under non-X11 displays +https://bugs.webkit.org/show_bug.cgi?id=121165 + +Reviewed by Martin Robinson. + +This is analogous to the changes in r154728 and r154729 that enforce disabling accelerated compositing +under Wayland displays and made the RedirectedXCompositeWindow use in WebKit2 limited only to the X11 displays. + +* WebCoreSupport/AcceleratedCompositingContextGL.cpp: Remove two unnecessary header includes that also +introduce symbols that conflict with the symbols defined in the X headers. Include the header +if the GTK+ dependency can provide it. +(WebKit::AcceleratedCompositingContext::initialize): Only set up the RedirectedXCompositeWindow instance +if running under an X11 display. +(WebKit::AcceleratedCompositingContext::renderLayersToWindow): The removal of the unnecessary header +inclusions also removed the std::max() injection into the global scope. Using std::max directly instead. +(WebKit::AcceleratedCompositingContext::scheduleLayerFlush): Ditto. +* webkit/webkitwebview.cpp: +(updateAcceleratedCompositingSetting): A helper function that ensures the accelerated compositing feature +stays disabled under Wayland displays. It also prints out a warning message the first time the user tries +to enable accelerated compositing under Wayland displays, telling that the feature is not supported and +will remain disabled. +(webkit_web_view_update_settings): Call updateAcceleratedCompositingSetting() to enable the feature if possible. +(webkit_web_view_settings_notify): Ditto. + 2013-09-11 Carlos Garcia Campos Unreviewed. Update NEWS and Versions.m4 for 2.1.91 release. Modified: releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp (155619 => 155620) --- releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp 2013-09-12 16:02:39 UTC (rev 155619) +++ releases/WebKitGTK/webkit-2.2/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp 2013-09-12 16:07:23 UTC (rev 155620) @@ -22,8 +22,6 @@ #if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL) #include "CairoUtilities.h" -#include "Chrome.h" -#include "ChromeClientGtk.h" #include "Frame.h" #include "FrameView.h" #include "GraphicsLayerTextureMapper.h" @@ -44,6 +42,10 @@ #include #include +#if PLATFORM(X11) && defined(GDK_WINDOWING_X11) +#include +#endif + const double gFramesPerSecond = 60; // There seems to be a delicate balance between the mai
[webkit-changes] [155658] trunk/Source/WebInspectorUI
Title: [155658] trunk/Source/WebInspectorUI Revision 155658 Author commit-qu...@webkit.org Date 2013-09-12 16:25:02 -0700 (Thu, 12 Sep 2013) Log Message Web Inspector: Update License copyrights in minified _javascript_ https://bugs.webkit.org/show_bug.cgi?id=121264 Patch by Joseph Pecoraro on 2013-09-12 Reviewed by Timothy Hatcher. * Scripts/copy-user-interface-resources.sh: Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (155657 => 155658) --- trunk/Source/WebInspectorUI/ChangeLog 2013-09-12 23:07:36 UTC (rev 155657) +++ trunk/Source/WebInspectorUI/ChangeLog 2013-09-12 23:25:02 UTC (rev 155658) @@ -1,3 +1,12 @@ +2013-09-12 Joseph Pecoraro + +Web Inspector: Update License copyrights in minified _javascript_ +https://bugs.webkit.org/show_bug.cgi?id=121264 + +Reviewed by Timothy Hatcher. + +* Scripts/copy-user-interface-resources.sh: + 2013-09-11 Geoffrey Garen Removed some unused functions from the debugger interface Modified: trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh (155657 => 155658) --- trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh 2013-09-12 23:07:36 UTC (rev 155657) +++ trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh 2013-09-12 23:25:02 UTC (rev 155658) @@ -9,6 +9,10 @@ * Copyright (C) 2008-2009 Anthony Ricaud * Copyright (C) 2009 280 North Inc. All Rights Reserved. * Copyright (C) 2010 Nikita Vasilyev. All rights reserved. + * Copyright (C) 2011 Brian Grinstead All rights reserved. + * Copyright (C) 2013 Matt Holden + * Copyright (C) 2013 Samsung Electronics. All rights reserved. + * Copyright (C) 2013 Seokju Kwon (seokju.k...@gmail.com) * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155638] trunk/Source/WebCore
Title: [155638] trunk/Source/WebCore Revision 155638 Author da...@apple.com Date 2013-09-12 12:23:15 -0700 (Thu, 12 Sep 2013) Log Message [EFL] Get rid of layering violations in PasteboardEfl.cpp https://bugs.webkit.org/show_bug.cgi?id=121241 Patch by Christophe Dumez on 2013-09-12 Reviewed by Darin Adler. Get rid of layering violations in PasteboardEfl.cpp. For now, just mimic the Mac port to avoid divergences and leave port-specific functions unimplemented as the EFL port does not support the pasteboard functionality yet. No new tests, no behavior change. * PlatformEfl.cmake: * editing/Editor.cpp: (WebCore::Editor::pasteAsPlainTextWithPasteboard): (WebCore::Editor::cut): (WebCore::Editor::copy): (WebCore::Editor::copyURL): (WebCore::Editor::copyImage): * editing/Editor.h: * editing/efl/EditorEfl.cpp: Added. (WebCore::Editor::writeSelectionToPasteboard): (WebCore::Editor::writeURLToPasteboard): (WebCore::Editor::writeImageToPasteboard): (WebCore::Editor::readPlainTextFromPasteboard): (WebCore::Editor::pasteWithPasteboard): * page/DragController.cpp: (WebCore::DragController::startDrag): * platform/Pasteboard.h: * platform/efl/PasteboardEfl.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PlatformEfl.cmake trunk/Source/WebCore/editing/Editor.cpp trunk/Source/WebCore/editing/Editor.h trunk/Source/WebCore/page/DragController.cpp trunk/Source/WebCore/platform/Pasteboard.h trunk/Source/WebCore/platform/efl/PasteboardEfl.cpp Added Paths trunk/Source/WebCore/editing/efl/ trunk/Source/WebCore/editing/efl/EditorEfl.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (155637 => 155638) --- trunk/Source/WebCore/ChangeLog 2013-09-12 19:21:53 UTC (rev 155637) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 19:23:15 UTC (rev 155638) @@ -1,3 +1,36 @@ +2013-09-12 Christophe Dumez + +[EFL] Get rid of layering violations in PasteboardEfl.cpp +https://bugs.webkit.org/show_bug.cgi?id=121241 + +Reviewed by Darin Adler. + +Get rid of layering violations in PasteboardEfl.cpp. For now, just mimic +the Mac port to avoid divergences and leave port-specific functions +unimplemented as the EFL port does not support the pasteboard functionality +yet. + +No new tests, no behavior change. + +* PlatformEfl.cmake: +* editing/Editor.cpp: +(WebCore::Editor::pasteAsPlainTextWithPasteboard): +(WebCore::Editor::cut): +(WebCore::Editor::copy): +(WebCore::Editor::copyURL): +(WebCore::Editor::copyImage): +* editing/Editor.h: +* editing/efl/EditorEfl.cpp: Added. +(WebCore::Editor::writeSelectionToPasteboard): +(WebCore::Editor::writeURLToPasteboard): +(WebCore::Editor::writeImageToPasteboard): +(WebCore::Editor::readPlainTextFromPasteboard): +(WebCore::Editor::pasteWithPasteboard): +* page/DragController.cpp: +(WebCore::DragController::startDrag): +* platform/Pasteboard.h: +* platform/efl/PasteboardEfl.cpp: + 2013-09-12 Alberto Garcia [GTK] Unreviewed build fix after r155635. Modified: trunk/Source/WebCore/PlatformEfl.cmake (155637 => 155638) --- trunk/Source/WebCore/PlatformEfl.cmake 2013-09-12 19:21:53 UTC (rev 155637) +++ trunk/Source/WebCore/PlatformEfl.cmake 2013-09-12 19:23:15 UTC (rev 155638) @@ -37,6 +37,8 @@ editing/atk/FrameSelectionAtk.cpp +editing/efl/EditorEfl.cpp + loader/soup/CachedRawResourceSoup.cpp loader/soup/SubresourceLoaderSoup.cpp Modified: trunk/Source/WebCore/editing/Editor.cpp (155637 => 155638) --- trunk/Source/WebCore/editing/Editor.cpp 2013-09-12 19:21:53 UTC (rev 155637) +++ trunk/Source/WebCore/editing/Editor.cpp 2013-09-12 19:23:15 UTC (rev 155638) @@ -417,7 +417,7 @@ void Editor::pasteAsPlainTextWithPasteboard(Pasteboard& pasteboard) { -#if PLATFORM(MAC) && !PLATFORM(IOS) +#if (PLATFORM(MAC) && !PLATFORM(IOS)) || PLATFORM(EFL) String text = readPlainTextFromPasteboard(pasteboard); #else String text = pasteboard.plainText(&m_frame); @@ -426,7 +426,7 @@ pasteAsPlainText(text, canSmartReplaceWithPasteboard(&pasteboard)); } -#if !PLATFORM(MAC) +#if !PLATFORM(MAC) && !PLATFORM(EFL) void Editor::pasteWithPasteboard(Pasteboard* pasteboard, bool allowPlainText) { RefPtr range = selectedRange(); @@ -1052,7 +1052,7 @@ if (enclosingTextFormControl(m_frame.selection().start())) Pasteboard::createForCopyAndPaste()->writePlainText(selectedTextForClipboard(), canSmartCopyOrDelete() ? Pasteboard::CanSmartReplace : Pasteboard::CannotSmartReplace); else { -#if PLATFORM(MAC) && !PLATFORM(IOS) +#if (PLATFORM(MAC) && !PLATFORM(IOS)) || PLATFORM(EFL) writeSelectionToPasteboard(*Pasteboard::createForCopyAndPaste()); #else // FIXME: Convert all other platforms to match Mac and delete this. @@ -1080,13 +1080,13 @@ } else { Document* docum
[webkit-changes] [155637] trunk/Source/WebCore
Title: [155637] trunk/Source/WebCore Revision 155637 Author be...@igalia.com Date 2013-09-12 12:21:53 -0700 (Thu, 12 Sep 2013) Log Message [GTK] Unreviewed build fix after r155635. Include DragData.h * platform/gtk/PasteboardGtk.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (155636 => 155637) --- trunk/Source/WebCore/ChangeLog 2013-09-12 19:13:54 UTC (rev 155636) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 19:21:53 UTC (rev 155637) @@ -1,3 +1,11 @@ +2013-09-12 Alberto Garcia + +[GTK] Unreviewed build fix after r155635. + +Include DragData.h + +* platform/gtk/PasteboardGtk.cpp: + 2013-09-12 Brent Fulgham [Windows] Build fix after r155635. Modified: trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp (155636 => 155637) --- trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp 2013-09-12 19:13:54 UTC (rev 155636) +++ trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp 2013-09-12 19:21:53 UTC (rev 155637) @@ -23,6 +23,7 @@ #include "CachedImage.h" #include "DataObjectGtk.h" #include "DocumentFragment.h" +#include "DragData.h" #include "Editor.h" #include "Frame.h" #include "HTMLImageElement.h" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155636] trunk/Source/WebCore
Title: [155636] trunk/Source/WebCore Revision 155636 Author bfulg...@apple.com Date 2013-09-12 12:13:54 -0700 (Thu, 12 Sep 2013) Log Message [Windows] Build fix after r155635. Rubber Stamped by Darin Adler. * platform/Pasteboard.h: Add missing compile guards for Windows port. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/Pasteboard.h Diff Modified: trunk/Source/WebCore/ChangeLog (155635 => 155636) --- trunk/Source/WebCore/ChangeLog 2013-09-12 18:39:18 UTC (rev 155635) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 19:13:54 UTC (rev 155636) @@ -1,3 +1,11 @@ +2013-09-12 Brent Fulgham + +[Windows] Build fix after r155635. + +Rubber Stamped by Darin Adler. + +* platform/Pasteboard.h: Add missing compile guards for Windows port. + 2013-09-12 Darin Adler Reorganize Pasteboard.h to make it easier to read, and express plan for future work Modified: trunk/Source/WebCore/platform/Pasteboard.h (155635 => 155636) --- trunk/Source/WebCore/platform/Pasteboard.h 2013-09-12 18:39:18 UTC (rev 155635) +++ trunk/Source/WebCore/platform/Pasteboard.h 2013-09-12 19:13:54 UTC (rev 155636) @@ -66,7 +66,7 @@ // For writing web content to the pasteboard. Generally sorted with the richest formats on top. struct PasteboardWebContent { -#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT)) +#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT) || PLATFORM(WIN)) bool canSmartCopyOrDelete; RefPtr dataInWebArchiveFormat; RefPtr dataInRTFDFormat; @@ -78,7 +78,7 @@ }; struct PasteboardURL { -#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT)) +#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT) || PLATFORM(WIN)) KURL url; String title; String userVisibleForm; @@ -86,7 +86,7 @@ }; struct PasteboardImage { -#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT)) +#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT) || PLATFORM(WIN)) PasteboardURL url; RefPtr image; RefPtr resourceData; @@ -95,7 +95,7 @@ }; struct PasteboardPlainText { -#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT)) +#if !(PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT) || PLATFORM(WIN)) String plainText; String url; #endif @@ -144,12 +144,12 @@ PassRefPtr documentFragment(Frame*, PassRefPtr, bool allowPlainText, bool& chosePlainText); // FIXME: Layering violation. -#if PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT) +#if PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(IOS) || PLATFORM(QT) || PLATFORM(WIN) String plainText(Frame* = 0); // FIXME: Layering violation. void writeSelection(Range*, bool canSmartCopyOrDelete, Frame*, ShouldSerializeSelectedTextForClipboard = DefaultSelectedTextType); // FIXME: Layering violation. #endif -#if PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(QT) +#if PLATFORM(EFL) || PLATFORM(GTK) || PLATFORM(QT) || PLATFORM(WIN) void writeURL(const KURL&, const String&, Frame* = 0); // FIXME: Layering violation. void writeImage(Node*, const KURL&, const String& title); // FIXME: Layering violation. #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155666] trunk/WebKitLibraries
Title: [155666] trunk/WebKitLibraries Revision 155666 Author bfulg...@apple.com Date 2013-09-12 19:19:20 -0700 (Thu, 12 Sep 2013) Log Message [Windows] Update WKSI library for Open Source builders. * win/lib32/WebKitSystemInterface.lib: Recompile with latest WebKit to use newer WTF.dll symbol exports. Modified Paths trunk/WebKitLibraries/ChangeLog trunk/WebKitLibraries/win/lib32/WebKitSystemInterface.lib Diff Modified: trunk/WebKitLibraries/ChangeLog (155665 => 155666) --- trunk/WebKitLibraries/ChangeLog 2013-09-13 00:37:43 UTC (rev 155665) +++ trunk/WebKitLibraries/ChangeLog 2013-09-13 02:19:20 UTC (rev 155666) @@ -1,3 +1,10 @@ +2013-09-12 Brent Fulgham + +[Windows] Update WKSI library for Open Source builders. + +* win/lib32/WebKitSystemInterface.lib: Recompile with latest WebKit to use newer +WTF.dll symbol exports. + 2013-08-29 Filip Pizlo Just linking LLVM into JSC causes all plugin tests to fail Modified: trunk/WebKitLibraries/win/lib32/WebKitSystemInterface.lib (Binary files differ) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155632] trunk/Source/JavaScriptCore
Title: [155632] trunk/Source/_javascript_Core Revision 155632 Author mhahnenb...@apple.com Date 2013-09-12 11:13:25 -0700 (Thu, 12 Sep 2013) Log Message MarkedBlocks shouldn't be put in Allocated state if they didn't produce a FreeList https://bugs.webkit.org/show_bug.cgi?id=121236 Reviewed by Geoffrey Garen. Right now, after a collection all MarkedBlocks are in the Marked block state. When lazy sweeping happens, if a block returns an empty free list after being swept, we call didConsumeFreeList(), which moves the block into the Allocated block state. This happens to both the block that was just being allocated out of (i.e. m_currentBlock) as well as any blocks who are completely full. We should distinguish between these two cases: m_currentBlock should transition to Allocated (because we were just allocating out of it) and any subsequent block that returns an empty free list should transition back to the Marked state. This will make the block state more consistent with the actual state the block is in, and it will also allow us to speed up moving all blocks to the Marked state during generational collection. * heap/MarkedAllocator.cpp: (JSC::MarkedAllocator::tryAllocateHelper): * heap/MarkedBlock.h: (JSC::MarkedBlock::didConsumeEmptyFreeList): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp trunk/Source/_javascript_Core/heap/MarkedBlock.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (155631 => 155632) --- trunk/Source/_javascript_Core/ChangeLog 2013-09-12 17:54:41 UTC (rev 155631) +++ trunk/Source/_javascript_Core/ChangeLog 2013-09-12 18:13:25 UTC (rev 155632) @@ -1,3 +1,25 @@ +2013-09-12 Mark Hahnenberg + +MarkedBlocks shouldn't be put in Allocated state if they didn't produce a FreeList +https://bugs.webkit.org/show_bug.cgi?id=121236 + +Reviewed by Geoffrey Garen. + +Right now, after a collection all MarkedBlocks are in the Marked block state. When lazy sweeping +happens, if a block returns an empty free list after being swept, we call didConsumeFreeList(), +which moves the block into the Allocated block state. This happens to both the block that was +just being allocated out of (i.e. m_currentBlock) as well as any blocks who are completely full. +We should distinguish between these two cases: m_currentBlock should transition to +Allocated (because we were just allocating out of it) and any subsequent block that returns an +empty free list should transition back to the Marked state. This will make the block state more +consistent with the actual state the block is in, and it will also allow us to speed up moving +all blocks to the Marked state during generational collection. + +* heap/MarkedAllocator.cpp: +(JSC::MarkedAllocator::tryAllocateHelper): +* heap/MarkedBlock.h: +(JSC::MarkedBlock::didConsumeEmptyFreeList): + 2013-09-12 Mark Lam Change debug hooks to pass sourceID and position info via the DebuggerCallFrame. Modified: trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp (155631 => 155632) --- trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp 2013-09-12 17:54:41 UTC (rev 155631) +++ trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp 2013-09-12 18:13:25 UTC (rev 155632) @@ -30,10 +30,16 @@ inline void* MarkedAllocator::tryAllocateHelper(size_t bytes) { if (!m_freeList.head) { +if (m_currentBlock) { +ASSERT(m_currentBlock == m_blocksToSweep); +m_currentBlock->didConsumeFreeList(); +m_blocksToSweep = m_currentBlock->next(); +} + for (MarkedBlock*& block = m_blocksToSweep; block; block = block->next()) { MarkedBlock::FreeList freeList = block->sweep(MarkedBlock::SweepToFreeList); if (!freeList.head) { -block->didConsumeFreeList(); +block->didConsumeEmptyFreeList(); continue; } Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.h (155631 => 155632) --- trunk/Source/_javascript_Core/heap/MarkedBlock.h 2013-09-12 17:54:41 UTC (rev 155631) +++ trunk/Source/_javascript_Core/heap/MarkedBlock.h 2013-09-12 18:13:25 UTC (rev 155632) @@ -133,6 +133,7 @@ // of these functions: void didConsumeFreeList(); // Call this once you've allocated all the items in the free list. void canonicalizeCellLivenessData(const FreeList&); +void didConsumeEmptyFreeList(); // Call this if you sweep a block, but the returned FreeList is empty. // Returns true if the "newly allocated" bitmap was non-null // and was successfully cleared and false otherwise. @@ -277,6 +278,14 @@ m_state = Allocated; } +inline void MarkedBlock::didConsumeEmptyFreeList() +{ +HEAP_LOG_BLOCK_STATE_TRANSITION(this); + +ASSERT(m_state
[webkit-changes] [155651] trunk
Title: [155651] trunk Revision 155651 Author r...@webkit.org Date 2013-09-12 15:09:25 -0700 (Thu, 12 Sep 2013) Log Message [Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange https://bugs.webkit.org/show_bug.cgi?id=121148 Reviewed by Kent Tamura. Source/WebCore: Non-steppable input types must not rendered as slider even if its webkit-apperance style property is set to slider-vertical/horizontal. Test: platform/qt/fast/forms/range/slider-crash-on-input.html * platform/qt/RenderThemeQStyle.cpp: (WebCore::RenderThemeQStyle::paintSliderTrack): LayoutTests: Trying to render text input as slider-vertical. Expecting to run without crash. * platform/qt/fast/forms/range/slider-crash-on-input.html: Added. * platform/qt/platform/qt/fast/forms/range/slider-crash-on-input-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/qt/RenderThemeQStyle.cpp Added Paths trunk/LayoutTests/platform/qt/fast/forms/range/slider-crash-on-input.html trunk/LayoutTests/platform/qt/platform/qt/fast/forms/range/ trunk/LayoutTests/platform/qt/platform/qt/fast/forms/range/slider-crash-on-input-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (155650 => 155651) --- trunk/LayoutTests/ChangeLog 2013-09-12 21:40:04 UTC (rev 155650) +++ trunk/LayoutTests/ChangeLog 2013-09-12 22:09:25 UTC (rev 155651) @@ -1,3 +1,15 @@ +2013-09-12 Renata Hodovan + +[Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange +https://bugs.webkit.org/show_bug.cgi?id=121148 + +Reviewed by Kent Tamura. + +Trying to render text input as slider-vertical. Expecting to run without crash. + +* platform/qt/fast/forms/range/slider-crash-on-input.html: Added. +* platform/qt/platform/qt/fast/forms/range/slider-crash-on-input-expected.txt: Added. + 2013-09-12 Alexey Proskuryakov Canvas fillText and measureText handle ideographic spaces differently Added: trunk/LayoutTests/platform/qt/fast/forms/range/slider-crash-on-input.html (0 => 155651) --- trunk/LayoutTests/platform/qt/fast/forms/range/slider-crash-on-input.html (rev 0) +++ trunk/LayoutTests/platform/qt/fast/forms/range/slider-crash-on-input.html 2013-09-12 22:09:25 UTC (rev 155651) @@ -0,0 +1,7 @@ + + + +if (window.testRunner) +testRunner.dumpAsText(); +document.body.innerHTML = "PASS. WebKit didn't crash."; + \ No newline at end of file Added: trunk/LayoutTests/platform/qt/platform/qt/fast/forms/range/slider-crash-on-input-expected.txt (0 => 155651) --- trunk/LayoutTests/platform/qt/platform/qt/fast/forms/range/slider-crash-on-input-expected.txt (rev 0) +++ trunk/LayoutTests/platform/qt/platform/qt/fast/forms/range/slider-crash-on-input-expected.txt 2013-09-12 22:09:25 UTC (rev 155651) @@ -0,0 +1 @@ +PASS. WebKit didn't crash. Modified: trunk/Source/WebCore/ChangeLog (155650 => 155651) --- trunk/Source/WebCore/ChangeLog 2013-09-12 21:40:04 UTC (rev 155650) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 22:09:25 UTC (rev 155651) @@ -1,3 +1,18 @@ +2013-09-12 Renata Hodovan + +[Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange +https://bugs.webkit.org/show_bug.cgi?id=121148 + +Reviewed by Kent Tamura. + +Non-steppable input types must not rendered as slider even if its webkit-apperance style +property is set to slider-vertical/horizontal. + +Test: platform/qt/fast/forms/range/slider-crash-on-input.html + +* platform/qt/RenderThemeQStyle.cpp: +(WebCore::RenderThemeQStyle::paintSliderTrack): + 2013-09-12 Ryosuke Niwa Qt and Windows build fix. Modified: trunk/Source/WebCore/platform/qt/RenderThemeQStyle.cpp (155650 => 155651) --- trunk/Source/WebCore/platform/qt/RenderThemeQStyle.cpp 2013-09-12 21:40:04 UTC (rev 155650) +++ trunk/Source/WebCore/platform/qt/RenderThemeQStyle.cpp 2013-09-12 22:09:25 UTC (rev 155651) @@ -433,7 +433,7 @@ // some styles need this to show a highlight on one side of the groove HTMLInputElement* slider = o->node()->toInputElement(); -if (slider) { +if (slider && slider->isSteppable()) { p.styleOption.slider.upsideDown = (p.appearance == SliderHorizontalPart) && !o->style()->isLeftToRightDirection(); // Use the width as a multiplier in case the slider values are <= 1 const int width = r.width() > 0 ? r.width() : 100; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155657] trunk
Title: [155657] trunk Revision 155657 Author gga...@apple.com Date 2013-09-12 16:07:36 -0700 (Thu, 12 Sep 2013) Log Message Source/_javascript_Core: Web Inspector shouldn't artificially allocate the arguments object in functions that don't use it https://bugs.webkit.org/show_bug.cgi?id=121206 Reviewed by Joseph Pecoraro. This is a step toward better tools, and a 23% speedup in a simple _javascript_ benchmark run with the Web Inspector open. We want the Web Inspector to be fast, and we want it to produce reliable CPU and memory profiles. We can't do that if just opening the Web Inspector incurs huge CPU/memory penalties like the arguments object. Also, since use of the 'arguments' identifier is an API for allocating an object, I think it's good for the UI to let developers know when they've invoked that API and when they haven't. * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): No need to allocate the arguments object artificially for the debugger's sake. The activation object no longer assumes that the stack frame is laid out for one. (Long-term, this code will move out of the activation object, into a special object for interfacing with the debugger.) * runtime/JSActivation.cpp: (JSC::JSActivation::getOwnNonIndexPropertyNames): (JSC::JSActivation::getOwnPropertySlot): Don't advertise or provide an arguments object if the user function didn't include one. The bytecode generator will not have laid out the stack frame to support one. (Eventually, we do want the Web Inspector to see an arguments object in scope in the console. That's a one-line change in JSActivation, but it's blocked by https://bugs.webkit.org/show_bug.cgi?id=121208.) (JSC::JSActivation::argumentsGetter): * runtime/JSActivation.h: Removed this obsolete performance work-around. C++ property access to an activation object is no longer hot. LayoutTests: Web Inspector shouldn't artificially allocate the arguments object in functions that don't use it https://bugs.webkit.org/show_bug.cgi?id=121206 Reviewed by Joseph Pecoraro. * inspector/debugger/debugger-expand-scope-expected.txt: Updated these results to reflect the fact that it's correct to exclude the 'arguments' identifier from function scopes that don't use it. * inspector/debugger/debugger-expand-scope.html: Edited this test to include one frame that uses the 'arguments' identifier and one frame that doesn't, so we test both cases. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/inspector/debugger/debugger-expand-scope-expected.txt trunk/LayoutTests/inspector/debugger/debugger-expand-scope.html trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp trunk/Source/_javascript_Core/runtime/JSActivation.cpp trunk/Source/_javascript_Core/runtime/JSActivation.h Diff Modified: trunk/LayoutTests/ChangeLog (155656 => 155657) --- trunk/LayoutTests/ChangeLog 2013-09-12 23:03:16 UTC (rev 155656) +++ trunk/LayoutTests/ChangeLog 2013-09-12 23:07:36 UTC (rev 155657) @@ -1,3 +1,19 @@ +2013-09-12 Geoffrey Garen + +Web Inspector shouldn't artificially allocate the arguments object in functions that don't use it +https://bugs.webkit.org/show_bug.cgi?id=121206 + +Reviewed by Joseph Pecoraro. + + +* inspector/debugger/debugger-expand-scope-expected.txt: Updated these +results to reflect the fact that it's correct to exclude the 'arguments' +identifier from function scopes that don't use it. + +* inspector/debugger/debugger-expand-scope.html: Edited this test to +include one frame that uses the 'arguments' identifier and one frame +that doesn't, so we test both cases. + 2013-09-12 Samuel White element AXValue is listed as a writable value Modified: trunk/LayoutTests/inspector/debugger/debugger-expand-scope-expected.txt (155656 => 155657) --- trunk/LayoutTests/inspector/debugger/debugger-expand-scope-expected.txt 2013-09-12 23:03:16 UTC (rev 155656) +++ trunk/LayoutTests/inspector/debugger/debugger-expand-scope-expected.txt 2013-09-12 23:07:36 UTC (rev 155657) @@ -16,7 +16,6 @@ WindowWith Block innerFunction: function innerFunction(x) { Closure -arguments: Arguments[1] makeClosureLocalVar: "local.TextParam" n: "TextParam" WindowGlobal Modified: trunk/LayoutTests/inspector/debugger/debugger-expand-scope.html (155656 => 155657) --- trunk/LayoutTests/inspector/debugger/debugger-expand-scope.html 2013-09-12 23:03:16 UTC (rev 155656) +++ trunk/LayoutTests/inspector/debugger/debugger-expand-scope.html 2013-09-12 23:07:36 UTC (rev 155657) @@ -7,14 +7,14 @@ function makeClosure(n) { var makeClosureLocalVar = 'local.' + n; return function innerFunction(x) { -var innerFunctionLocalVar = x + 2; +var innerFunctionLocalVar = arguments[0] + 2; try { throw new Error("An exception"); } catch (e) { e.toString(); debugger; } -
[webkit-changes] [155649] trunk/Source
Title: [155649] trunk/Source Revision 155649 Author rn...@webkit.org Date 2013-09-12 14:04:17 -0700 (Thu, 12 Sep 2013) Log Message Source/_javascript_Core: Qt build fix. Add a return to make the compiler happy. * dfg/DFGGPRInfo.h: (JSC::DFG::JSValueRegs::gpr): Source/WebCore: Qt and Windows build fix. * page/animation/CSSPropertyAnimation.cpp: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGGPRInfo.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (155648 => 155649) --- trunk/Source/_javascript_Core/ChangeLog 2013-09-12 21:02:39 UTC (rev 155648) +++ trunk/Source/_javascript_Core/ChangeLog 2013-09-12 21:04:17 UTC (rev 155649) @@ -1,3 +1,10 @@ +2013-09-12 Ryosuke Niwa + +Qt build fix. Add a return to make the compiler happy. + +* dfg/DFGGPRInfo.h: +(JSC::DFG::JSValueRegs::gpr): + 2013-09-12 Filip Pizlo DFG::GenerationInfo init/fill methods shouldn't duplicate a bunch of logic Modified: trunk/Source/_javascript_Core/dfg/DFGGPRInfo.h (155648 => 155649) --- trunk/Source/_javascript_Core/dfg/DFGGPRInfo.h 2013-09-12 21:02:39 UTC (rev 155648) +++ trunk/Source/_javascript_Core/dfg/DFGGPRInfo.h 2013-09-12 21:04:17 UTC (rev 155649) @@ -166,6 +166,8 @@ case PayloadWord: return payloadGPR(); } +ASSERT_NOT_REACHED(); +return tagGPR(); } private: Modified: trunk/Source/WebCore/ChangeLog (155648 => 155649) --- trunk/Source/WebCore/ChangeLog 2013-09-12 21:02:39 UTC (rev 155648) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 21:04:17 UTC (rev 155649) @@ -1,3 +1,9 @@ +2013-09-12 Ryosuke Niwa + +Qt and Windows build fix. + +* page/animation/CSSPropertyAnimation.cpp: + 2013-09-11 Ryosuke Niwa Encapsulate globals in CSSPropertyAnimation.cpp Modified: trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp (155648 => 155649) --- trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp 2013-09-12 21:02:39 UTC (rev 155648) +++ trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp 2013-09-12 21:04:17 UTC (rev 155649) @@ -1131,7 +1131,7 @@ Vector m_propertyWrappers; unsigned m_propertyToIdMap[numCSSProperties]; -const unsigned cInvalidPropertyWrapperIndex = UINT_MAX; +static const unsigned cInvalidPropertyWrapperIndex = UINT_MAX; }; void CSSPropertyAnimationWrapperMap::addShorthandProperties() ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155648] trunk/LayoutTests
Title: [155648] trunk/LayoutTests Revision 155648 Author a...@apple.com Date 2013-09-12 14:02:39 -0700 (Thu, 12 Sep 2013) Log Message svg/animations/smil-leak-*.svg tests are flaky https://bugs.webkit.org/show_bug.cgi?id=114280 Reviewed by Tim Horton. Moved garbage collection out of the function that touches nodes to be collected, making sure that they are definitely not on the stack. I could not reproduce locally, so this is a speculative fix. * svg/animations/smil-leak-dynamically-added-element-instances.svg: * svg/animations/smil-leak-element-instances-noBaseValRef.svg: * svg/animations/smil-leak-element-instances.svg: * svg/animations/smil-leak-elements.svg: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/svg/animations/smil-leak-dynamically-added-element-instances.svg trunk/LayoutTests/svg/animations/smil-leak-element-instances-noBaseValRef.svg trunk/LayoutTests/svg/animations/smil-leak-element-instances.svg trunk/LayoutTests/svg/animations/smil-leak-elements.svg Diff Modified: trunk/LayoutTests/ChangeLog (155647 => 155648) --- trunk/LayoutTests/ChangeLog 2013-09-12 20:52:13 UTC (rev 155647) +++ trunk/LayoutTests/ChangeLog 2013-09-12 21:02:39 UTC (rev 155648) @@ -1,5 +1,22 @@ 2013-09-12 Alexey Proskuryakov +svg/animations/smil-leak-*.svg tests are flaky +https://bugs.webkit.org/show_bug.cgi?id=114280 + +Reviewed by Tim Horton. + +Moved garbage collection out of the function that touches nodes to be collected, +making sure that they are definitely not on the stack. + +I could not reproduce locally, so this is a speculative fix. + +* svg/animations/smil-leak-dynamically-added-element-instances.svg: +* svg/animations/smil-leak-element-instances-noBaseValRef.svg: +* svg/animations/smil-leak-element-instances.svg: +* svg/animations/smil-leak-elements.svg: + +2013-09-12 Alexey Proskuryakov + Flaky Test: plugins/mouse-events.html https://bugs.webkit.org/show_bug.cgi?id=116665 Modified: trunk/LayoutTests/svg/animations/smil-leak-dynamically-added-element-instances.svg (155647 => 155648) --- trunk/LayoutTests/svg/animations/smil-leak-dynamically-added-element-instances.svg 2013-09-12 20:52:13 UTC (rev 155647) +++ trunk/LayoutTests/svg/animations/smil-leak-dynamically-added-element-instances.svg 2013-09-12 21:02:39 UTC (rev 155648) @@ -32,37 +32,41 @@ return use; } -function cleanup() { -while (g.hasChildNodes()) -g.removeChild(g.lastChild); - +function startTest() { +// Collect garbage before recording starting live node count, in case there are live elements from previous tests. GCController.collect(); +originalLiveElements = window.internals.numberOfLiveNodes(); -var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements; -if (liveDelta == 0) -log("PASS"); -else -log("FAIL: " + liveDelta + " extra live node(s)"); +for (var i = 0; i < 50; i++) +g.appendChild(createAnimatedRectInstance()); -testRunner.notifyDone(); +setTimeout(addMoreInstances, 100); } function addMoreInstances() { for (var i = 0; i < 50; i++) g.appendChild(createAnimatedRectInstance()); -setTimeout(cleanup, 0); +setTimeout(continueTest, 0); } -function startTest() { -// Collect garbage before recording starting live node count, in case there are live elements from previous tests. +function continueTest() { +while (g.hasChildNodes()) +g.removeChild(g.lastChild); + +setTimeout(finishTest, 0); +} + +function finishTest() { GCController.collect(); -originalLiveElements = window.internals.numberOfLiveNodes(); -for (var i = 0; i < 50; i++) -g.appendChild(createAnimatedRectInstance()); +var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements; +if (liveDelta == 0) +log("PASS"); +else +log("FAIL: " + liveDelta + " extra live node(s)"); -setTimeout(addMoreInstances, 100); +testRunner.notifyDone(); } function load() { Modified: trunk/LayoutTests/svg/animations/smil-leak-element-instances-noBaseValRef.svg (155647 => 155648) --- trunk/LayoutTests/svg/animations/smil-leak-element-instances-noBaseValRef.svg 2013-09-12 20:52:13 UTC (rev 155647) +++ trunk/LayoutTests/svg/animations/smil-leak-element-instances-noBaseValRef.svg 2013-09-12 21:02:39 UTC (rev 155648) @@ -32,10 +32,25 @@ return use; } -function cleanup() { +function startTest() { +// Collect garbage before recording starting live node count, in case there are live elements from previous tests. +GCController.collect(); +originalLiveElements = window.internals.numberOfLiveNodes(); + +for (var i = 0; i < 100; i++) +g.appendChild(createAnimatedRectInstance()); + +setTimeout(continueTest, 0); +} + +function continueTest() { while (g.hasChildNodes()) g.removeChild(g.last
[webkit-changes] [155656] trunk/Tools
Title: [155656] trunk/Tools Revision 155656 Author lforsch...@apple.com Date 2013-09-12 16:03:16 -0700 (Thu, 12 Sep 2013) Log Message Create short build logs for errors and warnings. https://bugs.webkit.org/show_bug.cgi?id=120614 Reviewed by Ryosuke Niwa. * BuildSlaveSupport/build.webkit.org-config/master.cfg: -include StringIO (CompileWebKit.createSummary): -add a createSummary function which will parse out errors and warnings into a concise log file for quick viewing Modified Paths trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg (155655 => 155656) --- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2013-09-12 22:55:59 UTC (rev 155655) +++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2013-09-12 23:03:16 UTC (rev 155656) @@ -18,6 +18,7 @@ import re import json import operator +import cStringIO import urllib from committer_auth import CommitterAuth @@ -187,7 +188,23 @@ return shell.Compile.start(self) +def createSummary(self, log): +platform = self.getProperty('platform') +if platform.startswith('mac'): +warnings = [] +errors = [] +sio = cStringIO.StringIO(log.getText()) +for line in sio.readlines(): +if "arning:" in line: +warnings.append(line) +if "rror:" in line: +errors.append(line) +if warnings: +self.addCompleteLog('warnings', "".join(warnings)) +if errors: +self.addCompleteLog('errors', "".join(errors)) + class CompileWebKit1Only(CompileWebKit): command = ["perl", "./Tools/Scripts/build-webkit", "--no-webkit2", WithProperties("--%(configuration)s")] Modified: trunk/Tools/ChangeLog (155655 => 155656) --- trunk/Tools/ChangeLog 2013-09-12 22:55:59 UTC (rev 155655) +++ trunk/Tools/ChangeLog 2013-09-12 23:03:16 UTC (rev 155656) @@ -1,3 +1,15 @@ +2013-09-12 Lucas Forschler + +Create short build logs for errors and warnings. +https://bugs.webkit.org/show_bug.cgi?id=120614 + +Reviewed by Ryosuke Niwa. + +* BuildSlaveSupport/build.webkit.org-config/master.cfg: +-include StringIO +(CompileWebKit.createSummary): +-add a createSummary function which will parse out errors and warnings into a concise log file for quick viewing + 2013-09-12 Roger Fong Update cygwin downloader to search for packages in the right location. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155628] trunk/Source/WebCore
Title: [155628] trunk/Source/WebCore Revision 155628 Author zol...@webkit.org Date 2013-09-12 09:57:55 -0700 (Thu, 12 Sep 2013) Log Message Move LineInfo class into LineInfo.h https://bugs.webkit.org/show_bug.cgi?id=121191 Reviewed by David Hyatt. No new tests, no behavior change. * GNUmakefile.list.am: * Target.pri: * WebCore.vcxproj/WebCore.vcxproj: * WebCore.xcodeproj/project.pbxproj: * rendering/LineInfo.h: Added. (WebCore::LineInfo::LineInfo): (WebCore::LineInfo::isFirstLine): (WebCore::LineInfo::isLastLine): (WebCore::LineInfo::isEmpty): (WebCore::LineInfo::previousLineBrokeCleanly): (WebCore::LineInfo::floatPaginationStrut): (WebCore::LineInfo::runsFromLeadingWhitespace): (WebCore::LineInfo::resetRunsFromLeadingWhitespace): (WebCore::LineInfo::incrementRunsFromLeadingWhitespace): (WebCore::LineInfo::setFirstLine): (WebCore::LineInfo::setLastLine): (WebCore::LineInfo::setEmpty): (WebCore::LineInfo::setPreviousLineBrokeCleanly): (WebCore::LineInfo::setFloatPaginationStrut): * rendering/RenderBlockLineLayout.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/GNUmakefile.list.am trunk/Source/WebCore/Target.pri trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp Added Paths trunk/Source/WebCore/rendering/LineInfo.h Diff Modified: trunk/Source/WebCore/ChangeLog (155627 => 155628) --- trunk/Source/WebCore/ChangeLog 2013-09-12 16:50:36 UTC (rev 155627) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 16:57:55 UTC (rev 155628) @@ -1,3 +1,33 @@ +2013-09-12 Zoltan Horvath + +Move LineInfo class into LineInfo.h +https://bugs.webkit.org/show_bug.cgi?id=121191 + +Reviewed by David Hyatt. + +No new tests, no behavior change. + +* GNUmakefile.list.am: +* Target.pri: +* WebCore.vcxproj/WebCore.vcxproj: +* WebCore.xcodeproj/project.pbxproj: +* rendering/LineInfo.h: Added. +(WebCore::LineInfo::LineInfo): +(WebCore::LineInfo::isFirstLine): +(WebCore::LineInfo::isLastLine): +(WebCore::LineInfo::isEmpty): +(WebCore::LineInfo::previousLineBrokeCleanly): +(WebCore::LineInfo::floatPaginationStrut): +(WebCore::LineInfo::runsFromLeadingWhitespace): +(WebCore::LineInfo::resetRunsFromLeadingWhitespace): +(WebCore::LineInfo::incrementRunsFromLeadingWhitespace): +(WebCore::LineInfo::setFirstLine): +(WebCore::LineInfo::setLastLine): +(WebCore::LineInfo::setEmpty): +(WebCore::LineInfo::setPreviousLineBrokeCleanly): +(WebCore::LineInfo::setFloatPaginationStrut): +* rendering/RenderBlockLineLayout.cpp: + 2013-09-12 Bem Jones-Bey [CSS Shapes] Remove unnecessarily complex template from ShapeInfo classes Modified: trunk/Source/WebCore/GNUmakefile.list.am (155627 => 155628) --- trunk/Source/WebCore/GNUmakefile.list.am 2013-09-12 16:50:36 UTC (rev 155627) +++ trunk/Source/WebCore/GNUmakefile.list.am 2013-09-12 16:57:55 UTC (rev 155628) @@ -4359,6 +4359,7 @@ Source/WebCore/rendering/LogicalSelectionOffsetCaches.h \ Source/WebCore/rendering/LayoutRepainter.h \ Source/WebCore/rendering/LayoutRepainter.cpp \ + Source/WebCore/rendering/LineInfo.h \ Source/WebCore/rendering/LineWidth.h \ Source/WebCore/rendering/LineWidth.cpp \ Source/WebCore/rendering/OverlapTestRequestClient.h \ Modified: trunk/Source/WebCore/Target.pri (155627 => 155628) --- trunk/Source/WebCore/Target.pri 2013-09-12 16:50:36 UTC (rev 155627) +++ trunk/Source/WebCore/Target.pri 2013-09-12 16:57:55 UTC (rev 155628) @@ -2403,6 +2403,7 @@ rendering/InlineTextBox.h \ rendering/LayoutRepainter.h \ rendering/LayoutState.h \ +rendering/LineInfo.h \ rendering/LineWidth.h \ rendering/LogicalSelectionOffsetCaches.h \ rendering/mathml/RenderMathMLBlock.h \ Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (155627 => 155628) --- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2013-09-12 16:50:36 UTC (rev 155627) +++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2013-09-12 16:57:55 UTC (rev 155628) @@ -19991,6 +19991,7 @@ + Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (155627 => 155628) --- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2013-09-12 16:50:36 UTC (rev 155627) +++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2013-09-12 16:57:55 UTC (rev 155628) @@ -3410,6 +3410,7 @@ 9FA37EFD1172FDA600C4CD55 /* JSScriptProfileNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FA37EF91172FD9300C4CD55 /* JSScriptProfileNode.h */; }; A024575116CEAA27000E5671 /* EXTDrawBuffers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A024574E16CEAA27000E5671 /* EXTDrawBuffers.cpp */; }; A024575216CEAA27000E5671 /* EXTDrawBuffers.h in Headers */ = {isa = PBXBuildFile; fileRef
[webkit-changes] [155627] trunk/Source/WebCore
Title: [155627] trunk/Source/WebCore Revision 155627 Author bjone...@adobe.com Date 2013-09-12 09:50:36 -0700 (Thu, 12 Sep 2013) Log Message [CSS Shapes] Remove unnecessarily complex template from ShapeInfo classes https://bugs.webkit.org/show_bug.cgi?id=121213 Reviewed by Darin Adler. These classes were trying to be way too clever, and as a result were hard to read and hard to debug. Replace the complex templated method calls with virtual methods to make these classes much easier to understand and maintain. No new tests, no behavior change. * rendering/shapes/ShapeInfo.cpp: (WebCorecomputedShape): (WebCorecomputeSegmentsForLine): * rendering/shapes/ShapeInfo.h: * rendering/shapes/ShapeInsideInfo.cpp: (WebCore::ShapeInsideInfo::getShapeValue): * rendering/shapes/ShapeInsideInfo.h: (WebCore::ShapeInsideInfo::computeSegmentsForLine): (WebCore::ShapeInsideInfo::ShapeInsideInfo): * rendering/shapes/ShapeOutsideInfo.cpp: (WebCore::ShapeOutsideInfo::computeSegmentsForLine): (WebCore::ShapeOutsideInfo::getShapeValue): * rendering/shapes/ShapeOutsideInfo.h: (WebCore::ShapeOutsideInfo::ShapeOutsideInfo): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp trunk/Source/WebCore/rendering/shapes/ShapeInfo.h trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.cpp trunk/Source/WebCore/rendering/shapes/ShapeInsideInfo.h trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.h Diff Modified: trunk/Source/WebCore/ChangeLog (155626 => 155627) --- trunk/Source/WebCore/ChangeLog 2013-09-12 16:49:39 UTC (rev 155626) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 16:50:36 UTC (rev 155627) @@ -1,3 +1,32 @@ +2013-09-12 Bem Jones-Bey + +[CSS Shapes] Remove unnecessarily complex template from ShapeInfo classes +https://bugs.webkit.org/show_bug.cgi?id=121213 + +Reviewed by Darin Adler. + +These classes were trying to be way too clever, and as a result were +hard to read and hard to debug. Replace the complex templated method +calls with virtual methods to make these classes much easier to +understand and maintain. + +No new tests, no behavior change. + +* rendering/shapes/ShapeInfo.cpp: +(WebCorecomputedShape): +(WebCorecomputeSegmentsForLine): +* rendering/shapes/ShapeInfo.h: +* rendering/shapes/ShapeInsideInfo.cpp: +(WebCore::ShapeInsideInfo::getShapeValue): +* rendering/shapes/ShapeInsideInfo.h: +(WebCore::ShapeInsideInfo::computeSegmentsForLine): +(WebCore::ShapeInsideInfo::ShapeInsideInfo): +* rendering/shapes/ShapeOutsideInfo.cpp: +(WebCore::ShapeOutsideInfo::computeSegmentsForLine): +(WebCore::ShapeOutsideInfo::getShapeValue): +* rendering/shapes/ShapeOutsideInfo.h: +(WebCore::ShapeOutsideInfo::ShapeOutsideInfo): + 2013-09-12 Zoltan Horvath [CSS Shapes] Turn shape's logicalwidth/height into a LayoutSize Modified: trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp (155626 => 155627) --- trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp 2013-09-12 16:49:39 UTC (rev 155626) +++ trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp 2013-09-12 16:50:36 UTC (rev 155627) @@ -39,8 +39,8 @@ #include "Shape.h" namespace WebCore { -template -const Shape* ShapeInfo::computedShape() const +template +const Shape* ShapeInfo::computedShape() const { if (Shape* shape = m_shape.get()) return shape; @@ -48,7 +48,7 @@ WritingMode writingMode = m_renderer->style()->writingMode(); Length margin = m_renderer->style()->shapeMargin(); Length padding = m_renderer->style()->shapePadding(); -const ShapeValue* shapeValue = (m_renderer->style()->*shapeGetter)(); +const ShapeValue* shapeValue = this->shapeValue(); ASSERT(shapeValue); switch (shapeValue->type()) { @@ -68,8 +68,8 @@ return m_shape.get(); } -template -bool ShapeInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) +template +bool ShapeInfo::computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight) { ASSERT(lineHeight >= 0); m_shapeLineTop = lineTop - logicalTopOffset(); @@ -77,7 +77,7 @@ m_segments.clear(); if (lineOverlapsShapeBounds()) -(computedShape()->*intervalGetter)(m_shapeLineTop, std::min(m_lineHeight, shapeLogicalBottom() - lineTop), m_segments); +getIntervals(m_shapeLineTop, std::min(m_lineHeight, shapeLogicalBottom() - lineTop), m_segments); LayoutUnit logicalLeftOffset = this->logicalLeftOffset(); for (size_t i = 0; i < m_segments.size(); i++) { @@ -88,7 +88,7 @@ return m_segments.size(); } -template class ShapeInfo; -template class ShapeInfo; +template class ShapeInfo; +template class ShapeInfo; } #endif Modified: trunk/Source/WebCore/rendering/shapes/ShapeInfo.h (155626 => 155627) --- trunk/So
[webkit-changes] [155619] trunk/Source/WebKit/gtk
Title: [155619] trunk/Source/WebKit/gtk Revision 155619 Author zandober...@gmail.com Date 2013-09-12 09:02:39 -0700 (Thu, 12 Sep 2013) Log Message [GTK][WK1] Block accelerated compositing under non-X11 displays https://bugs.webkit.org/show_bug.cgi?id=121165 Reviewed by Martin Robinson. This is analogous to the changes in r154728 and r154729 that enforce disabling accelerated compositing under Wayland displays and made the RedirectedXCompositeWindow use in WebKit2 limited only to the X11 displays. * WebCoreSupport/AcceleratedCompositingContextGL.cpp: Remove two unnecessary header includes that also introduce symbols that conflict with the symbols defined in the X headers. Include the header if the GTK+ dependency can provide it. (WebKit::AcceleratedCompositingContext::initialize): Only set up the RedirectedXCompositeWindow instance if running under an X11 display. (WebKit::AcceleratedCompositingContext::renderLayersToWindow): The removal of the unnecessary header inclusions also removed the std::max() injection into the global scope. Using std::max directly instead. (WebKit::AcceleratedCompositingContext::scheduleLayerFlush): Ditto. * webkit/webkitwebview.cpp: (updateAcceleratedCompositingSetting): A helper function that ensures the accelerated compositing feature stays disabled under Wayland displays. It also prints out a warning message the first time the user tries to enable accelerated compositing under Wayland displays, telling that the feature is not supported and will remain disabled. (webkit_web_view_update_settings): Call updateAcceleratedCompositingSetting() to enable the feature if possible. (webkit_web_view_settings_notify): Ditto. Modified Paths trunk/Source/WebKit/gtk/ChangeLog trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp Diff Modified: trunk/Source/WebKit/gtk/ChangeLog (155618 => 155619) --- trunk/Source/WebKit/gtk/ChangeLog 2013-09-12 15:55:35 UTC (rev 155618) +++ trunk/Source/WebKit/gtk/ChangeLog 2013-09-12 16:02:39 UTC (rev 155619) @@ -1,3 +1,29 @@ +2013-09-12 Zan Dobersek + +[GTK][WK1] Block accelerated compositing under non-X11 displays +https://bugs.webkit.org/show_bug.cgi?id=121165 + +Reviewed by Martin Robinson. + +This is analogous to the changes in r154728 and r154729 that enforce disabling accelerated compositing +under Wayland displays and made the RedirectedXCompositeWindow use in WebKit2 limited only to the X11 displays. + +* WebCoreSupport/AcceleratedCompositingContextGL.cpp: Remove two unnecessary header includes that also +introduce symbols that conflict with the symbols defined in the X headers. Include the header +if the GTK+ dependency can provide it. +(WebKit::AcceleratedCompositingContext::initialize): Only set up the RedirectedXCompositeWindow instance +if running under an X11 display. +(WebKit::AcceleratedCompositingContext::renderLayersToWindow): The removal of the unnecessary header +inclusions also removed the std::max() injection into the global scope. Using std::max directly instead. +(WebKit::AcceleratedCompositingContext::scheduleLayerFlush): Ditto. +* webkit/webkitwebview.cpp: +(updateAcceleratedCompositingSetting): A helper function that ensures the accelerated compositing feature +stays disabled under Wayland displays. It also prints out a warning message the first time the user tries +to enable accelerated compositing under Wayland displays, telling that the feature is not supported and +will remain disabled. +(webkit_web_view_update_settings): Call updateAcceleratedCompositingSetting() to enable the feature if possible. +(webkit_web_view_settings_notify): Ditto. + 2013-09-11 Mario Sanchez Prada [GTK] Remove Gail dependency from build system for GTK3 Modified: trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp (155618 => 155619) --- trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp 2013-09-12 15:55:35 UTC (rev 155618) +++ trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp 2013-09-12 16:02:39 UTC (rev 155619) @@ -22,8 +22,6 @@ #if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL) #include "CairoUtilities.h" -#include "Chrome.h" -#include "ChromeClientGtk.h" #include "Frame.h" #include "FrameView.h" #include "GraphicsLayerTextureMapper.h" @@ -44,6 +42,10 @@ #include #include +#if PLATFORM(X11) && defined(GDK_WINDOWING_X11) +#include +#endif + const double gFramesPerSecond = 60; // There seems to be a delicate balance between the main loop being flooded @@ -81,6 +83,12 @@ if (m_rootLayer) return; +#if PLATFORM(X11) && defined(GDK_WINDOWING_X11) +GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get()); +if (!GDK_IS_X11_DISPLAY(display
[webkit-changes] [155642] trunk/Source/WebKit2
Title: [155642] trunk/Source/WebKit2 Revision 155642 Author commit-qu...@webkit.org Date 2013-09-12 13:00:17 -0700 (Thu, 12 Sep 2013) Log Message Web Inspector: Do not try to parse incomplete HTTP requests https://bugs.webkit.org/show_bug.cgi?id=121123 Patch by Andre Moreira Magalhaes on 2013-09-12 Reviewed by Darin Adler. When working on a patch for bug #121121 I found an issue with the InspectorServer where it would try to parse an HTTP message before receiving the full message and thus fail connecting with the chromedevtools plugin. What happens is that the WebSocketServerConnection receives buffers on WebSocketServerConnection::didReceiveSocketStreamData and calls WebSocketServerConnection::readHTTPMessage which then checks if we have a valid request by calling HTTPRequest::parseHTTPRequestFromBuffer. If the request is valid it tries to parse the message and clears the buffer, otherwise it continues adding data to the internal buffer until we have a valid request. The problem is that currently HTTPRequest::parseHTTPRequestFromBuffer considers the request as valid before receiving the full message. To solve this we should make the method check if the request headers end with a blank line otherwise we consider the request as invalid (see also http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html). * UIProcess/API/gtk/tests/TestInspectorServer.cpp: (sendIncompleteRequest): (beforeAll): Add GTK specific test to check if the inspector server replies to incomplete requests. * UIProcess/InspectorServer/HTTPRequest.cpp: (WebKit::HTTPRequest::parseHeaders): Do not consider request valid if headers didn't end with a blank line. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp trunk/Source/WebKit2/UIProcess/InspectorServer/HTTPRequest.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (155641 => 155642) --- trunk/Source/WebKit2/ChangeLog 2013-09-12 19:52:04 UTC (rev 155641) +++ trunk/Source/WebKit2/ChangeLog 2013-09-12 20:00:17 UTC (rev 155642) @@ -1,3 +1,34 @@ +2013-09-12 Andre Moreira Magalhaes + +Web Inspector: Do not try to parse incomplete HTTP requests +https://bugs.webkit.org/show_bug.cgi?id=121123 + +Reviewed by Darin Adler. + +When working on a patch for bug #121121 I found an issue with the InspectorServer where it would try +to parse an HTTP message before receiving the full message and thus fail connecting with the +chromedevtools plugin. + +What happens is that the WebSocketServerConnection receives buffers on +WebSocketServerConnection::didReceiveSocketStreamData and calls +WebSocketServerConnection::readHTTPMessage which then checks if we have a valid request by calling +HTTPRequest::parseHTTPRequestFromBuffer. If the request is valid it tries to parse the message and +clears the buffer, otherwise it continues adding data to the internal buffer until we have a valid +request. + +The problem is that currently HTTPRequest::parseHTTPRequestFromBuffer considers the request as valid +before receiving the full message. To solve this we should make the method check if the request +headers end with a blank line otherwise we consider the request as invalid (see also +http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html). + +* UIProcess/API/gtk/tests/TestInspectorServer.cpp: +(sendIncompleteRequest): +(beforeAll): +Add GTK specific test to check if the inspector server replies to incomplete requests. +* UIProcess/InspectorServer/HTTPRequest.cpp: +(WebKit::HTTPRequest::parseHeaders): +Do not consider request valid if headers didn't end with a blank line. + 2013-09-12 Anders Carlsson SharedBuffer::createNSData should return a RetainPtr Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp (155641 => 155642) --- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp 2013-09-12 19:52:04 UTC (rev 155641) +++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp 2013-09-12 20:00:17 UTC (rev 155642) @@ -240,7 +240,34 @@ g_assert_cmpstr(webkit_web_view_get_title(test->m_webView), ==, "Web Inspector - http://127.0.0.1:2999/"); } +static void sendIncompleteRequest(InspectorServerTest* test, gconstpointer) +{ +GOwnPtr error; +// Connect to the inspector server. +GSocketClient* client = g_socket_client_new(); +GSocketConnection* connection = g_socket_client_connect_to_host(client, "127.0.0.1", 2999, NULL, &error.outPtr()); +g_assert(!error.get()); + +// Send incomplete request (missing blank line after headers) and check if inspector server +// replies. The server should not reply to an incomplete request and the test should timeout +// on read. +GOutputStream* ostream = g_io_stream_get_output_stream(G_IO_STREAM(connection)); +
[webkit-changes] [155617] trunk/Source/WebKit
Title: [155617] trunk/Source/WebKit Revision 155617 Author commit-qu...@webkit.org Date 2013-09-12 08:55:04 -0700 (Thu, 12 Sep 2013) Log Message [Win] TestWebKitAPI fails to link. https://bugs.webkit.org/show_bug.cgi?id=121223 Patch by pe...@outlook.com on 2013-09-12 Reviewed by Brent Fulgham. * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add required symbol. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in Diff Modified: trunk/Source/WebKit/ChangeLog (155616 => 155617) --- trunk/Source/WebKit/ChangeLog 2013-09-12 15:52:10 UTC (rev 155616) +++ trunk/Source/WebKit/ChangeLog 2013-09-12 15:55:04 UTC (rev 155617) @@ -1,3 +1,12 @@ +2013-09-12 pe...@outlook.com + +[Win] TestWebKitAPI fails to link. +https://bugs.webkit.org/show_bug.cgi?id=121223 + +Reviewed by Brent Fulgham. + +* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add required symbol. + 2013-09-11 Brent Fulgham [Windows] Avoid converting from IntSize->SIZE->IntSize Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (155616 => 155617) --- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in 2013-09-12 15:52:10 UTC (rev 155616) +++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in 2013-09-12 15:55:04 UTC (rev 155617) @@ -382,6 +382,7 @@ symbolWithPointer(?draw@BitmapImage@WebCore@@MAEXPAVGraphicsContext@2@ABVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@@Z, ?draw@BitmapImage@WebCore@@MAEXPAVGraphicsContext@2@ABVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@@Z) #endif symbolWithPointer(?getHBITMAP@BitmapImage@WebCore@@UAE_NPAUHBITMAP__@@@Z, ?getHBITMAP@BitmapImage@WebCore@@UEAA_NPEAUHBITMAP__@@@Z) +?getHBITMAPOfSize@BitmapImage@WebCore@@UAE_NPAUHBITMAP__@@PBVIntSize@2@@Z symbolWithPointer(?drawPattern@Image@WebCore@@UAEXPAVGraphicsContext@2@ABVFloatRect@2@ABVAffineTransform@2@ABVFloatPoint@2@W4ColorSpace@2@W4CompositeOperator@2@1W4BlendMode@2@@Z, ?drawPattern@Image@WebCore@@UEAAXPEAVGraphicsContext@2@AEBVFloatRect@2@AEBVAffineTransform@2@AEBVFloatPoint@2@W4ColorSpace@2@W4CompositeOperator@2@1W4BlendMode@2@@Z) symbolWithPointer(?drawFrameMatchingSourceSize@BitmapImage@WebCore@@MAEXPAVGraphicsContext@2@ABVFloatRect@2@ABVIntSize@2@W4ColorSpace@2@W4CompositeOperator@2@@Z, ?drawFrameMatchingSourceSize@BitmapImage@WebCore@@MEAAXPEAVGraphicsContext@2@AEBVFloatRect@2@AEBVIntSize@2@W4ColorSpace@2@W4CompositeOperator@2@@Z) symbolWithPointer(?mayFillWithSolidColor@BitmapImage@WebCore@@MAE_NXZ, ?mayFillWithSolidColor@BitmapImage@WebCore@@MEAA_NXZ) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155616] trunk/Source/WebCore
Title: [155616] trunk/Source/WebCore Revision 155616 Author commit-qu...@webkit.org Date 2013-09-12 08:52:10 -0700 (Thu, 12 Sep 2013) Log Message [WinCairo] Compile errors, missing include. https://bugs.webkit.org/show_bug.cgi?id=121222 Patch by pe...@outlook.com on 2013-09-12 Reviewed by Brent Fulgham. * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Include required header. * platform/win/DragImageCairoWin.cpp: Include required header. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp trunk/Source/WebCore/platform/win/DragImageCairoWin.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (155615 => 155616) --- trunk/Source/WebCore/ChangeLog 2013-09-12 15:46:54 UTC (rev 155615) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 15:52:10 UTC (rev 155616) @@ -1,3 +1,13 @@ +2013-09-12 pe...@outlook.com + +[WinCairo] Compile errors, missing include. +https://bugs.webkit.org/show_bug.cgi?id=121222 + +Reviewed by Brent Fulgham. + +* platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Include required header. +* platform/win/DragImageCairoWin.cpp: Include required header. + 2013-09-12 Vivek Galatage XMLSerializer.serializeToString() should throw exception for invalid node value. Modified: trunk/Source/WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp (155615 => 155616) --- trunk/Source/WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp 2013-09-12 15:46:54 UTC (rev 155615) +++ trunk/Source/WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp 2013-09-12 15:52:10 UTC (rev 155616) @@ -29,6 +29,7 @@ #include "config.h" #include "GlyphPageTreeNode.h" +#include "HWndDC.h" #include "SimpleFontData.h" namespace WebCore { Modified: trunk/Source/WebCore/platform/win/DragImageCairoWin.cpp (155615 => 155616) --- trunk/Source/WebCore/platform/win/DragImageCairoWin.cpp 2013-09-12 15:46:54 UTC (rev 155615) +++ trunk/Source/WebCore/platform/win/DragImageCairoWin.cpp 2013-09-12 15:52:10 UTC (rev 155616) @@ -30,6 +30,7 @@ #include "CachedImage.h" #include "GraphicsContext.h" #include "GraphicsContextPlatformPrivateCairo.h" +#include "HWndDC.h" #include "Image.h" #include #include ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155665] trunk
Title: [155665] trunk Revision 155665 Author timothy_hor...@apple.com Date 2013-09-12 17:37:43 -0700 (Thu, 12 Sep 2013) Log Message [mac] Cache rendered image in PDFDocumentImage https://bugs.webkit.org/show_bug.cgi?id=121207 Reviewed by Simon Fraser. Tests: fast/images/pdf-as-image-too-big.html * loader/cache/CachedImage.cpp: (WebCore::CachedImage::createImage): PDFDocumentImage takes a ImageObserver now so that it can report decoded data size changes to the memory cache. * platform/graphics/Image.h: (WebCore::Image::isPDFDocumentImage): Added. * platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::PDFDocumentImage): PDFDocumentImage takes a ImageObserver now so that it can report decoded data size changes to the memory cache. (WebCore::PDFDocumentImage::applyRotationForPainting): Fix up some comments, and use GraphicsContext instead of CG API. (WebCore::PDFDocumentImage::cacheParametersMatch): Determine whether our cached image is still valid, given the new destination's size, CTM scale, and source rect. (WebCore::transformContextForPainting): Added. (WebCore::PDFDocumentImage::updateCachedImageIfNeeded): Cache a rendered bitmap of the PDF. Invalidate the cache if cacheParametersMatch decides that the parameters don't match, unless we're painting in low quality mode, in which case we'll scale the existing image (and then fully repaint when the high-quality repaint timer fires). Inform the memory cache of our new size. (WebCore::PDFDocumentImage::draw): Update the cached image if needed. Paint the cached image into the context if it's available (which it might not be, if the image is way too big and the allocation fails). Otherwise, paint straight into the context as we previously did. (WebCore::PDFDocumentImage::destroyDecodedData): Throw away the cached image if requested. (WebCore::PDFDocumentImage::decodedSize): (WebCore::PDFDocumentImage::drawPDFPage): Drive-by use GraphicsContext instead of CG directly. * platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::create): Override isPDFDocumentImage(). Add storage for the cached image buffer and various cache parameters. * rendering/ImageQualityController.cpp: (WebCore::ImageQualityController::shouldPaintAtLowQuality): PDFDocumentImage is also interested in/capable of low-quality painting now. Add a test ensuring that very large PDF-in- elements don't crash. * fast/images/pdf-as-image-too-big-expected.txt: Added. * fast/images/pdf-as-image-too-big.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/cache/CachedImage.cpp trunk/Source/WebCore/platform/graphics/Image.h trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp trunk/Source/WebCore/platform/graphics/cg/PDFDocumentImage.h trunk/Source/WebCore/rendering/ImageQualityController.cpp Added Paths trunk/LayoutTests/fast/images/pdf-as-image-too-big-expected.txt trunk/LayoutTests/fast/images/pdf-as-image-too-big.html Diff Modified: trunk/LayoutTests/ChangeLog (155664 => 155665) --- trunk/LayoutTests/ChangeLog 2013-09-13 00:33:03 UTC (rev 155664) +++ trunk/LayoutTests/ChangeLog 2013-09-13 00:37:43 UTC (rev 155665) @@ -1,3 +1,15 @@ +2013-09-12 Tim Horton + +[mac] Cache rendered image in PDFDocumentImage +https://bugs.webkit.org/show_bug.cgi?id=121207 + +Reviewed by Simon Fraser. + +Add a test ensuring that very large PDF-in- elements don't crash. + +* fast/images/pdf-as-image-too-big-expected.txt: Added. +* fast/images/pdf-as-image-too-big.html: Added. + 2013-09-12 Geoffrey Garen Web Inspector shouldn't artificially allocate the arguments object in functions that don't use it Added: trunk/LayoutTests/fast/images/pdf-as-image-too-big-expected.txt (0 => 155665) --- trunk/LayoutTests/fast/images/pdf-as-image-too-big-expected.txt (rev 0) +++ trunk/LayoutTests/fast/images/pdf-as-image-too-big-expected.txt 2013-09-13 00:37:43 UTC (rev 155665) @@ -0,0 +1 @@ +This test should not crash. Added: trunk/LayoutTests/fast/images/pdf-as-image-too-big.html (0 => 155665) --- trunk/LayoutTests/fast/images/pdf-as-image-too-big.html (rev 0) +++ trunk/LayoutTests/fast/images/pdf-as-image-too-big.html 2013-09-13 00:37:43 UTC (rev 155665) @@ -0,0 +1,14 @@ + + + +if (window.testRunner) +testRunner.dumpAsText(); + + + + + +This test should not crash. + + + \ No newline at end of file Modified: trunk/Source/WebCore/ChangeLog (155664 => 155665) --- trunk/Source/WebCore/ChangeLog 2013-09-13 00:33:03 UTC (rev 155664) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 00:37:43 UTC (rev 155665) @@ -1,5 +1,65 @@ 2013-09-12 Tim Horton +[mac] Cache rendered image in PDFDocumentImage +https://bugs.webkit.org/show_bug.cgi?id=121207 + +Reviewed by Simon Fraser. + +Tests: fast/images/pdf-as-image-too-big.html + +* loa
[webkit-changes] [155664] trunk/Source/WebCore
Title: [155664] trunk/Source/WebCore Revision 155664 Author timothy_hor...@apple.com Date 2013-09-12 17:33:03 -0700 (Thu, 12 Sep 2013) Log Message Image doesn't always repaint at high quality in all tiles after a live resize https://bugs.webkit.org/show_bug.cgi?id=121244 Reviewed by Darin Adler. Currently, ImageQualityController removes an image from its low-quality-images list from inside shouldPaintAtLowQuality, if this is the first paint outside of a live resize, but does not force the renderer to repaint in its entirety. However, there's no guarantee we've invalidated the whole renderer, so this can leave some parts of the image painted in low-quality. This just removes a short-circuit, instead using the ordinary high-quality-repaint timer to ensure that the entire renderer is repainted. No new test; all attempts have failed, as this depends on tiled drawing and a live resize occurring. * rendering/ImageQualityController.cpp: (WebCore::ImageQualityController::shouldPaintAtLowQuality): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/ImageQualityController.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (155663 => 155664) --- trunk/Source/WebCore/ChangeLog 2013-09-13 00:23:05 UTC (rev 155663) +++ trunk/Source/WebCore/ChangeLog 2013-09-13 00:33:03 UTC (rev 155664) @@ -1,3 +1,26 @@ +2013-09-12 Tim Horton + +Image doesn't always repaint at high quality in all tiles after a live resize +https://bugs.webkit.org/show_bug.cgi?id=121244 + +Reviewed by Darin Adler. + +Currently, ImageQualityController removes an image from its low-quality-images +list from inside shouldPaintAtLowQuality, if this is the first paint outside +of a live resize, but does not force the renderer to repaint in its entirety. + +However, there's no guarantee we've invalidated the whole renderer, so this can +leave some parts of the image painted in low-quality. + +This just removes a short-circuit, instead using the ordinary high-quality-repaint +timer to ensure that the entire renderer is repainted. + +No new test; all attempts have failed, as this depends on tiled drawing +and a live resize occurring. + +* rendering/ImageQualityController.cpp: +(WebCore::ImageQualityController::shouldPaintAtLowQuality): + 2013-09-12 Brent Fulgham [EFL] Speculative build fix after r155638. Modified: trunk/Source/WebCore/rendering/ImageQualityController.cpp (155663 => 155664) --- trunk/Source/WebCore/rendering/ImageQualityController.cpp 2013-09-13 00:23:05 UTC (rev 155663) +++ trunk/Source/WebCore/rendering/ImageQualityController.cpp 2013-09-13 00:33:03 UTC (rev 155664) @@ -142,11 +142,8 @@ m_liveResizeOptimizationIsActive = true; return true; } -if (m_liveResizeOptimizationIsActive) { -// Live resize has ended, paint in HQ and remove this object from the list. -removeLayer(object, innerMap, layer); +if (m_liveResizeOptimizationIsActive) return false; -} } const AffineTransform& currentTransform = context->getCTM(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155614] trunk/Tools
Title: [155614] trunk/Tools Revision 155614 Author o...@webkit.org Date 2013-09-12 08:30:54 -0700 (Thu, 12 Sep 2013) Log Message Auto GDB backtrace generation for EFL/GTK/Qt bots. https://bugs.webkit.org/show_bug.cgi?id=119338 Patch by Gabor Abraham on 2013-09-12 Reviewed by Csaba Osztrogonác. * Scripts/webkitpy/port/efl.py: (EflPort.check_sys_deps): (EflPort): (EflPort._get_crash_log): * Scripts/webkitpy/port/efl_unittest.py: (EflPortTest.test_show_results_html_file): (EflPortTest): (EflPortTest.test_get_crash_log): * Scripts/webkitpy/port/gtk.py: (GtkPort._get_crash_log): * Scripts/webkitpy/port/gtk_unittest.py: (GtkPortTest.test_get_crash_log): * Scripts/webkitpy/port/linux_get_crash_log.py: Added. (GDBCrashLogGenerator): (GDBCrashLogGenerator.__init__): (GDBCrashLogGenerator._get_gdb_output): (GDBCrashLogGenerator.generate_crash_log): (GDBCrashLogGenerator.generate_crash_log.match_filename): * Scripts/webkitpy/port/linux_get_crash_log_unittest.py: Added. (GDBCrashLogGeneratorTest): (GDBCrashLogGeneratorTest.test_generate_crash_log): (_mock_gdb_output): * Scripts/webkitpy/port/qt.py: (QtPort.default_child_processes): (QtPort): (QtPort._get_crash_log): * Scripts/webkitpy/port/qt_unittest.py: (QtPortTest.test_check_sys_deps): (QtPortTest): (QtPortTest.test_get_crash_log): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/port/efl.py trunk/Tools/Scripts/webkitpy/port/efl_unittest.py trunk/Tools/Scripts/webkitpy/port/gtk.py trunk/Tools/Scripts/webkitpy/port/gtk_unittest.py trunk/Tools/Scripts/webkitpy/port/qt.py trunk/Tools/Scripts/webkitpy/port/qt_unittest.py Added Paths trunk/Tools/Scripts/webkitpy/port/linux_get_crash_log.py trunk/Tools/Scripts/webkitpy/port/linux_get_crash_log_unittest.py Diff Modified: trunk/Tools/ChangeLog (155613 => 155614) --- trunk/Tools/ChangeLog 2013-09-12 15:28:14 UTC (rev 155613) +++ trunk/Tools/ChangeLog 2013-09-12 15:30:54 UTC (rev 155614) @@ -1,3 +1,41 @@ +2013-09-12 Gabor Abraham + +Auto GDB backtrace generation for EFL/GTK/Qt bots. +https://bugs.webkit.org/show_bug.cgi?id=119338 + +Reviewed by Csaba Osztrogonác. + +* Scripts/webkitpy/port/efl.py: +(EflPort.check_sys_deps): +(EflPort): +(EflPort._get_crash_log): +* Scripts/webkitpy/port/efl_unittest.py: +(EflPortTest.test_show_results_html_file): +(EflPortTest): +(EflPortTest.test_get_crash_log): +* Scripts/webkitpy/port/gtk.py: +(GtkPort._get_crash_log): +* Scripts/webkitpy/port/gtk_unittest.py: +(GtkPortTest.test_get_crash_log): +* Scripts/webkitpy/port/linux_get_crash_log.py: Added. +(GDBCrashLogGenerator): +(GDBCrashLogGenerator.__init__): +(GDBCrashLogGenerator._get_gdb_output): +(GDBCrashLogGenerator.generate_crash_log): +(GDBCrashLogGenerator.generate_crash_log.match_filename): +* Scripts/webkitpy/port/linux_get_crash_log_unittest.py: Added. +(GDBCrashLogGeneratorTest): +(GDBCrashLogGeneratorTest.test_generate_crash_log): +(_mock_gdb_output): +* Scripts/webkitpy/port/qt.py: +(QtPort.default_child_processes): +(QtPort): +(QtPort._get_crash_log): +* Scripts/webkitpy/port/qt_unittest.py: +(QtPortTest.test_check_sys_deps): +(QtPortTest): +(QtPortTest.test_get_crash_log): + 2013-09-12 Peter Gal Unreviewed. Moving myself to the commiters list. Modified: trunk/Tools/Scripts/webkitpy/port/efl.py (155613 => 155614) --- trunk/Tools/Scripts/webkitpy/port/efl.py 2013-09-12 15:28:14 UTC (rev 155613) +++ trunk/Tools/Scripts/webkitpy/port/efl.py 2013-09-12 15:30:54 UTC (rev 155614) @@ -33,6 +33,7 @@ from webkitpy.port.base import Port from webkitpy.port.pulseaudio_sanitizer import PulseAudioSanitizer from webkitpy.port.xvfbdriver import XvfbDriver +from webkitpy.port.linux_get_crash_log import GDBCrashLogGenerator class EflPort(Port): @@ -144,3 +145,6 @@ command.append("--no-webkit2") command.append(super(EflPort, self).make_args()) return command + +def _get_crash_log(self, name, pid, stdout, stderr, newer_than): +return GDBCrashLogGenerator(name, pid, newer_than, self._filesystem, self._path_to_driver).generate_crash_log(stdout, stderr) Modified: trunk/Tools/Scripts/webkitpy/port/efl_unittest.py (155613 => 155614) --- trunk/Tools/Scripts/webkitpy/port/efl_unittest.py 2013-09-12 15:28:14 UTC (rev 155613) +++ trunk/Tools/Scripts/webkitpy/port/efl_unittest.py 2013-09-12 15:30:54 UTC (rev 155614) @@ -77,3 +77,7 @@ self.assertEqual(port.run_python_unittests_command(), Port.script_shell_command("test-webkitpy")) self.assertEqual(port.run_perl_unittests_command(), Port.script_shell_command("test-webkitperl")) self.assertEqual(port.run_bindings_tests_command(), Port.script_shell_command("run-bindings-tests")) + +def test_get_crash_log(
[webkit-changes] [155662] trunk/Source/JavaScriptCore
Title: [155662] trunk/Source/_javascript_Core Revision 155662 Author fpi...@apple.com Date 2013-09-12 16:57:59 -0700 (Thu, 12 Sep 2013) Log Message DFG::Int32Operand and fillInt32() should go away and all uses should be replaced with SpeculateInt32Operand https://bugs.webkit.org/show_bug.cgi?id=121268 Reviewed by Oliver Hunt. * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileUInt32ToNumber): * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (155661 => 155662) --- trunk/Source/_javascript_Core/ChangeLog 2013-09-12 23:30:21 UTC (rev 155661) +++ trunk/Source/_javascript_Core/ChangeLog 2013-09-12 23:57:59 UTC (rev 155662) @@ -1,3 +1,18 @@ +2013-09-12 Filip Pizlo + +DFG::Int32Operand and fillInt32() should go away and all uses should be replaced with SpeculateInt32Operand +https://bugs.webkit.org/show_bug.cgi?id=121268 + +Reviewed by Oliver Hunt. + +* dfg/DFGSpeculativeJIT.cpp: +(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber): +* dfg/DFGSpeculativeJIT.h: +* dfg/DFGSpeculativeJIT32_64.cpp: +(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber): +* dfg/DFGSpeculativeJIT64.cpp: +(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber): + 2013-09-12 Geoffrey Garen Web Inspector shouldn't artificially allocate the arguments object in functions that don't use it Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (155661 => 155662) --- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2013-09-12 23:30:21 UTC (rev 155661) +++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2013-09-12 23:57:59 UTC (rev 155662) @@ -2315,7 +2315,7 @@ // We know that this sometimes produces doubles. So produce a double every // time. This at least allows subsequent code to not have weird conditionals. -Int32Operand op1(this, node->child1()); +SpeculateInt32Operand op1(this, node->child1()); FPRTemporary result(this); GPRReg inputGPR = op1.gpr(); @@ -2331,7 +2331,7 @@ return; } -Int32Operand op1(this, node->child1()); +SpeculateInt32Operand op1(this, node->child1()); GPRTemporary result(this); // For the benefit of OSR exit, force these to be in different registers. In reality the OSR exit compiler could find cases where you have uint32(%r1) followed by int32(%r1) and then use different registers, but that seems like too much effort. m_jit.move(op1.gpr(), result.gpr()); Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (155661 => 155662) --- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2013-09-12 23:30:21 UTC (rev 155661) +++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2013-09-12 23:57:59 UTC (rev 155662) @@ -130,7 +130,6 @@ } } -GPRReg fillInt32(Edge, DataFormat& returnFormat); #if USE(JSVALUE64) GPRReg fillJSValue(Edge); #elif USE(JSVALUE32_64) @@ -2247,8 +2246,6 @@ // === Operand types === // -// Int32Operand and JSValueOperand. -// // These classes are used to lock the operands to a node into machine // registers. These classes implement of pattern of locking a value // into register at the point of construction only if it is already in @@ -2256,64 +2253,6 @@ // used. We do so in order to attempt to avoid spilling one operand // in order to make space available for another. -class Int32Operand { -public: -explicit Int32Operand(SpeculativeJIT* jit, Edge edge, OperandSpeculationMode mode = AutomaticOperandSpeculation) -: m_jit(jit) -, m_edge(edge) -, m_gprOrInvalid(InvalidGPRReg) -#ifndef NDEBUG -, m_format(DataFormatNone) -#endif -{ -ASSERT(m_jit); -ASSERT_UNUSED(mode, mode == ManualOperandSpeculation || edge.useKind() == KnownInt32Use); -if (jit->isFilled(edge.node())) -gpr(); -} - -~Int32Operand() -{ -ASSERT(m_gprOrInvalid != InvalidGPRReg); -m_jit->unlock(m_gprOrInvalid); -} - -Edge edge() const -{ -return m_edge; -} - -Node* node() const -{ -return edge().node(); -} - -DataFormat format() -{ -gpr(); // m_format is set when m_gpr is locked. -ASSERT(m_format == DataFormatInt32 || m_format == DataFormatJSInt32); -return m_format; -} - -GPRReg gpr() -{ -if (m_gprOrInvalid == InvalidGPRReg) -
[webkit-changes] [155647] trunk/Source/WebCore
Title: [155647] trunk/Source/WebCore Revision 155647 Author rn...@webkit.org Date 2013-09-12 13:52:13 -0700 (Thu, 12 Sep 2013) Log Message Encapsulate globals in CSSPropertyAnimation.cpp https://bugs.webkit.org/show_bug.cgi?id=121205 Reviewed by Antti Koivisto. Encapsulated the globals inside a newly added CSSPropertyAnimationWrapperMap. Also removed the circular dependency from ShorthandPropertyWrapper's constructor to CSSPropertyAnimationWrapperMap::instance(). The circular dependency still exists in ensurePropertyMap but I'm going to remove it in the bug 121199. * page/animation/CSSPropertyAnimation.cpp: (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Takes a Vector of longhand wrappers instead of calling wrapperForProperty in the middle of constructing the very table. This circular dependency is now encapsulated in CSSPropertyAnimationWrapperMap::ensurePropertyMap. (WebCore::CSSPropertyAnimationWrapperMap::instance): Added. (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): Renamed from WebCore::wrapperForProperty. (WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex): Added. (WebCore::CSSPropertyAnimationWrapperMap::size): Added. (WebCore::CSSPropertyAnimationWrapperMap::addPropertyWrapper): Renamed from WebCore::addPropertyWrapper. Also cleaned up boolean logics to use early exits instead of nested ifs. (WebCore::CSSPropertyAnimationWrapperMap::addShorthandProperties): Renamed from WebCore::addShorthandProperties. (WebCore::CSSPropertyAnimationWrapperMap::ensurePropertyMap): Renamed from WebCore::ensurePropertyMap. Added an alias gPropertyWrappers for m_propertyWrappers; this aliasing will be removed in the bug 121199. (WebCore::CSSPropertyAnimation::blendProperties): (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated): (WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty): (WebCore::CSSPropertyAnimation::propertiesEqual): (WebCore::CSSPropertyAnimation::getPropertyAtIndex): (WebCore::CSSPropertyAnimation::getNumProperties): * page/animation/CSSPropertyAnimation.h: * rendering/style/RenderStyle.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp trunk/Source/WebCore/page/animation/CSSPropertyAnimation.h trunk/Source/WebCore/rendering/style/RenderStyle.h Diff Modified: trunk/Source/WebCore/ChangeLog (155646 => 155647) --- trunk/Source/WebCore/ChangeLog 2013-09-12 20:42:44 UTC (rev 155646) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 20:52:13 UTC (rev 155647) @@ -1,3 +1,36 @@ +2013-09-11 Ryosuke Niwa + +Encapsulate globals in CSSPropertyAnimation.cpp +https://bugs.webkit.org/show_bug.cgi?id=121205 + +Reviewed by Antti Koivisto. + +Encapsulated the globals inside a newly added CSSPropertyAnimationWrapperMap. Also removed the circular +dependency from ShorthandPropertyWrapper's constructor to CSSPropertyAnimationWrapperMap::instance(). +The circular dependency still exists in ensurePropertyMap but I'm going to remove it in the bug 121199. + +* page/animation/CSSPropertyAnimation.cpp: +(WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Takes a Vector of longhand wrappers instead of +calling wrapperForProperty in the middle of constructing the very table. This circular dependency is now +encapsulated in CSSPropertyAnimationWrapperMap::ensurePropertyMap. +(WebCore::CSSPropertyAnimationWrapperMap::instance): Added. +(WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): Renamed from WebCore::wrapperForProperty. +(WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex): Added. +(WebCore::CSSPropertyAnimationWrapperMap::size): Added. +(WebCore::CSSPropertyAnimationWrapperMap::addPropertyWrapper): Renamed from WebCore::addPropertyWrapper. Also +cleaned up boolean logics to use early exits instead of nested ifs. +(WebCore::CSSPropertyAnimationWrapperMap::addShorthandProperties): Renamed from WebCore::addShorthandProperties. +(WebCore::CSSPropertyAnimationWrapperMap::ensurePropertyMap): Renamed from WebCore::ensurePropertyMap. +Added an alias gPropertyWrappers for m_propertyWrappers; this aliasing will be removed in the bug 121199. +(WebCore::CSSPropertyAnimation::blendProperties): +(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated): +(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty): +(WebCore::CSSPropertyAnimation::propertiesEqual): +(WebCore::CSSPropertyAnimation::getPropertyAtIndex): +(WebCore::CSSPropertyAnimation::getNumProperties): +* page/animation/CSSPropertyAnimation.h: +* rendering/style/RenderStyle.h: + 2013-09-12 Anders Carlsson SharedBuffer::createNSData should return a RetainPtr Modified: trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp (155646 => 155647) -
[webkit-changes] [155610] trunk/Tools
Title: [155610] trunk/Tools Revision 155610 Author changseok...@collabora.com Date 2013-09-12 07:51:46 -0700 (Thu, 12 Sep 2013) Log Message [GTK] Add jhbuild-wayland.modules https://bugs.webkit.org/show_bug.cgi?id=120455 Reviewed by Gustavo Noronha Silva. Current versions of gtk+, gdk-pixbuf and glib don't fit the requirement for wayland support. With this patch, you can build extra gtk+, gdk-pixbuf and glib through jhbuild with exporting WEBKIT_EXTRA_MODULESETS. * gtk/jhbuild-wayland.modules: Added. Modified Paths trunk/Tools/ChangeLog Added Paths trunk/Tools/gtk/jhbuild-wayland.modules Diff Modified: trunk/Tools/ChangeLog (155609 => 155610) --- trunk/Tools/ChangeLog 2013-09-12 14:41:49 UTC (rev 155609) +++ trunk/Tools/ChangeLog 2013-09-12 14:51:46 UTC (rev 155610) @@ -1,3 +1,16 @@ +2013-09-12 ChangSeok Oh + +[GTK] Add jhbuild-wayland.modules +https://bugs.webkit.org/show_bug.cgi?id=120455 + +Reviewed by Gustavo Noronha Silva. + +Current versions of gtk+, gdk-pixbuf and glib don't fit the requirement for wayland support. +With this patch, you can build extra gtk+, gdk-pixbuf and glib through jhbuild with exporting +WEBKIT_EXTRA_MODULESETS. + +* gtk/jhbuild-wayland.modules: Added. + 2013-09-12 Mario Sanchez Prada [GTK][WK2] a11y tests unconditionally launching a11y daemons Added: trunk/Tools/gtk/jhbuild-wayland.modules (0 => 155610) --- trunk/Tools/gtk/jhbuild-wayland.modules (rev 0) +++ trunk/Tools/gtk/jhbuild-wayland.modules 2013-09-12 14:51:46 UTC (rev 155610) @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155661] trunk/Source/WebInspectorUI
Title: [155661] trunk/Source/WebInspectorUI Revision 155661 Author commit-qu...@webkit.org Date 2013-09-12 16:30:21 -0700 (Thu, 12 Sep 2013) Log Message Web Inspector: Duplicated color swatches changing autocompletes color names https://bugs.webkit.org/show_bug.cgi?id=121265 Patch by Joseph Pecoraro on 2013-09-12 Reviewed by Timothy Hatcher. CodeMirror bookmarks at position used to be unique but no longer are. Define an extension to give us unique bookmarks as we expected, and update all the old locations using setBookmark. * UserInterface/CSSStyleDeclarationTextEditor.js: (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover): (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): (WebInspector.CSSStyleDeclarationTextEditor.prototype.): (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): (WebInspector.CSSStyleDeclarationTextEditor.prototype): (WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText): * UserInterface/CodeMirrorAdditions.js: Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/CSSStyleDeclarationTextEditor.js trunk/Source/WebInspectorUI/UserInterface/CodeMirrorAdditions.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (155660 => 155661) --- trunk/Source/WebInspectorUI/ChangeLog 2013-09-12 23:28:32 UTC (rev 155660) +++ trunk/Source/WebInspectorUI/ChangeLog 2013-09-12 23:30:21 UTC (rev 155661) @@ -1,5 +1,25 @@ 2013-09-12 Joseph Pecoraro +Web Inspector: Duplicated color swatches changing autocompletes color names +https://bugs.webkit.org/show_bug.cgi?id=121265 + +Reviewed by Timothy Hatcher. + +CodeMirror bookmarks at position used to be unique but no longer are. +Define an extension to give us unique bookmarks as we expected, and +update all the old locations using setBookmark. + +* UserInterface/CSSStyleDeclarationTextEditor.js: +(WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover): +(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): +(WebInspector.CSSStyleDeclarationTextEditor.prototype.): +(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): +(WebInspector.CSSStyleDeclarationTextEditor.prototype): +(WebInspector.CSSStyleDeclarationTextEditor.prototype.event.newColorText): +* UserInterface/CodeMirrorAdditions.js: + +2013-09-12 Joseph Pecoraro + Web Inspector: Update CodeMirror for gutter fix https://bugs.webkit.org/show_bug.cgi?id=121262 Modified: trunk/Source/WebInspectorUI/UserInterface/CSSStyleDeclarationTextEditor.js (155660 => 155661) --- trunk/Source/WebInspectorUI/UserInterface/CSSStyleDeclarationTextEditor.js 2013-09-12 23:28:32 UTC (rev 155660) +++ trunk/Source/WebInspectorUI/UserInterface/CSSStyleDeclarationTextEditor.js 2013-09-12 23:30:21 UTC (rev 155661) @@ -191,7 +191,7 @@ // Protected -didDismissPopover: function(popover) +didDismissPopover: function(popover) { if (popover === this._colorPickerPopover) delete this._colorPickerPopover; @@ -362,7 +362,7 @@ var from = {line: i, ch: match.index}; var to = {line: i, ch: match.index + match[0].length}; -var checkboxMarker = this._codeMirror.setBookmark(from, checkboxElement); +var checkboxMarker = this._codeMirror.setUniqueBookmark(from, checkboxElement); checkboxMarker.__propertyCheckbox = true; var commentTextMarker = this._codeMirror.markText(from, to); @@ -439,10 +439,10 @@ swatchElement.addEventListener("click", this._colorSwatchClicked.bind(this)); var swatchInnerElement = document.createElement("span"); -swatchInnerElement.style.setProperty("background-color", match[0]); +swatchInnerElement.style.backgroundColor = match[0]; swatchElement.appendChild(swatchInnerElement); -var swatchMarker = this._codeMirror.setBookmark(from, swatchElement); +var swatchMarker = this._codeMirror.setUniqueBookmark(from, swatchElement); var colorTextMarker = this._codeMirror.markText(from, to); colorTextMarker.__markedColor = true; @@ -489,7 +489,7 @@ checkboxElement.addEventListener("change", this._propertyCheckboxChanged.bind(this)); checkboxElement.__cssProperty = property; -var checkboxMarker = this._codeMirror.setBookmark(from, checkboxElement); +var checkboxMarker = this._codeMirror.setUniqueBookmark(from, checkboxElement); checkboxMarker.__propertyCheckbox = true; } @@ -713,7 +713,7 @@ this._codeMirror.replaceR
[webkit-changes] [155660] trunk/Source
Title: [155660] trunk/Source Revision 155660 Author simon.fra...@apple.com Date 2013-09-12 16:28:32 -0700 (Thu, 12 Sep 2013) Log Message Avoid extra scrollbar-related layouts for overlay scrollbars https://bugs.webkit.org/show_bug.cgi?id=121267 Source/WebCore: Reviewed by Beth Dakin. If ScrollView::updateScrollbars() detected that scrollbars were added and removed, it would call contentsResized(), which calls setNeedsLayout(), followed by visibleContentsResized() which would trigger layout. There is no point doing this with overlay scrollbars, so avoid it by having setHas*Scrollbar() return true if the addition/removal of a scrollbar changed the available width. No tests: we can't test overlay scrollbars in tests. * page/FrameView.cpp: (WebCore::FrameView::setContentsSize): Drive-by assertion that checks that the unsigned m_deferSetNeedsLayouts doesn't wrap when decremented. * platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): Return true if the addition/removal changed available space. (WebCore::ScrollView::setHasVerticalScrollbar): Ditto. (WebCore::ScrollView::updateScrollbars): Only set sendContentResizedNotification if available space was changed by addition/removal of scrollbars. * platform/ScrollView.h: Source/WebKit2: Reviewed by Beth Dakin. view->resize() will call setNeedsLayout() if necessary, and may already have done layout, so the extra setNeedsLayout() here was bad. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setSize): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/platform/ScrollView.cpp trunk/Source/WebCore/platform/ScrollView.h trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (155659 => 155660) --- trunk/Source/WebCore/ChangeLog 2013-09-12 23:27:59 UTC (rev 155659) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 23:28:32 UTC (rev 155660) @@ -1,3 +1,31 @@ +2013-09-12 Simon Fraser + +Avoid extra scrollbar-related layouts for overlay scrollbars +https://bugs.webkit.org/show_bug.cgi?id=121267 + +Reviewed by Beth Dakin. + +If ScrollView::updateScrollbars() detected that scrollbars were added +and removed, it would call contentsResized(), which calls setNeedsLayout(), +followed by visibleContentsResized() which would trigger layout. There is no +point doing this with overlay scrollbars, so avoid it by having +setHas*Scrollbar() return true if the addition/removal of a scrollbar changed +the available width. + +No tests: we can't test overlay scrollbars in tests. + +* page/FrameView.cpp: +(WebCore::FrameView::setContentsSize): Drive-by assertion that +checks that the unsigned m_deferSetNeedsLayouts doesn't wrap when +decremented. +* platform/ScrollView.cpp: +(WebCore::ScrollView::setHasHorizontalScrollbar): Return true if the addition/removal +changed available space. +(WebCore::ScrollView::setHasVerticalScrollbar): Ditto. +(WebCore::ScrollView::updateScrollbars): Only set sendContentResizedNotification +if available space was changed by addition/removal of scrollbars. +* platform/ScrollView.h: + 2013-09-12 Zoltan Horvath [CSS Shapes] Rename shapeContainingBlockHeight to shapeContainingBlockLogicalHeight Modified: trunk/Source/WebCore/page/FrameView.cpp (155659 => 155660) --- trunk/Source/WebCore/page/FrameView.cpp 2013-09-12 23:27:59 UTC (rev 155659) +++ trunk/Source/WebCore/page/FrameView.cpp 2013-09-12 23:28:32 UTC (rev 155660) @@ -581,6 +581,7 @@ page->chrome().contentsSizeChanged(&frame(), size); // Notify only. +ASSERT(m_deferSetNeedsLayouts); m_deferSetNeedsLayouts--; if (!m_deferSetNeedsLayouts) Modified: trunk/Source/WebCore/platform/ScrollView.cpp (155659 => 155660) --- trunk/Source/WebCore/platform/ScrollView.cpp 2013-09-12 23:27:59 UTC (rev 155659) +++ trunk/Source/WebCore/platform/ScrollView.cpp 2013-09-12 23:28:32 UTC (rev 155660) @@ -84,7 +84,7 @@ platformRemoveChild(child); } -void ScrollView::setHasHorizontalScrollbar(bool hasBar) +bool ScrollView::setHasHorizontalScrollbar(bool hasBar) { ASSERT(!hasBar || !avoidScrollbarCreation()); if (hasBar && !m_horizontalScrollbar) { @@ -92,14 +92,21 @@ addChild(m_horizontalScrollbar.get()); didAddScrollbar(m_horizontalScrollbar.get(), HorizontalScrollbar); m_horizontalScrollbar->styleChanged(); -} else if (!hasBar && m_horizontalScrollbar) { +return !m_horizontalScrollbar->isOverlayScrollbar(); +} + +if (!hasBar && m_horizontalScrollbar) { +bool wasOverlayScrollbar = m_horizontalScrollbar->isOverlayScrollbar(); willRemoveScrollbar(m_horizontalScrollbar.get(), HorizontalScrollbar); removeChild(m_horizontalScrollbar.get());
[webkit-changes] [155655] trunk/Source/WebCore
Title: [155655] trunk/Source/WebCore Revision 155655 Author zol...@webkit.org Date 2013-09-12 15:55:59 -0700 (Thu, 12 Sep 2013) Log Message [CSS Shapes] Rename shapeContainingBlockHeight to shapeContainingBlockLogicalHeight https://bugs.webkit.org/show_bug.cgi?id=121252 Reviewed by Oliver Hunt. No new tests, no behavior change. * rendering/RenderBlockLineLayout.cpp: (WebCore::pushShapeContentOverflowBelowTheContentBox): * rendering/shapes/ShapeInfo.h: (WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp trunk/Source/WebCore/rendering/shapes/ShapeInfo.h Diff Modified: trunk/Source/WebCore/ChangeLog (155654 => 155655) --- trunk/Source/WebCore/ChangeLog 2013-09-12 22:46:57 UTC (rev 155654) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 22:55:59 UTC (rev 155655) @@ -1,3 +1,17 @@ +2013-09-12 Zoltan Horvath + +[CSS Shapes] Rename shapeContainingBlockHeight to shapeContainingBlockLogicalHeight +https://bugs.webkit.org/show_bug.cgi?id=121252 + +Reviewed by Oliver Hunt. + +No new tests, no behavior change. + +* rendering/RenderBlockLineLayout.cpp: +(WebCore::pushShapeContentOverflowBelowTheContentBox): +* rendering/shapes/ShapeInfo.h: +(WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): + 2013-09-12 Samuel White element AXValue is listed as a writable value Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (155654 => 155655) --- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-09-12 22:46:57 UTC (rev 155654) +++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp 2013-09-12 22:55:59 UTC (rev 155655) @@ -1407,18 +1407,18 @@ LayoutUnit logicalLineBottom = lineTop + lineHeight; LayoutUnit shapeLogicalBottom = shapeInsideInfo->shapeLogicalBottom(); -LayoutUnit shapeContainingBlockHeight = shapeInsideInfo->shapeContainingBlockHeight(); +LayoutUnit shapeContainingBlockLogicalHeight = shapeInsideInfo->shapeContainingBlockLogicalHeight(); -bool isOverflowPositionedAlready = (shapeContainingBlockHeight - shapeInsideInfo->owner()->borderAndPaddingAfter() + lineHeight) <= lineTop; +bool isOverflowPositionedAlready = (shapeContainingBlockLogicalHeight - shapeInsideInfo->owner()->borderAndPaddingAfter() + lineHeight) <= lineTop; // If the last line overlaps with the shape, we don't need the segments anymore if (lineTop < shapeLogicalBottom && shapeLogicalBottom < logicalLineBottom) shapeInsideInfo->clearSegments(); -if (logicalLineBottom <= shapeLogicalBottom || !shapeContainingBlockHeight || isOverflowPositionedAlready) +if (logicalLineBottom <= shapeLogicalBottom || !shapeContainingBlockLogicalHeight || isOverflowPositionedAlready) return; -LayoutUnit newLogicalHeight = block->logicalHeight() + (shapeContainingBlockHeight - (lineTop + shapeInsideInfo->owner()->borderAndPaddingAfter())); +LayoutUnit newLogicalHeight = block->logicalHeight() + (shapeContainingBlockLogicalHeight - (lineTop + shapeInsideInfo->owner()->borderAndPaddingAfter())); block->setLogicalHeight(newLogicalHeight); } Modified: trunk/Source/WebCore/rendering/shapes/ShapeInfo.h (155654 => 155655) --- trunk/Source/WebCore/rendering/shapes/ShapeInfo.h 2013-09-12 22:46:57 UTC (rev 155654) +++ trunk/Source/WebCore/rendering/shapes/ShapeInfo.h 2013-09-12 22:55:59 UTC (rev 155655) @@ -96,7 +96,7 @@ LayoutUnit logicalLineTop() const { return m_shapeLineTop + logicalTopOffset(); } LayoutUnit logicalLineBottom() const { return m_shapeLineTop + m_lineHeight + logicalTopOffset(); } -LayoutUnit shapeContainingBlockHeight() const { return (m_renderer->style()->boxSizing() == CONTENT_BOX) ? (m_shapeLogicalSize.height() + m_renderer->borderAndPaddingLogicalHeight()) : m_shapeLogicalSize.height(); } +LayoutUnit shapeContainingBlockLogicalHeight() const { return (m_renderer->style()->boxSizing() == CONTENT_BOX) ? (m_shapeLogicalSize.height() + m_renderer->borderAndPaddingLogicalHeight()) : m_shapeLogicalSize.height(); } bool lineOverlapsShapeBounds() const { return logicalLineTop() < shapeLogicalBottom() && shapeLogicalTop() <= logicalLineBottom(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155631] trunk/Source
Title: [155631] trunk/Source Revision 155631 Author akl...@apple.com Date 2013-09-12 10:54:41 -0700 (Thu, 12 Sep 2013) Log Message Remove RenderApplet. Reviewed by Darin Adler. Add a RenderEmbeddedObject::createForApplet(HTMLAppletElement&) and nuke the RenderApplet class from orbit. Modified Paths trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/GNUmakefile.list.am trunk/Source/WebCore/Target.pri trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/html/HTMLAppletElement.cpp trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp trunk/Source/WebCore/rendering/RenderEmbeddedObject.h trunk/Source/WebCore/rendering/RenderLayerBacking.cpp trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp trunk/Source/WebCore/rendering/RenderingAllInOne.cpp trunk/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp Removed Paths trunk/Source/WebCore/rendering/RenderApplet.cpp trunk/Source/WebCore/rendering/RenderApplet.h Diff Modified: trunk/Source/WebCore/CMakeLists.txt (155630 => 155631) --- trunk/Source/WebCore/CMakeLists.txt 2013-09-12 17:46:39 UTC (rev 155630) +++ trunk/Source/WebCore/CMakeLists.txt 2013-09-12 17:54:41 UTC (rev 155631) @@ -2108,7 +2108,6 @@ rendering/LayoutRepainter.cpp rendering/LineWidth.cpp rendering/PointerEventsHitRules.cpp -rendering/RenderApplet.cpp rendering/RenderArena.cpp rendering/RenderBR.cpp rendering/RenderBlock.cpp Modified: trunk/Source/WebCore/ChangeLog (155630 => 155631) --- trunk/Source/WebCore/ChangeLog 2013-09-12 17:46:39 UTC (rev 155630) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 17:54:41 UTC (rev 155631) @@ -1,3 +1,13 @@ +2013-09-12 Andreas Kling + +Remove RenderApplet. + + +Reviewed by Darin Adler. + +Add a RenderEmbeddedObject::createForApplet(HTMLAppletElement&) and nuke +the RenderApplet class from orbit. + 2013-09-12 Brent Fulgham [Windows] Build fix after r155621 Modified: trunk/Source/WebCore/GNUmakefile.list.am (155630 => 155631) --- trunk/Source/WebCore/GNUmakefile.list.am 2013-09-12 17:46:39 UTC (rev 155630) +++ trunk/Source/WebCore/GNUmakefile.list.am 2013-09-12 17:54:41 UTC (rev 155631) @@ -4369,8 +4369,6 @@ Source/WebCore/rendering/PointerEventsHitRules.cpp \ Source/WebCore/rendering/PointerEventsHitRules.h \ Source/WebCore/rendering/RegionOversetState.h \ - Source/WebCore/rendering/RenderApplet.cpp \ - Source/WebCore/rendering/RenderApplet.h \ Source/WebCore/rendering/RenderArena.cpp \ Source/WebCore/rendering/RenderArena.h \ Source/WebCore/rendering/RenderBlock.cpp \ Modified: trunk/Source/WebCore/Target.pri (155630 => 155631) --- trunk/Source/WebCore/Target.pri 2013-09-12 17:46:39 UTC (rev 155630) +++ trunk/Source/WebCore/Target.pri 2013-09-12 17:54:41 UTC (rev 155631) @@ -1150,7 +1150,6 @@ rendering/LayoutState.cpp \ rendering/LayoutRepainter.cpp \ rendering/LineWidth.cpp \ -rendering/RenderApplet.cpp \ rendering/RenderArena.cpp \ rendering/RenderBlock.cpp \ rendering/RenderBlockFlow.cpp \ @@ -2422,7 +2421,6 @@ rendering/PaintPhase.h \ rendering/PointerEventsHitRules.h \ rendering/RegionOversetState.h \ -rendering/RenderApplet.h \ rendering/RenderArena.h \ rendering/RenderBlock.h \ rendering/RenderBox.h \ Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (155630 => 155631) --- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2013-09-12 17:46:39 UTC (rev 155630) +++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2013-09-12 17:54:41 UTC (rev 155631) @@ -9648,20 +9648,6 @@ true true - - true - true - true - true - true - true - true - true - true - true - true - true - true true @@ -19996,7 +19982,6 @@ - Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (155630 => 155631) --- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2013-09-12 17:46:39 UTC (rev 155630) +++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2013-09-12 17:54:41 UTC (rev 155631) @@ -2484,9 +2484,6 @@ rendering - - rendering - rendering @@ -9480,9 +9477,6 @@ rendering - - rendering - rendering Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (155630 => 155631) --- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2013-09-12 17:46:39 UTC (rev 155630) +++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2013-09-12 17:54:41 UTC (rev 155631) @@ -5110,8 +5110,6 @@ BCEA4855097D93020094C9E4 /* break_lines.h
[webkit-changes] [155641] trunk/Source
Title: [155641] trunk/Source Revision 155641 Author ander...@apple.com Date 2013-09-12 12:52:04 -0700 (Thu, 12 Sep 2013) Log Message SharedBuffer::createNSData should return a RetainPtr https://bugs.webkit.org/show_bug.cgi?id=121237 Reviewed by Darin Adler. Source/WebCore: This makes memory management cleared and fixes a leak in PDFDocumentImage::createPDFDocument. We use a RetainPtr subclass as a stopgap measure to prevent code that does [buffer->createNSData() autorelease] from compiling and crashing due to the NSData object being overreleased. * loader/ResourceBuffer.h: * loader/mac/ResourceBuffer.mm: (WebCore::ResourceBuffer::createNSData): * platform/SharedBuffer.h: (WebCore::SharedBuffer::NSDataRetainPtr::NSDataRetainPtr): * platform/graphics/mac/PDFDocumentImageMac.mm: (WebCore::PDFDocumentImage::createPDFDocument): * platform/mac/HTMLConverter.mm: (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]): (fileWrapperForURL): * platform/mac/PasteboardMac.mm: (WebCore::fileWrapper): (WebCore::Pasteboard::read): (WebCore::documentFragmentWithRTF): (WebCore::fragmentFromWebArchive): * platform/mac/PlatformPasteboardMac.mm: (WebCore::PlatformPasteboard::setBufferForType): * platform/mac/SharedBufferMac.mm: (WebCore::SharedBuffer::createNSData): Source/WebKit/mac: Update for WebCore changes. This also fixes a leak where we'd create an NSFileWrapper from NSData but never release the data. * WebView/WebDataSource.mm: (-[WebDataSource data]): * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation documentSource]): * WebView/WebHTMLView.mm: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): * WebView/WebResource.mm: (-[WebResource encodeWithCoder:]): (-[WebResource data]): Source/WebKit2: Update for WebCore changes. * UIProcess/API/mac/WKView.mm: (-[WKView writeSelectionToPasteboard:types:]): (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]): (-[WKView namesOfPromisedFilesDroppedAtDestination:]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/ResourceBuffer.h trunk/Source/WebCore/loader/mac/ResourceBuffer.mm trunk/Source/WebCore/platform/SharedBuffer.h trunk/Source/WebCore/platform/graphics/mac/PDFDocumentImageMac.mm trunk/Source/WebCore/platform/mac/HTMLConverter.mm trunk/Source/WebCore/platform/mac/PasteboardMac.mm trunk/Source/WebCore/platform/mac/PlatformPasteboardMac.mm trunk/Source/WebCore/platform/mac/SharedBufferMac.mm trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/WebView/WebDataSource.mm trunk/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm trunk/Source/WebKit/mac/WebView/WebHTMLView.mm trunk/Source/WebKit/mac/WebView/WebResource.mm trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm Diff Modified: trunk/Source/WebCore/ChangeLog (155640 => 155641) --- trunk/Source/WebCore/ChangeLog 2013-09-12 19:48:49 UTC (rev 155640) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 19:52:04 UTC (rev 155641) @@ -1,3 +1,34 @@ +2013-09-12 Anders Carlsson + +SharedBuffer::createNSData should return a RetainPtr +https://bugs.webkit.org/show_bug.cgi?id=121237 + +Reviewed by Darin Adler. + +This makes memory management cleared and fixes a leak in PDFDocumentImage::createPDFDocument. +We use a RetainPtr subclass as a stopgap measure to prevent code that does [buffer->createNSData() autorelease] +from compiling and crashing due to the NSData object being overreleased. + +* loader/ResourceBuffer.h: +* loader/mac/ResourceBuffer.mm: +(WebCore::ResourceBuffer::createNSData): +* platform/SharedBuffer.h: +(WebCore::SharedBuffer::NSDataRetainPtr::NSDataRetainPtr): +* platform/graphics/mac/PDFDocumentImageMac.mm: +(WebCore::PDFDocumentImage::createPDFDocument): +* platform/mac/HTMLConverter.mm: +(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]): +(fileWrapperForURL): +* platform/mac/PasteboardMac.mm: +(WebCore::fileWrapper): +(WebCore::Pasteboard::read): +(WebCore::documentFragmentWithRTF): +(WebCore::fragmentFromWebArchive): +* platform/mac/PlatformPasteboardMac.mm: +(WebCore::PlatformPasteboard::setBufferForType): +* platform/mac/SharedBufferMac.mm: +(WebCore::SharedBuffer::createNSData): + 2013-09-12 Timothy Hatcher Remove more Timeline stuff we don't use Modified: trunk/Source/WebCore/loader/ResourceBuffer.h (155640 => 155641) --- trunk/Source/WebCore/loader/ResourceBuffer.h 2013-09-12 19:48:49 UTC (rev 155640) +++ trunk/Source/WebCore/loader/ResourceBuffer.h 2013-09-12 19:52:04 UTC (rev 155641) @@ -76,7 +76,7 @@ PassOwnPtr releasePurgeableBuffer(); #if PLATFORM(MAC) -NSData *createNSData(); +SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOpe
[webkit-changes] [155640] trunk/Source/WTF
Title: [155640] trunk/Source/WTF Revision 155640 Author mhahnenb...@apple.com Date 2013-09-12 12:48:49 -0700 (Thu, 12 Sep 2013) Log Message Bitmap's WordType should be a template parameter https://bugs.webkit.org/show_bug.cgi?id=121238 Reviewed by Darin Adler. The code is written as if it already is. We just need to lift it out of the class. This simplifies code that wants to load, for example, a single byte rather than an entire 32-bit word. * wtf/Bitmap.h: (WTF::Bitmap::Bitmap): (WTF::Bitmap::get): (WTF::Bitmap::set): (WTF::Bitmap::testAndSet): (WTF::Bitmap::testAndClear): (WTF::Bitmap::concurrentTestAndSet): (WTF::Bitmap::concurrentTestAndClear): (WTF::Bitmap::clear): (WTF::Bitmap::clearAll): (WTF::Bitmap::nextPossiblyUnset): (WTF::Bitmap::findRunOfZeros): (WTF::Bitmap::count): (WTF::Bitmap::isEmpty): (WTF::Bitmap::isFull): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Bitmap.h Diff Modified: trunk/Source/WTF/ChangeLog (155639 => 155640) --- trunk/Source/WTF/ChangeLog 2013-09-12 19:48:04 UTC (rev 155639) +++ trunk/Source/WTF/ChangeLog 2013-09-12 19:48:49 UTC (rev 155640) @@ -1,3 +1,30 @@ +2013-09-12 Mark Hahnenberg + +Bitmap's WordType should be a template parameter +https://bugs.webkit.org/show_bug.cgi?id=121238 + +Reviewed by Darin Adler. + +The code is written as if it already is. We just need to lift it out of the class. +This simplifies code that wants to load, for example, a single byte rather than an +entire 32-bit word. + +* wtf/Bitmap.h: +(WTF::Bitmap::Bitmap): +(WTF::Bitmap::get): +(WTF::Bitmap::set): +(WTF::Bitmap::testAndSet): +(WTF::Bitmap::testAndClear): +(WTF::Bitmap::concurrentTestAndSet): +(WTF::Bitmap::concurrentTestAndClear): +(WTF::Bitmap::clear): +(WTF::Bitmap::clearAll): +(WTF::Bitmap::nextPossiblyUnset): +(WTF::Bitmap::findRunOfZeros): +(WTF::Bitmap::count): +(WTF::Bitmap::isEmpty): +(WTF::Bitmap::isFull): + 2013-09-12 Anders Carlsson Add rudimentary support for move-only types as values in HashMap Modified: trunk/Source/WTF/wtf/Bitmap.h (155639 => 155640) --- trunk/Source/WTF/wtf/Bitmap.h 2013-09-12 19:48:04 UTC (rev 155639) +++ trunk/Source/WTF/wtf/Bitmap.h 2013-09-12 19:48:49 UTC (rev 155640) @@ -36,11 +36,8 @@ BitmapAtomic }; -template +template class Bitmap { -private: -typedef uint32_t WordType; - public: Bitmap(); @@ -59,8 +56,8 @@ size_t isFull() const; private: -static const WordType wordSize = sizeof(WordType) * 8; -static const WordType words = (size + wordSize - 1) / wordSize; +static const unsigned wordSize = sizeof(WordType) * 8; +static const unsigned words = (size + wordSize - 1) / wordSize; // the literal '1' is of type signed int. We want to use an unsigned // version of the correct size when doing the calculations because if @@ -72,26 +69,26 @@ FixedArray bits; }; -template -inline Bitmap::Bitmap() +template +inline Bitmap::Bitmap() { clearAll(); } -template -inline bool Bitmap::get(size_t n) const +template +inline bool Bitmap::get(size_t n) const { return !!(bits[n / wordSize] & (one << (n % wordSize))); } -template -inline void Bitmap::set(size_t n) +template +inline void Bitmap::set(size_t n) { bits[n / wordSize] |= (one << (n % wordSize)); } -template -inline bool Bitmap::testAndSet(size_t n) +template +inline bool Bitmap::testAndSet(size_t n) { WordType mask = one << (n % wordSize); size_t index = n / wordSize; @@ -100,8 +97,8 @@ return result; } -template -inline bool Bitmap::testAndClear(size_t n) +template +inline bool Bitmap::testAndClear(size_t n) { WordType mask = one << (n % wordSize); size_t index = n / wordSize; @@ -110,8 +107,8 @@ return result; } -template -inline bool Bitmap::concurrentTestAndSet(size_t n) +template +inline bool Bitmap::concurrentTestAndSet(size_t n) { if (atomicMode == BitmapNotAtomic) return testAndSet(n); @@ -130,8 +127,8 @@ return false; } -template -inline bool Bitmap::concurrentTestAndClear(size_t n) +template +inline bool Bitmap::concurrentTestAndClear(size_t n) { if (atomicMode == BitmapNotAtomic) return testAndClear(n); @@ -150,28 +147,28 @@ return true; } -template -inline void Bitmap::clear(size_t n) +template +inline void Bitmap::clear(size_t n) { bits[n / wordSize] &= ~(one << (n % wordSize)); } -template -inline void Bitmap::clearAll() +template +inline void Bitmap::clearAll() { memset(bits.data(), 0, sizeof(bits)); } -template -inline size_t Bitmap::nextPossiblyUnset(size_t start) const +template +inline size_t Bitmap::nextPossiblyUnset(size_t start) const { if (!~bits[start / wordSize]) return ((start / wordSize) + 1) * wordSize; return start + 1; } -template -inline int6
[webkit-changes] [155654] trunk/Tools
Title: [155654] trunk/Tools Revision 155654 Author roger_f...@apple.com Date 2013-09-12 15:46:57 -0700 (Thu, 12 Sep 2013) Log Message Update cygwin downloader to search for packages in the right location. * CygwinDownloader/cygwin-downloader.py: * CygwinDownloader/cygwin-downloader.zip: Modified Paths trunk/Tools/ChangeLog trunk/Tools/CygwinDownloader/cygwin-downloader.py trunk/Tools/CygwinDownloader/cygwin-downloader.zip Diff Modified: trunk/Tools/ChangeLog (155653 => 155654) --- trunk/Tools/ChangeLog 2013-09-12 22:41:43 UTC (rev 155653) +++ trunk/Tools/ChangeLog 2013-09-12 22:46:57 UTC (rev 155654) @@ -1,3 +1,10 @@ +2013-09-12 Roger Fong + +Update cygwin downloader to search for packages in the right location. + +* CygwinDownloader/cygwin-downloader.py: +* CygwinDownloader/cygwin-downloader.zip: + 2013-09-12 Anders Carlsson Add rudimentary support for move-only types as values in HashMap Modified: trunk/Tools/CygwinDownloader/cygwin-downloader.py (155653 => 155654) --- trunk/Tools/CygwinDownloader/cygwin-downloader.py 2013-09-12 22:41:43 UTC (rev 155653) +++ trunk/Tools/CygwinDownloader/cygwin-downloader.py 2013-09-12 22:46:57 UTC (rev 155654) @@ -78,7 +78,7 @@ print "Using Cygwin mirror server " + package_mirror_url + " to download setup.ini..." -urllib.urlretrieve(package_mirror_url + "setup.ini", "setup.ini.orig") +urllib.urlretrieve(package_mirror_url + "x86/setup.ini", "setup.ini.orig") downloaded_packages_file_path = "setup.ini.orig" downloaded_packages_file = file(downloaded_packages_file_path, "r") Modified: trunk/Tools/CygwinDownloader/cygwin-downloader.zip (Binary files differ) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155653] trunk
Title: [155653] trunk Revision 155653 Author commit-qu...@webkit.org Date 2013-09-12 15:41:43 -0700 (Thu, 12 Sep 2013) Log Message element AXValue is listed as a writable value https://bugs.webkit.org/show_bug.cgi?id=117650 Patch by Samuel White on 2013-09-12 Reviewed by Chris Fleizach. Source/WebCore: No new tests, updated existing accessibility/meter-element.html test to check writability. Changed meter element value to be unwritable. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::canSetValueAttribute): LayoutTests: Added writability check to meter element test. * accessibility/meter-element.html: * platform/mac/accessibility/meter-element-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/accessibility/meter-element.html trunk/LayoutTests/platform/mac/accessibility/meter-element-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp Diff Modified: trunk/LayoutTests/ChangeLog (155652 => 155653) --- trunk/LayoutTests/ChangeLog 2013-09-12 22:39:16 UTC (rev 155652) +++ trunk/LayoutTests/ChangeLog 2013-09-12 22:41:43 UTC (rev 155653) @@ -1,3 +1,15 @@ +2013-09-12 Samuel White + + element AXValue is listed as a writable value +https://bugs.webkit.org/show_bug.cgi?id=117650 + +Reviewed by Chris Fleizach. + +Added writability check to meter element test. + +* accessibility/meter-element.html: +* platform/mac/accessibility/meter-element-expected.txt: + 2013-09-12 Renata Hodovan [Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange Modified: trunk/LayoutTests/accessibility/meter-element.html (155652 => 155653) --- trunk/LayoutTests/accessibility/meter-element.html 2013-09-12 22:39:16 UTC (rev 155652) +++ trunk/LayoutTests/accessibility/meter-element.html 2013-09-12 22:41:43 UTC (rev 155653) @@ -26,6 +26,7 @@ debug(meter.title); debug(meter.description); debug(meter.valueDescription); +debug("AXValueSettable: " + meter.isAttributeSettable("AXValue")); debug("\n"); } Modified: trunk/LayoutTests/platform/mac/accessibility/meter-element-expected.txt (155652 => 155653) --- trunk/LayoutTests/platform/mac/accessibility/meter-element-expected.txt 2013-09-12 22:39:16 UTC (rev 155652) +++ trunk/LayoutTests/platform/mac/accessibility/meter-element-expected.txt 2013-09-12 22:41:43 UTC (rev 155653) @@ -8,6 +8,7 @@ AXTitle: AXDescription: AXValueDescription: 6 blocks used (out of 8 total) +AXValueSettable: false Meter2 @@ -15,6 +16,7 @@ AXTitle: AXDescription: AXValueDescription: 75% +AXValueSettable: false Meter3 @@ -22,6 +24,7 @@ AXTitle: AXDescription: AXValueDescription: +AXValueSettable: false Meter4 @@ -29,6 +32,7 @@ AXTitle: AXDescription: AXValueDescription: 12cm +AXValueSettable: false Meter5 @@ -36,6 +40,7 @@ AXTitle: AXDescription: AXValueDescription: 2cm +AXValueSettable: false Meter6 @@ -43,6 +48,7 @@ AXTitle: AXDescription: AXValueDescription: 12cm +AXValueSettable: false Meter7 @@ -50,6 +56,7 @@ AXTitle: AXDescription: AXValueDescription: 2cm +AXValueSettable: false PASS successfullyParsed is true Modified: trunk/Source/WebCore/ChangeLog (155652 => 155653) --- trunk/Source/WebCore/ChangeLog 2013-09-12 22:39:16 UTC (rev 155652) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 22:41:43 UTC (rev 155653) @@ -1,3 +1,16 @@ +2013-09-12 Samuel White + + element AXValue is listed as a writable value +https://bugs.webkit.org/show_bug.cgi?id=117650 + +Reviewed by Chris Fleizach. + +No new tests, updated existing accessibility/meter-element.html test +to check writability. Changed meter element value to be unwritable. + +* accessibility/AccessibilityRenderObject.cpp: +(WebCore::AccessibilityRenderObject::canSetValueAttribute): + 2013-09-12 Renata Hodovan [Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (155652 => 155653) --- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2013-09-12 22:39:16 UTC (rev 155652) +++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2013-09-12 22:41:43 UTC (rev 155653) @@ -2670,6 +2670,9 @@ if (isNativeTextControl()) return !isReadOnly(); +if (isMeter()) +return false; + if (equalIgnoringCase(getAttribute(aria_readonlyAttr), "true")) return false; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155652] trunk/Source/JavaScriptCore
Title: [155652] trunk/Source/_javascript_Core Revision 155652 Author mhahnenb...@apple.com Date 2013-09-12 15:39:16 -0700 (Thu, 12 Sep 2013) Log Message Rolling out r155632 Broke some tests. * heap/MarkedAllocator.cpp: (JSC::MarkedAllocator::tryAllocateHelper): * heap/MarkedBlock.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp trunk/Source/_javascript_Core/heap/MarkedBlock.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (155651 => 155652) --- trunk/Source/_javascript_Core/ChangeLog 2013-09-12 22:09:25 UTC (rev 155651) +++ trunk/Source/_javascript_Core/ChangeLog 2013-09-12 22:39:16 UTC (rev 155652) @@ -1,3 +1,13 @@ +2013-09-12 Mark Hahnenberg + +Rolling out r155632 + +Broke some tests. + +* heap/MarkedAllocator.cpp: +(JSC::MarkedAllocator::tryAllocateHelper): +* heap/MarkedBlock.h: + 2013-09-12 Ryosuke Niwa Qt build fix. Add a return to make the compiler happy. Modified: trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp (155651 => 155652) --- trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp 2013-09-12 22:09:25 UTC (rev 155651) +++ trunk/Source/_javascript_Core/heap/MarkedAllocator.cpp 2013-09-12 22:39:16 UTC (rev 155652) @@ -30,16 +30,10 @@ inline void* MarkedAllocator::tryAllocateHelper(size_t bytes) { if (!m_freeList.head) { -if (m_currentBlock) { -ASSERT(m_currentBlock == m_blocksToSweep); -m_currentBlock->didConsumeFreeList(); -m_blocksToSweep = m_currentBlock->next(); -} - for (MarkedBlock*& block = m_blocksToSweep; block; block = block->next()) { MarkedBlock::FreeList freeList = block->sweep(MarkedBlock::SweepToFreeList); if (!freeList.head) { -block->didConsumeEmptyFreeList(); +block->didConsumeFreeList(); continue; } Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.h (155651 => 155652) --- trunk/Source/_javascript_Core/heap/MarkedBlock.h 2013-09-12 22:09:25 UTC (rev 155651) +++ trunk/Source/_javascript_Core/heap/MarkedBlock.h 2013-09-12 22:39:16 UTC (rev 155652) @@ -133,7 +133,6 @@ // of these functions: void didConsumeFreeList(); // Call this once you've allocated all the items in the free list. void canonicalizeCellLivenessData(const FreeList&); -void didConsumeEmptyFreeList(); // Call this if you sweep a block, but the returned FreeList is empty. // Returns true if the "newly allocated" bitmap was non-null // and was successfully cleared and false otherwise. @@ -278,14 +277,6 @@ m_state = Allocated; } -inline void MarkedBlock::didConsumeEmptyFreeList() -{ -HEAP_LOG_BLOCK_STATE_TRANSITION(this); - -ASSERT(m_state == FreeListed); -m_state = Marked; -} - inline void MarkedBlock::clearMarks() { HEAP_LOG_BLOCK_STATE_TRANSITION(this); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [155626] trunk/Source/WebCore
Title: [155626] trunk/Source/WebCore Revision 155626 Author zol...@webkit.org Date 2013-09-12 09:49:39 -0700 (Thu, 12 Sep 2013) Log Message [CSS Shapes] Turn shape's logicalwidth/height into a LayoutSize https://bugs.webkit.org/show_bug.cgi?id=121187 Reviewed by David Hyatt. No new tests, no behavior change. * rendering/shapes/ShapeInfo.cpp: (WebCorecomputedShape): * rendering/shapes/ShapeInfo.h: (WebCore::ShapeInfo::setShapeSize): (WebCore::ShapeInfo::shapeContainingBlockHeight): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp trunk/Source/WebCore/rendering/shapes/ShapeInfo.h Diff Modified: trunk/Source/WebCore/ChangeLog (155625 => 155626) --- trunk/Source/WebCore/ChangeLog 2013-09-12 16:47:45 UTC (rev 155625) +++ trunk/Source/WebCore/ChangeLog 2013-09-12 16:49:39 UTC (rev 155626) @@ -1,3 +1,18 @@ +2013-09-12 Zoltan Horvath + +[CSS Shapes] Turn shape's logicalwidth/height into a LayoutSize +https://bugs.webkit.org/show_bug.cgi?id=121187 + +Reviewed by David Hyatt. + +No new tests, no behavior change. + +* rendering/shapes/ShapeInfo.cpp: +(WebCorecomputedShape): +* rendering/shapes/ShapeInfo.h: +(WebCore::ShapeInfo::setShapeSize): +(WebCore::ShapeInfo::shapeContainingBlockHeight): + 2013-09-12 Darin Adler Move layering-violating code from Pasteboard::plainText into Editor (Mac only at first) Modified: trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp (155625 => 155626) --- trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp 2013-09-12 16:47:45 UTC (rev 155625) +++ trunk/Source/WebCore/rendering/shapes/ShapeInfo.cpp 2013-09-12 16:49:39 UTC (rev 155626) @@ -45,7 +45,6 @@ if (Shape* shape = m_shape.get()) return shape; -const LayoutSize logicalBoxSize(m_shapeLogicalWidth, m_shapeLogicalHeight); WritingMode writingMode = m_renderer->style()->writingMode(); Length margin = m_renderer->style()->shapeMargin(); Length padding = m_renderer->style()->shapePadding(); @@ -55,11 +54,11 @@ switch (shapeValue->type()) { case ShapeValue::Shape: ASSERT(shapeValue->shape()); -m_shape = Shape::createShape(shapeValue->shape(), logicalBoxSize, writingMode, margin, padding); +m_shape = Shape::createShape(shapeValue->shape(), m_shapeLogicalSize, writingMode, margin, padding); break; case ShapeValue::Image: ASSERT(shapeValue->image()); -m_shape = Shape::createShape(shapeValue->image(), 0, logicalBoxSize, writingMode, margin, padding); +m_shape = Shape::createShape(shapeValue->image(), 0, m_shapeLogicalSize, writingMode, margin, padding); break; default: ASSERT_NOT_REACHED(); Modified: trunk/Source/WebCore/rendering/shapes/ShapeInfo.h (155625 => 155626) --- trunk/Source/WebCore/rendering/shapes/ShapeInfo.h 2013-09-12 16:47:45 UTC (rev 155625) +++ trunk/Source/WebCore/rendering/shapes/ShapeInfo.h 2013-09-12 16:49:39 UTC (rev 155626) @@ -72,16 +72,15 @@ void setShapeSize(LayoutUnit logicalWidth, LayoutUnit logicalHeight) { -if (m_renderer->style()->boxSizing() == CONTENT_BOX) { -logicalWidth -= m_renderer->borderAndPaddingLogicalWidth(); -logicalHeight -= m_renderer->borderAndPaddingLogicalHeight(); -} +LayoutSize newLogicalSize(logicalWidth, logicalHeight); -if (m_shapeLogicalWidth == logicalWidth && m_shapeLogicalHeight == logicalHeight) +if (m_renderer->style()->boxSizing() == CONTENT_BOX) +newLogicalSize -= LayoutSize(m_renderer->borderAndPaddingLogicalWidth(), m_renderer->borderAndPaddingLogicalHeight()); + +if (m_shapeLogicalSize == newLogicalSize) return; dirtyShapeSize(); -m_shapeLogicalWidth = logicalWidth; -m_shapeLogicalHeight = logicalHeight; +m_shapeLogicalSize = newLogicalSize; } virtual bool computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight); @@ -97,7 +96,7 @@ LayoutUnit logicalLineTop() const { return m_shapeLineTop + logicalTopOffset(); } LayoutUnit logicalLineBottom() const { return m_shapeLineTop + m_lineHeight + logicalTopOffset(); } -LayoutUnit shapeContainingBlockHeight() const { return (m_renderer->style()->boxSizing() == CONTENT_BOX) ? (m_shapeLogicalHeight + m_renderer->borderAndPaddingLogicalHeight()) : m_shapeLogicalHeight; } +LayoutUnit shapeContainingBlockHeight() const { return (m_renderer->style()->boxSizing() == CONTENT_BOX) ? (m_shapeLogicalSize.height() + m_renderer->borderAndPaddingLogicalHeight()) : m_shapeLogicalSize.height(); } bool lineOverlapsShapeBounds() const { return logicalLineTop() < shapeLogicalBottom() && shapeLogicalTop() <= logicalLineBottom(); } @@ -122,9 +121,7 @@ private: mutable OwnPtr m_shape; - -LayoutUnit m_shapeLogicalWidth; -LayoutUnit m_shapeLogicalHeight; +
[webkit-changes] [155646] trunk/LayoutTests
Title: [155646] trunk/LayoutTests Revision 155646 Author a...@apple.com Date 2013-09-12 13:42:44 -0700 (Thu, 12 Sep 2013) Log Message Flaky Test: plugins/mouse-events.html https://bugs.webkit.org/show_bug.cgi?id=116665 Reviewed by Anders Carlsson. * plugins/mouse-events-expected.txt: * plugins/mouse-events.html: This test used async calls for events, and then usually logged responses while waiting for a plg.eventLoggingEnabled setter synchronously. Depending on sync/async event order is not reliable, especially with old WebKit1 plug-in IPC code. * platform/mac-wk2/plugins/mouse-events-expected.txt: For some unclear reason, focus works differently in WebKit2. * platform/gtk/plugins/mouse-events-expected.txt: Removed. * platform/qt/plugins/mouse-events-expected.txt: Removed. * platform/win/plugins/mouse-events-expected.txt: Removed. These results looked similar to new cross-platform ones, hopefully custom results won't be needed any more. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk2/plugins/mouse-events-expected.txt trunk/LayoutTests/plugins/mouse-events-expected.txt trunk/LayoutTests/plugins/mouse-events.html Removed Paths trunk/LayoutTests/platform/gtk/plugins/mouse-events-expected.txt trunk/LayoutTests/platform/qt/plugins/mouse-events-expected.txt trunk/LayoutTests/platform/win/plugins/mouse-events-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (155645 => 155646) --- trunk/LayoutTests/ChangeLog 2013-09-12 20:40:03 UTC (rev 155645) +++ trunk/LayoutTests/ChangeLog 2013-09-12 20:42:44 UTC (rev 155646) @@ -1,3 +1,25 @@ +2013-09-12 Alexey Proskuryakov + +Flaky Test: plugins/mouse-events.html +https://bugs.webkit.org/show_bug.cgi?id=116665 + +Reviewed by Anders Carlsson. + +* plugins/mouse-events-expected.txt: +* plugins/mouse-events.html: +This test used async calls for events, and then usually logged responses while waiting +for a plg.eventLoggingEnabled setter synchronously. Depending on sync/async event +order is not reliable, especially with old WebKit1 plug-in IPC code. + +* platform/mac-wk2/plugins/mouse-events-expected.txt: For some unclear reason, +focus works differently in WebKit2. + +* platform/gtk/plugins/mouse-events-expected.txt: Removed. +* platform/qt/plugins/mouse-events-expected.txt: Removed. +* platform/win/plugins/mouse-events-expected.txt: Removed. +These results looked similar to new cross-platform ones, hopefully custom results +won't be needed any more. + 2013-09-12 Gurpreet Kaur CSS Unit vw in border-width maps to 0px. Deleted: trunk/LayoutTests/platform/gtk/plugins/mouse-events-expected.txt (155645 => 155646) --- trunk/LayoutTests/platform/gtk/plugins/mouse-events-expected.txt 2013-09-12 20:40:03 UTC (rev 155645) +++ trunk/LayoutTests/platform/gtk/plugins/mouse-events-expected.txt 2013-09-12 20:42:44 UTC (rev 155646) @@ -1,7 +0,0 @@ -CONSOLE MESSAGE: PLUGIN: getFocusEvent -CONSOLE MESSAGE: PLUGIN: mouseDown at (12, 12) -CONSOLE MESSAGE: PLUGIN: mouseUp at (12, 12) -CONSOLE MESSAGE: PLUGIN: mouseDown at (22, 22) -CONSOLE MESSAGE: PLUGIN: mouseUp at (32, 22) - -Test for bug 11517: Flash clicks/interactivity not working properly. Modified: trunk/LayoutTests/platform/mac-wk2/plugins/mouse-events-expected.txt (155645 => 155646) --- trunk/LayoutTests/platform/mac-wk2/plugins/mouse-events-expected.txt 2013-09-12 20:40:03 UTC (rev 155645) +++ trunk/LayoutTests/platform/mac-wk2/plugins/mouse-events-expected.txt 2013-09-12 20:42:44 UTC (rev 155646) @@ -1,6 +1,12 @@ -CONSOLE MESSAGE: PLUGIN: mouseDown at (12, 12) -CONSOLE MESSAGE: PLUGIN: mouseUp at (12, 12) -CONSOLE MESSAGE: PLUGIN: mouseDown at (22, 22) -CONSOLE MESSAGE: PLUGIN: mouseUp at (32, 22) Test for bug 11517: Flash clicks/interactivity not working properly. + +PLUGIN: mouseDown at (12, 12) +PLUGIN: mouseUp at (12, 12) +PLUGIN: mouseDown at (22, 22) +PLUGIN: mouseUp at (32, 22) +PLUGIN: getFocusEvent +PASS successfullyParsed is true + +TEST COMPLETE + Deleted: trunk/LayoutTests/platform/qt/plugins/mouse-events-expected.txt (155645 => 155646) --- trunk/LayoutTests/platform/qt/plugins/mouse-events-expected.txt 2013-09-12 20:40:03 UTC (rev 155645) +++ trunk/LayoutTests/platform/qt/plugins/mouse-events-expected.txt 2013-09-12 20:42:44 UTC (rev 155646) @@ -1,7 +0,0 @@ -CONSOLE MESSAGE: PLUGIN: getFocusEvent -CONSOLE MESSAGE: PLUGIN: mouseDown at (12, 12) -CONSOLE MESSAGE: PLUGIN: mouseUp at (12, 12) -CONSOLE MESSAGE: PLUGIN: mouseDown at (22, 22) -CONSOLE MESSAGE: PLUGIN: mouseUp at (32, 22) - -Test for bug 11517: Flash clicks/interactivity not working properly. Deleted: trunk/LayoutTests/platform/win/plugins/mouse-events-expected.txt (155645 => 155646) --- trunk/LayoutTests/platform/win/plugins/mouse-events-expected.txt 2013-09-12 20:40:03 UTC (rev 155645) +++ trunk/LayoutTests/platform/win/plugins/mouse-events-expected.txt
[webkit-changes] [155650] trunk/LayoutTests
Title: [155650] trunk/LayoutTests Revision 155650 Author a...@apple.com Date 2013-09-12 14:40:04 -0700 (Thu, 12 Sep 2013) Log Message Canvas fillText and measureText handle ideographic spaces differently https://bugs.webkit.org/show_bug.cgi?id=108881 Fixing the test: 1. Updated paths to js-test scripts. 2. Removed "meta charcode" - we don't need to specify a charset here, and it's "charset", not "charcode" anyway. * fast/canvas/canvas-measureText-ideographicSpace.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/canvas/canvas-measureText-ideographicSpace.html Diff Modified: trunk/LayoutTests/ChangeLog (155649 => 155650) --- trunk/LayoutTests/ChangeLog 2013-09-12 21:04:17 UTC (rev 155649) +++ trunk/LayoutTests/ChangeLog 2013-09-12 21:40:04 UTC (rev 155650) @@ -1,5 +1,17 @@ 2013-09-12 Alexey Proskuryakov +Canvas fillText and measureText handle ideographic spaces differently +https://bugs.webkit.org/show_bug.cgi?id=108881 + +Fixing the test: +1. Updated paths to js-test scripts. +2. Removed "meta charcode" - we don't need to specify a charset here, and it's +"charset", not "charcode" anyway. + +* fast/canvas/canvas-measureText-ideographicSpace.html: + +2013-09-12 Alexey Proskuryakov + svg/animations/smil-leak-*.svg tests are flaky https://bugs.webkit.org/show_bug.cgi?id=114280 Modified: trunk/LayoutTests/fast/canvas/canvas-measureText-ideographicSpace.html (155649 => 155650) --- trunk/LayoutTests/fast/canvas/canvas-measureText-ideographicSpace.html 2013-09-12 21:04:17 UTC (rev 155649) +++ trunk/LayoutTests/fast/canvas/canvas-measureText-ideographicSpace.html 2013-09-12 21:40:04 UTC (rev 155650) @@ -1,8 +1,7 @@ - - +