[Navigation Timing] Imported W3C tests contain duplicates and are DOS formatted
https://bugs.webkit.org/show_bug.cgi?id=91184

Reviewed by Adam Barth.

The upstream 'html5' tests are just duplicates of the 'html' tests.

Tools:

* Scripts/import-w3c-performance-wg-tests:

LayoutTests:

* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_readiness_exist.html: Converted to *NIX newline format.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_attributes_exist.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_redirectCount_none.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_backforward.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_enums.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_reload.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_no_previous_document.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_readwrite.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_exist.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_order.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_client_redirect.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_reload.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_server_redirect.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect.html:
* http/tests/w3c/webperf/approved/navigation-timing/html/test_unique_performance_objects.html:
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_open-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_open.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_readiness_exist-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_readiness_exist.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigate_within_document-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigate_within_document.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_attributes_exist-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_attributes_exist.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_redirectCount_none-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_redirectCount_none.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_backforward-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_backforward.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_enums-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_enums.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_reload-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_reload.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_no_previous_document-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_no_previous_document.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_readwrite-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_readwrite.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_exist-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_exist.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_order-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_order.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_client_redirect-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_client_redirect.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_reload-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_reload.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_server_redirect-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_server_redirect.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_xserver_redirect-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_xserver_redirect.html: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_unique_performance_objects-expected.txt: Removed.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_unique_performance_objects.html: Removed.
* http/tests/w3c/webperf/resources/blank_page_green.htm:
* http/tests/w3c/webperf/resources/blank_page_green_with_onunload.htm:
* http/tests/w3c/webperf/resources/blank_page_meta_redirect.htm:
* http/tests/w3c/webperf/resources/blank_page_unload.htm:
* http/tests/w3c/webperf/resources/blank_page_yellow.htm:
* http/tests/w3c/webperf/resources/blank_page_yellow_with_onunload.htm:
* http/tests/w3c/webperf/resources/pagevistestharness.js:
(pv_test):
(test_feature_exists):
(test_equals):
(add_async_result_assert):
(TabSwitch):
* http/tests/w3c/webperf/resources/webperftestharness.js:
(test_true):
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove supressions for flashplayer crash
https://bugs.webkit.org/show_bug.cgi?id=91283

Reviewed by Tony Chang.

These tests don't crash any more now that I've corrected the
configuration on the bots.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unskip fast/css/font-face-download-error.html
https://bugs.webkit.org/show_bug.cgi?id=91279

Unreviewed EFL gardening. Unskip passing test
fast/css/font-face-download-error.html

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-07-13

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Threadsafety issues in WebScriptObject
https://bugs.webkit.org/show_bug.cgi?id=90849

Reviewed by Geoff Garen.

Updated fix for this bug. The JSC API lock needs to be acquired also in JSObject.

* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject JSObject]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor RenderTable to use the section's iteration functions.
https://bugs.webkit.org/show_bug.cgi?id=89751

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-07-13
Reviewed by Julien Chaffraix.

Removing anti-pattern wherever possible from RenderTable code. Also, modifying
RenderTable sections' iterations to use helper functions.

No new tests required for this change since no change in behavior is expected.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::addOverflowFromChildren):
(WebCore::RenderTable::setCellLogicalWidths):
(WebCore::RenderTable::outerBorderStart):
(WebCore::RenderTable::outerBorderEnd):
Removed anti-patterns involving iterations over RenderObjects.

(WebCore::RenderTable::outerBorderAfter):
Modified RenderTable sections' iteration to use helper functions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
NodeLists should not invalidate on irreleavnt attribute changes
https://bugs.webkit.org/show_bug.cgi?id=91277

Reviewed by Ojan Vafai.

Explicitely check the invalidation type and the changed attribute in NodeListNodeData::invalidateCaches
and ElementRareData::clearHTMLCollectionCaches to only invalidate node lists affected by the change.

Also merged invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged
as invalidateNodeListCachesInAncestors since they're almost identical after r122498.

In addition, moved shouldInvalidateNodeListForType from Document.cpp to DynamicNodeList.h and renamed it to
shouldInvalidateTypeOnAttributeChange since it needs to called in Node.cpp and ElementRareData.h.

* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::childrenChanged):
* dom/Document.cpp:
(WebCore::Document::registerNodeListCache): Calls isRootedAtDocument() instead of directly comparing
the value of NodeListRootType in order to prepare for the bug 80269.
(WebCore::Document::unregisterNodeListCache): Ditto.
(WebCore): shouldInvalidateNodeListForType is moved to DynamicNodeList.h
(WebCore::Document::shouldInvalidateNodeListCaches):
* dom/DynamicNodeList.h:
(DynamicNodeListCacheBase):
(WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Moved from Document.cpp.
* dom/Element.cpp: 
(WebCore::Element::attributeChanged):
* dom/ElementRareData.h:
(WebCore::ElementRareData::clearHTMLCollectionCaches): Takes const QualifiedName* to compare against
the invalidation type of HTML collections via shouldInvalidateTypeOnAttributeChange.
* dom/Node.cpp:
(WebCore::Node::invalidateNodeListCachesInAncestors): Merged invalidateNodeListCachesInAncestors and
invalidateNodeListsCacheAfterChildrenChanged. Also pass attrName to clearHTMLCollectionCaches.
(WebCore::NodeListsNodeData::invalidateCaches): Compares attrName against the invalidation type of
node lists via shouldInvalidateTypeOnAttributeChange.
(WebCore):
* dom/Node.h:
(Node):
* dom/NodeRareData.h:
(WebCore::NodeRareData::ensureNodeLists): Merged NodeRareData::createNodeLists.
(WebCore::NodeRareData::clearChildNodeListCache): Moved from Node.cpp.
(NodeRareData):
* html/HTMLCollection.h:
(HTMLCollectionCacheBase):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Fix crash due to unguarded use of renderer in select
popup.
https://bugs.webkit.org/show_bug.cgi?id=91287

Reviewed by Rob Buis.

No known testcase for this.  Found in the wild.

* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::setValueAndClosePopup):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=91278
Improve block margin estimation function to account for not having a layout and for quirks mode
        
Reviewed by Simon Fraser.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::marginBeforeEstimateForChild):
Revise marginBeforeEstimateForChild so that it computes block margins for the grandchild before
recurring. This includes the quirks margin information as well. This ensures that the margins are
up-to-date when checked, even before the object has had its first layout.
        
* rendering/RenderBlock.h:
(WebCore::RenderBlock::setMarginStartForChild):
(WebCore::RenderBlock::setMarginEndForChild):
(WebCore::RenderBlock::setMarginBeforeForChild):
(WebCore::RenderBlock::setMarginAfterForChild):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeBlockDirectionMargins):
* rendering/RenderBox.h:
(RenderBox):
Add consts in order to compile.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LLInt fails to mark structures stored in the bytecode
https://bugs.webkit.org/show_bug.cgi?id=91296

Reviewed by Geoffrey Garen.

LLInt stores structures in the bytecode, so we need to visit the appropriate
instructions as we would if we were running in the classic interpreter.
This requires adding additional checks for the LLInt specific opcodes, and
the lint specific variants of operand ordering.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitStructures):
(JSC::CodeBlock::stronglyVisitStrongReferences):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use LayoutBoxExtent for image outsets
https://bugs.webkit.org/show_bug.cgi?id=91166

Reviewed by Tony Chang.

Change RenderStyle and calling code to use LayoutBoxExtent for image
outsets and remove text direction and writing mode versions of the
outline getters from RenderStyle as LayoutBoxExtent provides the same
functionality.

No new tests, no change in functionality.

* platform/graphics/FractionalLayoutBoxExtent.h:
* platform/graphics/FractionalLayoutBoxExtent.cpp:
(WebCore::FractionalLayoutBoxExtent::logicalTop):
(WebCore::FractionalLayoutBoxExtent::logicalBottom):
Add logicalTop and logicalBottom methods to go with the existing
logicalLeft and logicalRight ones.

* platform/graphics/FractionalLayoutRect.h:
(WebCore::FractionalLayoutRect::expand):
Add FractionalLayoutBoxExtent version of expand method.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
Change implementation to use the new FractionalLayoutBoxExtent version of
borderImageOutsets and the logicalTop/Bottom/Left/Right methods.

(WebCore::clipRectForNinePieceImageStrip):
Change implementation to use the new FractionalLayoutBoxExtent version of
borderImageOutsets.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::maskClipRect):
Change implementation to use the new FractionalLayoutBoxExtent version of
borderImageOutsets and the new FractionalLayoutRect::expand method.

(WebCore::RenderBox::addVisualEffectOverflow):
Change implementation to use the new FractionalLayoutBoxExtent version of
borderImageOutsets.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):
Change implementation to use the new FractionalLayoutBoxExtent version of
borderImageOutsets and the new FractionalLayoutRect::expand method.

* rendering/style/RenderStyle.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::imageOutsets):
Change getImageOutsets to return a FractionalLayoutBoxExtent object and
rename to imageOutsets to match the webkit naming convention for getters.

Remove getBorderImageHorizontalOutsets, getBorderImageVerticalOutsets,
getBorderImageInlineDirectionOutsets, getImageHorizontalOutsets,
getImageVerticalOutsets and getBorderImageBlockDirectionOutsets methods
as the same functionality is provided by FractionalLayoutBoxExtent.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove an always-failing table-wrapping check in RenderObject::addChild
https://bugs.webkit.org/show_bug.cgi?id=91286

Reviewed by Eric Seidel.

Due to the structure of the code, this test is always failing (newChild->isTableCell()
is true to get in the branch).

The changeset adding the code didn't add testing so I poundered adding the mentioned test,
which is passing. However the test would need to be blindly changed to be included in our
test harness. I would also expect this code to be exercised by other table tests anyway.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild):
Removed never-reached branch. While at it, removed a 'what' comment in the same file.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkitpy: split printing/logging code for test-webkitpy out into a new class
https://bugs.webkit.org/show_bug.cgi?id=91282

Reviewed by Ojan Vafai.

This patch is the first step at splitting all of the
printing/logging code out separately from the actual
test-running code.

This is just moving stuff around; no new functionality and no
new tests needed.

* Scripts/webkitpy/test/finder_unittest.py:
(FinderTest.setUp):
* Scripts/webkitpy/test/main.py:
(Tester.__init__):
(Tester._parse_args):
(Tester.run):
(Tester._run_tests):
(Tester._log_exception):
* Scripts/webkitpy/test/main_unittest.py:
(TesterTest.test_no_tests_found):
* Scripts/webkitpy/test/printer.py: Added.
(Printer):
(Printer.__init__):
(Printer.configure):
(Printer.configure.filter):
(_CaptureAndPassThroughStream):
(_CaptureAndPassThroughStream.__init__):
(_CaptureAndPassThroughStream.write):
(_CaptureAndPassThroughStream._message_is_from_pdb):
(_CaptureAndPassThroughStream.flush):
(_CaptureAndPassThroughStream.getvalue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r122640.
http://trac.webkit.org/changeset/122640
https://bugs.webkit.org/show_bug.cgi?id=91298

LLInt apparently does not expect to mark these (Requested by
olliej on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-13

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitStructures):
(JSC::CodeBlock::stronglyVisitStrongReferences):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
test-webkitpy: move printing-related code out of the runner
https://bugs.webkit.org/show_bug.cgi?id=91289

Reviewed by Ryosuke Niwa.

More refactoring ... this moves all printing-related stuff out
of runner.py and into printer.py.

No functional changes; covered by existing tests.

* Scripts/webkitpy/test/main.py:
(Tester._run_tests):
* Scripts/webkitpy/test/printer.py:
(Printer.__init__):
(Printer):
(Printer.test_name):
(Printer.print_started_test):
(Printer.print_finished_test):
(Printer.print_result):
* Scripts/webkitpy/test/runner.py:
(Runner.__init__):
(Runner.all_test_names):
(Runner.run):
* Scripts/webkitpy/test/runner_unittest.py:
(RunnerTest.test_regular):
(RunnerTest.test_verbose):
(RunnerTest.test_timing):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERTION FAILED: use.useKind() != DoubleUse
https://bugs.webkit.org/show_bug.cgi?id=91082

Reviewed by Geoffrey Garen.

Source/JavaScriptCore: 

The implementation of Branch() was unwisely relying on register allocation state
to decide what speculations to perform. That's never correct.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests: 

* fast/js/dfg-mispredict-variable-but-prove-int-expected.txt: Added.
* fast/js/dfg-mispredict-variable-but-prove-int.html: Added.
* fast/js/script-tests/dfg-mispredict-variable-but-prove-int.js: Added.
(foo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Improve the mobile theme slightly
https://bugs.webkit.org/show_bug.cgi?id=90806

Reviewed by Kenneth Rohde Christiansen.

Improve drawing of the mobile theme's controls' background.

Ensure the focus ring never appears with the mobile theme, since it
looks bad in combination with the highlights.

No new tests. The painting code from the mobile theme is still
not covered specifically (it will when we revive pixel tests).

* platform/qt/RenderThemeQtMobile.cpp:
(WebCore):
(WebCore::addPointToOctants): Added. This is simply a helper to avoid
    doing too much duplicate work in drawControlBackground.
(WebCore::drawControlBackground): Rely on the octant logic added above
    and take the opportunity to increase the granularity.
(WebCore::borderPen):
(WebCore::StylePainterMobile::findLineEdit):
(WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
* platform/qt/RenderThemeQtMobile.h:
(RenderThemeQtMobile):
(WebCore::RenderThemeQtMobile::supportsFocusRing):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix for WebContext::getWebCoreStatistics() causes crash if no m_process
https://bugs.webkit.org/show_bug.cgi?id=91116

.:

Patch by Josh Hawn <jhawn@apple.com> on 2012-07-12
Reviewed by Simon Fraser.

* Source/WebKit2/UIProcess/WebContext.cpp:
  WebContext::getWebCoreStatistics():
        Now invalidates callback if no m_process.

Tools:

Patch by Josh Hawn <jhawn@apple.com> on 2012-07-13
Reviewed by Simon Fraser.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    Added new test file.
* TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Added.
(TestWebKitAPI::wkContextGetStatisticsCallback):
    Tests that callback function receives an error.
(TestWebKitAPI::TEST):
    Creates a dummy web context object (no web process).
    Calls WKContextGetStatistics with the web context and test callback.
    The test callback should get an expected error.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove an assertion after r122637.

* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
OfflineASM Pretty printing and commenting enhancements.
https://bugs.webkit.org/show_bug.cgi?id=91281

Patch by Mark Lam <mark.lam@apple.com> on 2012-07-13
Reviewed by Filip Pizlo.

Added some minor pretty printing in the OfflineASM.
Also added infrastruture for adding multiple types of comments and
annotations with the ability to enable/disable them in the generated
output as desired.

* GNUmakefile.list.am: add new file config.rb.
* llint/LLIntOfflineAsmConfig.h:
  Added OFFLINE_ASM_BEGIN, OFFLINE_ASM_END, and OFFLINE_ASM_LOCAL_LABEL macros.
  This will allow us to redefine these for other backends later.
* llint/LowLevelInterpreter32_64.asm:
  Add a small example of instruction annotations for now.
* llint/LowLevelInterpreter64.asm:
  Add a small example of instruction annotations for now.
* offlineasm/armv7.rb: Added handling of annotations.
* offlineasm/asm.rb:
  Added machinery to dump the new comments and annotations.
  Also added some indentations to make the output a little prettier.
* offlineasm/ast.rb: Added annotation field in class Instruction.
* offlineasm/backends.rb:
* offlineasm/config.rb: Added.
  Currently only contains commenting options.  This file is meant to be
  a centralized place for build config values much like config.h for
  JavaScriptCore.
* offlineasm/generate_offset_extractor.rb:
* offlineasm/instructions.rb:
* offlineasm/offsets.rb:
* offlineasm/opt.rb:
* offlineasm/parser.rb: Parse and record annotations.
* offlineasm/registers.rb:
* offlineasm/self_hash.rb:
* offlineasm/settings.rb:
* offlineasm/transform.rb:
* offlineasm/x86.rb: Added handling of annotations.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Sometimes bottom of text is truncated when page has a fractional scale
https://bugs.webkit.org/show_bug.cgi?id=88684

Reviewed by Tony Chang.

Source/WebCore:

When the page has a fractional scale, the ascent and descent part of the fonts might be fractional.
If the descent part is rounded down, the bottom of the text might be truncated when displayed
when subpixel text positioning is enabled.
To avoid that, borrow one unit from the ascent when possible.

Test: fast/text/descent-clip-in-scaled-page.html

* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::setupPaint): Moved NoPreference handling into querySystemForRenderStyle so that fontRenderStyle() can have actual styles without NoPreference.
(WebCore::FontPlatformData::querySystemForRenderStyle): Added NoPreference handling (moved from setupPaint)
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
(FontPlatformData):
(WebCore::FontPlatformData::fontRenderStyle): Added to let SimpleFontDataSkia access the font render styles.
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformInit):

LayoutTests:

New test case.

* fast/text/descent-clip-in-scaled-page-expected.html: Added.
* fast/text/descent-clip-in-scaled-page.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122651 268f45cc-cd09-0410-ab3c-d52691b4dbfc