OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/html/HTMLSelectElement.h" | 5 #include "core/html/HTMLSelectElement.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include "core/dom/Document.h" | 8 #include "core/dom/Document.h" |
9 #include "core/frame/FrameView.h" | 9 #include "core/frame/FrameView.h" |
10 #include "core/html/HTMLFormElement.h" | 10 #include "core/html/HTMLFormElement.h" |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 HTMLSelectElement* select = | 167 HTMLSelectElement* select = |
168 toHTMLSelectElement(document().body()->firstChild()); | 168 toHTMLSelectElement(document().body()->firstChild()); |
169 EXPECT_EQ(nullptr, select->firstSelectableOption()); | 169 EXPECT_EQ(nullptr, select->firstSelectableOption()); |
170 } | 170 } |
171 { | 171 { |
172 document().documentElement()->setInnerHTML( | 172 document().documentElement()->setInnerHTML( |
173 "<select><option id=o1></option><option id=o2></option></select>"); | 173 "<select><option id=o1></option><option id=o2></option></select>"); |
174 document().view()->updateAllLifecyclePhases(); | 174 document().view()->updateAllLifecyclePhases(); |
175 HTMLSelectElement* select = | 175 HTMLSelectElement* select = |
176 toHTMLSelectElement(document().body()->firstChild()); | 176 toHTMLSelectElement(document().body()->firstChild()); |
177 EXPECT_EQ("o1", select->firstSelectableOption()->fastGetAttribute( | 177 EXPECT_EQ( |
178 HTMLNames::idAttr)); | 178 "o1", |
| 179 select->firstSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
179 } | 180 } |
180 { | 181 { |
181 document().documentElement()->setInnerHTML( | 182 document().documentElement()->setInnerHTML( |
182 "<select><option id=o1 disabled></option><option " | 183 "<select><option id=o1 disabled></option><option " |
183 "id=o2></option></select>"); | 184 "id=o2></option></select>"); |
184 document().view()->updateAllLifecyclePhases(); | 185 document().view()->updateAllLifecyclePhases(); |
185 HTMLSelectElement* select = | 186 HTMLSelectElement* select = |
186 toHTMLSelectElement(document().body()->firstChild()); | 187 toHTMLSelectElement(document().body()->firstChild()); |
187 EXPECT_EQ("o2", select->firstSelectableOption()->fastGetAttribute( | 188 EXPECT_EQ( |
188 HTMLNames::idAttr)); | 189 "o2", |
| 190 select->firstSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
189 } | 191 } |
190 { | 192 { |
191 document().documentElement()->setInnerHTML( | 193 document().documentElement()->setInnerHTML( |
192 "<select><option id=o1 style='display:none'></option><option " | 194 "<select><option id=o1 style='display:none'></option><option " |
193 "id=o2></option></select>"); | 195 "id=o2></option></select>"); |
194 document().view()->updateAllLifecyclePhases(); | 196 document().view()->updateAllLifecyclePhases(); |
195 HTMLSelectElement* select = | 197 HTMLSelectElement* select = |
196 toHTMLSelectElement(document().body()->firstChild()); | 198 toHTMLSelectElement(document().body()->firstChild()); |
197 EXPECT_EQ("o2", select->firstSelectableOption()->fastGetAttribute( | 199 EXPECT_EQ( |
198 HTMLNames::idAttr)); | 200 "o2", |
| 201 select->firstSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
199 } | 202 } |
200 { | 203 { |
201 document().documentElement()->setInnerHTML( | 204 document().documentElement()->setInnerHTML( |
202 "<select><optgroup><option id=o1></option><option " | 205 "<select><optgroup><option id=o1></option><option " |
203 "id=o2></option></optgroup></select>"); | 206 "id=o2></option></optgroup></select>"); |
204 document().view()->updateAllLifecyclePhases(); | 207 document().view()->updateAllLifecyclePhases(); |
205 HTMLSelectElement* select = | 208 HTMLSelectElement* select = |
206 toHTMLSelectElement(document().body()->firstChild()); | 209 toHTMLSelectElement(document().body()->firstChild()); |
207 EXPECT_EQ("o1", select->firstSelectableOption()->fastGetAttribute( | 210 EXPECT_EQ( |
208 HTMLNames::idAttr)); | 211 "o1", |
| 212 select->firstSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
209 } | 213 } |
210 } | 214 } |
211 | 215 |
212 TEST_F(HTMLSelectElementTest, LastSelectableOption) { | 216 TEST_F(HTMLSelectElementTest, LastSelectableOption) { |
213 { | 217 { |
214 document().documentElement()->setInnerHTML("<select></select>"); | 218 document().documentElement()->setInnerHTML("<select></select>"); |
215 document().view()->updateAllLifecyclePhases(); | 219 document().view()->updateAllLifecyclePhases(); |
216 HTMLSelectElement* select = | 220 HTMLSelectElement* select = |
217 toHTMLSelectElement(document().body()->firstChild()); | 221 toHTMLSelectElement(document().body()->firstChild()); |
218 EXPECT_EQ(nullptr, select->lastSelectableOption()); | 222 EXPECT_EQ(nullptr, select->lastSelectableOption()); |
219 } | 223 } |
220 { | 224 { |
221 document().documentElement()->setInnerHTML( | 225 document().documentElement()->setInnerHTML( |
222 "<select><option id=o1></option><option id=o2></option></select>"); | 226 "<select><option id=o1></option><option id=o2></option></select>"); |
223 document().view()->updateAllLifecyclePhases(); | 227 document().view()->updateAllLifecyclePhases(); |
224 HTMLSelectElement* select = | 228 HTMLSelectElement* select = |
225 toHTMLSelectElement(document().body()->firstChild()); | 229 toHTMLSelectElement(document().body()->firstChild()); |
226 EXPECT_EQ("o2", select->lastSelectableOption()->fastGetAttribute( | 230 EXPECT_EQ( |
227 HTMLNames::idAttr)); | 231 "o2", |
| 232 select->lastSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
228 } | 233 } |
229 { | 234 { |
230 document().documentElement()->setInnerHTML( | 235 document().documentElement()->setInnerHTML( |
231 "<select><option id=o1></option><option id=o2 " | 236 "<select><option id=o1></option><option id=o2 " |
232 "disabled></option></select>"); | 237 "disabled></option></select>"); |
233 document().view()->updateAllLifecyclePhases(); | 238 document().view()->updateAllLifecyclePhases(); |
234 HTMLSelectElement* select = | 239 HTMLSelectElement* select = |
235 toHTMLSelectElement(document().body()->firstChild()); | 240 toHTMLSelectElement(document().body()->firstChild()); |
236 EXPECT_EQ("o1", select->lastSelectableOption()->fastGetAttribute( | 241 EXPECT_EQ( |
237 HTMLNames::idAttr)); | 242 "o1", |
| 243 select->lastSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
238 } | 244 } |
239 { | 245 { |
240 document().documentElement()->setInnerHTML( | 246 document().documentElement()->setInnerHTML( |
241 "<select><option id=o1></option><option id=o2 " | 247 "<select><option id=o1></option><option id=o2 " |
242 "style='display:none'></option></select>"); | 248 "style='display:none'></option></select>"); |
243 document().view()->updateAllLifecyclePhases(); | 249 document().view()->updateAllLifecyclePhases(); |
244 HTMLSelectElement* select = | 250 HTMLSelectElement* select = |
245 toHTMLSelectElement(document().body()->firstChild()); | 251 toHTMLSelectElement(document().body()->firstChild()); |
246 EXPECT_EQ("o1", select->lastSelectableOption()->fastGetAttribute( | 252 EXPECT_EQ( |
247 HTMLNames::idAttr)); | 253 "o1", |
| 254 select->lastSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
248 } | 255 } |
249 { | 256 { |
250 document().documentElement()->setInnerHTML( | 257 document().documentElement()->setInnerHTML( |
251 "<select><optgroup><option id=o1></option><option " | 258 "<select><optgroup><option id=o1></option><option " |
252 "id=o2></option></optgroup></select>"); | 259 "id=o2></option></optgroup></select>"); |
253 document().view()->updateAllLifecyclePhases(); | 260 document().view()->updateAllLifecyclePhases(); |
254 HTMLSelectElement* select = | 261 HTMLSelectElement* select = |
255 toHTMLSelectElement(document().body()->firstChild()); | 262 toHTMLSelectElement(document().body()->firstChild()); |
256 EXPECT_EQ("o2", select->lastSelectableOption()->fastGetAttribute( | 263 EXPECT_EQ( |
257 HTMLNames::idAttr)); | 264 "o2", |
| 265 select->lastSelectableOption()->fastGetAttribute(HTMLNames::idAttr)); |
258 } | 266 } |
259 } | 267 } |
260 | 268 |
261 TEST_F(HTMLSelectElementTest, NextSelectableOption) { | 269 TEST_F(HTMLSelectElementTest, NextSelectableOption) { |
262 { | 270 { |
263 document().documentElement()->setInnerHTML("<select></select>"); | 271 document().documentElement()->setInnerHTML("<select></select>"); |
264 document().view()->updateAllLifecyclePhases(); | 272 document().view()->updateAllLifecyclePhases(); |
265 HTMLSelectElement* select = | 273 HTMLSelectElement* select = |
266 toHTMLSelectElement(document().body()->firstChild()); | 274 toHTMLSelectElement(document().body()->firstChild()); |
267 EXPECT_EQ(nullptr, select->nextSelectableOption(nullptr)); | 275 EXPECT_EQ(nullptr, select->nextSelectableOption(nullptr)); |
268 } | 276 } |
269 { | 277 { |
270 document().documentElement()->setInnerHTML( | 278 document().documentElement()->setInnerHTML( |
271 "<select><option id=o1></option><option id=o2></option></select>"); | 279 "<select><option id=o1></option><option id=o2></option></select>"); |
272 document().view()->updateAllLifecyclePhases(); | 280 document().view()->updateAllLifecyclePhases(); |
273 HTMLSelectElement* select = | 281 HTMLSelectElement* select = |
274 toHTMLSelectElement(document().body()->firstChild()); | 282 toHTMLSelectElement(document().body()->firstChild()); |
275 EXPECT_EQ("o1", select->nextSelectableOption(nullptr)->fastGetAttribute( | 283 EXPECT_EQ("o1", |
276 HTMLNames::idAttr)); | 284 select->nextSelectableOption(nullptr)->fastGetAttribute( |
| 285 HTMLNames::idAttr)); |
277 } | 286 } |
278 { | 287 { |
279 document().documentElement()->setInnerHTML( | 288 document().documentElement()->setInnerHTML( |
280 "<select><option id=o1 disabled></option><option " | 289 "<select><option id=o1 disabled></option><option " |
281 "id=o2></option></select>"); | 290 "id=o2></option></select>"); |
282 document().view()->updateAllLifecyclePhases(); | 291 document().view()->updateAllLifecyclePhases(); |
283 HTMLSelectElement* select = | 292 HTMLSelectElement* select = |
284 toHTMLSelectElement(document().body()->firstChild()); | 293 toHTMLSelectElement(document().body()->firstChild()); |
285 EXPECT_EQ("o2", select->nextSelectableOption(nullptr)->fastGetAttribute( | 294 EXPECT_EQ("o2", |
286 HTMLNames::idAttr)); | 295 select->nextSelectableOption(nullptr)->fastGetAttribute( |
| 296 HTMLNames::idAttr)); |
287 } | 297 } |
288 { | 298 { |
289 document().documentElement()->setInnerHTML( | 299 document().documentElement()->setInnerHTML( |
290 "<select><option id=o1 style='display:none'></option><option " | 300 "<select><option id=o1 style='display:none'></option><option " |
291 "id=o2></option></select>"); | 301 "id=o2></option></select>"); |
292 document().view()->updateAllLifecyclePhases(); | 302 document().view()->updateAllLifecyclePhases(); |
293 HTMLSelectElement* select = | 303 HTMLSelectElement* select = |
294 toHTMLSelectElement(document().body()->firstChild()); | 304 toHTMLSelectElement(document().body()->firstChild()); |
295 EXPECT_EQ("o2", select->nextSelectableOption(nullptr)->fastGetAttribute( | 305 EXPECT_EQ("o2", |
296 HTMLNames::idAttr)); | 306 select->nextSelectableOption(nullptr)->fastGetAttribute( |
| 307 HTMLNames::idAttr)); |
297 } | 308 } |
298 { | 309 { |
299 document().documentElement()->setInnerHTML( | 310 document().documentElement()->setInnerHTML( |
300 "<select><optgroup><option id=o1></option><option " | 311 "<select><optgroup><option id=o1></option><option " |
301 "id=o2></option></optgroup></select>"); | 312 "id=o2></option></optgroup></select>"); |
302 document().view()->updateAllLifecyclePhases(); | 313 document().view()->updateAllLifecyclePhases(); |
303 HTMLSelectElement* select = | 314 HTMLSelectElement* select = |
304 toHTMLSelectElement(document().body()->firstChild()); | 315 toHTMLSelectElement(document().body()->firstChild()); |
305 EXPECT_EQ("o1", select->nextSelectableOption(nullptr)->fastGetAttribute( | 316 EXPECT_EQ("o1", |
306 HTMLNames::idAttr)); | 317 select->nextSelectableOption(nullptr)->fastGetAttribute( |
| 318 HTMLNames::idAttr)); |
307 } | 319 } |
308 { | 320 { |
309 document().documentElement()->setInnerHTML( | 321 document().documentElement()->setInnerHTML( |
310 "<select><option id=o1></option><option id=o2></option></select>"); | 322 "<select><option id=o1></option><option id=o2></option></select>"); |
311 document().view()->updateAllLifecyclePhases(); | 323 document().view()->updateAllLifecyclePhases(); |
312 HTMLSelectElement* select = | 324 HTMLSelectElement* select = |
313 toHTMLSelectElement(document().body()->firstChild()); | 325 toHTMLSelectElement(document().body()->firstChild()); |
314 HTMLOptionElement* option = | 326 HTMLOptionElement* option = |
315 toHTMLOptionElement(document().getElementById("o1")); | 327 toHTMLOptionElement(document().getElementById("o1")); |
316 EXPECT_EQ("o2", select->nextSelectableOption(option)->fastGetAttribute( | 328 EXPECT_EQ("o2", |
317 HTMLNames::idAttr)); | 329 select->nextSelectableOption(option)->fastGetAttribute( |
| 330 HTMLNames::idAttr)); |
318 | 331 |
319 EXPECT_EQ(nullptr, select->nextSelectableOption(toHTMLOptionElement( | 332 EXPECT_EQ(nullptr, |
320 document().getElementById("o2")))); | 333 select->nextSelectableOption( |
| 334 toHTMLOptionElement(document().getElementById("o2")))); |
321 } | 335 } |
322 { | 336 { |
323 document().documentElement()->setInnerHTML( | 337 document().documentElement()->setInnerHTML( |
324 "<select><option id=o1></option><optgroup><option " | 338 "<select><option id=o1></option><optgroup><option " |
325 "id=o2></option></optgroup></select>"); | 339 "id=o2></option></optgroup></select>"); |
326 document().view()->updateAllLifecyclePhases(); | 340 document().view()->updateAllLifecyclePhases(); |
327 HTMLSelectElement* select = | 341 HTMLSelectElement* select = |
328 toHTMLSelectElement(document().body()->firstChild()); | 342 toHTMLSelectElement(document().body()->firstChild()); |
329 HTMLOptionElement* option = | 343 HTMLOptionElement* option = |
330 toHTMLOptionElement(document().getElementById("o1")); | 344 toHTMLOptionElement(document().getElementById("o1")); |
331 EXPECT_EQ("o2", select->nextSelectableOption(option)->fastGetAttribute( | 345 EXPECT_EQ("o2", |
332 HTMLNames::idAttr)); | 346 select->nextSelectableOption(option)->fastGetAttribute( |
| 347 HTMLNames::idAttr)); |
333 } | 348 } |
334 } | 349 } |
335 | 350 |
336 TEST_F(HTMLSelectElementTest, PreviousSelectableOption) { | 351 TEST_F(HTMLSelectElementTest, PreviousSelectableOption) { |
337 { | 352 { |
338 document().documentElement()->setInnerHTML("<select></select>"); | 353 document().documentElement()->setInnerHTML("<select></select>"); |
339 document().view()->updateAllLifecyclePhases(); | 354 document().view()->updateAllLifecyclePhases(); |
340 HTMLSelectElement* select = | 355 HTMLSelectElement* select = |
341 toHTMLSelectElement(document().body()->firstChild()); | 356 toHTMLSelectElement(document().body()->firstChild()); |
342 EXPECT_EQ(nullptr, select->previousSelectableOption(nullptr)); | 357 EXPECT_EQ(nullptr, select->previousSelectableOption(nullptr)); |
343 } | 358 } |
344 { | 359 { |
345 document().documentElement()->setInnerHTML( | 360 document().documentElement()->setInnerHTML( |
346 "<select><option id=o1></option><option id=o2></option></select>"); | 361 "<select><option id=o1></option><option id=o2></option></select>"); |
347 document().view()->updateAllLifecyclePhases(); | 362 document().view()->updateAllLifecyclePhases(); |
348 HTMLSelectElement* select = | 363 HTMLSelectElement* select = |
349 toHTMLSelectElement(document().body()->firstChild()); | 364 toHTMLSelectElement(document().body()->firstChild()); |
350 EXPECT_EQ("o2", select->previousSelectableOption(nullptr)->fastGetAttribute( | 365 EXPECT_EQ("o2", |
351 HTMLNames::idAttr)); | 366 select->previousSelectableOption(nullptr)->fastGetAttribute( |
| 367 HTMLNames::idAttr)); |
352 } | 368 } |
353 { | 369 { |
354 document().documentElement()->setInnerHTML( | 370 document().documentElement()->setInnerHTML( |
355 "<select><option id=o1></option><option id=o2 " | 371 "<select><option id=o1></option><option id=o2 " |
356 "disabled></option></select>"); | 372 "disabled></option></select>"); |
357 document().view()->updateAllLifecyclePhases(); | 373 document().view()->updateAllLifecyclePhases(); |
358 HTMLSelectElement* select = | 374 HTMLSelectElement* select = |
359 toHTMLSelectElement(document().body()->firstChild()); | 375 toHTMLSelectElement(document().body()->firstChild()); |
360 EXPECT_EQ("o1", select->previousSelectableOption(nullptr)->fastGetAttribute( | 376 EXPECT_EQ("o1", |
361 HTMLNames::idAttr)); | 377 select->previousSelectableOption(nullptr)->fastGetAttribute( |
| 378 HTMLNames::idAttr)); |
362 } | 379 } |
363 { | 380 { |
364 document().documentElement()->setInnerHTML( | 381 document().documentElement()->setInnerHTML( |
365 "<select><option id=o1></option><option id=o2 " | 382 "<select><option id=o1></option><option id=o2 " |
366 "style='display:none'></option></select>"); | 383 "style='display:none'></option></select>"); |
367 document().view()->updateAllLifecyclePhases(); | 384 document().view()->updateAllLifecyclePhases(); |
368 HTMLSelectElement* select = | 385 HTMLSelectElement* select = |
369 toHTMLSelectElement(document().body()->firstChild()); | 386 toHTMLSelectElement(document().body()->firstChild()); |
370 EXPECT_EQ("o1", select->previousSelectableOption(nullptr)->fastGetAttribute( | 387 EXPECT_EQ("o1", |
371 HTMLNames::idAttr)); | 388 select->previousSelectableOption(nullptr)->fastGetAttribute( |
| 389 HTMLNames::idAttr)); |
372 } | 390 } |
373 { | 391 { |
374 document().documentElement()->setInnerHTML( | 392 document().documentElement()->setInnerHTML( |
375 "<select><optgroup><option id=o1></option><option " | 393 "<select><optgroup><option id=o1></option><option " |
376 "id=o2></option></optgroup></select>"); | 394 "id=o2></option></optgroup></select>"); |
377 document().view()->updateAllLifecyclePhases(); | 395 document().view()->updateAllLifecyclePhases(); |
378 HTMLSelectElement* select = | 396 HTMLSelectElement* select = |
379 toHTMLSelectElement(document().body()->firstChild()); | 397 toHTMLSelectElement(document().body()->firstChild()); |
380 EXPECT_EQ("o2", select->previousSelectableOption(nullptr)->fastGetAttribute( | 398 EXPECT_EQ("o2", |
381 HTMLNames::idAttr)); | 399 select->previousSelectableOption(nullptr)->fastGetAttribute( |
| 400 HTMLNames::idAttr)); |
382 } | 401 } |
383 { | 402 { |
384 document().documentElement()->setInnerHTML( | 403 document().documentElement()->setInnerHTML( |
385 "<select><option id=o1></option><option id=o2></option></select>"); | 404 "<select><option id=o1></option><option id=o2></option></select>"); |
386 document().view()->updateAllLifecyclePhases(); | 405 document().view()->updateAllLifecyclePhases(); |
387 HTMLSelectElement* select = | 406 HTMLSelectElement* select = |
388 toHTMLSelectElement(document().body()->firstChild()); | 407 toHTMLSelectElement(document().body()->firstChild()); |
389 HTMLOptionElement* option = | 408 HTMLOptionElement* option = |
390 toHTMLOptionElement(document().getElementById("o2")); | 409 toHTMLOptionElement(document().getElementById("o2")); |
391 EXPECT_EQ("o1", select->previousSelectableOption(option)->fastGetAttribute( | 410 EXPECT_EQ("o1", |
392 HTMLNames::idAttr)); | 411 select->previousSelectableOption(option)->fastGetAttribute( |
| 412 HTMLNames::idAttr)); |
393 | 413 |
394 EXPECT_EQ(nullptr, select->previousSelectableOption(toHTMLOptionElement( | 414 EXPECT_EQ(nullptr, |
395 document().getElementById("o1")))); | 415 select->previousSelectableOption( |
| 416 toHTMLOptionElement(document().getElementById("o1")))); |
396 } | 417 } |
397 { | 418 { |
398 document().documentElement()->setInnerHTML( | 419 document().documentElement()->setInnerHTML( |
399 "<select><option id=o1></option><optgroup><option " | 420 "<select><option id=o1></option><optgroup><option " |
400 "id=o2></option></optgroup></select>"); | 421 "id=o2></option></optgroup></select>"); |
401 document().view()->updateAllLifecyclePhases(); | 422 document().view()->updateAllLifecyclePhases(); |
402 HTMLSelectElement* select = | 423 HTMLSelectElement* select = |
403 toHTMLSelectElement(document().body()->firstChild()); | 424 toHTMLSelectElement(document().body()->firstChild()); |
404 HTMLOptionElement* option = | 425 HTMLOptionElement* option = |
405 toHTMLOptionElement(document().getElementById("o2")); | 426 toHTMLOptionElement(document().getElementById("o2")); |
406 EXPECT_EQ("o1", select->previousSelectableOption(option)->fastGetAttribute( | 427 EXPECT_EQ("o1", |
407 HTMLNames::idAttr)); | 428 select->previousSelectableOption(option)->fastGetAttribute( |
| 429 HTMLNames::idAttr)); |
408 } | 430 } |
409 } | 431 } |
410 | 432 |
411 TEST_F(HTMLSelectElementTest, ActiveSelectionEndAfterOptionRemoval) { | 433 TEST_F(HTMLSelectElementTest, ActiveSelectionEndAfterOptionRemoval) { |
412 document().documentElement()->setInnerHTML( | 434 document().documentElement()->setInnerHTML( |
413 "<select><optgroup><option selected>o1</option></optgroup></select>"); | 435 "<select><optgroup><option selected>o1</option></optgroup></select>"); |
414 document().view()->updateAllLifecyclePhases(); | 436 document().view()->updateAllLifecyclePhases(); |
415 HTMLSelectElement* select = | 437 HTMLSelectElement* select = |
416 toHTMLSelectElement(document().body()->firstChild()); | 438 toHTMLSelectElement(document().body()->firstChild()); |
417 HTMLOptionElement* option = | 439 HTMLOptionElement* option = |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 "<select><optgroup><option>sub1</option><option>sub2</option></" | 495 "<select><optgroup><option>sub1</option><option>sub2</option></" |
474 "optgroup></select>"); | 496 "optgroup></select>"); |
475 document().view()->updateAllLifecyclePhases(); | 497 document().view()->updateAllLifecyclePhases(); |
476 HTMLSelectElement* select = | 498 HTMLSelectElement* select = |
477 toHTMLSelectElement(document().body()->firstChild()); | 499 toHTMLSelectElement(document().body()->firstChild()); |
478 select->setInnerHTML(""); | 500 select->setInnerHTML(""); |
479 // PASS if setInnerHTML didn't have a check failure. | 501 // PASS if setInnerHTML didn't have a check failure. |
480 } | 502 } |
481 | 503 |
482 } // namespace blink | 504 } // namespace blink |
OLD | NEW |