| Index: Source/core/inspector/InspectorCSSAgent.cpp
|
| diff --git a/Source/core/inspector/InspectorCSSAgent.cpp b/Source/core/inspector/InspectorCSSAgent.cpp
|
| index d331be2e930ed5c6cbbe4f2b8e276752c68d2464..4ccdf42c4c8ff894f292ca88b2eba811008519a6 100644
|
| --- a/Source/core/inspector/InspectorCSSAgent.cpp
|
| +++ b/Source/core/inspector/InspectorCSSAgent.cpp
|
| @@ -46,8 +46,6 @@
|
| #include "core/css/StyleSheetContents.h"
|
| #include "core/css/StyleSheetList.h"
|
| #include "core/css/resolver/StyleResolver.h"
|
| -#include "core/dom/NamedFlow.h"
|
| -#include "core/dom/NamedFlowCollection.h"
|
| #include "core/dom/Node.h"
|
| #include "core/dom/NodeList.h"
|
| #include "core/fetch/CSSStyleSheetResource.h"
|
| @@ -65,7 +63,6 @@
|
| #include "core/page/Page.h"
|
| #include "core/rendering/InlineTextBox.h"
|
| #include "core/rendering/RenderObject.h"
|
| -#include "core/rendering/RenderRegion.h"
|
| #include "core/rendering/RenderText.h"
|
| #include "core/rendering/RenderTextFragment.h"
|
| #include "platform/fonts/Font.h"
|
| @@ -121,115 +118,6 @@ static unsigned computePseudoClassMask(JSONArray* pseudoClassArray)
|
| return result;
|
| }
|
|
|
| -class UpdateRegionLayoutTask {
|
| -public:
|
| - UpdateRegionLayoutTask(InspectorCSSAgent*);
|
| - void scheduleFor(NamedFlow*, int documentNodeId);
|
| - void unschedule(NamedFlow*);
|
| - void reset();
|
| - void onTimer(Timer<UpdateRegionLayoutTask>*);
|
| -
|
| -private:
|
| - InspectorCSSAgent* m_cssAgent;
|
| - Timer<UpdateRegionLayoutTask> m_timer;
|
| - HashMap<NamedFlow*, int> m_namedFlows;
|
| -};
|
| -
|
| -UpdateRegionLayoutTask::UpdateRegionLayoutTask(InspectorCSSAgent* cssAgent)
|
| - : m_cssAgent(cssAgent)
|
| - , m_timer(this, &UpdateRegionLayoutTask::onTimer)
|
| -{
|
| -}
|
| -
|
| -void UpdateRegionLayoutTask::scheduleFor(NamedFlow* namedFlow, int documentNodeId)
|
| -{
|
| - m_namedFlows.add(namedFlow, documentNodeId);
|
| -
|
| - if (!m_timer.isActive())
|
| - m_timer.startOneShot(0);
|
| -}
|
| -
|
| -void UpdateRegionLayoutTask::unschedule(NamedFlow* namedFlow)
|
| -{
|
| - m_namedFlows.remove(namedFlow);
|
| -}
|
| -
|
| -void UpdateRegionLayoutTask::reset()
|
| -{
|
| - m_timer.stop();
|
| - m_namedFlows.clear();
|
| -}
|
| -
|
| -void UpdateRegionLayoutTask::onTimer(Timer<UpdateRegionLayoutTask>*)
|
| -{
|
| - // The timer is stopped on m_cssAgent destruction, so this method will never be called after m_cssAgent has been destroyed.
|
| - Vector<std::pair<NamedFlow*, int> > namedFlows;
|
| -
|
| - for (HashMap<NamedFlow*, int>::iterator it = m_namedFlows.begin(), end = m_namedFlows.end(); it != end; ++it)
|
| - namedFlows.append(std::make_pair(it->key, it->value));
|
| -
|
| - for (unsigned i = 0, size = namedFlows.size(); i < size; ++i) {
|
| - NamedFlow* namedFlow = namedFlows.at(i).first;
|
| - int documentNodeId = namedFlows.at(i).second;
|
| -
|
| - if (m_namedFlows.contains(namedFlow)) {
|
| - m_cssAgent->regionLayoutUpdated(namedFlow, documentNodeId);
|
| - m_namedFlows.remove(namedFlow);
|
| - }
|
| - }
|
| -
|
| - if (!m_namedFlows.isEmpty() && !m_timer.isActive())
|
| - m_timer.startOneShot(0);
|
| -}
|
| -
|
| -class ChangeRegionOversetTask {
|
| -public:
|
| - ChangeRegionOversetTask(InspectorCSSAgent*);
|
| - void scheduleFor(NamedFlow*, int documentNodeId);
|
| - void unschedule(NamedFlow*);
|
| - void reset();
|
| - void onTimer(Timer<ChangeRegionOversetTask>*);
|
| -
|
| -private:
|
| - InspectorCSSAgent* m_cssAgent;
|
| - Timer<ChangeRegionOversetTask> m_timer;
|
| - HashMap<NamedFlow*, int> m_namedFlows;
|
| -};
|
| -
|
| -ChangeRegionOversetTask::ChangeRegionOversetTask(InspectorCSSAgent* cssAgent)
|
| - : m_cssAgent(cssAgent)
|
| - , m_timer(this, &ChangeRegionOversetTask::onTimer)
|
| -{
|
| -}
|
| -
|
| -void ChangeRegionOversetTask::scheduleFor(NamedFlow* namedFlow, int documentNodeId)
|
| -{
|
| - m_namedFlows.add(namedFlow, documentNodeId);
|
| -
|
| - if (!m_timer.isActive())
|
| - m_timer.startOneShot(0);
|
| -}
|
| -
|
| -void ChangeRegionOversetTask::unschedule(NamedFlow* namedFlow)
|
| -{
|
| - m_namedFlows.remove(namedFlow);
|
| -}
|
| -
|
| -void ChangeRegionOversetTask::reset()
|
| -{
|
| - m_timer.stop();
|
| - m_namedFlows.clear();
|
| -}
|
| -
|
| -void ChangeRegionOversetTask::onTimer(Timer<ChangeRegionOversetTask>*)
|
| -{
|
| - // The timer is stopped on m_cssAgent destruction, so this method will never be called after m_cssAgent has been destroyed.
|
| - for (HashMap<NamedFlow*, int>::iterator it = m_namedFlows.begin(), end = m_namedFlows.end(); it != end; ++it)
|
| - m_cssAgent->regionOversetChanged(it->key, it->value);
|
| -
|
| - m_namedFlows.clear();
|
| -}
|
| -
|
| class InspectorCSSAgent::StyleSheetAction : public InspectorHistory::Action {
|
| WTF_MAKE_NONCOPYABLE(StyleSheetAction);
|
| public:
|
| @@ -640,11 +528,6 @@ void InspectorCSSAgent::reset()
|
|
|
| void InspectorCSSAgent::resetNonPersistentData()
|
| {
|
| - m_namedFlowCollectionsRequested.clear();
|
| - if (m_updateRegionLayoutTask)
|
| - m_updateRegionLayoutTask->reset();
|
| - if (m_changeRegionOversetTask)
|
| - m_changeRegionOversetTask->reset();
|
| resetPseudoStates();
|
| }
|
|
|
| @@ -723,28 +606,6 @@ void InspectorCSSAgent::mediaQueryResultChanged()
|
| m_frontend->mediaQueryResultChanged();
|
| }
|
|
|
| -void InspectorCSSAgent::didCreateNamedFlow(Document* document, NamedFlow* namedFlow)
|
| -{
|
| - int documentNodeId = documentNodeWithRequestedFlowsId(document);
|
| - if (!documentNodeId)
|
| - return;
|
| -
|
| - ErrorString errorString;
|
| - m_frontend->namedFlowCreated(buildObjectForNamedFlow(&errorString, namedFlow, documentNodeId));
|
| -}
|
| -
|
| -void InspectorCSSAgent::willRemoveNamedFlow(Document* document, NamedFlow* namedFlow)
|
| -{
|
| - int documentNodeId = documentNodeWithRequestedFlowsId(document);
|
| - if (!documentNodeId)
|
| - return;
|
| -
|
| - if (m_updateRegionLayoutTask)
|
| - m_updateRegionLayoutTask->unschedule(namedFlow);
|
| -
|
| - m_frontend->namedFlowRemoved(documentNodeId, namedFlow->name().string());
|
| -}
|
| -
|
| void InspectorCSSAgent::willMutateRules()
|
| {
|
| ++m_styleSheetsPendingMutation;
|
| @@ -779,50 +640,6 @@ void InspectorCSSAgent::didMutateStyle(CSSStyleDeclaration* style, bool isInline
|
| }
|
| }
|
|
|
| -void InspectorCSSAgent::didUpdateRegionLayout(Document* document, NamedFlow* namedFlow)
|
| -{
|
| - int documentNodeId = documentNodeWithRequestedFlowsId(document);
|
| - if (!documentNodeId)
|
| - return;
|
| -
|
| - if (!m_updateRegionLayoutTask)
|
| - m_updateRegionLayoutTask = adoptPtr(new UpdateRegionLayoutTask(this));
|
| - m_updateRegionLayoutTask->scheduleFor(namedFlow, documentNodeId);
|
| -}
|
| -
|
| -void InspectorCSSAgent::regionLayoutUpdated(NamedFlow* namedFlow, int documentNodeId)
|
| -{
|
| - if (namedFlow->flowState() == NamedFlow::FlowStateNull)
|
| - return;
|
| -
|
| - ErrorString errorString;
|
| - RefPtr<NamedFlow> protector(namedFlow);
|
| -
|
| - m_frontend->regionLayoutUpdated(buildObjectForNamedFlow(&errorString, namedFlow, documentNodeId));
|
| -}
|
| -
|
| -void InspectorCSSAgent::didChangeRegionOverset(Document* document, NamedFlow* namedFlow)
|
| -{
|
| - int documentNodeId = documentNodeWithRequestedFlowsId(document);
|
| - if (!documentNodeId)
|
| - return;
|
| -
|
| - if (!m_changeRegionOversetTask)
|
| - m_changeRegionOversetTask = adoptPtr(new ChangeRegionOversetTask(this));
|
| - m_changeRegionOversetTask->scheduleFor(namedFlow, documentNodeId);
|
| -}
|
| -
|
| -void InspectorCSSAgent::regionOversetChanged(NamedFlow* namedFlow, int documentNodeId)
|
| -{
|
| - if (namedFlow->flowState() == NamedFlow::FlowStateNull)
|
| - return;
|
| -
|
| - ErrorString errorString;
|
| - RefPtr<NamedFlow> protector(namedFlow);
|
| -
|
| - m_frontend->regionOversetChanged(buildObjectForNamedFlow(&errorString, namedFlow, documentNodeId));
|
| -}
|
| -
|
| void InspectorCSSAgent::activeStyleSheetsUpdated(Document* document)
|
| {
|
| if (styleSheetEditInProgress())
|
| @@ -1267,23 +1084,6 @@ void InspectorCSSAgent::forcePseudoState(ErrorString* errorString, int nodeId, c
|
| element->ownerDocument()->setNeedsStyleRecalc();
|
| }
|
|
|
| -void InspectorCSSAgent::getNamedFlowCollection(ErrorString* errorString, int documentNodeId, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::NamedFlow> >& result)
|
| -{
|
| - Document* document = m_domAgent->assertDocument(errorString, documentNodeId);
|
| - if (!document)
|
| - return;
|
| -
|
| - m_namedFlowCollectionsRequested.add(documentNodeId);
|
| -
|
| - Vector<RefPtr<NamedFlow> > namedFlowsVector = document->namedFlows()->namedFlows();
|
| - RefPtr<TypeBuilder::Array<TypeBuilder::CSS::NamedFlow> > namedFlows = TypeBuilder::Array<TypeBuilder::CSS::NamedFlow>::create();
|
| -
|
| - for (Vector<RefPtr<NamedFlow> >::iterator it = namedFlowsVector.begin(); it != namedFlowsVector.end(); ++it)
|
| - namedFlows->addItem(buildObjectForNamedFlow(errorString, it->get(), documentNodeId));
|
| -
|
| - result = namedFlows.release();
|
| -}
|
| -
|
| PassRefPtr<TypeBuilder::CSS::CSSMedia> InspectorCSSAgent::buildMediaObject(const MediaList* media, MediaListSource mediaListSource, const String& sourceURL, CSSStyleSheet* parentStyleSheet)
|
| {
|
| // Make certain compilers happy by initializing |source| up-front.
|
| @@ -1421,15 +1221,6 @@ Element* InspectorCSSAgent::elementForId(ErrorString* errorString, int nodeId)
|
| return toElement(node);
|
| }
|
|
|
| -int InspectorCSSAgent::documentNodeWithRequestedFlowsId(Document* document)
|
| -{
|
| - int documentNodeId = m_domAgent->boundNodeId(document);
|
| - if (!documentNodeId || !m_namedFlowCollectionsRequested.contains(documentNodeId))
|
| - return 0;
|
| -
|
| - return documentNodeId;
|
| -}
|
| -
|
| void InspectorCSSAgent::collectAllStyleSheets(Vector<InspectorStyleSheet*>& result)
|
| {
|
| Vector<CSSStyleSheet*> cssStyleSheets;
|
| @@ -1653,61 +1444,6 @@ PassRefPtr<TypeBuilder::CSS::CSSStyle> InspectorCSSAgent::buildObjectForAttribut
|
| return inspectorStyle->buildObjectForStyle();
|
| }
|
|
|
| -PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Region> > InspectorCSSAgent::buildArrayForRegions(ErrorString* errorString, PassRefPtr<NodeList> regionList, int documentNodeId)
|
| -{
|
| - RefPtr<TypeBuilder::Array<TypeBuilder::CSS::Region> > regions = TypeBuilder::Array<TypeBuilder::CSS::Region>::create();
|
| -
|
| - for (unsigned i = 0; i < regionList->length(); ++i) {
|
| - TypeBuilder::CSS::Region::RegionOverset::Enum regionOverset;
|
| -
|
| - switch (toElement(regionList->item(i))->renderRegion()->regionOversetState()) {
|
| - case RegionFit:
|
| - regionOverset = TypeBuilder::CSS::Region::RegionOverset::Fit;
|
| - break;
|
| - case RegionEmpty:
|
| - regionOverset = TypeBuilder::CSS::Region::RegionOverset::Empty;
|
| - break;
|
| - case RegionOverset:
|
| - regionOverset = TypeBuilder::CSS::Region::RegionOverset::Overset;
|
| - break;
|
| - case RegionUndefined:
|
| - continue;
|
| - default:
|
| - ASSERT_NOT_REACHED();
|
| - continue;
|
| - }
|
| -
|
| - RefPtr<TypeBuilder::CSS::Region> region = TypeBuilder::CSS::Region::create()
|
| - .setRegionOverset(regionOverset)
|
| - // documentNodeId was previously asserted
|
| - .setNodeId(m_domAgent->pushNodeToFrontend(errorString, documentNodeId, regionList->item(i)));
|
| -
|
| - regions->addItem(region);
|
| - }
|
| -
|
| - return regions.release();
|
| -}
|
| -
|
| -PassRefPtr<TypeBuilder::CSS::NamedFlow> InspectorCSSAgent::buildObjectForNamedFlow(ErrorString* errorString, NamedFlow* webkitNamedFlow, int documentNodeId)
|
| -{
|
| - RefPtr<NodeList> contentList = webkitNamedFlow->getContent();
|
| - RefPtr<TypeBuilder::Array<int> > content = TypeBuilder::Array<int>::create();
|
| -
|
| - for (unsigned i = 0; i < contentList->length(); ++i) {
|
| - // documentNodeId was previously asserted
|
| - content->addItem(m_domAgent->pushNodeToFrontend(errorString, documentNodeId, contentList->item(i)));
|
| - }
|
| -
|
| - RefPtr<TypeBuilder::CSS::NamedFlow> namedFlow = TypeBuilder::CSS::NamedFlow::create()
|
| - .setDocumentNodeId(documentNodeId)
|
| - .setName(webkitNamedFlow->name().string())
|
| - .setOverset(webkitNamedFlow->overset())
|
| - .setContent(content)
|
| - .setRegions(buildArrayForRegions(errorString, webkitNamedFlow->getRegions(), documentNodeId));
|
| -
|
| - return namedFlow.release();
|
| -}
|
| -
|
| void InspectorCSSAgent::didRemoveDocument(Document* document)
|
| {
|
| if (document)
|
|
|