blob: 5a6a8248d1c512e3492b890caaccbb4ace3b51bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
// Copyright 2014 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 WebRemoteFrameClient_h
#define WebRemoteFrameClient_h
#include "public/platform/WebFocusType.h"
#include "public/platform/WebSecurityOrigin.h"
#include "public/web/WebDOMMessageEvent.h"
namespace blink {
class WebInputEvent;
class WebLocalFrame;
class WebRemoteFrame;
struct WebRect;
class WebRemoteFrameClient {
public:
// Specifies the reason for the detachment.
enum class DetachType { Remove, Swap };
// Notify the embedder that it should remove this frame from the frame tree
// and release any resources associated with it.
virtual void frameDetached(DetachType) { }
// Notifies the embedder that a postMessage was issued to a remote frame.
virtual void postMessageEvent(
WebLocalFrame* sourceFrame,
WebRemoteFrame* targetFrame,
WebSecurityOrigin targetOrigin,
WebDOMMessageEvent) { }
// Send initial drawing parameters to a child frame that is being rendered
// out of process.
virtual void initializeChildFrame(
const WebRect& frameRect,
float deviceScaleFactor) { }
// A remote frame was asked to start a navigation.
virtual void navigate(const WebURLRequest& request, bool shouldReplaceCurrentEntry) { }
virtual void reload(bool ignoreCache, bool isClientRedirect) { }
// FIXME: Remove this method once we have input routing in the browser
// process. See http://crbug.com/339659.
virtual void forwardInputEvent(const WebInputEvent*) { }
virtual void frameRectsChanged(const WebRect&) { }
// This frame updated its opener to another frame.
virtual void didChangeOpener(WebFrame* opener) { }
// Continue sequential focus navigation in this frame. This is called when
// the |source| frame is searching for the next focusable element (e.g., in
// response to <tab>) and encounters a remote frame.
virtual void advanceFocus(WebFocusType type, WebLocalFrame* source) { }
};
} // namespace blink
#endif // WebRemoteFrameClient_h
|