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

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

Issue 23972003: Update containtingIsolate to go back all the way to top isolate from current (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 3 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 1300 matching lines...) Expand 10 before | Expand all | Expand 10 after
1311 topResolver.isolatedRuns().removeLast(); 1311 topResolver.isolatedRuns().removeLast();
1312 1312
1313 RenderObject* startObj = isolatedRun->object(); 1313 RenderObject* startObj = isolatedRun->object();
1314 1314
1315 // Only inlines make sense with unicode-bidi: isolate (blocks are alread y isolated). 1315 // Only inlines make sense with unicode-bidi: isolate (blocks are alread y isolated).
1316 // FIXME: Because enterIsolate is not passed a RenderObject, we have to crawl up the 1316 // FIXME: Because enterIsolate is not passed a RenderObject, we have to crawl up the
1317 // tree to see which parent inline is the isolate. We could change enter Isolate 1317 // tree to see which parent inline is the isolate. We could change enter Isolate
1318 // to take a RenderObject and do this logic there, but that would be a l ayering 1318 // to take a RenderObject and do this logic there, but that would be a l ayering
1319 // violation for BidiResolver (which knows nothing about RenderObject). 1319 // violation for BidiResolver (which knows nothing about RenderObject).
1320 RenderInline* isolatedInline = toRenderInline(containingIsolate(startObj , currentRoot)); 1320 RenderInline* isolatedInline = toRenderInline(containingIsolate(startObj , currentRoot));
1321 ASSERT(isolatedInline);
igoroliveira 2013/09/04 22:04:57 ASSERT_WITH_SECURITY_IMPLICATION maybe?
jww 2013/09/04 22:37:26 Done.
1321 1322
1322 InlineBidiResolver isolatedResolver; 1323 InlineBidiResolver isolatedResolver;
1323 EUnicodeBidi unicodeBidi = isolatedInline->style()->unicodeBidi(); 1324 EUnicodeBidi unicodeBidi = isolatedInline->style()->unicodeBidi();
1324 TextDirection direction = isolatedInline->style()->direction(); 1325 TextDirection direction = isolatedInline->style()->direction();
1325 if (unicodeBidi == Plaintext) 1326 if (unicodeBidi == Plaintext)
1326 direction = determinePlaintextDirectionality(isolatedInline, startOb j); 1327 direction = determinePlaintextDirectionality(isolatedInline, startOb j);
1327 else { 1328 else {
1328 ASSERT(unicodeBidi == Isolate || unicodeBidi == IsolateOverride); 1329 ASSERT(unicodeBidi == Isolate || unicodeBidi == IsolateOverride);
1329 direction = isolatedInline->style()->direction(); 1330 direction = isolatedInline->style()->direction();
1330 } 1331 }
(...skipping 2194 matching lines...) Expand 10 before | Expand all | Expand 10 after
3525 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache); 3526 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache);
3526 3527
3527 setLineGridBox(lineGridBox); 3528 setLineGridBox(lineGridBox);
3528 3529
3529 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying 3530 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying
3530 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping 3531 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping
3531 // to this grid. 3532 // to this grid.
3532 } 3533 }
3533 3534
3534 } 3535 }
OLDNEW
« Source/core/rendering/InlineIterator.h ('K') | « Source/core/rendering/InlineIterator.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698