1c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// found in the LICENSE file.
4c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)
5c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "config.h"
6c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "core/css/MediaQueryList.h"
7c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)
8c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "core/css/MediaList.h"
9c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "core/css/MediaQueryListListener.h"
10c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "core/css/MediaQueryMatcher.h"
11c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "core/dom/Document.h"
12c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include <gtest/gtest.h>
13c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)
147242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccinamespace {
157242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
167242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass TestListener : public blink::MediaQueryListListener {
177242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccipublic:
187242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    virtual void notifyMediaQueryChanged() OVERRIDE { }
197242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci};
207242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
217242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}
227242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
23c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink {
24c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)
25c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)TEST(MediaQueryListTest, CrashInStop)
26c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles){
27c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)    RefPtrWillBeRawPtr<Document> document = Document::create();
28c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)    RefPtrWillBeRawPtr<MediaQueryList> list = MediaQueryList::create(document.get(), MediaQueryMatcher::create(*document), MediaQuerySet::create());
297242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    list->addListener(adoptRefWillBeNoop(new TestListener()));
307242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    list->stop();
31c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)    // This test passes if it's not crashed.
32c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)}
33c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)
34c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)}
35