| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 Eric Seidel <eric@webkit.org> | 2 * Copyright (C) 2006 Eric Seidel <eric@webkit.org> |
| 3 * Copyright (C) 2008, 2009 Apple Inc. All rights reserved. | 3 * Copyright (C) 2008, 2009 Apple Inc. All rights reserved. |
| 4 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 SVGImage::SVGImage(ImageObserver* observer) | 55 SVGImage::SVGImage(ImageObserver* observer) |
| 56 : Image(observer) | 56 : Image(observer) |
| 57 { | 57 { |
| 58 } | 58 } |
| 59 | 59 |
| 60 SVGImage::~SVGImage() | 60 SVGImage::~SVGImage() |
| 61 { | 61 { |
| 62 if (m_page) { | 62 if (m_page) { |
| 63 // Store m_page in a local variable, clearing m_page, so that SVGImageCh
romeClient knows we're destructed. | 63 // Store m_page in a local variable, clearing m_page, so that SVGImageCh
romeClient knows we're destructed. |
| 64 OwnPtr<Page> currentPage = m_page.release(); | 64 OwnPtr<Page> currentPage = m_page.release(); |
| 65 currentPage->mainFrame()->loader()->frameDetached(); // Break both the l
oader and view references to the frame | 65 currentPage->mainFrame()->loader().frameDetached(); // Break both the lo
ader and view references to the frame |
| 66 } | 66 } |
| 67 | 67 |
| 68 // Verify that page teardown destroyed the Chrome | 68 // Verify that page teardown destroyed the Chrome |
| 69 ASSERT(!m_chromeClient || !m_chromeClient->image()); | 69 ASSERT(!m_chromeClient || !m_chromeClient->image()); |
| 70 } | 70 } |
| 71 | 71 |
| 72 bool SVGImage::isInSVGImage(const Element* element) | 72 bool SVGImage::isInSVGImage(const Element* element) |
| 73 { | 73 { |
| 74 ASSERT(element); | 74 ASSERT(element); |
| 75 | 75 |
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 // loaded by a top-level document. | 384 // loaded by a top-level document. |
| 385 m_page = adoptPtr(new Page(pageClients)); | 385 m_page = adoptPtr(new Page(pageClients)); |
| 386 m_page->settings().setMediaEnabled(false); | 386 m_page->settings().setMediaEnabled(false); |
| 387 m_page->settings().setScriptEnabled(false); | 387 m_page->settings().setScriptEnabled(false); |
| 388 m_page->settings().setPluginsEnabled(false); | 388 m_page->settings().setPluginsEnabled(false); |
| 389 m_page->settings().setAcceleratedCompositingEnabled(false); | 389 m_page->settings().setAcceleratedCompositingEnabled(false); |
| 390 | 390 |
| 391 RefPtr<Frame> frame = Frame::create(m_page.get(), 0, dummyFrameLoaderCli
ent); | 391 RefPtr<Frame> frame = Frame::create(m_page.get(), 0, dummyFrameLoaderCli
ent); |
| 392 frame->setView(FrameView::create(frame.get())); | 392 frame->setView(FrameView::create(frame.get())); |
| 393 frame->init(); | 393 frame->init(); |
| 394 FrameLoader* loader = frame->loader(); | 394 FrameLoader& loader = frame->loader(); |
| 395 loader->forceSandboxFlags(SandboxAll); | 395 loader.forceSandboxFlags(SandboxAll); |
| 396 | 396 |
| 397 frame->view()->setScrollbarsSuppressed(true); | 397 frame->view()->setScrollbarsSuppressed(true); |
| 398 frame->view()->setCanHaveScrollbars(false); // SVG Images will always sy
nthesize a viewBox, if it's not available, and thus never see scrollbars. | 398 frame->view()->setCanHaveScrollbars(false); // SVG Images will always sy
nthesize a viewBox, if it's not available, and thus never see scrollbars. |
| 399 frame->view()->setTransparent(true); // SVG Images are transparent. | 399 frame->view()->setTransparent(true); // SVG Images are transparent. |
| 400 | 400 |
| 401 ASSERT(loader->activeDocumentLoader()); // DocumentLoader should have be
en created by frame->init(). | 401 ASSERT(loader.activeDocumentLoader()); // DocumentLoader should have bee
n created by frame->init(). |
| 402 DocumentWriter* writer = loader->activeDocumentLoader()->beginWriting("i
mage/svg+xml", "UTF-8"); | 402 DocumentWriter* writer = loader.activeDocumentLoader()->beginWriting("im
age/svg+xml", "UTF-8"); |
| 403 writer->addData(data()->data(), data()->size()); | 403 writer->addData(data()->data(), data()->size()); |
| 404 loader->activeDocumentLoader()->endWriting(writer); | 404 loader.activeDocumentLoader()->endWriting(writer); |
| 405 // Set the intrinsic size before a container size is available. | 405 // Set the intrinsic size before a container size is available. |
| 406 m_intrinsicSize = containerSize(); | 406 m_intrinsicSize = containerSize(); |
| 407 } | 407 } |
| 408 | 408 |
| 409 return m_page; | 409 return m_page; |
| 410 } | 410 } |
| 411 | 411 |
| 412 String SVGImage::filenameExtension() const | 412 String SVGImage::filenameExtension() const |
| 413 { | 413 { |
| 414 return "svg"; | 414 return "svg"; |
| 415 } | 415 } |
| 416 | 416 |
| 417 } | 417 } |
| OLD | NEW |