1323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)// found in the LICENSE file.
4323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
5323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "config.h"
6323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "core/html/LinkManifest.h"
7323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
8323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "core/dom/Document.h"
9323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "core/frame/LocalFrame.h"
10323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "core/html/HTMLLinkElement.h"
11323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "core/loader/FrameLoaderClient.h"
12323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
13c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink {
14323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
15323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)PassOwnPtrWillBeRawPtr<LinkManifest> LinkManifest::create(HTMLLinkElement* owner)
16323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles){
17323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)    return adoptPtrWillBeNoop(new LinkManifest(owner));
18323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}
19323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
20323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)LinkManifest::LinkManifest(HTMLLinkElement* owner)
21323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)    : LinkResource(owner)
22323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles){
23323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}
24323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
25323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)LinkManifest::~LinkManifest()
26323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles){
27323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}
28323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
29323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)void LinkManifest::process()
30323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles){
31323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)    if (!m_owner || !m_owner->document().frame())
32323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)        return;
33323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
34323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)    m_owner->document().frame()->loader().client()->dispatchDidChangeManifest();
35323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}
36323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
37323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)bool LinkManifest::hasLoaded() const
38323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles){
39323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)    return false;
40323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}
41323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
42323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)void LinkManifest::ownerRemoved()
43323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles){
44323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)    process();
45323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}
46323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
47c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink
48