14c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun/*
24c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * Copyright (C) 2015 The Android Open Source Project
34c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun *
44c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * Licensed under the Apache License, Version 2.0 (the "License");
54c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * you may not use this file except in compliance with the License.
64c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * You may obtain a copy of the License at
74c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun *
84c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun *      http://www.apache.org/licenses/LICENSE-2.0
94c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun *
104c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * Unless required by applicable law or agreed to in writing, software
114c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * distributed under the License is distributed on an "AS IS" BASIS,
124c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * See the License for the specific language governing permissions and
144c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * limitations under the License.
154c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun */
164c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun
174c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurunpackage android.webkit;
184c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun
194c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun/**
204c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * The Java representation of the HTML5 PostMessage event. See
214c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * https://html.spec.whatwg.org/multipage/comms.html#the-messageevent-interfaces
224c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun * for definition of a MessageEvent in HTML5.
234c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun *
244c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun */
254c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurunpublic class WebMessage {
264c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun
274c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    private String mData;
284c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    private WebMessagePort[] mPorts;
294c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun
304c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    /**
314c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * Creates a WebMessage.
324c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * @param data  the data of the message.
334c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     */
344c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    public WebMessage(String data) {
354c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun        mData = data;
364c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    }
374c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun
384c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    /**
394c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * Creates a WebMessage.
404c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * @param data  the data of the message.
414c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * @param ports  the ports that are sent with the message.
424c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     */
434c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    public WebMessage(String data, WebMessagePort[] ports) {
444c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun        mData = data;
454c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun        mPorts = ports;
464c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    }
474c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun
484c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    /**
494c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * Returns the data of the message.
504c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     */
514c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    public String getData() {
524c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun        return mData;
534c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    }
544c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun
554c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    /**
564c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * Returns the ports that are sent with the message, or null if no port
574c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     * is sent.
584c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun     */
594c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    public WebMessagePort[] getPorts() {
604c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun        return mPorts;
614c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun    }
624c8093afe3da4f6d3b9a43510d0b6601aeadb582Selim Gurun}
63