# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

from telemetry.page import page as page_module
from telemetry import story

# Even though we don't specialize page behavior directly, we have to define our
# own page class so that |story.serving_dir| fetched from the StorySet will
# reflect the path to our containing directory, under which we serve local files
# for recording. See also initialization of |base_dir| in telemetry's page.Page
# constructor, which is in turn referenced by |file_path_url|.
class PartialInvalidationCasesPage(page_module.Page):

  def __init__(self, url, page_set):
    super(PartialInvalidationCasesPage, self).__init__(
        url=url, page_set=page_set)


class PartialInvalidationCasesPageSet(story.StorySet):

  """ Page set consisting of pages specialized for partial invalidation,
    for example, pages with many elements. """

  def __init__(self):
    super(PartialInvalidationCasesPageSet, self).__init__(
        cloud_storage_bucket=story.PARTNER_BUCKET)

    other_urls = [
        # Why: Reduced test case similar to the single page html5 spec wherein
        # we saw a performance regression demonstrable via a small partial
        # invalidation.
        'file://partial_invalidation_cases/800_relpos_divs.html',
    ]

    for url in other_urls:
      self.AddStory(PartialInvalidationCasesPage(url, self))

# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

from telemetry.page import page as page_module
from telemetry import story

# Even though we don't specialize page behavior directly, we have to define our
# own page class so that |story.serving_dir| fetched from the StorySet will
# reflect the path to our containing directory, under which we serve local files
# for recording. See also initialization of |base_dir| in telemetry's page.Page
# constructor, which is in turn referenced by |file_path_url|.
class PartialInvalidationCasesPage(page_module.Page):

  def __init__(self, url, page_set):
    super(PartialInvalidationCasesPage, self).__init__(
        url=url, page_set=page_set)


class PartialInvalidationCasesPageSet(story.StorySet):

  """ Page set consisting of pages specialized for partial invalidation,
    for example, pages with many elements. """

  def __init__(self):
    super(PartialInvalidationCasesPageSet, self).__init__(
        cloud_storage_bucket=story.PARTNER_BUCKET)

    other_urls = [
        # Why: Reduced test case similar to the single page html5 spec wherein
        # we saw a performance regression demonstrable via a small partial
        # invalidation.
        'file://partial_invalidation_cases/800_relpos_divs.html',
    ]

    for url in other_urls:
      self.AddStory(PartialInvalidationCasesPage(url, self))

# Copyright 2016 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Even though we don't specialize page behavior directly, we have to define our # own page class so that |story.serving_dir| fetched from the StorySet will # reflect the path to our containing directory, under which we serve local files # for recording. See also initialization of |base_dir| in telemetry's page.Page # constructor, which is in turn referenced by |file_path_url|. Page set consisting of pages specialized for partial invalidation,     for example, pages with many elements. # Why: Reduced test case similar to the single page html5 spec wherein # we saw a performance regression demonstrable via a small partial # invalidation.