OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 1635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1646 if (!selection.isNone()) | 1646 if (!selection.isNone()) |
1647 return; | 1647 return; |
1648 | 1648 |
1649 // Need to clean out style and layout state before querying Element::isF
ocusable(). | 1649 // Need to clean out style and layout state before querying Element::isF
ocusable(). |
1650 frame()->document()->updateStyleAndLayoutIgnorePendingStylesheets(); | 1650 frame()->document()->updateStyleAndLayoutIgnorePendingStylesheets(); |
1651 | 1651 |
1652 // Try to find the first focusable node up the chain, which will, for | 1652 // Try to find the first focusable node up the chain, which will, for |
1653 // example, focus links if we have found text within the link. | 1653 // example, focus links if we have found text within the link. |
1654 Node* node = activeMatch->firstNode(); | 1654 Node* node = activeMatch->firstNode(); |
1655 if (node && node->isInShadowTree()) { | 1655 if (node && node->isInShadowTree()) { |
1656 if (Node* host = node->shadowHost()) { | 1656 if (Node* host = node->ownerShadowHost()) { |
1657 if (isHTMLInputElement(*host) || isHTMLTextAreaElement(*host)) | 1657 if (isHTMLInputElement(*host) || isHTMLTextAreaElement(*host)) |
1658 node = host; | 1658 node = host; |
1659 } | 1659 } |
1660 } | 1660 } |
1661 const EphemeralRange activeMatchRange(activeMatch); | 1661 const EphemeralRange activeMatchRange(activeMatch); |
1662 if (node) { | 1662 if (node) { |
1663 for (Node& runner : NodeTraversal::inclusiveAncestorsOf(*node)) { | 1663 for (Node& runner : NodeTraversal::inclusiveAncestorsOf(*node)) { |
1664 if (!runner.isElementNode()) | 1664 if (!runner.isElementNode()) |
1665 continue; | 1665 continue; |
1666 Element& element = toElement(runner); | 1666 Element& element = toElement(runner); |
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2235 feature = UseCounter::ChromeLoadTimesNpnNegotiatedProtocol; | 2235 feature = UseCounter::ChromeLoadTimesNpnNegotiatedProtocol; |
2236 } else if (metric == "wasAlternateProtocolAvailable") { | 2236 } else if (metric == "wasAlternateProtocolAvailable") { |
2237 feature = UseCounter::ChromeLoadTimesWasAlternateProtocolAvailable; | 2237 feature = UseCounter::ChromeLoadTimesWasAlternateProtocolAvailable; |
2238 } else if (metric == "connectionInfo") { | 2238 } else if (metric == "connectionInfo") { |
2239 feature = UseCounter::ChromeLoadTimesConnectionInfo; | 2239 feature = UseCounter::ChromeLoadTimesConnectionInfo; |
2240 } | 2240 } |
2241 UseCounter::count(frame(), feature); | 2241 UseCounter::count(frame(), feature); |
2242 } | 2242 } |
2243 | 2243 |
2244 } // namespace blink | 2244 } // namespace blink |
OLD | NEW |