Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1225)

Unified Diff: Source/core/inspector/InspectorCSSAgent.cpp

Issue 143323014: *** DO NOT LAND *** Attempt to understand Regions complexity Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/inspector/InspectorCSSAgent.h ('k') | Source/core/inspector/InspectorInstrumentation.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/inspector/InspectorCSSAgent.cpp
diff --git a/Source/core/inspector/InspectorCSSAgent.cpp b/Source/core/inspector/InspectorCSSAgent.cpp
index adcc0a7729ee748cc6894070a2266693c57b422f..ac3af6afc39e8a39d6eb74bd279d47b59f530b35 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())
@@ -1268,23 +1085,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.
@@ -1422,15 +1222,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;
@@ -1654,61 +1445,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)
« no previous file with comments | « Source/core/inspector/InspectorCSSAgent.h ('k') | Source/core/inspector/InspectorInstrumentation.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698