| OLD | NEW |
| 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 2170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2181 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("smartclip_user_select_none.html")); | 2181 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("smartclip_user_select_none.html")); |
| 2182 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip_
user_select_none.html"); | 2182 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip_
user_select_none.html"); |
| 2183 webView->resize(WebSize(500, 500)); | 2183 webView->resize(WebSize(500, 500)); |
| 2184 webView->updateAllLifecyclePhases(); | 2184 webView->updateAllLifecyclePhases(); |
| 2185 WebRect cropRect(0, 0, 100, 100); | 2185 WebRect cropRect(0, 0, 100, 100); |
| 2186 webView->extractSmartClipData(cropRect, clipText, clipHtml, clipRect); | 2186 webView->extractSmartClipData(cropRect, clipText, clipHtml, clipRect); |
| 2187 EXPECT_STREQ("", clipText.utf8().c_str()); | 2187 EXPECT_STREQ("", clipText.utf8().c_str()); |
| 2188 EXPECT_STREQ("", clipHtml.utf8().c_str()); | 2188 EXPECT_STREQ("", clipHtml.utf8().c_str()); |
| 2189 } | 2189 } |
| 2190 | 2190 |
| 2191 TEST_F(WebViewTest, SmartClipDoesNotCrashPositionReversed) |
| 2192 { |
| 2193 WebString clipText; |
| 2194 WebString clipHtml; |
| 2195 WebRect clipRect; |
| 2196 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("Ahem.ttf")); |
| 2197 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("smartclip_reversed_positions.html")); |
| 2198 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip_
reversed_positions.html"); |
| 2199 webView->resize(WebSize(500, 500)); |
| 2200 webView->updateAllLifecyclePhases(); |
| 2201 // Left upper corner of the rect will be end position in the DOM hierarchy. |
| 2202 WebRect cropRect(30, 110, 400, 250); |
| 2203 // This should not still crash. See crbug.com/589082 for more details. |
| 2204 webView->extractSmartClipData(cropRect, clipText, clipHtml, clipRect); |
| 2205 } |
| 2206 |
| 2191 class CreateChildCounterFrameClient : public FrameTestHelpers::TestWebFrameClien
t { | 2207 class CreateChildCounterFrameClient : public FrameTestHelpers::TestWebFrameClien
t { |
| 2192 public: | 2208 public: |
| 2193 CreateChildCounterFrameClient() : m_count(0) { } | 2209 CreateChildCounterFrameClient() : m_count(0) { } |
| 2194 WebFrame* createChildFrame(WebLocalFrame* parent, WebTreeScopeType, const We
bString& name, const WebString& uniqueName, WebSandboxFlags, const WebFrameOwner
Properties&) override; | 2210 WebFrame* createChildFrame(WebLocalFrame* parent, WebTreeScopeType, const We
bString& name, const WebString& uniqueName, WebSandboxFlags, const WebFrameOwner
Properties&) override; |
| 2195 | 2211 |
| 2196 int count() const { return m_count; } | 2212 int count() const { return m_count; } |
| 2197 | 2213 |
| 2198 private: | 2214 private: |
| 2199 int m_count; | 2215 int m_count; |
| 2200 }; | 2216 }; |
| (...skipping 1025 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3226 frame->setAutofillClient(&client); | 3242 frame->setAutofillClient(&client); |
| 3227 webView->setInitialFocus(false); | 3243 webView->setInitialFocus(false); |
| 3228 | 3244 |
| 3229 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel
lo").c_str()))); | 3245 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel
lo").c_str()))); |
| 3230 EXPECT_EQ(1, client.textChangesFromUserGesture()); | 3246 EXPECT_EQ(1, client.textChangesFromUserGesture()); |
| 3231 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); | 3247 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); |
| 3232 frame->setAutofillClient(0); | 3248 frame->setAutofillClient(0); |
| 3233 } | 3249 } |
| 3234 | 3250 |
| 3235 } // namespace blink | 3251 } // namespace blink |
| OLD | NEW |