diff -r 000000000000 -r dd21522fd290 webengine/osswebengine/WebKit/s60/webview/WebFrame.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/osswebengine/WebKit/s60/webview/WebFrame.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Implemetation of CWebFrame +* +*/ + + +#ifndef __WEBFRAME_H__ +#define __WEBFRAME_H__ + +#include +#include +#include +#include "Shared.h" + +namespace WebCore +{ + class Frame; + class FrameLoader; + class DocumentLoader; + class DOMDocument; + class Page; + struct ResourceRequest; + class SubstituteData; + class RenderObject; + class RenderObject; + class Node; + class String; +} + +class WebView; +class WebFrameView; +class WebFrameLoaderClient; +class WebFrameBridge; +class WebCoreFrameBridge; +class WebCoreGraphicsContext; +class TBrCtlImageCarrier; +class TBrCtlSubscribeTo; +class CBrCtl; +class PluginSkin; +class MWebCoreObjectWidget; + +class WebFrame : public WebCore::Shared +{ +public: + + WebFrame(); + virtual ~WebFrame(); + + void initWithWebFrameView(WebFrameView* view, WebView* topView, WebFrameBridge* bridge); + void loadURL(const TPtrC8 url, const TPtrC referrer, WebFrame* child); + void loadRequest(const WebCore::ResourceRequest& request,const WebCore::String* windowType = NULL); + void loadURL(const TDesC8& url, TInt cachemode, const WebCore::String& referrer,const WebCore::String* windowType = NULL); + void loadData(const WebCore::ResourceRequest& request, WebCore::SubstituteData& substituteData); + + // accessors + WebFrameBridge* bridge() const { return m_bridge; } + void setBridge(WebFrameBridge*); + bool isMainFrame() const; + WebFrameView* frameView() const {return m_view;} + void setFrameView(WebFrameView*); + + // selection + bool hasSelection(); + void clearSelection(); + WebFrame* findFrameWithSelection(); + + WebCore::FrameLoader* frameLoader(); + + void stopLoading(); + void reload(); + + WebFrame* findFrameNamed(const TPtr& name); + WebFrame* parentFrame(); + WTF::Vector childFrames(); + void addChild(WebFrame* child); + WebCore::DocumentLoader* documentLoader(); + WebCore::DOMDocument* DOMDocument(); + + bool isIframe() const; + bool isFrameSet() const; + + void paintRect(WebCoreGraphicsContext& gc, const TRect& r); + + void notifyPluginsOfScrolling(); + void notifyPluginOfScrolling(WebCore::RenderObject* renderer); + PluginSkin* focusedPlugin(); + WebFrame* frameAtPoint(const TPoint& pt_); + + // utility functions + int imageCount(bool visibleOnly_); + CArrayFixFlat* imageData(bool visibleOnly_); + CArrayFixFlat* findSubscribeTo(); + + void scalingFactorChanged(int factor); + void makeVisiblePlugins(TBool visible); + bool executeScript(const WebCore::String& script); + WebCore::Node* getClosestAnchorElement(const TPoint& pt, TPoint& newPos); + +private: + WebFrame(const WebFrame&); // not implemented + WebFrame& operator=(const WebFrame&); // not implemented + + WebFrameView* m_view; // the frame view + RefPtr m_loaderClient; // the loader client + WebFrameBridge* m_bridge; // the bridge +}; + +// utility functions +WebCore::Frame* core(const WebFrame*); +WebFrame* kit(WebCore::Frame*); +WebView* kit(WebCore::Page* page); +WebFrame* mainFrame(WebFrame*); +CBrCtl* control(WebCore::Frame*); +CBrCtl* control(const WebFrame*); +MWebCoreObjectWidget* widget(WebCore::Node*); +MWebCoreObjectWidget* widget(WebCore::RenderObject*); + +#endif +// END OF FILE