summaryrefslogtreecommitdiffstats
path: root/WebKit/mac/WebView/WebRenderNode.mm
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:41 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:41 -0800
commit648161bb0edfc3d43db63caed5cc5213bc6cb78f (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /WebKit/mac/WebView/WebRenderNode.mm
parenta65af38181ac7d34544586bdb5cd004de93897ad (diff)
downloadexternal_webkit-648161bb0edfc3d43db63caed5cc5213bc6cb78f.zip
external_webkit-648161bb0edfc3d43db63caed5cc5213bc6cb78f.tar.gz
external_webkit-648161bb0edfc3d43db63caed5cc5213bc6cb78f.tar.bz2
auto import from //depot/cupcake/@135843
Diffstat (limited to 'WebKit/mac/WebView/WebRenderNode.mm')
-rw-r--r--WebKit/mac/WebView/WebRenderNode.mm152
1 files changed, 0 insertions, 152 deletions
diff --git a/WebKit/mac/WebView/WebRenderNode.mm b/WebKit/mac/WebView/WebRenderNode.mm
deleted file mode 100644
index c34ac34..0000000
--- a/WebKit/mac/WebView/WebRenderNode.mm
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "WebRenderNode.h"
-
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebHTMLView.h"
-#import <WebCore/Frame.h>
-#import <WebCore/RenderWidget.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/Widget.h>
-
-using namespace WebCore;
-
-@implementation WebRenderNode
-
-- (id)initWithName:(NSString *)n position:(NSPoint)p rect:(NSRect)r view:(NSView *)view children:(NSArray *)c
-{
- NSMutableArray *collectChildren;
-
- self = [super init];
- if (!self)
- return nil;
-
- collectChildren = [c mutableCopy];
-
- name = [n retain];
- rect = r;
- absolutePosition = p;
-
- if ([view isKindOfClass:[NSScrollView class]]) {
- NSScrollView *scrollView = (NSScrollView *)view;
- view = [scrollView superview];
- }
- if ([view isKindOfClass:[WebFrameView class]]) {
- WebFrameView *webFrameView = (WebFrameView *)view;
- WebRenderNode *node = [[WebRenderNode alloc] initWithWebFrameView:webFrameView];
- [collectChildren addObject:node];
- [node release];
- }
-
- children = [collectChildren copy];
- [collectChildren release];
-
- return self;
-}
-
-static WebRenderNode *copyRenderNode(RenderObject* node)
-{
- NSMutableArray *children = [[NSMutableArray alloc] init];
- for (RenderObject* child = node->firstChild(); child; child = child->nextSibling()) {
- WebRenderNode *childCopy = copyRenderNode(child);
- [children addObject:childCopy];
- [childCopy release];
- }
-
- NSString *name = [[NSString alloc] initWithUTF8String:node->renderName()];
-
- RenderWidget* renderWidget = node->isWidget() ? static_cast<RenderWidget*>(node) : 0;
- Widget* widget = renderWidget ? renderWidget->widget() : 0;
- NSView *view = widget ? widget->platformWidget() : nil;
-
- int nx, ny;
- node->absolutePosition(nx, ny);
- WebRenderNode *result = [[WebRenderNode alloc] initWithName:name
- position:NSMakePoint(nx, ny) rect:NSMakeRect(node->xPos(), node->yPos(), node->width(), node->height())
- view:view children:children];
-
- [name release];
- [children release];
-
- return result;
-}
-
-- (id)initWithWebFrameView:(WebFrameView *)view
-{
- [self release];
-
- if (![[view documentView] isMemberOfClass:[WebHTMLView class]])
- return nil;
-
- RenderObject* renderer = core([view webFrame])->contentRenderer();
- if (!renderer)
- return nil;
-
- return copyRenderNode(renderer);
-}
-
-- (void)dealloc
-{
- [children release];
- [name release];
- [super dealloc];
-}
-
-- (NSArray *)children
-{
- return children;
-}
-
-- (NSString *)name
-{
- return name;
-}
-
-- (NSString *)absolutePositionString
-{
- return [NSString stringWithFormat:@"(%.0f, %.0f)", absolutePosition.x, absolutePosition.y];
-}
-
-- (NSString *)positionString
-{
- return [NSString stringWithFormat:@"(%.0f, %.0f)", rect.origin.x, rect.origin.y];
-}
-
-- (NSString *)widthString
-{
- return [NSString stringWithFormat:@"%.0f", rect.size.width];
-}
-
-- (NSString *)heightString
-{
- return [NSString stringWithFormat:@"%.0f", rect.size.height];
-}
-
-@end