Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 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 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 396 if (m_baseBackgroundColor == color) | 396 if (m_baseBackgroundColor == color) |
| 397 return; | 397 return; |
| 398 | 398 |
| 399 m_baseBackgroundColor = color; | 399 m_baseBackgroundColor = color; |
| 400 | 400 |
| 401 m_localRoot->frameView()->setBaseBackgroundColor(color); | 401 m_localRoot->frameView()->setBaseBackgroundColor(color); |
| 402 } | 402 } |
| 403 | 403 |
| 404 WebInputMethodControllerImpl* | 404 WebInputMethodControllerImpl* |
| 405 WebFrameWidgetImpl::getActiveWebInputMethodController() const { | 405 WebFrameWidgetImpl::getActiveWebInputMethodController() const { |
| 406 return WebInputMethodControllerImpl::fromFrame( | 406 return WebInputMethodControllerImpl::fromFrame(focusedLocalFrameInWidget()); |
| 407 focusedLocalFrameAvailableForIme()); | |
| 408 } | 407 } |
| 409 | 408 |
| 410 void WebFrameWidgetImpl::scheduleAnimation() { | 409 void WebFrameWidgetImpl::scheduleAnimation() { |
| 411 if (m_layerTreeView) { | 410 if (m_layerTreeView) { |
| 412 m_layerTreeView->setNeedsBeginFrame(); | 411 m_layerTreeView->setNeedsBeginFrame(); |
| 413 return; | 412 return; |
| 414 } | 413 } |
| 415 if (m_client) | 414 if (m_client) |
| 416 m_client->scheduleAnimation(); | 415 m_client->scheduleAnimation(); |
| 417 } | 416 } |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 458 // updateFocusAppearance() selects all the text of | 457 // updateFocusAppearance() selects all the text of |
| 459 // contentseditable DIVs. So we set the selection explicitly | 458 // contentseditable DIVs. So we set the selection explicitly |
| 460 // instead. Note that this has the side effect of moving the | 459 // instead. Note that this has the side effect of moving the |
| 461 // caret back to the beginning of the text. | 460 // caret back to the beginning of the text. |
| 462 Position position(element, 0); | 461 Position position(element, 0); |
| 463 focusedFrame->selection().setSelection( | 462 focusedFrame->selection().setSelection( |
| 464 SelectionInDOMTree::Builder().collapse(position).build()); | 463 SelectionInDOMTree::Builder().collapse(position).build()); |
| 465 } | 464 } |
| 466 } | 465 } |
| 467 } | 466 } |
| 467 m_imeAcceptEvents = true; | |
|
EhsanK
2017/01/04 20:26:53
This is irrelevant to this change but I happened t
wjmaclean
2017/01/05 21:24:57
Perhaps add a TODO to follow up on a potential rem
EhsanK
2017/01/05 21:46:43
Done. Thanks!
| |
| 468 } else { | 468 } else { |
| 469 LocalFrame* focusedFrame = focusedLocalFrameInWidget(); | 469 LocalFrame* focusedFrame = focusedLocalFrameInWidget(); |
| 470 if (focusedFrame) { | 470 if (focusedFrame) { |
| 471 // Finish an ongoing composition to delete the composition node. | 471 // Finish an ongoing composition to delete the composition node. |
| 472 if (focusedFrame->inputMethodController().hasComposition()) { | 472 if (focusedFrame->inputMethodController().hasComposition()) { |
| 473 WebAutofillClient* autofillClient = | 473 WebAutofillClient* autofillClient = |
| 474 WebLocalFrameImpl::fromFrame(focusedFrame)->autofillClient(); | 474 WebLocalFrameImpl::fromFrame(focusedFrame)->autofillClient(); |
| 475 | 475 |
| 476 if (autofillClient) | 476 if (autofillClient) |
| 477 autofillClient->setIgnoreTextChanges(true); | 477 autofillClient->setIgnoreTextChanges(true); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 509 focused->selection().rootEditableElementOrDocumentElement(); | 509 focused->selection().rootEditableElementOrDocumentElement(); |
| 510 DCHECK(editable); | 510 DCHECK(editable); |
| 511 | 511 |
| 512 // TODO(xiaochengh): The use of updateStyleAndLayoutIgnorePendingStylesheets | 512 // TODO(xiaochengh): The use of updateStyleAndLayoutIgnorePendingStylesheets |
| 513 // needs to be audited. See http://crbug.com/590369 for more details. | 513 // needs to be audited. See http://crbug.com/590369 for more details. |
| 514 editable->document().updateStyleAndLayoutIgnorePendingStylesheets(); | 514 editable->document().updateStyleAndLayoutIgnorePendingStylesheets(); |
| 515 | 515 |
| 516 return PlainTextRange::create(*editable, range); | 516 return PlainTextRange::create(*editable, range); |
| 517 } | 517 } |
| 518 | 518 |
| 519 WebTextInputInfo WebFrameWidgetImpl::textInputInfo() { | |
| 520 LocalFrame* focused = focusedLocalFrameInWidget(); | |
| 521 if (!focused) | |
| 522 return WebTextInputInfo(); | |
| 523 return focused->inputMethodController().textInputInfo(); | |
| 524 } | |
| 525 | |
| 526 WebTextInputType WebFrameWidgetImpl::textInputType() { | |
| 527 LocalFrame* focused = focusedLocalFrameInWidget(); | |
| 528 if (!focused) | |
| 529 return WebTextInputTypeNone; | |
| 530 return focused->inputMethodController().textInputType(); | |
| 531 } | |
| 532 | |
| 533 WebColor WebFrameWidgetImpl::backgroundColor() const { | 519 WebColor WebFrameWidgetImpl::backgroundColor() const { |
| 534 if (isTransparent()) | 520 if (isTransparent()) |
| 535 return Color::transparent; | 521 return Color::transparent; |
| 536 if (!m_localRoot->frameView()) | 522 if (!m_localRoot->frameView()) |
| 537 return m_baseBackgroundColor; | 523 return m_baseBackgroundColor; |
| 538 FrameView* view = m_localRoot->frameView(); | 524 FrameView* view = m_localRoot->frameView(); |
| 539 return view->documentBackgroundColor().rgb(); | 525 return view->documentBackgroundColor().rgb(); |
| 540 } | 526 } |
| 541 | 527 |
| 542 // TODO(ekaramad):This method is almost duplicated in WebViewImpl as well. This | 528 // TODO(ekaramad):This method is almost duplicated in WebViewImpl as well. This |
| (...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1139 return nullptr; | 1125 return nullptr; |
| 1140 } | 1126 } |
| 1141 | 1127 |
| 1142 LocalFrame* WebFrameWidgetImpl::focusedLocalFrameAvailableForIme() const { | 1128 LocalFrame* WebFrameWidgetImpl::focusedLocalFrameAvailableForIme() const { |
| 1143 if (!m_imeAcceptEvents) | 1129 if (!m_imeAcceptEvents) |
| 1144 return nullptr; | 1130 return nullptr; |
| 1145 return focusedLocalFrameInWidget(); | 1131 return focusedLocalFrameInWidget(); |
| 1146 } | 1132 } |
| 1147 | 1133 |
| 1148 } // namespace blink | 1134 } // namespace blink |
| OLD | NEW |