15267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)/* 25267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * Copyright (C) 2010 Google Inc. All rights reserved. 35267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * 45267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 55267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * modification, are permitted provided that the following conditions are 65267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * met: 75267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * 85267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * * Redistributions of source code must retain the above copyright 95267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 105267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * * Redistributions in binary form must reproduce the above 115267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * copyright notice, this list of conditions and the following disclaimer 125267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * in the documentation and/or other materials provided with the 135267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * distribution. 145267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * * Neither the name of Google Inc. nor the names of its 155267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * contributors may be used to endorse or promote products derived from 165267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * this software without specific prior written permission. 175267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * 185267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 195267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 205267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 215267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 225267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 235267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 245267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 255267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 265267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 275267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 285267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 295267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) */ 305267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 315267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#ifndef WebWindowFeatures_h 325267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#define WebWindowFeatures_h 335267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 345267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "../platform/WebCommon.h" 355267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "../platform/WebString.h" 365267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "../platform/WebVector.h" 375267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 3806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#if BLINK_IMPLEMENTATION 395267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "core/page/WindowFeatures.h" 405267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#endif 415267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 4251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)namespace blink { 435267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 445267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)struct WebWindowFeatures { 455267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) float x; 465267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool xSet; 475267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) float y; 485267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool ySet; 495267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) float width; 505267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool widthSet; 515267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) float height; 525267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool heightSet; 535267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 545267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool menuBarVisible; 555267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool statusBarVisible; 565267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool toolBarVisible; 575267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool locationBarVisible; 585267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool scrollbarsVisible; 595267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool resizable; 605267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 615267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool fullscreen; 625267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) bool dialog; 635267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) WebVector<WebString> additionalFeatures; 645267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 655267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) WebWindowFeatures() 66197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch : x(0) 67197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch , xSet(false) 68197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch , y(0) 695267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , ySet(false) 70197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch , width(0) 715267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , widthSet(false) 72197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch , height(0) 735267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , heightSet(false) 745267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , menuBarVisible(true) 755267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , statusBarVisible(true) 765267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , toolBarVisible(true) 775267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , locationBarVisible(true) 785267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , scrollbarsVisible(true) 795267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , resizable(true) 805267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , fullscreen(false) 815267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , dialog(false) 825267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) { 835267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 845267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 855267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 8606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#if BLINK_IMPLEMENTATION 87e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) WebWindowFeatures(const WindowFeatures& f) 885267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) : x(f.x) 895267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , xSet(f.xSet) 905267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , y(f.y) 915267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , ySet(f.ySet) 925267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , width(f.width) 935267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , widthSet(f.widthSet) 945267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , height(f.height) 955267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , heightSet(f.heightSet) 965267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , menuBarVisible(f.menuBarVisible) 975267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , statusBarVisible(f.statusBarVisible) 985267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , toolBarVisible(f.toolBarVisible) 995267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , locationBarVisible(f.locationBarVisible) 1005267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , scrollbarsVisible(f.scrollbarsVisible) 1015267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , resizable(f.resizable) 1025267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , fullscreen(f.fullscreen) 1035267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , dialog(f.dialog) 1045267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) , additionalFeatures(f.additionalFeatures) 1055267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) { 1065267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) } 10702772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch 108e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) operator WindowFeatures() const 10902772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch { 110e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles) WindowFeatures result; 11102772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.x = x; 11202772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.xSet = xSet; 11302772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.y = y; 11402772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.ySet = ySet; 11502772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.width = width; 11602772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.widthSet = widthSet; 11702772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.height = height; 11802772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.heightSet = heightSet; 11902772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.menuBarVisible = menuBarVisible; 12002772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.statusBarVisible = statusBarVisible; 12102772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.toolBarVisible = toolBarVisible; 12202772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.locationBarVisible = locationBarVisible; 12302772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.scrollbarsVisible = scrollbarsVisible; 12402772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.resizable = resizable; 12502772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.fullscreen = fullscreen; 12602772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.dialog = dialog; 12702772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch for (size_t i = 0; i < additionalFeatures.size(); ++i) 12802772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch result.additionalFeatures.append(additionalFeatures[i]); 12902772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch return result; 13002772c6a72f1ee0b226341a4f4439970c29fc861Ben Murdoch } 1315267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#endif 1325267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)}; 1335267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 13451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} // namespace blink 1355267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 1365267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#endif 137