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

Side by Side Diff: Source/WebKit2/WebProcess/WebPage/WebPage.cpp

Issue 6532004: DO NOT SUBMIT (Closed) Base URL: git://git.webkit.org/WebKit.git@master
Patch Set: Address feedback Created 9 years, 9 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) 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2010, 2011 Apple 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 } 796 }
797 #endif 797 #endif
798 798
799 WebContextMenu* WebPage::contextMenu() 799 WebContextMenu* WebPage::contextMenu()
800 { 800 {
801 if (!m_contextMenu) 801 if (!m_contextMenu)
802 m_contextMenu = WebContextMenu::create(this); 802 m_contextMenu = WebContextMenu::create(this);
803 return m_contextMenu.get(); 803 return m_contextMenu.get();
804 } 804 }
805 805
806 void WebPage::getLocationAndLengthFromRange(Range* range, uint64_t& location, ui nt64_t& length)
807 {
808 location = notFound;
809 length = 0;
810
811 if (!range || !range->startContainer())
812 return;
813
814 Element* selectionRoot = range->ownerDocument()->frame()->selection()->rootE ditableElement();
815 Element* scope = selectionRoot ? selectionRoot : range->ownerDocument()->doc umentElement();
816
817 // Mouse events may cause TSM to attempt to create an NSRange for a portion of the view
818 // that is not inside the current editable region. These checks ensure we d on't produce
819 // potentially invalid data when responding to such requests.
820 if (range->startContainer() != scope && !range->startContainer()->isDescenda ntOf(scope))
821 return;
822 if (range->endContainer() != scope && !range->endContainer()->isDescendantOf (scope))
823 return;
824
825 RefPtr<Range> testRange = Range::create(scope->document(), scope, 0, range-> startContainer(), range->startOffset());
826 ASSERT(testRange->startContainer() == scope);
827 location = TextIterator::rangeLength(testRange.get());
828
829 ExceptionCode ec;
830 testRange->setEnd(range->endContainer(), range->endOffset(), ec);
831 ASSERT(testRange->startContainer() == scope);
832 length = TextIterator::rangeLength(testRange.get()) - location;
833 }
834
835 // Events 806 // Events
836 807
837 static const WebEvent* g_currentEvent = 0; 808 static const WebEvent* g_currentEvent = 0;
838 809
839 // FIXME: WebPage::currentEvent is used by the plug-in code to avoid having to c onvert from DOM events back to 810 // FIXME: WebPage::currentEvent is used by the plug-in code to avoid having to c onvert from DOM events back to
840 // WebEvents. When we get the event handling sorted out, this should go away and the Widgets should get the correct 811 // WebEvents. When we get the event handling sorted out, this should go away and the Widgets should get the correct
841 // platform events passed to the event handler code. 812 // platform events passed to the event handler code.
842 const WebEvent* WebPage::currentEvent() 813 const WebEvent* WebPage::currentEvent()
843 { 814 {
844 return g_currentEvent; 815 return g_currentEvent;
(...skipping 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after
2122 #endif 2093 #endif
2123 2094
2124 bool WebPage::canHandleRequest(const WebCore::ResourceRequest& request) 2095 bool WebPage::canHandleRequest(const WebCore::ResourceRequest& request)
2125 { 2096 {
2126 if (SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(request.url().protoco l())) 2097 if (SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(request.url().protoco l()))
2127 return true; 2098 return true;
2128 return platformCanHandleRequest(request); 2099 return platformCanHandleRequest(request);
2129 } 2100 }
2130 2101
2131 } // namespace WebKit 2102 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/WebKit2/WebProcess/WebPage/WebPage.h ('k') | Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698