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

Side by Side Diff: Source/WebKit/chromium/src/WebViewImpl.cpp

Issue 10037002: Datalist UI (WebKit part) (Closed) Base URL: http://svn.webkit.org/repository/webkit/trunk
Patch Set: fixed Created 8 years, 8 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
« no previous file with comments | « Source/WebKit/chromium/src/WebViewImpl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2780 matching lines...) Expand 10 before | Expand all | Expand 10 after
2791 Document* document = mainFrameImpl()->frame()->document(); 2791 Document* document = mainFrameImpl()->frame()->document();
2792 return WebAccessibilityObject( 2792 return WebAccessibilityObject(
2793 document->axObjectCache()->getOrCreate(document->renderer())); 2793 document->axObjectCache()->getOrCreate(document->renderer()));
2794 } 2794 }
2795 2795
2796 void WebViewImpl::applyAutofillSuggestions( 2796 void WebViewImpl::applyAutofillSuggestions(
2797 const WebNode& node, 2797 const WebNode& node,
2798 const WebVector<WebString>& names, 2798 const WebVector<WebString>& names,
2799 const WebVector<WebString>& labels, 2799 const WebVector<WebString>& labels,
2800 const WebVector<WebString>& icons, 2800 const WebVector<WebString>& icons,
2801 const WebVector<int>& uniqueIDs, 2801 const WebVector<int>& itemIDs)
2802 int separatorIndex)
2803 { 2802 {
2804 ASSERT(names.size() == labels.size()); 2803 ASSERT(names.size() == labels.size());
2805 ASSERT(names.size() == uniqueIDs.size()); 2804 ASSERT(names.size() == itemIDs.size());
2806 ASSERT(separatorIndex < static_cast<int>(names.size()));
2807 2805
2808 if (names.isEmpty()) { 2806 if (names.isEmpty()) {
2809 hideAutofillPopup(); 2807 hideAutofillPopup();
2810 return; 2808 return;
2811 } 2809 }
2812 2810
2813 RefPtr<Node> focusedNode = focusedWebCoreNode(); 2811 RefPtr<Node> focusedNode = focusedWebCoreNode();
2814 // If the node for which we queried the Autofill suggestions is not the 2812 // If the node for which we queried the Autofill suggestions is not the
2815 // focused node, then we have nothing to do. FIXME: also check the 2813 // focused node, then we have nothing to do. FIXME: also check the
2816 // caret is at the end and that the text has not changed. 2814 // caret is at the end and that the text has not changed.
2817 if (!focusedNode || focusedNode != PassRefPtr<Node>(node)) { 2815 if (!focusedNode || focusedNode != PassRefPtr<Node>(node)) {
2818 hideAutofillPopup(); 2816 hideAutofillPopup();
2819 return; 2817 return;
2820 } 2818 }
2821 2819
2822 HTMLInputElement* inputElem = focusedNode->toInputElement(); 2820 HTMLInputElement* inputElem = focusedNode->toInputElement();
2823 ASSERT(inputElem); 2821 ASSERT(inputElem);
2824 2822
2825 // The first time the Autofill popup is shown we'll create the client and 2823 // The first time the Autofill popup is shown we'll create the client and
2826 // the popup. 2824 // the popup.
2827 if (!m_autofillPopupClient) 2825 if (!m_autofillPopupClient)
2828 m_autofillPopupClient = adoptPtr(new AutofillPopupMenuClient); 2826 m_autofillPopupClient = adoptPtr(new AutofillPopupMenuClient);
2829 2827
2830 m_autofillPopupClient->initialize( 2828 m_autofillPopupClient->initialize(
2831 inputElem, names, labels, icons, uniqueIDs, separatorIndex); 2829 inputElem, names, labels, icons, itemIDs);
2832 2830
2833 if (!m_autofillPopup) { 2831 if (!m_autofillPopup) {
2834 PopupContainerSettings popupSettings = autofillPopupSettings; 2832 PopupContainerSettings popupSettings = autofillPopupSettings;
2835 popupSettings.defaultDeviceScaleFactor = 2833 popupSettings.defaultDeviceScaleFactor =
2836 m_page->settings()->defaultDeviceScaleFactor(); 2834 m_page->settings()->defaultDeviceScaleFactor();
2837 if (!popupSettings.defaultDeviceScaleFactor) 2835 if (!popupSettings.defaultDeviceScaleFactor)
2838 popupSettings.defaultDeviceScaleFactor = 1; 2836 popupSettings.defaultDeviceScaleFactor = 1;
2839 m_autofillPopup = PopupContainer::create(m_autofillPopupClient.get(), 2837 m_autofillPopup = PopupContainer::create(m_autofillPopupClient.get(),
2840 PopupContainer::Suggestion, 2838 PopupContainer::Suggestion,
2841 popupSettings); 2839 popupSettings);
(...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after
3568 const WebMouseEvent& mouseEvent = static_cast<const WebMouseEvent&>(event); 3566 const WebMouseEvent& mouseEvent = static_cast<const WebMouseEvent&>(event);
3569 3567
3570 if (page()) 3568 if (page())
3571 page()->pointerLockController()->dispatchLockedMouseEvent( 3569 page()->pointerLockController()->dispatchLockedMouseEvent(
3572 PlatformMouseEventBuilder(mainFrameImpl()->frameView(), mouseEvent), 3570 PlatformMouseEventBuilder(mainFrameImpl()->frameView(), mouseEvent),
3573 eventType); 3571 eventType);
3574 } 3572 }
3575 #endif 3573 #endif
3576 3574
3577 } // namespace WebKit 3575 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/WebKit/chromium/src/WebViewImpl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698