[Internals] Should be able to access corresponding Document object.

https://bugs.webkit.org/show_bug.cgi?id=76425

.:

Added exported symbols.

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Adam Barth.

* Source/autotools/symbols.filter:

Source/WebCore:

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Adam Barth.

- Allow FrameDestructionObserver to re-setting the Frame reference.
- Make Internals a subclass of FrameDestructionObserver.

Since Internals::reset() is called for each test, we can access
the acive Frame object during the test. The frame reference will be
used by coming changes.

No new tests. Covered by existing tests.

* WebCore.exp.in:
* page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::FrameDestructionObserver):
(WebCore::FrameDestructionObserver::~FrameDestructionObserver):
(WebCore::FrameDestructionObserver::observe):
* page/FrameDestructionObserver.h:
* testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::reset):
* testing/Internals.h:

Source/WebKit2:

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Adam Barth.

* win/WebKit2.def: Added exporting symbols.
* win/WebKit2CFLite.def: Added exporting symbols.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 1aa5640e
2012-01-17 Hajime Morrita <morrita@chromium.org>
[Internals] Should be able to access corresponding Document object.
https://bugs.webkit.org/show_bug.cgi?id=76425
Added exported symbols.
Reviewed by Adam Barth.
* Source/autotools/symbols.filter:
2012-01-17 Stephen Chenney <schenney@chromium.org>
NULL ptr in WebCore::RenderSVGInlineText::localCaretRect
......
2012-01-17 Hajime Morrita <morrita@chromium.org>
[Internals] Should be able to access corresponding Document object.
https://bugs.webkit.org/show_bug.cgi?id=76425
Reviewed by Adam Barth.
- Allow FrameDestructionObserver to re-setting the Frame reference.
- Make Internals a subclass of FrameDestructionObserver.
Since Internals::reset() is called for each test, we can access
the acive Frame object during the test. The frame reference will be
used by coming changes.
No new tests. Covered by existing tests.
* WebCore.exp.in:
* page/FrameDestructionObserver.cpp:
(WebCore::FrameDestructionObserver::FrameDestructionObserver):
(WebCore::FrameDestructionObserver::~FrameDestructionObserver):
(WebCore::FrameDestructionObserver::observe):
* page/FrameDestructionObserver.h:
* testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::reset):
* testing/Internals.h:
2012-01-17 Dominic Mazzoni <dmazzoni@google.com>
Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
......@@ -657,6 +657,10 @@ __ZN7WebCore24createFragmentFromMarkupEPNS_8DocumentERKN3WTF6StringES5_NS_27Frag
__ZN7WebCore24decodeURLEscapeSequencesERKN3WTF6StringE
__ZN7WebCore24deleteCookiesForHostnameERKN3WTF6StringE
__ZN7WebCore24fileSystemRepresentationERKN3WTF6StringE
__ZN7WebCore24FrameDestructionObserverD2Ev
__ZN7WebCore24FrameDestructionObserverC2EPNS_5FrameE
__ZN7WebCore24FrameDestructionObserver12observeFrameEPNS_5FrameE
__ZN7WebCore24FrameDestructionObserver14frameDestroyedEv
__ZN7WebCore24notifyHistoryItemChangedE
__ZN7WebCore25HistoryPropertyListWriter11releaseDataEv
__ZN7WebCore25HistoryPropertyListWriter12writeObjectsERNS_30BinaryPropertyListObjectStreamE
......
......@@ -31,16 +31,26 @@
namespace WebCore {
FrameDestructionObserver::FrameDestructionObserver(Frame* frame)
: m_frame(frame)
: m_frame(0)
{
if (m_frame)
m_frame->addDestructionObserver(this);
observeFrame(frame);
}
FrameDestructionObserver::~FrameDestructionObserver()
{
observeFrame(0);
}
void FrameDestructionObserver::observeFrame(Frame* frame)
{
if (m_frame)
m_frame->removeDestructionObserver(this);
m_frame = frame;
if (m_frame)
m_frame->addDestructionObserver(this);
}
void FrameDestructionObserver::frameDestroyed()
......
......@@ -38,6 +38,7 @@ public:
protected:
virtual ~FrameDestructionObserver();
void observeFrame(Frame*);
Frame* m_frame;
};
......
......@@ -113,7 +113,8 @@ Internals::~Internals()
}
Internals::Internals()
: m_passwordEchoDurationInSecondsBackup(0)
: FrameDestructionObserver(0)
, m_passwordEchoDurationInSecondsBackup(0)
, m_passwordEchoDurationInSecondsBackedUp(false)
, m_passwordEchoEnabledBackedUp(false)
{
......@@ -466,6 +467,8 @@ void Internals::reset(Document* document)
if (!document || !document->settings())
return;
observeFrame(document->frame());
if (m_passwordEchoDurationInSecondsBackedUp) {
document->settings()->setPasswordEchoDurationInSeconds(m_passwordEchoDurationInSecondsBackup);
m_passwordEchoDurationInSecondsBackedUp = false;
......
......@@ -26,6 +26,7 @@
#ifndef Internals_h
#define Internals_h
#include "FrameDestructionObserver.h"
#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
......@@ -41,7 +42,8 @@ class Range;
typedef int ExceptionCode;
class Internals : public RefCounted<Internals> {
class Internals : public RefCounted<Internals>,
public FrameDestructionObserver {
public:
static PassRefPtr<Internals> create();
virtual ~Internals();
......
2012-01-17 Hajime Morrita <morrita@chromium.org>
[Internals] Should be able to access corresponding Document object.
https://bugs.webkit.org/show_bug.cgi?id=76425
Reviewed by Adam Barth.
* win/WebKit2.def: Added exporting symbols.
* win/WebKit2CFLite.def: Added exporting symbols.
2012-01-17 Matthew Delaney <mdelaney@apple.com>
On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.
......@@ -133,7 +133,6 @@ EXPORTS
?wait@ThreadCondition@WTF@@QAEXAAVMutex@2@@Z
?waitForThreadCompletion@WTF@@YAHIPAPAX@Z
?createThread@WTF@@YAIP6APAXPAX@Z0@Z
; Re-exports from WebCore for test harnesses
??0NodeRenderingContext@WebCore@@QAE@PAVNode@1@@Z
??1NodeRenderingContext@WebCore@@QAE@XZ
......@@ -143,6 +142,8 @@ EXPORTS
??0ClientRect@WebCore@@AAE@XZ
??0String@WTF@@QAE@PBD@Z
??0String@WTF@@QAE@PB_W@Z
??1FrameDestructionObserver@WebCore@@MAE@XZ
??0FrameDestructionObserver@WebCore@@QAE@PAVFrame@1@@Z
?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z
?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QBE?AVIntRect@2@XZ
?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBD@Z
......@@ -156,6 +157,7 @@ EXPORTS
?equal@WTF@@YA_NPBVStringImpl@1@PBE@Z
?equalIgnoringCase@WTF@@YA_NPAVStringImpl@1@PBE@Z
?externalRepresentation@WebCore@@YA?AVString@WTF@@PAVElement@1@I@Z
?frameDestroyed@FrameDestructionObserver@WebCore@@UAEXXZ
?getCachedDOMStructure@WebCore@@YAPAVStructure@JSC@@PAVJSDOMGlobalObject@1@PBUClassInfo@3@@Z
?getData16SlowCase@StringImpl@WTF@@ABEPB_WXZ
?getElementById@TreeScope@WebCore@@QBEPAVElement@2@ABVAtomicString@WTF@@@Z
......@@ -164,6 +166,7 @@ EXPORTS
?jsStringSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@UStringHash@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
?lastChangeWasUserEdit@HTMLTextFormControlElement@WebCore@@QBE_NXZ
?markersFor@DocumentMarkerController@WebCore@@QAE?AV?$Vector@PAVDocumentMarker@WebCore@@$0A@@WTF@@PAVNode@2@VMarkerTypes@DocumentMarker@2@@Z
?observeFrame@FrameDestructionObserver@WebCore@@IAEXPAVFrame@2@@Z
?page@Document@WebCore@@QBEPAVPage@2@XZ
?paintControlTints@FrameView@WebCore@@AAEXXZ
?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVElement@2@HH_N@Z
......
......@@ -136,6 +136,8 @@ EXPORTS
??0ClientRect@WebCore@@AAE@XZ
??0String@WTF@@QAE@PBD@Z
??0String@WTF@@QAE@PB_W@Z
??1FrameDestructionObserver@WebCore@@MAE@XZ
??0FrameDestructionObserver@WebCore@@QAE@PAVFrame@1@@Z
?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z
?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QBE?AVIntRect@2@XZ
?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBD@Z
......@@ -149,6 +151,7 @@ EXPORTS
?equal@WTF@@YA_NPBVStringImpl@1@PBE@Z
?equalIgnoringCase@WTF@@YA_NPAVStringImpl@1@PBE@Z
?externalRepresentation@WebCore@@YA?AVString@WTF@@PAVElement@1@I@Z
?frameDestroyed@FrameDestructionObserver@WebCore@@UAEXXZ
?getCachedDOMStructure@WebCore@@YAPAVStructure@JSC@@PAVJSDOMGlobalObject@1@PBUClassInfo@3@@Z
?getData16SlowCase@StringImpl@WTF@@ABEPB_WXZ
?getElementById@TreeScope@WebCore@@QBEPAVElement@2@ABVAtomicString@WTF@@@Z
......@@ -157,6 +160,7 @@ EXPORTS
?jsStringSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@UStringHash@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
?lastChangeWasUserEdit@HTMLTextFormControlElement@WebCore@@QBE_NXZ
?markersFor@DocumentMarkerController@WebCore@@QAE?AV?$Vector@PAVDocumentMarker@WebCore@@$0A@@WTF@@PAVNode@2@VMarkerTypes@DocumentMarker@2@@Z
?observeFrame@FrameDestructionObserver@WebCore@@IAEXPAVFrame@2@@Z
?page@Document@WebCore@@QBEPAVPage@2@XZ
?paintControlTints@FrameView@WebCore@@AAEXXZ
?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVElement@2@HH_N@Z
......
......@@ -85,6 +85,10 @@ _ZN7WebCore8Settings24setMockScrollbarsEnabledEb;
_ZN7WebCore9FrameView17paintControlTintsEv;
_ZN7WebCore9FrameView19scrollElementToRectEPNS_7ElementERKNS_7IntRectE;
_ZN7WebCore9FrameView43setShouldLayoutFixedElementsRelativeToFrameEb;
_ZN7WebCore24FrameDestructionObserverD2Ev;
_ZN7WebCore24FrameDestructionObserverC2EPNS_5FrameE;
_ZN7WebCore24FrameDestructionObserver7observeEPNS_5FrameE;
_ZN7WebCore24FrameDestructionObserver14frameDestroyedEv;
local:
_Z*;
cti*;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment