Changeset 24350 in webkit
- Timestamp:
- Jul 16, 2007, 9:12:02 PM (18 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r24348 r24350 1 2007-07-16 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Adam. 4 5 Move more functions from kjs_window to DOMWindow and auto-generate 6 the bindings for them. 7 8 * bindings/js/kjs_window.cpp: 9 (KJS::WindowFunc::callAsFunction): 10 * bindings/js/kjs_window.h: 11 (KJS::Window::): 12 * page/DOMWindow.cpp: 13 (WebCore::DOMWindow::print): 14 (WebCore::DOMWindow::stop): 15 (WebCore::DOMWindow::alert): 16 (WebCore::DOMWindow::confirm): 17 (WebCore::DOMWindow::prompt): 18 (WebCore::DOMWindow::find): 19 * page/DOMWindow.h: 20 * page/DOMWindow.idl: 21 1 22 2007-07-17 Mark Rowe <mrowe@apple.com> 2 23 -
trunk/WebCore/bindings/js/kjs_window.cpp
r24346 r24350 158 158 resizeBy Window::ResizeBy DontDelete|Function 2 159 159 resizeTo Window::ResizeTo DontDelete|Function 2 160 alert Window::Alert DontDelete|Function 1161 confirm Window::Confirm DontDelete|Function 1162 prompt Window::Prompt DontDelete|Function 2163 160 open Window::Open DontDelete|Function 3 164 print Window::Print DontDelete|Function 2165 161 setTimeout Window::SetTimeout DontDelete|Function 2 166 162 clearTimeout Window::ClearTimeout DontDelete|Function 1 … … 172 168 removeEventListener Window::RemoveEventListener DontDelete|Function 3 173 169 showModalDialog Window::ShowModalDialog DontDelete|Function 1 174 find Window::Find DontDelete|Function 7175 stop Window::Stop DontDelete|Function 0176 170 # -- Attributes -- 177 171 crypto Window::Crypto DontDelete|ReadOnly … … 296 290 d->loc = new Location(impl()->frame()); 297 291 return d->loc; 298 }299 300 bool Window::find(const String& string, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const301 {302 // FIXME (13016): Support wholeWord, searchInFrames and showDialog303 Frame* frame = impl()->frame();304 if (!frame)305 return false;306 307 return frame->findString(string, !backwards, caseSensitive, wrap, false);308 292 } 309 293 … … 1281 1265 1282 1266 switch (id) { 1283 case Window::Alert:1284 if (frame && frame->document())1285 frame->document()->updateRendering();1286 if (page)1287 page->chrome()->runJavaScriptAlert(frame, str);1288 return jsUndefined();1289 1267 case Window::AToB: 1290 1268 case Window::BToA: { … … 1310 1288 1311 1289 return jsString(String(out.data(), out.size())); 1312 }1313 case Window::Confirm: {1314 if (frame && frame->document())1315 frame->document()->updateRendering();1316 bool result = false;1317 if (page)1318 result = page->chrome()->runJavaScriptConfirm(frame, str);1319 return jsBoolean(result);1320 }1321 case Window::Prompt:1322 {1323 if (frame && frame->document())1324 frame->document()->updateRendering();1325 String message = args.size() >= 2 ? args[1]->toString(exec) : UString();1326 if (page && page->chrome()->runJavaScriptPrompt(frame, str, message, str2))1327 return jsString(str2);1328 1329 return jsNull();1330 1290 } 1331 1291 case Window::Open: … … 1375 1335 return Window::retrieve(frame); // global object 1376 1336 } 1377 case Window::Print:1378 if (Page* page = frame->page())1379 page->chrome()->print(frame);1380 return jsUndefined();1381 1337 case Window::ScrollBy: 1382 1338 window->updateLayout(); … … 1505 1461 return result; 1506 1462 } 1507 case Window::Stop:1508 frame->loader()->stopForUserCancel();1509 return jsUndefined();1510 case Window::Find:1511 if (!window->isSafeScript(exec))1512 return jsUndefined();1513 return jsBoolean(window->find(args[0]->toString(exec),1514 args[1]->toBoolean(exec),1515 args[2]->toBoolean(exec),1516 args[3]->toBoolean(exec),1517 args[4]->toBoolean(exec),1518 args[5]->toBoolean(exec),1519 args[6]->toBoolean(exec)));1520 1463 } 1521 1464 return jsUndefined(); -
trunk/WebCore/bindings/js/kjs_window.h
r24241 r24350 108 108 bool isSafeScript(ExecState*) const; 109 109 static bool isSafeScript(const ScriptInterpreter *origin, const ScriptInterpreter *target); 110 Location *location() const; 111 bool find(const WebCore::String&, bool, bool, bool, bool, bool, bool) const;110 111 Location* location() const; 112 112 113 113 // Finds a wrapper of a JS EventListener, returns 0 if no existing one. … … 144 144 enum { 145 145 // Functions 146 AToB, BToA, Alert, Confirm, 147 Prompt, Open, Print, SetTimeout, 146 AToB, BToA, Open, SetTimeout, 148 147 ClearTimeout, SetInterval, ClearInterval, CaptureEvents, 149 148 ReleaseEvents, AddEventListener, RemoveEventListener, Scroll, 150 149 ScrollBy, ScrollTo, MoveBy, MoveTo, 151 ResizeBy, ResizeTo, ShowModalDialog, Find, 152 Stop, 150 ResizeBy, ResizeTo, ShowModalDialog, 153 151 154 152 // Attributes -
trunk/WebCore/page/DOMWindow.cpp
r24182 r24350 172 172 } 173 173 174 void DOMWindow::print() 175 { 176 if (!m_frame) 177 return; 178 179 Page* page = m_frame->page(); 180 if (!page) 181 return; 182 183 page->chrome()->print(m_frame); 184 } 185 186 void DOMWindow::stop() 187 { 188 if (!m_frame) 189 return; 190 191 m_frame->loader()->stopForUserCancel(); 192 } 193 194 void DOMWindow::alert(const String& message) 195 { 196 if (!m_frame) 197 return; 198 199 Document* doc = m_frame->document(); 200 ASSERT(doc); 201 if (doc) 202 doc->updateRendering(); 203 204 Page* page = m_frame->page(); 205 if (!page) 206 return; 207 208 page->chrome()->runJavaScriptAlert(m_frame, message); 209 } 210 211 bool DOMWindow::confirm(const String& message) 212 { 213 if (!m_frame) 214 return false; 215 216 Document* doc = m_frame->document(); 217 ASSERT(doc); 218 if (doc) 219 doc->updateRendering(); 220 221 Page* page = m_frame->page(); 222 if (!page) 223 return false; 224 225 return page->chrome()->runJavaScriptConfirm(m_frame, message); 226 } 227 228 String DOMWindow::prompt(const String& message, const String& defaultValue) 229 { 230 if (!m_frame) 231 return String(); 232 233 Document* doc = m_frame->document(); 234 ASSERT(doc); 235 if (doc) 236 doc->updateRendering(); 237 238 Page* page = m_frame->page(); 239 if (!page) 240 return String(); 241 242 String returnValue; 243 if (page->chrome()->runJavaScriptPrompt(m_frame, message, defaultValue, returnValue)) 244 return returnValue; 245 246 return String(); 247 } 248 249 bool DOMWindow::find(const String& string, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const 250 { 251 if (!m_frame) 252 return false; 253 254 // FIXME (13016): Support wholeWord, searchInFrames and showDialog 255 return m_frame->findString(string, !backwards, caseSensitive, wrap, false); 256 } 257 174 258 bool DOMWindow::offscreenBuffering() const 175 259 { -
trunk/WebCore/page/DOMWindow.h
r24182 r24350 67 67 void blur(); 68 68 void close(); 69 void print(); 70 void stop(); 71 72 void alert(const String& message); 73 bool confirm(const String& message); 74 String prompt(const String& message, const String& defaultValue); 75 76 bool find(const String&, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const; 69 77 70 78 bool offscreenBuffering() const; -
trunk/WebCore/page/DOMWindow.idl
r24182 r24350 42 42 [DoNotCheckDomainSecurity] void blur(); 43 43 [DoNotCheckDomainSecurity] void close(); 44 45 void print(); 46 void stop(); 47 48 void alert(in DOMString message); 49 boolean confirm(in DOMString message); 50 [ConvertNullStringTo=Null] DOMString prompt(in [ConvertNullToNullString] DOMString message, 51 in [ConvertNullToNullString] DOMString defaultValue); 52 53 boolean find(in DOMString string, 54 in boolean caseSensitive, 55 in boolean backwards, 56 in boolean wrap, 57 in boolean wholeWord, 58 in boolean searchInFrames, 59 in boolean showDialog); 44 60 45 61 readonly attribute boolean offscreenBuffering;
Note:
See TracChangeset
for help on using the changeset viewer.