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

Side by Side Diff: third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp

Issue 2088453002: Implement the inert attribute (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update generic test expectations Created 3 years, 7 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) 2014, Google Inc. All rights reserved. 2 * Copyright (C) 2014, 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 20 matching lines...) Expand all
31 #include "core/HTMLNames.h" 31 #include "core/HTMLNames.h"
32 #include "core/InputTypeNames.h" 32 #include "core/InputTypeNames.h"
33 #include "core/dom/Document.h" 33 #include "core/dom/Document.h"
34 #include "core/dom/TaskRunnerHelper.h" 34 #include "core/dom/TaskRunnerHelper.h"
35 #include "core/editing/EditingUtilities.h" 35 #include "core/editing/EditingUtilities.h"
36 #include "core/frame/FrameView.h" 36 #include "core/frame/FrameView.h"
37 #include "core/frame/LocalFrame.h" 37 #include "core/frame/LocalFrame.h"
38 #include "core/frame/Settings.h" 38 #include "core/frame/Settings.h"
39 #include "core/html/HTMLAreaElement.h" 39 #include "core/html/HTMLAreaElement.h"
40 #include "core/html/HTMLCanvasElement.h" 40 #include "core/html/HTMLCanvasElement.h"
41 #include "core/html/HTMLFrameOwnerElement.h"
41 #include "core/html/HTMLImageElement.h" 42 #include "core/html/HTMLImageElement.h"
42 #include "core/html/HTMLInputElement.h" 43 #include "core/html/HTMLInputElement.h"
43 #include "core/html/HTMLLabelElement.h" 44 #include "core/html/HTMLLabelElement.h"
44 #include "core/html/HTMLOptionElement.h" 45 #include "core/html/HTMLOptionElement.h"
45 #include "core/html/HTMLSelectElement.h" 46 #include "core/html/HTMLSelectElement.h"
46 #include "core/layout/LayoutListBox.h" 47 #include "core/layout/LayoutListBox.h"
47 #include "core/layout/LayoutMenuList.h" 48 #include "core/layout/LayoutMenuList.h"
48 #include "core/layout/LayoutProgress.h" 49 #include "core/layout/LayoutProgress.h"
49 #include "core/layout/LayoutSlider.h" 50 #include "core/layout/LayoutSlider.h"
50 #include "core/layout/LayoutTable.h" 51 #include "core/layout/LayoutTable.h"
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 } 582 }
582 583
583 void AXObjectCacheImpl::TextChanged(LayoutObject* layout_object) { 584 void AXObjectCacheImpl::TextChanged(LayoutObject* layout_object) {
584 TextChanged(GetOrCreate(layout_object)); 585 TextChanged(GetOrCreate(layout_object));
585 } 586 }
586 587
587 void AXObjectCacheImpl::TextChanged(AXObject* obj) { 588 void AXObjectCacheImpl::TextChanged(AXObject* obj) {
588 if (!obj) 589 if (!obj)
589 return; 590 return;
590 591
591 bool parent_already_exists = obj->ParentObjectIfExists();
592 obj->TextChanged(); 592 obj->TextChanged();
593 PostNotification(obj, AXObjectCacheImpl::kAXTextChanged); 593 PostNotification(obj, AXObjectCacheImpl::kAXTextChanged);
594 if (parent_already_exists)
595 obj->NotifyIfIgnoredValueChanged();
596 } 594 }
597 595
598 void AXObjectCacheImpl::UpdateCacheAfterNodeIsAttached(Node* node) { 596 void AXObjectCacheImpl::UpdateCacheAfterNodeIsAttached(Node* node) {
599 // Calling get() will update the AX object if we had an AXNodeObject but now 597 // Calling get() will update the AX object if we had an AXNodeObject but now
600 // we need an AXLayoutObject, because it was reparented to a location outside 598 // we need an AXLayoutObject, because it was reparented to a location outside
601 // of a canvas. 599 // of a canvas.
602 Get(node); 600 Get(node);
603 if (node->IsElementNode()) 601 if (node->IsElementNode())
604 UpdateTreeIfElementIdIsAriaOwned(ToElement(node)); 602 UpdateTreeIfElementIdIsAriaOwned(ToElement(node));
605 } 603 }
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 visitor->Trace(document_); 1247 visitor->Trace(document_);
1250 visitor->Trace(node_object_mapping_); 1248 visitor->Trace(node_object_mapping_);
1251 1249
1252 visitor->Trace(objects_); 1250 visitor->Trace(objects_);
1253 visitor->Trace(notifications_to_post_); 1251 visitor->Trace(notifications_to_post_);
1254 1252
1255 AXObjectCache::Trace(visitor); 1253 AXObjectCache::Trace(visitor);
1256 } 1254 }
1257 1255
1258 } // namespace blink 1256 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698