Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Side by Side Diff: Source/core/rendering/RenderBlockLineLayout.cpp

Issue 152883002: (Concept patch) Simplify WTF::HashTable::add() return value for size and performance (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved. 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved.
4 * Copyright (C) 2010 Google Inc. All rights reserved. 4 * Copyright (C) 2010 Google Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 fallbackFonts.clear(); 480 fallbackFonts.clear();
481 } 481 }
482 } 482 }
483 483
484 if (!measuredWidth) 484 if (!measuredWidth)
485 measuredWidth = renderer->width(run->m_start, run->m_stop - run->m_start , xPos, run->direction(), lineInfo.isFirstLine(), &fallbackFonts, &glyphOverflow ); 485 measuredWidth = renderer->width(run->m_start, run->m_stop - run->m_start , xPos, run->direction(), lineInfo.isFirstLine(), &fallbackFonts, &glyphOverflow );
486 486
487 run->m_box->setLogicalWidth(measuredWidth + hyphenWidth); 487 run->m_box->setLogicalWidth(measuredWidth + hyphenWidth);
488 if (!fallbackFonts.isEmpty()) { 488 if (!fallbackFonts.isEmpty()) {
489 ASSERT(run->m_box->isText()); 489 ASSERT(run->m_box->isText());
490 GlyphOverflowAndFallbackFontsMap::iterator it = textBoxDataMap.add(toInl ineTextBox(run->m_box), make_pair(Vector<const SimpleFontData*>(), GlyphOverflow ())).iterator; 490 GlyphOverflowAndFallbackFontsMap::ValueType* it = textBoxDataMap.add(toI nlineTextBox(run->m_box), make_pair(Vector<const SimpleFontData*>(), GlyphOverfl ow())).iterator;
491 ASSERT(it->value.first.isEmpty()); 491 ASSERT(it->value.first.isEmpty());
492 copyToVector(fallbackFonts, it->value.first); 492 copyToVector(fallbackFonts, it->value.first);
493 run->m_box->parent()->clearDescendantsHaveSameLineHeightAndBaseline(); 493 run->m_box->parent()->clearDescendantsHaveSameLineHeightAndBaseline();
494 } 494 }
495 if ((glyphOverflow.top || glyphOverflow.bottom || glyphOverflow.left || glyp hOverflow.right)) { 495 if ((glyphOverflow.top || glyphOverflow.bottom || glyphOverflow.left || glyp hOverflow.right)) {
496 ASSERT(run->m_box->isText()); 496 ASSERT(run->m_box->isText());
497 GlyphOverflowAndFallbackFontsMap::iterator it = textBoxDataMap.add(toInl ineTextBox(run->m_box), make_pair(Vector<const SimpleFontData*>(), GlyphOverflow ())).iterator; 497 GlyphOverflowAndFallbackFontsMap::ValueType* it = textBoxDataMap.add(toI nlineTextBox(run->m_box), make_pair(Vector<const SimpleFontData*>(), GlyphOverfl ow())).iterator;
498 it->value.second = glyphOverflow; 498 it->value.second = glyphOverflow;
499 run->m_box->clearKnownToHaveNoOverflow(); 499 run->m_box->clearKnownToHaveNoOverflow();
500 } 500 }
501 } 501 }
502 502
503 static inline void computeExpansionForJustifiedText(BidiRun* firstRun, BidiRun* trailingSpaceRun, Vector<unsigned, 16>& expansionOpportunities, unsigned expansi onOpportunityCount, float& totalLogicalWidth, float availableLogicalWidth) 503 static inline void computeExpansionForJustifiedText(BidiRun* firstRun, BidiRun* trailingSpaceRun, Vector<unsigned, 16>& expansionOpportunities, unsigned expansi onOpportunityCount, float& totalLogicalWidth, float availableLogicalWidth)
504 { 504 {
505 if (!expansionOpportunityCount || availableLogicalWidth <= totalLogicalWidth ) 505 if (!expansionOpportunityCount || availableLogicalWidth <= totalLogicalWidth )
506 return; 506 return;
507 507
(...skipping 1551 matching lines...) Expand 10 before | Expand all | Expand 10 after
2059 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache); 2059 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache);
2060 2060
2061 setLineGridBox(lineGridBox); 2061 setLineGridBox(lineGridBox);
2062 2062
2063 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying 2063 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying
2064 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping 2064 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping
2065 // to this grid. 2065 // to this grid.
2066 } 2066 }
2067 2067
2068 } 2068 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698