Timeline
Nov 11, 2012:
- 11:49 PM Changeset in webkit [134193] by
-
- 3 edits2 adds in trunk
Fix assertion failure in JSObject::tryGetIndexQuickly()
https://bugs.webkit.org/show_bug.cgi?id=101869
Patch by Michael Pruett <michael@68k.org> on 2012-11-11
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Currently JSObject::tryGetIndexQuickly() triggers an assertion
failure when the object has an undecided indexing type. This
case should be treated the same as a blank indexing type.
- runtime/JSObject.h:
(JSC::JSObject::tryGetIndexQuickly):
LayoutTests:
Add test case for an assertion failure triggered when constructing
a Blob with a sparse array.
- fast/constructors/blob-sparse-array-assertion-failure.html: Added.
- 11:24 PM Changeset in webkit [134192] by
-
- 3 edits in trunk/Tools
Change build congratulation message in EFL
https://bugs.webkit.org/show_bug.cgi?id=101833
Patch by Kangil Han <kangil.han@samsung.com> on 2012-11-11
Reviewed by Gyuyoung Kim.
EFL port is currently supporting both WK1 and WK2.
But, build congratulation message still shows WK1(EWebLauncher) only.
Therefore, this patch adopts WK2 reference execution(MiniBrowser) in its message.
From 'To run EWebLauncher with this newly-built code, use the'
to 'To run EWebLauncher/MiniBrowser with this newly-built code, use the'.
- Scripts/build-webkit:
(writeCongrats):
- Scripts/webkitdirs.pm:
(launcherName):
- 11:09 PM Changeset in webkit [134191] by
-
- 6 edits in trunk
Multiple Layout Tests (e.g. fast/repaint/japanese-rl-selection-clear.html) is failing after r133840.
https://bugs.webkit.org/show_bug.cgi?id=101547
Reviewed by Simon Fraser.
Source/WebCore:
I overlooked the fact when the selection is null, we still have to invalidate the caret rect that
previously existed. Revert the optimization added in r133840 to skip caret invalidation when new
selection is null, and add a special method to be called by FrameLoader prior to destruction instead.
This will let us avoid doing an extra layout upon destruction and not regress repaint tests.
Covered by existing tests.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection): Added DoNotUpdateAppearance option.
(WebCore::FrameSelection::prepareForDestruction): Added.
(WebCore::FrameSelection::updateAppearance): Reverted the flawed optimization added in r133840.
Also, don't update style before updating selection unless text caret is disabled since we always
update the layout (including style) when text caret is enabled.
- editing/FrameSelection.h:
(FrameSelection):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear): Call prepareForDestruction instead of clear to avoid a layout.
LayoutTests:
Remove Chromium test expectations as these tests now pass.
- platform/chromium/TestExpectations:
- 10:37 PM Changeset in webkit [134190] by
-
- 19 edits9 adds in trunk
[CSS3] Parsing the property, text-align-last.
https://bugs.webkit.org/show_bug.cgi?id=99439
Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-11-11
Reviewed by Julien Chaffraix.
This patch implements the parsing side of the "text-align-last" property specified
in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
Specification link : http://www.w3.org/TR/css3-text/#text-align-last
Source/WebCore:
Tests: fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html
fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the value of the text-align-last property.
- css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Parse the value, and check whether it is a proper value which text-align-last can have.
- css/CSSPrimitiveValueMappings.h:
(WebCore):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ETextAlignLast):
- css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
- css/CSSPropertyNames.in: Add '-webkit-text-align-last' property.
- css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
- css/StylePropertySet.cpp:
(WebCore):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
- rendering/style/RenderStyle.h:
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
- rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData): Add m_textAlignLast.
LayoutTests:
- fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html: Added.
- fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html: Added.
- fast/css3-text/css3-text-align-last/getComputedStyle/script-tests/getComputedStyle-text-align-last-inherited.js: Added.
(testComputedStyle):
- fast/css3-text/css3-text-align-last/getComputedStyle/script-tests/getComputedStyle-text-align-last.js: Added.
(testElementStyle):
(testComputedStyle):
- platform/chromium/TestExpectations:
- fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-expected.txt: Added.
- fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited-expected.txt: Added.
- platform/mac/TestExpectations:
- platform/qt-4.8/TestExpectations:
- platform/qt-mac/TestExpectations:
- platform/qt/TestExpectations:
- 10:35 PM Changeset in webkit [134189] by
-
- 2 edits in trunk/Source/WebCore
[Refactoring] Remove shadowPseudoId() and use setPseudo() in HTMLKeygenElement
https://bugs.webkit.org/show_bug.cgi?id=101881
Reviewed by Kent Tamura.
We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
setPseudo()/pseudo() instead.
No new tests, simple refacotring.
- html/HTMLKeygenElement.cpp:
(WebCore::KeygenSelectElement::KeygenSelectElement):
(KeygenSelectElement):
- 9:30 PM Changeset in webkit [134188] by
-
- 8 edits in trunk/Source/WebCore
Many DOMWindowProperties would benefit from being ScriptWrappable
https://bugs.webkit.org/show_bug.cgi?id=101887
Reviewed by Kentaro Hara.
These object are only ever created at the behest of script, which means
making them ScriptWrappable is a win.
- page/BarInfo.h:
- page/Console.h:
- page/Crypto.h:
- page/History.h:
- page/Location.h:
- page/Navigator.h:
- page/Performance.h:
- 9:04 PM Changeset in webkit [134187] by
-
- 48 edits in trunk/LayoutTests
Rebaseline month/week appearance tests
https://bugs.webkit.org/show_bug.cgi?id=101561
Unreviewed.
Rebaselining month/week appearance tests.
- platform/chromium-linux/fast/forms/month/month-appearance-basic-expected.png:
- platform/chromium-linux/fast/forms/month/month-appearance-l10n-expected.png:
- platform/chromium-linux/fast/forms/month/month-appearance-pseudo-classes-expected.png:
- platform/chromium-linux/fast/forms/month/month-appearance-pseudo-elements-expected.png:
- platform/chromium-linux/fast/forms/month/month-appearance-style-expected.png:
- platform/chromium-linux/fast/forms/week/week-appearance-basic-expected.png:
- platform/chromium-linux/fast/forms/week/week-appearance-pseudo-classes-expected.png:
- platform/chromium-linux/fast/forms/week/week-appearance-pseudo-elements-expected.png:
- platform/chromium-linux/fast/forms/week/week-appearance-style-expected.png:
- platform/chromium-mac-lion/fast/forms/month/month-appearance-basic-expected.png:
- platform/chromium-mac-lion/fast/forms/month/month-appearance-l10n-expected.png:
- platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-classes-expected.png:
- platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-elements-expected.png:
- platform/chromium-mac-lion/fast/forms/month/month-appearance-style-expected.png:
- platform/chromium-mac-lion/fast/forms/week/week-appearance-basic-expected.png:
- platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-classes-expected.png:
- platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-elements-expected.png:
- platform/chromium-mac-lion/fast/forms/week/week-appearance-style-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-basic-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-l10n-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-classes-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-elements-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-style-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-basic-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-classes-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-elements-expected.png:
- platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-style-expected.png:
- platform/chromium-mac/fast/forms/month/month-appearance-basic-expected.png:
- platform/chromium-mac/fast/forms/month/month-appearance-l10n-expected.png:
- platform/chromium-mac/fast/forms/month/month-appearance-pseudo-classes-expected.png:
- platform/chromium-mac/fast/forms/month/month-appearance-pseudo-elements-expected.png:
- platform/chromium-mac/fast/forms/month/month-appearance-style-expected.png:
- platform/chromium-mac/fast/forms/week/week-appearance-basic-expected.png:
- platform/chromium-mac/fast/forms/week/week-appearance-pseudo-classes-expected.png:
- platform/chromium-mac/fast/forms/week/week-appearance-pseudo-elements-expected.png:
- platform/chromium-mac/fast/forms/week/week-appearance-style-expected.png:
- platform/chromium-win-xp/fast/forms/month/month-appearance-l10n-expected.png:
- platform/chromium-win/fast/forms/month/month-appearance-basic-expected.png:
- platform/chromium-win/fast/forms/month/month-appearance-l10n-expected.png:
- platform/chromium-win/fast/forms/month/month-appearance-pseudo-classes-expected.png:
- platform/chromium-win/fast/forms/month/month-appearance-pseudo-elements-expected.png:
- platform/chromium-win/fast/forms/month/month-appearance-style-expected.png:
- platform/chromium-win/fast/forms/week/week-appearance-basic-expected.png:
- platform/chromium-win/fast/forms/week/week-appearance-pseudo-classes-expected.png:
- platform/chromium-win/fast/forms/week/week-appearance-pseudo-elements-expected.png:
- platform/chromium-win/fast/forms/week/week-appearance-style-expected.png:
- platform/chromium/TestExpectations:
- 8:42 PM Changeset in webkit [134186] by
-
- 3 edits in trunk/Source/WebCore
[V8] HTMLDocument::all() needs not to be custom
https://bugs.webkit.org/show_bug.cgi?id=101875
Reviewed by Adam Barth.
We can easily remove the custom getter from V8 because the
custom setter sets .all by ForceSet(). On the other hand,
it is non-trivial to remove the custom getter from JSC
because the custom setter sets .all by putDirect()
and the custom getter wants to get it by getDirect().
No tests. No change in behavior.
- bindings/v8/custom/V8HTMLDocumentCustom.cpp:
- html/HTMLDocument.idl:
- 8:29 PM Changeset in webkit [134185] by
-
- 3 edits in trunk/Source/WebCore
[V8] V8Console::memoryAttrGetter() needs not to be custom
https://bugs.webkit.org/show_bug.cgi?id=101873
Reviewed by Adam Barth.
No tests. No change in behavior.
- bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore):
- page/Console.idl:
- 7:40 PM Changeset in webkit [134184] by
-
- 15 edits2 adds in trunk
[Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
https://bugs.webkit.org/show_bug.cgi?id=101180
Reviewed by Dimitri Glazkov.
.:
Exposes necessary symbols.
- Source/autotools/symbols.filter:
Source/WebCore:
This is a preparation patch for Bug 100451.
We preserve RuleFeatureSet collected from select attributes in ShadowDOM.
When an element attribute is changed, we might have to invalidate content distribution,
however it's high cost operation. So we would like to check RuleFeatureSet used in
select attributes to determine we really need to invalidate distribution.
Like StyleResolver, ElementShadow has several rule features. When nested ShadowDOM is used,
first we collect features in nested ShadowDOM, and merge it to the parent ShadowDOM.
For the performance reason, we have a flag to check whether we need to collect features again.
Test: fast/dom/shadow/shadow-select-attribute-featureset.html
- WebCore.exp.in:
- dom/ElementShadow.cpp:
(WebCore::ElementShadow::ElementShadow):
(WebCore::ElementShadow::setShouldCollectSelectFeatureSet): Enable a flag to collect feature set of descendant
nodes (and their ShadowDOM).
(WebCore):
(WebCore::ElementShadow::ensureSelectFeatureSetCollected):
(WebCore::ElementShadow::collectSelectFeatureSetFrom): Collect RuleFeatureSet from all descendant Nodes and their
ShadowDOM. We need to collect id, class, and attribute names.
- dom/ElementShadow.h:
(WebCore::ElementShadow::shouldCollectSelectFeatureSet):
(ElementShadow):
(WebCore::ElementShadow::hasSelectorForId):
(WebCore):
(WebCore::ElementShadow::hasSelectorForClass):
(WebCore::ElementShadow::hasSelectorForAttribute):
- html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::parseAttribute): When select attribute is changed, enable a flag to recollect features.
(WebCore::HTMLContentElement::insertedInto): We have to recollect features when HTMLContentElement is moved.
(WebCore::HTMLContentElement::removedFrom): ditto.
- html/shadow/HTMLContentElement.h:
(WebCore::toHTMLContentElement):
(WebCore):
- testing/Internals.cpp:
(WebCore::Internals::hasSelectorForIdInShadow):
(WebCore):
(WebCore::Internals::hasSelectorForClassInShadow):
(WebCore::Internals::hasSelectorForAttributeInShadow):
- testing/Internals.h:
(Internals):
- testing/Internals.idl:
Source/WebKit2:
- win/WebKit2.def:
- win/WebKit2CFLite.def:
LayoutTests:
- fast/dom/shadow/shadow-select-attribute-featureset-expected.txt: Added.
- fast/dom/shadow/shadow-select-attribute-featureset.html: Added.
- 6:57 PM WikiStart edited by
- (diff)
- 6:27 PM Changeset in webkit [134183] by
-
- 13 edits2 deletes in trunk
Unreviewed, rolling out r134144.
http://trac.webkit.org/changeset/134144
https://bugs.webkit.org/show_bug.cgi?id=101876
seems to break win 7 chromium browser test (Requested by
hayato on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-11
.:
- Source/autotools/symbols.filter:
Source/WebCore:
- WebCore.exp.in:
- page/EventHandler.cpp:
(WebCore):
(WebCore::EventHandler::handleMouseMoveEvent):
- page/EventHandler.h:
(EventHandler):
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit2:
- win/WebKit2.def:
- win/WebKit2CFLite.def:
LayoutTests:
- fast/events/mouse-cursor-expected.txt: Removed.
- fast/events/mouse-cursor.html: Removed.
- 6:08 PM Changeset in webkit [134182] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG register allocation should be greedy rather than round-robin
https://bugs.webkit.org/show_bug.cgi?id=101870
Reviewed by Geoffrey Garen.
This simplifies the code, reduces some code duplication, and shows some slight
performance improvements in a few places, likely due to the fact that lower-numered
registers also typically have smaller encodings.
- dfg/DFGRegisterBank.h:
(JSC::DFG::RegisterBank::RegisterBank):
(JSC::DFG::RegisterBank::tryAllocate):
(JSC::DFG::RegisterBank::allocate):
(JSC::DFG::RegisterBank::allocateInternal):
(RegisterBank):
- 5:41 PM Changeset in webkit [134181] by
-
- 1 edit2 copies in branches/chromium/1312
Merge 133860 - User can change a disabled select (drop down box)
https://bugs.webkit.org/show_bug.cgi?id=100932
Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-08
Reviewed by Kent Tamura.
Source/WebCore:
<select> should not handle events if it's disabled.
Test: fast/forms/select/select-disabled.html
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::defaultEventHandler):
LayoutTests:
Verify that keyboard events do not change value of disabled select.
- fast/forms/select/select-disabled-expected.txt: Added.
- fast/forms/select/select-disabled.html: Added.
TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11363189
- 5:40 PM Changeset in webkit [134180] by
-
- 17 edits in trunk
Internals: MockPagePopup should not update DOM structure during detach()
https://bugs.webkit.org/show_bug.cgi?id=101710
Reviewed by Hajime Morita.
Source/WebCore:
PickerIndicatorElement::detach calls
MockPagePopupDriver::closePagePopup, MockPagePopup::~MockPagePopup,
which remove the mock iframe from the tree. But updating the tree during
detach() is dangerous.
MockPagePopupDriver::closePagePopup calls MockpagePopup::closeLater, it
requests to call 'close' asynchronously, and 'close' removes the mock
iframe. We need to change MockPagePopup so that it is ref-couted and has
a timer.
No new tests. This is a change for the test harness.
- testing/MockPagePopupDriver.cpp:
(MockPagePopup): Make this ref-counted, add closeLater, add close, and
add m_closeTimer.
(WebCore::MockPagePopup::MockPagePopup): Initialize the timer.
(WebCore::MockPagePopup::create): PassOwnPtr -> PassRefPtr
(WebCore::MockPagePopup::closeLater):
- Add one reference to avoid destruction by m_mockPagePopup.clear() in closePagePopup.
- Notify didClosePopup here because the client expects didClosePopup is called synchronously.
- Invoke the timer to call 'close'
(WebCore::MockPagePopup::close):
Just remove one reference. This means calling the desructor.
(WebCore::MockPagePopup::~MockPagePopup):
Move didClosePopup call to caloseLater.
(WebCore::MockPagePopupDriver::closePagePopup):
Request to close PagePopup.
Clear PagePopupClient in m_pagePopupController because this object is
necessary until MockPagePopup is closed, but it should not have a
reference to the PagePopupClient.
- testing/MockPagePopupDriver.h:
(MockPagePopupDriver): Make MockPagePopup ref-counted.
LayoutTests:
Update tests because page popup closing becomes asynchronous.
- fast/forms/resources/picker-common.js:
(waitUntilClosing): Added. Helper to wait until a page popup closing.
- platform/chromium/fast/forms/calendar-picker/calendar-picker-key-operations.html:
- platform/chromium/fast/forms/calendar-picker/calendar-picker-mouse-operations.html:
- platform/chromium/fast/forms/calendar-picker/calendar-picker-pre-100-year.html:
- platform/chromium/fast/forms/calendar-picker/calendar-picker-type-change-onchange.html:
- platform/chromium/fast/forms/calendar-picker/calendar-picker-with-step.html:
- platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html:
- platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations.html:
- platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-reset-value-after-reload.html:
- platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-step-attribute.html:
- platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-key-operations.html:
- platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations.html:
- platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-step-attribute.html:
- 5:35 PM Changeset in webkit [134179] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] The QNX extension method should not be enabled by default
https://bugs.webkit.org/show_bug.cgi?id=101863
Reviewed by Rob Buis.
Simply change the default to false.
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- 4:29 PM Changeset in webkit [134178] by
-
- 3 edits in trunk/Source/WebCore
axObjectCache code is more complicated than necessary
https://bugs.webkit.org/show_bug.cgi?id=101820
Reviewed by Darin Adler.
This code should use OwnPtr rather than manually calling new/delete.
Also, instead of using a "double check" pattern, we can just access the
private fields on the top document directly.
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::clearAXObjectCache):
(WebCore::Document::axObjectCacheExists):
(WebCore):
(WebCore::Document::axObjectCache):
- dom/Document.h:
(Document):
- 4:12 PM Changeset in webkit [134177] by
-
- 2 edits2 adds in trunk/Source/WebKit/chromium
[chromium] Expose CustomEvent through WebDOMCustomEvent.
https://bugs.webkit.org/show_bug.cgi?id=101293
Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-11
Reviewed by Adam Barth.
- WebKit.gyp:
- public/WebDOMCustomEvent.h: Added.
(WebKit):
(WebDOMCustomEvent):
(WebKit::WebDOMCustomEvent::WebDOMCustomEvent):
- src/WebDOMCustomEvent.cpp: Added.
(WebKit):
(WebKit::WebDOMCustomEvent::initCustomEvent):
- 3:54 PM Changeset in webkit [134176] by
-
- 2 edits in trunk/LayoutTests
[WK2] Mark fast/repaint/body-background-image.html as flaky.
- platform/wk2/TestExpectations:
- 3:51 PM Changeset in webkit [134175] by
-
- 2 edits in trunk/LayoutTests
[EFL] Unreviewed gardening.
Replace the pixel expectation for
fast/repaint/body-background-image.html with the one generated by the
WK1 port, since WK2 fails to render it properly at times (see bug
101773).
- platform/efl/fast/repaint/body-background-image-expected.png:
- 8:58 AM Changeset in webkit [134174] by
-
- 3 edits in trunk/Source/WebCore
Save one call to containerForRepaint() when updating layer positions
https://bugs.webkit.org/show_bug.cgi?id=101856
Reviewed by Dan Bernstein.
RenderLayer::updateLayerPositions() has already computed the repaint container,
but calls computeRepaintRects() which computes it again. Computing the repaint
container involves a walk back up the layer tree, so calling it during a tree
traversal is costly.
Fix by passing the repaint container down into computeRepaintRects().
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::computeRepaintRects):
(WebCore::RenderLayer::computeRepaintRectsIncludingDescendants):
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
(WebCore::RenderLayer::setHasVisibleContent):
- rendering/RenderLayer.h:
(RenderLayer):
- 6:17 AM Changeset in webkit [134173] by
-
- 15 edits in trunk/Source
WTFString::utf8() should have a mode of conversion to use replacement character
https://bugs.webkit.org/show_bug.cgi?id=101678
Source/JavaScriptCore:
Reviewed by Alexey Proskuryakov.
Follow the change on String::utf8()
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode): Pass String::StrictConversion instead of true to String::utf8().
Source/WebCore:
Reviewed by Alexey Proskuryakov.
Follow the change on String::utf8()
No new tests. No changes in behavior.
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::close): Pass String::StrictConversion instead of true to String::utf8().
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send): Ditto.
- html/MediaFragmentURIParser.cpp:
(WebCore::MediaFragmentURIParser::parseFragments): Ditto.
- platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::notifyChallengeResult): Ditto.
- platform/network/blackberry/rss/RSSFilterStream.cpp:
(WebCore::RSSFilterStream::convertContentToHtml): Ditto.
- platform/network/blackberry/rss/RSSGenerator.cpp:
(WebCore::RSSGenerator::generateHtml): Ditto.
Source/WebKit2:
Reviewed by Alexey Proskuryakov.
Update the symbol for String::utf8().
- win/WebKit2.def:
- win/WebKit2CFLite.def:
Source/WTF:
Reviewed by Alexander Pavlov.
Introduce conversion mode to String::utf8().
There are three conversion modes; lenient mode, strict mode, and
"replacing unpaired surrogates with the replacement character" (replacement) mode.
Lenient mode converts unpaired surrogates. Strict mode fails when there is an unpaired
surrogates and returns CString(). Replacement mode replaces unpaired surrogates with
the replacement character(U+FFFD). Replacement mode implements the algorithm defined at
http://dev.w3.org/2006/webapi/WebIDL/#dfn-obtain-unicode. WebSocket::send() requires
this algorithm to encode a string to utf-8.
- wtf/text/WTFString.cpp:
(WTF::String::utf8): Changed to take ConversionMode as the argument.
- wtf/text/WTFString.h:
(String):
- 5:12 AM Changeset in webkit [134172] by
-
- 2 edits2 copies in branches/chromium/1312
Merge 133983 - [Chromium] Arabic digits should appear left-to-right
https://bugs.webkit.org/show_bug.cgi?id=101440
Reviewed by Tony Chang.
Source/WebCore:
Call hb_buffer_set_direction() to set direction when drawing glyphs or
direction should be overridden. Leave direction setting to HarfBuzz when
WebKit is calculating widths because the direction is LTR by default while
calculating widths. Set script before shaping so that HarfBuzz can estimate
appropriate direction.
Test: fast/text/international/arabic-digits.html
- platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun):
Add m_script. This holds the script of the run.
(WebCore::HarfBuzzShaper::shape):
Tell shapeHarfBuzzRuns() to set direction when drawing glyphs or
direction should be overridden.
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
Set script of HarfBuzzRuns.
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
Add an argument that indicates it should set direction.
- platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
(WebCore::HarfBuzzShaper::HarfBuzzRun::create):
(WebCore::HarfBuzzShaper::HarfBuzzRun::rtl):
(WebCore::HarfBuzzShaper::HarfBuzzRun::script):
(HarfBuzzRun):
(HarfBuzzShaper):
LayoutTests:
Add a test that checks Arabic digits appear in increasing order from left to right.
- fast/text/international/arabic-digits-expected.html: Added.
- fast/text/international/arabic-digits.html: Added.
TBR=bashi@chromium.org
Review URL: https://codereview.chromium.org/11293219
- 4:59 AM Changeset in webkit [134171] by
-
- 1 edit2 copies in branches/chromium/1312
Merge 133550 - [Chromium] Unicode combining diacritical aren't always combined on Linux
https://bugs.webkit.org/show_bug.cgi?id=101009
Reviewed by Kent Tamura.
Source/WebCore:
Add a space character to harfbuzzBuffer as pre-context. This will prevent
harfbuzz from inserting dotted-circle.
Test: fast/text/international/combining-marks-position.html
- platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
LayoutTests:
Add a test that checks whether combining marks are combined with base characters.
- fast/text/international/combining-marks-position-expected.txt: Added.
- fast/text/international/combining-marks-position.html: Added.
TBR=bashi@chromium.org
Review URL: https://codereview.chromium.org/11365191
Nov 10, 2012:
- 10:39 PM Changeset in webkit [134170] by
-
- 5 edits in trunk/Source/WebCore
Coalesce main thread scroll position updates
https://bugs.webkit.org/show_bug.cgi?id=101855
Reviewed by Anders Carlsson.
When using threaded scrolling, the dispatched updateMainFrameScrollPosition() calls
from ScrollingTree would pile up on the main thread, and we'd handle several per
runloop cycle when scrolling fast. This causes extra work especially on pages
with position:fixed elements which must update RenderLayers on scrolling.
Fix by using a zero-delay timer in ScrollingCoordinator to coalesce these
scrolling updates to one per runloop.
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::ScrollingCoordinator): Initialized data members
for the scheduled scroll position update.
(WebCore::ScrollingCoordinator::scheduleUpdateMainFrameScrollPosition): If
the timer is active and the parameters match, just update the target scroll
position and return. If the params don't match, dispatch the scheduled update,
and then the new one. Otherwise, prime the timer.
(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionTimerFired): Call
the existing updateMainFrameScrollPosition() with the saved values.
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateMainFrameScrollPosition): Call scheduleUpdateMainFrameScrollPosition()
rather than updateMainFrameScrollPosition().
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::syncChildPositions): Fixed a bug that caused fixed
position elements to jiggle with the patch; we should be calling syncPosition() (which just
sets the position data, without touching CA layers).
- 9:21 PM Changeset in webkit [134169] by
-
- 8 edits in trunk/Source/WebCore
Remove ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition()
https://bugs.webkit.org/show_bug.cgi?id=101514
Reviewed by Tim Horton.
ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition() is very similar to
ScrollingCoordinator::updateMainFrameScrollPosition(). In order to eliminate updateMainFrameScrollPositionAndScrollLayerPosition(),
we just need to plumb through a flag that says that updateMainFrameScrollPosition() should
set the layer position (rather than just doing a 'sync').
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateMainFrameScrollPosition):
- page/scrolling/ScrollingTree.h:
- page/scrolling/mac/ScrollingCoordinatorMac.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
- page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
- 6:56 PM Changeset in webkit [134168] by
-
- 13 edits in trunk/Source/JavaScriptCore
DFG should optimize out the NaN check on loads from double arrays if the array prototype chain is having a great time
https://bugs.webkit.org/show_bug.cgi?id=101718
Reviewed by Geoffrey Garen.
If we're reading from a JSArray in double mode, where the array's structure is
primordial (all aspects of the structure are unchanged except for indexing type),
and the result of the load is used in arithmetic that is known to not distinguish
between NaN and undefined, then we should not emit a NaN check. Looks like a 5%
win on navier-stokes.
Also fixed an OpInfo initialization goof for String ops that was revealed by this
change.
- dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
- dfg/DFGArrayMode.cpp:
(JSC::DFG::arraySpeculationToString):
- dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::isSaneChain):
(ArrayMode):
(JSC::DFG::ArrayMode::isInBounds):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeFlags.cpp:
(JSC::DFG::nodeFlagsAsString):
- dfg/DFGNodeFlags.h:
(DFG):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::arrayPrototypeChainIsSane):
(JSC):
- runtime/JSGlobalObject.h:
(JSGlobalObject):
- 4:55 PM Changeset in webkit [134167] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r134069.
http://trac.webkit.org/changeset/134069
https://bugs.webkit.org/show_bug.cgi?id=101852
"It is a wrong way to fix the problem. See discussions in bug
96614" (Requested by 1JTAAPQFJ on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-10
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::getWithUndefinedOrNullCheck):
- 4:20 PM Changeset in webkit [134166] by
-
- 7 edits in trunk
Web Inspector: Multiple '%c' formatting options should all have effect.
https://bugs.webkit.org/show_bug.cgi?id=101495
Reviewed by Pavel Feldman.
Source/WebCore:
This patch supports multiple '%c' formatting blocks in console messages.
'console.log("%cblue! %cgreen!", "color: blue;", "color: green;")' will
do exactly what you expect: "blue!" will be blue, and "green!" will be
green.
The implementation moves the styles off the message's parent 'span', and
onto new 'span' elements that wrap the various textual bits of the
message.
- inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype.):
(WebInspector.ConsoleMessageImpl.prototype.append):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
LayoutTests:
- http/tests/inspector/console-test.js:
(initialize_ConsoleTest.InspectorTest.dumpConsoleMessagesWithStyles):
We're no longer putting the style directly on the message's
parent, but instead on each section of the message in order to
support multiple styles.
- inspector/console/console-format-style-expected.txt:
- inspector/console/console-format-style-whitelist-expected.txt:
- inspector/console/console-format-style.html:
- 3:36 PM Changeset in webkit [134165] by
-
- 3 edits in trunk/Source/WebCore
Including <CoreText/CoreText.h> breaks the chromium/mac build.
https://bugs.webkit.org/show_bug.cgi?id=101851
Reviewed by Dan Bernstein.
r134146 introduced inclusion of 'CoreText/CoreText.h' in
SimpleFontDataCoreText.cpp, which broke the chromium/mac build. Grepping
around, it looks like this needs to be modified to include
'ApplicationServices/ApplicationServices.h'.
- platform/graphics/mac/SimpleFontDataCoreText.cpp:
Drop 'CoreText.h' in favor of 'ApplicationServices.h'.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
Drop the platform-specific '#if' logic; just include 'ApplicationServices.h'.
- 3:33 PM Changeset in webkit [134164] by
-
- 6 edits1 add in trunk/Source/JavaScriptCore
DFG constant folding and CFG simplification should be smart enough to know that if a logical op's operand is proven to have a non-masquerading structure then it always evaluates to true
https://bugs.webkit.org/show_bug.cgi?id=101511
Reviewed by Geoffrey Garen.
This is the second attempt at this patch, which fixes the !"" case.
To make life easier, this moves BranchDirection into BasicBlock so that after
running the CFA, we always know, for each block, what direction the CFA
proved. CFG simplification now both uses and preserves cfaBranchDirection in
its transformations.
Also made both LogicalNot and Branch check whether the operand is a known cell
with a known structure, and if so, made them do the appropriate folding.
5% speed-up on V8/raytrace because it makes raytrace's own null checks
evaporate (i.e. idioms like 'if (!x) throw "unhappiness"') thanks to the fact
that we were already doing structure check hoisting.
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeToSuccessors):
- dfg/DFGAbstractState.h:
(AbstractState):
- dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::BasicBlock):
(BasicBlock):
- dfg/DFGBranchDirection.h: Added.
(DFG):
(JSC::DFG::branchDirectionToString):
(JSC::DFG::isKnownDirection):
(JSC::DFG::branchCondition):
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
- 2:35 PM Changeset in webkit [134163] by
-
- 2 edits in trunk/Source/WebCore
Don't detach from shared ElementAttributeData when overwriting attribute with identical value.
<http://webkit.org/b/101849>
Reviewed by Anders Carlsson.
Defer the mutableAttributeData() call in Element::setAttributeInternal() until the last
possible moment, to avoid unnecessarily detaching and cloning from attribute data.
120 kB progression on Membuster3.
- dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
(WebCore::Element::addAttributeInternal):
- 1:56 PM Changeset in webkit [134162] by
-
- 2 edits in trunk/Source/WebCore
Some minor optimizations in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=101847
Reviewed by Anders Carlsson.
Some minor performance improvements in RenderLayer code.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition): isRenderInline() is a virtual call,
so prefix it with an isInline() check which tests a bit on RenderObject.
(WebCore::RenderLayer::localBoundingBox): Ditto.
(WebCore::RenderLayer::calculateLayerBounds): Pull layer->renderer()
into a local variable.
- 1:19 PM Changeset in webkit [134161] by
-
- 2 edits in trunk/Source/WebKit2
[Qt][WK2] Use QLibraryInfo to search for executables.
https://bugs.webkit.org/show_bug.cgi?id=101774
Reviewed by Simon Hausmann.
This allows finding the WebProcess or the PluginProcess
in it's installed location. This is necessary when
deploying QtWebKit with an installer.
- Shared/qt/ProcessExecutablePathQt.cpp:
(WebKit::executablePath):
- 11:48 AM Changeset in webkit [134160] by
-
- 3 edits in trunk/Source/WebCore
Document::m_fullScreenElementStack should be a Vector
https://bugs.webkit.org/show_bug.cgi?id=101844
Reviewed by Andreas Kling.
m_fullScreenElementStack is currently a Deque where elements are being prepended
and removed from the beginning in LIFO order, so it can be replaced with a Vector.
- dom/Document.cpp:
(WebCore::Document::requestFullScreenForElement):
(WebCore::Document::webkitCancelFullScreen):
(WebCore::Document::popFullscreenElementStack):
(WebCore::Document::pushFullscreenElementStack):
- dom/Document.h:
(WebCore::Document::webkitFullscreenElement):
(Document):
- 10:25 AM Changeset in webkit [134159] by
-
- 2 edits in trunk/Source/WebCore
[V8] Clean up header includes and ifdefs in V8GCController
https://bugs.webkit.org/show_bug.cgi?id=101691
Reviewed by Kentaro Hara.
This file doesn't need to include all these headers anymore.
- bindings/v8/V8GCController.cpp:
(WebCore::workingSetEstimateMBMutex):
(WebCore::V8GCController::majorGCEpilogue):
(WebCore::V8GCController::checkMemoryUsage):
- 8:11 AM Changeset in webkit [134158] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Guard WebCore PageVisibility Symbol Export
https://bugs.webkit.org/show_bug.cgi?id=101817
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-11-10
Reviewed by Andreas Kling.
Guard the export with the same ENABLE guards around its definition
and implementation.
- WebCore.exp.in:
- 7:13 AM Changeset in webkit [134157] by
-
- 6 edits1 delete in trunk/Source/JavaScriptCore
Unreviewed, rolling out r133971.
http://trac.webkit.org/changeset/133971
https://bugs.webkit.org/show_bug.cgi?id=101839
Causes WebProcess to hang at 100% on www.apple.com (Requested
by kling on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-10
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeToSuccessors):
- dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::branchDirectionToString):
(AbstractState):
- dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::BasicBlock):
(BasicBlock):
- dfg/DFGBranchDirection.h: Removed.
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
- 6:41 AM Changeset in webkit [134156] by
-
- 8 edits in trunk
[css] text-decoration:none no longer valid
https://bugs.webkit.org/show_bug.cgi?id=101529
Reviewed by Ojan Vafai.
Source/WebCore:
This patch fixes an issue where the 'none' value was parsed as explicitly
'initial' value. However true in a sense that the initial value for the
'text-decoration' property is 'none', the value itself could not be parsed as
'initial'.
The getComputedStyle layout tests for 'text-decoration' and
'-webkit-text-decoration-line' CSS properties are updated with the correct
results.
- css/CSSParser.cpp:
(WebCore::CSSParser::parseTextDecoration): When parsed, 'none' value
gets its own identifier value instead of explicit initial.
LayoutTests:
The getComputedStyle layout tests for 'text-decoration' and
'-webkit-text-decoration-line' CSS properties are updated with the correct
results for the 'none' value.
- fast/css/getComputedStyle/getComputedStyle-text-decoration-expected.txt:
- fast/css/getComputedStyle/script-tests/getComputedStyle-text-decoration.js:
- fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt:
- fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-line.js:
- inspector/console/console-format-style-whitelist-expected.txt:
- 6:29 AM Changeset in webkit [134155] by
-
- 3 edits in trunk/LayoutTests
[chromium] Unreviewed. Rebaseline fast/images/color-jpeg-with-color-profile.html on Win.
- platform/chromium-win/fast/images/color-jpeg-with-color-profile-expected.png: Rebaseline.
- platform/chromium/TestExpectations: