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

Side by Side Diff: third_party/WebKit/Source/web/tests/WebViewTest.cpp

Issue 2275323003: Fix position of dictionary pop-up for <iframe>. (Closed)
Patch Set: Addressing bokan@'s comments Created 4 years, 3 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 | « third_party/WebKit/Source/web/mac/WebSubstringUtil.mm ('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 3180 matching lines...) Expand 10 before | Expand all | Expand 10 after
3191 3191
3192 webView->setZoomLevel(3); 3192 webView->setZoomLevel(3);
3193 3193
3194 result = WebSubstringUtil::attributedSubstringInRange(frame, 5, 5, &baseline Point); 3194 result = WebSubstringUtil::attributedSubstringInRange(frame, 5, 5, &baseline Point);
3195 ASSERT_TRUE(!!result); 3195 ASSERT_TRUE(!!result);
3196 3196
3197 point = WebPoint(baselinePoint.x, frameView->height() - baselinePoint.y); 3197 point = WebPoint(baselinePoint.x, frameView->height() - baselinePoint.y);
3198 result = WebSubstringUtil::attributedWordAtPoint(webView, point, baselinePoi nt); 3198 result = WebSubstringUtil::attributedWordAtPoint(webView, point, baselinePoi nt);
3199 ASSERT_TRUE(!!result); 3199 ASSERT_TRUE(!!result);
3200 } 3200 }
3201
3202 TEST_F(WebViewTest, WebSubstringUtilIframe)
3203 {
3204 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("single_iframe.html"));
3205 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("visible_iframe.html"));
3206 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "single _iframe.html");
3207 webView->settings()->setDefaultFontSize(12);
3208 webView->settings()->setJavaScriptEnabled(true);
3209 webView->resize(WebSize(400, 400));
3210 WebLocalFrameImpl* mainFrame = webView->mainFrameImpl();
3211 WebLocalFrameImpl* childFrame = WebLocalFrameImpl::fromFrame(toLocalFrame(ma inFrame->frame()->tree().firstChild()));
3212
3213 WebPoint baselinePoint;
3214 NSAttributedString* result = WebSubstringUtil::attributedSubstringInRange(ch ildFrame, 11, 7, &baselinePoint);
3215 ASSERT_NE(result, nullptr);
3216
3217 WebPoint point(baselinePoint.x, mainFrame->frameView()->height() - baselineP oint.y);
3218 result = WebSubstringUtil::attributedWordAtPoint(webView, point, baselinePoi nt);
3219 ASSERT_NE(result, nullptr);
3220
3221 int yBeforeChange = baselinePoint.y;
3222
3223 // Now move the <iframe> down by 100px.
3224 mainFrame->executeScript(WebScriptSource(
3225 "document.querySelector('iframe').style.marginTop = '100px';"));
3226
3227 point = WebPoint(point.x, point.y + 100);
3228 result = WebSubstringUtil::attributedWordAtPoint(webView, point, baselinePoi nt);
3229 ASSERT_NE(result, nullptr);
3230
3231 EXPECT_EQ(yBeforeChange, baselinePoint.y + 100);
3232 }
3233
3201 #endif 3234 #endif
3202 3235
3203 TEST_F(WebViewTest, PasswordFieldEditingIsUserGesture) 3236 TEST_F(WebViewTest, PasswordFieldEditingIsUserGesture)
3204 { 3237 {
3205 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_password.html")); 3238 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("input_field_password.html"));
3206 MockAutofillClient client; 3239 MockAutofillClient client;
3207 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_ field_password.html", true); 3240 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_ field_password.html", true);
3208 WebLocalFrameImpl* frame = webView->mainFrameImpl(); 3241 WebLocalFrameImpl* frame = webView->mainFrameImpl();
3209 frame->setAutofillClient(&client); 3242 frame->setAutofillClient(&client);
3210 webView->setInitialFocus(false); 3243 webView->setInitialFocus(false);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
3280 EXPECT_TRUE(webView->page()->defersLoading()); 3313 EXPECT_TRUE(webView->page()->defersLoading());
3281 } 3314 }
3282 3315
3283 EXPECT_TRUE(webView->page()->defersLoading()); 3316 EXPECT_TRUE(webView->page()->defersLoading());
3284 } 3317 }
3285 3318
3286 EXPECT_FALSE(webView->page()->defersLoading()); 3319 EXPECT_FALSE(webView->page()->defersLoading());
3287 } 3320 }
3288 3321
3289 } // namespace blink 3322 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/mac/WebSubstringUtil.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698