webengine/osswebengine/WebCore/dom/Document.cpp
changeset 10 a359256acfc6
parent 5 10e98eab6f85
child 15 60c5402cb945
equal deleted inserted replaced
5:10e98eab6f85 10:a359256acfc6
   251     return frame->editor()->shouldBeginEditing(rangeOfContents(root).get());
   251     return frame->editor()->shouldBeginEditing(rangeOfContents(root).get());
   252 }
   252 }
   253 
   253 
   254 DeprecatedPtrList<Document>*  Document::changedDocuments = 0;
   254 DeprecatedPtrList<Document>*  Document::changedDocuments = 0;
   255 
   255 
   256 struct cleanupChangedDocuments {
   256 void cleanupChangedDocuments() {
   257     ~cleanupChangedDocuments() {
       
   258     	if(Document::changedDocuments)
   257     	if(Document::changedDocuments)
   259     		{
   258     		{
   260     		delete Document::changedDocuments;
   259     		delete Document::changedDocuments;
   261     		Document::changedDocuments = NULL;
   260     		Document::changedDocuments = NULL;
   262     		}
   261     		}
   263     }
   262 }
   264 };
       
   265 static cleanupChangedDocuments deleteChangedDocuments;
       
   266 
   263 
   267 // FrameView might be 0
   264 // FrameView might be 0
   268 Document::Document(DOMImplementation* impl, Frame* frame, bool isXHTML)
   265 Document::Document(DOMImplementation* impl, Frame* frame, bool isXHTML)
   269     : ContainerNode(0)
   266     : ContainerNode(0)
   270     , m_implementation(impl)
   267     , m_implementation(impl)
  2466     for (; it != listenersCopy.end(); ++it)
  2463     for (; it != listenersCopy.end(); ++it)
  2467         if ((*it)->eventType() == evt->type() && (*it)->useCapture() == useCapture && !(*it)->removed()) 
  2464         if ((*it)->eventType() == evt->type() && (*it)->useCapture() == useCapture && !(*it)->removed()) 
  2468             (*it)->listener()->handleEvent(evt, true);
  2465             (*it)->listener()->handleEvent(evt, true);
  2469 }
  2466 }
  2470 
  2467 
       
  2468 void Document::handleNetworkEvent(const AtomicString &eventType, int param)
       
  2469 { 
       
  2470     if (m_windowEventListeners.isEmpty())
       
  2471         return;
       
  2472             
       
  2473     // if any html event listeners are registered on the window, then dispatch them here
       
  2474     RegisteredEventListenerList listenersCopy = m_windowEventListeners;
       
  2475     RegisteredEventListenerList::iterator it = listenersCopy.begin();
       
  2476     
       
  2477     for (; it != listenersCopy.end(); ++it)
       
  2478         if ((*it)->eventType() == eventType && !(*it)->removed())
       
  2479             (*it)->listener()->handleNetworkStateEvent(param);
       
  2480 }
  2471 
  2481 
  2472 void Document::defaultEventHandler(Event *evt)
  2482 void Document::defaultEventHandler(Event *evt)
  2473 {
  2483 {
  2474     // handle accesskey
  2484     // handle accesskey
  2475     if (evt->type() == keydownEvent) {
  2485     if (evt->type() == keydownEvent) {