| Index: content/renderer/renderer_accessibility_focus_only.h
|
| diff --git a/content/renderer/renderer_accessibility_focus_only.h b/content/renderer/renderer_accessibility_focus_only.h
|
| deleted file mode 100644
|
| index 6b2eb9f4454b652a98a93dccb40518d3e3fe672c..0000000000000000000000000000000000000000
|
| --- a/content/renderer/renderer_accessibility_focus_only.h
|
| +++ /dev/null
|
| @@ -1,75 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CONTENT_RENDERER_RENDERER_ACCESSIBILITY_FOCUS_ONLY_H_
|
| -#define CONTENT_RENDERER_RENDERER_ACCESSIBILITY_FOCUS_ONLY_H_
|
| -
|
| -#include "content/renderer/renderer_accessibility.h"
|
| -
|
| -namespace content {
|
| -
|
| -// This is an accsessibility implementation that only handles whatever
|
| -// node has focus, ignoring everything else. It's here because on Windows 8,
|
| -// we need to use accessibility APIs to tell the operating system when a
|
| -// touch should pop up the on-screen keyboard, but it's not worth the
|
| -// performance overhead to enable full accessibility support.
|
| -//
|
| -// Here's how the on-screen keyboard works in Windows 8 "Metro-style" apps:
|
| -//
|
| -// 1. The user touches a control.
|
| -// 2. If the application determines focus moves to an editable text control,
|
| -// it sends a native focus event, pointing to a native accessibility object
|
| -// with information about the control that was just focused.
|
| -// 3. If the operating system sees that a focus event closely follows a
|
| -// touch event, AND the bounding rectangle of the newly-focused control
|
| -// contains the touch point, AND the focused object is a text control,
|
| -// then Windows pops up the on-screen keyboard. In all other cases,
|
| -// changing focus closes the on-screen keyboard.
|
| -//
|
| -// Alternatively:
|
| -// 1. The user touches a text control that already has focus.
|
| -// 2. The operating system uses accessibility APIs to query for the
|
| -// currently focused object. If the touch falls within the bounds of
|
| -// the focused object, the on-screen keyboard opens.
|
| -//
|
| -// In order to implement the accessibility APIs with minimal overhead, this
|
| -// class builds a "fake" accessibility tree consisting of only a single root
|
| -// node and optionally a single child node, representing the current focused
|
| -// element in the page (if any). Every time focus changes, this fake tree is
|
| -// sent from the renderer to the browser, along with a focus event - either
|
| -// on the child, or on the root of the tree if nothing is focused.
|
| -//
|
| -// Sometimes, touching an element other than a text box will result in a
|
| -// text box getting focus. We want the on-screen keyboard to pop up in those
|
| -// cases, so we "cheat" more and always send the dimensions of the whole
|
| -// window as the bounds of the child object. That way, a touch that leads
|
| -// to a text box getting focus will always open the on-screen keyboard,
|
| -// regardless of the relation between the touch location and the text box
|
| -// bounds.
|
| -class RendererAccessibilityFocusOnly : public RendererAccessibility {
|
| - public:
|
| - explicit RendererAccessibilityFocusOnly(RenderViewImpl* render_view);
|
| - virtual ~RendererAccessibilityFocusOnly();
|
| -
|
| - // RendererAccessibility implementation.
|
| - virtual void HandleWebAccessibilityNotification(
|
| - const WebKit::WebAccessibilityObject& obj,
|
| - WebKit::WebAccessibilityNotification notification) OVERRIDE;
|
| -
|
| - // RenderView::Observer implementation.
|
| - virtual void FocusedNodeChanged(const WebKit::WebNode& node) OVERRIDE;
|
| - virtual void DidFinishLoad(WebKit::WebFrame* frame) OVERRIDE;
|
| -
|
| - private:
|
| - void HandleFocusedNodeChanged(const WebKit::WebNode& node,
|
| - bool send_focus_event);
|
| -
|
| - int next_id_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(RendererAccessibilityFocusOnly);
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_RENDERER_RENDERER_ACCESSIBILITY_FOCUS_ONLY_H_
|
|
|