Changeset 12791 in webkit
- Timestamp:
- Feb 13, 2006 8:19:40 PM (18 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r12789 r12791 1 2006-02-07 David Harrison <harrison@apple.com> 1 2006-02-13 Darin Adler <darin@apple.com> 2 3 Reviewed by Maciej. 4 5 - move pointer from frame to page here from WebKit 6 7 * WebCore.xcodeproj/project.pbxproj: Added PageMac.h. 8 9 * bridge/mac/PageMac.h: Added. 10 11 * bridge/mac/MacFrame.h: Added a page parameter to the constructor. 12 * bridge/mac/MacFrame.mm: 13 (WebCore::MacFrame::MacFrame): Pass the page and renderer to the Frame constructor. 14 Moved the call to Cache::init up into Frame, and got rid of the call to Frame::init 15 since that's now handled by the constructor. Also put the code to create the 16 browser extension object here. 17 (WebCore::MacFrame::submitForm): Update for new method name. 18 (WebCore::MacFrame::createFrame): Ditto. 19 (WebCore::MacFrame::sendContextMenuEvent): Update since m_doc is a RefPtr. 20 21 * bridge/mac/WebCoreFrameBridge.h: Changed parameters on init methods. Renamed 22 the part method to impl. Added a page method. 23 * bridge/mac/WebCoreFrameBridge.mm: 24 (frameHasSelection): Change use of part method to impl. 25 (-[WebCoreFrameBridge appendChild:]): Use m_frame directly instead of calling part method. 26 (-[WebCoreFrameBridge removeChild:]): Ditto. 27 (-[WebCoreFrameBridge initMainFrameWithPage:]): Added. Now does the first-time initialization 28 only here and create a frame for a main frame. 29 (-[WebCoreFrameBridge initSubframeWithRenderer:]): Added. Doesn't do the first-time initialization 30 and creates a frame for a subframe. 31 (-[WebCoreFrameBridge page]): Added. 32 (-[WebCoreFrameBridge setOpener:]): Change to use impl method instead of part. 33 (-[WebCoreFrameBridge executionContextForView:]): Ditto. 34 (-[WebCoreFrameBridge impl]): Added. 35 36 * bridge/mac/WebCorePageBridge.h: Removed init method and added setMainFrame: method and impl method. 37 * bridge/mac/WebCorePageBridge.mm: 38 (-[WebCorePageBridge init]): Changed to create a PageMac. 39 (-[WebCorePageBridge setMainFrame:]): Added. 40 (-[WebCorePageBridge impl]): Added. 41 42 * bridge/mac/BrowserExtensionMac.mm: 43 (WebCore::BrowserExtensionMac::createNewWindow): 44 * kwq/KWQAccObject.mm: 45 (-[KWQAccObject rendererForView:]): 46 * kwq/KWQComboBox.mm: 47 (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): 48 * kwq/KWQFileButton.mm: 49 (KWQFileButton::focusPolicy): 50 * kwq/KWQSlider.mm: 51 (QSlider::focusPolicy): 52 * kwq/KWQTextArea.mm: 53 (-[KWQTextAreaTextView _isResizableByUser]): 54 (-[KWQTextAreaTextView _trackResizeFromMouseDown:]): 55 Change methods to get from bridge back to objects to be named "impl". 56 The old one was named "part". 57 58 * page/Frame.h: Added Page and RenderPart parameter to constructor. 59 Added a page function. Removed the createBrowserExtension function. 60 * page/Frame.cpp: 61 (WebCore::parentFromOwnerRenderer): Added. Helper for constructor. 62 (WebCore::Frame::Frame): Moved all the code from init into here. Also change 63 to set the parent right from the start. 64 (WebCore::Frame::stopLoading): Change since m_doc is now a RefPtr. 65 (WebCore::Frame::clear): Ditto. 66 (WebCore::Frame::document): Ditto. 67 (WebCore::Frame::setDocument): Ditto. 68 (WebCore::Frame::begin): Ditto. 69 (WebCore::Frame::gotoAnchor): Ditto. 70 (WebCore::Frame::typingStyle): Change since m_typingStyle is now a RefPtr. 71 (WebCore::Frame::setTypingStyle): Ditto. 72 (WebCore::Frame::clearTypingStyle): Ditto. 73 (WebCore::Frame::isFrameSet): Change since m_doc is now a RefPtr. 74 (WebCore::Frame::page): Added. 75 76 * page/FramePrivate.h: Changed initialization to use member-initialization 77 syntax. Removed unused m_frames. Changed m_doc and m_typingStyle to use 78 RefPtr. Added an m_frame. 79 80 * page/Page.h: Made destructor virtual so we could have a Mac derived class. 81 Added a setMainFrame function and removed the mainFrame parameter from the constructor. 82 * page/Page.cpp: 83 (WebCore::Page::Page): Removed the mainFrame parameter. 84 (WebCore::Page::setMainFrame): Added. 85 86 2006-02-13 David Harrison <harrison@apple.com> 2 87 3 88 Reviewed by Justin. -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r12782 r12791 126 126 93309EA4099EB78C0056E581 /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93309EA1099EB78C0056E581 /* Timer.cpp */; }; 127 127 937A36A7097E2E3200E4EE2F /* UserAgentStyleSheets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 937A36A6097E2E3200E4EE2F /* UserAgentStyleSheets.cpp */; }; 128 937D809A09A063330092A01E /* PageMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 937D809909A063330092A01E /* PageMac.h */; }; 128 129 9380F47309A11AB4001FDB34 /* Widget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9380F47109A11AB4001FDB34 /* Widget.cpp */; }; 129 130 9380F47409A11AB4001FDB34 /* Widget.h in Headers */ = {isa = PBXBuildFile; fileRef = 9380F47209A11AB4001FDB34 /* Widget.h */; }; … … 1251 1252 9378D9FA07640A46004B97BF /* markup.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; name = markup.h; path = editing/markup.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; 1252 1253 937A36A6097E2E3200E4EE2F /* UserAgentStyleSheets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserAgentStyleSheets.cpp; sourceTree = "<group>"; }; 1254 937D809909A063330092A01E /* PageMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageMac.h; sourceTree = "<group>"; }; 1253 1255 9380F47109A11AB4001FDB34 /* Widget.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Widget.cpp; path = platform/Widget.cpp; sourceTree = "<group>"; }; 1254 1256 9380F47209A11AB4001FDB34 /* Widget.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Widget.h; path = platform/Widget.h; sourceTree = "<group>"; }; … … 2417 2419 654EC610097778F500DAB52C /* WebCoreFrameBridge.mm */, 2418 2420 65BF02380974819000C43196 /* KWQKHTMLView.cpp */, 2421 937D809909A063330092A01E /* PageMac.h */, 2419 2422 65BF023B0974819000C43196 /* MacFrame.h */, 2420 2423 65BF023C0974819000C43196 /* MacFrame.mm */, … … 4396 4399 6550B6A4099DF0270090D781 /* EditingTextImpl.h in Headers */, 4397 4400 6550B6A6099DF0270090D781 /* TextImpl.h in Headers */, 4401 937D809A09A063330092A01E /* PageMac.h in Headers */, 4398 4402 9380F47409A11AB4001FDB34 /* Widget.h in Headers */, 4399 4403 ); -
trunk/WebCore/bridge/mac/BrowserExtensionMac.mm
r12768 r12791 104 104 105 105 if (partResult) 106 *partResult = [bridge part];106 *partResult = [bridge impl]; 107 107 108 108 return; … … 119 119 return; 120 120 121 if ([bridge part])122 [bridge part]->tree()->setName(urlArgs.frameName);121 if ([bridge impl]) 122 [bridge impl]->tree()->setName(urlArgs.frameName); 123 123 124 124 if (partResult) 125 *partResult = [bridge part];125 *partResult = [bridge impl]; 126 126 127 127 [bridge setToolbarsVisible:winArgs.toolBarVisible || winArgs.locationBarVisible]; -
trunk/WebCore/bridge/mac/MacFrame.h
r12782 r12791 35 35 #include "text_affinity.h" 36 36 #include <kxmlcore/HashSet.h> 37 #include "BrowserExtensionMac.h"38 37 39 38 #import <CoreFoundation/CoreFoundation.h> … … 119 118 { 120 119 public: 121 MacFrame( RenderPart*);120 MacFrame(Page*, RenderPart*); 122 121 ~MacFrame(); 123 122 … … 182 181 183 182 virtual void createEmptyDocument(); 184 185 virtual BrowserExtension* createBrowserExtension() { return new BrowserExtensionMac(this); }186 183 187 184 static WebCoreFrameBridge *bridgeForWidget(const Widget *); -
trunk/WebCore/bridge/mac/MacFrame.mm
r12782 r12791 27 27 #import "MacFrame.h" 28 28 29 #import "BrowserExtensionMac.h" 29 30 #import "Cache.h" 30 31 #import "DOMInternal.h" … … 130 131 } 131 132 132 MacFrame::MacFrame(RenderPart* ownerRenderer) 133 : _bridge(nil) 133 MacFrame::MacFrame(Page* page, RenderPart* ownerRenderer) 134 : Frame(page, ownerRenderer) 135 , _bridge(nil) 134 136 , _started(this, SIGNAL(started(KIO::Job *))) 135 137 , _completed(this, SIGNAL(completed())) … … 148 150 , _dragClipboard(0) 149 151 { 150 // Must init the cache before connecting to any signals151 Cache::init();152 153 // The widget is made outside this class in our case.154 Frame::init(0, ownerRenderer);155 156 152 mutableInstances().prepend(this); 153 154 d->m_extension = new BrowserExtensionMac(this); 157 155 } 158 156 … … 523 521 // needed any more now that we reset _submittedFormURL on each mouse or key down event. 524 522 WebCoreFrameBridge *target = args.frameName.isEmpty() ? _bridge : [_bridge findFrameNamed:args.frameName.getNSString()]; 525 Frame *targetPart = [target part];523 Frame *targetPart = [target impl]; 526 524 bool willReplaceThisFrame = false; 527 525 for (Frame *p = this; p; p = p->tree()->parent()) { … … 636 634 marginWidth:marginWidth 637 635 marginHeight:marginHeight]; 638 return [childBridge part];636 return [childBridge impl]; 639 637 640 638 KWQ_UNBLOCK_EXCEPTIONS; … … 2237 2235 bool MacFrame::sendContextMenuEvent(NSEvent *event) 2238 2236 { 2239 DocumentImpl *doc = d->m_doc;2240 FrameView *v = d->m_view;2237 DocumentImpl* doc = d->m_doc.get(); 2238 FrameView* v = d->m_view; 2241 2239 if (!doc || !v) { 2242 2240 return false; -
trunk/WebCore/bridge/mac/WebCoreFrameBridge.h
r12683 r12791 56 56 @class DOMHTMLElement; 57 57 @class DOMHTMLInputElement; 58 @class DOMHTMLTextAreaElement; 58 59 @class DOMNode; 59 60 @class DOMRange; 60 @class DOMHTMLTextAreaElement;61 @class WebCorePageBridge; 61 62 @class WebCoreSettings; 62 63 @class WebScriptObject; … … 191 192 + (WebCoreFrameBridge *)bridgeForDOMDocument:(DOMDocument *)document; 192 193 193 - (id)initWithRenderer:(WebCoreRenderPart *)renderer; 194 - (id)initMainFrameWithPage:(WebCorePageBridge *)page; 195 - (id)initSubframeWithRenderer:(WebCoreRenderPart *)renderer; 194 196 195 197 + (NSArray *)supportedMIMETypes; … … 202 204 - (NSString *)generateFrameName; 203 205 204 - (WebCoreMacFrame *)part; 205 206 - (void)setParent:(WebCoreFrameBridge *)parent; 206 - (WebCorePageBridge *)page; 207 207 208 - (WebCoreFrameBridge *)parent; 208 209 … … 675 676 @end 676 677 678 // One method for internal use within WebCore itself. 679 // Could move this to another header, but would be a pity to create an entire header just for that. 680 681 @interface WebCoreFrameBridge (WebCoreInternalUse) 682 - (WebCoreMacFrame*)impl; 683 @end 684 685 // Protocols that make up part of the interaces above. 686 677 687 @protocol WebCoreRenderTreeCopier <NSObject> 678 688 - (NSObject *)nodeWithName:(NSString *)name position:(NSPoint)p rect:(NSRect)rect view:(NSView *)view children:(NSArray *)children; -
trunk/WebCore/bridge/mac/WebCoreFrameBridge.mm
r12782 r12791 31 31 #import "DOMInternal.h" 32 32 #import "DocumentTypeImpl.h" 33 #import "FrameTree.h" 33 34 #import "FrameView.h" 34 35 #import "HTMLFormElementImpl.h" … … 48 49 #import "KWQView.h" 49 50 #import "MacFrame.h" 50 #import "FrameTree.h"51 51 #import "NodeImpl.h" 52 #import "PageMac.h" 52 53 #import "SelectionController.h" 53 54 #import "WebCoreFrameNamespaces.h" 55 #import "WebCorePageBridge.h" 54 56 #import "WebCoreSettings.h" 55 57 #import "WebCoreTextRendererFactory.h" … … 66 68 #import "html_imageimpl.h" 67 69 #import "htmlediting.h" 70 #import "htmlnames.h" 68 71 #import "kjs_proxy.h" 69 72 #import "kjs_window.h" … … 82 85 #import "visible_units.h" 83 86 #import "xml_tokenizer.h" 84 #import "htmlnames.h"87 #import <JavaScriptCore/date_object.h> 85 88 #import <JavaScriptCore/interpreter.h> 86 89 #import <JavaScriptCore/jni_jsobject.h> 87 90 #import <JavaScriptCore/npruntime.h> 88 91 #import <JavaScriptCore/object.h> 89 #import <JavaScriptCore/date_object.h>90 92 #import <JavaScriptCore/property_map.h> 91 93 #import <JavaScriptCore/runtime_root.h> … … 179 181 return NO; 180 182 181 Frame *frame = [bridge part];183 Frame *frame = [bridge impl]; 182 184 if (!frame) 183 185 return NO; … … 334 336 - (void)appendChild:(WebCoreFrameBridge *)child 335 337 { 336 m_frame->tree()->appendChild(adoptRef( [child part]));338 m_frame->tree()->appendChild(adoptRef(child->m_frame)); 337 339 } 338 340 339 341 - (void)removeChild:(WebCoreFrameBridge *)child 340 342 { 341 m_frame->tree()->removeChild( [child part]);343 m_frame->tree()->removeChild(child->m_frame); 342 344 } 343 345 … … 535 537 } 536 538 537 - (id)init 538 { 539 return [self initWithRenderer:0]; 540 } 541 542 - (id)initWithRenderer:(WebCoreRenderPart *)renderer 543 { 539 - (id)initMainFrameWithPage:(WebCorePageBridge *)page 540 { 541 if (!initializedKJS) { 542 mainThread = pthread_self(); 543 RootObject::setFindRootObjectForNativeHandleFunction(rootForView); 544 KJS::Bindings::Instance::setDidExecuteFunction(updateRenderingForBindings); 545 initializedKJS = true; 546 } 547 544 548 if (!(self = [super init])) 545 549 return nil; 546 547 m_frame = new MacFrame( renderer);550 551 m_frame = new MacFrame([page impl], 0); 548 552 m_frame->setBridge(self); 549 550 if (!initializedObjectCacheSize){ 553 _shouldCreateRenderers = YES; 554 555 // FIXME: This is one-time initialization, but it gets the value of the setting from the 556 // current WebView. That's a mismatch and not good! 557 if (!initializedObjectCacheSize) { 551 558 Cache::setSize([self getObjectCacheSize]); 552 559 initializedObjectCacheSize = true; 553 560 } 554 561 555 if (!initializedKJS) {556 mainThread = pthread_self(); 557 558 RootObject::setFindRootObjectForNativeHandleFunction (rootForView); 559 560 KJS::Bindings::Instance::setDidExecuteFunction(updateRenderingForBindings);561 562 initializedKJS = true;563 }564 562 return self; 563 } 564 565 - (id)initSubframeWithRenderer:(RenderPart *)renderer 566 { 567 if (!(self = [super init])) 568 return nil; 569 570 m_frame = new MacFrame(renderer->node()->getDocument()->frame()->page(), renderer); 571 m_frame->setBridge(self); 565 572 _shouldCreateRenderers = YES; 566 567 573 return self; 574 } 575 576 - (WebCorePageBridge *)page 577 { 578 return Mac(m_frame->page())->bridge(); 568 579 } 569 580 … … 593 604 { 594 605 return m_frame; 595 }596 597 - (void)setParent:(WebCoreFrameBridge *)parent598 {599 // FIXME: frames should be created with the right parent in the first place600 m_frame->tree()->setParent([parent part]);601 606 } 602 607 … … 1650 1655 - (void)setOpener:(WebCoreFrameBridge *)bridge; 1651 1656 { 1652 Frame *p = [bridge part];1657 Frame *p = [bridge impl]; 1653 1658 1654 1659 if (p) … … 2633 2638 - (RootObject *)executionContextForView:(NSView *)aView 2634 2639 { 2635 MacFrame *frame = [self part];2640 MacFrame *frame = [self impl]; 2636 2641 RootObject *root = new RootObject(aView); // The root gets deleted by JavaScriptCore. 2637 2642 root->setRootObjectImp(Window::retrieveWindow(frame)); … … 2677 2682 2678 2683 @end 2684 2685 @implementation WebCoreFrameBridge (WebCoreInternalUse) 2686 2687 - (MacFrame*)impl 2688 { 2689 return m_frame; 2690 } 2691 2692 @end -
trunk/WebCore/bridge/mac/WebCorePageBridge.h
r12492 r12791 51 51 } 52 52 53 - (id)initWithMainFrame:(WebCoreFrameBridge*)mainFrame; 53 - (void)setMainFrame:(WebCoreFrameBridge*)mainFrame; 54 54 55 - (WebCoreFrameBridge*)mainFrame; 56 55 57 @end 56 58 … … 66 68 @interface WebCorePageBridge (SubclassResponsibility) <WebCorePageBridge> 67 69 @end 70 71 // One method for internal use within WebCore itself. 72 // Could move this to another header, but would be a pity to create an entire header just for that. 73 74 @interface WebCorePageBridge (WebCoreInternalUse) 75 - (WebCorePage*)impl; 76 @end -
trunk/WebCore/bridge/mac/WebCorePageBridge.mm
r12492 r12791 28 28 29 29 #import "MacFrame.h" 30 #import "Page .h"30 #import "PageMac.h" 31 31 #import "WebCoreFrameBridge.h" 32 32 … … 35 35 @implementation WebCorePageBridge 36 36 37 - (id)init WithMainFrame:(WebCoreFrameBridge *)mainFrame37 - (id)init 38 38 { 39 if (!(self = [super init])) 40 return nil; 39 self = [super init]; 40 if (self) 41 _page = new PageMac(self); 42 return self; 43 } 41 44 42 _page = new Page(adoptRef([mainFrame part])); 43 44 return self;45 - (void)setMainFrame:(WebCoreFrameBridge *)mainFrame 46 { 47 _page->setMainFrame(adoptRef([mainFrame impl])); 45 48 } 46 49 … … 57 60 58 61 @end 62 63 @implementation WebCorePageBridge (WebCoreInternalUse) 64 65 - (Page*)impl 66 { 67 return _page; 68 } 69 70 @end -
trunk/WebCore/kwq/KWQAccObject.mm
r12782 r12791 1802 1802 } 1803 1803 1804 MacFrame *frame = [bridge part];1804 MacFrame *frame = [bridge impl]; 1805 1805 if (!frame) 1806 1806 return NULL; -
trunk/WebCore/kwq/KWQComboBox.mm
r12782 r12791 417 417 // events during tracking. [NSApp currentEvent] is still the original mouseDown 418 418 // at this point! 419 [bridge part]->sendFakeEventsAfterWidgetTracking(event);419 [bridge impl]->sendFakeEventsAfterWidgetTracking(event); 420 420 } 421 421 [event release]; -
trunk/WebCore/kwq/KWQFileButton.mm
r12782 r12791 138 138 139 139 WebCoreFrameBridge *bridge = MacFrame::bridgeForWidget(this); 140 if (!bridge || ![bridge part] || ![bridge part]->tabsToAllControls()) {140 if (!bridge || ![bridge impl] || ![bridge impl]->tabsToAllControls()) { 141 141 return NoFocus; 142 142 } -
trunk/WebCore/kwq/KWQSlider.mm
r12782 r12791 243 243 244 244 WebCoreFrameBridge *bridge = MacFrame::bridgeForWidget(this); 245 if (!bridge || ![bridge part] || ![bridge part]->tabsToAllControls()) {245 if (!bridge || ![bridge impl] || ![bridge impl]->tabsToAllControls()) { 246 246 return NoFocus; 247 247 } -
trunk/WebCore/kwq/KWQTextArea.mm
r12782 r12791 392 392 // been installed. 393 393 if (!resizableByUserComputed) { 394 resizableByUser = [MacFrame::bridgeForWidget(widget) part]->settings()->textAreasAreResizable();394 resizableByUser = [MacFrame::bridgeForWidget(widget) impl]->settings()->textAreasAreResizable(); 395 395 resizableByUserComputed = YES; 396 396 } … … 733 733 } 734 734 735 [bridge part]->forceLayout();735 [bridge impl]->forceLayout(); 736 736 } 737 737 -
trunk/WebCore/page/Frame.cpp
r12782 r12791 131 131 }; 132 132 133 void Frame::init(FrameView* view, RenderPart* ownerRenderer)134 {135 AtomicString::init();136 QualifiedName::init();137 EventNames::init();138 HTMLNames::init(); // FIXME: We should make this happen only when HTML is used.139 #if SVG_SUPPORT140 KSVG::SVGNames::init();141 XLinkNames::init();142 #endif143 144 _drawSelectionOnly = false;145 m_markedTextUsesUnderlines = false;146 m_windowHasFocus = false;147 148 frameCount = 0;149 150 // FIXME: FramePrivate constructor wants to take a parent but we do not have one yet151 d = new FramePrivate(0, this, ownerRenderer);152 153 d->m_view = view;154 155 d->m_extension = createBrowserExtension();156 157 d->m_bSecurityInQuestion = false;158 d->m_bMousePressed = false;159 160 // The java, javascript, and plugin settings will be set after the settings161 // have been initialized.162 d->m_bJScriptEnabled = true;163 d->m_bJavaEnabled = true;164 d->m_bPluginsEnabled = true;165 166 connect( Cache::loader(), SIGNAL( requestDone( khtml::DocLoader*, khtml::CachedObject *) ),167 this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) );168 connect( Cache::loader(), SIGNAL( requestFailed( khtml::DocLoader*, khtml::CachedObject *) ),169 this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) );170 }171 172 133 #if !NDEBUG 173 134 struct FrameCounter { … … 179 140 #endif 180 141 181 Frame::Frame() 182 : d(0) 183 { 142 static inline Frame* parentFromOwnerRenderer(RenderPart* ownerRenderer) 143 { 144 if (!ownerRenderer) 145 return 0; 146 return ownerRenderer->node()->getDocument()->frame(); 147 } 148 149 Frame::Frame(Page* page, RenderPart* ownerRenderer) 150 : d(new FramePrivate(page, parentFromOwnerRenderer(ownerRenderer), this, ownerRenderer)) 151 , _drawSelectionOnly(false) 152 , m_markedTextUsesUnderlines(false) 153 , m_windowHasFocus(false) 154 , frameCount(0) 155 { 156 AtomicString::init(); 157 Cache::init(); 158 EventNames::init(); 159 HTMLNames::init(); 160 QualifiedName::init(); 161 162 #if SVG_SUPPORT 163 SVGNames::init(); 164 XLinkNames::init(); 165 #endif 166 184 167 // FIXME: Frames were originally created with a refcount of 1, leave this 185 // here until we can straighten that out168 // ref call here until we can straighten that out. 186 169 ref(); 187 170 #if !NDEBUG 188 171 ++FrameCounter::count; 189 172 #endif 173 174 connect( Cache::loader(), SIGNAL( requestDone( khtml::DocLoader*, khtml::CachedObject *) ), 175 this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) ); 176 connect( Cache::loader(), SIGNAL( requestFailed( khtml::DocLoader*, khtml::CachedObject *) ), 177 this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) ); 190 178 } 191 179 … … 343 331 d->m_workingURL = KURL(); 344 332 345 if (DocumentImpl *doc = d->m_doc ) {333 if (DocumentImpl *doc = d->m_doc.get()) { 346 334 if (DocLoader *docLoader = doc->docLoader()) 347 335 Cache::loader()->cancelRequests(docLoader); … … 479 467 480 468 if (d->m_doc) { 481 disconnect(d->m_doc , SIGNAL(finishedParsing()), this, SLOT(slotFinishedParsing()));469 disconnect(d->m_doc.get(), SIGNAL(finishedParsing()), this, SLOT(slotFinishedParsing())); 482 470 d->m_doc->cancelParsing(); 483 471 d->m_doc->detach(); … … 491 479 d->m_view->clear(); 492 480 493 // do not d ereferencethe document before the jscript and view are cleared, as some destructors481 // do not drop the document before the jscript and view are cleared, as some destructors 494 482 // might still try to access the document. 495 if ( d->m_doc )496 d->m_doc->deref();497 483 d->m_doc = 0; 498 484 d->m_decoder = 0; … … 526 512 DocumentImpl *Frame::document() const 527 513 { 528 if ( d)529 return d->m_doc ;514 if (d) 515 return d->m_doc.get(); 530 516 return 0; 531 517 } … … 535 521 if (d) { 536 522 if (d->m_doc) { 537 disconnect(d->m_doc , SIGNAL(finishedParsing()), this, SLOT(slotFinishedParsing()));523 disconnect(d->m_doc.get(), SIGNAL(finishedParsing()), this, SLOT(slotFinishedParsing())); 538 524 d->m_doc->detach(); 539 d->m_doc->deref();540 525 } 541 526 d->m_doc = newDoc; 542 527 if (newDoc) { 543 newDoc->ref();544 528 newDoc->attach(); 545 connect( d->m_doc, SIGNAL(finishedParsing()), this, SLOT(slotFinishedParsing()));529 connect(newDoc, SIGNAL(finishedParsing()), this, SLOT(slotFinishedParsing())); 546 530 } 547 531 } … … 666 650 d->m_doc = DOMImplementationImpl::instance()->createHTMLDocument( d->m_view ); 667 651 668 d->m_doc->ref();669 652 if (!d->m_doc->attached()) 670 653 d->m_doc->attach( ); … … 691 674 if (d->m_view) 692 675 d->m_view->resizeContents( 0, 0 ); 693 connect(d->m_doc ,SIGNAL(finishedParsing()),this,SLOT(slotFinishedParsing()));676 connect(d->m_doc.get(),SIGNAL(finishedParsing()),this,SLOT(slotFinishedParsing())); 694 677 } 695 678 … … 1112 1095 if (!n) { 1113 1096 HTMLCollectionImpl *anchors = 1114 new HTMLCollectionImpl( d->m_doc, HTMLCollectionImpl::DOC_ANCHORS);1097 new HTMLCollectionImpl(d->m_doc.get(), HTMLCollectionImpl::DOC_ANCHORS); 1115 1098 anchors->ref(); 1116 1099 n = anchors->namedItem(name, !d->m_doc->inCompatMode()); … … 2178 2161 CSSMutableStyleDeclarationImpl *Frame::typingStyle() const 2179 2162 { 2180 return d->m_typingStyle ;2163 return d->m_typingStyle.get(); 2181 2164 } 2182 2165 2183 2166 void Frame::setTypingStyle(CSSMutableStyleDeclarationImpl *style) 2184 2167 { 2185 if (d->m_typingStyle == style)2186 return;2187 2188 CSSMutableStyleDeclarationImpl *old = d->m_typingStyle;2189 2168 d->m_typingStyle = style; 2190 if (d->m_typingStyle)2191 d->m_typingStyle->ref();2192 if (old)2193 old->deref();2194 2169 } 2195 2170 2196 2171 void Frame::clearTypingStyle() 2197 2172 { 2198 setTypingStyle(0);2173 d->m_typingStyle = 0; 2199 2174 } 2200 2175 … … 2827 2802 bool Frame::isFrameSet() const 2828 2803 { 2829 DocumentImpl *document = d->m_doc;2804 DocumentImpl* document = d->m_doc.get(); 2830 2805 if (!document || !document->isHTMLDocument()) 2831 2806 return false; … … 3533 3508 } 3534 3509 3510 Page* Frame::page() const 3511 { 3512 return d->m_page; 3513 } 3514 3535 3515 } // namespace WebCore -
trunk/WebCore/page/Frame.h
r12782 r12791 57 57 namespace WebCore { 58 58 59 class SelectionController;60 class Selection;61 class RangeImpl;62 class EditCommandPtr;63 class CSSMutableStyleDeclarationImpl;64 class CSSStyleDeclarationImpl;65 class MouseDoubleClickEvent;66 class MousePressEvent;67 class MouseReleaseEvent;68 class DrawContentsEvent;69 class VisiblePosition;70 class MouseEvent;71 class MouseMoveEvent;72 class CSSComputedStyleDeclarationImpl;73 class FramePrivate;74 class FrameTree;75 class Plugin;76 class KJSProxyImpl;77 59 class CSSComputedStyleDeclarationImpl; 60 class CSSMutableStyleDeclarationImpl; 61 class CSSStyleDeclarationImpl; 62 class DrawContentsEvent; 63 class EditCommandPtr; 64 class FramePrivate; 65 class FrameTree; 66 class KJSProxyImpl; 67 class MouseDoubleClickEvent; 68 class MouseEvent; 69 class MouseMoveEvent; 70 class MousePressEvent; 71 class MouseReleaseEvent; 72 class Page; 73 class Plugin; 74 class RangeImpl; 75 class Selection; 76 class SelectionController; 77 class VisiblePosition; 78 78 79 79 template <typename T> class Timer; … … 88 88 }; 89 89 90 enum ObjectContentType 91 { 90 enum ObjectContentType { 92 91 ObjectContentNone, 93 92 ObjectContentImage, … … 101 100 enum { NoXPosForVerticalArrowNavigation = INT_MIN }; 102 101 103 Frame( );102 Frame(Page*, RenderPart*); 104 103 virtual ~Frame(); 105 104 106 105 virtual bool openURL(const KURL&); 106 virtual bool closeURL(); 107 107 108 108 void didExplicitOpen(); 109 109 110 /** 111 * Stops loading the document and kill all data requests (for images, etc.) 110 Page* page() const; 111 112 /** 113 * Stop loading the document and kill all data requests (for images, etc.) 112 114 */ 113 115 void stopLoading(bool sendUnload = false); 114 virtual bool closeURL();115 116 116 117 /** … … 689 690 690 691 // Methods with platform-specific overrides (and no base class implementation). 691 virtual BrowserExtension* createBrowserExtension() = 0;692 692 virtual void setTitle(const DOMString &) = 0; 693 693 virtual void handledOnloadEvents() = 0; … … 808 808 void overURL( const QString &url, const QString &target, bool shiftPressed = false ); 809 809 810 void init(FrameView*, RenderPart*);811 812 810 bool shouldUsePlugin(NodeImpl* element, const KURL& url, const QString& mimeType, bool hasFallback, bool& useFallback); 813 811 bool loadPlugin(RenderPart* renderer, const KURL &url, const QString &mimeType, -
trunk/WebCore/page/FramePrivate.h
r12768 r12791 29 29 30 30 #include "Frame.h" 31 #include "FrameTree.h" 31 32 #include "SelectionController.h" 32 33 #include "Timer.h" … … 35 36 #include "kjs_proxy.h" 36 37 #include <kio/global.h> 37 #include "FrameTree.h" 38 #include "kxmlcore/Vector.h" 38 #include <kxmlcore/Vector.h> 39 39 40 40 namespace KIO { … … 46 46 class Decoder; 47 47 48 class FrameList : public QValueList<RefPtr<Frame> > 49 { 50 public: 51 Iterator find(const QString &name); 52 }; 53 54 typedef FrameList::ConstIterator ConstFrameIt; 55 typedef FrameList::Iterator FrameIt; 56 57 enum RedirectionScheduled { 58 noRedirectionScheduled, 59 redirectionScheduled, 60 locationChangeScheduled, 61 historyNavigationScheduled, 62 locationChangeScheduledDuringLoad 63 }; 64 65 class FramePrivate 66 { 67 public: 68 FramePrivate(Frame *parent, Frame *thisFrame, RenderPart* ownerRenderer) 69 : m_treeNode(thisFrame, parent) 70 , m_ownerRenderer(ownerRenderer) 71 , m_redirectionTimer(thisFrame, &Frame::redirectionTimerFired) 72 , m_caretBlinkTimer(thisFrame, &Frame::caretBlinkTimerFired) 73 , m_lifeSupportTimer(thisFrame, &Frame::lifeSupportTimerFired) 74 { 75 m_doc = 0; 76 m_jscript = 0; 77 m_runningScripts = 0; 78 m_job = 0; 79 m_bComplete = true; 80 m_bLoadingMainResource = false; 81 m_bLoadEventEmitted = true; 82 m_bUnloadEventEmitted = true; 83 m_cachePolicy = KIO::CC_Verify; 84 m_bClearing = false; 85 m_bCleared = true; 86 m_zoomFactor = 100; 87 m_bDnd = true; 88 m_haveEncoding = false; 89 m_activeFrame = 0; 90 m_frameNameId = 1; 91 92 m_restored = false; 93 94 m_focusNodeNumber = -1; 95 m_focusNodeRestored = false; 96 97 m_onlyLocalReferences = false; 98 99 m_caretVisible = false; 100 m_caretBlinks = true; 101 m_caretPaint = true; 102 103 m_typingStyle = 0; 104 105 m_metaRefreshEnabled = true; 106 m_bHTTPRefresh = false; 107 108 m_bFirstData = true; 109 m_submitForm = 0; 110 m_scheduledRedirection = noRedirectionScheduled; 111 m_delayRedirect = 0; 112 113 m_bPendingChildRedirection = false; 114 m_executingJavaScriptFormAction = false; 115 116 m_cancelWithLoadInProgress = false; 117 118 // inherit settings from parent 119 if (parent && parent->inherits("Frame")) 48 enum RedirectionScheduled { 49 noRedirectionScheduled, 50 redirectionScheduled, 51 locationChangeScheduled, 52 historyNavigationScheduled, 53 locationChangeScheduledDuringLoad 54 }; 55 56 class FramePrivate 120 57 { 121 Frame *frame = static_cast<Frame*>(parent); 122 if (frame->d) 58 public: 59 FramePrivate(Page* page, Frame* parent, Frame* thisFrame, RenderPart* ownerRenderer) 60 : m_page(page) 61 , m_treeNode(thisFrame, parent) 62 , m_ownerRenderer(ownerRenderer) 63 , m_extension(0) 64 , m_jscript(0) 65 , m_runningScripts(0) 66 , m_bJScriptEnabled(true) 67 , m_bJavaEnabled(true) 68 , m_bPluginsEnabled(true) 69 , m_metaRefreshEnabled(true) 70 , m_restored(false) 71 , m_frameNameId(1) 72 , m_settings(0) 73 , m_job(0) 74 , m_bComplete(true) 75 , m_bLoadingMainResource(false) 76 , m_bLoadEventEmitted(true) 77 , m_bUnloadEventEmitted(true) 78 , m_haveEncoding(false) 79 , m_bHTTPRefresh(false) 80 , m_redirectLockHistory(false) 81 , m_redirectUserGesture(false) 82 , m_cachePolicy(KIO::CC_Verify) 83 , m_redirectionTimer(thisFrame, &Frame::redirectionTimerFired) 84 , m_scheduledRedirection(noRedirectionScheduled) 85 , m_delayRedirect(0) 86 , m_zoomFactor(100) 87 , m_submitForm(0) 88 , m_bMousePressed(false) 89 , m_caretBlinkTimer(thisFrame, &Frame::caretBlinkTimerFired) 90 , m_caretVisible(false) 91 , m_caretBlinks(true) 92 , m_caretPaint(true) 93 , m_bDnd(true) 94 , m_bFirstData(true) 95 , m_bClearing(false) 96 , m_bCleared(true) 97 , m_bSecurityInQuestion(false) 98 , m_focusNodeRestored(false) 99 , m_isFocused(false) 100 , m_focusNodeNumber(-1) 101 , m_activeFrame(0) 102 , m_opener(0) 103 , m_openedByJS(false) 104 , m_newJSInterpreterExists(false) 105 , m_bPendingChildRedirection(false) 106 , m_executingJavaScriptFormAction(false) 107 , m_cancelWithLoadInProgress(false) 108 , m_lifeSupportTimer(thisFrame, &Frame::lifeSupportTimerFired) 123 109 { 124 // Same for SSL settings 125 m_onlyLocalReferences = frame->d->m_onlyLocalReferences; 126 m_zoomFactor = frame->d->m_zoomFactor; 110 // inherit settings from parent 111 if (parent && parent->inherits("Frame")) { 112 Frame *frame = static_cast<Frame*>(parent); 113 if (frame->d) 114 m_zoomFactor = frame->d->m_zoomFactor; 115 } 127 116 } 128 } 129 130 m_isFocused = false; 131 m_focusNodeNumber = -1; 132 m_focusNodeRestored = false; 133 m_opener = 0; 134 m_openedByJS = false; 135 m_newJSInterpreterExists = false; 136 } 137 ~FramePrivate() 138 { 139 delete m_extension; 140 delete m_jscript; 141 if (m_typingStyle) 142 m_typingStyle->deref(); 143 } 144 145 FrameTree m_treeNode; 146 147 // old style frame info 148 FrameList m_frames; 149 Vector<RefPtr<Plugin> > m_plugins; 150 151 QGuardedPtr<RenderPart> m_ownerRenderer; 152 QGuardedPtr<FrameView> m_view; 153 BrowserExtension *m_extension; 154 DocumentImpl *m_doc; 155 RefPtr<Decoder> m_decoder; 156 QString m_encoding; 157 QString scheduledScript; 158 RefPtr<NodeImpl> scheduledScriptNode; 159 160 KJSProxyImpl *m_jscript; 161 int m_runningScripts; 162 bool m_bJScriptEnabled :1; 163 bool m_bJavaEnabled :1; 164 bool m_bPluginsEnabled :1; 165 bool m_metaRefreshEnabled :1; 166 bool m_restored :1; 167 int m_frameNameId; 168 169 KHTMLSettings *m_settings; 170 171 KIO::TransferJob * m_job; 172 173 QString m_kjsStatusBarText; 174 QString m_kjsDefaultStatusBarText; 175 QString m_lastModified; 176 177 178 bool m_bComplete:1; 179 bool m_bLoadingMainResource:1; 180 bool m_bLoadEventEmitted:1; 181 bool m_bUnloadEventEmitted:1; 182 bool m_haveEncoding:1; 183 bool m_bHTTPRefresh:1; 184 bool m_onlyLocalReferences :1; 185 bool m_redirectLockHistory:1; 186 bool m_redirectUserGesture:1; 187 188 KURL m_url; 189 KURL m_workingURL; 190 191 KIO::CacheControl m_cachePolicy; 192 Timer<Frame> m_redirectionTimer; 193 194 RedirectionScheduled m_scheduledRedirection; 195 double m_delayRedirect; 196 QString m_redirectURL; 197 QString m_redirectReferrer; 198 int m_scheduledHistoryNavigationSteps; 199 200 int m_zoomFactor; 201 202 QString m_strSelectedURL; 203 QString m_strSelectedURLTarget; 204 QString m_referrer; 205 206 struct SubmitForm { 207 const char *submitAction; 208 QString submitUrl; 209 FormData submitFormData; 210 QString target; 211 QString submitContentType; 212 QString submitBoundary; 213 }; 214 215 SubmitForm *m_submitForm; 216 217 bool m_bMousePressed; 218 RefPtr<NodeImpl> m_mousePressNode; //node under the mouse when the mouse was pressed (set in the mouse handler) 219 220 ETextGranularity m_selectionGranularity; 221 bool m_beganSelectingText; 222 223 SelectionController m_selection; 224 SelectionController m_dragCaret; 225 Selection m_mark; 226 Timer<Frame> m_caretBlinkTimer; 227 228 bool m_caretVisible:1; 229 bool m_caretBlinks:1; 230 bool m_caretPaint:1; 231 bool m_bDnd:1; 232 bool m_bFirstData:1; 233 bool m_bClearing:1; 234 bool m_bCleared:1; 235 bool m_bSecurityInQuestion:1; 236 bool m_focusNodeRestored:1; 237 bool m_isFocused:1; 238 239 EditCommandPtr m_lastEditCommand; 240 int m_xPosForVerticalArrowNavigation; 241 CSSMutableStyleDeclarationImpl *m_typingStyle; 242 243 int m_focusNodeNumber; 244 245 IntPoint m_dragStartPos; 246 247 Frame* m_activeFrame; 248 QGuardedPtr<Frame> m_opener; 249 bool m_openedByJS; 250 bool m_newJSInterpreterExists; // set to 1 by setOpenedByJS, for window.open 251 bool m_bPendingChildRedirection; 252 bool m_executingJavaScriptFormAction; 253 bool m_cancelWithLoadInProgress; 254 255 Timer<Frame> m_lifeSupportTimer; 256 }; 117 118 ~FramePrivate() 119 { 120 delete m_extension; 121 delete m_jscript; 122 } 123 124 Page* m_page; 125 FrameTree m_treeNode; 126 127 Vector<RefPtr<Plugin> > m_plugins; 128 129 QGuardedPtr<RenderPart> m_ownerRenderer; 130 QGuardedPtr<FrameView> m_view; 131 BrowserExtension* m_extension; 132 RefPtr<DocumentImpl> m_doc; 133 RefPtr<Decoder> m_decoder; 134 QString m_encoding; 135 QString scheduledScript; 136 RefPtr<NodeImpl> scheduledScriptNode; 137 138 KJSProxyImpl* m_jscript; 139 int m_runningScripts; 140 bool m_bJScriptEnabled : 1; 141 bool m_bJavaEnabled : 1; 142 bool m_bPluginsEnabled : 1; 143 bool m_metaRefreshEnabled : 1; 144 bool m_restored : 1; 145 int m_frameNameId; 146 147 KHTMLSettings* m_settings; 148 149 KIO::TransferJob* m_job; 150 151 QString m_kjsStatusBarText; 152 QString m_kjsDefaultStatusBarText; 153 QString m_lastModified; 154 155 bool m_bComplete : 1; 156 bool m_bLoadingMainResource : 1; 157 bool m_bLoadEventEmitted : 1; 158 bool m_bUnloadEventEmitted : 1; 159 bool m_haveEncoding : 1; 160 bool m_bHTTPRefresh : 1; 161 bool m_redirectLockHistory : 1; 162 bool m_redirectUserGesture : 1; 163 164 KURL m_url; 165 KURL m_workingURL; 166 167 KIO::CacheControl m_cachePolicy; 168 Timer<Frame> m_redirectionTimer; 169 170 RedirectionScheduled m_scheduledRedirection; 171 double m_delayRedirect; 172 QString m_redirectURL; 173 QString m_redirectReferrer; 174 int m_scheduledHistoryNavigationSteps; 175 176 int m_zoomFactor; 177 178 QString m_strSelectedURL; 179 QString m_strSelectedURLTarget; 180 QString m_referrer; 181 182 struct SubmitForm { 183 const char* submitAction; 184 QString submitUrl; 185 FormData submitFormData; 186 QString target; 187 QString submitContentType; 188 QString submitBoundary; 189 }; 190 SubmitForm* m_submitForm; 191 192 bool m_bMousePressed; 193 RefPtr<NodeImpl> m_mousePressNode; // node under the mouse when the mouse was pressed (set in the mouse handler) 194 195 ETextGranularity m_selectionGranularity; 196 bool m_beganSelectingText; 197 198 SelectionController m_selection; 199 SelectionController m_dragCaret; 200 Selection m_mark; 201 Timer<Frame> m_caretBlinkTimer; 202 203 bool m_caretVisible : 1; 204 bool m_caretBlinks : 1; 205 bool m_caretPaint : 1; 206 bool m_bDnd : 1; 207 bool m_bFirstData : 1; 208 bool m_bClearing : 1; 209 bool m_bCleared : 1; 210 bool m_bSecurityInQuestion : 1; 211 bool m_focusNodeRestored : 1; 212 bool m_isFocused : 1; 213 214 EditCommandPtr m_lastEditCommand; 215 int m_xPosForVerticalArrowNavigation; 216 RefPtr<CSSMutableStyleDeclarationImpl> m_typingStyle; 217 218 int m_focusNodeNumber; 219 220 IntPoint m_dragStartPos; 221 222 Frame* m_activeFrame; 223 QGuardedPtr<Frame> m_opener; 224 bool m_openedByJS; 225 bool m_newJSInterpreterExists; // set to 1 by setOpenedByJS, for window.open 226 bool m_bPendingChildRedirection; 227 bool m_executingJavaScriptFormAction; 228 bool m_cancelWithLoadInProgress; 229 230 Timer<Frame> m_lifeSupportTimer; 231 }; 257 232 258 233 } -
trunk/WebCore/page/Page.cpp
r12492 r12791 32 32 static int pageCount; 33 33 34 Page::Page(PassRefPtr<Frame> mainFrame) 35 : m_mainFrame(mainFrame) 34 Page::Page() 36 35 { 37 36 ++pageCount; … … 51 50 } 52 51 52 void Page::setMainFrame(PassRefPtr<Frame> mainFrame) 53 { 54 ASSERT(!m_mainFrame); 55 m_mainFrame = mainFrame; 53 56 } 57 58 } -
trunk/WebCore/page/Page.h
r12719 r12791 32 32 class Page : Noncopyable { 33 33 public: 34 Page(PassRefPtr<Frame> mainFrame); 35 ~Page(); 34 Page(); 35 virtual ~Page(); 36 void setMainFrame(PassRefPtr<Frame> mainFrame); 36 37 Frame* mainFrame() { return m_mainFrame.get(); } 37 38 private: -
trunk/WebKit/ChangeLog
r12781 r12791 1 2006-02-13 Darin Adler <darin@apple.com> 2 3 Reviewed by Maciej. 4 5 - move pointer from frame to page over to WebCore 6 7 * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]): 8 Call super init to create the page before creating the main frame and calling setMainFrame: with it. 9 10 * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters. 11 * WebCoreSupport/WebFrameBridge.m: 12 (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for 13 the main frame. Passes the page over to the other side of the bridge. 14 (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for 15 subframes. Passes the renderer over to the other side of the bridge. 16 (-[WebFrameBridge mainFrame]): 17 (-[WebFrameBridge webView]): 18 (-[WebFrameBridge createWindowWithURL:frameName:]): 19 (-[WebFrameBridge showWindow]): 20 (-[WebFrameBridge areToolbarsVisible]): 21 (-[WebFrameBridge setToolbarsVisible:]): 22 (-[WebFrameBridge isStatusbarVisible]): 23 (-[WebFrameBridge setStatusbarVisible:]): 24 (-[WebFrameBridge setWindowFrame:]): 25 (-[WebFrameBridge windowFrame]): 26 (-[WebFrameBridge setWindowContentRect:]): 27 (-[WebFrameBridge windowContentRect]): 28 (-[WebFrameBridge setWindowIsResizable:]): 29 (-[WebFrameBridge windowIsResizable]): 30 (-[WebFrameBridge firstResponder]): 31 (-[WebFrameBridge makeFirstResponder:]): 32 (-[WebFrameBridge closeWindowSoon]): 33 (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]): 34 (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]): 35 (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]): 36 (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]): 37 (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): 38 (-[WebFrameBridge addMessageToConsole:]): 39 (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]): 40 (-[WebFrameBridge setStatusText:]): 41 (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): 42 (-[WebFrameBridge focusWindow]): 43 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): 44 (-[WebFrameBridge userAgentForURL:]): 45 (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]): 46 (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]): 47 (-[WebFrameBridge defersLoading]): 48 (-[WebFrameBridge setDefersLoading:]): 49 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): 50 (-[WebFrameBridge _preferences]): 51 (-[WebFrameBridge selectWordBeforeMenuEvent]): 52 (-[WebFrameBridge historyLength]): 53 (-[WebFrameBridge canGoBackOrForward:]): 54 (-[WebFrameBridge goBackOrForward:]): 55 (-[WebFrameBridge print]): 56 (-[WebFrameBridge pollForAppletInView:]): 57 (-[WebFrameBridge respondToChangedContents]): 58 (-[WebFrameBridge respondToChangedSelection]): 59 (-[WebFrameBridge undoManager]): 60 (-[WebFrameBridge issueCutCommand]): 61 (-[WebFrameBridge issueCopyCommand]): 62 (-[WebFrameBridge issuePasteCommand]): 63 (-[WebFrameBridge issuePasteAndMatchStyleCommand]): 64 (-[WebFrameBridge canPaste]): 65 (-[WebFrameBridge overrideMediaType]): 66 (-[WebFrameBridge isEditable]): 67 (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): 68 (-[WebFrameBridge shouldBeginEditing:]): 69 (-[WebFrameBridge shouldEndEditing:]): 70 (-[WebFrameBridge windowObjectCleared]): 71 (-[WebFrameBridge spellCheckerDocumentTag]): 72 (-[WebFrameBridge isContinuousSpellCheckingEnabled]): 73 (-[WebFrameBridge didFirstLayout]): 74 (-[WebFrameBridge dashboardRegionsChanged:]): 75 (-[WebFrameBridge createModalDialogWithURL:]): 76 (-[WebFrameBridge canRunModal]): 77 (-[WebFrameBridge runModal]): 78 Change all calls to [_page webView] to use [self webView] instead. 79 1 80 === WebKit-521.7 2 81 -
trunk/WebKit/WebCoreSupport/WebFrameBridge.h
r12638 r12791 1 1 /* 2 * Copyright (C) 2005 Apple Computer, Inc. All rights reserved.2 * Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 30 30 31 31 @class WebPageBridge; 32 @class Web DataSource;32 @class WebCoreRenderPart; 33 33 @class WebFrame; 34 34 @class WebFrameView; 35 @class WebCoreRenderPart; 35 36 36 @protocol WebOpenPanelResultListener; 37 37 … … 39 39 { 40 40 WebFrame *_frame; 41 WebPageBridge *_page;42 41 43 42 WebCoreKeyboardUIMode _keyboardUIMode; … … 50 49 } 51 50 52 - (id)initWithPage:(WebPageBridge *)page webView:(WebView *)webView renderer:(WebCoreRenderPart *)renderer frameName:(NSString *)name view:(WebFrameView *)view; 51 - (id)initMainFrameWithPage:(WebPageBridge *)page frameName:(NSString *)name view:(WebFrameView *)view; 52 53 53 - (void)close; 54 54 … … 58 58 59 59 - (WebFrame *)webFrame; 60 - (WebPageBridge *)page;61 60 62 61 @end -
trunk/WebKit/WebCoreSupport/WebFrameBridge.m
r12684 r12791 1 1 /* 2 * Copyright (C) 2005 Apple Computer, Inc. All rights reserved.2 * Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 27 27 */ 28 28 29 #import <WebKit/WebFrameBridge.h> 30 31 #import <WebKit/WebAssertions.h> 32 #import <WebKit/WebBackForwardList.h> 33 #import <WebKit/WebBaseNetscapePluginView.h> 34 #import <WebKit/WebBasePluginPackage.h> 35 #import <WebKit/WebLoader.h> 36 #import <WebKit/WebDataSourcePrivate.h> 37 #import <WebKit/WebDefaultUIDelegate.h> 38 #import <WebKit/WebEditingDelegate.h> 39 #import <WebKit/WebFileButton.h> 40 #import <WebKit/WebFormDataStream.h> 41 #import <WebKit/WebFormDelegate.h> 42 #import <WebKit/WebFrameInternal.h> 43 #import <WebKit/WebFrameLoadDelegate.h> 44 #import <WebKit/WebFrameViewInternal.h> 45 #import <WebKit/WebHistoryItemPrivate.h> 46 #import <WebKit/WebHTMLRepresentationPrivate.h> 47 #import <WebKit/WebHTMLViewInternal.h> 48 #import <WebKit/WebImageView.h> 49 #import <WebKit/WebJavaPlugIn.h> 50 #import <WebKit/WebJavaScriptTextInputPanel.h> 51 #import <WebKit/WebKitErrorsPrivate.h> 52 #import <WebKit/WebKitLogging.h> 53 #import <WebKit/WebKitNSStringExtras.h> 54 #import <WebKit/WebKitStatisticsPrivate.h> 55 #import <WebKit/WebKitSystemBits.h> 56 #import <WebKit/WebNetscapePluginEmbeddedView.h> 57 #import <WebKit/WebNetscapePluginPackage.h> 58 #import <WebKit/WebNSObjectExtras.h> 59 #import <WebKit/WebNSURLExtras.h> 60 #import <WebKit/WebNSURLRequestExtras.h> 61 #import <WebKit/WebNSViewExtras.h> 62 #import <WebKit/WebNullPluginView.h> 63 #import <WebKit/WebPlugin.h> 64 #import <WebKit/WebPluginController.h> 65 #import <WebKit/WebPluginDatabase.h> 66 #import <WebKit/WebPluginDocumentView.h> 67 #import <WebKit/WebPluginPackage.h> 68 #import <WebKit/WebPluginViewFactoryPrivate.h> 69 #import <WebKit/WebNetscapePluginDocumentView.h> 70 #import <WebKit/WebPreferencesPrivate.h> 71 #import <WebKit/WebResourcePrivate.h> 72 #import <WebKit/WebSubresourceLoader.h> 73 #import <WebKit/WebViewInternal.h> 74 #import <WebKit/WebViewPrivate.h> 75 #import <WebKit/WebUIDelegatePrivate.h> 29 #import "WebFrameBridge.h" 30 31 #import "WebAssertions.h" 32 #import "WebBackForwardList.h" 33 #import "WebBaseNetscapePluginView.h" 34 #import "WebBasePluginPackage.h" 35 #import "WebDataSourcePrivate.h" 36 #import "WebDefaultUIDelegate.h" 37 #import "WebEditingDelegate.h" 38 #import "WebFileButton.h" 39 #import "WebFormDataStream.h" 40 #import "WebFormDelegate.h" 41 #import "WebFrameInternal.h" 42 #import "WebFrameLoadDelegate.h" 43 #import "WebFrameViewInternal.h" 44 #import "WebHTMLRepresentationPrivate.h" 45 #import "WebHTMLViewInternal.h" 46 #import "WebHistoryItemPrivate.h" 47 #import "WebImageView.h" 48 #import "WebJavaPlugIn.h" 49 #import "WebJavaScriptTextInputPanel.h" 50 #import "WebKitErrorsPrivate.h" 51 #import "WebKitLogging.h" 52 #import "WebKitNSStringExtras.h" 53 #import "WebKitStatisticsPrivate.h" 54 #import "WebKitSystemBits.h" 55 #import "WebLoader.h" 56 #import "WebLocalizableStrings.h" 57 #import "WebNSObjectExtras.h" 58 #import "WebNSURLExtras.h" 59 #import "WebNSURLRequestExtras.h" 60 #import "WebNSViewExtras.h" 61 #import "WebNetscapePluginDocumentView.h" 62 #import "WebNetscapePluginEmbeddedView.h" 63 #import "WebNetscapePluginPackage.h" 64 #import "WebNullPluginView.h" 65 #import "WebPageBridge.h" 66 #import "WebPlugin.h" 67 #import "WebPluginController.h" 68 #import "WebPluginDatabase.h" 69 #import "WebPluginDocumentView.h" 70 #import "WebPluginPackage.h" 71 #import "WebPluginViewFactoryPrivate.h" 72 #import "WebPreferencesPrivate.h" 73 #import "WebResourcePrivate.h" 74 #import "WebSubresourceLoader.h" 75 #import "WebUIDelegatePrivate.h" 76 #import "WebViewInternal.h" 77 #import "WebViewPrivate.h" 78 #import <Foundation/NSURLConnection.h> 79 #import <Foundation/NSURLRequest.h> 80 #import <Foundation/NSURLResponse.h> 81 #import <JavaVM/jni.h> 82 #import <WebCore/WebCoreFrameNamespaces.h> 76 83 #import <WebKitSystemInterface.h> 77 78 #import <WebCore/WebCoreFrameNamespaces.h>79 80 #import <Foundation/NSURLRequest.h>81 #import <Foundation/NSURLConnection.h>82 #import <Foundation/NSURLResponse.h>83 84 #import <WebKit/WebLocalizableStrings.h>85 86 #import <JavaVM/jni.h>87 84 88 85 #define KeyboardUIModeDidChangeNotification @"com.apple.KeyboardUIModeDidChange" … … 117 114 @implementation WebFrameBridge 118 115 119 - (id)init WithPage:(WebPageBridge *)page webView:(WebView *)webView renderer:(WebCoreRenderPart *)rendererframeName:(NSString *)name view:(WebFrameView *)view120 { 121 self = [super init WithRenderer:renderer];116 - (id)initMainFrameWithPage:(WebPageBridge *)page frameName:(NSString *)name view:(WebFrameView *)view 117 { 118 self = [super initMainFrameWithPage:page]; 122 119 123 120 ++WebBridgeCount; 124 121 125 _page = page; 126 _frame = [[WebFrame alloc] _initWithWebFrameView:view webView:webView bridge:self]; 122 _frame = [[WebFrame alloc] _initWithWebFrameView:view webView:[self webView] bridge:self]; 127 123 128 124 [self setName:name]; 129 [self initializeSettings:[webView _settings]]; 130 [self setTextSizeMultiplier:[webView textSizeMultiplier]]; 125 [self initializeSettings:[[self webView] _settings]]; 126 [self setTextSizeMultiplier:[[self webView] textSizeMultiplier]]; 127 128 return self; 129 } 130 131 - (id)initSubframeWithRenderer:(WebCoreRenderPart *)renderer frameName:(NSString *)name view:(WebFrameView *)view 132 { 133 self = [super initSubframeWithRenderer:renderer]; 134 135 ++WebBridgeCount; 136 137 _frame = [[WebFrame alloc] _initWithWebFrameView:view webView:[self webView] bridge:self]; 138 139 [self setName:name]; 140 [self initializeSettings:[[self webView] _settings]]; 141 [self setTextSizeMultiplier:[[self webView] textSizeMultiplier]]; 131 142 132 143 return self; … … 167 178 } 168 179 169 - (WebPageBridge *)page;170 {171 return _page;172 }173 174 180 - (WebCoreFrameBridge *)mainFrame 175 181 { 176 182 ASSERT(_frame != nil); 177 return [[[ _pagewebView] mainFrame] _bridge];183 return [[[self webView] mainFrame] _bridge]; 178 184 } 179 185 180 186 - (WebView *)webView 181 187 { 182 ASSERT( _page);183 return [ _pagewebView];188 ASSERT([[self page] isKindOfClass:[WebPageBridge class]]); 189 return [(WebPageBridge *)[self page] webView]; 184 190 } 185 191 … … 201 207 } 202 208 203 WebView *currentWebView = [ _pagewebView];209 WebView *currentWebView = [self webView]; 204 210 id wd = [currentWebView UIDelegate]; 205 211 WebView *newWebView = nil; … … 216 222 - (void)showWindow 217 223 { 218 WebView *wv = [ _pagewebView];224 WebView *wv = [self webView]; 219 225 [[wv _UIDelegateForwarder] webViewShow: wv]; 220 226 } … … 223 229 { 224 230 ASSERT(_frame != nil); 225 WebView *wv = [ _pagewebView];231 WebView *wv = [self webView]; 226 232 id wd = [wv UIDelegate]; 227 233 if ([wd respondsToSelector: @selector(webViewAreToolbarsVisible:)]) … … 233 239 { 234 240 ASSERT(_frame != nil); 235 WebView *wv = [ _pagewebView];241 WebView *wv = [self webView]; 236 242 [[wv _UIDelegateForwarder] webView:wv setToolbarsVisible:visible]; 237 243 } … … 252 258 { 253 259 ASSERT(_frame != nil); 254 WebView *wv = [ _pagewebView];260 WebView *wv = [self webView]; 255 261 id wd = [wv UIDelegate]; 256 262 if ([wd respondsToSelector: @selector(webViewIsStatusBarVisible:)]) … … 262 268 { 263 269 ASSERT(_frame != nil); 264 WebView *wv = [ _pagewebView];270 WebView *wv = [self webView]; 265 271 [[wv _UIDelegateForwarder] webView:wv setStatusBarVisible:visible]; 266 272 } … … 269 275 { 270 276 ASSERT(_frame != nil); 271 WebView *webView = [ _pagewebView];277 WebView *webView = [self webView]; 272 278 [[webView _UIDelegateForwarder] webView:webView setFrame:frameRect]; 273 279 } … … 276 282 { 277 283 ASSERT(_frame != nil); 278 WebView *webView = [ _pagewebView];284 WebView *webView = [self webView]; 279 285 return [[webView _UIDelegateForwarder] webViewFrame:webView]; 280 286 } … … 283 289 { 284 290 ASSERT(_frame != nil); 285 WebView *webView = [ _pagewebView];291 WebView *webView = [self webView]; 286 292 [[webView _UIDelegateForwarder] webView:webView setFrame:contentRect]; 287 293 } … … 290 296 { 291 297 ASSERT(_frame != nil); 292 WebView *webView = [ _pagewebView];298 WebView *webView = [self webView]; 293 299 return [[webView _UIDelegateForwarder] webViewContentRect:webView]; 294 300 } … … 297 303 { 298 304 ASSERT(_frame != nil); 299 WebView *webView = [ _pagewebView];305 WebView *webView = [self webView]; 300 306 [[webView _UIDelegateForwarder] webView:webView setResizable:resizable]; 301 307 } … … 304 310 { 305 311 ASSERT(_frame != nil); 306 WebView *webView = [ _pagewebView];312 WebView *webView = [self webView]; 307 313 return [[webView _UIDelegateForwarder] webViewIsResizable:webView]; 308 314 } … … 311 317 { 312 318 ASSERT(_frame != nil); 313 WebView *webView = [ _pagewebView];319 WebView *webView = [self webView]; 314 320 return [[webView _UIDelegateForwarder] webViewFirstResponder:webView]; 315 321 } … … 318 324 { 319 325 ASSERT(_frame != nil); 320 WebView *webView = [ _pagewebView];326 WebView *webView = [self webView]; 321 327 [webView _pushPerformingProgrammaticFocus]; 322 328 [[webView _UIDelegateForwarder] webView:webView makeFirstResponder:view]; … … 337 343 - (void)closeWindowSoon 338 344 { 339 WebView *parentWebView = [ _pagewebView];345 WebView *parentWebView = [self webView]; 340 346 341 347 // We need to remove the parent WebView from WebViewSets here, before it actually … … 365 371 - (void)runJavaScriptAlertPanelWithMessage:(NSString *)message 366 372 { 367 WebView *wv = [ _pagewebView];373 WebView *wv = [self webView]; 368 374 id wd = [wv UIDelegate]; 369 375 // Check whether delegate implements new version, then whether delegate implements old version. If neither, … … 379 385 - (BOOL)runJavaScriptConfirmPanelWithMessage:(NSString *)message 380 386 { 381 WebView *wv = [ _pagewebView];387 WebView *wv = [self webView]; 382 388 id wd = [wv UIDelegate]; 383 389 // Check whether delegate implements new version, then whether delegate implements old version. If neither, … … 392 398 - (BOOL)canRunBeforeUnloadConfirmPanel 393 399 { 394 WebView *wv = [ _pagewebView];400 WebView *wv = [self webView]; 395 401 id wd = [wv UIDelegate]; 396 402 return [wd respondsToSelector:@selector(webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:)]; … … 399 405 - (BOOL)runBeforeUnloadConfirmPanelWithMessage:(NSString *)message 400 406 { 401 WebView *wv = [ _pagewebView];407 WebView *wv = [self webView]; 402 408 id wd = [wv UIDelegate]; 403 409 if ([wd respondsToSelector:@selector(webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:)]) … … 408 414 - (BOOL)runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText returningText:(NSString **)result 409 415 { 410 WebView *wv = [ _pagewebView];416 WebView *wv = [self webView]; 411 417 id wd = [wv UIDelegate]; 412 418 // Check whether delegate implements new version, then whether delegate implements old version. If neither, … … 423 429 - (void)addMessageToConsole:(NSDictionary *)message 424 430 { 425 WebView *wv = [ _pagewebView];431 WebView *wv = [self webView]; 426 432 id wd = [wv UIDelegate]; 427 433 if ([wd respondsToSelector: @selector(webView:addMessageToConsole:)]) … … 436 442 - (void)runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener 437 443 { 438 WebView *wv = [ _pagewebView];444 WebView *wv = [self webView]; 439 445 [[wv _UIDelegateForwarder] webView:wv runOpenPanelForFileButtonWithResultListener:resultListener]; 440 446 } … … 460 466 { 461 467 ASSERT(_frame != nil); 462 WebView *wv = [ _pagewebView];468 WebView *wv = [self webView]; 463 469 [[wv _UIDelegateForwarder] webView:wv setStatusText:status]; 464 470 } … … 553 559 [request _web_setHTTPReferrer:[self referrer]]; 554 560 555 WebView *webView = [ _pagewebView];561 WebView *webView = [self webView]; 556 562 [request setMainDocumentURL:[[[[webView mainFrame] dataSource] request] URL]]; 557 563 [request _web_setHTTPUserAgent:[webView userAgentForURL:[request URL]]]; … … 644 650 - (void)focusWindow 645 651 { 646 [[[ _page webView] _UIDelegateForwarder] webViewFocus:[_pagewebView]];652 [[[self webView] _UIDelegateForwarder] webViewFocus:[self webView]]; 647 653 } 648 654 … … 769 775 WebFrameView *childView = [[WebFrameView alloc] initWithFrame:NSMakeRect(0,0,0,0)]; 770 776 [childView setAllowsScrolling:allowsScrolling]; 771 WebFrameBridge *newBridge = [[WebFrameBridge alloc] init WithPage:_page webView:[_page webView] renderer:childRenderPart frameName:frameName view:childView];777 WebFrameBridge *newBridge = [[WebFrameBridge alloc] initSubframeWithRenderer:childRenderPart frameName:frameName view:childView]; 772 778 [_frame _addChild:[newBridge webFrame]]; 773 779 [childView release]; … … 816 822 - (NSString *)userAgentForURL:(NSURL *)URL 817 823 { 818 return [[ _pagewebView] userAgentForURL:URL];824 return [[self webView] userAgentForURL:URL]; 819 825 } 820 826 … … 835 841 836 842 _inNextKeyViewOutsideWebFrameViews = YES; 837 WebView *webView = [ _pagewebView];843 WebView *webView = [self webView]; 838 844 // Do not ask webView for its next key view, but rather, ask it for 839 845 // the next key view of the last view in its key view loop. … … 858 864 - (NSView *)previousKeyViewOutsideWebFrameViews 859 865 { 860 WebView *webView = [ _pagewebView];866 WebView *webView = [self webView]; 861 867 NSView *previousKeyView = [webView previousKeyView]; 862 868 return previousKeyView; … … 865 871 - (BOOL)defersLoading 866 872 { 867 return [[ _pagewebView] defersCallbacks];873 return [[self webView] defersCallbacks]; 868 874 } 869 875 870 876 - (void)setDefersLoading:(BOOL)defers 871 877 { 872 [[ _pagewebView] setDefersCallbacks:defers];878 [[self webView] setDefersCallbacks:defers]; 873 879 } 874 880 … … 969 975 int errorCode = 0; 970 976 971 WebView *wv = [ _pagewebView];977 WebView *wv = [self webView]; 972 978 id wd = [wv UIDelegate]; 973 979 … … 1108 1114 - (WebPreferences *)_preferences 1109 1115 { 1110 WebPreferences *prefs = [[ _pagewebView] preferences];1116 WebPreferences *prefs = [[self webView] preferences]; 1111 1117 if (prefs == nil) { 1112 1118 prefs = [WebPreferences standardPreferences]; … … 1226 1232 - (BOOL)selectWordBeforeMenuEvent 1227 1233 { 1228 return [[ _pagewebView] _selectWordBeforeMenuEvent];1234 return [[self webView] _selectWordBeforeMenuEvent]; 1229 1235 } 1230 1236 1231 1237 - (int)historyLength 1232 1238 { 1233 return [[[ _pagewebView] backForwardList] backListCount] + 1;1239 return [[[self webView] backForwardList] backListCount] + 1; 1234 1240 } 1235 1241 … … 1239 1245 return TRUE; 1240 1246 1241 if (distance > 0 && distance <= [[[ _pagewebView] backForwardList] forwardListCount])1247 if (distance > 0 && distance <= [[[self webView] backForwardList] forwardListCount]) 1242 1248 return TRUE; 1243 1249 1244 if (distance < 0 && -distance <= [[[ _pagewebView] backForwardList] backListCount])1250 if (distance < 0 && -distance <= [[[self webView] backForwardList] backListCount]) 1245 1251 return TRUE; 1246 1252 … … 1253 1259 return; 1254 1260 } 1255 WebView *webView = [ _pagewebView];1261 WebView *webView = [self webView]; 1256 1262 WebBackForwardList *list = [webView backForwardList]; 1257 1263 WebHistoryItem *item = [list itemAtIndex:distance]; … … 1375 1381 - (void)print 1376 1382 { 1377 id wd = [[ _pagewebView] UIDelegate];1383 id wd = [[self webView] UIDelegate]; 1378 1384 1379 1385 if ([wd respondsToSelector:@selector(webView:printFrameView:)]) { 1380 [wd webView:[ _pagewebView] printFrameView:[_frame frameView]];1386 [wd webView:[self webView] printFrameView:[_frame frameView]]; 1381 1387 } else if ([wd respondsToSelector:@selector(webViewPrint:)]) { 1382 1388 // Backward-compatible, but webViewPrint: was never public, so probably not needed. 1383 [wd webViewPrint:[ _pagewebView]];1389 [wd webViewPrint:[self webView]]; 1384 1390 } else { 1385 [[WebDefaultUIDelegate sharedUIDelegate] webView:[ _pagewebView] printFrameView:[_frame frameView]];1391 [[WebDefaultUIDelegate sharedUIDelegate] webView:[self webView] printFrameView:[_frame frameView]]; 1386 1392 } 1387 1393 } … … 1412 1418 // hierarchy, so we have to pass the window when requesting 1413 1419 // the applet. 1414 applet = [view pollForAppletInWindow:[[ _pagewebView] window]];1420 applet = [view pollForAppletInWindow:[[self webView] window]]; 1415 1421 } 1416 1422 … … 1424 1430 [(WebHTMLView *)view _updateFontPanel]; 1425 1431 } 1426 [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidChangeNotification object:[ _pagewebView]];1432 [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidChangeNotification object:[self webView]]; 1427 1433 } 1428 1434 … … 1433 1439 [(WebHTMLView *)view _selectionChanged]; 1434 1440 } 1435 [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidChangeSelectionNotification object:[ _pagewebView]];1441 [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidChangeSelectionNotification object:[self webView]]; 1436 1442 } 1437 1443 1438 1444 - (NSUndoManager *)undoManager 1439 1445 { 1440 return [[ _pagewebView] undoManager];1446 return [[self webView] undoManager]; 1441 1447 } 1442 1448 1443 1449 - (void)issueCutCommand 1444 1450 { 1445 [[ _pagewebView] cut:nil];1451 [[self webView] cut:nil]; 1446 1452 } 1447 1453 1448 1454 - (void)issueCopyCommand 1449 1455 { 1450 [[ _pagewebView] copy:nil];1456 [[self webView] copy:nil]; 1451 1457 } 1452 1458 1453 1459 - (void)issuePasteCommand 1454 1460 { 1455 [[ _pagewebView] paste:nil];1461 [[self webView] paste:nil]; 1456 1462 } 1457 1463 1458 1464 - (void)issuePasteAndMatchStyleCommand 1459 1465 { 1460 [[ _pagewebView] pasteAsPlainText:nil];1466 [[self webView] pasteAsPlainText:nil]; 1461 1467 } 1462 1468 … … 1471 1477 - (BOOL)canPaste 1472 1478 { 1473 return [[ _pagewebView] _canPaste];1479 return [[self webView] _canPaste]; 1474 1480 } 1475 1481 … … 1486 1492 - (NSString *)overrideMediaType 1487 1493 { 1488 return [[ _pagewebView] mediaStyle];1494 return [[self webView] mediaStyle]; 1489 1495 } 1490 1496 1491 1497 - (BOOL)isEditable 1492 1498 { 1493 return [[ _pagewebView] isEditable];1499 return [[self webView] isEditable]; 1494 1500 } 1495 1501 1496 1502 - (BOOL)shouldChangeSelectedDOMRange:(DOMRange *)currentRange toDOMRange:(DOMRange *)proposedRange affinity:(NSSelectionAffinity)selectionAffinity stillSelecting:(BOOL)flag 1497 1503 { 1498 return [[ _pagewebView] _shouldChangeSelectedDOMRange:currentRange toDOMRange:proposedRange affinity:selectionAffinity stillSelecting:flag];1504 return [[self webView] _shouldChangeSelectedDOMRange:currentRange toDOMRange:proposedRange affinity:selectionAffinity stillSelecting:flag]; 1499 1505 } 1500 1506 1501 1507 - (BOOL)shouldBeginEditing:(DOMRange *)range 1502 1508 { 1503 return [[ _pagewebView] _shouldBeginEditingInDOMRange:range];1509 return [[self webView] _shouldBeginEditingInDOMRange:range]; 1504 1510 } 1505 1511 1506 1512 - (BOOL)shouldEndEditing:(DOMRange *)range 1507 1513 { 1508 return [[ _pagewebView] _shouldEndEditingInDOMRange:range];1514 return [[self webView] _shouldEndEditingInDOMRange:range]; 1509 1515 } 1510 1516 … … 1521 1527 - (void)windowObjectCleared 1522 1528 { 1523 WebView *wv = [ _pagewebView];1529 WebView *wv = [self webView]; 1524 1530 [[wv _frameLoadDelegateForwarder] webView:wv windowScriptObjectAvailable:[self windowScriptObject]]; 1525 1531 if ([wv scriptDebugDelegate]) { … … 1530 1536 - (int)spellCheckerDocumentTag 1531 1537 { 1532 return [[ _pagewebView] spellCheckerDocumentTag];1538 return [[self webView] spellCheckerDocumentTag]; 1533 1539 } 1534 1540 1535 1541 - (BOOL)isContinuousSpellCheckingEnabled 1536 1542 { 1537 return [[ _pagewebView] isContinuousSpellCheckingEnabled];1543 return [[self webView] isContinuousSpellCheckingEnabled]; 1538 1544 } 1539 1545 … … 1541 1547 { 1542 1548 [_frame _didFirstLayout]; 1543 WebView *wv = [ _pagewebView];1549 WebView *wv = [self webView]; 1544 1550 [[wv _frameLoadDelegateForwarder] webView:wv didFirstLayoutInFrame:_frame]; 1545 1551 } … … 1552 1558 - (void)dashboardRegionsChanged:(NSMutableDictionary *)regions 1553 1559 { 1554 WebView *wv = [ _pagewebView];1560 WebView *wv = [self webView]; 1555 1561 id wd = [wv UIDelegate]; 1556 1562 … … 1671 1677 } 1672 1678 1673 WebView *currentWebView = [ _pagewebView];1679 WebView *currentWebView = [self webView]; 1674 1680 id UIDelegate = [currentWebView UIDelegate]; 1675 1681 … … 1687 1693 - (BOOL)canRunModal 1688 1694 { 1689 WebView *webView = [ _pagewebView];1695 WebView *webView = [self webView]; 1690 1696 id UIDelegate = [webView UIDelegate]; 1691 1697 return [UIDelegate respondsToSelector:@selector(webViewRunModal:)]; … … 1702 1708 return; 1703 1709 1704 WebView *webView = [ _pagewebView];1710 WebView *webView = [self webView]; 1705 1711 if ([webView defersCallbacks]) { 1706 1712 ERROR("tried to run modal in a view when it was deferring callbacks -- should never happen"); -
trunk/WebKit/WebCoreSupport/WebPageBridge.m
r12638 r12791 27 27 */ 28 28 29 #import <WebKit/WebPageBridge.h> 30 #import <WebKit/WebFrameBridge.h> 31 #import <WebKit/WebView.h> 29 #import "WebPageBridge.h" 30 31 #import "WebFrameBridge.h" 32 #import "WebView.h" 32 33 33 34 @implementation WebPageBridge … … 35 36 - (id)initWithMainFrameName:(NSString *)frameName webView:(WebView *)webView frameView:(WebFrameView *)frameView 36 37 { 37 self = [super init WithMainFrame:[[[WebFrameBridge alloc] initWithPage:self webView:webView renderer:nil frameName:frameName view:frameView] autorelease]];38 if (self) 38 self = [super init]; 39 if (self) { 39 40 _webView = webView; 41 WebFrameBridge *mainFrame = [[WebFrameBridge alloc] initMainFrameWithPage:self frameName:frameName view:frameView]; 42 [self setMainFrame:mainFrame]; 43 [mainFrame release]; 44 } 40 45 return self; 41 46 }
Note: See TracChangeset
for help on using the changeset viewer.