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

Side by Side Diff: sky/engine/web/WebViewImpl.cpp

Issue 928393003: Remove the concept of document.documentElement (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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) 2011, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011, 2012 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 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 446
447 bool WebViewImpl::confirmComposition(const WebString& text, ConfirmCompositionBe havior selectionBehavior) 447 bool WebViewImpl::confirmComposition(const WebString& text, ConfirmCompositionBe havior selectionBehavior)
448 { 448 {
449 LocalFrame* focused = focusedCoreFrame(); 449 LocalFrame* focused = focusedCoreFrame();
450 if (!focused || !m_imeAcceptEvents) 450 if (!focused || !m_imeAcceptEvents)
451 return false; 451 return false;
452 452
453 return focused->inputMethodController().confirmCompositionOrInsertText(text, selectionBehavior == KeepSelection ? InputMethodController::KeepSelection : Inp utMethodController::DoNotKeepSelection); 453 return focused->inputMethodController().confirmCompositionOrInsertText(text, selectionBehavior == KeepSelection ? InputMethodController::KeepSelection : Inp utMethodController::DoNotKeepSelection);
454 } 454 }
455 455
456 bool WebViewImpl::compositionRange(size_t* location, size_t* length)
457 {
458 LocalFrame* focused = focusedCoreFrame();
459 if (!focused || !m_imeAcceptEvents)
460 return false;
461
462 RefPtr<Range> range = focused->inputMethodController().compositionRange();
463 if (!range)
464 return false;
465
466 Element* editable = focused->selection().rootEditableElementOrDocumentElemen t();
467 ASSERT(editable);
468 PlainTextRange plainTextRange(PlainTextRange::create(*editable, *range.get() ));
469 if (plainTextRange.isNull())
470 return false;
471 *location = plainTextRange.start();
472 *length = plainTextRange.length();
473 return true;
474 }
475
476 WebTextInputInfo WebViewImpl::textInputInfo() 456 WebTextInputInfo WebViewImpl::textInputInfo()
477 { 457 {
478 WebTextInputInfo info; 458 WebTextInputInfo info;
479 459
480 LocalFrame* focused = focusedCoreFrame(); 460 LocalFrame* focused = focusedCoreFrame();
481 if (!focused) 461 if (!focused)
482 return info; 462 return info;
483 463
484 FrameSelection& selection = focused->selection(); 464 FrameSelection& selection = focused->selection();
485 Element* element = selection.selection().rootEditableElement(); 465 Element* element = selection.selection().rootEditableElement();
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 return WebVector<WebCompositionUnderline>(); 555 return WebVector<WebCompositionUnderline>();
576 const Vector<CompositionUnderline>& underlines = focused->inputMethodControl ler().customCompositionUnderlines(); 556 const Vector<CompositionUnderline>& underlines = focused->inputMethodControl ler().customCompositionUnderlines();
577 WebVector<WebCompositionUnderline> results(underlines.size()); 557 WebVector<WebCompositionUnderline> results(underlines.size());
578 for (size_t index = 0; index < underlines.size(); ++index) { 558 for (size_t index = 0; index < underlines.size(); ++index) {
579 CompositionUnderline underline = underlines[index]; 559 CompositionUnderline underline = underlines[index];
580 results[index] = WebCompositionUnderline(underline.startOffset, underlin e.endOffset, static_cast<WebColor>(underline.color.rgb()), underline.thick, stat ic_cast<WebColor>(underline.backgroundColor.rgb())); 560 results[index] = WebCompositionUnderline(underline.startOffset, underlin e.endOffset, static_cast<WebColor>(underline.color.rgb()), underline.thick, stat ic_cast<WebColor>(underline.backgroundColor.rgb()));
581 } 561 }
582 return results; 562 return results;
583 } 563 }
584 564
585 WebColor WebViewImpl::backgroundColor() const
586 {
587 if (isTransparent())
588 return Color::transparent;
589 if (!m_page)
590 return m_baseBackgroundColor;
591 if (!m_page->mainFrame())
592 return m_baseBackgroundColor;
593 FrameView* view = m_page->mainFrame()->view();
594 return view->documentBackgroundColor().rgb();
595 }
596
597 // WebView -------------------------------------------------------------------- 565 // WebView --------------------------------------------------------------------
598 566
599 WebSettingsImpl* WebViewImpl::settingsImpl() 567 WebSettingsImpl* WebViewImpl::settingsImpl()
600 { 568 {
601 if (!m_webSettings) 569 if (!m_webSettings)
602 m_webSettings = adoptPtr(new WebSettingsImpl(&m_page->settings())); 570 m_webSettings = adoptPtr(new WebSettingsImpl(&m_page->settings()));
603 ASSERT(m_webSettings); 571 ASSERT(m_webSettings);
604 return m_webSettings.get(); 572 return m_webSettings.get();
605 } 573 }
606 574
(...skipping 10 matching lines...) Expand all
617 WebFrame* WebViewImpl::focusedFrame() 585 WebFrame* WebViewImpl::focusedFrame()
618 { 586 {
619 return WebFrame::fromFrame(focusedCoreFrame()); 587 return WebFrame::fromFrame(focusedCoreFrame());
620 } 588 }
621 589
622 void WebViewImpl::injectModule(const WebString& path) 590 void WebViewImpl::injectModule(const WebString& path)
623 { 591 {
624 RefPtr<Document> document = m_page->mainFrame()->document(); 592 RefPtr<Document> document = m_page->mainFrame()->document();
625 RefPtr<HTMLImportElement> import = HTMLImportElement::create(*document); 593 RefPtr<HTMLImportElement> import = HTMLImportElement::create(*document);
626 import->setAttribute(HTMLNames::srcAttr, path); 594 import->setAttribute(HTMLNames::srcAttr, path);
627 if (!document->documentElement()) 595 document->appendChild(import.release());
628 return;
629 document->documentElement()->appendChild(import.release());
630 } 596 }
631 597
632 void WebViewImpl::setFocusedFrame(WebFrame* frame) 598 void WebViewImpl::setFocusedFrame(WebFrame* frame)
633 { 599 {
634 if (!frame) { 600 if (!frame) {
635 // Clears the focused frame if any. 601 // Clears the focused frame if any.
636 LocalFrame* focusedFrame = focusedCoreFrame(); 602 LocalFrame* focusedFrame = focusedCoreFrame();
637 if (focusedFrame) 603 if (focusedFrame)
638 focusedFrame->selection().setFocused(false); 604 focusedFrame->selection().setFocused(false);
639 return; 605 return;
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 void WebViewImpl::setVisibilityState(WebPageVisibilityState visibilityState, 805 void WebViewImpl::setVisibilityState(WebPageVisibilityState visibilityState,
840 bool isInitialState) { 806 bool isInitialState) {
841 if (!page()) 807 if (!page())
842 return; 808 return;
843 809
844 ASSERT(visibilityState == WebPageVisibilityStateVisible || visibilityState = = WebPageVisibilityStateHidden); 810 ASSERT(visibilityState == WebPageVisibilityStateVisible || visibilityState = = WebPageVisibilityStateHidden);
845 m_page->setVisibilityState(static_cast<PageVisibilityState>(static_cast<int> (visibilityState)), isInitialState); 811 m_page->setVisibilityState(static_cast<PageVisibilityState>(static_cast<int> (visibilityState)), isInitialState);
846 } 812 }
847 813
848 } // namespace blink 814 } // namespace blink
OLDNEW
« no previous file with comments | « sky/engine/web/WebViewImpl.h ('k') | sky/tests/clipping/background-opaque-clipped-gradients-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698