blob: fbd62e562be6e7c18b348771446bfd5245dbdfc8 [file] [log] [blame]
hyatt@apple.com3cb50a82008-10-07 06:58:08 +000012008-10-06 David Hyatt <hyatt@apple.com>
2
3 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
4
5 Reviewed by Sam Weinig
6
7 * WebCore.base.exp:
8 * WebCore.xcodeproj/project.pbxproj:
9 * loader/EmptyClients.h:
10 (WebCore::EmptyFrameLoaderClient::hasWebView):
11 * loader/FrameLoader.cpp:
12 (WebCore::FrameLoader::loadWithDocumentLoader):
13 (WebCore::FrameLoader::transitionToCommitted):
14 * loader/FrameLoaderClient.h:
15 * page/FocusController.cpp:
16 (WebCore::FocusController::setActive):
17 * page/FrameView.cpp:
18 (WebCore::FrameView::FrameView):
19 (WebCore::FrameView::init):
20 (WebCore::FrameView::layoutIfNeededRecursive):
21 * page/FrameView.h:
22
mitz@apple.com869c6692b2008-10-07 04:42:51 +0000232008-10-06 Dan Bernstein <mitz@apple.com>
24
25 - build fix
26
27 * bindings/objc/DOMEvents.h:
28
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +0000292008-10-06 Mark Mentovai <mark@moxienet.com>
30
eric@webkit.org9e0b3b52008-10-07 01:14:05 +000031 Reviewed by Tim Hatcher.
32
33 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
34 Platform.h is not available, in preference to #ifdef ENABLE_feature.
35 #ifdef is wrong now that features are disabled by #defining
36 ENABLE_feature to 0.
37
38 https://bugs.webkit.org/show_bug.cgi?id=21338
39
40 * bindings/objc/DOMEvents.h:
41 * bindings/objc/PublicDOMInterfaces.h:
42 * dom/Document.idl:
43 * page/DOMWindow.idl:
44 * svg/svgtags.in:
45
462008-10-06 Mark Mentovai <mark@moxienet.com>
47
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000048 Reviewed by Sam Weinig.
49
50 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
51 to get the declaration for isMainThread().
52
eric@webkit.org569e8092008-10-07 01:05:34 +0000532008-10-06 Jeremy Moskovich <jeremy@chromium.org>
54
eric@webkit.orge8585df2008-10-07 01:09:23 +000055 Reviewed by Tim Hatcher.
56
57 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
58 to reflect that.
59
60 * WebCore.xcodeproj/project.pbxproj:
61 * platform/mac/WebCoreObjCExtras.c: Removed.
62 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
63
642008-10-06 Jeremy Moskovich <jeremy@chromium.org>
65
eric@webkit.org569e8092008-10-07 01:05:34 +000066 Reviewed by Dan Bernstein.
67
68 Added C++ forward declaration for the NSURLAuthenticationChallenge class
69 so that the m_currentMacChallenge variable doesn't cause a
70 compilation error when ResourceHandleInternal.h is included from a C++ file.
71 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
72
73 * platform/network/ResourceHandleInternal.h:
74
sfalken@apple.com01dbee12008-10-06 23:47:08 +0000752008-10-06 Steve Falkenburg <sfalken@apple.com>
76
sfalken@apple.come897fd92008-10-07 00:17:26 +000077 Windows build fix.
78
79 * WebCore.vcproj/WebCore.vcproj:
80
812008-10-06 Steve Falkenburg <sfalken@apple.com>
82
sfalken@apple.com01dbee12008-10-06 23:47:08 +000083 https://bugs.webkit.org/show_bug.cgi?id=21416
84 Add missing null checks identified by Application Verifier.
85
86 Reviewed by Darin Adler.
87
88 * platform/win/SharedTimerWin.cpp:
89 (WebCore::clearTimer):
90
kmccullough@apple.com45a36da2008-10-06 23:08:16 +0000912008-10-06 Kevin McCullough <kmccullough@apple.com>
92
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +000093 Reviewed by Tim Hatcher.
94
95 Removed accidentally left in debugging statement.
96
97 * inspector/front-end/inspector.js:
98
992008-10-06 Kevin McCullough <kmccullough@apple.com>
100
kmccullough@apple.com47002eb2008-10-06 23:10:09 +0000101 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +0000102
103 https://bugs.webkit.org/show_bug.cgi?id=21412
104 Bug 21412: Refactor user initiated profile count to be more stable
105
106 * inspector/InspectorController.cpp: Keep track of the user-initiated
107 profiles here now.
108 (WebCore::InspectorController::InspectorController):
109 (WebCore::InspectorController::startUserInitiatedProfiling):
110 (WebCore::InspectorController::stopUserInitiatedProfiling):
111 * inspector/InspectorController.h:
112 The front end will now need to check for the existence of the user-
113 initiated profile title and use its count instead of keeping its own.
114 * inspector/front-end/ProfilesPanel.js:
115
mitz@apple.com1d60e5c2008-10-06 20:25:46 +00001162008-10-06 Dan Bernstein <mitz@apple.com>
117
118 Reviewed by Sam Weinig.
119
120 - separate GDI text drawing into its own function
121
122 * platform/graphics/win/FontCGWin.cpp:
123 (WebCore::drawGDIGlyphs):
124 (WebCore::Font::drawGlyphs):
125
sfalken@apple.com593331e2008-10-06 19:55:09 +00001262008-10-03 Steve Falkenburg <sfalken@apple.com>
127
128 <rdar://problem/6249833> Fix default button appearance
129
130 Reviewed by Adele Peterson.
131
132 * rendering/RenderThemeWin.cpp:
133 (WebCore::RenderThemeWin::supportsFocus):
134 (WebCore::RenderThemeWin::determineClassicState):
135 (WebCore::RenderThemeWin::determineButtonState):
136 (WebCore::RenderThemeWin::getClassicThemeData):
137 (WebCore::RenderThemeWin::getThemeData):
138 (WebCore::drawControl):
139 * rendering/RenderThemeWin.h:
140
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +00001412008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
142
143 Reviewed by Simon.
144
vestbo@webkit.orgc5067902008-10-06 18:11:31 +0000145 Add native virtual keycode to PlatformKeyboardEvent
146
147 * platform/PlatformKeyboardEvent.h:
148 * platform/gtk/KeyEventGtk.cpp:
149 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
150 * platform/mac/KeyEventMac.mm:
151 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
152 * platform/qt/PlatformKeyboardEventQt.cpp:
153 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
154 * platform/win/KeyEventWin.cpp:
155 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
156 * platform/wx/KeyboardEventWx.cpp:
157 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
158
1592008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
160
161 Reviewed by Simon.
162
vestbo@webkit.org89d13712008-10-06 17:51:39 +0000163 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
164
165 * platform/text/PlatformString.h:
166 * platform/text/StringImpl.h:
167 * platform/text/cf/StringCF.cpp:
168 * platform/text/cf/StringImplCF.cpp:
169
1702008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
171
172 Reviewed by Simon.
173
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +0000174 Use bundles on QtWebKit/Mac for platform modules
175
176 * platform/FileSystem.h:
177 * platform/qt/FileSystemQt.cpp:
178 (WebCore::unloadModule):
179
hausmann@webkit.org33791a82008-10-06 17:00:48 +00001802008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
181
182 Reviewed by Simon.
183
184 Build fix for MinGW.
185
186 * platform/win/SystemTimeWin.cpp:
187 * plugins/win/PluginViewWin.cpp:
188 (WebCore::PluginView::invalidateRect):
189
aroben@apple.com5613e512008-10-06 15:39:39 +00001902008-10-06 Adam Roben <aroben@apple.com>
191
aroben@apple.combf38ff12008-10-06 15:44:16 +0000192 Mimic the inspector/ directory structure in WebCore.vcproj
193
194 * WebCore.vcproj/WebCore.vcproj:
195
1962008-10-06 Adam Roben <aroben@apple.com>
197
aroben@apple.com5613e512008-10-06 15:39:39 +0000198 Windows build fix
199
200 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
201 configurations to include WebCore/inspector.
202
eric@webkit.org15e92962008-10-06 08:23:37 +00002032008-10-04 Eric Seidel <eric@webkit.org>
204
205 Reviewed by Darin Adler.
206
207 SVG should support ascent and descent properties <font-face> instead of <font>!
208 https://bugs.webkit.org/show_bug.cgi?id=21365
209
210 Tested by many many existing SVG tests.
211
212 * svg/SVGFontFaceElement.cpp:
213 (WebCore::SVGFontFaceElement::ascent):
214 (WebCore::SVGFontFaceElement::descent):
215
mjs@apple.com64662c82008-10-06 06:44:03 +00002162008-10-05 Darin Fisher <darin@chromium.org>
217
218 Reviewed by Eric Seidel.
219
220 REGRESSION: crash in ScriptElement::notifyFinished
221 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
222
223 * dom/ScriptElement.cpp:
224 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
225 ensure that the ScriptElementData object is not destroyed prematurely.
226
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +00002272008-10-05 Chris Lord <chris@openedhand.com>
228
229 Reviewed by Alp Toker. Landed by Jan Alonzo.
230
231 https://bugs.webkit.org/show_bug.cgi?id=20624
232 WebKit-gtk uses deprecated GtkType/GtkObject
233
234 * plugins/gtk/gtk2xtbin.c:
235 (gtk_xtbin_get_type):
236 * plugins/gtk/gtk2xtbin.h:
237
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +00002382008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
239
240 Reviewed by David Hyatt.
241
242 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
243 https://bugs.webkit.org/show_bug.cgi?id=20725
244
245 Updated to ToT by Jan Alonzo.
246
247 * plugins/gtk/PluginViewGtk.cpp:
248 (WebCore::PluginView::getValue):
249
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +00002502008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
251
252 Reviewed by Darin Adler.
253
254 Invalid cast from GdkWindow to GtkWidget
255 https://bugs.webkit.org/show_bug.cgi?id=21391
256
257 Fix a misplaced closing parenthesis to actually cast the widget, not the window
258
259 * platform/gtk/PlatformScreenGtk.cpp:
260 (WebCore::screenDepth):
261
abarth@webkit.orgfb074382008-10-05 19:12:30 +00002622008-10-05 Adam Barth <abarth@webkit.org>
263
264 Reviewed by Darin Alder.
265
266 Attach the Origin header to POST requests to help defend against
267 cross-site request forgery.
268
269 https://bugs.webkit.org/show_bug.cgi?id=20792
270
271 Collin Jackson <collinj@webkit.org> also contributed to this patch.
272
273 Tests: http/tests/security/originHeader/origin-header-for-data.html
274 http/tests/security/originHeader/origin-header-for-empty.html
275 http/tests/security/originHeader/origin-header-for-get.html
276 http/tests/security/originHeader/origin-header-for-https.html
277 http/tests/security/originHeader/origin-header-for-post.html
278
279 * bindings/js/JSDOMWindowBase.cpp:
280 (WebCore::createWindow):
281 * loader/FrameLoader.cpp:
282 (WebCore::FrameLoader::createWindow):
283 (WebCore::FrameLoader::urlSelected):
284 (WebCore::FrameLoader::submitForm):
285 (WebCore::FrameLoader::outgoingOrigin):
286 (WebCore::FrameLoader::loadURL):
287 (WebCore::FrameLoader::addExtraFieldsToRequest):
288 (WebCore::FrameLoader::loadPostRequest):
289 (WebCore::FrameLoader::loadResourceSynchronously):
290 (WebCore::FrameLoader::loadItem):
291 * loader/FrameLoader.h:
292 * loader/SubresourceLoader.cpp:
293 (WebCore::SubresourceLoader::create):
294 * loader/loader.cpp:
295 (WebCore::Loader::Host::servePendingRequests):
296 * platform/SecurityOrigin.cpp:
297 (WebCore::SecurityOrigin::toHTTPOrigin):
298 * platform/SecurityOrigin.h:
299 * platform/network/ResourceRequestBase.h:
300 (WebCore::ResourceRequestBase::httpOrigin):
301 (WebCore::ResourceRequestBase::setHTTPOrigin):
302 (WebCore::ResourceRequestBase::clearHTTPOrigin):
303 * xml/XMLHttpRequest.cpp:
304 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
305 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
306 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
307 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
308
oliver@apple.com12c92c92008-10-05 08:28:51 +00003092008-10-04 Oliver Hunt <oliver@apple.com>
310
311 Reviewed by Tim Hatcher.
312
313 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
314 <https://bugs.webkit.org/show_bug.cgi?id=21381>
315
316 If we hit a parsing boundary (end of a packet, etc) in the middle of a
317 <script> element when we are doing an incremental parse, we exit the
318 parser, and reenter later when more data is available. During this
319 reentry we incorrectly reset the scriptStartLineno to the current line
320 in the parser, which is now part way through the script element.
321
322 The solution is to track whether we are entering or reentering the parsing
323 of a script element. We do this simply by 0 checking scriptStartLineno,
324 and resetting it after we complete parsing of each script element.
325
326 Test: http/tests/incremental/pause-in-script-element.pl
327
328 * ChangeLog:
329 * html/HTMLTokenizer.cpp:
330 (WebCore::HTMLTokenizer::parseSpecial):
331 (WebCore::HTMLTokenizer::scriptHandler):
332
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +00003332008-10-04 Alp Toker <alp@nuanti.com>
334
335 Reviewed by David Hyatt. Landed by Jan Alonzo.
336
337 https://bugs.webkit.org/show_bug.cgi?id=20924
338 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
339
340 https://bugs.webkit.org/show_bug.cgi?id=19578
341 [CURL] problem in parseDataUrl
342
343 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
344 This patch also fixes encoding support in escaped (non-Base64) data
345 URLs. All manual data URL tests now pass in both GLib and non-GLib
346 code paths.
347
348 * platform/network/curl/ResourceHandleManager.cpp:
349 (WebCore::parseDataUrl):
350
timothy@apple.com5c58fb12008-10-05 04:12:40 +00003512008-10-04 Timothy Hatcher <timothy@apple.com>
352
353 Makes breakpoints and debugging code during page load work in the
354 Web Inspector's debugger. Specifically, this makes the source
355 code for loading resources show up in the Scripts panel.
356
357 https://bugs.webkit.org/show_bug.cgi?id=19053
358 rdar://problem/5933408
359
360 Reviewed by Mark Rowe.
361
362 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
363 not using tabs and a tab width of 8.
364 * inspector/InspectorController.cpp:
365 (WebCore::addResourceSourceToFrame): Return a bool to report if the
366 source was added successfully or not.
367 (WebCore::addSourceToFrame): Ditto.
368 * inspector/front-end/ScriptView.js:
369 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
370 Return early if the InspectorController.addSourceToFrame fails.
371 Moved the delete of the _frameNeedsSetup property after that call so
372 if the source wasn't added it will be attempted again.
373 * inspector/front-end/SourceView.js:
374 (WebInspector.SourceView.prototype.detach): Move a comment.
375 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
376 Don't check if the resource is finished or failed, just attempt
377 to add the source to the frame. WebCore has the source, but the
378 finished property hasn't been set yet. Return early if the
379 InspectorController.addSourceToFrame fails. Moved the delete
380 of the _frameNeedsSetup property after that call so if the source
381 wasn't added it will be attempted again.
382 (WebInspector.SourceView.prototype._resourceLoadingFinished):
383 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
384 the source frame will we populated again now that the resource
385 load has finished.
386 * manual-tests/inspector/debugger-pause-during-load.html: Added.
387
mrowe@apple.comb3214652008-10-05 03:04:18 +00003882008-10-04 Mark Rowe <mrowe@apple.com>
389
390 Reviewed by Tim Hatcher.
391
392 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
393
394 * WebCore.xcodeproj/project.pbxproj:
395
hyatt@apple.coma4a9e252008-10-05 00:55:01 +00003962008-10-04 David Hyatt <hyatt@apple.com>
397
398 https://bugs.webkit.org/show_bug.cgi?id=21373
399
400 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
401 is still present.
402
403 Reviewed by Mark Rowe
404
405 * page/FrameView.cpp:
406 (WebCore::FrameView::~FrameView):
407
weinig@apple.com3b7e4b12008-10-04 22:52:19 +00004082008-10-04 Sam Weinig <sam@webkit.org>
409
410 Reviewed by Dan Bernstein.
411
412 Avoid copying a Vector when using getSupportedKeySizes.
413
414 * html/HTMLKeygenElement.cpp:
415 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
416 * platform/SSLKeyGenerator.h:
417 * platform/gtk/TemporaryLinkStubs.cpp:
418 (WebCore::getSupportedKeySizes):
419 * platform/mac/SSLKeyGeneratorMac.mm:
420 (WebCore::getSupportedKeySizes):
421 * platform/qt/TemporaryLinkStubs.cpp:
422 (WebCore::getSupportedKeySizes):
423 * platform/win/TemporaryLinkStubs.cpp:
424 (WebCore::getSupportedKeySizes):
425 * platform/wx/TemporaryLinkStubs.cpp:
426 (WebCore::getSupportedKeySizes):
427
darin@apple.com28f84fc2008-10-04 21:10:00 +00004282008-10-04 Darin Adler <darin@apple.com>
429
430 Reviewed by Cameron Zwarich.
431
432 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
433 Bug 21295: Replace ExecState with a call frame Register pointer
434
435 * bindings/js/JSQuarantinedObjectWrapper.cpp:
436 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
437 Remove bogus "const".
438 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
439
hyatt@apple.comb17c7752008-10-04 21:03:11 +00004402008-10-04 David Hyatt <hyatt@apple.com>
441
442 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
443
444 Reviewed by Darin Adler
445
446 * WebCore.xcodeproj/project.pbxproj:
447 * platform/PopupMenuClient.h:
448 * platform/gtk/PopupMenuGtk.cpp:
449 (WebCore::PopupMenu::show):
450 * platform/mac/PopupMenuMac.mm:
451 (WebCore::PopupMenu::populate):
452 (WebCore::PopupMenu::show):
453 * platform/qt/PopupMenuQt.cpp:
454 (WebCore::PopupMenu::populate):
455 * platform/win/PopupMenuWin.cpp:
456 (WebCore::PopupMenu::calculatePositionAndSize):
457 (WebCore::PopupMenu::paint):
458 (WebCore::PopupWndProc):
459 * rendering/RenderMenuList.cpp:
460 (WebCore::RenderMenuList::itemStyle):
461 (WebCore::RenderMenuList::menuStyle):
462 (WebCore::RenderMenuList::hostWindow):
463 * rendering/RenderMenuList.h:
464 * rendering/RenderTextControl.cpp:
465 (WebCore::RenderTextControl::itemStyle):
466 (WebCore::RenderTextControl::menuStyle):
467 (WebCore::RenderTextControl::hostWindow):
468 * rendering/RenderTextControl.h:
469
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +00004702008-10-04 Matt Lilek <webkit@mattlilek.com>
471
472 Build fix - restore Private role to headers that had it before the move.
473
474 * WebCore.xcodeproj/project.pbxproj:
475
darin@apple.com2f394342008-10-04 18:37:11 +00004762008-10-04 Darin Adler <darin@apple.com>
477
478 - try to fix build
479
480 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +0000481 * GNUmakefile.am: Add new inspector directory to includes.
482 Re-sort the IDL_BINDINGS list. Add new inspector directory
483 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +0000484
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +00004852008-10-04 Matt Lilek <webkit@mattlilek.com>
486
487 Not reviewed, attempt to fix Gtk build.
488
489 * GNUmakefile.am:
490
timothy@apple.comf51a3aa2008-10-04 08:09:41 +00004912008-10-03 Timothy Hatcher <timothy@apple.com>
492
timothy@apple.com9c94f6b2008-10-04 08:10:54 +0000493 Move the Web Inspector files into a top-level "inspector" folder.
494
495 https://bugs.webkit.org/show_bug.cgi?id=21359
496
497 Reviewed by Dave Hyatt.
498
499 * GNUmakefile.am:
500 * WebCore.pro:
501 * WebCore.vcproj/WebCore.vcproj:
502 * WebCore.xcodeproj/project.pbxproj:
503 * WebCoreSources.bkl:
504 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
505 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
506 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
507 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
508 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
509 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
510 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
511 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
512 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
513 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
514 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
515 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
516 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
517 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
518 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
519 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
520 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
521 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
522 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
523 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
524 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
525 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
526 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
527 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
528 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
529 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
530 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
531 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
532 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
533 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
534 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
535 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
536 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
537 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
538 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
539 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
540 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
541 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
542 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
543 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
544 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
545 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
546 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
547 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
548 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
549 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
550 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
551 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
552 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
553 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
554 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
555 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
556 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
557 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
558 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
559 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
560 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
561 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
562 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
563 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
564 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
565 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
566 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
567 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
568 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
569 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
570 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
571 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
572 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
573 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
574 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
575 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
576 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
577 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
578 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
579 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
580 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
581 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
582 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
583 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
584 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
585 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
586 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
587 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
588 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
589 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
590 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
591 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
592 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
593 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
594 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
595 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
596 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
597 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
598 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
599 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
600 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
601 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
602 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
603 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
604 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
605 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
606 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
607 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
608 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
609 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
610 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
611 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
612 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
613 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
614 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
615 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
616 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
617 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
618 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
619 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
620 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
621 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
622 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
623 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
624 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
625 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
626 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
627 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
628 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
629 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
630 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
631 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
632 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
633 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
634 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
635 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
636 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
637 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
638 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
639 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
640 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
641 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
642 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
643 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
644 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
645 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
646 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
647 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
648 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
649 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
650 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
651 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
652 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
653 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
654 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
655 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
656 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
657 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
658 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
659 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
660
6612008-10-03 Timothy Hatcher <timothy@apple.com>
662
timothy@apple.com11eb1a32008-10-04 08:09:52 +0000663 Adds support to the Web Inspector's Elements panel for fast tag name,
664 class name, id and attribute name searching. The panel first tries
665 using getElementById, getElementsByClassName and getElementsByTagName
666 with the search query. Then does a slower search using XPath for partial
667 matches, text and comment matches.
668
669 Adds support for search queries like "<div>", "<h" and "frame>".
670 These forms limit the search to tag names, text and comment matches.
671
672 https://bugs.webkit.org/show_bug.cgi?id=21353
673
674 Reviewed by Maciej Stachowiak.
675
676 * page/inspector/ElementsPanel.js:
677 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
678 support. Add new search functions that try exact matches first.
679
6802008-10-03 Timothy Hatcher <timothy@apple.com>
681
timothy@apple.comf51a3aa2008-10-04 08:09:41 +0000682 Changes how searching works in the Web Inspector's Elements
683 panel. The search tasks are divided into chunks that are small
684 units of work that are performed at a time interval. This
685 change also prevents queries that will select all elements,
686 since that isn't useful.
687
688 https://bugs.webkit.org/show_bug.cgi?id=21285
689
690 Reviewed by Oliver Hunt.
691
692 * page/inspector/ElementsPanel.js:
693 (WebInspector.ElementsPanel.prototype.searchCancled):
694 Remove the searchResultsProperty form results since there might
695 be an unfinished search.
696 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
697 documents and search functions into chunks that are performed on
698 a interval of 25ms. Prevent searches for "//*" and "*".
699
mjs@apple.com8b246d62008-10-04 07:15:33 +00007002008-10-03 Maciej Stachowiak <mjs@apple.com>
701
702 Reviewed by Cameron Zwarich.
703
704 - "this" object in methods called on primitives should be wrapper object
705 https://bugs.webkit.org/show_bug.cgi?id=21362
706
707 Updated so toThis conversion for the split window is handled properly.
708
709 * bindings/scripts/CodeGeneratorJS.pm:
710
weinig@apple.com1b4545c2008-10-04 05:16:40 +00007112008-10-03 Sam Weinig <sam@webkit.org>
712
713 Reviewed by David "The Motivator" Hyatt.
714
715 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
716 Move SecurityOrigin out of platform/ to page/.
717
718 It was a layering violation for SecurityOrigin to be in platform
719 as it depended on FrameLoader.
720
721 * GNUmakefile.am:
722 * WebCore.pro:
723 * WebCore.vcproj/WebCore.vcproj:
724 * WebCore.xcodeproj/project.pbxproj:
725 * WebCoreSources.bkl:
726 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
727 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
728 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
729 * platform/SecurityOrigin.cpp: Removed.
730 * platform/SecurityOrigin.h: Removed.
731 * platform/SecurityOriginHash.h: Removed.
732
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +00007332008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
734
735 Reviewed by Alp Toker.
736
737 http://bugs.webkit.org/show_bug.cgi?id=18832
738 [curl] file upload does not work
739
740 The curl_off_t integer type has a different size depending if large
741 file support is enabled or not. There is no different public API for
742 the two cases, so the same function accepts a different type based on
743 a compilation option the could be different in WebKit and libcurl.
744 To fix the bug we query libcurl at runtime for large file support and
745 pass the right type based on that.
746
747 * platform/network/curl/ResourceHandleManager.cpp:
748 (WebCore::ResourceHandleManager::setupPOST):
749
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +00007502008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
751
752 Reviewed by David Hyatt.
753
754 Gtk build fixes.
755
756 * platform/gtk/FileChooserGtk.cpp:
757 (WebCore::FileChooser::openFileChooser):
758 * platform/gtk/PlatformScreenGtk.cpp:
759 (WebCore::screenDepth):
760 (WebCore::screenDepthPerComponent):
761 (WebCore::screenAvailableRect):
762 * platform/gtk/PopupMenuGtk.cpp:
763 (WebCore::PopupMenu::show):
764 * platform/gtk/ScrollViewGtk.cpp:
765 (WebCore::ScrollView::platformAddChild):
766 (WebCore::ScrollView::platformRemoveChild):
767 * platform/gtk/WidgetGtk.cpp:
768 (WebCore::Widget::setCursor):
769 * plugins/gtk/PluginViewGtk.cpp:
770 (WebCore::PluginView::getValue):
771 (WebCore::PluginView::forceRedraw):
772 (WebCore::PluginView::init):
773
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +00007742008-10-03 David Hyatt <hyatt@apple.com>
775
hyatt@apple.com55377bb2008-10-04 01:09:37 +0000776 Fix Qt bustage from missing include.
777
778 * platform/qt/PlatformScreenQt.cpp:
779
7802008-10-03 David Hyatt <hyatt@apple.com>
781
hyatt@apple.comeff53462008-10-04 01:08:35 +0000782 Fix Windows scrollbar bustage in popup menus.
783
784 * platform/win/PopupMenuWin.cpp:
785 (WebCore::PopupWndProc):
786
7872008-10-03 David Hyatt <hyatt@apple.com>
788
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +0000789 Fix Windows bustage.
790
791 * platform/win/FileChooserWin.cpp:
792 (WebCore::FileChooser::openFileChooser):
793 * platform/win/PlatformScreenWin.cpp:
794 (WebCore::monitorInfoForWidget):
795 * platform/win/WidgetWin.cpp:
796 * plugins/win/PluginViewWin.cpp:
797 (WebCore::PluginView::getValue):
798 (WebCore::PluginView::forceRedraw):
799 (WebCore::PluginView::init):
800
darin@apple.com3d73fee2008-10-03 21:39:16 +00008012008-10-03 Darin Adler <darin@apple.com>
802
darin@apple.comc1e2d312008-10-03 22:55:04 +0000803 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
804 seen on some machines but not others by adding an include.
805
8062008-10-03 Darin Adler <darin@apple.com>
807
darin@apple.com682a07e2008-10-03 22:41:30 +0000808 - Qt build fix
809
810 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
811 execute functions. Declarations for these relied on the CodeType
812 enumeration, which used to be in ExecState.h; but the functions
813 aren't needed at all.
814 * bridge/qt/qt_runtime.h: Ditto.
815
8162008-10-03 Darin Adler <darin@apple.com>
817
darin@apple.com3d73fee2008-10-03 21:39:16 +0000818 Reviewed by Geoff Garen.
819
820 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
821 Turn ExecState into a call frame pointer.
822
823 Remove m_globalObject and m_globalData from ExecState.
824
825 * bindings/js/JSDOMWindowBase.cpp:
826 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
827 Removed an argument now that JSGlobalObject doesn't need it any more.
828 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
829 the JSDOMWindowBaseData constructor, and added the this argument to the
830 JSGlobalObject constructor. This is because a couple key bits of
831 initialization moved from the data constructor to the JSGlobalObject
832 constructor.
833 * bindings/js/JSDOMWindowBase.h: Ditto.
834
835 * bridge/qt/qt_runtime.cpp:
836 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
837 * bridge/runtime_method.cpp:
838 (JSC::RuntimeMethod::RuntimeMethod):
839 Pass JSGlobalData* instead of ExecState* to the InternalFunction
840 constructor.
841
hyatt@apple.com0e7921d2008-10-03 21:16:13 +00008422008-10-03 David Hyatt <hyatt@apple.com>
843
844 Fix Windows/Qt build bustage.
845
846 Reviewed by ggaren
847
848 * loader/EmptyClients.h:
849 (WebCore::EmptyChromeClient::platformWindow):
850 * page/Chrome.cpp:
851 (WebCore::Chrome::platformWindow):
852 * page/Chrome.h:
853 * page/ChromeClient.h:
854 * platform/HostWindow.h:
855 * platform/qt/PlatformScreenQt.cpp:
856 (WebCore::screenDepth):
857 (WebCore::screenDepthPerComponent):
858 (WebCore::screenIsMonochrome):
859 (WebCore::screenRect):
860 (WebCore::screenAvailableRect):
861 * platform/qt/PopupMenuQt.cpp:
862 (WebCore::PopupMenu::show):
863 * platform/win/PopupMenuWin.cpp:
864 (WebCore::PopupMenu::show):
865 (WebCore::PopupMenu::calculatePositionAndSize):
866 (WebCore::PopupWndProc):
867
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +00008682008-10-03 Simon Fraser <simon.fraser@apple.com>
869
870 Reviewed by Dave Hyatt
871
872 Make setStyle() take a const RenderStyle, to ensure that an
873 earlier RenderStyle::diff() remains valid.
874
875 * rendering/RenderBR.cpp:
876 * rendering/RenderBR.h:
877 * rendering/RenderBlock.cpp:
878 * rendering/RenderBlock.h:
879 * rendering/RenderBox.cpp:
880 * rendering/RenderBox.h:
881 * rendering/RenderButton.cpp:
882 * rendering/RenderButton.h:
883 * rendering/RenderFieldset.cpp:
884 * rendering/RenderFieldset.h:
885 * rendering/RenderFileUploadControl.cpp:
886 * rendering/RenderFileUploadControl.h:
887 * rendering/RenderInline.cpp:
888 * rendering/RenderInline.h:
889 * rendering/RenderListBox.cpp:
890 * rendering/RenderListBox.h:
891 * rendering/RenderListItem.cpp:
892 * rendering/RenderListItem.h:
893 * rendering/RenderListMarker.cpp:
894 * rendering/RenderListMarker.h:
895 * rendering/RenderMenuList.cpp:
896 * rendering/RenderMenuList.h:
897 * rendering/RenderObject.cpp:
898 (WebCore::RenderObject::setStyle):
899 * rendering/RenderObject.h:
900 * rendering/RenderReplaced.cpp:
901 * rendering/RenderReplaced.h:
902 * rendering/RenderSVGBlock.cpp:
903 (WebCore::RenderSVGBlock::setStyle):
904 * rendering/RenderSVGBlock.h:
905 * rendering/RenderSVGGradientStop.cpp:
906 * rendering/RenderSVGGradientStop.h:
907 * rendering/RenderSlider.cpp:
908 * rendering/RenderSlider.h:
909 * rendering/RenderTable.cpp:
910 * rendering/RenderTable.h:
911 * rendering/RenderTableCell.cpp:
912 * rendering/RenderTableCell.h:
913 * rendering/RenderTableRow.cpp:
914 * rendering/RenderTableRow.h:
915 * rendering/RenderText.cpp:
916 * rendering/RenderText.h:
917 * rendering/RenderTextControl.cpp:
918 * rendering/RenderTextControl.h:
919 * rendering/RenderWidget.cpp:
920 * rendering/RenderWidget.h:
921 * rendering/style/RenderStyle.h:
922 (WebCore::RenderStyle::isDisplayReplacedType):
923 (WebCore::RenderStyle::isDisplayInlineType):
924
hyatt@apple.com1ae34462008-10-03 19:17:35 +00009252008-10-03 David Hyatt <hyatt@apple.com>
926
hyatt@apple.com938a55f2008-10-03 20:10:32 +0000927 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
928 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
929 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
930 that will work properly for hit testing. This patch just stubs out that method to return the same
931 event untransformed.
932
933 Reviewed by Darin Adler
934
935 * page/EventHandler.cpp:
936 (WebCore::EventHandler::handleMouseDoubleClickEvent):
937 (WebCore::EventHandler::handleMouseMoveEvent):
938 (WebCore::EventHandler::handleMouseReleaseEvent):
939 (WebCore::EventHandler::passMousePressEventToScrollbar):
940 * page/gtk/EventHandlerGtk.cpp:
941 * page/mac/EventHandlerMac.mm:
942 * page/qt/EventHandlerQt.cpp:
943 * page/win/EventHandlerWin.cpp:
944 * page/wx/EventHandlerWx.cpp:
945 * platform/Scrollbar.cpp:
946 (WebCore::Scrollbar::mouseMoved):
947 (WebCore::Scrollbar::mouseExited):
948 (WebCore::Scrollbar::mouseUp):
949 (WebCore::Scrollbar::mouseDown):
950 (WebCore::Scrollbar::transformEvent):
951 * platform/Scrollbar.h:
952
9532008-10-03 David Hyatt <hyatt@apple.com>
954
hyatt@apple.com1ae34462008-10-03 19:17:35 +0000955 https://bugs.webkit.org/show_bug.cgi?id=21340
956
957 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
958
959 Reviewed by Dan Bernstein & Darin Adler
960
961 * platform/ScrollView.cpp:
962 (WebCore::ScrollView::addChild):
963 * platform/Widget.cpp:
964 (WebCore::Widget::init):
965 * platform/Widget.h:
966 * platform/mac/WidgetMac.mm:
967 * platform/win/PopupMenuWin.cpp:
968 (WebCore::PopupMenu::show):
969
adele@apple.come31aa912008-10-03 19:06:28 +00009702008-10-03 Adele Peterson <adele@apple.com>
971
972 Reviewed by Sam Weinig.
973
974 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
975 Return early if settings is nil.
976
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +00009772008-10-03 Rob Buis <buis@kde.org>
978
979 Reviewed by Darin.
980
981 https://bugs.webkit.org/show_bug.cgi?id=20134
982 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
983
984 Make sure the input element gets the right default value when no value is set.
985
986 Test: fast/forms/range-default-value.html
987
988 * rendering/RenderSlider.cpp:
989 (WebCore::RenderSlider::setPositionFromValue):
990
hyatt@apple.com8de3eb72008-10-03 18:29:28 +00009912008-10-03 David Hyatt <hyatt@apple.com>
992
993 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
994 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
995 platform-specific init/destroy methods.
996
997 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
998
999 Reviewed by Darin Adler
1000
1001 * WebCore.vcproj/WebCore.vcproj:
1002 * platform/ScrollView.cpp:
1003 (WebCore::ScrollView::ScrollView):
1004 (WebCore::ScrollView::~ScrollView):
1005 (WebCore::ScrollView::platformInit):
1006 (WebCore::ScrollView::platformDestroy):
1007 (WebCore::ScrollView::platformAddChild):
1008 (WebCore::ScrollView::platformRemoveChild):
1009 * platform/ScrollView.h:
1010 * platform/gtk/ScrollViewGtk.cpp:
1011 (WebCore::ScrollView::platformInit):
1012 (WebCore::ScrollView::platformDestroy):
1013 * platform/mac/ScrollViewMac.mm:
1014 * platform/qt/ScrollViewQt.cpp:
1015 (WebCore::ScrollView::platformInit):
1016 (WebCore::ScrollView::platformDestroy):
1017 * platform/win/ScrollViewWin.cpp: Removed.
1018 * platform/wx/ScrollViewWx.cpp:
1019 (WebCore::ScrollView::platformInit):
1020 (WebCore::ScrollView::platformDestroy):
1021 (WebCore::ScrollView::setPlatformWidget):
1022
adele@apple.comb1dd0a62008-10-03 18:13:28 +000010232008-10-03 Adele Peterson <adele@apple.com>
1024
1025 Reviewed by Dan Bernstein.
1026
1027 Fix for <rdar://problem/6012018>
1028 https://bugs.webkit.org/show_bug.cgi?id=21335
1029 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
1030
1031 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
1032
hausmann@webkit.org2497ae82008-10-03 16:02:54 +000010332008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
1034
1035 Build fix.
1036
1037 * platform/qt/WidgetQt.cpp:
1038 (WebCore::Widget::invalidateRect):
1039
alp@webkit.org2122a042008-10-03 12:38:12 +000010402008-10-03 Alp Toker <alp@nuanti.com>
1041
alp@webkit.orgabc5b712008-10-03 13:36:23 +00001042 Remove some left-over GTK+ includes. No change in functionality.
1043
1044 * platform/Cursor.h:
1045 * platform/graphics/Icon.h:
1046 * platform/gtk/RenderThemeGtk.h:
1047
10482008-10-03 Alp Toker <alp@nuanti.com>
1049
alp@webkit.org2122a042008-10-03 12:38:12 +00001050 Build fix for trailing comment after #endif
1051
1052 * dom/ElementRareData.h:
1053
hyatt@apple.comd664bd52008-10-03 09:03:43 +000010542008-10-03 David Hyatt <hyatt@apple.com>
1055
1056 Remove addToDirtyRegion.
1057
1058 Reviewed by Oliver Hunt
1059
1060 * page/Chrome.cpp:
1061 * page/Chrome.h:
1062 * page/ChromeClient.h:
1063 * platform/ScrollView.h:
1064 * platform/gtk/ScrollViewGtk.cpp:
1065 * platform/qt/ScrollViewQt.cpp:
1066 * platform/win/ScrollViewWin.cpp:
1067
mitz@apple.com810de662008-10-03 09:00:08 +000010682008-10-03 Dan Bernstein <mitz@apple.com>
1069
1070 Reviewed by Maciej Stachowiak.
1071
1072 - fix a CachedResource leak introduced in r37176
1073
1074 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
1075 afterwards bail out of the outer pruneDeadResources().
1076
1077 * loader/Cache.cpp:
1078 (WebCore::Cache::Cache):
1079 (WebCore::Cache::pruneDeadResources):
1080 (WebCore::Cache::remove):
1081 * loader/Cache.h:
1082
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +000010832008-10-03 David Hyatt <hyatt@apple.com>
1084
1085 https://bugs.webkit.org/show_bug.cgi?id=21330
1086
1087 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
1088 scrollbars.
1089
1090 Reviewed by Oliver Hunt
1091
1092 * platform/ScrollView.cpp:
1093 (WebCore::ScrollView::setHasHorizontalScrollbar):
1094 (WebCore::ScrollView::setHasVerticalScrollbar):
1095 (WebCore::ScrollView::platformHasHorizontalAdjustment):
1096 (WebCore::ScrollView::platformHasVerticalAdjustment):
1097 * platform/ScrollView.h:
1098 * platform/gtk/ScrollViewGtk.cpp:
1099 (WebCore::ScrollView::adjustmentChanged):
1100 (WebCore::ScrollView::ScrollView):
1101 (WebCore::ScrollView::~ScrollView):
1102 (WebCore::ScrollView::setGtkAdjustments):
1103 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
1104 (WebCore::ScrollView::platformHandleVerticalAdjustment):
1105
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +000011062008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
1107
1108 Reviewed by Maciej Stachowiak.
1109
1110 Bug 21106: .in format discussed changes
1111 https://bugs.webkit.org/show_bug.cgi?id=21106
1112
1113 Change "upperCase" to "interfaceName" per-tag parameter as
1114 discussed on the mailing list. Removed the per-attribute version
1115 as it was not used.
1116
1117 Also add the "Element" suffix to all interfaceName parameter to match
1118 the class name (and thus remove it from make_names.pl).
1119
1120 * dom/make_names.pl:
1121 * html/HTMLTagNames.in:
1122 * svg/svgtags.in:
1123
hyatt@apple.comf0a13272008-10-03 07:38:27 +000011242008-10-03 David Hyatt <hyatt@apple.com>
1125
1126 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
1127 Hopefully this is a temporary hack that could eventually be removed.
1128
1129 Reviewed by Sam Weinig
1130
1131 * platform/ScrollView.cpp:
1132 (WebCore::ScrollView::scrollContents):
1133 * platform/ScrollView.h:
1134 (WebCore::ScrollView::rootPreventsBlitting):
1135 * platform/qt/ScrollViewQt.cpp:
1136 (WebCore::ScrollView::ScrollView):
1137 (WebCore::ScrollView::~ScrollView):
1138 (WebCore::ScrollView::platformAddChild):
1139 (WebCore::ScrollView::platformRemoveChild):
1140
hyatt@apple.com6fa40c52008-10-03 07:06:28 +000011412008-10-02 David Hyatt <hyatt@apple.com>
1142
1143 https://bugs.webkit.org/show_bug.cgi?id=21328
1144
1145 Make widget invalidation more cross-platform.
1146
1147 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
1148
1149 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
1150 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
1151
1152 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
1153
1154 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
1155
1156 Reviewed by Sam Weinig
1157
1158 * WebCore.base.exp:
1159 * page/FrameView.cpp:
1160 (WebCore::FrameView::invalidateRect):
1161 (WebCore::FrameView::invalidateScrollbarRect):
1162 * page/FrameView.h:
1163 * platform/PopupMenu.h:
1164 * platform/ScrollView.cpp:
1165 (WebCore::ScrollView::scrollContents):
1166 * platform/ScrollView.h:
1167 * platform/Scrollbar.cpp:
1168 (WebCore::Scrollbar::setEnabled):
1169 (WebCore::Scrollbar::invalidateRect):
1170 * platform/Scrollbar.h:
1171 * platform/ScrollbarClient.h:
1172 * platform/Widget.h:
1173 * platform/gtk/WidgetGtk.cpp:
1174 * platform/mac/WidgetMac.mm:
1175 * platform/win/PopupMenuWin.cpp:
1176 (WebCore::PopupMenu::invalidateScrollbarRect):
1177 * platform/win/WidgetWin.cpp:
1178 * plugins/PluginView.cpp:
1179 (WebCore::PluginView::invalidateTimerFired):
1180 (WebCore::PluginView::invalidateWindowlessPluginRect):
1181 * plugins/PluginView.h:
1182 * plugins/gtk/PluginViewGtk.cpp:
1183 (WebCore::PluginView::invalidateRect):
1184 * plugins/qt/PluginViewQt.cpp:
1185 (WebCore::PluginView::invalidateRect):
1186 * plugins/win/PluginViewWin.cpp:
1187 (WebCore::PluginView::invalidateRect):
1188 (WebCore::PluginView::invalidateRegion):
1189 * rendering/RenderLayer.cpp:
1190 (WebCore::RenderLayer::invalidateScrollbarRect):
1191 * rendering/RenderLayer.h:
1192 * rendering/RenderListBox.cpp:
1193 (WebCore::RenderListBox::paintObject):
1194 (WebCore::RenderListBox::paintScrollbar):
1195 (WebCore::RenderListBox::invalidateScrollbarRect):
1196 * rendering/RenderListBox.h:
1197
mitz@apple.com0203bbe2008-10-03 06:20:41 +000011982008-10-02 Dan Bernstein <mitz@apple.com>
1199
1200 Reviewed by Geoffrey Garen and Sam Weinig.
1201
1202 - fix SVGFontFaceElement leaks seen in Acid3
1203 - make font-face elements take effect only when they are in the document tree
1204
1205 Test: svg/custom/font-face-not-in-document.svg
1206
1207 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
1208 RefPtr to a plain pointer to break a ref cycle.
1209 (WebCore::SVGFontData::svgFontFaceElement):
1210
1211 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
1212 @font-face rule from the document's mapped element sheet when the
1213 element is inserted and removed from the document, and to update it
1214 only when the element is in the document.
1215 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1216 (WebCore::SVGFontFaceElement::parseMappedAttribute):
1217 (WebCore::SVGFontFaceElement::rebuildFontFace):
1218 (WebCore::SVGFontFaceElement::insertedIntoDocument):
1219 (WebCore::SVGFontFaceElement::removedFromDocument):
1220 (WebCore::SVGFontFaceElement::childrenChanged):
1221 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
1222 * svg/SVGFontFaceElement.h:
1223
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000012242008-10-01 Simon Fraser <simon.fraser@apple.com>
1225
1226 Reviewed by Dave Hyatt
1227
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +00001228 Fix RenderFileUploadControl::setStyle() and
1229 RenderMenuList::setStyle() to not touch the style; replace
1230 with html4.css and CSSStyleSelector changes.
1231
1232 https://bugs.webkit.org/show_bug.cgi?id=21287
1233
1234 * css/CSSStyleSelector.cpp:
1235 (WebCore::CSSStyleSelector::adjustRenderStyle):
1236 * css/html4.css:
1237 * rendering/RenderBlock.cpp:
1238 (WebCore::RenderBlock::setStyle):
1239 * rendering/RenderFileUploadControl.cpp:
1240 * rendering/RenderMenuList.cpp:
1241 (WebCore::RenderMenuList::setStyle):
1242
12432008-10-01 Simon Fraser <simon.fraser@apple.com>
1244
1245 Reviewed by Dave Hyatt
1246
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +00001247 Clean up code that changes the RenderStyle passed in to
1248 table renderer setStyle() methods.
1249
1250 https://bugs.webkit.org/show_bug.cgi?id=21287
1251
1252 Tests: fast/table/floating-th.html
1253 fast/table/table-display-types-strict.html
1254 fast/table/table-display-types.html
1255
1256 * css/CSSStyleSelector.cpp:
1257 (WebCore::CSSStyleSelector::adjustRenderStyle):
1258 * rendering/RenderTableCell.cpp:
1259 (WebCore::RenderTableCell::setStyle):
1260 * rendering/RenderTableRow.cpp:
1261 (WebCore::RenderTableRow::setStyle):
1262 * rendering/RenderTableSection.cpp:
1263 (WebCore::RenderTableSection::setStyle):
1264
darin@apple.comcb1ab082008-10-03 00:28:54 +000012652008-10-02 Darin Adler <darin@apple.com>
1266
1267 - fix build
1268
1269 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
1270 Not just locally in my generated file!
1271
adele@apple.comf0225902008-10-03 00:25:37 +000012722008-10-02 Adele Peterson <adele@apple.com>
1273
1274 Reviewed by Dan Bernstein.
1275
1276 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
1277 REGRESSION: <input> color specified in inline style applies to placeholder
1278
1279 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
1280 is more appropriate. This change adds "-webkit-input-placeholder".
1281
1282 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
1283 Added definition for "-webkit-input-placeholder" pseudo element.
1284 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
1285 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1286 Added case for PseudoInputPlaceholder.
1287 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
1288 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
1289
1290 * html/HTMLInputElement.cpp:
1291 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
1292 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
1293 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
1294 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
1295 * rendering/RenderTextControl.cpp:
1296 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
1297 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
1298 the text will be updated correctly.
1299 * rendering/RenderTextControl.h:
1300
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +000013012008-10-02 Chris Fleizach <cfleizach@apple.com>
1302
1303 Reviewed by Darin Adler.
1304
1305 https://bugs.webkit.org/show_bug.cgi?id=21280
1306 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
1307
1308 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
1309 to ensure that there is more than one valid table cell, and that at least half of the cells
1310 have borders or have specific background colors. Modified the table detection layout test
1311 to test for the tables mentioned in the bug
1312
1313 * page/AccessibilityTable.cpp:
1314 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1315
darin@apple.comb6295d42008-10-02 23:48:47 +000013162008-10-02 Darin Adler <darin@apple.com>
1317
1318 Reviewed by Geoff Garen.
1319
1320 - https://bugs.webkit.org/show_bug.cgi?id=21321
1321 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
1322
1323 * bindings/js/GCController.cpp:
1324 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
1325 (WebCore::GCController::gcTimerFired): Ditto.
1326 (WebCore::GCController::garbageCollectNow): Ditto.
1327 * bindings/js/JSDOMWindowShell.cpp:
1328 (WebCore::JSDOMWindowShell::operator new): Ditto.
1329 * storage/Database.cpp:
1330 (WebCore::Database::Database): Ditto.
1331
mitz@apple.com833a6e72008-10-02 20:46:35 +000013322008-10-02 Dan Bernstein <mitz@apple.com>
1333
1334 Reviewed by Alexey Proskuryakov.
1335
1336 - fix a Database leak that resulted in Document leaks
1337
1338 * storage/Database.cpp:
1339 (WebCore::Database::openDatabase): Account for the fact that RefCounted
1340 objects start out with a ref count of 1.
1341
weinig@apple.com77b7a0a2008-10-02 20:29:19 +000013422008-10-02 Sam Weinig <sam@webkit.org>
1343
1344 Reviewed by Mr. Geoffrey Garen.
1345
1346 Always mark your parent before marking members.
1347
1348 * bindings/js/JSDOMWindowCustom.cpp:
1349 (WebCore::JSDOMWindow::mark):
1350
hyatt@apple.com98682b32008-10-02 20:17:08 +000013512008-10-02 David Hyatt <hyatt@apple.com>
1352
1353 https://bugs.webkit.org/show_bug.cgi?id=21314
1354
1355 Make scrollBackingStore cross-platform.
1356
1357 Reviewed by Sam Weinig
1358
1359 * loader/EmptyClients.h:
1360 (WebCore::EmptyChromeClient::repaint):
1361 (WebCore::EmptyChromeClient::scroll):
1362 * page/Chrome.cpp:
1363 (WebCore::Chrome::repaint):
1364 (WebCore::Chrome::scroll):
1365 * page/Chrome.h:
1366 * page/ChromeClient.h:
1367 * page/EventHandler.cpp:
1368 (WebCore::EventHandler::handleAutoscroll):
1369 * platform/HostWindow.h:
1370 * platform/ScrollView.cpp:
1371 (WebCore::ScrollView::scrollContents):
1372 (WebCore::ScrollView::addPanScrollIcon):
1373 (WebCore::ScrollView::removePanScrollIcon):
1374 * platform/ScrollView.h:
1375 * platform/gtk/ScrollViewGtk.cpp:
1376 * platform/qt/ScrollViewQt.cpp:
1377 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1378 (WebCore::ScrollView::~ScrollView):
1379 * platform/win/ScrollViewWin.cpp:
1380 (WebCore::ScrollView::ScrollView):
1381 (WebCore::ScrollView::~ScrollView):
1382
kevino@webkit.org8ca54f22008-10-02 19:59:35 +000013832008-10-02 Kevin Ollivier <kevino@theolliviers.com>
1384
1385 wx build fixes after Frame/ScrollView changes.
1386
1387 * WebCoreSources.bkl:
1388 * platform/wx/ScrollViewWx.cpp:
1389 (WebCore::ScrollView::platformContentsToScreen):
1390 (WebCore::ScrollView::platformScreenToContents):
1391 (WebCore::ScrollView::platformIsOffscreen):
1392
brettw@chromium.org83eadcc2008-10-02 19:33:42 +000013932008-10-02 Brett Wilson <brettw@chromium.org>
1394
1395 Reviewed by Sam Weinig
1396
1397 https://bugs.webkit.org/show_bug.cgi?id=21292
1398
1399 Revert the changes to enclosingIntRect made in r12530 since the new code
1400 doesn't round correctly.
1401
1402 * ChangeLog:
1403 * platform/graphics/FloatRect.cpp:
1404 (WebCore::enclosingIntRect):
1405
mitz@apple.com92dc01a2008-10-02 18:48:33 +000014062008-10-02 Dan Bernstein <mitz@apple.com>
1407
1408 Reviewed by Anders Carlsson and Eric Seidel.
1409
1410 - fix HTMLCanvaseElement leak from -webkit-canvas() values
1411
1412 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
1413 pointer, as the document owns the canvas elements. Added code to release
1414 those elements in Document::removedLastRef() because they reference
1415 the document.
1416
1417 * css/CSSCanvasValue.cpp:
1418 (WebCore::CSSCanvasValue::element):
1419 * css/CSSCanvasValue.h:
1420 (WebCore::CSSCanvasValue::CSSCanvasValue):
1421 * dom/Document.cpp:
1422 (WebCore::Document::removedLastRef):
1423
ap@webkit.org44e40e42008-10-02 18:39:34 +000014242008-10-02 Alexey Proskuryakov <ap@webkit.org>
1425
1426 Reviewed by Maciej Stachowiak.
1427
ap@webkit.orgdffca802008-10-02 18:40:40 +00001428 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +00001429
1430 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
1431 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
1432 code is only needed for JS bindings in worker threads.
1433
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +000014342008-10-01 David Hyatt <hyatt@apple.com>
1435
1436 https://bugs.webkit.org/show_bug.cgi?id=21298
1437
1438 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
1439 will make that cross-platform.
1440
1441 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
1442 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
1443 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
1444
1445 Reviewed by Sam Weinig
1446
1447 * page/FrameView.cpp:
1448 (WebCore::FrameView::windowClipRect):
1449 (WebCore::FrameView::isActive):
1450 * page/FrameView.h:
1451 (WebCore::FrameView::visibleContentsResized):
1452 * platform/PopupMenu.h:
1453 * platform/ScrollView.cpp:
1454 (WebCore::ScrollView::init):
1455 (WebCore::ScrollView::destroy):
1456 (WebCore::ScrollView::setHasHorizontalScrollbar):
1457 (WebCore::ScrollView::setHasVerticalScrollbar):
1458 (WebCore::ScrollView::valueChanged):
1459 (WebCore::ScrollView::updateScrollbars):
1460 (WebCore::ScrollView::scrollContents):
1461 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
1462 (WebCore::ScrollView::platformHandleVerticalAdjustment):
1463 * platform/ScrollView.h:
1464 * platform/Scrollbar.cpp:
1465 (WebCore::Scrollbar::windowClipRect):
1466 * platform/ScrollbarClient.h:
1467 * platform/gtk/ScrollViewGtk.cpp:
1468 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
1469 (WebCore::ScrollView::platformHandleVerticalAdjustment):
1470 * platform/qt/ScrollViewQt.cpp:
1471 (WebCore::ScrollView::scrollContents):
1472 * platform/win/PopupMenuWin.cpp:
1473 (WebCore::PopupMenu::windowClipRect):
1474 * platform/win/ScrollViewWin.cpp:
1475 (WebCore::ScrollView::scrollContents):
1476 * rendering/RenderLayer.cpp:
1477 (WebCore::RenderLayer::windowClipRect):
1478 * rendering/RenderLayer.h:
1479 * rendering/RenderListBox.cpp:
1480 (WebCore::RenderListBox::panScroll):
1481 (WebCore::RenderListBox::windowClipRect):
1482 * rendering/RenderListBox.h:
1483
ap@webkit.org03710832008-10-02 16:18:56 +000014842008-10-02 Alexey Proskuryakov <ap@webkit.org>
1485
1486 Reviewed by Darin Adler.
1487
1488 https://bugs.webkit.org/show_bug.cgi?id=21304
1489 Stop using a static wrapper map for WebCore JS bindings
1490
1491 The static domObjects map was not thread safe.
1492
1493 * dom/Document.h:
1494 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
1495 ports.
1496 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
1497
1498 * dom/Document.cpp:
1499 (WebCore::Document::createdXMLHttpRequest):
1500 (WebCore::Document::destroyedXMLHttpRequest):
1501 Moved XMLHttpRequest tracking from a global map to Document.
1502
1503 * GNUmakefile.am:
1504 * WebCore.pro:
1505 * WebCore.vcproj/WebCore.vcproj:
1506 * WebCore.xcodeproj/project.pbxproj:
1507 * WebCoreSources.bkl:
1508 * webcore-base.bkl:
1509 * bindings/DOMProtect.cpp: Removed.
1510 * bindings/DOMProtect.h: Removed.
1511 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
1512 so they can no longer protect bindings objects.
1513
1514 * dom/MessagePort.cpp:
1515 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
1516 (WebCore::CloseMessagePortTimer::fired):
1517 (WebCore::MessagePort::MessagePort):
1518 (WebCore::MessagePort::queueCloseEvent):
1519 (WebCore::MessagePort::setPendingActivity):
1520 (WebCore::MessagePort::unsetPendingActivity):
1521 * dom/MessagePort.h:
1522 (WebCore::MessagePort::hasPendingActivity):
1523 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
1524 to protect it.
1525
1526 * xml/XMLHttpRequest.h:
1527 (WebCore::XMLHttpRequest::hasPendingActivity):
1528 * xml/XMLHttpRequest.cpp:
1529 (WebCore::XMLHttpRequest::XMLHttpRequest):
1530 (WebCore::XMLHttpRequest::~XMLHttpRequest):
1531 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1532 (WebCore::XMLHttpRequest::dropProtection):
1533 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1534 (WebCore::XMLHttpRequest::cancelRequests):
1535 (WebCore::XMLHttpRequest::detachRequests):
1536 (WebCore::XMLHttpRequest::setPendingActivity):
1537 (WebCore::XMLHttpRequest::unsetPendingActivity):
1538 Moved XMLHttpRequest tracking from a global map to Document.
1539
1540 * bindings/js/JSDOMBinding.cpp:
1541 (WebCore::wrapperSet):
1542 (WebCore::DOMObjectWrapperMap::mapFor):
1543 (WebCore::DOMObjectWrapperMap::get):
1544 (WebCore::DOMObjectWrapperMap::set):
1545 (WebCore::DOMObjectWrapperMap::remove):
1546 (WebCore::getCachedDOMObjectWrapper):
1547 (WebCore::cacheDOMObjectWrapper):
1548 (WebCore::forgetDOMObject):
1549 (WebCore::getCachedDOMNodeWrapper):
1550 (WebCore::forgetDOMNode):
1551 (WebCore::cacheDOMNodeWrapper):
1552 (WebCore::markActiveObjectsForDocument):
1553 * bindings/js/JSDOMBinding.h:
1554 (WebCore::createDOMObjectWrapper):
1555 (WebCore::getDOMObjectWrapper):
1556 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
1557 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
1558 WebCore objects can never migrate between threads.
1559
1560 * bindings/js/JSDocumentCustom.cpp:
1561 (WebCore::JSDocument::mark):
1562 Call markActiveObjectsForDocument() from JSDOMBinding.
1563
1564 * bindings/js/JSCSSRuleCustom.cpp:
1565 (WebCore::toJS):
1566 * bindings/js/JSCSSValueCustom.cpp:
1567 (WebCore::toJS):
1568 * bindings/js/JSDOMWindowCustom.cpp:
1569 (WebCore::markDOMObjectWrapper):
1570 (WebCore::JSDOMWindow::mark):
1571 * bindings/js/JSEventCustom.cpp:
1572 (WebCore::toJS):
1573 * bindings/js/JSEventTarget.cpp:
1574 (WebCore::toJS):
1575 * bindings/js/JSHTMLCollectionCustom.cpp:
1576 (WebCore::toJS):
1577 * bindings/js/JSImageDataCustom.cpp:
1578 (WebCore::toJS):
1579 * bindings/js/JSMessageChannelCustom.cpp:
1580 (WebCore::JSMessageChannel::mark):
1581 * bindings/js/JSMessagePortCustom.cpp:
1582 (WebCore::JSMessagePort::mark):
1583 * bindings/js/JSNodeCustom.cpp:
1584 (WebCore::JSNode::mark):
1585 * bindings/js/JSSVGPathSegCustom.cpp:
1586 (WebCore::toJS):
1587 * bindings/js/JSStyleSheetCustom.cpp:
1588 (WebCore::toJS):
1589 * bindings/js/JSXMLHttpRequestCustom.cpp:
1590 (WebCore::JSXMLHttpRequest::mark):
1591 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1592 (WebCore::JSXMLHttpRequestUpload::mark):
1593 * bindings/js/ScriptController.cpp:
1594 (WebCore::ScriptController::finishedWithEvent):
1595 * bindings/scripts/CodeGeneratorJS.pm:
1596 Pass a JSGlobalData reference to functions that track JS wrapper objects.
1597
mitz@apple.coma2b6b112008-10-02 07:52:29 +000015982008-10-02 Dan Bernstein <mitz@apple.com>
1599
1600 - build fix
1601
1602 * page/JavaScriptCallFrame.idl:
1603
oliver@apple.com619d60b92008-10-02 07:35:21 +000016042008-10-02 Oliver Hunt <oliver@apple.com>
1605
1606 Reviewed by NOBODY (Build fix).
1607
1608 Add new file to project files
1609
1610 * GNUmakefile.am:
1611 * WebCore.pro:
1612 * WebCore.vcproj/WebCore.vcproj:
1613
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000016142008-10-02 Geoffrey Garen <ggaren@apple.com>
1615
1616 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +00001617
1618 Try to fix some more builds.
1619
1620 * GNUmakefile.am:
1621 * WebCore.pro:
1622
16232008-10-02 Geoffrey Garen <ggaren@apple.com>
1624
1625 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +00001626
1627 Try to fix Windows build.
1628
1629 * WebCore.vcproj/WebCore.vcproj:
1630
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +000016312008-10-01 Geoffrey Garen <ggaren@apple.com>
1632
1633 Reviewed by Darin Adler and Cameron Zwarich.
1634
1635 Updated for JavaScriptCore API changes: use a SourceCode instead of
1636 broken out parameters; treat sourceId as intptr_t.
1637
1638 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
1639 * bindings/js/JSXMLHttpRequestCustom.cpp:
1640 (WebCore::JSXMLHttpRequest::send):
1641 * bindings/js/ScriptController.cpp:
1642 (WebCore::ScriptController::evaluate):
1643 * bindings/js/StringSourceProvider.h:
1644 (WebCore::StringSourceProvider::create):
1645 (WebCore::StringSourceProvider::StringSourceProvider):
1646
1647 (WebCore::makeSource): Added a makeSource function for convenience.
1648
1649 * bindings/objc/WebScriptObject.mm:
1650 (-[WebScriptObject evaluateWebScript:]):
1651 * bridge/NP_jsobject.cpp:
1652 (_NPN_Evaluate):
1653 * bridge/jni/jni_jsobject.mm:
1654 (JavaJSObject::call):
1655 (JavaJSObject::eval):
1656 (JavaJSObject::getMember):
1657 (JavaJSObject::setMember):
1658 (JavaJSObject::removeMember):
1659
1660 * bridge/jni/jni_runtime.h:
1661 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
1662 ustring() function with an implicit operator because this class already
1663 holds a UString::rep.
1664
1665 * page/Console.cpp:
1666 (WebCore::retrieveLastCaller):
1667 (WebCore::Console::trace):
1668 * page/InspectorController.cpp:
1669 (WebCore::jsStringRef):
1670 (WebCore::InspectorController::addBreakpoint):
1671 (WebCore::InspectorController::removeBreakpoint):
1672 (WebCore::InspectorController::didParseSource):
1673 (WebCore::InspectorController::failedToParseSource):
1674 * page/InspectorController.h:
1675 * page/JavaScriptCallFrame.cpp:
1676 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
1677 * page/JavaScriptCallFrame.h:
1678 (WebCore::JavaScriptCallFrame::create):
1679 (WebCore::JavaScriptCallFrame::sourceIdentifier):
1680 (WebCore::JavaScriptCallFrame::update):
1681 * page/JavaScriptDebugListener.h:
1682 * page/JavaScriptDebugServer.cpp:
1683 (WebCore::JavaScriptDebugServer::addBreakpoint):
1684 (WebCore::JavaScriptDebugServer::removeBreakpoint):
1685 (WebCore::JavaScriptDebugServer::hasBreakpoint):
1686 (WebCore::dispatchDidParseSource):
1687 (WebCore::dispatchFailedToParseSource):
1688 (WebCore::JavaScriptDebugServer::sourceParsed):
1689 (WebCore::JavaScriptDebugServer::callEvent):
1690 (WebCore::JavaScriptDebugServer::atStatement):
1691 (WebCore::JavaScriptDebugServer::returnEvent):
1692 (WebCore::JavaScriptDebugServer::exception):
1693 (WebCore::JavaScriptDebugServer::willExecuteProgram):
1694 (WebCore::JavaScriptDebugServer::didExecuteProgram):
1695 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
1696 * page/JavaScriptDebugServer.h:
1697 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
1698 sourceIdentifier to sourceID.
1699
mitz@apple.com7a7f3142008-10-02 06:08:15 +000017002008-10-01 Dan Bernstein <mitz@apple.com>
1701
1702 Reviewed by Geoffrey Garen.
1703
1704 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
1705
1706 Broke a ref cycle by changing the m_svgFontFaceElement members of
1707 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
1708 pointers. Also made sure that the @font-face rule added by
1709 SVGFontFaceElement to the document's mapped element sheet is removed
1710 when the font-face element is deleted or moved to another document.
1711
1712 * css/CSSFontFaceSource.cpp:
1713 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
1714 (WebCore::CSSFontFaceSource::getFontData):
1715 * css/CSSFontFaceSource.h:
1716 (WebCore::CSSFontFaceSource::svgFontFaceElement):
1717 * css/CSSFontFaceSrcValue.h:
1718 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
1719 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
1720 * svg/SVGFontFaceElement.cpp:
1721 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
1722 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
1723 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
1724 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
1725 * svg/SVGFontFaceElement.h:
1726
oliver@apple.comd3de8f32008-10-02 05:02:00 +000017272008-10-01 Oliver Hunt <oliver@apple.com>
1728
1729 Reviewed by Maciej Stachowiak.
1730
1731 Bug 20315: Memory leak with Canvas getImageData
1732 <https://bugs.webkit.org/show_bug.cgi?id=20315>
1733
1734 This wasn't a leak, the issue was that we were reporting the cost
1735 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
1736 and we should have been reporting the cost when we create the
1737 JSImageData wrapper.
1738
1739 * WebCore.xcodeproj/project.pbxproj:
1740 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
1741 This was only needed to report the extra memory cost
1742 of the CPA.
1743 * bindings/js/JSImageDataCustom.cpp:
1744 (WebCore::toJS):
1745 We need a custom toJS function now so that we can report
1746 the extra memory cost.
1747 * bindings/scripts/CodeGeneratorJS.pm:
1748 Need to replace the reference to CanvasPixelArray with ImageData
1749 to be able to create the custom toJS implementation.
1750 * html/CanvasPixelArray.idl:
1751 * html/ImageData.idl:
1752
mitz@apple.come0642ce2008-10-02 04:54:06 +000017532008-10-01 Dan Bernstein <mitz@apple.com>
1754
1755 Reviewed by Mark Rowe.
1756
1757 - https://bugs.webkit.org/show_bug.cgi?id=21293
1758 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
1759
1760 * svg/SVGMarkerElement.cpp:
1761 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
1762 that renderer destruction happens before the SVGMarkerElement is
1763 destroyed.
1764 * svg/SVGSVGElement.cpp:
1765 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
1766
eric@webkit.orgbe40b812008-10-02 01:43:16 +000017672008-10-01 Evan Martin <evan@chromium.org>
1768
1769 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +00001770
1771 https://bugs.webkit.org/show_bug.cgi?id=20669
1772
1773 * css/makeprop.pl:
1774 Die if gperf fails.
1775
17762008-10-01 Evan Martin <evan@chromium.org>
1777
1778 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +00001779
1780 * loader/icon/IconDatabase.h:
1781 IconDatabase uses HashMap, so it needs to #include the header.
1782
mitz@apple.com0ff2a012008-10-02 00:48:54 +000017832008-10-01 Dan Bernstein <mitz@apple.com>
1784
1785 Reviewed by Mark Rowe.
1786
mitz@apple.comca0080b2008-10-02 01:35:05 +00001787 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
1788
1789 * loader/Cache.cpp:
1790 (WebCore::Cache::remove): Disable pruning temporarily during
1791 CachedResource deletion.
1792
17932008-10-01 Dan Bernstein <mitz@apple.com>
1794
1795 Reviewed by Mark Rowe.
1796
mitz@apple.com0ff2a012008-10-02 00:48:54 +00001797 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
1798
1799 * svg/SVGFontFaceElement.cpp:
1800 (WebCore::SVGFontFaceElement::rebuildFontFace):
1801 * svg/SVGFontFaceElement.h:
1802 (WebCore::SVGFontFaceElement::associatedFontElement):
1803
brettw@chromium.org87b0e122008-10-01 22:34:16 +000018042008-10-01 Brett Wilson <brettw@chromium.org>
1805
1806 Reviewed by Maciej Stachowiak.
1807
1808 Document the rounding behavior of the mapRect(IntRect) function in
1809 AffineTransform.h.
1810
1811 * platform/graphics/AffineTransform.h:
1812
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +000018132008-10-01 David Hyatt <hyatt@apple.com>
1814
1815 Move prohibitsScrolling from the Frame to the ScrollView.
1816
1817 Reviewed by Sam Weinig
1818
1819 * WebCore.base.exp:
1820 * page/Frame.cpp:
1821 (WebCore::FramePrivate::FramePrivate):
1822 * page/Frame.h:
1823 * page/FramePrivate.h:
1824 * page/FrameView.cpp:
1825 (WebCore::FrameView::scrollRectIntoViewRecursively):
1826 (WebCore::FrameView::setScrollPosition):
1827 * platform/ScrollView.cpp:
1828 (WebCore::ScrollView::init):
1829 (WebCore::ScrollView::scrollRectIntoViewRecursively):
1830 (WebCore::ScrollView::setScrollPosition):
1831 * platform/ScrollView.h:
1832 (WebCore::ScrollView::setProhibitsScrolling):
1833 (WebCore::ScrollView::prohibitsScrolling):
1834 * platform/gtk/ScrollViewGtk.cpp:
1835 (WebCore::ScrollView::updateScrollbars):
1836 * platform/qt/ScrollViewQt.cpp:
1837 (WebCore::ScrollView::updateScrollbars):
1838 * platform/win/ScrollViewWin.cpp:
1839 (WebCore::ScrollView::updateScrollbars):
1840
mrowe@apple.combffe15d2008-10-01 22:24:37 +000018412008-10-01 Mark Rowe <mrowe@apple.com>
1842
1843 Reviewed by Geoff Garen.
1844
1845 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
1846
1847 * xml/XMLHttpRequest.cpp:
1848 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
1849 that we do during the loadRequestAsynchronously of the preflight request with a deref and
1850 GC unprotect.
1851
hyatt@apple.com2f029122008-10-01 22:12:23 +000018522008-10-01 David Hyatt <hyatt@apple.com>
1853
1854 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
1855 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
1856
1857 Reviewed by Tim Hatcher
1858
1859 * WebCore.base.exp:
1860 * page/FrameView.cpp:
1861 (WebCore::FrameView::setCanHaveScrollbars):
1862 * page/FrameView.h:
1863 * platform/ScrollView.cpp:
1864 (WebCore::ScrollView::setCanHaveScrollbars):
1865 (WebCore::ScrollView::wheelEvent):
1866 * platform/ScrollView.h:
1867 (WebCore::ScrollView::canHaveScrollbars):
1868
mitz@apple.combebfaae2008-10-01 21:19:41 +000018692008-10-01 Dan Bernstein <mitz@apple.com>
1870
1871 Reviewed by Mark Rowe.
1872
1873 - fix some CachedResource leaks seen on buildbot
1874
1875 The issue here was that emptying the cache was a no-op when it only
1876 contained resources with no data. Changed to go after those
1877 resources when the desired cache capacity is zero.
1878
1879 * loader/Cache.cpp:
1880 (WebCore::Cache::pruneLiveResources):
1881 (WebCore::Cache::pruneDeadResources):
1882 * loader/Cache.h:
1883 (WebCore::Cache::prune):
1884
hyatt@apple.come72b16e2008-10-01 20:58:19 +000018852008-10-01 David Hyatt <hyatt@apple.com>
1886
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +00001887 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
1888 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
1889
1890 Reviewed by Adam Roben
1891
1892 * platform/ScrollView.cpp:
1893 (WebCore::ScrollView::isOffscreen):
1894 (WebCore::ScrollView::platformIsOffscreen):
1895 * platform/ScrollView.h:
1896 * platform/gtk/ScrollViewGtk.cpp:
1897 * platform/mac/ScrollViewMac.mm:
1898 (WebCore::ScrollView::platformIsOffscreen):
1899 * platform/qt/ScrollViewQt.cpp:
1900 * platform/wx/ScrollViewWx.cpp:
1901
19022008-10-01 David Hyatt <hyatt@apple.com>
1903
hyatt@apple.come72b16e2008-10-01 20:58:19 +00001904 Make show/hide/setParentVisible cross-platform on ScrollView.
1905
1906 Reviewed by Adam Roben
1907
1908 * platform/ScrollView.cpp:
1909 (WebCore::ScrollView::setParentVisible):
1910 (WebCore::ScrollView::show):
1911 (WebCore::ScrollView::hide):
1912 * platform/ScrollView.h:
1913 * platform/win/ScrollViewWin.cpp:
1914
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +000019152008-10-01 Kevin McCullough <kmccullough@apple.com>
1916
1917 Reviewed by Dan Bernstein.
1918
1919 https://bugs.webkit.org/show_bug.cgi?id=21284
1920 Bug 21284: Max height affects max width
1921 - Looks like a cut and paste bug
1922 - Added layout test fast/css/max-height-and-max-width.html
1923
1924 * css/CSSComputedStyleDeclaration.cpp:
1925 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1926
hyatt@apple.comfe9c1302008-10-01 20:34:07 +000019272008-10-01 David Hyatt <hyatt@apple.com>
1928
1929 https://bugs.webkit.org/show_bug.cgi?id=21282
1930
1931 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
1932
1933 Reviewed by Adam Roben
1934
1935 * loader/EmptyClients.h:
1936 (WebCore::EmptyChromeClient::screenToWindow):
1937 (WebCore::EmptyChromeClient::windowToScreen):
1938 * page/Chrome.cpp:
1939 (WebCore::Chrome::screenToWindow):
1940 (WebCore::Chrome::windowToScreen):
1941 * page/Chrome.h:
1942 * page/ChromeClient.h:
1943 * platform/HostWindow.h:
1944 * platform/ScrollView.cpp:
1945 (WebCore::ScrollView::contentsToScreen):
1946 (WebCore::ScrollView::screenToContents):
1947 (WebCore::ScrollView::platformContentsToScreen):
1948 (WebCore::ScrollView::platformScreenToContents):
1949 * platform/ScrollView.h:
1950 * platform/mac/ScrollViewMac.mm:
1951 (WebCore::ScrollView::platformContentsToScreen):
1952 (WebCore::ScrollView::platformScreenToContents):
1953 * platform/win/ScrollViewWin.cpp:
1954
mitz@apple.comf2ee2052008-10-01 20:31:19 +000019552008-10-01 Dan Bernstein <mitz@apple.com>
1956
1957 Reviewed by Darin Adler.
1958
1959 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
1960
1961 Test: fast/parser/residual-style-close-across-removed-block.html
1962
1963 * html/HTMLParser.cpp:
1964 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
1965 an assertion that turned out to be wrong in this case, and changed to
1966 terminate the algorithm at the first empty block.
1967
hyatt@apple.comc5a54f42008-10-01 19:23:05 +000019682008-10-01 David Hyatt <hyatt@apple.com>
1969
1970 Make setFrameRect on ScrollView cross-platform.
1971
1972 Reviewed by Sam Weinig
1973
1974 * page/FrameView.h:
1975 (WebCore::FrameView::contentsResized):
1976 * platform/ScrollView.cpp:
1977 (WebCore::ScrollView::setFrameRect):
1978 * platform/ScrollView.h:
1979 * platform/gtk/ScrollViewGtk.cpp:
1980 * platform/qt/ScrollViewQt.cpp:
1981 * platform/win/ScrollViewWin.cpp:
1982
weinig@apple.comab5c0172008-10-01 19:17:01 +000019832008-10-01 Sam Weinig <sam@webkit.org>
1984
1985 Reviewed by Adele Peterson.
1986
1987 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
1988 to JSDOMWindow from JSDOMWindowBase.
1989
1990 * WebCore.xcodeproj/project.pbxproj:
1991 * bindings/js/JSDOMWindowBase.cpp:
1992 (WebCore::JSDOMWindowBase::removeTimeout):
1993 * bindings/js/JSDOMWindowBase.h:
1994 * bindings/js/JSDOMWindowCustom.cpp:
1995 (WebCore::setTimeoutOrInterval):
1996 (WebCore::JSDOMWindow::setTimeout):
1997 (WebCore::JSDOMWindow::clearTimeout):
1998 (WebCore::JSDOMWindow::setInterval):
1999 (WebCore::JSDOMWindow::clearInterval):
2000 (WebCore::JSDOMWindow::atob):
2001 (WebCore::JSDOMWindow::btoa):
2002 * page/DOMWindow.idl:
2003
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +000020042008-10-01 Dan Bernstein <mitz@apple.com>
2005
2006 - Mac build fix
2007
2008 * WebCore.base.exp:
2009
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +000020102008-10-01 Timothy Hatcher <timothy@apple.com>
2011
2012 Prevent stealing focus from the search field when focusing a DOM node.
2013
2014 https://bugs.webkit.org/show_bug.cgi?id=21275
2015
2016 Reviewed by Kevin McCullough.
2017
2018 * page/inspector/ElementsPanel.js:
2019 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
2020 Don't steal focus if the current focus element is the search field.
2021
weinig@apple.com841594d2008-10-01 07:27:49 +000020222008-09-30 Sam Weinig <sam@webkit.org>
2023
2024 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
2025
2026 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
2027 Autogenerate JS event listeners
2028
2029 - Generate getting/setting of EventListeners.
2030
2031 - Adding a new named EventListener now has the same process as adding any other DOM
2032 attribute. (Add a method with the same name in the c++ file).
2033
2034 (The EventListeners for MessagePort have been intentionally left custom so that we
2035 can continue to experiment with making those EventListeners work in a frame-less world.)
2036
2037 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
2038 * bindings/js/JSDOMWindowCustom.cpp: ditto.
2039 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
2040 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
2041 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
2042 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
2043 getter/setters
2044 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
2045 * dom/EventTargetNode.h: ditto.
2046 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
2047 will use JSEventListerner instead of JSUnprotectedEventListener.
2048 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
2049 * page/DOMWindow.cpp: Add getter/setters for named EventListener
2050 * page/DOMWindow.h: ditto.
2051 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
2052 will use JSEventListerner instead of JSUnprotectedEventListener.
2053 * xml/XMLHttpRequest.idl: Remove custom attributes.
2054 * xml/XMLHttpRequestUpload.idl: ditto.
2055
mrowe@apple.comfed78312008-10-01 06:53:49 +000020562008-09-30 Mark Rowe <mrowe@apple.com>
2057
2058 Reviewed by Dan Bernstein.
2059
2060 Add a leak counter for CachedResources since we've had two recent leaks involving them.
2061
2062 * loader/CachedResource.cpp:
2063 (WebCore::CachedResource::CachedResource):
2064 (WebCore::CachedResource::~CachedResource):
2065
mitz@apple.com19b93112008-10-01 06:25:17 +000020662008-09-30 Dan Bernstein <mitz@apple.com>
2067
2068 Reviewed by Dave Hyatt.
2069
2070 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
2071 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
2072
2073 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
2074 the font name in memory.
2075
2076 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
2077 OpenTypeUtilities.*.
2078
2079 * platform/graphics/win/FontCustomPlatformData.cpp:
2080 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
2081 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
2082 used.
2083 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
2084 for fonts loaded using AddFontMemResourceEx.
2085 (WebCore::createFontCustomPlatformData): Added a call to
2086 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
2087 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
2088 fontPlatformData() will retrieve the name from the font reference.
2089
2090 * platform/graphics/win/FontCustomPlatformData.h:
2091 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
2092 font name member.
2093
2094 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
2095 * platform/graphics/win/GetEOTHeader.h: Renamed.
2096
2097 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
2098 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
2099 (WebCore::BigEndianULong::BigEndianULong): Ditto.
2100 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
2101 the font data and modifies it to have the given name, then activates
2102 it using AddFontMemResourceEx.
2103
2104 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
2105
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000021062008-09-30 Mark Rowe <mrowe@apple.com>
2107
2108 Reviewed by Dan Bernstein.
2109
2110 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
2111
2112 * rendering/RenderObject.cpp:
2113 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
2114 with calls to removeClient when we're being destroyed.
2115
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000021162008-09-30 Eric Carlson <eric.carlson@apple.com>
2117
mrowe@apple.com12cb8c22008-10-01 06:09:28 +00002118 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +00002119
2120 https://bugs.webkit.org/show_bug.cgi?id=21243
2121
2122 Fix loopstart and loopend default values.
2123
2124 Tests: media/loopend-limits.html
2125 media/loopstart-limits.html
2126
2127 * html/HTMLMediaElement.cpp:
2128 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
2129 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
2130
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +000021312008-09-30 Kevin Ollivier <kevino@theolliviers.com>
2132
2133 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
2134
2135 * WebCoreSources.bkl:
2136 * platform/wx/ScrollViewWx.cpp:
2137 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
2138
mitz@apple.com17145582008-10-01 04:43:07 +000021392008-09-30 Dan Bernstein <mitz@apple.com>
2140
2141 Reviewed by Sam Weinig.
2142
2143 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
2144 was fixed in r17249 and re-introduced in r31435.
2145
2146 * html/HTMLViewSourceDocument.cpp:
2147 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
2148 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
2149 (WebCore::HTMLViewSourceDocument::addLine):
2150 (WebCore::HTMLViewSourceDocument::addLink):
2151 * html/HTMLViewSourceDocument.h:
2152
weinig@apple.com42d87a62008-10-01 00:39:19 +000021532008-09-30 Sam Weinig <sam@webkit.org>
2154
2155 Reviewed by Eric Seidel.
2156
2157 More for https://bugs.webkit.org/show_bug.cgi?id=21122
2158 Autogenerate JS event listeners
2159
2160 - Make EventListener getter/setters names in c++ files match those in
2161 JS (ie. onLoadListener -> onload).
2162 - Add standard way to access the frame associated with the EventTarget
2163 for EventListener lookup.
2164 - Autogenerate dispatchEvent, it wasn't doing anything custom.
2165
2166 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2167 (WebCore::JSDOMApplicationCache::mark):
2168 (WebCore::JSDOMApplicationCache::addEventListener):
2169 (WebCore::JSDOMApplicationCache::removeEventListener):
2170 (WebCore::JSDOMApplicationCache::setOnchecking):
2171 (WebCore::JSDOMApplicationCache::onchecking):
2172 (WebCore::JSDOMApplicationCache::setOnerror):
2173 (WebCore::JSDOMApplicationCache::onerror):
2174 (WebCore::JSDOMApplicationCache::setOnnoupdate):
2175 (WebCore::JSDOMApplicationCache::onnoupdate):
2176 (WebCore::JSDOMApplicationCache::setOndownloading):
2177 (WebCore::JSDOMApplicationCache::ondownloading):
2178 (WebCore::JSDOMApplicationCache::setOnprogress):
2179 (WebCore::JSDOMApplicationCache::onprogress):
2180 (WebCore::JSDOMApplicationCache::setOnupdateready):
2181 (WebCore::JSDOMApplicationCache::onupdateready):
2182 (WebCore::JSDOMApplicationCache::setOncached):
2183 (WebCore::JSDOMApplicationCache::oncached):
2184 * bindings/js/JSEventTargetNodeCustom.cpp:
2185 (WebCore::JSEventTargetNode::addEventListener):
2186 (WebCore::JSEventTargetNode::removeEventListener):
2187 (WebCore::JSEventTargetNode::getListener):
2188 (WebCore::JSEventTargetNode::setListener):
2189 * bindings/js/JSMessagePortCustom.cpp:
2190 (WebCore::JSMessagePort::mark):
2191 (WebCore::JSMessagePort::addEventListener):
2192 (WebCore::JSMessagePort::removeEventListener):
2193 (WebCore::JSMessagePort::setOnmessage):
2194 (WebCore::JSMessagePort::onmessage):
2195 (WebCore::JSMessagePort::setOnclose):
2196 (WebCore::JSMessagePort::onclose):
2197 * bindings/js/JSXMLHttpRequestCustom.cpp:
2198 (WebCore::JSXMLHttpRequest::mark):
2199 (WebCore::JSXMLHttpRequest::onreadystatechange):
2200 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
2201 (WebCore::JSXMLHttpRequest::onabort):
2202 (WebCore::JSXMLHttpRequest::setOnabort):
2203 (WebCore::JSXMLHttpRequest::onerror):
2204 (WebCore::JSXMLHttpRequest::setOnerror):
2205 (WebCore::JSXMLHttpRequest::onload):
2206 (WebCore::JSXMLHttpRequest::setOnload):
2207 (WebCore::JSXMLHttpRequest::onloadstart):
2208 (WebCore::JSXMLHttpRequest::setOnloadstart):
2209 (WebCore::JSXMLHttpRequest::onprogress):
2210 (WebCore::JSXMLHttpRequest::setOnprogress):
2211 (WebCore::JSXMLHttpRequest::addEventListener):
2212 (WebCore::JSXMLHttpRequest::removeEventListener):
2213 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2214 (WebCore::JSXMLHttpRequestUpload::mark):
2215 (WebCore::JSXMLHttpRequestUpload::onabort):
2216 (WebCore::JSXMLHttpRequestUpload::setOnabort):
2217 (WebCore::JSXMLHttpRequestUpload::onerror):
2218 (WebCore::JSXMLHttpRequestUpload::setOnerror):
2219 (WebCore::JSXMLHttpRequestUpload::onload):
2220 (WebCore::JSXMLHttpRequestUpload::setOnload):
2221 (WebCore::JSXMLHttpRequestUpload::onloadstart):
2222 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
2223 (WebCore::JSXMLHttpRequestUpload::onprogress):
2224 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
2225 (WebCore::JSXMLHttpRequestUpload::addEventListener):
2226 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2227 * bindings/scripts/CodeGeneratorJS.pm:
2228 * dom/EventTarget.h:
2229 * dom/EventTargetNode.cpp:
2230 (WebCore::EventTargetNode::associatedFrame):
2231 * dom/EventTargetNode.h:
2232 * dom/EventTargetNode.idl:
2233 * dom/MessagePort.cpp:
2234 (WebCore::MessagePort::associatedFrame):
2235 * dom/MessagePort.h:
2236 (WebCore::MessagePort::setOnmessage):
2237 (WebCore::MessagePort::onmessage):
2238 (WebCore::MessagePort::setOnclose):
2239 (WebCore::MessagePort::onclose):
2240 * dom/MessagePort.idl:
2241 * loader/appcache/DOMApplicationCache.h:
2242 (WebCore::DOMApplicationCache::setOnchecking):
2243 (WebCore::DOMApplicationCache::onchecking):
2244 (WebCore::DOMApplicationCache::setOnerror):
2245 (WebCore::DOMApplicationCache::onerror):
2246 (WebCore::DOMApplicationCache::setOnnoupdate):
2247 (WebCore::DOMApplicationCache::onnoupdate):
2248 (WebCore::DOMApplicationCache::setOndownloading):
2249 (WebCore::DOMApplicationCache::ondownloading):
2250 (WebCore::DOMApplicationCache::setOnprogress):
2251 (WebCore::DOMApplicationCache::onprogress):
2252 (WebCore::DOMApplicationCache::setOnupdateready):
2253 (WebCore::DOMApplicationCache::onupdateready):
2254 (WebCore::DOMApplicationCache::setOncached):
2255 (WebCore::DOMApplicationCache::oncached):
2256 (WebCore::DOMApplicationCache::associatedFrame):
2257 * loader/appcache/DOMApplicationCache.idl:
2258 * svg/EventTargetSVGElementInstance.cpp:
2259 (WebCore::EventTargetSVGElementInstance::associatedFrame):
2260 (WebCore::EventTargetSVGElementInstance::addEventListener):
2261 (WebCore::EventTargetSVGElementInstance::removeEventListener):
2262 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2263 * svg/EventTargetSVGElementInstance.h:
2264 * xml/XMLHttpRequest.cpp:
2265 (WebCore::XMLHttpRequest::associatedFrame):
2266 * xml/XMLHttpRequest.h:
2267 (WebCore::XMLHttpRequest::setOnreadystatechange):
2268 (WebCore::XMLHttpRequest::onreadystatechange):
2269 (WebCore::XMLHttpRequest::setOnabort):
2270 (WebCore::XMLHttpRequest::onabort):
2271 (WebCore::XMLHttpRequest::setOnerror):
2272 (WebCore::XMLHttpRequest::onerror):
2273 (WebCore::XMLHttpRequest::setOnload):
2274 (WebCore::XMLHttpRequest::onload):
2275 (WebCore::XMLHttpRequest::setOnloadstart):
2276 (WebCore::XMLHttpRequest::onloadstart):
2277 (WebCore::XMLHttpRequest::setOnprogress):
2278 (WebCore::XMLHttpRequest::onprogress):
2279 * xml/XMLHttpRequest.idl:
2280 * xml/XMLHttpRequestUpload.cpp:
2281 (WebCore::XMLHttpRequestUpload::associatedFrame):
2282 * xml/XMLHttpRequestUpload.h:
2283 (WebCore::XMLHttpRequestUpload::setOnabort):
2284 (WebCore::XMLHttpRequestUpload::onabort):
2285 (WebCore::XMLHttpRequestUpload::setOnerror):
2286 (WebCore::XMLHttpRequestUpload::onerror):
2287 (WebCore::XMLHttpRequestUpload::setOnload):
2288 (WebCore::XMLHttpRequestUpload::onload):
2289 (WebCore::XMLHttpRequestUpload::setOnloadstart):
2290 (WebCore::XMLHttpRequestUpload::onloadstart):
2291 (WebCore::XMLHttpRequestUpload::setOnprogress):
2292 (WebCore::XMLHttpRequestUpload::onprogress):
2293 * xml/XMLHttpRequestUpload.idl:
2294
darin@apple.com9451b7f2008-10-01 00:38:06 +000022952008-09-30 Darin Adler <darin@apple.com>
2296
2297 - roll out assertion breaking regression tests
2298
2299 * platform/ScrollView.cpp:
2300 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
2301 that fires in regression tests. Hyatt can add it back later. The assertion
2302 fires in the regression test because of layout that triggers repaint occuring
2303 during the process of removing a frame.
2304
adele@apple.comed74a6e2008-09-30 23:21:50 +000023052008-09-30 Adele Peterson <adele@apple.com>
2306
2307 Reviewed by Darin Adler.
2308
2309 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
2310 <rdar://problem/6222134> add a way to set color for input placeholder text
2311
2312 Test: fast/forms/placeholder-pseudo-style.html
2313
2314 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
2315 input elements when they are displaying the placeholder text.
2316
2317 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
2318 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
2319 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2320 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
2321 * css/html4.css: Add rule to make placeholder text default to darkGray.
2322
2323 * html/HTMLInputElement.cpp:
2324 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
2325 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
2326 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
2327 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
2328 (WebCore::HTMLInputElement::setValue): ditto.
2329 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
2330 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
2331 This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
2332 renderer will just ask the node if it should draw the placeholder.
2333 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
2334
2335 * rendering/RenderTextControl.cpp:
2336 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
2337 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
2338 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
2339 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
2340 This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
2341 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
2342 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
2343 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
2344 * rendering/RenderTextControl.h:
2345
bdakin@apple.com31845c52008-09-30 23:19:53 +000023462008-09-30 Beth Dakin <bdakin@apple.com>
2347
2348 Reviewed by Darin Adler.
2349
2350 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
2351 by failed allocation due to invalid counter/attr
2352 and corresponding: <rdar://problem/6152371>
2353
2354 * css/CSSParser.cpp:
2355 (WebCore::CSSParser::parseCounterContent): The spec indicates that
2356 only identifiers should be accepted here.
2357
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000023582008-09-30 Kevin McCullough <kmccullough@apple.com>
2359
kmccullough@apple.com88219342008-09-30 22:33:30 +00002360 Reviewed by Oliver Hunt.
2361
2362 Bug 21255: console.profileEnd() without a console.profile() crashes the
2363 web inspector
2364
2365 * page/Console.cpp:
2366 (WebCore::Console::profileEnd):
2367
23682008-09-30 Kevin McCullough <kmccullough@apple.com>
2369
kmccullough@apple.com86834eb2008-09-30 22:31:46 +00002370 Reviewed by Tim Hatcher.
2371
2372 Bug 21252: calling console.profile() with a title that is 2 chars or
2373 shorter does not linkify it
2374
2375 - Previously we tried to not linkify very short URLs but since profile
2376 titles can be any length this is not always true.
2377
2378 * page/inspector/inspector.js:
2379
hyatt@apple.comda9b3072008-09-30 21:30:56 +000023802008-09-30 Dave Hyatt <hyatt@apple.com>
2381
2382 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
2383 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
2384 (1) Not used on Mac
2385 (2) Used on Windows
2386 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
2387 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
2388 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
2389
2390 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
2391 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
2392 With the changes to this method, the new behavior is as follows:
2393 (1) Not used on Mac
2394 (2) Used on Windows
2395 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
2396 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
2397 (5) Not used on wx
2398
2399 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
2400 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
2401
2402 Reviewed by Sam Weinig
2403
2404 * ChangeLog:
2405 * dom/Document.cpp:
2406 (WebCore::Document::implicitClose):
2407 * platform/HostWindow.h:
2408 (WebCore::HostWindow::paint):
2409 * platform/ScrollView.h:
2410 * platform/gtk/ScrollViewGtk.cpp:
2411 * platform/mac/ScrollViewMac.mm:
2412 * platform/qt/ScrollViewQt.cpp:
2413 * platform/win/ScrollViewWin.cpp:
2414 * platform/wx/ScrollViewWx.cpp:
2415
timothy@apple.com92560da2008-09-30 20:57:49 +000024162008-09-30 Timothy Hatcher <timothy@apple.com>
2417
timothy@apple.com26fefbf2008-09-30 20:57:55 +00002418 Focus the DOM tree in the Web Inspector when a node is inspected.
2419 So when the search field has focus, the focus moves to the tree,
2420 allowing the arrow keys work. This can happen when using the new
2421 find in page feature.
2422
2423 https://bugs.webkit.org/show_bug.cgi?id=21251
2424
2425 Reviewed by Geoff Garen.
2426
2427 * page/inspector/ElementsPanel.js:
2428 (WebInspector.ElementsPanel): Set currentFocusElement to
2429 the main-panels element if the panel is visible.
2430 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2431 Remove a set of currentFocusElement since this moved.
2432 * page/inspector/inspector.js:
2433 (WebInspector.set currentFocusElement): Always focus the element.
2434 This ensures that when focus changes in the page and we don't
2435 catch it, we will still focus the elements even if we think it
2436 was already focused.
2437
24382008-09-30 Timothy Hatcher <timothy@apple.com>
2439
timothy@apple.com92560da2008-09-30 20:57:49 +00002440 Make the Web Inspector's toolbar icons darker when the mouse is
2441 pressed on them. This matches the standard NSToolbar look.
2442
2443 https://bugs.webkit.org/show_bug.cgi?id=21249
2444 rdar://problem/6033752
2445
2446 Reviewed by Adam Roben.
2447
2448 * page/inspector/Images/databasesIcon.png:
2449 * page/inspector/Images/elementsIcon.png:
2450 * page/inspector/Images/profilesIcon.png:
2451 * page/inspector/Images/resourcesIcon.png:
2452 * page/inspector/Images/scriptsIcon.png:
2453 * page/inspector/Panel.js:
2454 * page/inspector/inspector.css:
2455
kmccullough@apple.com622724e2008-09-30 20:26:29 +000024562008-09-30 Kevin McCullough <kmccullough@apple.com>
2457
2458 Reviewed by Tim Hatcher.
2459
2460 Bug 21139: Profiler log message is wrong
2461 - Correctly fix =(
2462 Don't call _format twice.
2463
2464 * page/Page.h:
2465 * page/inspector/Console.js:
2466 * page/inspector/ProfilesPanel.js:
2467 * page/inspector/inspector.js:
2468
hyatt@apple.com70936b52008-09-30 20:09:42 +000024692008-09-30 Dave Hyatt <hyatt@apple.com>
2470
2471 http://bugs.webkit.org/show_bug.cgi?id=21250
2472
2473 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
2474 repaints up through the ChromeClient.
2475
2476 Reviewed by Darin Adler
2477
2478 * loader/EmptyClients.h:
2479 (WebCore::EmptyChromeClient::repaint):
2480 * page/Chrome.cpp:
2481 (WebCore::Chrome::repaint):
2482 * page/Chrome.h:
2483 * page/ChromeClient.h:
2484 * page/FrameView.cpp:
2485 (WebCore::FrameView::hostWindow):
2486 (WebCore::FrameView::repaintContentRectangle):
2487 * page/FrameView.h:
2488 * platform/HostWindow.h:
2489 * platform/ScrollView.cpp:
2490 (WebCore::ScrollView::repaintContentRectangle):
2491 (WebCore::ScrollView::platformRepaintContentRectangle):
2492 * platform/ScrollView.h:
2493 * platform/gtk/ScrollViewGtk.cpp:
2494 * platform/mac/ScrollViewMac.mm:
2495 (WebCore::ScrollView::platformRepaintContentRectangle):
2496 * platform/qt/ScrollViewQt.cpp:
2497 * platform/win/ScrollViewWin.cpp:
2498 * platform/wx/ScrollViewWx.cpp:
2499 (WebCore::ScrollView::platformRepaintContentRectangle):
2500
ap@webkit.org8b67da02008-09-30 17:58:10 +000025012008-09-30 Alexey Proskuryakov <ap@webkit.org>
2502
2503 Non-Mac build fixes.
2504
2505 * GNUmakefile.am:
2506 * WebCore.pro:
2507 * WebCore.vcproj/WebCore.vcproj:
2508 * WebCoreSources.bkl:
2509 * webcore-base.bkl:
2510 Added DOMProtect.{cpp,h}.
2511
kdecker@apple.comdafe5102008-09-30 17:40:02 +000025122008-09-39 Kevin Decker <kdecker@apple.com>
2513
2514 Reviewed by John Sullivan.
2515
2516 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
2517 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
2518
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +000025192008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
2520
2521 Reviewed by Maciej Stachowiak.
2522
2523 Bug 21106: .in format discussed changes
2524 https://bugs.webkit.org/show_bug.cgi?id=21106
2525
2526 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
2527 is the only namespace used.
2528
2529 - Removed "generateFactory" and "generateWrapperFactory" parameters and
2530 re-introduced the command line options.
2531
2532 - Cleaned up the output of make_names.pl (removed unneeded new line).
2533
2534 * DerivedSources.make: Added factories command line options.
2535 * GNUmakefile.am: Ditto.
2536 * WebCore.pro: Ditto and removed some arguments that were migrated to
2537 the .in files.
2538
2539 * dom/make_names.pl: Clean up (see above).
2540
2541 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
2542 and "generateWrapperFactory" occurences.
2543 * html/HTMLTagNames.in: Ditto.
2544 * svg/svgattrs.in: Ditto.
2545 * svg/svgtags.in: Ditto.
2546 * svg/xlinkattrs.in: Ditto.
2547 * xml/xmlattrs.in: Ditto.
2548
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +000025492008-09-29 Chris Fleizach <cfleizach@apple.com>
2550
2551 Reviewed by John Sullivan.
2552
2553 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
2554 Make sure that certain types of elements do not return children and, moreover, do not waste their
2555 energy trying to return children
2556
2557 Test: accessibility/nochildren-elements.html
2558
2559 * page/AccessibilityObject.h:
2560 (WebCore::AccessibilityObject::canHaveChildren):
2561 * page/AccessibilityRenderObject.cpp:
2562 (WebCore::AccessibilityRenderObject::canHaveChildren):
2563 (WebCore::AccessibilityRenderObject::addChildren):
2564 * page/AccessibilityRenderObject.h:
2565
ap@webkit.orga0c037c2008-09-30 15:52:06 +000025662008-09-30 Alexey Proskuryakov <ap@webkit.org>
2567
2568 Reviewed by Sam Weinig.
2569
2570 https://bugs.webkit.org/show_bug.cgi?id=21213
2571 MessagePort crash when GC collects an object with a pending close event
2572
2573 Test: fast/events/message-channel-gc-2.html
2574 fast/events/message-channel-listener-circular-ownership.html
2575
2576 * bindings/DOMProtect.cpp: Added.
2577 (WebCore::gcProtectDOMObject):
2578 (WebCore::gcUnprotectDOMObject):
2579 * bindings/DOMProtect.h: Added.
2580 Added an abstraction for GC protection to avoid the need to call JS bindings code from
2581 DOM objects directly.
2582
2583 * dom/MessagePort.cpp:
2584 (WebCore::CloseMessagePortTimer::fired):
2585 (WebCore::MessagePort::queueCloseEvent):
2586 GC protect MessagePort wrapper while there is a pending close event.
2587 This may be necessary for message events, too, but that case is not a crasher, and actually
2588 behaves to the letter of the current HTML5 text, so I'll consider it later.
2589
2590 * xml/XMLHttpRequest.cpp:
2591 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2592 (WebCore::XMLHttpRequest::dropProtection):
2593 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
2594
2595 * bindings/js/JSMessagePortCustom.cpp:
2596 (WebCore::JSMessagePort::addEventListener):
2597 (WebCore::JSMessagePort::removeEventListener):
2598 (WebCore::JSMessagePort::setOnmessage):
2599 (WebCore::JSMessagePort::setOnclose):
2600 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
2601 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
2602
2603 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2604 (WebCore::JSXMLHttpRequestUpload::mark):
2605 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
2606 from XMLHttpRequest.
2607
aroben@apple.comd2272012008-09-30 14:17:28 +000026082008-09-30 Adam Roben <aroben@apple.com>
2609
2610 Windows build fix
2611
2612 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
2613
weinig@apple.comd516a572008-09-30 07:01:45 +000026142008-09-29 Sam Weinig <sam@webkit.org>
2615
2616 Reviewed by Tim Hatcher.
2617
2618 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
2619 Autogenerate JS event listeners
2620
2621 - Generate EventTargetNode.
2622
2623 * DerivedSources.make:
2624 * GNUmakefile.am:
2625 * WebCore.pro:
2626 * WebCore.vcproj/WebCore.vcproj:
2627 * WebCore.xcodeproj/project.pbxproj:
2628 * WebCoreSources.bkl:
2629 * bindings/js/JSEventListener.cpp:
2630 * bindings/js/JSEventTarget.cpp: Added.
2631 (WebCore::toJS):
2632 * bindings/js/JSEventTarget.h: Added.
2633 * bindings/js/JSEventTargetBase.cpp: Removed.
2634 * bindings/js/JSEventTargetBase.h:
2635 * bindings/js/JSEventTargetNode.cpp: Removed.
2636 * bindings/js/JSEventTargetNode.h: Removed.
2637 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
2638 (WebCore::JSEventTargetNode::addEventListener):
2639 (WebCore::JSEventTargetNode::removeEventListener):
2640 (WebCore::JSEventTargetNode::dispatchEvent):
2641 (WebCore::JSEventTargetNode::getListener):
2642 (WebCore::JSEventTargetNode::setListener):
2643 (WebCore::JSEventTargetNode::pushEventHandlerScope):
2644 * bindings/js/JSEventTargetSVGElementInstance.cpp:
2645 (WebCore::):
2646 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
2647 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
2648 (jsEventTargetAddEventListener):
2649 (jsEventTargetRemoveEventListener):
2650 (jsEventTargetDispatchEvent):
2651 * bindings/js/JSEventTargetSVGElementInstance.h:
2652 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
2653 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
2654 * bindings/scripts/CodeGeneratorJS.pm:
2655 * dom/EventTargetNode.idl: Added.
2656
darin@apple.com8d35fe02008-09-30 01:14:26 +000026572008-09-29 Darin Adler <darin@apple.com>
2658
2659 Reviewed by Sam Weinig.
2660
2661 - https://bugs.webkit.org/show_bug.cgi?id=21214
2662 work on getting rid of ExecState
2663
2664 * bindings/js/JSDOMWindowBase.cpp:
2665 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
2666 for base class constructor.
2667
hyatt@apple.com4ba85692008-09-30 00:42:25 +000026682008-09-29 David Hyatt <hyatt@apple.com>
2669
2670 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
2671 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
2672 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
2673 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
2674
2675 Reviewed by Sam Weinig
2676
2677 * WebCore.xcodeproj/project.pbxproj:
2678 * page/Chrome.h:
2679 * platform/HostWindow.h: Added.
2680 (WebCore::HostWindow::HostWindow):
2681 (WebCore::HostWindow::~HostWindow):
2682
kdecker@apple.com0a129d72008-09-30 00:17:15 +000026832008-09-29 Kevin Decker <kdecker@apple.com>
2684
2685 Reviewed by Anders Carlsson.
2686
2687 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
2688 2000.
2689
mitz@apple.comd58d8382008-09-29 23:42:38 +000026902008-09-29 Dan Bernstein <mitz@apple.com>
2691
2692 Reviewed by Adam Roben.
2693
2694 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
2695
2696 * rendering/RenderThemeWin.cpp:
2697 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
2698 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
2699 unloaded, to avoid calling uxtheme.dll functions after that library has
2700 been unloaded.
2701 * rendering/RenderThemeWin.h:
2702
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +000027032008-09-29 Chris Fleizach <cfleizach@apple.com>
2704
2705 Reviewed by John Sullivan
2706
2707 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
2708
2709 Sends AXLoadComplete only when the top level web area is finished loading
2710
2711 * dom/Document.cpp:
2712 (WebCore::Document::implicitClose):
2713
timothy@apple.com96fff242008-09-29 22:34:10 +000027142008-09-29 Timothy Hatcher <timothy@apple.com>
2715
2716 Makes the node highlight always show up when hovering a node in
2717 the Web Inspector now that the highlight does not scroll to reveal
2718 the node. Also adds a hover effect in the inspector when hovering
2719 causes a highlight in the page. This ties the user hovering action
2720 to the highlight so it is clear what causes the highlight to appear.
2721
2722 Also the highlight now temporarily shows up for 2 seconds after
2723 selecting a node in the DOM tree. So arrowing around in the tree
2724 will show the node on the page, providing feedback to the user.
2725
2726 Plus fixes an issue where quickly moving away from hovering
2727 a node would keep showing the page highlight. This was happening
2728 in breadcrumbs and the DOM tree.
2729
2730 https://bugs.webkit.org/show_bug.cgi?id=21220
2731
2732 Reviewed by Kevin McCullough.
2733
2734 * page/inspector/Console.js:
2735 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
2736 hovering DOM nodes in the console.
2737 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
2738 (WebInspector.Console.prototype._formatnode): Use the new event
2739 listeners and add a class name to the anchor element.
2740 * page/inspector/ElementsPanel.js:
2741 (WebInspector.ElementsPanel): Add new event listeners to the
2742 crumbs element to do the node hovering highlight.
2743 (WebInspector.ElementsPanel.prototype.hide):
2744 (WebInspector.ElementsPanel.prototype.reset):
2745 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
2746 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
2747 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2748 * page/inspector/ElementsTreeOutline.js:
2749 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2750 Show the node hishlight for 2 seconds then restore the highlight
2751 to the current hovered node.
2752 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
2753 hovered node and set the hovered state on the tree element.
2754 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
2755 hovered node to null and removed the hovered state from the previous
2756 hovered tree element.
2757 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
2758 the hovered class to the list item.
2759 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
2760 * page/inspector/inspector.css:
2761 * page/inspector/inspector.js:
2762 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
2763 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
2764 causes the highlight to change sooner if there is one already showing
2765 and appear later if there isn't one showing. This is like tooltips,
2766 hovering a node for 500ms will cause highlight then mousing between nodes
2767 will keep the highlight and change to the new node.
2768 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
2769 always reset the timeout so continuous mousing does not keep flasshing
2770 the highlight on the screen.
2771 (WebInspector._updateHoverHighlight): Removed the alt key check and added
2772 the showingDOMNodeHighlight property.
2773 (WebInspector.documentKeyDown): Removed the alt key check.
2774 (WebInspector.documentKeyUp): Ditto.
2775 (WebInspector.reset): Clear the hoveredDOMNode.
2776
simon.fraser@apple.com8a565532008-09-29 22:04:38 +000027772008-09-29 Simon Fraser <simon.fraser@apple.com>
2778
2779 Reviewed by Anders Carlsson
2780
2781 Fix RenderStyle leak in animation code, and assert that
2782 keyframe resolution in CSSStyleSelector is not going to clobber
2783 m_style.
2784
2785 * css/CSSStyleSelector.cpp:
2786 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
2787 * page/animation/KeyframeAnimation.cpp:
2788 (WebCore::KeyframeAnimation::~KeyframeAnimation):
2789
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000027902008-09-29 Chris Marrin <cmarrin@apple.com>
2791
simon.fraser@apple.come979de02008-09-29 21:31:26 +00002792 Reviewed by Dave Hyatt
2793
2794 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
2795 Rewrite keyframe resolution to be like styleForElement()
2796
2797 Test: animations/lineheight-animation.html
2798
2799 * css/CSSStyleSelector.cpp:
2800 (WebCore::CSSStyleSelector::addKeyframeStyle):
2801 (WebCore::CSSStyleSelector::~CSSStyleSelector):
2802 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
2803 (WebCore::CSSRuleSet::addRulesFromSheet):
2804 (WebCore::CSSStyleSelector::mapAnimationName):
2805 * css/CSSStyleSelector.h:
2806 * page/animation/CompositeAnimation.cpp:
2807 (WebCore::CompositeAnimation::updateKeyframeAnimations):
2808 * page/animation/KeyframeAnimation.cpp:
2809 (WebCore::KeyframeAnimation::KeyframeAnimation):
2810 (WebCore::KeyframeAnimation::animate):
2811 (WebCore::KeyframeAnimation::hasAnimationForProperty):
2812 (WebCore::KeyframeAnimation::sendAnimationEvent):
2813 (WebCore::KeyframeAnimation::overrideAnimations):
2814 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
2815 (WebCore::KeyframeAnimation::affectsProperty):
2816 (WebCore::KeyframeAnimation::validateTransformFunctionList):
2817 * page/animation/KeyframeAnimation.h:
2818 * rendering/style/Animation.cpp:
2819 (WebCore::Animation::animationsMatch):
2820 * rendering/style/Animation.h:
2821 * rendering/style/KeyframeList.cpp:
2822 (WebCore::KeyframeList::~KeyframeList):
2823 (WebCore::KeyframeList::clear):
2824 (WebCore::KeyframeList::insert):
2825 * rendering/style/KeyframeList.h:
2826 (WebCore::KeyframeValue::KeyframeValue):
2827 (WebCore::KeyframeList::KeyframeList):
2828 (WebCore::KeyframeList::operator!=):
2829 (WebCore::KeyframeList::animationName):
2830 (WebCore::KeyframeList::addProperty):
2831 (WebCore::KeyframeList::containsProperty):
2832 (WebCore::KeyframeList::beginProperties):
2833 (WebCore::KeyframeList::endProperties):
2834 (WebCore::KeyframeList::isEmpty):
2835 (WebCore::KeyframeList::size):
2836 (WebCore::KeyframeList::beginKeyframes):
2837 (WebCore::KeyframeList::endKeyframes):
2838 * rendering/style/RenderStyle.h:
2839 * rendering/style/StyleRareNonInheritedData.cpp:
2840 * rendering/style/StyleRareNonInheritedData.h:
2841
28422008-09-29 Chris Marrin <cmarrin@apple.com>
2843
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00002844 Reviewed by Eric Seidel
2845
simon.fraser@apple.comff913022008-09-29 21:24:52 +00002846 Clean up fix in PropertyWrapperGetter::equals
2847 https://bugs.webkit.org/show_bug.cgi?id=21011
2848
2849 Test: transitions/override-transition-crash.html
2850
2851 * page/animation/AnimationBase.cpp:
2852 (WebCore::PropertyWrapperGetter::equals):
2853 * page/animation/CompositeAnimation.cpp:
2854 (WebCore::CompositeAnimation::updateTransitions):
2855
28562008-09-29 Chris Marrin <cmarrin@apple.com>
2857
2858 Reviewed by Eric Seidel
2859
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00002860 https://bugs.webkit.org/show_bug.cgi?id=21001
2861 Starting transition after animation, when animation
2862 is finished, transition is wrong.
2863
2864 Test: animations/transition-and-animation-2.html
2865
2866 * page/animation/AnimationBase.h:
2867 * page/animation/CompositeAnimation.cpp:
2868 (WebCore::CompositeAnimation::updateTransitions):
2869 (WebCore::CompositeAnimation::updateKeyframeAnimations):
2870 (WebCore::CompositeAnimation::resetTransitions):
2871 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
2872 * page/animation/ImplicitAnimation.cpp:
2873 (WebCore::ImplicitAnimation::ImplicitAnimation):
2874 (WebCore::ImplicitAnimation::~ImplicitAnimation):
2875 (WebCore::ImplicitAnimation::animate):
2876 (WebCore::ImplicitAnimation::reset):
2877 * page/animation/ImplicitAnimation.h:
2878
28792008-09-29 Chris Marrin <cmarrin@apple.com>
2880
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +00002881 Reviewed by Sam Weinig
2882
2883 https://bugs.webkit.org/show_bug.cgi?id=20921
2884 -webkit-animation-timing-function: inside of keyframes is ignored
2885
2886 Test: animations/keyframe-timing-functions.html
2887
2888 * page/animation/AnimationBase.cpp:
2889 (WebCore::AnimationBase::progress):
2890 * page/animation/AnimationBase.h:
2891 * page/animation/ImplicitAnimation.cpp:
2892 (WebCore::ImplicitAnimation::animate):
2893 * page/animation/KeyframeAnimation.cpp:
2894 (WebCore::KeyframeAnimation::animate):
2895
mitz@apple.com2449a052008-09-29 20:57:33 +000028962008-09-29 Dan Bernstein <mitz@apple.com>
2897
mitz@apple.com9a3e3c82008-09-29 21:04:54 +00002898 - Windows build fix
2899
2900 * platform/ScrollView.cpp:
2901 (WebCore::ScrollView::platformScroll):
2902
29032008-09-29 Dan Bernstein <mitz@apple.com>
2904
mitz@apple.com2449a052008-09-29 20:57:33 +00002905 - another attempt at a Windows build fix
2906
2907 * platform/ScrollView.cpp:
2908 (WebCore::platformScroll):
2909
29102008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +00002911
2912 - Windows build fix
2913
2914 * platform/ScrollView.cpp:
2915 (WebCore::ScrollView::platformSetScrollPosition):
2916
hyatt@apple.com90abd562008-09-29 19:46:37 +000029172008-09-29 David Hyatt <hyatt@apple.com>
2918
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +00002919 https://bugs.webkit.org/show_bug.cgi?id=21218
2920
2921 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
2922 It's silly that the code was this fragile, but for now just put the check back in.
2923
2924 Reviewed by Dan Bernstein
2925
2926 * platform/ScrollView.cpp:
2927 (WebCore::ScrollView::setScrollbarModes):
2928
29292008-09-29 David Hyatt <hyatt@apple.com>
2930
hyatt@apple.com90abd562008-09-29 19:46:37 +00002931 https://bugs.webkit.org/show_bug.cgi?id=21216
2932
2933 Make setScrollPosition and scroll() cross-platform.
2934
2935 Reviewed by Anders
2936
2937 * platform/ScrollView.cpp:
2938 (WebCore::ScrollView::setScrollPosition):
2939 (WebCore::ScrollView::scroll):
2940 * platform/ScrollView.h:
2941 * platform/gtk/ScrollViewGtk.cpp:
2942 * platform/mac/ScrollViewMac.mm:
2943 (WebCore::ScrollView::platformSetScrollPosition):
2944 (WebCore::ScrollView::platformScroll):
2945 * platform/qt/ScrollViewQt.cpp:
2946 * platform/win/ScrollViewWin.cpp:
2947 * platform/wx/ScrollViewWx.cpp:
2948 (WebCore::ScrollView::platformSetScrollPosition):
2949 (WebCore::ScrollView::platformScroll):
2950
kmccullough@apple.comed371682008-09-29 19:09:44 +000029512008-09-29 Kevin McCullough <kmccullough@apple.com>
2952
2953 Reviewed by Oliver.
2954
2955 Bug 21139: Profiler log message is wrong
2956 - Because _format was called twice the number in the log was incremented
2957 too many times, but we were passing it around in the link the whole time
2958
2959 * page/inspector/ProfilesPanel.js:
2960 * page/inspector/inspector.js:
2961
weinig@apple.com7f3f95f2008-09-29 19:09:02 +000029622008-09-29 Sam Weinig <sam@webkit.org>
2963
2964 Reviewed by Cameron Zwarich.
2965
2966 Autogenerate EventListeners, addEventListener and removeEventListener
2967 for JSDOMWindow.
2968
2969 * bindings/js/JSDOMWindowBase.cpp:
2970 * bindings/js/JSDOMWindowBase.h:
2971 * bindings/js/JSDOMWindowCustom.cpp:
2972 (WebCore::JSDOMWindow::onwebkitanimationstart):
2973 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
2974 (WebCore::JSDOMWindow::onwebkitanimationiteration):
2975 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
2976 (WebCore::JSDOMWindow::onwebkitanimationend):
2977 (WebCore::JSDOMWindow::setOnwebkitanimationend):
2978 (WebCore::JSDOMWindow::onwebkittransitionend):
2979 (WebCore::JSDOMWindow::setOnwebkittransitionend):
2980 (WebCore::JSDOMWindow::addEventListener):
2981 (WebCore::JSDOMWindow::removeEventListener):
2982 (WebCore::JSDOMWindow::setListener):
2983 (WebCore::JSDOMWindow::getListener):
2984 * bindings/scripts/CodeGeneratorJS.pm:
2985 * page/DOMWindow.idl:
2986
hausmann@webkit.orgf6964472008-09-29 12:47:08 +000029872008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
2988
2989 Reviewed by Simon.
2990
2991 Changed copyright from Trolltech ASA to Nokia.
2992
2993 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
2994
2995 * bindings/js/JSMimeTypeArrayCustom.cpp:
2996 * bindings/js/JSNavigatorCustom.cpp:
2997 * bindings/js/JSPluginArrayCustom.cpp:
2998 * bindings/js/JSPluginCustom.cpp:
2999 * bindings/js/ScriptControllerMac.mm:
3000 * bindings/js/ScriptControllerQt.cpp:
3001 * bridge/qt/qt_class.cpp:
3002 * bridge/qt/qt_class.h:
3003 * bridge/qt/qt_instance.cpp:
3004 * bridge/qt/qt_instance.h:
3005 * bridge/qt/qt_runtime.cpp:
3006 * bridge/qt/qt_runtime.h:
3007 * bridge/testqtbindings.cpp:
3008 * css/makegrammar.pl:
3009 * css/makeprop.pl:
3010 * css/makevalues.pl:
3011 * dom/Node.cpp:
3012 * dom/TagNodeList.cpp:
3013 * dom/TagNodeList.h:
3014 * dom/XMLTokenizer.cpp:
3015 * dom/XMLTokenizer.h:
3016 * dom/XMLTokenizerLibxml2.cpp:
3017 * dom/XMLTokenizerQt.cpp:
3018 * editing/Editor.cpp:
3019 * editing/EditorCommand.cpp:
3020 * html/CanvasRenderingContext2D.cpp:
3021 * html/CanvasStyle.cpp:
3022 * html/HTMLAppletElement.cpp:
3023 * html/HTMLEmbedElement.cpp:
3024 * html/HTMLObjectElement.cpp:
3025 * loader/FrameLoader.cpp:
3026 * page/Chrome.cpp:
3027 * page/EditorClient.h:
3028 * page/Frame.cpp:
3029 * page/Frame.h:
3030 * page/FramePrivate.h:
3031 * page/Navigator.cpp:
3032 * page/Navigator.h:
3033 * page/Navigator.idl:
3034 * page/mac/FrameMac.mm:
3035 * page/qt/EventHandlerQt.cpp:
3036 * platform/graphics/qt/FontCacheQt.cpp:
3037 * platform/graphics/qt/FontCustomPlatformData.cpp:
3038 * platform/graphics/qt/FontCustomPlatformData.h:
3039 * platform/graphics/qt/FontPlatformData.h:
3040 * platform/graphics/qt/FontQt.cpp:
3041 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
3042 * platform/graphics/qt/GraphicsContextQt.cpp:
3043 * platform/graphics/qt/ImageDecoderQt.cpp:
3044 * platform/graphics/qt/ImageDecoderQt.h:
3045 * platform/graphics/qt/ImageSourceQt.cpp:
3046 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3047 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3048 * platform/graphics/qt/SimpleFontDataQt.cpp:
3049 * platform/gtk/MIMETypeRegistryGtk.cpp:
3050 * platform/mac/MIMETypeRegistryMac.mm:
3051 * platform/network/qt/QNetworkReplyHandler.cpp:
3052 * platform/network/qt/QNetworkReplyHandler.h:
3053 * platform/network/qt/ResourceHandleQt.cpp:
3054 * platform/network/qt/ResourceRequestQt.cpp:
3055 * platform/qt/ClipboardQt.cpp:
3056 * platform/qt/EventLoopQt.cpp:
3057 * platform/qt/KURLQt.cpp:
3058 * platform/qt/LoggingQt.cpp:
3059 * platform/qt/MIMETypeRegistryQt.cpp:
3060 * platform/qt/PasteboardQt.cpp:
3061 * platform/qt/PlatformScreenQt.cpp:
3062 * platform/qt/PopupMenuQt.cpp:
3063 * platform/qt/QWebPopup.cpp:
3064 * platform/qt/QWebPopup.h:
3065 * platform/qt/RenderThemeQt.cpp:
3066 * platform/qt/ScrollbarQt.cpp:
3067 * platform/qt/ScrollbarThemeQt.cpp:
3068 * platform/qt/WheelEventQt.cpp:
3069 * platform/qt/html4-adjustments-qt.css:
3070 * platform/wx/MimeTypeRegistryWx.cpp:
3071 * plugins/MimeType.cpp:
3072 * plugins/MimeType.h:
3073 * plugins/MimeType.idl:
3074 * plugins/MimeTypeArray.cpp:
3075 * plugins/MimeTypeArray.h:
3076 * plugins/MimeTypeArray.idl:
3077 * plugins/Plugin.cpp:
3078 * plugins/Plugin.h:
3079 * plugins/Plugin.idl:
3080 * plugins/PluginArray.cpp:
3081 * plugins/PluginArray.h:
3082 * plugins/PluginArray.idl:
3083 * plugins/PluginData.cpp:
3084 * plugins/PluginData.h:
3085 * plugins/gtk/PluginDataGtk.cpp:
3086 * plugins/mac/PluginDataMac.mm:
3087 * plugins/qt/PluginDataQt.cpp:
3088 * plugins/win/PluginDataWin.cpp:
3089 * rendering/RenderTableCol.cpp:
3090 * rendering/RenderTableCol.h:
3091
hausmann@webkit.org37374992008-09-29 09:03:09 +000030922008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
3093
3094 Reviewed by Simon
3095
3096 Fix compilation with gcc 4.3
3097
3098 gcc 4.3 is stricter and ctype.h isn't getting included
3099 automatically here by dependencies. So do it directly.
3100
3101 * platform/qt/PlatformKeyboardEventQt.cpp:
3102
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +000031032008-09-29 Morten Sørvig <msorvig@trolltech.com>
3104
3105 Reviewed by Simon.
3106
3107 Fix compilation with Qt/Mac without plugins.
3108
3109 * platform/qt/TemporaryLinkStubs.cpp:
3110
mrowe@apple.com2c478db2008-09-29 08:20:37 +000031112008-09-29 Mark Rowe <mrowe@apple.com>
3112
3113 Reviewed by Sam Weinig.
3114
3115 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
3116 In the few places that we call .upper() in WebCore the strings represent things like
3117 tag and attribute names, which are nearly always going to be ASCII.
3118
3119 * platform/text/StringImpl.cpp:
3120 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
3121 in to Unicode::toLower the second time.
3122 (WebCore::StringImpl::upper):
3123
mrowe@apple.com512eca02008-09-29 08:19:09 +000031242008-09-28 Mark Rowe <mrowe@apple.com>
3125
mrowe@apple.com49797322008-09-29 08:19:14 +00003126 Reviewed by Sam Weinig.
3127
3128 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
3129 rather than String::operator+=.
3130
3131 * css/CSSPrimitiveValue.cpp:
3132 (WebCore::CSSPrimitiveValue::cssText):
3133
31342008-09-28 Mark Rowe <mrowe@apple.com>
3135
mrowe@apple.com512eca02008-09-29 08:19:09 +00003136 Reviewed by Oliver Hunt.
3137
3138 Speed up computedStyle.getPropertyValue('color') by 4.5x.
3139
3140 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
3141 as it avoids many memory reallocations.
3142
3143 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
3144 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
3145 unrelated properties on an element.
3146
3147 * css/CSSPrimitiveValue.cpp:
3148 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
3149 and use appendNumber rather than the String::number in order to cut down on memory allocations.
3150 * platform/text/PlatformString.h:
3151 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
3152 into a Vector<UChar>.
3153
weinig@apple.com4df73d92008-09-29 03:41:35 +000031542008-09-28 Sam Weinig <sam@webkit.org>
3155
weinig@apple.com9af39ef2008-09-29 04:16:15 +00003156 Reviewed by Anders Carlsson.
3157
3158 Remove spurious call to lower().
3159
3160 * css/MediaQueryEvaluator.cpp:
3161 (WebCore::MediaQueryEvaluator):
3162
31632008-09-28 Sam Weinig <sam@webkit.org>
3164
weinig@apple.com4df73d92008-09-29 03:41:35 +00003165 Reviewed by Dan Bernstein.
3166
3167 Use a CaseFoldingHash instead of calling lower on family strings.
3168
3169 * css/CSSFontSelector.cpp:
3170 (WebCore::CSSFontSelector::addFontFaceRule):
3171 (WebCore::CSSFontSelector::getFontData):
3172 * css/CSSFontSelector.h:
3173
timothy@apple.com810c9892008-09-28 23:31:25 +000031742008-09-28 Timothy Hatcher <timothy@apple.com>
3175
3176 Remove the scrollIntoViewIfNeeded() call when drawing the
3177 Inspector node highlight.
3178
3179 <rdar://problem/6115804> Don't scroll when highlighting (21000)
3180 https://bugs.webkit.org/show_bug.cgi?id=21000
3181
3182 Reviewed by Dan Bernstein.
3183
3184 * page/InspectorController.cpp:
3185 (WebCore::InspectorController::drawNodeHighlight):
3186
hyatt@apple.come6ebc992008-09-28 19:58:14 +000031872008-09-28 David Hyatt <hyatt@apple.com>
3188
3189 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
3190 changed.
3191
3192 Reviewed by Dan Bernstein
3193
3194 * platform/mac/ScrollbarThemeMac.mm:
3195 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
3196
timothy@apple.com47a6d492008-09-28 19:52:30 +000031972008-09-28 Timothy Hatcher <timothy@apple.com>
3198
3199 Clear the current search results in the Inspector when
3200 the search query is less than 3 characters long. Incremental
3201 searches only occur for 3 characters or longer, but deleting
3202 under this limit would not clear the results unless the whole
3203 query was deleted.
3204
3205 https://bugs.webkit.org/show_bug.cgi?id=21196
3206
3207 Reviewed by Dan Bernstein.
3208
3209 * page/inspector/inspector.js:
3210 (WebInspector.performSearch): Check for short queries in the
3211 if statement that triggers the clear.
3212
mitz@apple.comc7980632008-09-28 19:38:50 +000032132008-09-28 Dan Bernstein <mitz@apple.com>
3214
3215 Reviewed by Dave Hyatt.
3216
3217 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
3218
3219 * platform/graphics/win/FontCustomPlatformData.cpp:
3220 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
3221 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +00003222 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +00003223 m_overlayLength bytes starting at m_overlayDst with the same number of
3224 bytes from m_overlaySrc.
3225 (WebCore::createFontCustomPlatformData): Changed to get overlay
3226 parameters from getEOTHeader.
3227 * platform/graphics/win/GetEOTHeader.cpp:
3228 (WebCore::getEOTHeader): Added code to specify overlaying of the
3229 family name with the prefix of the full name if they differ, because
3230 that such a difference causes TTLoadEmbeddedFont to fail.
3231 * platform/graphics/win/GetEOTHeader.h:
3232
ap@webkit.orgdf67f132008-09-28 13:23:51 +000032332008-09-28 Alexey Proskuryakov <ap@webkit.org>
3234
3235 Reviewed by Eric Seidel.
3236
3237 https://bugs.webkit.org/show_bug.cgi?id=20366
3238 Reproducible test failure for editing/undo/undo-iframe-location-change.html
3239
3240 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
3241
darin@apple.com80c76ce2008-09-28 09:35:06 +000032422008-09-28 Darin Adler <darin@apple.com>
3243
3244 Reviewed by Sam Weinig (except for a few comment and header tweaks).
3245
3246 - https://bugs.webkit.org/show_bug.cgi?id=21158
3247 reduce use of virtual functions in Node for speed
3248
3249 Speeds up Dromaeo a bit less than 1%.
3250
3251 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
3252 Node.h now that some inlines are in there.
3253
3254 * dom/Attr.h: Override both the virtual and non-virtual name functions.
3255
3256 * dom/ChildNodeList.cpp:
3257 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
3258 * dom/ChildNodeList.h: Ditto.
3259 * dom/ClassNodeList.cpp:
3260 (WebCore::ClassNodeList::nodeMatches): Ditto.
3261 * dom/ClassNodeList.h: Ditto.
3262
3263 * dom/Document.h: Put the Node::isDocumentNode() function's inline
3264 definition here where it can see the Document class definition.
3265
3266 * dom/DynamicNodeList.cpp:
3267 (WebCore::DynamicNodeList::length): Changed to pass an Element.
3268 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
3269 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
3270 (WebCore::DynamicNodeList::itemWithName): Ditto.
3271 * dom/DynamicNodeList.h: Ditto.
3272
3273 * dom/Element.cpp: Removed virtualHasTagName.
3274 * dom/Element.h: Made localName, prefix, namespaceURI, and
3275 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
3276 virtualNamespaceURI, and removed virtualHasTagName. Put the
3277 Node::hasTagName, Node::hasAttributes, and Node::attributes
3278 functions' inline definitions here where they can see the Element
3279 class definition.
3280
3281 * dom/NameNodeList.cpp:
3282 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
3283 * dom/NameNodeList.h: Ditto.
3284
3285 * dom/Node.cpp:
3286 (WebCore::Node::virtualPrefix): Renamed from prefix.
3287 (WebCore::Node::virtualLocalName): Renamed from localName.
3288 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
3289 (WebCore::Node::styleForRenderer): Handle the Element case here.
3290
3291 * dom/Node.h: Removed definition of hasTagName that calls virtual,
3292 since we now have a non-virtual version. Made hasAttributes,
3293 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
3294 and styleForRenderer non-virtual. Added virtualPrefix,
3295 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
3296 and setMalformed, which are used only on HTMLFormElement objects.
3297
3298 * dom/TagNodeList.cpp:
3299 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
3300 * dom/TagNodeList.h: Ditto.
3301
3302 * html/HTMLAnchorElement.cpp: Added a comment.
3303 * html/HTMLFormControlElement.cpp: Ditto.
3304
3305 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
3306 function. Marked tabIndex function virtual explicitly for clarity.
3307
3308 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
3309 function. Marked isFocusable function virtual explicitly for clarity.
3310
3311 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
3312 clarity.
3313 * html/HTMLFormControlElement.h: Ditto.
3314
3315 * html/HTMLFormElement.h: Made isMalformed non-virtual.
3316
3317 * html/HTMLParser.cpp:
3318 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
3319 pointer to call localName since that one does not need to call a virtual
3320 function.
3321
3322 * rendering/RenderBlock.cpp:
3323 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
3324 calling isMalformed. We already did a tag name check so we know it's
3325 an HTMLFormELement.
3326
3327 * xml/XPathUtil.cpp:
3328 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
3329 to nodeType(), since it's a virtual function.
3330
hyatt@apple.com2225aef2008-09-28 08:52:26 +000033312008-09-28 David Hyatt <hyatt@apple.com>
3332
3333 Make frameRectsChanged() cross-platform on ScrollView.
3334
3335 Reviewed by Oliver Hunt
3336
3337 * platform/ScrollView.cpp:
3338 (WebCore::ScrollView::frameRectsChanged):
3339 * platform/ScrollView.h:
3340 * platform/gtk/ScrollViewGtk.cpp:
3341 * platform/qt/ScrollViewQt.cpp:
3342 * platform/win/ScrollViewWin.cpp:
3343 * platform/wx/ScrollViewWx.cpp:
3344
oliver@apple.combec35402008-09-28 08:36:39 +000033452008-09-28 Oliver Hunt <oliver@apple.com>
3346
3347 Reviewed by Maciej Stachowiak.
3348
3349 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
3350 <https://bugs.webkit.org/show_bug.cgi?id=21141>
3351
3352 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
3353 were not initialising their StructureID's to indicate that the wrapper
3354 overrides hasInstance, etc. The solution is simply to use the createStructureID
3355 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
3356
3357 * bindings/js/JSInspectedObjectWrapper.cpp:
3358 (WebCore::JSInspectedObjectWrapper::wrap):
3359
hyatt@apple.comaede3de2008-09-28 08:21:09 +000033602008-09-28 David Hyatt <hyatt@apple.com>
3361
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +00003362 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
3363 terms of lines.
3364
3365 Reviewed by Oliver Hunt
3366
3367 * dom/EventTargetNode.cpp:
3368 (WebCore::EventTargetNode::dispatchWheelEvent):
3369
33702008-09-28 David Hyatt <hyatt@apple.com>
3371
hyatt@apple.comaede3de2008-09-28 08:21:09 +00003372 https://bugs.webkit.org/show_bug.cgi?id=21191
3373
3374 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
3375 on ScrollView to be cross-platform.
3376
3377 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
3378 events are now pixel wheel events.
3379
3380 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
3381 (1) Page scrolling has been corrected to be properly detected (on Windows
3382 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
3383 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
3384 you could page scroll horizontally.
3385 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
3386 This caused the scroll amount for page scrolling to be way too large on layers.
3387
3388 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
3389
3390 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
3391 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
3392
3393 Reviewed by Oliver Hunt
3394
3395 * editing/EditorCommand.cpp:
3396 (WebCore::verticalScrollDistance):
3397 * page/EventHandler.cpp:
3398 (WebCore::scrollAndAcceptEvent):
3399 (WebCore::EventHandler::handleWheelEvent):
3400 * platform/PlatformWheelEvent.h:
3401 (WebCore::):
3402 (WebCore::PlatformWheelEvent::pos):
3403 (WebCore::PlatformWheelEvent::globalPos):
3404 (WebCore::PlatformWheelEvent::deltaX):
3405 (WebCore::PlatformWheelEvent::deltaY):
3406 (WebCore::PlatformWheelEvent::granularity):
3407 (WebCore::PlatformWheelEvent::x):
3408 (WebCore::PlatformWheelEvent::globalX):
3409 (WebCore::PlatformWheelEvent::ignore):
3410 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
3411 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
3412 * platform/ScrollView.cpp:
3413 (WebCore::ScrollView::wheelEvent):
3414 * platform/Scrollbar.h:
3415 * platform/gtk/ScrollViewGtk.cpp:
3416 (WebCore::ScrollView::updateScrollbars):
3417 * platform/gtk/WheelEventGtk.cpp:
3418 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3419 * platform/mac/ScrollViewMac.mm:
3420 * platform/mac/WheelEventMac.mm:
3421 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3422 * platform/qt/ScrollViewQt.cpp:
3423 (WebCore::ScrollView::updateScrollbars):
3424 * platform/qt/WheelEventQt.cpp:
3425 * platform/win/ScrollViewWin.cpp:
3426 (WebCore::ScrollView::updateScrollbars):
3427 * platform/win/WheelEventWin.cpp:
3428 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
3429 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
3430 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3431 * platform/wx/ScrollViewWx.cpp:
3432 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
3433 (WebCore::ScrollView::wheelEvent):
3434 * rendering/RenderLayer.cpp:
3435 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3436
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +000034372008-09-27 Eric Carlson <eric.carlson@apple.com>
3438
3439 Reviewed by Sam Weinig.
3440
3441 fix https://bugs.webkit.org/show_bug.cgi?id=20994
3442 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
3443
3444 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
3445 all unsigned media attributes from string with toUInt() instead of toInt().
3446
3447 * html/HTMLMediaElement.cpp:
3448 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
3449
3450 * html/HTMLVideoElement.cpp:
3451 (WebCore::HTMLVideoElement::videoWidth):
3452 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
3453 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
3454 unsigned value.
3455 (WebCore::HTMLVideoElement::height): Ditto.
3456 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
3457 (WebCore::HTMLVideoElement::setHeight): Ditto.
3458
3459 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
3460
3461 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
3462
timothy@apple.coma8215632008-09-28 04:40:53 +000034632008-09-27 Timothy Hatcher <timothy@apple.com>
3464
timothy@apple.combe91da22008-09-28 04:40:58 +00003465 Fixes an exception when typing a command in the Console.
3466
3467 Reviewed by Oliver Hunt.
3468
3469 * page/inspector/Console.js:
3470 (WebInspector.Console.prototype.addMessage): Null check
3471 this.previosMessage.
3472
34732008-09-27 Timothy Hatcher <timothy@apple.com>
3474
timothy@apple.coma8215632008-09-28 04:40:53 +00003475 Fixes a bug where the Profiles panel sidebar would be empty
3476 after closing and reopening the Web Inspector.
3477
3478 https://bugs.webkit.org/show_bug.cgi?id=21179
3479
3480 Reviewed by Sam Weinig.
3481
3482 * page/inspector/ProfilesPanel.js:
3483 (WebInspector.ProfilesPanel.prototype.reset): Don't call
3484 populateInterface, it is called automatically.
3485 (WebInspector.ProfilesPanel.prototype._populateProfiles):
3486 Return early if the sidebar is already populated.
3487
hyatt@apple.com81664322008-09-28 04:38:21 +000034882008-09-27 Dave Hyatt <hyatt@apple.com>
3489
3490 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
3491 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
3492 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
3493 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
3494
3495 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
3496 (which should never have landed in the first place).
3497
3498 Reviewed by Tim Hatcher, Sam Weinig
3499
3500 * platform/win/ScrollViewWin.cpp:
3501 (WebCore::adjustDeltaForPageScrollMode):
3502 (WebCore::ScrollView::updateScrollbars):
3503 (WebCore::ScrollView::wheelEvent):
3504
hyatt@apple.com880cbb12008-09-28 03:51:41 +000035052008-09-27 David Hyatt <hyatt@apple.com>
3506
3507 Make the scrollbarUnderMouse method cross-platform.
3508
3509 Reviewed by Sam Weinig
3510
3511 * platform/ScrollView.cpp:
3512 (WebCore::ScrollView::scrollbarUnderMouse):
3513 * platform/gtk/ScrollViewGtk.cpp:
3514 * platform/mac/ScrollViewMac.mm:
3515 * platform/qt/ScrollViewQt.cpp:
3516 * platform/win/ScrollViewWin.cpp:
3517 * platform/wx/ScrollViewWx.cpp:
3518
zecke@webkit.org7bf12c62008-09-28 01:50:42 +000035192008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3520
3521 Gtk+ build fix.
3522
3523 * platform/gtk/ScrollViewGtk.cpp:
3524 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3525
zecke@webkit.org202af282008-09-28 01:49:45 +000035262008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
3527
3528 Reviewed by Holger Freyther.
3529
3530 https://bugs.webkit.org/show_bug.cgi?id=20287
3531 [Gtk] disable plugins for gtk/directfb target
3532
3533 Introduce WTF_PLATFORM_X11 for X11 builds.
3534 Also use target-specific packages when building the port
3535
3536 * platform/gtk/PlatformScreenGtk.cpp:
3537 * plugins/gtk/PluginViewGtk.cpp:
3538 (WebCore::PluginView::updatePluginWidget):
3539 (WebCore::PluginView::getValueStatic):
3540 (WebCore::PluginView::getValue):
3541 (WebCore::PluginView::init):
3542
hyatt@apple.come6f04e52008-09-28 01:07:05 +000035432008-09-27 David Hyatt <hyatt@apple.com>
3544
3545 https://bugs.webkit.org/show_bug.cgi?id=21188
3546
3547 Make scrollbar suppression and resizer avoidance cross-platform.
3548
3549 Reviewed by Anders
3550
3551 * loader/FrameLoader.cpp:
3552 (WebCore::FrameLoader::transitionToCommitted):
3553 * page/FrameView.cpp:
3554 (WebCore::FrameView::resetScrollbars):
3555 (WebCore::FrameView::clear):
3556 (WebCore::FrameView::layout):
3557 (WebCore::FrameView::restoreScrollbar):
3558 (WebCore::FrameView::windowResizerRect):
3559 * page/FrameView.h:
3560 * platform/ScrollView.cpp:
3561 (WebCore::ScrollView::init):
3562 (WebCore::ScrollView::resizerOverlapsContent):
3563 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
3564 (WebCore::ScrollView::setParent):
3565 (WebCore::ScrollView::setScrollbarsSuppressed):
3566 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
3567 * platform/ScrollView.h:
3568 (WebCore::ScrollView::scrollbarsSuppressed):
3569 (WebCore::ScrollView::windowResizerRect):
3570 * platform/Scrollbar.cpp:
3571 (WebCore::Scrollbar::setFrameRect):
3572 (WebCore::Scrollbar::setParent):
3573 * platform/gtk/ScrollViewGtk.cpp:
3574 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3575 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
3576 (WebCore::ScrollView::updateScrollbars):
3577 (WebCore::ScrollView::paint):
3578 * platform/mac/ScrollViewMac.mm:
3579 (WebCore::ScrollView::ScrollView):
3580 (WebCore::ScrollView::~ScrollView):
3581 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
3582 (WebCore::ScrollView::setScrollPosition):
3583 * platform/qt/ScrollViewQt.cpp:
3584 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3585 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3586 (WebCore::ScrollView::frameRectsChanged):
3587 (WebCore::ScrollView::updateScrollbars):
3588 (WebCore::ScrollView::paint):
3589 * platform/win/ScrollViewWin.cpp:
3590 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3591 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
3592 (WebCore::ScrollView::updateScrollbars):
3593 (WebCore::ScrollView::paint):
3594 * platform/wx/ScrollViewWx.cpp:
3595 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3596
zecke@webkit.org0034c712008-09-27 23:46:50 +000035972008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3598
3599 Rubber-stamped by Anders Carlsson.
3600
3601 Compile fix.
3602
3603 * plugins/PluginView.cpp:
3604 (WebCore::PluginView::load):
3605
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +000036062008-09-27 Mark Rowe <mrowe@apple.com>
3607
3608 Rubber-stamped by Sam Weinig.
3609
3610 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
3611 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
3612
3613 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
3614
3615 * loader/CachedResource.cpp:
3616 (WebCore::CachedResource::~CachedResource):
3617
zecke@webkit.org47132852008-09-27 22:45:21 +000036182008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3619
3620 Reviewed by Simon Hausmann.
3621
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +00003622 [qt] Use QImageReader to figure out which image formats are supported
3623 - Qt can have many different plugins for different image formats. Instead
3624 of checking only for a few in WebCore use Qt to determine if this data
3625 can be treated as an image.
3626
3627 * platform/graphics/qt/ImageSourceQt.cpp:
3628 (WebCore::canHandleImage):
3629 (WebCore::createDecoder):
3630
36312008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
3632
3633
zecke@webkit.org47132852008-09-27 22:45:21 +00003634 [qt] Clean the pattern code
3635 - Use save/restore on the painter after manipulating the
3636 pen/brush
3637 - Make the context and object null checking consistent. CG is using
3638 the object unconditionally so the Qt webkit platform can do the
3639 same.
3640 - Move code below the early exit. Only use the m_ownerElement before
3641 the early exit as the CG code is doing it.
3642
3643 * svg/graphics/SVGPaintServerPattern.h:
3644 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
3645 (WebCore::SVGPaintServerPattern::setup):
3646 (WebCore::SVGPaintServerPattern::teardown):
3647
timothy@apple.com345f1af2008-09-27 22:18:35 +000036482008-09-27 Keishi Hattori <casey.hattori@gmail.com>
3649
3650 Added support for console.trace.
3651
3652 https://bugs.webkit.org/show_bug.cgi?id=19157
3653
3654 Reviewed by Kevin McCullough and Tim Hatcher.
3655
3656 * bindings/js/JSConsoleCustom.cpp:
3657 (WebCore::JSConsole::trace):
3658 * page/Console.cpp:
3659 (WebCore::Console::trace): Calls Machine::retrieveCaller to
3660 get a stack trace.
3661 * page/Console.h:
3662 (WebCore::): Added TraceMessageLevel.
3663 * page/Console.idl: Added console.trace.
3664 * page/inspector/Console.js:
3665 (ConsoleMessage): Added case for TraceMessageLevel.
3666
andersca@apple.com6b8e0a22008-09-27 21:28:40 +000036672008-09-27 Anders Carlsson <andersca@apple.com>
3668
3669 Reviewed by Sam Weinig.
3670
3671 https://bugs.webkit.org/show_bug.cgi?id=21178
3672 <rdar://problem/6248651>
3673
3674 Check if the plug-in is allowed to load the resource. This matches Firefox.
3675
3676 Test: http/tests/plugins/local-geturl-from-remote.html
3677
3678 * plugins/PluginView.cpp:
3679 (WebCore::PluginView::load):
3680
zecke@webkit.org91ee65a2008-09-27 21:06:35 +000036812008-09-22 Dirk Schulze <vbs85@gmx.de>
3682
3683 Reviewed by Eric Seidel.
3684
3685 Added SVG pattern support to Qt.
3686
3687 [Qt] SVG patterns are missing
3688 https://bugs.webkit.org/show_bug.cgi?id=20973
3689
3690 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
3691 (WebCore::SVGPaintServerPattern::setup):
3692
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +000036932008-09-27 Keishi Hattori <casey.hattori@gmail.com>
3694
3695 Fixed a bug in the JS syntax highlighter with multiple line tokens.
3696
3697 https://bugs.webkit.org/show_bug.cgi?id=21171
3698
3699 Reviewed by Tim Hatcher.
3700
3701 * page/inspector/SourceFrame.js:
3702 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
3703
timothy@apple.com5b4b3d02008-09-27 20:18:03 +000037042008-09-27 Timothy Hatcher <timothy@apple.com>
3705
3706 Change searching in the Profiles panel to not match the
3707 Self and Total columns when there are no units. The only
3708 column that is matched for unitless number searches is
3709 now the Calls column.
3710
3711 https://bugs.webkit.org/show_bug.cgi?id=21169
3712
3713 Reviewed by Sam Weinig.
3714
3715 * page/inspector/ProfileView.js:
3716 (WebInspector.ProfileView.prototype.performSearch):
3717
hyatt@apple.com0fd13952008-09-27 19:56:56 +000037182008-09-27 David Hyatt <hyatt@apple.com>
3719
3720 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
3721
3722 Reviewed by Sam Weinig
3723
3724 * platform/ScrollView.h:
3725 * platform/Widget.h:
3726 (WebCore::Widget::boundsRect):
3727 (WebCore::Widget::invalidate):
3728 (WebCore::Widget::frameRectsChanged):
3729 * platform/gtk/ScrollViewGtk.cpp:
3730 (WebCore::ScrollViewScrollbar::frameRectsChanged):
3731 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3732 (WebCore::ScrollView::setFrameRect):
3733 (WebCore::ScrollView::updateScrollbars):
3734 (WebCore::ScrollView::frameRectsChanged):
3735 * platform/gtk/ScrollbarGtk.cpp:
3736 (ScrollbarGtk::setFrameRect):
3737 (ScrollbarGtk::frameRectsChanged):
3738 * platform/gtk/ScrollbarGtk.h:
3739 * platform/gtk/WidgetGtk.cpp:
3740 * platform/qt/ScrollViewQt.cpp:
3741 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3742 (WebCore::ScrollView::setFrameRect):
3743 (WebCore::ScrollView::frameRectsChanged):
3744 (WebCore::ScrollView::updateScrollbars):
3745 * platform/win/ScrollViewWin.cpp:
3746 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3747 (WebCore::ScrollView::setFrameRect):
3748 (WebCore::ScrollView::updateScrollbars):
3749 (WebCore::ScrollView::frameRectsChanged):
3750 * plugins/PluginView.cpp:
3751 (WebCore::PluginView::frameRectsChanged):
3752 * plugins/PluginView.h:
3753
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000037542008-09-27 Simon Hausmann <hausmann@webkit.org>
3755
hausmann@webkit.orge49722f2008-09-27 19:49:01 +00003756 Refix the previous build fix to compile on non-Qt platforms, too.
3757
3758 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
3759 WebCore to generate the PrototypeTable in the WebCore namespace
3760 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
3761 table remains in the Webcore namespace
3762 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
3763
37642008-09-27 Simon Hausmann <hausmann@webkit.org>
3765
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +00003766 Fix compilation with gcc 4.3 (probably > 4.0)
3767
3768 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
3769 get/put functions inside the WebCore namespace.
3770 * bindings/js/JSEventTargetBase.cpp: Ditto.
3771 * bindings/js/JSEventTargetNode.cpp: Ditto.
3772 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
3773 * bindings/js/JSEventTargetBase.h: Forward declare
3774 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
3775 defines it in the JSC namespace.
3776 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
3777 prefix for PrototypeTable symbol.
3778
hyatt@apple.come7c12342008-09-27 07:43:38 +000037792008-09-27 David Hyatt <hyatt@apple.com>
3780
hyatt@apple.com53634ac2008-09-27 08:01:26 +00003781 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
3782
3783 Reviewed by Dan Bernstein
3784
3785 * WebCore.base.exp:
3786 * page/FrameView.cpp:
3787 (WebCore::FrameView::FrameView):
3788 (WebCore::FrameView::updateControlTints):
3789 * platform/ScrollView.h:
3790 * platform/Scrollbar.cpp:
3791 (WebCore::Scrollbar::Scrollbar):
3792 (WebCore::Scrollbar::paint):
3793 (WebCore::Scrollbar::setFrameRect):
3794 * platform/Scrollbar.h:
3795 * platform/ScrollbarThemeComposite.cpp:
3796 (WebCore::ScrollbarThemeComposite::paint):
3797 * platform/Widget.h:
3798 (WebCore::Widget::x):
3799 (WebCore::Widget::y):
3800 (WebCore::Widget::width):
3801 (WebCore::Widget::height):
3802 (WebCore::Widget::size):
3803 (WebCore::Widget::pos):
3804 (WebCore::Widget::resize):
3805 (WebCore::Widget::move):
3806 * platform/gtk/ScrollViewGtk.cpp:
3807 (WebCore::ScrollViewScrollbar::geometryChanged):
3808 (WebCore::ScrollView::update):
3809 (WebCore::ScrollView::setFrameRect):
3810 (WebCore::ScrollView::updateScrollbars):
3811 (WebCore::ScrollView::scrollbarUnderMouse):
3812 (WebCore::ScrollView::paint):
3813 * platform/gtk/ScrollbarGtk.cpp:
3814 (ScrollbarGtk::setFrameRect):
3815 (ScrollbarGtk::geometryChanged):
3816 * platform/gtk/ScrollbarGtk.h:
3817 * platform/gtk/WidgetGtk.cpp:
3818 (WebCore::Widget::frameRect):
3819 (WebCore::Widget::setFrameRect):
3820 * platform/mac/ScrollbarThemeMac.mm:
3821 (WebCore::ScrollbarThemeMac::trackRect):
3822 (WebCore::ScrollbarThemeMac::paint):
3823 * platform/mac/WidgetMac.mm:
3824 (WebCore::Widget::frameRect):
3825 (WebCore::Widget::setFrameRect):
3826 * platform/qt/ScrollViewQt.cpp:
3827 (WebCore::ScrollView::setFrameRect):
3828 (WebCore::ScrollView::updateScrollbars):
3829 (WebCore::ScrollView::scrollbarUnderMouse):
3830 (WebCore::ScrollView::paint):
3831 * platform/qt/ScrollbarThemeQt.cpp:
3832 (WebCore::styleOptionSlider):
3833 * platform/qt/WidgetQt.cpp:
3834 (WebCore::Widget::frameRect):
3835 (WebCore::Widget::setFrameRect):
3836 * platform/win/PopupMenuWin.cpp:
3837 (WebCore::PopupMenu::invalidateItem):
3838 (WebCore::PopupMenu::valueChanged):
3839 (WebCore::PopupWndProc):
3840 * platform/win/ScrollViewWin.cpp:
3841 (WebCore::ScrollView::setFrameRect):
3842 (WebCore::ScrollView::updateScrollbars):
3843 (WebCore::ScrollView::scrollbarUnderMouse):
3844 (WebCore::ScrollView::paint):
3845 * platform/win/ScrollbarThemeSafari.cpp:
3846 (WebCore::ScrollbarThemeSafari::trackRect):
3847 * platform/win/WidgetWin.cpp:
3848 (WebCore::Widget::frameRect):
3849 (WebCore::Widget::setFrameRect):
3850 * platform/wx/WidgetWx.cpp:
3851 (WebCore::Widget::frameRect):
3852 (WebCore::Widget::setFrameRect):
3853 * plugins/PluginView.cpp:
3854 (WebCore::PluginView::setFrameRect):
3855 * plugins/PluginView.h:
3856 * plugins/gtk/PluginViewGtk.cpp:
3857 (WebCore::PluginView::updatePluginWidget):
3858 (WebCore::PluginView::paint):
3859 (WebCore::PluginView::init):
3860 * plugins/qt/PluginViewQt.cpp:
3861 (WebCore::PluginView::updatePluginWidget):
3862 (WebCore::PluginView::init):
3863 * plugins/win/PluginViewWin.cpp:
3864 (WebCore::PluginView::updatePluginWidget):
3865 (WebCore::PluginView::paintMissingPluginIcon):
3866 (WebCore::PluginView::paint):
3867 (WebCore::PluginView::init):
3868 * rendering/RenderLayer.cpp:
3869 (WebCore::RenderLayer::positionOverflowControls):
3870 * rendering/RenderListBox.cpp:
3871 (WebCore::RenderListBox::paintScrollbar):
3872 * rendering/RenderPart.cpp:
3873 (WebCore::RenderPart::updateWidgetPosition):
3874 * rendering/RenderWidget.cpp:
3875 (WebCore::RenderWidget::setWidgetGeometry):
3876 (WebCore::RenderWidget::updateWidgetPosition):
3877
38782008-09-27 David Hyatt <hyatt@apple.com>
3879
hyatt@apple.come7c12342008-09-27 07:43:38 +00003880 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
3881
3882 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
3883 access an actual member variable.
3884
3885 Reviewed by Dan Bernstein
3886
3887 * page/FocusController.cpp:
3888 (WebCore::FocusController::setFocusedFrame):
3889
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +000038902008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
3891
3892 Attempt to fix QT Build. Not reviewed.
3893
3894 * WebCore.pro: add -n WebCore parameter to create_hash_table
3895
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +000038962008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
3897
3898 Reviewed by Eric Seidel.
3899
3900 http://bugs.webkit.org/show_bug.cgi?id=18905
3901 [GTK] Fix build with older pango (1.14.8)
3902
3903 * platform/graphics/gtk/FontGtk.cpp:
3904 * platform/gtk/Language.cpp:
3905 (_pango_get_lc_ctype):
3906 (pango_language_get_default):
3907
hyatt@apple.com0315e532008-09-27 06:23:58 +000039082008-09-26 David Hyatt <hyatt@apple.com>
3909
3910 https://bugs.webkit.org/show_bug.cgi?id=21168
3911
3912 Make contentsToWindow/windowToContents cross-platform.
3913
3914 Reviewed by Oliver Hunt
3915
3916 * platform/ScrollView.cpp:
3917 (WebCore::ScrollView::windowToContents):
3918 (WebCore::ScrollView::contentsToWindow):
3919 * platform/ScrollView.h:
3920 * platform/gtk/ScrollViewGtk.cpp:
3921 * platform/mac/ScrollViewMac.mm:
3922 * platform/qt/ScrollViewQt.cpp:
3923 * platform/win/ScrollViewWin.cpp:
3924 * platform/wx/ScrollViewWx.cpp:
3925
weinig@apple.com0e6acf62008-09-27 06:15:45 +000039262008-09-26 Sam Weinig <sam@webkit.org>
3927
3928 GTK build fix.
3929
3930 * GNUmakefile.am:
3931
hyatt@apple.comb37db692008-09-27 04:43:00 +000039322008-09-26 David Hyatt <hyatt@apple.com>
3933
hyatt@apple.com8d329412008-09-27 05:26:38 +00003934 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
3935 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
3936 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
3937
3938 Reviewed by Oliver Hunt
3939
3940 * page/FrameView.cpp:
3941 (WebCore::FrameView::repaintContentRectangle):
3942 * page/FrameView.h:
3943 * platform/ScrollView.h:
3944 * platform/gtk/ScrollViewGtk.cpp:
3945 (WebCore::ScrollView::isOffscreen):
3946 * platform/mac/ScrollViewMac.mm:
3947 (WebCore::ScrollView::updateContents):
3948 (WebCore::ScrollView::isOffscreen):
3949 * platform/qt/ScrollViewQt.cpp:
3950 (WebCore::ScrollView::isOffscreen):
3951 * platform/win/ScrollViewWin.cpp:
3952 (WebCore::ScrollView::isOffscreen):
3953 * platform/wx/ScrollViewWx.cpp:
3954 (WebCore::ScrollView::isOffscreen):
3955 * rendering/RenderObject.cpp:
3956 (WebCore::RenderObject::willRenderImage):
3957
39582008-09-26 David Hyatt <hyatt@apple.com>
3959
hyatt@apple.comb37db692008-09-27 04:43:00 +00003960 https://bugs.webkit.org/show_bug.cgi?id=21164
3961
3962 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
3963
3964 Reviewed by Sam Weinig
3965
3966 * WebCore.base.exp:
3967 * page/FrameView.cpp:
3968 (WebCore::FrameView::setAllowsScrolling):
3969 * page/FrameView.h:
3970 * platform/ScrollView.cpp:
3971 (WebCore::ScrollView::setAllowsScrolling):
3972 * platform/ScrollView.h:
3973 (WebCore::ScrollView::allowsScrolling):
3974 * platform/win/ScrollViewWin.cpp:
3975 (WebCore::ScrollView::wheelEvent):
3976
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +000039772008-09-26 Kevin Ollivier <kevino@theolliviers.com>
3978
3979 wx build fixes after Widget/ScrollView changes.
3980
3981 * platform/wx/PopupMenuWx.cpp:
3982 (WebCore::PopupMenu::show):
3983 * platform/wx/ScrollViewWx.cpp:
3984 (WebCore::ScrollView::platformSetContentsSize):
3985 (WebCore::ScrollView::platformSetScrollbarModes):
3986 (WebCore::ScrollView::wheelEvent):
3987 * platform/wx/TemporaryLinkStubs.cpp:
3988 * platform/wx/WidgetWx.cpp:
3989 (WebCore::Widget::containingWindow):
3990
timothy@apple.com9b486082008-09-27 02:44:05 +000039912008-09-26 Timothy Hatcher <timothy@apple.com>
3992
3993 Allow searching for paths by always performing the
3994 three search methods in the Elements panel and not
3995 assume a search with a "/" is a XPath query.
3996
3997 https://bugs.webkit.org/show_bug.cgi?id=21159
3998
3999 Reviewed by Geoff Garen.
4000
4001 * page/inspector/ElementsPanel.js:
4002 (WebInspector.ElementsPanel.prototype.performSearch):
4003
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +000040042008-09-26 Sam Weinig <sam@webkit.org>
4005
4006 Reviewed by Darin Adler.
4007
4008 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
4009 Speedup static property get/put
4010
4011 * DerivedSources.make:
4012 * GNUmakefile.am:
4013 * WebCore.pro:
4014 * WebCore.vcproj/WebCore.vcproj:
4015 * WebCore.xcodeproj/project.pbxproj:
4016 * bindings/js/JSDOMBinding.cpp:
4017 * bindings/js/JSDOMBinding.h:
4018 * bindings/js/JSDOMWindowBase.cpp:
4019 (WebCore::getDOMConstructor):
4020 (WebCore::jsDOMWindowBaseCrypto):
4021 (WebCore::jsDOMWindowBaseEvent):
4022 (WebCore::jsDOMWindowBaseImage):
4023 (WebCore::jsDOMWindowBaseMessageChannel):
4024 (WebCore::jsDOMWindowBaseOption):
4025 (WebCore::jsDOMWindowBaseXMLHttpRequest):
4026 (WebCore::jsDOMWindowBaseAudio):
4027 (WebCore::jsDOMWindowBaseXSLTProcessor):
4028 (WebCore::jsDOMWindowBaseOnabort):
4029 (WebCore::jsDOMWindowBaseOnblur):
4030 (WebCore::jsDOMWindowBaseOnchange):
4031 (WebCore::jsDOMWindowBaseOnclick):
4032 (WebCore::jsDOMWindowBaseOndblclick):
4033 (WebCore::jsDOMWindowBaseOnerror):
4034 (WebCore::jsDOMWindowBaseOnfocus):
4035 (WebCore::jsDOMWindowBaseOnkeydown):
4036 (WebCore::jsDOMWindowBaseOnkeypress):
4037 (WebCore::jsDOMWindowBaseOnkeyup):
4038 (WebCore::jsDOMWindowBaseOnload):
4039 (WebCore::jsDOMWindowBaseOnmousedown):
4040 (WebCore::jsDOMWindowBaseOnmousemove):
4041 (WebCore::jsDOMWindowBaseOnmouseout):
4042 (WebCore::jsDOMWindowBaseOnmouseover):
4043 (WebCore::jsDOMWindowBaseOnmouseup):
4044 (WebCore::jsDOMWindowBaseOnMouseWheel):
4045 (WebCore::jsDOMWindowBaseOnreset):
4046 (WebCore::jsDOMWindowBaseOnresize):
4047 (WebCore::jsDOMWindowBaseOnscroll):
4048 (WebCore::jsDOMWindowBaseOnsearch):
4049 (WebCore::jsDOMWindowBaseOnselect):
4050 (WebCore::jsDOMWindowBaseOnsubmit):
4051 (WebCore::jsDOMWindowBaseOnbeforeunload):
4052 (WebCore::jsDOMWindowBaseOnunload):
4053 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
4054 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
4055 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
4056 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
4057 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
4058 (WebCore::JSDOMWindowBase::put):
4059 (WebCore::setJSDOMWindowBaseOnabort):
4060 (WebCore::setJSDOMWindowBaseOnblur):
4061 (WebCore::setJSDOMWindowBaseOnchange):
4062 (WebCore::setJSDOMWindowBaseOnclick):
4063 (WebCore::setJSDOMWindowBaseOndblclick):
4064 (WebCore::setJSDOMWindowBaseOnerror):
4065 (WebCore::setJSDOMWindowBaseOnfocus):
4066 (WebCore::setJSDOMWindowBaseOnkeydown):
4067 (WebCore::setJSDOMWindowBaseOnkeypress):
4068 (WebCore::setJSDOMWindowBaseOnkeyup):
4069 (WebCore::setJSDOMWindowBaseOnload):
4070 (WebCore::setJSDOMWindowBaseOnmousedown):
4071 (WebCore::setJSDOMWindowBaseOnmousemove):
4072 (WebCore::setJSDOMWindowBaseOnmouseout):
4073 (WebCore::setJSDOMWindowBaseOnmouseover):
4074 (WebCore::setJSDOMWindowBaseOnmouseup):
4075 (WebCore::setJSDOMWindowBaseOnMouseWheel):
4076 (WebCore::setJSDOMWindowBaseOnreset):
4077 (WebCore::setJSDOMWindowBaseOnresize):
4078 (WebCore::setJSDOMWindowBaseOnscroll):
4079 (WebCore::setJSDOMWindowBaseOnsearch):
4080 (WebCore::setJSDOMWindowBaseOnselect):
4081 (WebCore::setJSDOMWindowBaseOnsubmit):
4082 (WebCore::setJSDOMWindowBaseOnbeforeunload):
4083 (WebCore::setJSDOMWindowBaseOnunload):
4084 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
4085 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
4086 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
4087 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
4088 (WebCore::setJSDOMWindowBaseEvent):
4089 (WebCore::setJSDOMWindowBaseAudio):
4090 (WebCore::setJSDOMWindowBaseImage):
4091 (WebCore::setJSDOMWindowBaseMessageChannel):
4092 (WebCore::setJSDOMWindowBaseOption):
4093 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
4094 (WebCore::setJSDOMWindowBaseXSLTProcessor):
4095 * bindings/js/JSDOMWindowBase.h:
4096 * bindings/js/JSDOMWindowCustom.cpp:
4097 (WebCore::nonCachingStaticCloseFunctionGetter):
4098 (WebCore::nonCachingStaticBlurFunctionGetter):
4099 (WebCore::nonCachingStaticFocusFunctionGetter):
4100 (WebCore::nonCachingStaticPostMessageFunctionGetter):
4101 * bindings/js/JSDOMWindowCustom.h:
4102 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
4103 * bindings/js/JSEventTargetBase.cpp:
4104 * bindings/js/JSEventTargetBase.h:
4105 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
4106 (WebCore::JSEventTargetBasePrototype::classInfo):
4107 * bindings/js/JSEventTargetNode.cpp:
4108 (WebCore::):
4109 (WebCore::JSEventTargetNode::getOwnPropertySlot):
4110 (WebCore::JSEventTargetNode::put):
4111 * bindings/js/JSEventTargetNode.h:
4112 (WebCore::JSEventTargetNode::classInfo):
4113 (WebCore::JSEventTargetNode::prototypeClassName):
4114 * bindings/js/JSEventTargetSVGElementInstance.cpp:
4115 (WebCore::):
4116 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
4117 (WebCore::JSEventTargetSVGElementInstance::put):
4118 * bindings/js/JSEventTargetSVGElementInstance.h:
4119 (WebCore::JSEventTargetSVGElementInstance::classInfo):
4120 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
4121 * bindings/js/JSHTMLInputElementCustom.cpp:
4122 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
4123 * bindings/js/JSHistoryCustom.cpp:
4124 (WebCore::nonCachingStaticBackFunctionGetter):
4125 (WebCore::nonCachingStaticForwardFunctionGetter):
4126 (WebCore::nonCachingStaticGoFunctionGetter):
4127 (WebCore::JSHistory::customGetOwnPropertySlot):
4128 * bindings/js/JSLocationCustom.cpp:
4129 (WebCore::nonCachingStaticReplaceFunctionGetter):
4130 (WebCore::nonCachingStaticReloadFunctionGetter):
4131 (WebCore::nonCachingStaticAssignFunctionGetter):
4132 (WebCore::JSLocation::customGetOwnPropertySlot):
4133 (WebCore::JSLocation::customPut):
4134 * bindings/scripts/CodeGeneratorJS.pm:
4135
hyatt@apple.com01adde82008-09-26 20:49:34 +000041362008-09-26 David Hyatt <hyatt@apple.com>
4137
4138 https://bugs.webkit.org/show_bug.cgi?id=21149
4139
4140 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
4141 Eliminate the unused isScrollable() method.
4142
4143 Reviewed by Sam Weinig
4144
4145 * WebCore.base.exp:
4146 * page/FrameView.cpp:
4147 (WebCore::FrameView::resetScrollbars):
4148 (WebCore::FrameView::initScrollbars):
4149 (WebCore::FrameView::layout):
4150 * page/FrameView.h:
4151 * page/mac/WebCoreFrameView.h:
4152 * platform/ScrollView.cpp:
4153 (WebCore::ScrollView::init):
4154 (WebCore::ScrollView::setScrollbarModes):
4155 (WebCore::ScrollView::scrollbarModes):
4156 (WebCore::ScrollView::platformSetScrollbarModes):
4157 (WebCore::ScrollView::platformScrollbarModes):
4158 * platform/ScrollView.h:
4159 (WebCore::ScrollView::horizontalScrollbar):
4160 (WebCore::ScrollView::verticalScrollbar):
4161 (WebCore::ScrollView::isScrollViewScrollbar):
4162 (WebCore::ScrollView::setHorizontalScrollbarMode):
4163 (WebCore::ScrollView::setVerticalScrollbarMode):
4164 (WebCore::ScrollView::horizontalScrollbarMode):
4165 (WebCore::ScrollView::verticalScrollbarMode):
4166 (WebCore::ScrollView::convertSelfToChild):
4167 * platform/gtk/ScrollViewGtk.cpp:
4168 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4169 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
4170 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
4171 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4172 (WebCore::ScrollView::updateScrollbars):
4173 (WebCore::ScrollView::scrollbarUnderMouse):
4174 (WebCore::ScrollView::isScrollViewScrollbar):
4175 (WebCore::ScrollView::paint):
4176 (WebCore::ScrollView::scroll):
4177 * platform/mac/ScrollViewMac.mm:
4178 (WebCore::ScrollView::platformSetScrollbarModes):
4179 (WebCore::ScrollView::platformScrollbarModes):
4180 * platform/qt/ScrollViewQt.cpp:
4181 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
4182 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
4183 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4184 (WebCore::ScrollView::horizontalScrollbar):
4185 (WebCore::ScrollView::verticalScrollbar):
4186 (WebCore::ScrollView::invalidateScrollbars):
4187 (WebCore::ScrollView::updateScrollbars):
4188 (WebCore::ScrollView::scrollbarUnderMouse):
4189 (WebCore::ScrollView::paint):
4190 (WebCore::ScrollView::scroll):
4191 * platform/win/ScrollViewWin.cpp:
4192 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4193 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
4194 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
4195 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4196 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
4197 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
4198 (WebCore::ScrollView::suppressScrollbars):
4199 (WebCore::ScrollView::updateScrollbars):
4200 (WebCore::ScrollView::scrollbarUnderMouse):
4201 (WebCore::ScrollView::paint):
4202 (WebCore::ScrollView::scroll):
4203 * platform/wx/ScrollViewWx.cpp:
4204 (WebCore::ScrollView::platformSetScrollbarModes):
4205 (WebCore::ScrollView::platformScrollbarModes):
4206
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +000042072008-09-26 David Kilzer <ddkilzer@apple.com>
4208
4209 Fix Mac build with XPATH and XSLT disabled
4210
4211 Reviewed by Alexey.
4212
4213 * bindings/objc/DOMUtility.mm:
4214 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
4215 * dom/XMLTokenizerLibxml2.cpp:
4216 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
4217 prevent an unused code warning.
4218
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +000042192008-09-26 Kevin McCullough <kmccullough@apple.com>
4220
4221 Rubber stamped by Tim Hatcher.
4222
4223 Bug 21098: Crashing under Console::log
4224 - Speculative ASSERT to help find the problem.
4225
4226 * page/InspectorController.cpp:
4227 (WebCore::ConsoleMessage::isEqual):
4228
zecke@webkit.org00c54bb2008-09-26 17:56:08 +000042292008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
4230
4231 [gtk+] Build fix for the latest ScrollView changes
4232
4233 * platform/gtk/ScrollViewGtk.cpp:
4234 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
4235 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4236
timothy@apple.comf49116e2008-09-26 17:27:52 +000042372008-09-26 Timothy Hatcher <timothy@apple.com>
4238
4239 Fixes a bug where the console message repeat count would be wrong
4240 when typing commands in between repeated messages.
4241
4242 https://bugs.webkit.org/show_bug.cgi?id=21145
4243
4244 Reviewed by Kevin McCullough.
4245
4246 * page/InspectorController.cpp:
4247 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
4248 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
4249 * page/inspector/Console.js:
4250 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
4251 for each message as totalRepeatCount, since we now modify repeatCount to mean
4252 repeats since previous console command. If repeatCountBeforeCommand is a number,
4253 subtract that value from the repeatCount.
4254 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
4255 and commandSincePreviousMessage properties.
4256
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +000042572008-09-26 Eric Carlson <eric.carlson@apple.com>
4258
4259 Reviewed by Antti
4260
4261 https://bugs.webkit.org/show_bug.cgi?id=21116
4262 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
4263 back to page with <video>, then closing tab
4264
4265 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
4266 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
4267 deletion.
4268
4269 * dom/Document.cpp:
4270 (WebCore::Document::documentWillBecomeInactive):
4271 (WebCore::Document::documentDidBecomeActive):
4272 (WebCore::Document::registerForDocumentActivationCallbacks):
4273 (WebCore::Document::unregisterForDocumentActivationCallbacks):
4274 * dom/Document.h:
4275 * dom/Element.h:
4276 (WebCore::Element::documentWillBecomeInactive):
4277 (WebCore::Element::documentDidBecomeActive):
4278 * history/CachedPage.cpp:
4279 (WebCore::CachedPage::CachedPage):
4280 * html/HTMLFormElement.cpp:
4281 (WebCore::HTMLFormElement::~HTMLFormElement):
4282 (WebCore::HTMLFormElement::parseMappedAttribute):
4283 (WebCore::HTMLFormElement::documentDidBecomeActive):
4284 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
4285 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
4286 * html/HTMLFormElement.h:
4287 * html/HTMLInputElement.cpp:
4288 (WebCore::HTMLInputElement::~HTMLInputElement):
4289 (WebCore::HTMLInputElement::setInputType):
4290 (WebCore::HTMLInputElement::parseMappedAttribute):
4291 (WebCore::HTMLInputElement::needsActivationCallback):
4292 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
4293 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
4294 (WebCore::HTMLInputElement::documentDidBecomeActive):
4295 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
4296 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
4297 * html/HTMLInputElement.h:
4298 * html/HTMLMediaElement.cpp:
4299 (WebCore::HTMLMediaElement::HTMLMediaElement):
4300 (WebCore::HTMLMediaElement::~HTMLMediaElement):
4301 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
4302 (WebCore::HTMLMediaElement::documentDidBecomeActive):
4303 * html/HTMLMediaElement.h:
4304 (WebCore::HTMLMediaElement::inActiveDocument):
4305 * loader/FrameLoader.cpp:
4306 (WebCore::FrameLoader::opened):
4307 * page/Page.cpp:
4308 (WebCore::Page::~Page):
4309 * rendering/RenderMedia.cpp:
4310 (WebCore::RenderMedia::updateControls):
4311 * rendering/RenderVideo.cpp:
4312 (WebCore::RenderVideo::updatePlayer):
4313 * svg/SVGSVGElement.cpp:
4314 (WebCore::SVGSVGElement::SVGSVGElement):
4315 (WebCore::SVGSVGElement::~SVGSVGElement):
4316 (WebCore::SVGSVGElement::documentWillBecomeInactive):
4317 (WebCore::SVGSVGElement::documentDidBecomeActive):
4318 * svg/SVGSVGElement.h:
4319
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +000043202008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
4321
4322 Reviewed by Simon
4323
4324 Fix the build inside Qt, don't create faulty prl files for now.
4325
4326 * WebCore.pro:
4327
hausmann@webkit.org809f4242008-09-26 13:17:31 +000043282008-09-26 Simon Hausmann <hausmann@webkit.org>
4329
4330 Fix compilation on Qt/Windows
4331
4332 * Add WebCore/ to the include path so that config.h is found that enables JSC
4333 * Link against winmm for the multimedia timer functions
4334 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
4335 subdirectory
4336 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
4337 but set m_window directly as setPlatformWidget takes a QWidget*.
4338
4339 * WebCore.pro:
4340 * platform/win/SystemTimeWin.cpp:
4341 * plugins/win/PluginViewWin.cpp:
4342 (WebCore::PluginView::init):
4343
oliver@apple.com38feb8e2008-09-26 11:53:40 +000043442008-09-26 Oliver Hunt <oliver@apple.com>
4345
4346 Reviewed by Maciej Stachowiak.
4347
4348 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
4349 <https://bugs.webkit.org/show_bug.cgi?id=21054>
4350
4351 This performance regression is actually just a symptom of a correctness
4352 bug. The constructor objects for a number of properties that have security
4353 checks on access were returning new objects each time. The most obvious
4354 symptom of this bug is that window.Image != window.Image, etc.
4355
4356 The solution to this is to make sure we cache these constructors
4357 in the same way as all the other DOM constructors. To achieve this
4358 without causing any refcount cycles it is necessary to replace the
4359 refcounted document pointer in the Image, MessageChannel, Option,
4360 XMLHttpRequest, and Audio constructor objects with a reference to
4361 the document's JS wrapper.
4362
4363 Tests: fast/dom/constructors-cached-navigate.html
4364 fast/dom/constructors-cached.html
4365
4366 * WebCore.xcodeproj/project.pbxproj:
4367 * bindings/js/JSAudioConstructor.cpp:
4368 (WebCore::JSAudioConstructor::mark):
4369 * bindings/js/JSAudioConstructor.h:
4370 (WebCore::JSAudioConstructor::document):
4371 * bindings/js/JSDOMWindowBase.cpp:
4372 (WebCore::getDOMConstructor):
4373 (WebCore::JSDOMWindowBase::getValueProperty):
4374 * bindings/js/JSDOMWindowBase.h:
4375 * bindings/js/JSHTMLOptionElementConstructor.cpp:
4376 (WebCore::JSHTMLOptionElementConstructor::mark):
4377 * bindings/js/JSHTMLOptionElementConstructor.h:
4378 (WebCore::JSHTMLOptionElementConstructor::document):
4379 * bindings/js/JSImageConstructor.cpp:
4380 (WebCore::JSImageConstructor::mark):
4381 * bindings/js/JSImageConstructor.h:
4382 (WebCore::JSImageConstructor::document):
4383 * bindings/js/JSXMLHttpRequestConstructor.cpp:
4384 (WebCore::JSXMLHttpRequestConstructor::mark):
4385 * bindings/js/JSXMLHttpRequestConstructor.h:
4386 (WebCore::JSXMLHttpRequestConstructor::document):
4387
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +000043882008-09-26 Simon Hausmann <hausmann@webkit.org>
4389
4390 Unreviewed one-liner build fix for the Qt/Windows build.
4391
4392 The build requires NPAPI support to be enabled, fix the condition in
4393 the .pro file for that.
4394
4395 * WebCore.pro:
4396
hausmann@webkit.org1ba35342008-09-26 10:51:33 +000043972008-09-26 Trenton Schulz <twschulz@trolltech.com>
4398
4399 Reviewed by Simon.
4400
4401 Fix compilation with the Qt/Cocoa port.
4402
4403 * platform/qt/ScrollViewQt.cpp:
4404 (WebCore::ScrollView::updateScrollbars):
4405
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000044062008-09-26 Simon Hausmann <hausmann@webkit.org>
4407
4408 Reviewed by Holger.
4409
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +00004410 Fix compilation with VC9SP1, work around bug in TR1 library by
4411 disabling it.
4412
4413 * WebCore.pro:
4414
44152008-09-26 Simon Hausmann <hausmann@webkit.org>
4416
4417 Reviewed by Holger.
4418
hausmann@webkit.orge359dd12008-09-26 09:37:09 +00004419 Fix an lupdate() warning.
4420
4421 Don't use tr() in a class that is not a QObject, use
4422 QCoreApplication::translate() directly.
4423
4424 * platform/qt/ScrollbarQt.cpp:
4425 (WebCore::Scrollbar::handleContextMenuEvent):
4426
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000044272008-09-25 David Hyatt <hyatt@apple.com>
4428
hyatt@apple.com4c833152008-09-26 06:21:22 +00004429 Remove the scrollTo() method from FrameView, since it is not used by anyone.
4430
4431 Reviewed by Oliver Hunt
4432
4433 * page/FrameView.cpp:
4434 * page/FrameView.h:
4435
44362008-09-25 David Hyatt <hyatt@apple.com>
4437
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +00004438 Make scrollRectIntoViewRecursively cross-platform.
4439
4440 Reviewed by Oliver Hunt
4441
4442 * platform/ScrollView.cpp:
4443 (WebCore::ScrollView::scrollRectIntoViewRecursively):
4444 * platform/gtk/ScrollViewGtk.cpp:
4445 * platform/mac/ScrollViewMac.mm:
4446 * platform/qt/ScrollViewQt.cpp:
4447 * platform/win/ScrollViewWin.cpp:
4448 * platform/wx/ScrollViewWx.cpp:
4449
44502008-09-25 David Hyatt <hyatt@apple.com>
4451
hyatt@apple.com25cd25e2008-09-26 06:07:14 +00004452 https://bugs.webkit.org/show_bug.cgi?id=21133
4453
4454 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
4455 cross-platform.
4456
4457 Reviewed by Oliver Hunt
4458
4459 * loader/FrameLoader.cpp:
4460 (WebCore::FrameLoader::begin):
4461 * page/FrameView.cpp:
4462 (WebCore::FrameView::adjustViewSize):
4463 * platform/ScrollView.cpp:
4464 (WebCore::ScrollView::setContentsSize):
4465 * platform/ScrollView.h:
4466 (WebCore::ScrollView::updateScrollbars):
4467 * platform/gtk/ScrollViewGtk.cpp:
4468 * platform/mac/ScrollViewMac.mm:
4469 (WebCore::ScrollView::platformSetContentsSize):
4470 * platform/qt/ScrollViewQt.cpp:
4471 * platform/win/ScrollViewWin.cpp:
4472 * platform/wx/ScrollViewWx.cpp:
4473 (WebCore::ScrollView::platformSetContentsSize):
4474
44752008-09-25 David Hyatt <hyatt@apple.com>
4476
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +00004477 https://bugs.webkit.org/show_bug.cgi?id=21132
4478
4479 Clean up the methods that actually do the scrolling in ScrollView.
4480
4481 Reviewed by Oliver Hunt
4482
4483 * html/HTMLBodyElement.cpp:
4484 (WebCore::HTMLBodyElement::setScrollLeft):
4485 (WebCore::HTMLBodyElement::setScrollTop):
4486 * loader/FrameLoader.cpp:
4487 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
4488 * loader/ImageDocument.cpp:
4489 (WebCore::ImageDocument::imageClicked):
4490 * page/DOMWindow.cpp:
4491 (WebCore::DOMWindow::scrollBy):
4492 (WebCore::DOMWindow::scrollTo):
4493 * page/FrameView.cpp:
4494 (WebCore::FrameView::scrollTo):
4495 (WebCore::FrameView::setScrollPosition):
4496 * page/FrameView.h:
4497 * platform/ScrollView.cpp:
4498 (WebCore::ScrollView::maximumScrollPosition):
4499 * platform/ScrollView.h:
4500 (WebCore::ScrollView::contentsWidth):
4501 (WebCore::ScrollView::contentsHeight):
4502 (WebCore::ScrollView::scrollBy):
4503 * platform/gtk/ScrollViewGtk.cpp:
4504 (WebCore::ScrollView::setScrollPosition):
4505 * platform/mac/ScrollViewMac.mm:
4506 (WebCore::ScrollView::setScrollPosition):
4507 * platform/qt/ScrollViewQt.cpp:
4508 (WebCore::ScrollView::setScrollPosition):
4509 (WebCore::ScrollView::scrollRectIntoViewRecursively):
4510 * platform/win/ScrollViewWin.cpp:
4511 (WebCore::ScrollView::setScrollPosition):
4512 (WebCore::ScrollView::scrollRectIntoViewRecursively):
4513 * platform/wx/ScrollViewWx.cpp:
4514 (WebCore::ScrollView::setScrollPosition):
4515 * rendering/RenderLayer.cpp:
4516 (WebCore::RenderLayer::scrollByRecursively):
4517 (WebCore::RenderLayer::scrollRectToVisible):
4518
mitz@apple.com5c920f12008-09-26 05:25:41 +000045192008-09-25 Dan Bernstein <mitz@apple.com>
4520
4521 - attempted Windows build fix
4522
4523 * platform/win/ScrollViewWin.cpp:
4524 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4525 (WebCore::ScrollView::setContentsPos):
4526 (WebCore::ScrollView::paint):
4527
timothy@apple.comd884aae2008-09-26 04:35:48 +000045282008-09-25 Timothy Hatcher <timothy@apple.com>
4529
4530 Revert the padding changes done in r36905 to prevent the
4531 scrollbar from overlapping the URLs in the Console.
4532
4533 https://bugs.webkit.org/show_bug.cgi?id=21126
4534
4535 * page/inspector/inspector.css:
4536
hyatt@apple.comc01fb232008-09-26 04:28:25 +000045372008-09-25 David Hyatt <hyatt@apple.com>
4538
4539 https://bugs.webkit.org/show_bug.cgi?id=21129
4540
4541 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
4542 of platform-specific methods required of ScrollView implementations.
4543
4544 Reviewed by Tim Hatcher
4545
4546 * dom/MouseRelatedEvent.cpp:
4547 (WebCore::contentsX):
4548 (WebCore::contentsY):
4549 * html/HTMLBodyElement.cpp:
4550 (WebCore::HTMLBodyElement::scrollLeft):
4551 (WebCore::HTMLBodyElement::setScrollLeft):
4552 (WebCore::HTMLBodyElement::scrollTop):
4553 (WebCore::HTMLBodyElement::setScrollTop):
4554 * loader/FrameLoader.cpp:
4555 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
4556 * page/DOMWindow.cpp:
4557 (WebCore::DOMWindow::scrollX):
4558 (WebCore::DOMWindow::scrollY):
4559 * page/EventHandler.cpp:
4560 (WebCore::EventHandler::hitTestResultAtPoint):
4561 * page/FrameView.cpp:
4562 (WebCore::FrameView::scrollTo):
4563 (WebCore::FrameView::windowClipRect):
4564 * platform/ScrollView.cpp:
4565 (WebCore::ScrollView::visibleContentRect):
4566 (WebCore::ScrollView::contentsSize):
4567 (WebCore::ScrollView::platformContentsSize):
4568 * platform/ScrollView.h:
4569 (WebCore::ScrollView::scrollPosition):
4570 (WebCore::ScrollView::scrollOffset):
4571 (WebCore::ScrollView::scrollX):
4572 (WebCore::ScrollView::scrollY):
4573 (WebCore::ScrollView::contentsWidth):
4574 (WebCore::ScrollView::contentsHeight):
4575 * platform/gtk/ScrollViewGtk.cpp:
4576 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
4577 (WebCore::ScrollView::setGtkAdjustments):
4578 (WebCore::ScrollView::resizeContents):
4579 (WebCore::ScrollView::contentsWidth):
4580 (WebCore::ScrollView::contentsHeight):
4581 (WebCore::ScrollView::scrollOffset):
4582 (WebCore::ScrollView::maximumScroll):
4583 (WebCore::ScrollView::scrollBy):
4584 (WebCore::ScrollView::suppressScrollbars):
4585 (WebCore::ScrollView::setHScrollbarMode):
4586 (WebCore::ScrollView::setVScrollbarMode):
4587 (WebCore::ScrollView::setScrollbarsMode):
4588 (WebCore::ScrollView::setFrameGeometry):
4589 (WebCore::ScrollView::updateScrollbars):
4590 * platform/mac/ScrollViewMac.mm:
4591 (WebCore::ScrollView::platformContentsSize):
4592 (WebCore::ScrollView::scrollBy):
4593 * platform/mac/WidgetMac.mm:
4594 (WebCore::Widget::convertFromContainingWindow):
4595 (WebCore::Widget::convertToContainingWindow):
4596 * platform/qt/ScrollViewQt.cpp:
4597 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4598 (WebCore::ScrollView::resizeContents):
4599 (WebCore::ScrollView::setFrameGeometry):
4600 (WebCore::ScrollView::scrollOffset):
4601 (WebCore::ScrollView::maximumScroll):
4602 (WebCore::ScrollView::scrollBy):
4603 (WebCore::ScrollView::setHScrollbarMode):
4604 (WebCore::ScrollView::setVScrollbarMode):
4605 (WebCore::ScrollView::setScrollbarsMode):
4606 (WebCore::ScrollView::updateScrollbars):
4607 * platform/win/ScrollViewWin.cpp:
4608 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
4609 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
4610 (WebCore::ScrollView::resizeContents):
4611 (WebCore::ScrollView::setFrameGeometry):
4612 (WebCore::ScrollView::scrollOffset):
4613 (WebCore::ScrollView::maximumScroll):
4614 (WebCore::ScrollView::scrollBy):
4615 (WebCore::ScrollView::setHScrollbarMode):
4616 (WebCore::ScrollView::setVScrollbarMode):
4617 (WebCore::ScrollView::setScrollbarsMode):
4618 (WebCore::ScrollView::updateScrollbars):
4619 * platform/wx/ScrollViewWx.cpp:
4620 (WebCore::ScrollView::platformVisibleContentRect):
4621 (WebCore::ScrollView::platformContentsSize):
4622 * rendering/RenderBlock.cpp:
4623 (WebCore::RenderBlock::nodeAtPoint):
4624 * rendering/RenderLayer.cpp:
4625 (WebCore::RenderLayer::scrollRectToVisible):
4626 (WebCore::RenderLayer::calculateClipRects):
4627 (WebCore::RenderLayer::calculateRects):
4628 * rendering/RenderView.cpp:
4629 (WebCore::RenderView::absolutePosition):
4630 (WebCore::RenderView::computeAbsoluteRepaintRect):
4631
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000046322008-09-25 David Smith <catfish.man@gmail.com>
4633
dsmith@webkit.org0fedb622008-09-26 04:05:57 +00004634 Reviewed by Dave Hyatt.
4635
4636 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
4637
4638 * dom/Element.cpp:
4639 (WebCore::Element::rareData):
4640 * dom/Element.h:
4641 * dom/Node.cpp:
4642 (WebCore::Node::rareData):
4643 * dom/Node.h:
4644
46452008-09-25 David Smith <catfish.man@gmail.com>
4646
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +00004647 Reviewed by Darin Adler.
4648
4649 https://bugs.webkit.org/show_bug.cgi?id=20980
4650 Split off uncommonly used data from Node similar to ElementRareData
4651
4652 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
4653 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
4654 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
4655
4656 * WebCore.base.exp:
4657 * WebCore.xcodeproj/project.pbxproj:
4658 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
4659 * dom/ContainerNode.cpp: Set isContainer to true
4660 (WebCore::ContainerNode::ContainerNode):
4661 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
4662 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
4663 (WebCore::Node::containerChildNode): ditto
4664 (WebCore::Node::containerFirstChild): ditto
4665 (WebCore::Node::containerLastChild): ditto
4666 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
4667 (WebCore::Element::Element):
4668 (WebCore::Element::~Element):
4669 (WebCore::Element::rareData):
4670 (WebCore::Element::ensureRareData): Renamed from createRareData
4671 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
4672 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
4673 (WebCore::Element::detach): ditto
4674 (WebCore::Element::recalcStyle): ditto
4675 (WebCore::Element::focus):
4676 (WebCore::Element::minimumSizeForResizing): ditto
4677 (WebCore::Element::setMinimumSizeForResizing): ditto
4678 (WebCore::Element::computedStyle):
4679 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
4680 * dom/Element.h:
4681 * dom/ElementRareData.h: Added; everything copied from Element.cpp
4682 (WebCore::defaultMinimumSizeForResizing):
4683 (WebCore::ElementRareData::ElementRareData):
4684 (WebCore::ElementRareData::resetComputedStyle):
4685 * dom/EventTargetNode.cpp:
4686 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
4687 * dom/EventTargetNode.h:
4688 * dom/Node.cpp:
4689 (WebCore::Node::Node):
4690 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
4691 (WebCore::Node::rareData):
4692 (WebCore::Node::ensureRareData):
4693 (WebCore::Node::createRareData):
4694 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
4695 (WebCore::Node::setTabIndexExplicitly):
4696 (WebCore::Node::childNodes): NodeLists are now in rareData
4697 (WebCore::Node::setFocus):
4698 (WebCore::Node::rareDataFocused):
4699 (WebCore::Node::isFocusable):
4700 (WebCore::Node::isKeyboardFocusable):
4701 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
4702 (WebCore::Node::unregisterDynamicNodeList): ditto
4703 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
4704 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
4705 (WebCore::Node::getElementsByName): ditto
4706 (WebCore::Node::getElementsByClassName): ditto
4707 * dom/Node.h:
4708 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
4709 (WebCore::Node::lastChild): ditto
4710 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
4711 (WebCore::Node::focused): focus is in rareData if set
4712 (WebCore::Node::childTypeAllowed):
4713 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
4714 (WebCore::Node::childNode): ditto
4715 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
4716 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
4717 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
4718 (WebCore::NodeRareData::NodeRareData):
4719 (WebCore::NodeRareData::rareDataMap):
4720 (WebCore::NodeRareData::rareDataFromMap):
4721 (WebCore::NodeRareData::clearNodeLists):
4722 (WebCore::NodeRareData::setNodeLists):
4723 (WebCore::NodeRareData::nodeLists):
4724 (WebCore::NodeRareData::tabIndex):
4725 (WebCore::NodeRareData::setTabIndex):
4726 (WebCore::NodeRareData::tabIndexSetExplicitly):
4727 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
4728 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
4729
zecke@webkit.orge1370432008-09-26 01:47:30 +000047302008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
4731
4732 Reviewed by Simon Hausmann.
4733
zecke@webkit.org9ea87f62008-09-26 01:54:04 +00004734 [qt] ImageBuffer::toDataURL implementation
4735
4736 There needs to be a Qt specific test result for the above mentioned
4737 implementation.
4738
4739 * platform/graphics/qt/ImageBufferQt.cpp:
4740 (WebCore::ImageBuffer::toDataURL):
4741
47422008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
4743
4744 Reviewed by Simon Hausmann.
4745
zecke@webkit.orge1370432008-09-26 01:47:30 +00004746 [qt] Implement SharedBuffer for Qt.
4747
4748 * WebCore.pro:
4749 * platform/qt/SharedBufferQt.cpp: Added.
4750 (WebCore::SharedBuffer::createWithContentsOfFile):
4751 * platform/qt/TemporaryLinkStubs.cpp:
4752
ddkilzer@apple.com91eae552008-09-26 00:53:18 +000047532008-09-25 Feng Qian <feng@chromium.org>
4754
4755 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
4756 <rdar://problem/6243032>
4757
4758 Reviewed by Dave Hyatt.
4759
4760 Test: fast/dom/attribute-downcast-right.html
4761
4762 Add isMappedAttribute function to Attribute for checking if an object
4763 is an instance of MappedAttribute. Removed attributeItem,
4764 getAttributeItem functions from NamedMappedAttrMap, and callers
4765 expecting MappedAttribute have to check isMappedAttribute before
4766 downcasting the return value to MappedAttribute.
4767
4768 * css/CSSStyleSelector.cpp:
4769 (WebCore::CSSStyleSelector::styleForElement):
4770 * dom/Attribute.h:
4771 (WebCore::Attribute::isMappedAttribute):
4772 * dom/MappedAttribute.h:
4773 (WebCore::MappedAttribute::isMappedAttribute):
4774 * dom/NamedMappedAttrMap.cpp:
4775 (WebCore::NamedMappedAttrMap::declCount):
4776 (WebCore::NamedMappedAttrMap::mapsEquivalent):
4777 * dom/NamedMappedAttrMap.h:
4778 * dom/StyledElement.cpp:
4779 (WebCore::StyledElement::attributeChanged):
4780 * html/HTMLInputElement.cpp:
4781 (WebCore::HTMLInputElement::setInputType):
4782 * svg/SVGForeignObjectElement.cpp:
4783 (WebCore::addCSSPropertyAndNotifyAttributeMap):
4784 * svg/SVGStyledElement.cpp:
4785 (WebCore::SVGStyledElement::getPresentationAttribute):
4786
hyatt@apple.com79be62c2008-09-25 22:25:22 +000047872008-09-25 David Hyatt <hyatt@apple.com>
4788
4789 https://bugs.webkit.org/show_bug.cgi?id=21120
4790
4791 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
4792 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
4793 didn't want to mix that change in with this patch).
4794
4795 Reviewed by Sam Weinig
4796
4797 * page/Frame.cpp:
4798 (WebCore::Frame::markAllMatchesForText):
4799 * page/FrameView.cpp:
4800 (WebCore::FrameView::repaintContentRectangle):
4801 (WebCore::FrameView::windowClipRect):
4802 (WebCore::FrameView::updateControlTints):
4803 * platform/ScrollView.cpp:
4804 (WebCore::ScrollView::visibleContentRect):
4805 (WebCore::ScrollView::platformVisibleContentRect):
4806 * platform/ScrollView.h:
4807 (WebCore::ScrollView::visibleWidth):
4808 (WebCore::ScrollView::visibleHeight):
4809 * platform/gtk/ScrollViewGtk.cpp:
4810 (WebCore::ScrollView::horizontalScrollbar):
4811 (WebCore::ScrollView::verticalScrollbar):
4812 * platform/mac/ScrollViewMac.mm:
4813 (WebCore::ScrollView::horizontalScrollbar):
4814 (WebCore::ScrollView::verticalScrollbar):
4815 (WebCore::ScrollView::platformVisibleContentRect):
4816 * platform/qt/ScrollViewQt.cpp:
4817 (WebCore::ScrollView::horizontalScrollbar):
4818 (WebCore::ScrollView::verticalScrollbar):
4819 * platform/win/ScrollViewWin.cpp:
4820 (WebCore::ScrollView::horizontalScrollbar):
4821 (WebCore::ScrollView::verticalScrollbar):
4822 * platform/wx/ScrollViewWx.cpp:
4823 (WebCore::ScrollView::platformVisibleContentRect):
4824 (WebCore::ScrollView::horizontalScrollbar):
4825 (WebCore::ScrollView::verticalScrollbar):
4826 * rendering/RenderLayer.cpp:
4827 (WebCore::RenderLayer::scrollRectToVisible):
4828 (WebCore::frameVisibleRect):
4829 * rendering/RenderView.cpp:
4830 (WebCore::RenderView::viewRect):
4831
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +000048322008-09-25 David Smith <catfish.man@gmail.com>
4833
4834 Reviewed by Timothy Hatcher
4835
4836 https://bugs.webkit.org/show_bug.cgi?id=21052
4837 Generalize id selector special case for querySelectorAll
4838
4839 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
4840 Changes results on http://native.khan.mozilla.org
4841 from
4842 #title: 2ms
4843 h1#title: 55ms
4844 div #title: 55ms
4845
4846 to:
4847 #title: 1ms
4848 h1#title: 2ms
4849 div #title: 5ms
4850
4851 * dom/Node.cpp:
4852 (WebCore::Node::querySelector):
4853 * dom/SelectorNodeList.cpp:
4854 (WebCore::createSelectorNodeList):
4855
hyatt@apple.com64a3be22008-09-25 20:49:17 +000048562008-09-25 David Hyatt <hyatt@apple.com>
4857
4858 https://bugs.webkit.org/show_bug.cgi?id=21118
4859
4860 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
4861
4862 Reviewed by Sam Weinig
4863
4864 * page/FrameView.cpp:
4865 (WebCore::FrameView::clear):
4866 (WebCore::FrameView::layout):
4867 (WebCore::FrameView::setUseSlowRepaints):
4868 (WebCore::FrameView::addSlowRepaintObject):
4869 (WebCore::FrameView::removeSlowRepaintObject):
4870 * platform/ScrollView.cpp:
4871 (WebCore::ScrollView::init):
4872 (WebCore::ScrollView::addChild):
4873 (WebCore::ScrollView::removeChild):
4874 (WebCore::ScrollView::setCanBlitOnScroll):
4875 * platform/ScrollView.h:
4876 (WebCore::ScrollView::canBlitOnScroll):
4877 * platform/gtk/ScrollViewGtk.cpp:
4878 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4879 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4880 (WebCore::ScrollView::ScrollView):
4881 * platform/mac/ScrollViewMac.mm:
4882 (WebCore::ScrollView::ScrollView):
4883 (WebCore::ScrollView::platformAddChild):
4884 (WebCore::ScrollView::platformRemoveChild):
4885 (WebCore::ScrollView::platformSetCanBlitOnScroll):
4886 * platform/qt/ScrollViewQt.cpp:
4887 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4888 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4889 (WebCore::ScrollView::ScrollView):
4890 * platform/win/ScrollViewWin.cpp:
4891 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4892 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4893 (WebCore::ScrollView::ScrollView):
4894 * platform/wx/ScrollViewWx.cpp:
4895 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4896 (WebCore::ScrollView::ScrollView):
4897 (WebCore::ScrollView::scrollBy):
4898
kmccullough@apple.com03b515b2008-09-25 20:29:57 +000048992008-09-25 Kevin McCullough <kmccullough@apple.com>
4900
4901 Reviewed by Tim Hatcher.
4902
4903 Bug 21109: Console should right-align urls
4904
4905 * page/inspector/Console.js: Re-order the message elements so that when
4906 it overflows it doesn't get mixed in with the next message.
4907 * page/inspector/inspector.css:
4908
hyatt@apple.com95d18752008-09-25 20:15:44 +000049092008-09-25 David Hyatt <hyatt@apple.com>
4910
4911 https://bugs.webkit.org/show_bug.cgi?id=21113
4912
4913 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
4914
4915 Reviewed by Darin Adler
4916
4917 * css/CSSImportRule.cpp:
4918 (WebCore::CSSImportRule::insertedIntoParent):
4919 * css/CSSRule.cpp:
4920 (WebCore::CSSRule::parentStyleSheet):
4921 (WebCore::CSSRule::parentRule):
4922 * css/CSSStyleSheet.cpp:
4923 (WebCore::CSSStyleSheet::CSSStyleSheet):
4924 * css/CSSStyleSheet.h:
4925
darin@apple.com6ca04432008-09-25 20:02:11 +000049262008-09-25 Darin Adler <darin@apple.com>
4927
4928 Reviewed by Adele Peterson.
4929
4930 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
4931 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
4932 bundled documents
4933
4934 * html/HTMLFormElement.cpp:
4935 (WebCore::HTMLFormElement::formData): Use files() instead of value()
4936 to get the path, since value() now returns just the basename.
4937
beidson@apple.comb9a40052008-09-25 18:37:09 +000049382008-09-25 Brady Eidson <beidson@apple.com>
4939
4940 Rubberstamped by Mark Rowe
4941
4942 Roll out 36771 as it caused <rdar://problem/6246554>
4943 "nytimes.com doesn't display after returning to it with back/forward"
4944
4945 * css/CSSImportRule.cpp:
4946 (WebCore::CSSImportRule::insertedIntoParent):
4947 * css/CSSRule.cpp:
4948 (WebCore::CSSRule::parentStyleSheet):
4949 (WebCore::CSSRule::parentRule):
4950 * css/CSSStyleSheet.cpp:
4951 (WebCore::CSSStyleSheet::CSSStyleSheet):
4952 (WebCore::CSSStyleSheet::docLoader):
4953 * css/CSSStyleSheet.h:
4954 (WebCore::CSSStyleSheet::doc):
4955
aroben@apple.comdf5a7322008-09-25 17:47:15 +000049562008-09-25 Adam Roben <aroben@apple.com>
4957
4958 Windows build fix
4959
4960 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
4961
mitz@apple.com0565bc92008-09-25 17:27:37 +000049622008-09-25 Dan Bernstein <mitz@apple.com>
4963
4964 - Windows build fix
4965
4966 * platform/win/ScrollViewWin.cpp:
4967 (WebCore::ScrollView::addChildPlatformWidget):
4968 (WebCore::ScrollView::removeChildPlatformWidget):
4969
timothy@apple.com7a4bf192008-09-25 17:07:43 +000049702008-09-25 Timothy Hatcher <timothy@apple.com>
4971
4972 Fixes a leak of ConsoleMessage seen when repeated console
4973 messages occur.
4974
4975 Reviewed by Mark Rowe.
4976
4977 * page/InspectorController.cpp:
4978 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
4979 since we don't add it to m_consoleMessages.
4980
kmccullough@apple.com340e7272008-09-25 16:04:20 +000049812008-09-25 Kevin McCullough <kmccullough@apple.com>
4982
kmccullough@apple.com364f2992008-09-25 16:48:34 +00004983 Reviewed by Dan Bernstein.
4984
4985 Bug 21105: XHRs logged in the console may show the wrong URL for the
4986 source
4987 - Get the url at the time of the send() and pass it on to the XHR.
4988
4989 * bindings/js/JSXMLHttpRequestCustom.cpp:
4990 (WebCore::JSXMLHttpRequest::send):
4991 * xml/XMLHttpRequest.cpp:
4992 (WebCore::XMLHttpRequest::didFinishLoading):
4993 * xml/XMLHttpRequest.h:
4994 (WebCore::XMLHttpRequest::setLastSendURL):
4995
49962008-09-25 Kevin McCullough <kmccullough@apple.com>
4997
kmccullough@apple.com340e7272008-09-25 16:04:20 +00004998 Reviewed by Geoff and Tim.
4999
5000 Bug 20322: XHRs logged in the console do not have line numbers
5001 - Get the line number at the time of the send and pass it on to the XHR.
5002
5003 * bindings/js/JSXMLHttpRequestCustom.cpp:
5004 (WebCore::JSXMLHttpRequest::send):
5005 * xml/XMLHttpRequest.cpp:
5006 (WebCore::XMLHttpRequest::XMLHttpRequest):
5007 (WebCore::XMLHttpRequest::didFinishLoading):
5008 * xml/XMLHttpRequest.h:
5009 (WebCore::XMLHttpRequest::setLastSendLineNumber):
5010
eric.carlson@apple.comb9404142008-09-25 15:33:02 +000050112008-09-25 Eric Carlson <eric.carlson@apple.com>
5012
5013 Reviewed by Eric Seidel.
5014
5015 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
5016 https://bugs.webkit.org/show_bug.cgi?id=21003
5017
5018 * dom/EventNames.h: remove "begin" event
5019 * html/HTMLMediaElement.cpp:
5020 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
5021
ap@webkit.orgcdec56d2008-09-25 11:30:02 +000050222008-09-25 Alexey Proskuryakov <ap@webkit.org>
5023
5024 Reviewed by Eric Seidel.
5025
5026 https://bugs.webkit.org/show_bug.cgi?id=21097
5027 Calling a MessageChannel constructor from a destroyed document results in a crash
5028
5029 Test: fast/events/message-port-constructor-for-deleted-document.html
5030
5031 * bindings/js/JSMessageChannelConstructor.cpp:
5032 (WebCore::JSMessageChannelConstructor::construct):
5033 * bindings/js/JSMessageChannelConstructor.h:
5034 Made m_document a RefPtr.
5035
ap@webkit.org28b51752008-09-25 10:15:11 +000050362008-09-24 Alexey Proskuryakov <ap@webkit.org>
5037
5038 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
5039
5040 https://bugs.webkit.org/show_bug.cgi?id=20879
5041 Implement HTML5 channel messaging
5042
5043 Tests: fast/events/message-channel-gc.html
5044 fast/events/message-port-deleted-document.html
5045 fast/events/message-port-deleted-frame.html
5046 fast/events/message-port-inactive-document.html
5047 fast/events/message-port.html
5048 http/tests/security/MessagePort/event-listener-context.html
5049
5050 * Configurations/WebCore.xcconfig:
5051 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
5052
5053 * DerivedSources.make:
5054 Added MessageChannel and MessagePort.
5055
5056 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
5057 turmed off anyway. Added new files.
5058
5059 * GNUmakefile.am:
5060 * WebCore.pro:
5061 * WebCore.vcproj/WebCore.vcproj:
5062 * WebCore.xcodeproj/project.pbxproj:
5063 * WebCoreSources.bkl:
5064 Added new files.
5065
5066 * bindings/js/JSDOMWindowBase.h:
5067 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
5068 Added suport for window.MessageChannel constructor.
5069
5070 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
5071 * page/DOMWindow.cpp:
5072 (WebCore::DOMWindow::postMessage):
5073 * page/DOMWindow.h:
5074 * page/DOMWindow.idl:
5075 Added support for three-argument postMessage (that posts a MessagePort).
5076
5077 * dom/EventTarget.cpp:
5078 (WebCore::EventTarget::toMessagePort):
5079 * dom/EventTarget.h:
5080 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
5081 EventTarget variant.
5082
5083 * bindings/js/JSMessageChannelConstructor.h:
5084 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
5085 take a browsing context (document) parameter.
5086
5087 * bindings/js/JSMessageChannelCustom.cpp: Added.
5088 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
5089 port1 and port2 that it owns.
5090
5091 * bindings/js/JSMessagePortCustom.cpp: Added.
5092 (WebCore::JSMessagePort::startConversation):
5093 (WebCore::JSMessagePort::addEventListener):
5094 (WebCore::JSMessagePort::removeEventListener):
5095 (WebCore::JSMessagePort::dispatchEvent):
5096 (WebCore::JSMessagePort::setOnmessage):
5097 (WebCore::JSMessagePort::onmessage):
5098 (WebCore::JSMessagePort::setOnclose):
5099 (WebCore::JSMessagePort::onclose):
5100 (WebCore::JSMessagePort::mark):
5101 * dom/MessagePort.cpp: Added.
5102 * dom/MessagePort.h: Added.
5103 * dom/MessagePort.idl: Added.
5104 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
5105 with Documents as contexts, but in the future, it will be used for communication with worker
5106 threads.
5107
5108 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
5109 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
5110 needed for MessageEvent.
5111
5112 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
5113
5114 * dom/Document.cpp:
5115 (WebCore::MessagePortTimer::MessagePortTimer):
5116 (WebCore::MessagePortTimer::fired):
5117 (WebCore::Document::processMessagePortMessagesSoon):
5118 (WebCore::Document::~Document):
5119 (WebCore::Document::dispatchMessagePortEvents):
5120 (WebCore::Document::createdMessagePort):
5121 (WebCore::Document::destroyedMessagePort):
5122 * dom/Document.h:
5123 Document keeps track of all MessagePort objects that were created when it was fully active
5124 in its context.
5125
5126 * dom/EventNames.h: Added closeEvent.
5127
5128 * dom/MessageChannel.cpp: Added.
5129 (WebCore::MessageChannel::MessageChannel):
5130 (WebCore::MessageChannel::~MessageChannel):
5131 * dom/MessageChannel.h: Added.
5132 (WebCore::MessageChannel::create):
5133 (WebCore::MessageChannel::port1):
5134 (WebCore::MessageChannel::port2):
5135 * dom/MessageChannel.idl: Added.
5136 Addded JSMessageChannel implementation.
5137
5138 * dom/MessageEvent.cpp:
5139 (WebCore::MessageEvent::MessageEvent):
5140 (WebCore::MessageEvent::initMessageEvent):
5141 * dom/MessageEvent.h:
5142 (WebCore::MessageEvent::create):
5143 (WebCore::MessageEvent::messagePort):
5144 * dom/MessageEvent.idl:
5145 MessageEvent has a MessagePort member now, making it possible to pass ports across
5146 documents.
5147
dsmith@webkit.org3e32f422008-09-25 08:57:31 +000051482008-09-25 David Smith <catfish.man@gmail.com>
5149
5150 Reviewed by Eric Seidel
5151
5152 fix https://bugs.webkit.org/show_bug.cgi?id=21091
5153 Regression: querySelector matches tag names case sensitively
5154
5155 Tests: fast/dom/SelectorAPI/caseTag.html
5156 fast/dom/SelectorAPI/caseTagX.xhtml
5157
5158 * css/CSSParser.cpp:
5159 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
5160 * css/CSSParser.h:
5161 * dom/Node.cpp:
5162 (WebCore::Node::querySelector):
5163 (WebCore::Node::querySelectorAll):
5164
hyatt@apple.com912c1b12008-09-25 07:38:56 +000051652008-09-24 David Hyatt <hyatt@apple.com>
5166
5167 https://bugs.webkit.org/show_bug.cgi?id=21084
5168
5169 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
5170 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
5171
5172 Reviewed by Sam Weinig
5173
5174 * GNUmakefile.am:
5175 * WebCore.pro:
5176 * WebCore.vcproj/WebCore.vcproj:
5177 * WebCore.xcodeproj/project.pbxproj:
5178 * WebCoreSources.bkl:
5179 * platform/ScrollView.h:
5180 (WebCore::ScrollView::children):
5181 * platform/Widget.h:
5182 * platform/gtk/ScrollViewGtk.cpp:
5183 (WebCore::ScrollView::addChildPlatformWidget):
5184 (WebCore::ScrollView::removeChildPlatformWidget):
5185 (WebCore::ScrollView::geometryChanged):
5186 * platform/mac/ScrollViewMac.mm:
5187 (WebCore::ScrollView::addChildPlatformWidget):
5188 (WebCore::ScrollView::removeChildPlatformWidget):
5189 * platform/qt/ScrollViewQt.cpp:
5190 (WebCore::ScrollView::geometryChanged):
5191 (WebCore::ScrollView::addChildPlatformWidget):
5192 (WebCore::ScrollView::removeChildPlatformWidget):
5193 * platform/win/ScrollViewWin.cpp:
5194 (WebCore::ScrollView::geometryChanged):
5195 (WebCore::ScrollView::setParentVisible):
5196 (WebCore::ScrollView::show):
5197 (WebCore::ScrollView::hide):
5198 * platform/wx/ScrollViewWx.cpp:
5199 (WebCore::ScrollView::addChildPlatformWidget):
5200 (WebCore::ScrollView::removeChildPlatformWidget):
5201
mitz@apple.com982d2cc2008-09-25 07:16:05 +000052022008-09-25 Dan Bernstein <mitz@apple.com>
5203
5204 Reviewed by Dave Hyatt.
5205
5206 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
5207 <rdar://problem/6240821> Scrollbar not painted until hovered
5208
5209 * rendering/RenderWidget.cpp:
5210 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
5211 this method, which sets both the location and the size.
5212 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
5213 with a call to the new method setWidgetGeometry. Positioning the
5214 widget correctly ensures that the scroll bars invalidate correctly when
5215 they are created and resized.
5216 * rendering/RenderWidget.h:
5217
mitz@apple.com61969a62008-09-25 00:50:05 +000052182008-09-24 Dan Bernstein <mitz@apple.com>
5219
5220 Rubber-stamped by Sam Weinig.
5221
5222 - create a "style" subfolder under "rendering" and move style files to that folder
5223
5224 * WebCore.vcproj/WebCore.vcproj:
5225
weinig@apple.comacfb9e12008-09-25 00:39:11 +000052262008-09-24 Sam Weinig <sam@webkit.org>
5227
5228 Reviewed by Maciej Stachowiak.
5229
5230 Remove staticFunctionGetter. There is only one remaining user of
5231 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
5232
5233 * bindings/js/JSDOMWindowBase.cpp:
5234 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
5235
mitz@apple.com0cb3dff2008-09-24 23:40:29 +000052362008-09-24 Jeremy Moskovich <jeremy@chromium.org>
5237
5238 Reviewed by Dan Bernstein.
5239
5240 Test: editing/spelling/inline_spelling_markers.html
5241
5242 - https://bugs.webkit.org/show_bug.cgi?id=20092
5243 Spelling markers positioned incorrectly in RTL text
5244
5245 Measure spelling markers with selectionRectForText() to fix RTL.
5246
5247 This patch also fixes hit-testing for spelling marker tool tips,
5248 which used to work only on the first line.
5249
5250 * rendering/InlineTextBox.cpp:
5251 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
5252
hyatt@apple.come5925322008-09-24 21:28:08 +000052532008-09-24 David Hyatt <hyatt@apple.com>
5254
hyatt@apple.com31cd6d62008-09-24 21:45:19 +00005255 https://bugs.webkit.org/show_bug.cgi?id=21074
5256
hyatt@apple.come5925322008-09-24 21:28:08 +00005257 Make sure the viewless scrollbar knows how to paint properly when transformed.
5258
5259 Reviewed by Sam Weinig
5260
5261 * platform/mac/ScrollbarThemeMac.mm:
5262 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
5263 (WebCore::ScrollbarThemeMac::paint):
5264
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +000052652008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
5266
5267 Not reviewed. Try to fix win build.
5268
5269 * bindings/js/JSSVGElementInstanceCustom.cpp:
5270 (WebCore::toJS):
5271 * dom/ContainerNodeAlgorithms.h:
5272 (WebCore::removeAllChildrenInContainer):
5273 (WebCore::appendChildToContainer):
5274 (WebCore::Private::addChildNodesToDeletionQueue):
5275
52762008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
5277
5278 Reviewed by Oliver.
5279
5280 Add ContainerNodeAlgorithms.h, as central place to share algorithms
5281 operating on TreeShared-derived classes with a Node-style interface.
5282
5283 This allows SVGElementInstance & ContainerNode to share code.
5284
5285 * dom/ContainerNode.cpp:
5286 (WebCore::ContainerNode::removeAllChildren):
5287 (WebCore::ContainerNode::addChild):
5288 * dom/ContainerNode.h:
5289 * dom/ContainerNodeAlgorithms.h: Added.
5290 (WebCore::removeAllChildrenInContainer):
5291 (WebCore::appendChildToContainer):
5292 (WebCore::Private::NodeRemovalDispatcher::dispatch):
5293 (WebCore::Private::addChildNodesToDeletionQueue):
5294
simon.fraser@apple.com557a0472008-09-24 21:08:23 +000052952008-09-24 Simon Fraser <simon.fraser@apple.com>
5296
5297 Reviewed by Dave Hyatt
5298
5299 Wrap up dirtying the z-order list of the stacking context
5300 RenderLayer into a method.
5301 https://bugs.webkit.org/show_bug.cgi?id=21072
5302
5303 * rendering/RenderLayer.cpp:
5304 (WebCore::RenderLayer::setHasVisibleContent):
5305 (WebCore::RenderLayer::addChild):
5306 (WebCore::RenderLayer::removeChild):
5307 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
5308 (WebCore::RenderLayer::styleChanged):
5309 * rendering/RenderLayer.h:
5310 * rendering/RenderObject.cpp:
5311 (WebCore::RenderObject::setStyle):
5312
kmccullough@apple.comaf908e62008-09-24 20:22:23 +000053132008-09-24 Kevin McCullough <kmccullough@apple.com>
5314
5315 Reviewed by Tim.
5316
5317 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
5318 or displayed multiple times
5319 - The Insepctor Controller was comparing JSValue pointers so thought the
5320 message was not a repeat, but the JS of the inspector compared the
5321 strings and so knew it was the same message and so overwrote the old
5322 message.
5323
5324 * page/InspectorController.cpp:
5325 (WebCore::ConsoleMessage::isEqual):
5326 (WebCore::InspectorController::addMessageToConsole):
5327 (WebCore::InspectorController::addConsoleMessage):
5328 (WebCore::InspectorController::startGroup):
5329 (WebCore::InspectorController::endGroup):
5330 * page/InspectorController.h:
5331
hyatt@apple.comf4c8f172008-09-24 20:19:26 +000053322008-09-24 David Hyatt <hyatt@apple.com>
5333
5334 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
5335 arrow placement preference and the thumb jump preference).
5336
5337 Reviewed by Adam Roben
5338
5339 * platform/Scrollbar.cpp:
5340 (WebCore::Scrollbar::Scrollbar):
5341 (WebCore::Scrollbar::~Scrollbar):
5342 * platform/ScrollbarTheme.h:
5343 (WebCore::ScrollbarTheme::registerScrollbar):
5344 (WebCore::ScrollbarTheme::unregisterScrollbar):
5345 * platform/mac/ScrollbarThemeMac.h:
5346 * platform/mac/ScrollbarThemeMac.mm:
5347 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
5348 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
5349 (+[ScrollbarPrefsObserver registerAsObserver]):
5350 (WebCore::ScrollbarThemeMac::registerScrollbar):
5351 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
5352 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
5353 (WebCore::ScrollbarThemeMac::preferencesChanged):
5354
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +000053552008-09-24 Rob Buis <buis@kde.org>
5356
5357 Reviewed by Darin.
5358
5359 https://bugs.webkit.org/show_bug.cgi?id=20557
5360 getScreenCTM() returns wrong values
5361
5362 Use the absolute position of the svg root when
5363 determining the screen ctm.
5364
5365 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
5366
5367 * svg/SVGSVGElement.cpp:
5368 (WebCore::SVGSVGElement::getScreenCTM):
5369
hyatt@apple.com40a73652008-09-24 18:15:15 +000053702008-09-24 David Hyatt <hyatt@apple.com>
5371
hyatt@apple.come77b7d42008-09-24 18:26:51 +00005372 Turn off support for CSS variables.
5373
5374 * ChangeLog:
5375 * css/CSSParser.cpp:
5376 (WebCore::CSSParser::createVariablesRule):
5377 (WebCore::CSSParser::addVariable):
5378 (WebCore::CSSParser::addVariableDeclarationBlock):
5379
53802008-09-24 David Hyatt <hyatt@apple.com>
5381
hyatt@apple.com40a73652008-09-24 18:15:15 +00005382 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
5383
5384 * css/CSSGrammar.y:
5385 * css/CSSParserValues.cpp:
5386 (WebCore::CSSParserValue::isVariable):
5387 * css/CSSPrimitiveValue.cpp:
5388 (WebCore::CSSPrimitiveValue::cleanup):
5389 (WebCore::CSSPrimitiveValue::getStringValue):
5390 (WebCore::CSSPrimitiveValue::cssText):
5391 (WebCore::CSSPrimitiveValue::parserValue):
5392 * css/CSSPrimitiveValue.h:
5393 (WebCore::CSSPrimitiveValue::):
5394 (WebCore::CSSPrimitiveValue::isVariable):
5395
timothy@apple.com0214f092008-09-24 16:23:17 +000053962008-09-24 Timothy Hatcher <timothy@apple.com>
5397
5398 Fixes a regression where the "incorrect MIME-type" warning would not
5399 show up correctly in the Console or the resources sidebar.
5400
5401 Reviewed by Kevin McCullough.
5402
5403 * page/inspector/Resource.js:
5404 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
5405 to the WebInspector.ConsoleMessage constructor call.
5406 (WebInspector.Resource.prototype._checkWarning): Ditto.
5407
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +000054082008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
5409
5410 Reviewed by Simon.
5411
5412 Remove deprecated JS Qt bindings object call/construct code and fix autotests
5413
5414 * bridge/qt/qt_instance.cpp:
5415 (JSC::Bindings::QtInstance::QtInstance):
5416 * bridge/qt/qt_instance.h:
5417
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +000054182008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
5419
5420 Reviewed by Alp Toker. Landed by Jan Alonzo.
5421
5422 Bug 20883: [CURL] Add deferred loading
5423 https://bugs.webkit.org/show_bug.cgi?id=20883
5424
5425 Implement deferred loading for the libcURL backend using curl_easy_pause.
5426 As the method was introduced in version 7.18.0, all the code checks for libcURL
5427 version.
5428
5429 * platform/network/curl/ResourceHandleCurl.cpp:
5430 (WebCore::ResourceHandle::setDefersLoading):
5431 * platform/network/curl/ResourceHandleManager.cpp:
5432 (WebCore::writeCallback): Add an assertion that deferred loading is not
5433 activated.
5434 (WebCore::headerCallback): Ditto.
5435 (WebCore::readCallback): Ditto.
5436 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
5437 defersLoading to be false in order to avoid triggering an assertion.
5438 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
5439 activated, pause the easy handle.
5440
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +000054412008-09-23 Matt Lilek <webkit@mattlilek.com>
5442
5443 Reviewed by Tim Hatcher.
5444
5445 Inspector search field style tweaks.
5446
5447 * page/inspector/inspector.css:
5448
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +000054492008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
5450
5451 Reviewed by Eric.
5452
5453 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
5454
5455 Fix missing negation in EventTargetNode::insertedIntoDocument.
5456 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
5457 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
5458
5459 * dom/EventTargetNode.cpp:
5460 (WebCore::EventTargetNode::insertedIntoDocument):
5461 (WebCore::EventTargetNode::dispatchGenericEvent):
5462 * dom/EventTargetNode.h:
5463
timothy@apple.combffde042008-09-24 02:07:39 +000054642008-09-23 Timothy Hatcher <timothy@apple.com>
5465
timothy@apple.com99c03532008-09-24 02:08:44 +00005466 Adds search support to the Profiles panel.
5467
5468 The Profiles panel supports a few types of queries:
5469 * Standard string matching for function names and file URLs.
5470 * Greater than and less than search for numeric columns.
5471 So a query of ">24" will match all rows that have calls
5472 greater than 24. Or "<=42" will match all 42 or less.
5473 * Percent and time units. Adding a unit of "s", "ms" or "%"
5474 is supported and will match only the Self and Total columns.
5475 So a query of ">1.25s" will match all rows that took longer
5476 than 1.25 seconds.
5477
5478 Reviewed by Oliver Hunt.
5479
5480 * page/inspector/ProfileView.js:
5481 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
5482 it will start at the first result.
5483 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
5484 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
5485 data grid nodes.
5486 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
5487 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
5488 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
5489 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
5490 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
5491 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
5492 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
5493 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
5494 Expand all the ancestors first so the profile node will have a DataGridNode.
5495 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
5496 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
5497 have search matches.
5498 * page/inspector/ProfilesPanel.js:
5499 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
5500 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
5501 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
5502 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
5503 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
5504 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
5505 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
5506 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
5507 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
5508 * page/inspector/inspector.css: New style rules for the cell highlight color.
5509
55102008-09-23 Timothy Hatcher <timothy@apple.com>
5511
timothy@apple.com33c28442008-09-24 02:08:39 +00005512 Adds search support to the Resources and Scripts panels.
5513
5514 https://bugs.webkit.org/show_bug.cgi?id=21005
5515
5516 Reviewed by Oliver Hunt.
5517
5518 * page/inspector/Images/searchSmallBlue.png: Added.
5519 * page/inspector/Images/searchSmallBrightBlue.png: Added.
5520 * page/inspector/Images/searchSmallGray.png: Added.
5521 * page/inspector/Images/searchSmallWhite.png: Added.
5522 * page/inspector/ResourceView.js:
5523 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
5524 or "script-resource-views" since one might not be created yet.
5525 * page/inspector/ResourcesPanel.js:
5526 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
5527 are not this panel's current visible view. This can happen when a ResourceView is
5528 visible in the Scripts panel then switched to the this panel.
5529 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
5530 visibleView first.
5531 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
5532 that uses the current graph search function. So cycling through results will be in the order
5533 things appear in the sidebar.
5534 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
5535 resource's sidebar tree element.
5536 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
5537 in the sidebar. Calls the Panel prototype's searchCanceled.
5538 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
5539 in the sidebar. Calls the Panel prototype's performSearch.
5540 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
5541 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
5542 if there is a current search query.
5543 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
5544 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
5545 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
5546 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
5547 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
5548 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
5549 * page/inspector/ScriptView.js:
5550 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
5551 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
5552 it will start at the first result.
5553 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
5554 highlighting complete".
5555 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
5556 * page/inspector/ScriptsPanel.js:
5557 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
5558 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
5559 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
5560 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
5561 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
5562 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
5563 * page/inspector/SourceFrame.js:
5564 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
5565 * page/inspector/SourceView.js:
5566 (WebInspector.SourceView.prototype.hide):
5567 (WebInspector.SourceView.prototype.detach):
5568 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
5569 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
5570 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
5571 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
5572 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
5573 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
5574 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
5575 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
5576 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
5577 (WebInspector.SourceView.prototype.showingFirstSearchResult):
5578 (WebInspector.SourceView.prototype.showingLastSearchResult):
5579 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
5580 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
5581 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
5582 * page/inspector/inspector.css:
5583
55842008-09-23 Timothy Hatcher <timothy@apple.com>
5585
timothy@apple.com18950ed2008-09-24 02:08:32 +00005586 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
5587 so future code can be shared.
5588
5589 https://bugs.webkit.org/show_bug.cgi?id=21005
5590
5591 Reviewed by Oliver Hunt.
5592
5593 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
5594 And visibleResourceView to visibleView.
5595 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
5596
55972008-09-23 Timothy Hatcher <timothy@apple.com>
5598
timothy@apple.comcb23f4a2008-09-24 02:08:27 +00005599 Highlight all matched search results in the Elements panel DOM tree.
5600
5601 https://bugs.webkit.org/show_bug.cgi?id=21005
5602
5603 Reviewed by Oliver Hunt.
5604
5605 * page/inspector/ElementsPanel.js:
5606 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
5607 on all previous search results.
5608 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
5609 on all new search results.
5610 * page/inspector/ElementsTreeOutline.js:
5611 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
5612 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
5613 the highlighted class on the listItemElement.
5614 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
5615 if needed. Calls _updateTitle.
5616 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
5617 class so it can be styled when the highlighted class is present.
5618 * page/inspector/inspector.css: New style rules for the hihglight.
5619
56202008-09-23 Timothy Hatcher <timothy@apple.com>
5621
timothy@apple.com574c0522008-09-24 02:08:19 +00005622 Add search support to the Elements panel.
5623
5624 https://bugs.webkit.org/show_bug.cgi?id=21005
5625
5626 Reviewed by Oliver Hunt.
5627
5628 * page/inspector/ElementsPanel.js:
5629 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
5630 with a 0 match count to rest. Reset the other search properties.
5631 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
5632 query and a CSS selector on all the Documents in the page. Remembers the found nodes
5633 and avoids duplicates. Focuses the first result.
5634 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
5635 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
5636
56372008-09-23 Timothy Hatcher <timothy@apple.com>
5638
timothy@apple.com82d233c2008-09-24 02:08:15 +00005639 Add support to Panel that allows easy searching of sub-views.
5640
5641 https://bugs.webkit.org/show_bug.cgi?id=21005
5642
5643 Reviewed by Oliver Hunt.
5644
5645 * page/inspector/Panel.js:
5646 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
5647 views in the search results and delete the currentQuery property. Call
5648 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
5649 other search properties.
5650 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
5651 reset everything we need before doing a new search. Get an array of searchableViews
5652 from the panel, implemented by sub-classes. Iterate over the views one-by-one
5653 with an interval to prevent blocking the UI for large lists of searchableViews.
5654 This keeps the interface really responsive. Pass a finishedCallback function to
5655 the performSearch on each view so it can notify the panel of results.
5656 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
5657 searchResults of the visibleView, so we know where in the results we are.
5658 This is done every time incase the user manually navigates to a new view.
5659 If the view is showing the last result, jump to the next view and show it's
5660 first result. Otherwise jump to the next result in the current view.
5661 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
5662
56632008-09-23 Timothy Hatcher <timothy@apple.com>
5664
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +00005665 Add support for asking the current panel to perform a search, find next/previous and clear.
5666 A search is performed on the new new current panel when switching between panels. The search
5667 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
5668 be searched. The search field contents are selected when Command/Control-F or Enter/Return
5669 is pressed, so the user can easily type an entirely new query. The search match count shows
5670 up in the toolbar next to the search field.
5671
5672 Also changed:
5673 * Rename lastQuery to currentQuery since it better matches the truth.
5674 * Set the search field "results" attribute to zero since results arn't saved for
5675 how we use the search field.
5676 * Make repeated presses of the Return key jump to the next search result instead
5677 of doing nothing.
5678 * Increased the search field width.
5679
5680 https://bugs.webkit.org/show_bug.cgi?id=21005
5681
5682 Reviewed by Oliver Hunt.
5683
5684 * English.lproj/localizedStrings.js: New strings.
5685 * page/inspector/inspector.css: New styles.
5686 * page/inspector/inspector.html: Add the search-results-matches element. Add the
5687 incremental attribute to the search field and set the results attribute to zero.
5688 * page/inspector/inspector.js:
5689 (WebInspector.set currentPanel): perform the search on the new panel.
5690 (WebInspector.loaded): Change the event listeners and remove code that changes
5691 the search label text.
5692 (WebInspector.documentKeyDown): Add support for Command/Control-G and
5693 Command/Control-Shift-G. To jump to the next and previous search results.
5694 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
5695 This does different things depending on the attached state.
5696 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
5697 This prevents a "search" event from firing for key down. We handle the Enter key
5698 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
5699 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
5700 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
5701 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
5702 Call updateSearchMatchesCount to reset the matches count in the toolbar.
5703 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
5704
57052008-09-23 Timothy Hatcher <timothy@apple.com>
5706
timothy@apple.com1d5227a2008-09-24 02:08:01 +00005707 Remove the previous Inspector search code to make room for the new stuff.
5708
5709 https://bugs.webkit.org/show_bug.cgi?id=21005
5710
5711 Reviewed by Oliver Hunt.
5712
5713 * page/inspector/inspector.css:
5714 * page/inspector/inspector.html:
5715 * page/inspector/inspector.js:
5716 (WebInspector.get/set showingSearchResults): Removed.
5717 (WebInspector.searchResultsKeyDown): Removed.
5718 (WebInspector.searchResultsResizerDragStart): Removed.
5719 (WebInspector.searchResultsResizerDragEnd): Removed.
5720 (WebInspector.searchResultsResizerDrag): Removed.
5721 (WebInspector.performSearch): Removed searching parts.
5722
57232008-09-23 Timothy Hatcher <timothy@apple.com>
5724
timothy@apple.com5e915b722008-09-24 02:07:56 +00005725 Use the Array.remove helper function in more places.
5726
5727 https://bugs.webkit.org/show_bug.cgi?id=21037
5728
5729 Reviewed by Kevin McCullough.
5730
5731 * page/inspector/ResourceCategory.js:
5732 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
5733 * page/inspector/ResourcesPanel.js:
5734 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
5735 * page/inspector/inspector.js:
5736 (WebInspector.removeResource): Ditto.
5737
57382008-09-23 Timothy Hatcher <timothy@apple.com>
5739
timothy@apple.com3e116f12008-09-24 02:07:50 +00005740 Fixes a bug where inspecting a node after reloading the page
5741 would not reveal the node in the DOM tree. The TreeOutline
5742 was not being told to forget decendants of a removed child.
5743 So old TreeElements would be found that are not in the tree.
5744
5745 https://bugs.webkit.org/show_bug.cgi?id=21036
5746
5747 Reviewed by Kevin McCullough.
5748
5749 * page/inspector/treeoutline.js:
5750 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
5751 in addition to _forgetTreeElement.
5752 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
5753 in addition to _forgetTreeElement.
5754 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
5755 search for known elements.
5756 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
5757 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
5758 descendants and call _forgetTreeElement.
5759 * page/inspector/utilities.js:
5760 (Array.prototype.remove): Speed up this function by using Array.indexOf
5761 when onlyFirst is true.
5762
57632008-09-23 Timothy Hatcher <timothy@apple.com>
5764
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +00005765 Fixes a bug where inspecting some short text nodes does
5766 not reveal them in the Elements panel DOM tree.
5767
5768 https://bugs.webkit.org/show_bug.cgi?id=21035
5769
5770 Reviewed by Oliver Hunt.
5771
5772 * page/inspector/ElementsTreeOutline.js:
5773 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
5774 The revealAndSelectNode() method might find a different element
5775 if there is inlined text, and the select() call would change the
5776 focusedDOMNode and reenter this setter. So to avoid calling
5777 focusedNodeChanged() twice, first check if _focusedDOMNode is
5778 the same node as the one passed in.
5779 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
5780 this.treeOutline, since this is the TreeOutline.
5781 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
5782 Provides default functions for isAncestor, getParet and equal.
5783 Calls the base protoype's findTreeElement. If that returns null
5784 and the node is a text node, try finding it's parent.
5785 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
5786 Renamed to revealAndSelectNode.
5787 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
5788 Selects and reveals the node passed in. Use the simple findTreeElement.
5789 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
5790 Remove use of this.treeOutline, since this is the TreeOutline.
5791
57922008-09-23 Timothy Hatcher <timothy@apple.com>
5793
timothy@apple.combffde042008-09-24 02:07:39 +00005794 Fixes an exception that happened when removing a Resource
5795 from the ResourcesPanel.
5796
5797 https://bugs.webkit.org/show_bug.cgi?id=21034
5798
5799 Reviewed by Kevin McCullough.
5800
5801 * page/inspector/ResourcesPanel.js:
5802 (WebInspctor.ResourcesPanel.prototype.removeResource):
5803 Remove the graphElement.
5804
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000058052008-09-23 Kevin McCullough <kmccullough@apple.com>
5806
5807 Fixed "Time" to "Tim"
5808
5809 * ChangeLog:
5810
zimmermann@webkit.org718a2232008-09-24 01:00:42 +000058112008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
5812
5813 Reviewed by Oliver.
5814
5815 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
5816 from SVGDocumentExtensions to SVGElement. It's more useful to store
5817 the list of SVGElementInstances per SVGElement, instead of using
5818 a document-wide hash for this purpose.
5819
5820 * svg/SVGAnimateMotionElement.cpp:
5821 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
5822 * svg/SVGAnimateTransformElement.cpp:
5823 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
5824 * svg/SVGAnimationElement.cpp:
5825 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
5826 * svg/SVGDocumentExtensions.cpp:
5827 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
5828 * svg/SVGDocumentExtensions.h:
5829 * svg/SVGElement.cpp:
5830 (WebCore::SVGElement::mapInstanceToElement):
5831 (WebCore::SVGElement::removeInstanceMapping):
5832 (WebCore::SVGElement::instancesForElement):
5833 * svg/SVGElement.h:
5834 * svg/SVGElementInstance.cpp:
5835 (WebCore::SVGElementInstance::SVGElementInstance):
5836 (WebCore::SVGElementInstance::~SVGElementInstance):
5837 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
5838 * svg/SVGElementInstance.h:
5839 * svg/SVGStyledElement.cpp:
5840 (WebCore::SVGStyledElement::svgAttributeChanged):
5841 (WebCore::SVGStyledElement::childrenChanged):
5842 * svg/SVGStyledElement.h:
5843
kevino@webkit.org706ea432008-09-24 00:53:56 +000058442008-09-23 Kevin Ollivier <kevino@theolliviers.com>
5845
5846 wx build fix.
5847
5848 * WebCoreSources.bkl:
5849
zimmermann@webkit.org97c71082008-09-24 00:23:28 +000058502008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
5851
5852 Rubber stamped by Sam.
5853
5854 Move code from EventTarget to EventTargetNode.
5855
5856 I refactored most parts to live in EventTarget, a year ago,
5857 though the implementation of EventTargetSVGElementInstance is
5858 done in another way, that obsoletes this.
5859
5860 * dom/Document.cpp:
5861 (WebCore::Document::addListenerTypeIfNeeded):
5862 * dom/Document.h:
5863 * dom/EventTarget.cpp:
5864 * dom/EventTarget.h:
5865 (WebCore::allowEventDispatch):
5866 * dom/EventTargetNode.cpp:
5867 (WebCore::EventTargetNode::insertedIntoDocument):
5868 (WebCore::EventTargetNode::removedFromDocument):
5869 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
5870 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
5871 (WebCore::EventTargetNode::addEventListener):
5872 (WebCore::EventTargetNode::removeEventListener):
5873 (WebCore::EventTargetNode::removeAllEventListeners):
5874 (WebCore::EventTargetNode::handleLocalEvents):
5875 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
5876 (WebCore::EventTargetNode::dispatchEvent):
5877 (WebCore::EventTargetNode::dispatchGenericEvent):
5878 (WebCore::EventTargetNode::dispatchWindowEvent):
5879 (WebCore::EventTargetNode::removeEventListenerForType):
5880 * dom/EventTargetNode.h:
5881 * svg/EventTargetSVGElementInstance.cpp:
5882 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
5883 * svg/SVGElement.cpp:
5884 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
5885 * svg/SVGElement.h:
5886 (WebCore::SVGElement::supplementalTransform):
5887
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +000058882008-09-23 Dave Hyatt <hyatt@apple.com>
5889
5890 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
5891 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
5892
5893 Reviewed by Sam Weinig
5894
5895 * platform/mac/ScrollbarThemeMac.mm:
5896 (WebCore::ScrollbarThemeMac::trackRect):
5897 * platform/win/ScrollbarThemeSafari.cpp:
5898 (WebCore::ScrollbarTheme::nativeTheme):
5899 (WebCore::ScrollbarThemeSafari::trackRect):
5900
bdakin@apple.comaab5d692008-09-24 00:09:33 +000059012008-09-23 Beth Dakin <bdakin@apple.com>
5902
5903 Reviewed by Sam Weinig.
5904
5905 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
5906 link at gmail does not support AXPress action
5907 and corresponding: <rdar://problem/6216178>
5908
5909 I fixed this bug by making AccessibilityObject::anchorElement
5910 support ARIA links.
5911
5912 * page/AccessibilityImageMapLink.cpp:
5913 (WebCore::AccessibilityImageMapLink::anchorElement):
5914 * page/AccessibilityImageMapLink.h:
5915 * page/AccessibilityObject.cpp:
5916 (WebCore::AccessibilityObject::anchorElement):
5917 * page/AccessibilityObject.h:
5918 (WebCore::AccessibilityObject::isNativeAnchor):
5919 * page/AccessibilityRenderObject.cpp:
5920 (WebCore::AccessibilityRenderObject::isNativeAnchor):
5921 (WebCore::AccessibilityRenderObject::anchorElement):
5922 (WebCore::AccessibilityRenderObject::internalLinkElement):
5923 (WebCore::AccessibilityRenderObject::url):
5924 * page/AccessibilityRenderObject.h:
5925 * page/mac/AccessibilityObjectWrapper.mm:
5926 (AXLinkElementForNode):
5927
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000059282008-09-23 Kevin McCullough <kmccullough@apple.com>
5929
kmccullough@apple.com70d32f22008-09-24 01:18:31 +00005930 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +00005931
5932 Bug 20949: Catch repeated messages in Inspector Controller to limit
5933 memory usage
5934 - Store the repeat count in the Console Message object, in the
5935 Inspector Controller and JS ConsoleMessage object.
5936
5937 * page/InspectorController.cpp:
5938 (WebCore::ConsoleMessage::ConsoleMessage):
5939 (WebCore::ConsoleMessage::operator==):
5940 (WebCore::InspectorController::InspectorController):
5941 (WebCore::InspectorController::addConsoleMessage):
5942 (WebCore::InspectorController::addScriptConsoleMessage):
5943 * page/InspectorController.h:
5944 * page/inspector/Console.js:
5945 * page/inspector/Resource.js:
5946 * page/inspector/ResourcesPanel.js:
5947 * page/inspector/SourceFrame.js:
5948
zimmermann@webkit.org29d22032008-09-23 23:44:20 +000059492008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
5950
5951 Reviewed by Eric.
5952
5953 Working on proper EventTarget support for SVGElementInstance.
5954
5955 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
5956 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
5957
5958 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
5959 implementation. Let it use TreeShared directly.
5960
5961 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
5962 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
5963
5964 * GNUmakefile.am:
5965 * WebCore.pro:
5966 * WebCore.vcproj/WebCore.vcproj:
5967 * WebCore.xcodeproj/project.pbxproj:
5968 * bindings/js/JSEventTargetBase.cpp:
5969 (WebCore::retrieveEventTargetAndCorrespondingNode):
5970 (WebCore::toJS):
5971 * bindings/js/JSEventTargetBase.h:
5972 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
5973 (WebCore::):
5974 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
5975 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
5976 (WebCore::JSEventTargetSVGElementInstance::setListener):
5977 (WebCore::JSEventTargetSVGElementInstance::getListener):
5978 (WebCore::toEventTargetSVGElementInstance):
5979 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
5980 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
5981 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
5982 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
5983 (WebCore::JSEventTargetSVGElementInstance::put):
5984 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
5985 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
5986 (WebCore::toJS):
5987 * bindings/objc/DOM.mm:
5988 (+[DOMNode _wrapEventTarget:WebCore::]):
5989 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
5990 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
5991 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
5992 (-[DOMSVGElementInstance WebCore::]):
5993 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
5994 (-[DOMSVGElementInstance addEventListener:::]):
5995 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
5996 (-[DOMSVGElementInstance removeEventListener:::]):
5997 (-[DOMSVGElementInstance dispatchEvent:]):
5998 * bindings/objc/DOMEvents.h:
5999 * bindings/scripts/CodeGeneratorJS.pm:
6000 * bindings/scripts/CodeGeneratorObjC.pm:
6001 * svg/EventTargetSVGElementInstance.cpp: Added.
6002 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
6003 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
6004 (WebCore::EventTargetSVGElementInstance::addEventListener):
6005 (WebCore::EventTargetSVGElementInstance::removeEventListener):
6006 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
6007 * svg/EventTargetSVGElementInstance.h: Added.
6008 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
6009 (WebCore::EventTargetSVGElementInstance::toNode):
6010 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
6011 (WebCore::EventTargetSVGElementInstance::refEventTarget):
6012 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
6013 (WebCore::EventTargetSVGElementInstanceCast):
6014 * svg/SVGElement.cpp:
6015 (WebCore::SVGElement::dispatchEvent):
6016 * svg/SVGElementInstance.cpp:
6017 (WebCore::SVGElementInstance::SVGElementInstance):
6018 (WebCore::SVGElementInstance::~SVGElementInstance):
6019 * svg/SVGElementInstance.h:
6020 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
6021 * svg/SVGElementInstance.idl:
6022
mitz@apple.come47c5af2008-09-23 21:47:54 +000060232008-09-23 Dan Bernstein <mitz@apple.com>
6024
6025 Reviewed by Dave Hyatt.
6026
6027 - https://bugs.webkit.org/show_bug.cgi?id=21040
6028 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
6029
6030 * platform/graphics/mac/SimpleFontDataMac.mm:
6031 (WebCore::SimpleFontData::getCTFont):
6032
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +000060332008-09-23 David Hyatt <hyatt@apple.com>
6034
6035 https://bugs.webkit.org/show_bug.cgi?id=21039
6036
6037 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
6038
6039 Reviewed by Sam Weinig
6040
6041 * platform/ScrollView.h:
6042 * platform/Scrollbar.cpp:
6043 (WebCore::Scrollbar::setFrameGeometry):
6044 * platform/Scrollbar.h:
6045 * platform/Widget.cpp:
6046 (WebCore::Widget::convertFromContainingWindow):
6047 * platform/Widget.h:
6048 * platform/mac/ScrollViewMac.mm:
6049 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6050 (WebCore::ScrollView::ScrollView):
6051 (WebCore::ScrollView::~ScrollView):
6052 (WebCore::ScrollView::windowResizerRect):
6053 (WebCore::ScrollView::resizerOverlapsContent):
6054 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
6055 (WebCore::ScrollView::setParent):
6056 * platform/mac/WidgetMac.mm:
6057 (WebCore::Widget::convertFromContainingWindow):
6058
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +000060592008-09-23 Dirk Schulze <vbs85@gmx.de>
6060
6061 Reviewed by Darin Adler. Landed by Jan Alonzo.
6062
6063 Added support for getImageData() and putImageData()
6064 to Cairo.
6065
6066 [CAIRO] needs getImageData and putImageData support
6067 https://bugs.webkit.org/show_bug.cgi?id=20838
6068
6069 * platform/graphics/cairo/ImageBufferCairo.cpp:
6070 (WebCore::ImageBuffer::ImageBuffer):
6071 (WebCore::ImageBuffer::getImageData):
6072 (WebCore::ImageBuffer::putImageData):
6073
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +000060742008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
6075
6076 Reviewed by Holger Freyther.
6077
6078 http://bugs.webkit.org/show_bug.cgi?id=18987
6079 [GTK] Implement SharedBuffer::createWithContentsOfFile and
6080 KURL::fileSystemPath
6081
6082 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
6083 * platform/gtk/KURLGtk.cpp: Added.
6084 (WebCore::KURL::fileSystemPath): Implemented.
6085 * platform/gtk/SharedBufferGtk.cpp: Added.
6086 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
6087 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
6088
ap@webkit.org198304c2008-09-23 16:34:41 +000060892008-09-23 Alexey Proskuryakov <ap@webkit.org>
6090
ap@webkit.orgccfa60a2008-09-23 20:39:22 +00006091 Reviewed by Oliver Hunt, okayed by Darin Adler.
6092
6093 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
6094
6095 * rendering/InlineTextBox.cpp:
6096 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
6097
60982008-09-23 Alexey Proskuryakov <ap@webkit.org>
6099
ap@webkit.org198304c2008-09-23 16:34:41 +00006100 Reviewed by Darin Adler.
6101
6102 https://bugs.webkit.org/show_bug.cgi?id=21023
6103 Don't use TEC for encodings supported by ICU
6104
6105 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
6106 x-mac-greek, and x-mac-turkish.
6107
6108 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
6109 Register aliases for these encodings that are not registered automatically; updated comments.
6110
mjs@apple.coma6dc93d2008-09-23 07:46:55 +000061112008-09-23 Maciej Stachowiak <mjs@apple.com>
6112
6113 Reviewed by Darin.
6114
6115 - speed up instanceof some more
6116 https://bugs.webkit.org/show_bug.cgi?id=20818
6117
6118 ~2% speedup on EarleyBoyer
6119
6120 (WebCore updates.)
6121
6122 * bindings/js/JSQuarantinedObjectWrapper.h:
6123 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
6124
oliver@apple.combc10aae2008-09-23 07:40:49 +000061252008-09-22 Darin Adler <darin@apple.com>
6126
6127 Reviewed by Oliver Hunt.
6128
6129 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
6130 getting pixels by index from CanvasPixelArray is unnecessarily slow
6131
6132 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
6133 * WebCore.vcproj/WebCore.vcproj: Ditto.
6134 * WebCore.xcodeproj/project.pbxproj: Ditto.
6135
6136 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
6137 indexSetter. These are now both inlined, so in the header.
6138 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
6139 function is what's used for HasCustomIndexGetter. Also moved the
6140 indexSetter function here.
6141
6142 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
6143 to use a getByIndex member function rather than an indexGetter static
6144 member function in a property slot. This lets us avoid the property
6145 slot mechanism's rule where it turns numeric property names into
6146 strings in the identifier table, which is good because that's slow.
6147 Also added a new property CustomHeader that allows IDL files to
6148 introduce headers to be included -- useful when we have functions
6149 that we want to inline into the binding.
6150
6151 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
6152
eric@webkit.org924a2d32008-09-23 07:04:11 +000061532008-09-23 Eric Seidel <eric@webkit.org>
6154
6155 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +00006156
6157 Another blind stab in the dark.
6158
6159 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
6160
61612008-09-23 Eric Seidel <eric@webkit.org>
6162
6163 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +00006164
6165 Third time's the charm, eh? My local build is sadly still not done...
6166
6167 * platform/graphics/AffineTransform.cpp: remove extra &
6168 * platform/graphics/AffineTransform.h: remove extra &
6169
eric@webkit.orgf394f462008-09-23 06:38:10 +000061702008-09-22 Eric Seidel <eric@webkit.org>
6171
6172 No review, build fix only.
6173
eric@webkit.orgf9212312008-09-23 06:47:51 +00006174 * platform/graphics/AffineTransform.cpp: remove extra ;
6175
61762008-09-22 Eric Seidel <eric@webkit.org>
6177
6178 No review, build fix only.
6179
eric@webkit.orgf394f462008-09-23 06:38:10 +00006180 Speculative fix for the build while I wait for my compile to finish.
6181
6182 * platform/graphics/AffineTransform.cpp:
6183
eric@webkit.org10583212008-09-23 06:05:59 +000061842008-09-22 Dirk Schulze <vbs85@gmx.de>
6185
6186 Reviewed by eseidel. Landed by eseidel.
6187
6188 Moved makeMapBetweenRects from SVG/CG to AffineTransform
6189 Make SVGResourceClipper::applyClip more cross-platform
6190
6191 * platform/graphics/AffineTransform.cpp:
6192 * platform/graphics/AffineTransform.h:
6193 * svg/graphics/cg/CgSupport.cpp:
6194 * svg/graphics/cg/CgSupport.h:
6195 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
6196 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
6197 * svg/graphics/cg/SVGResourceClipperCg.cpp:
6198 (WebCore::SVGResourceClipper::applyClip):
6199
alp@webkit.orgfaa63e42008-09-23 03:08:57 +000062002008-09-22 Alp Toker <alp@nuanti.com>
6201
6202 Reviewed by David Hyatt.
6203
6204 https://bugs.webkit.org/show_bug.cgi?id=16331
6205 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
6206
6207 Obey GTK+ focusing conventions for controls and anchor elements.
6208
6209 It could be interesting to push these decisions up to Settings or
6210 ChromeClient some day but this gets things working.
6211
6212 Right and middle click events still need some work to match GTK+
6213 conventions.
6214
6215 * html/HTMLAnchorElement.cpp:
6216 (WebCore::HTMLAnchorElement::isMouseFocusable):
6217 * html/HTMLFormControlElement.cpp:
6218 (WebCore::HTMLFormControlElement::isMouseFocusable):
6219 * page/EventHandler.cpp:
6220 (WebCore::EventHandler::sendContextMenuEvent):
6221
darin@apple.com4a266462008-09-23 01:24:31 +000062222008-09-22 Darin Adler <darin@apple.com>
6223
6224 * page/mac/FrameMac.mm:
6225 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
6226
weinig@apple.comb6a39b72008-09-23 01:19:56 +000062272008-09-22 Sam Weinig <sam@webkit.org>
6228
6229 Reviewed by Dan Bernstein.
6230
6231 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
6232 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
6233 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
6234 class!
6235
6236 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
6237 non-selectable input types, but return undefined when accessed.
6238
6239 * DerivedSources.make:
6240 * GNUmakefile.am:
6241 * WebCore.pro:
6242 * WebCore.vcproj/WebCore.vcproj:
6243 * WebCore.xcodeproj/project.pbxproj:
6244 * WebCoreSources.bkl:
6245 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
6246 * bindings/js/JSHTMLInputElementBase.h: Removed.
6247 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
6248 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
6249 (WebCore::JSHTMLInputElement::selectionStart):
6250 (WebCore::JSHTMLInputElement::selectionEnd):
6251 * bindings/js/JSHTMLInputElementCustom.h: Added.
6252 * html/HTMLInputElement.idl:
6253
mitz@apple.com895c54c2008-09-23 00:48:17 +000062542008-09-22 Dan Bernstein <mitz@apple.com>
6255
6256 Reviewed by Sam Weinig.
6257
6258 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
6259
6260 Not testable in DumpRenderTree or in Safari
6261
6262 * page/mac/FrameMac.mm:
6263 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
6264 case that the selection start node is a block.
6265
hyatt@apple.com78083552008-09-22 22:17:40 +000062662008-09-22 David Hyatt <hyatt@apple.com>
6267
6268 https://bugs.webkit.org/show_bug.cgi?id=21007
6269
6270 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
6271
6272 Reviewed by Sam Weinig
6273
6274 * page/EventHandler.cpp:
6275 (WebCore::EventHandler::handleMouseDoubleClickEvent):
6276
eric@webkit.orgb57170b2008-09-22 21:44:28 +000062772008-09-22 Eric Seidel <eric@webkit.org>
6278
6279 No review, rollback only.
6280
6281 Roll out Peter's change (per his request)
6282 http://trac.webkit.org/changeset/36069
6283 https://bugs.webkit.org/show_bug.cgi?id=19663
6284 This change has been the source of numerous regressions
6285 (several of which were latent bugs revealed by this change,
6286 others were bugs in this change)
6287
6288 * platform/graphics/BitmapImage.cpp:
6289 (WebCore::BitmapImage::BitmapImage):
6290 (WebCore::BitmapImage::startAnimation):
6291 (WebCore::BitmapImage::advanceAnimation):
6292 * platform/graphics/BitmapImage.h:
6293 * platform/graphics/cairo/ImageCairo.cpp:
6294 (WebCore::BitmapImage::draw):
6295 * platform/graphics/cg/ImageCG.cpp:
6296 (WebCore::BitmapImage::draw):
6297 * platform/graphics/qt/ImageQt.cpp:
6298 (WebCore::BitmapImage::draw):
6299 * platform/graphics/wx/ImageWx.cpp:
6300 (WebCore::BitmapImage::draw):
6301
mitz@apple.comdc318202008-09-22 21:32:14 +000063022008-09-22 Dan Bernstein <mitz@apple.com>
6303
6304 Reviewed by Sam Weinig.
6305
6306 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
6307
6308 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
6309 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
6310
6311 * config.h: Use Core Text if not building for Leopard or Tiger.
6312
hyatt@apple.com143e97c2008-09-22 21:03:02 +000063132008-09-22 David Hyatt <hyatt@apple.com>
6314
6315 https://bugs.webkit.org/show_bug.cgi?id=21006
6316
6317 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
6318 switched on. There are still a few more refinements to make to the rendering and behavior.
6319
6320 Reviewed by Darin Adler
6321
6322 * platform/ScrollbarThemeComposite.cpp:
6323 (WebCore::ScrollbarThemeComposite::paint):
6324 * platform/ScrollbarThemeComposite.h:
6325 (WebCore::ScrollbarThemeComposite::paintTrack):
6326 (WebCore::ScrollbarThemeComposite::paintButton):
6327 (WebCore::ScrollbarThemeComposite::paintThumb):
6328 * platform/mac/ScrollbarThemeMac.h:
6329 * platform/mac/ScrollbarThemeMac.mm:
6330 (WebCore::ScrollbarThemeMac::backButtonRect):
6331 (WebCore::ScrollbarThemeMac::forwardButtonRect):
6332 (WebCore::scrollbarPartToHIPressedState):
6333 (WebCore::ScrollbarThemeMac::paint):
6334 * platform/mac/WidgetMac.mm:
6335 (WebCore::Widget::invalidateRect):
6336
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +000063372008-09-22 Chris Marrin <cmarrin@apple.com>
6338
6339 Reviewed by Sam Weinig
6340
6341 transition end event when -webkit-transition-property: all puts wrong
6342 propertyName in event
6343 https://bugs.webkit.org/show_bug.cgi?id=20903
6344
6345 * page/animation/ImplicitAnimation.cpp:
6346 (WebCore::ImplicitAnimation::sendTransitionEvent):
6347
cfleizach@apple.com70013042008-09-22 18:30:36 +000063482008-09-22 Chris Fleizach <cfleizach@apple.com>
6349
6350 Reviewed by Darin Adler.
6351
cfleizach@apple.comdebb8722008-09-22 18:47:16 +00006352 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
6353
6354 Test: accessibility/table-one-cell.html
6355
6356 * page/AccessibilityTable.cpp:
6357 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
6358
63592008-09-22 Chris Fleizach <cfleizach@apple.com>
6360
6361 Reviewed by Darin Adler.
6362
cfleizach@apple.com70013042008-09-22 18:30:36 +00006363 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
6364
6365 Test: accessibility/textarea-selected-text-range.html
6366
6367 * page/AccessibilityRenderObject.cpp:
6368 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
6369
hyatt@apple.com4139b152008-09-22 18:21:37 +000063702008-09-22 David Hyatt <hyatt@apple.com>
6371
6372 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
6373 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
6374 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
6375 rule.
6376
6377 Reviewed by Sam Weinig
6378
6379 Added fast/css/nested-rule-parent-sheet.html
6380
6381 * css/CSSImportRule.cpp:
6382 (WebCore::CSSImportRule::insertedIntoParent):
6383 * css/CSSRule.cpp:
6384 (WebCore::CSSRule::parentStyleSheet):
6385 (WebCore::CSSRule::parentRule):
6386 * css/CSSStyleSheet.cpp:
6387 (WebCore::CSSStyleSheet::CSSStyleSheet):
6388 * css/CSSStyleSheet.h:
6389
mitz@apple.comd409a262008-09-22 18:17:57 +000063902008-09-22 Dan Bernstein <mitz@apple.com>
6391
6392 Reviewed by Sam Weinig.
6393
6394 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
6395 Make the ATSUI code path respect spacingDisabled()
6396
6397 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
6398
6399 * platform/graphics/mac/FontMacATSUI.mm:
6400 (WebCore::overrideLayoutOperation):
6401
mjs@apple.com221b4752008-09-22 15:03:52 +000064022008-09-22 Maciej Stachowiak <mjs@apple.com>
6403
6404 Reviewed by Cameron Zwarich.
6405
6406 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
6407
6408 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
6409
6410 2.2% speedup on EarleyBoyer benchmark.
6411
6412 * bindings/js/JSQuarantinedObjectWrapper.cpp:
6413 * bindings/js/JSQuarantinedObjectWrapper.h:
6414 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
6415 * bindings/scripts/CodeGeneratorJS.pm:
6416
aroben@apple.comd5cbddc2008-09-22 14:31:08 +000064172008-09-22 Adam Roben <aroben@apple.com>
6418
6419 Windows build fix
6420
6421 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
6422
mjs@apple.coma173abd2008-09-22 13:59:06 +000064232008-09-22 Maciej Stachowiak <mjs@apple.com>
6424
6425 Reviewed by Dave Hyatt.
6426
6427 Based on initial work by Darin Adler.
6428
6429 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
6430 - use this to JIT inline code for eq_null and neq_null
6431 https://bugs.webkit.org/show_bug.cgi?id=20823
6432
6433 * WebCore.xcodeproj/project.pbxproj:
6434 * WebCore.vcproj/WebCore.vcproj:
6435 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
6436 (WebCore::JSCSSStyleDeclaration::nameGetter):
6437 * bindings/js/JSHTMLAllCollection.cpp: Added.
6438 (WebCore::):
6439 * bindings/js/JSHTMLAllCollection.h:
6440 (WebCore::JSHTMLAllCollection::createStructureID):
6441 (WebCore::JSHTMLAllCollection::toBoolean):
6442
vestbo@webkit.orgab848362008-09-22 13:27:06 +000064432008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
6444
6445 Reviewed by Simon.
6446
6447 Fix the QtWebKit build
6448
6449 * bridge/qt/qt_instance.cpp:
6450 (JSC::Bindings::QtRuntimeObjectImp::construct):
6451 * bridge/qt/qt_runtime.cpp:
6452
alp@webkit.orgcc9b0812008-09-22 08:53:06 +000064532008-09-22 Alp Toker <alp@nuanti.com>
6454
6455 Suggested by David Hyatt.
6456
6457 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
6458 so make it public.
6459
6460 * platform/ScrollView.h:
6461
hyatt@apple.com7cb18562008-09-22 07:57:52 +000064622008-09-22 David Hyatt <hyatt@apple.com>
6463
hyatt@apple.combac66582008-09-22 08:36:44 +00006464 Fix a regression in Windows scrollbar painting. (Also fix the same
6465 bug in my new viewless Mac scrollbar painting code). The track rect
6466 was being improperly inflated when painting resulting in the scrollbar
6467 being too tall and painting in the border of overflow sections.
6468
6469 Reviewed by Oliver Hunt
6470
6471 * platform/mac/ScrollbarThemeMac.mm:
6472 (WebCore::ScrollbarThemeMac::trackRect):
6473 * platform/win/ScrollbarThemeSafari.cpp:
6474 (WebCore::ScrollbarThemeSafari::trackRect):
6475
64762008-09-22 David Hyatt <hyatt@apple.com>
6477
hyatt@apple.com7cb18562008-09-22 07:57:52 +00006478 Fix a hit testing bug where events are mistakenly passed to subframes
6479 if the mouse is over the border or padding area of the frame. Add
6480 a boolean flag, isOverWidget(), to hit test results so that EventHandler
6481 can check it to tell if the mouse is really over the content box of a
6482 RenderWidget and not just in the border/padding area.
6483
6484 This is not testable, since the old code properly recovered when it detected
6485 that the mouse was outside the bounds of the view, but this prevents
6486 the extra passdown from even occurring (and is basically a nice cleanup).
6487
6488 Reviewed by Oliver Hunt
6489
6490 * page/EventHandler.cpp:
6491 (WebCore::EventHandler::handleMousePressEvent):
6492 (WebCore::EventHandler::hitTestResultAtPoint):
6493 (WebCore::subframeForHitTestResult):
6494 (WebCore::EventHandler::handleMouseDoubleClickEvent):
6495 (WebCore::EventHandler::handleMouseMoveEvent):
6496 (WebCore::EventHandler::handleMouseReleaseEvent):
6497 (WebCore::EventHandler::handleWheelEvent):
6498 * page/MouseEventWithHitTestResults.h:
6499 (WebCore::MouseEventWithHitTestResults::isOverWidget):
6500 * rendering/HitTestResult.cpp:
6501 (WebCore::HitTestResult::HitTestResult):
6502 (WebCore::HitTestResult::operator=):
6503 * rendering/HitTestResult.h:
6504 (WebCore::HitTestResult::isOverWidget):
6505 (WebCore::HitTestResult::setIsOverWidget):
6506 * rendering/RenderWidget.cpp:
6507 (WebCore::RenderWidget::nodeAtPoint):
6508 * rendering/RenderWidget.h:
6509
hyatt@apple.comb2bf5272008-09-22 05:54:40 +000065102008-09-21 David Hyatt <hyatt@apple.com>
6511
6512 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
6513 both it and ScrollView's updateContents method be off-limits to everyone in
6514 WebCore except for RenderView.
6515
6516 Make repaintViewRectangle the only possible method for WebCore code to do
6517 an invalidation. This ensures that all invalidates triggered by WebCore
6518 cross-platform code that cross ownerElement() boundaries are transform-aware.
6519
6520 Make sure that iframes/frames contained inside objects that have transforms
6521 or reflections are not allowed to blit (this was already true for transparency).
6522
6523 It is not possible to make a test for any of this, since iframe scrolling
6524 still doesn't work on Mac (since the invalidates are not being done
6525 through WebCore's cross-platform invalidation code but are instead going
6526 through NSScrollView's setNeedsDisplay still).
6527
6528 Reviewed by Oliver Hunt
6529
6530 * editing/SelectionController.cpp:
6531 (WebCore::SelectionController::recomputeCaretRect):
6532 (WebCore::SelectionController::invalidateCaretRect):
6533 (WebCore::SelectionController::focusedOrActiveStateChanged):
6534 * page/FrameView.cpp:
6535 (WebCore::FrameView::repaintContentRectangle):
6536 (WebCore::FrameView::endDeferredRepaints):
6537 * page/FrameView.h:
6538 * platform/ScrollView.h:
6539 * rendering/RenderBox.cpp:
6540 (WebCore::RenderBox::paintFillLayerExtended):
6541 * rendering/RenderLayer.cpp:
6542 (WebCore::RenderLayer::enclosingPositionedAncestor):
6543 (WebCore::RenderLayer::requiresSlowRepaints):
6544 * rendering/RenderLayer.h:
6545 (WebCore::RenderLayer::hasTransform):
6546 * rendering/RenderView.cpp:
6547 (WebCore::RenderView::paintBoxDecorations):
6548 (WebCore::RenderView::repaintViewRectangle):
6549 (WebCore::RenderView::setSelection):
6550
mjs@apple.com52b67602008-09-22 03:15:52 +000065512008-09-21 Maciej Stachowiak <mjs@apple.com>
6552
6553 Reviewed by Darin.
6554
6555 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
6556 https://bugs.webkit.org/show_bug.cgi?id=20981
6557
6558 * bindings/js/JSAudioConstructor.cpp:
6559 (WebCore::JSAudioConstructor::JSAudioConstructor):
6560 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
6561 (WebCore::JSCSSStyleDeclaration::nameGetter):
6562 * bindings/js/JSDOMBinding.cpp:
6563 (WebCore::createDOMStructure):
6564 * bindings/js/JSDOMBinding.h:
6565 (WebCore::getDOMStructure):
6566 * bindings/js/JSDOMWindowShell.cpp:
6567 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
6568 (WebCore::JSDOMWindowShell::setWindow):
6569 * bindings/js/JSEventTargetNode.cpp:
6570 (WebCore::JSEventTargetNode::createPrototype):
6571 * bindings/js/JSHTMLOptionElementConstructor.cpp:
6572 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
6573 * bindings/js/JSImageConstructor.cpp:
6574 (WebCore::JSImageConstructor::JSImageConstructor):
6575 * bindings/js/JSXMLHttpRequestConstructor.cpp:
6576 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
6577 * bindings/js/JSXSLTProcessorConstructor.cpp:
6578 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
6579 * bindings/scripts/CodeGeneratorJS.pm:
6580
darin@apple.comad89d662008-09-22 02:12:57 +000065812008-09-21 Darin Adler <darin@apple.com>
6582
6583 Reviewed by Maciej Stachowiak.
6584
6585 - fix problem Maciej noticed where every JSNamedNodesCollection
6586 gets its own StructureID
6587
6588 * bindings/js/JSNamedNodesCollection.cpp:
6589 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
6590 getDOMStructure to get the structure.
6591 * bindings/js/JSNamedNodesCollection.h:
6592 (WebCore::JSNamedNodesCollection::createPrototype): Return the
6593 object prototype.
6594
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +000065952008-09-20 David Hyatt <hyatt@apple.com>
6596
6597 Make sure transformed scrollbars in overflow sections position
6598 properly. This patch mimics the same behavior that works for
6599 iframes, namely making sure that the same code that dynamically
6600 adjusts iframe widget positions at paint time for fixed positioning
6601 and transforms also applies to scrollbars. (This is as simple as passing
6602 in the current translation factor at paint time rather than crawling
6603 up the layer tree to compute a "false" absolute position.)
6604
6605 An existing transform test covers this (although only a pixel result
6606 reveals the correct rendering).
6607
6608 Reviewed by Darin Adler
6609
6610 * rendering/RenderLayer.cpp:
6611 (WebCore::RenderLayer::updateLayerPositions):
6612 (WebCore::RenderLayer::positionOverflowControls):
6613 (WebCore::RenderLayer::paintOverflowControls):
6614 (WebCore::RenderLayer::paintLayer):
6615 * rendering/RenderLayer.h:
6616
sfalken@apple.comd0274692008-09-22 00:08:30 +000066172008-09-21 Steve Falkenburg <sfalken@apple.com>
6618
sfalken@apple.com4fe10f92008-09-22 00:12:28 +00006619 Removed unnecessary nested timer check.
6620
6621 Rubber-stamped by Dan Bernstein.
6622
6623 * platform/win/SharedTimerWin.cpp:
6624 (WebCore::TimerWindowWndProc):
6625
66262008-09-21 Steve Falkenburg <sfalken@apple.com>
6627
sfalken@apple.comd0274692008-09-22 00:08:30 +00006628 Improve timer resolution on WinXP.
6629 https://bugs.webkit.org/show_bug.cgi?id=20979
6630
6631 Removed last-chance timer. It should not be necessary.
6632 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
6633 Remove Vista checks. We now run the same code on both XP and Vista.
6634
6635 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
6636 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
6637
6638 Reviewed by Maciej Stachowiak.
6639
6640 * platform/win/SharedTimerWin.cpp:
6641 (WebCore::):
6642 (WebCore::TimerWindowWndProc):
6643 (WebCore::setSharedTimerFireTime):
6644 * platform/win/SystemTimeWin.cpp:
6645 (WebCore::currentTime):
6646
eric@webkit.org3e96c482008-09-21 07:59:58 +000066472008-09-21 Dirk Schulze <vbs85@gmx.de>
6648
6649 Reviewed by eseidel. Landed by eseidel.
6650
eric@webkit.orgc3431282008-09-21 10:37:37 +00006651 All platforms use the DashArray in the GraphicsContext.
6652
6653 * svg/graphics/SVGPaintServer.h:
6654 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
6655 (WebCore::SVGPaintServerGradient::setup):
6656 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
6657 (WebCore::SVGPaintServerPattern::setup):
6658 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
6659 (WebCore::SVGPaintServerSolid::setup):
6660 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
6661 (WebCore::SVGPaintServerGradient::setup):
6662 * svg/graphics/qt/SVGPaintServerQt.cpp:
6663 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
6664 (WebCore::SVGPaintServerSolid::setup):
6665
66662008-09-21 Dirk Schulze <vbs85@gmx.de>
6667
6668 Reviewed by eseidel. Landed by eseidel.
6669
eric@webkit.org3e96c482008-09-21 07:59:58 +00006670 Moved DashArray to GraphicsContext.
6671
6672 * GNUmakefile.am:
6673 * WebCore.vcproj/WebCore.vcproj:
6674 * WebCore.xcodeproj/project.pbxproj:
6675 * platform/graphics/DashArray.h: Added.
6676 * platform/graphics/GraphicsContext.h:
6677 * platform/graphics/cairo/GraphicsContextCairo.cpp:
6678 (WebCore::GraphicsContext::setLineDash):
6679 * platform/graphics/cg/GraphicsContextCG.cpp:
6680 (WebCore::GraphicsContext::setLineDash):
6681 * platform/graphics/qt/GraphicsContextQt.cpp:
6682 (WebCore::GraphicsContext::setLineDash):
6683 * svg/graphics/SVGPaintServer.cpp:
6684 (WebCore::applyStrokeStyleToContext):
6685 * svg/graphics/SVGPaintServer.h:
6686 * svg/graphics/cg/CgSupport.cpp:
6687 * svg/graphics/cg/CgSupport.h:
6688
mitz@apple.com9138eca2008-09-21 07:16:29 +000066892008-09-21 Dan Bernstein <mitz@apple.com>
6690
6691 Reviewed by Mark Rowe.
6692
6693 - fix linker warnings
6694
6695 * WebCore.base.exp:
6696
darin@apple.comb1491772008-09-21 06:34:40 +000066972008-09-20 Darin Adler <darin@apple.com>
6698
darin@apple.comc3215132008-09-21 06:50:35 +00006699 - another try at fixing Qt
6700
6701 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
6702
67032008-09-20 Darin Adler <darin@apple.com>
6704
darin@apple.comb1491772008-09-21 06:34:40 +00006705 - blind attempt to fix Qt build
6706
6707 * bridge/qt/qt_runtime.cpp:
6708 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
6709 of regExpPrototype to make a RegExpObject. There should really be
6710 some sort of public helper function for this. Same thing for
6711 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
6712 (JSC::Bindings::):
6713 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
6714 It is not correct to do this inside the constructor because it could
6715 cause a garbage collect while the QtRuntimeMethod object is half-
6716 allocated, which could lead to a crash; note that RuntimeMethod,
6717 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
6718 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
6719
collinj@webkit.org8e01a432008-09-21 06:26:54 +000067202008-09-20 Collin Jackson <collinj@webkit.org>
6721
6722 Prefetch DNS for hyperlinks that the user mouses over.
6723
6724 https://bugs.webkit.org/show_bug.cgi?id=20931
6725
6726 Reviewed by Sam Weinig.
6727
6728 * page/Chrome.cpp:
6729 (WebCore::Chrome::mouseDidMoveOverElement):
6730
darin@apple.com8281d832008-09-21 02:29:12 +000067312008-09-20 Darin Adler <darin@apple.com>
6732
6733 Reviewed by Maciej Stachowiak.
6734
6735 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
6736 make each distinct C++ class get a distinct JSC::Structure
6737
6738 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
6739 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
6740 ID. Note that this makes a new structure every time -- we could
6741 optimize this slightly be caching and reusing a single one.
6742
6743 * bridge/runtime_method.cpp:
6744 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
6745 getDOMStructure.
6746 * bridge/runtime_method.h:
6747 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
6748 getDOMStructure will work.
6749
6750 * bindings/js/JSDOMWindowShell.cpp:
6751 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
6752 0; needed in case garbage collection happens while creating the
6753 JSDOMWindow.
6754
mitz@apple.com9b3ac792008-09-21 00:42:30 +000067552008-09-20 Dan Bernstein <mitz@apple.com>
6756
mitz@apple.comf674f4f2008-09-21 00:49:49 +00006757 Reviewed by Eric Seidel.
6758
6759 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +00006760 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
mitz@apple.comf674f4f2008-09-21 00:49:49 +00006761
6762 * svg/SVGTextContentElement.cpp:
6763 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
6764 not include the first character in the extraCharsAvailable count.
6765
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000067662008-09-20 Kevin Ollivier <kevino@theolliviers.com>
6767
kevino@webkit.orge66435f2008-09-20 23:39:25 +00006768 Reviewed by Dan Bernstein.
6769
6770 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +00006771
6772 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +00006773
6774 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
6775 (GetTextExtent):
6776
67772008-09-20 Kevin Ollivier <kevino@theolliviers.com>
6778
kevino@webkit.org2bc0d822008-09-20 22:31:24 +00006779 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
6780
6781 * WebCoreSources.bkl:
6782 * platform/ScrollView.h:
6783 * platform/wx/PopupMenuWx.cpp:
6784 (WebCore::PopupMenu::show):
6785 * platform/wx/RenderThemeWx.cpp:
6786 (WebCore::RenderThemeWx::paintButton):
6787 (WebCore::RenderThemeWx::paintTextField):
6788 (WebCore::RenderThemeWx::paintMenuList):
6789 (WebCore::RenderThemeWx::paintMenuListButton):
6790 * platform/wx/ScrollViewWx.cpp:
6791 (WebCore::ScrollView::setPlatformWidget):
6792 (WebCore::ScrollView::updateContents):
6793 (WebCore::ScrollView::update):
6794 (WebCore::ScrollView::visibleWidth):
6795 (WebCore::ScrollView::visibleHeight):
6796 (WebCore::ScrollView::scrollBy):
6797 (WebCore::ScrollView::resizeContents):
6798 (WebCore::ScrollView::contentsWidth):
6799 (WebCore::ScrollView::contentsHeight):
6800 (WebCore::ScrollView::isScrollViewScrollbar):
6801 (WebCore::ScrollView::adjustScrollbars):
6802 (WebCore::ScrollView::inWindow):
6803 (WebCore::ScrollView::removeChild):
6804 * platform/wx/WidgetWx.cpp:
6805 * plugins/wx/PluginViewWx.cpp:
6806 (WebCore::PluginView::setParentVisible):
6807 (WebCore::PluginView::updatePluginWidget):
6808
timothy@apple.comb697f272008-09-20 22:21:59 +000068092008-09-20 Timothy Hatcher <timothy@apple.com>
6810
6811 Fix the new Node Search button image to not be blurry.
6812
6813 * page/inspector/Images/nodeSearchButtons.png:
6814
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000068152008-09-20 Matt Lilek <webkit@mattlilek.com>
6816
6817 Reviewed by Tim Hatcher.
6818
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +00006819 Cut down some of the inspector javascript -> InspectorController glue code
6820 with two new macros. Also rearrange the exposed function list to be grouped
6821 by implementation and to all explicitly use the WebCore namespace.
6822
6823 * page/InspectorController.cpp:
6824 (WebCore::InspectorController::windowScriptObjectAvailable):
6825
68262008-09-20 Matt Lilek <webkit@mattlilek.com>
6827
6828 Reviewed by Tim Hatcher.
6829
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +00006830 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
6831
6832 * page/inspector/inspector.css:
6833
zimmermann@webkit.org953b7442008-09-20 20:19:45 +000068342008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
6835
6836 Reviewed by Eric.
6837
6838 Refactor HTMLImageLoader/SVGImageLoader code.
6839 Move html/HTMLImageLoader.* to loader/ImageLoader.*
6840
6841 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
6842 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
6843
6844 * GNUmakefile.am:
6845 * WebCore.pro:
6846 * WebCore.vcproj/WebCore.vcproj:
6847 * WebCore.xcodeproj/project.pbxproj:
6848 * WebCoreSources.bkl:
6849 * dom/Document.cpp:
6850 (WebCore::Document::dispatchImageLoadEventSoon):
6851 (WebCore::Document::removeImage):
6852 (WebCore::Document::dispatchImageLoadEventsNow):
6853 * dom/Document.h:
6854 * html/HTMLImageLoader.cpp:
6855 (WebCore::HTMLImageLoader::HTMLImageLoader):
6856 (WebCore::HTMLImageLoader::~HTMLImageLoader):
6857 (WebCore::HTMLImageLoader::sourceURI):
6858 (WebCore::HTMLImageLoader::notifyFinished):
6859 * html/HTMLImageLoader.h:
6860 * loader/DocLoader.h:
6861 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
6862 (WebCore::ImageLoader::ImageLoader):
6863 (WebCore::ImageLoader::~ImageLoader):
6864 (WebCore::ImageLoader::setImage):
6865 (WebCore::ImageLoader::setLoadingImage):
6866 (WebCore::ImageLoader::updateFromElement):
6867 (WebCore::ImageLoader::notifyFinished):
6868 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
6869 * svg/SVGImageElement.cpp:
6870 (WebCore::SVGImageElement::attach):
6871 (WebCore::SVGImageElement::insertedIntoDocument):
6872 (WebCore::SVGImageElement::imageSourceAttributeName):
6873 * svg/SVGImageElement.h:
6874 * svg/SVGImageLoader.cpp:
6875 (WebCore::SVGImageLoader::SVGImageLoader):
6876 (WebCore::SVGImageLoader::dispatchLoadEvent):
6877 (WebCore::SVGImageLoader::sourceURI):
6878 * svg/SVGImageLoader.h:
6879
zecke@webkit.orgf3834492008-09-20 14:23:55 +000068802008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6881
zecke@webkit.org7a15a532008-09-20 14:24:27 +00006882 Build fix.
6883
zecke@webkit.orga832cca2008-09-20 14:24:45 +00006884 [qtwebkit] ScrollBar build fix after r36684.
6885 BackButtonPart was split into Start and End Part
6886 ForwardButtonPart was split into Start and End Part
6887
zecke@webkit.orga832cca2008-09-20 14:24:45 +00006888 * platform/qt/ScrollbarThemeQt.cpp:
6889 (WebCore::scPart):
6890 (WebCore::scrollbarPart):
6891 (WebCore::styleOptionSlider):
6892
68932008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6894
6895 Build fix.
6896
zecke@webkit.org7a15a532008-09-20 14:24:27 +00006897 [qtwebkit] Make qt_instance.cpp compile.
6898 Revision of 36675 introduced getDOMStructure to give unique
6899 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
6900 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
6901
6902 * bridge/qt/qt_instance.cpp:
6903 (JSC::Bindings::QtInstance::getRuntimeObject):
6904
69052008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6906
zecke@webkit.orgf3834492008-09-20 14:23:55 +00006907 Reviewed by Nikolas Zimmermann.
6908
zecke@webkit.org95ff1412008-09-20 14:24:10 +00006909 [svg] Change SVGLocatable to deal with a plain SVGElement
6910 There is no requirement in the code that we have to have a
6911 SVGStyledElement. Remove that artificial limitation and compile
6912 with SVGElement.
6913
6914 * svg/SVGLocatable.cpp:
6915 * svg/SVGLocatable.h:
6916
69172008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
6918
6919 Reviewed by Nikolas Zimmermann.
6920
zecke@webkit.orgf3834492008-09-20 14:23:55 +00006921 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
6922 management.
6923
6924 * dom/Document.cpp:
6925 (WebCore::Document::~Document):
6926 (WebCore::Document::svgExtensions):
6927 (WebCore::Document::accessSVGExtensions):
6928 * dom/Document.h:
6929
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000069302008-09-19 David Hyatt <hyatt@apple.com>
6931
hyatt@apple.com1fe09172008-09-20 05:09:44 +00006932 Fix for crash in updateTransitions. Make sure to test for a style
6933 being null when comparing two RenderStyles.
6934
6935 Reviewed by Oliver Hunt
6936
6937 * page/animation/AnimationBase.cpp:
6938 (WebCore::PropertyWrapperGetter::equals):
6939
69402008-09-19 David Hyatt <hyatt@apple.com>
6941
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +00006942 https://bugs.webkit.org/show_bug.cgi?id=20954
6943
6944 Roll out r36628 since it has caused horrible regressions with
6945 animated GIF CPU usage.
6946
6947 * platform/graphics/BitmapImage.cpp:
6948 (WebCore::BitmapImage::cacheFrame):
6949 (WebCore::BitmapImage::startAnimation):
6950 * platform/graphics/BitmapImage.h:
6951 (WebCore::FrameData::FrameData):
6952 * platform/graphics/cairo/ImageCairo.cpp:
6953 (WebCore::FrameData::clear):
6954 * platform/graphics/cg/ImageCG.cpp:
6955 (WebCore::FrameData::clear):
6956 * platform/graphics/qt/ImageQt.cpp:
6957 (WebCore::FrameData::clear):
6958 * platform/graphics/wx/ImageWx.cpp:
6959 (WebCore::FrameData::clear):
6960
alp@webkit.orgd1e860e2008-09-20 03:43:42 +000069612008-09-20 Alp Toker <alp@nuanti.com>
6962
6963 Reviewed by Timothy Hatcher.
6964
6965 https://bugs.webkit.org/show_bug.cgi?id=20913
6966 Avoid redudant includes
6967
6968 Document.h is included excessively such that a modification to Document.h (or
6969 any of the header it includes itself) triggers a rebuild of many files
6970 including the whole of SVG and a lot of the JS bindings.
6971
6972 Some of these includes can be avoided by only including Document.h where
6973 necessary.
6974
6975 * bindings/js/JSAttrCustom.cpp:
6976 * bindings/js/JSElementCustom.cpp:
6977 * bindings/js/JSEventTargetBase.cpp:
6978 * bindings/js/JSEventTargetBase.h:
6979 * bindings/js/JSEventTargetNode.cpp:
6980 * bindings/js/JSHTMLFrameElementCustom.cpp:
6981 * bindings/js/JSHTMLIFrameElementCustom.cpp:
6982 * bindings/scripts/CodeGeneratorJS.pm:
6983 * css/CSSCursorImageValue.cpp:
6984 * css/SVGCSSStyleSelector.cpp:
6985 * dom/make_names.pl:
6986 * svg/SVGAnimateElement.h:
6987 * svg/SVGAnimatedProperty.h:
6988 (WebCore::::baseValue):
6989 (WebCore::::setBaseValue):
6990 (WebCore::::startAnimation):
6991 (WebCore::::stopAnimation):
6992 * svg/SVGElement.cpp:
6993 (WebCore::SVGElement::accessDocumentSVGExtensions):
6994 * svg/SVGElement.h:
6995 * svg/SVGElementInstance.cpp:
6996 * svg/SVGFitToViewBox.cpp:
6997 * svg/SVGFontElement.cpp:
6998 * svg/SVGFontFaceElement.cpp:
6999 * svg/SVGLinearGradientElement.cpp:
7000 * svg/SVGMPathElement.cpp:
7001 * svg/SVGViewSpec.cpp:
7002
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +000070032008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
7004
7005 Reviewed by Antti & Eric.
7006
7007 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
7008
7009 Finish HTMLScriptElement / SVGScriptElement unification.
7010 SVG <script> support is complete now, full SVGLoad event
7011 respecting the influence of the externalResourcesRequired attribute
7012 as well as SVGError event support. All other features shared with HTML.
7013
7014 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
7015 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
7016 svg/dom/SVGScriptElement/script-load-and-error-events.svg
7017 svg/dom/SVGScriptElement/script-reexecution.svg
7018 svg/dom/SVGScriptElement/script-set-href.svg
7019
7020 * dom/ScriptElement.cpp:
7021 (WebCore::ScriptElementData::ScriptElementData):
7022 (WebCore::ScriptElementData::requestScript):
7023 * dom/ScriptElement.h:
7024 (WebCore::ScriptElementData::haveFiredLoadEvent):
7025 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
7026 * dom/XMLTokenizer.cpp:
7027 (WebCore::XMLTokenizer::notifyFinished):
7028 * html/HTMLScriptElement.cpp:
7029 (WebCore::HTMLScriptElement::dispatchLoadEvent):
7030 * svg/SVGScriptElement.cpp:
7031 (WebCore::SVGScriptElement::setCreatedByParser):
7032 (WebCore::SVGScriptElement::parseMappedAttribute):
7033 (WebCore::SVGScriptElement::svgAttributeChanged):
7034 (WebCore::SVGScriptElement::insertedIntoDocument):
7035 (WebCore::SVGScriptElement::removedFromDocument):
7036 (WebCore::SVGScriptElement::childrenChanged):
7037 (WebCore::SVGScriptElement::isURLAttribute):
7038 (WebCore::SVGScriptElement::finishParsingChildren):
7039 (WebCore::SVGScriptElement::type):
7040 (WebCore::SVGScriptElement::setType):
7041 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
7042 (WebCore::SVGScriptElement::dispatchLoadEvent):
7043 (WebCore::SVGScriptElement::dispatchErrorEvent):
7044 * svg/SVGScriptElement.h:
7045
mitz@apple.comc7b24ea2008-09-20 03:23:22 +000070462008-09-19 Dan Bernstein <mitz@apple.com>
7047
7048 Reviewed by John Sullivan.
7049
7050 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
7051 Typo in Position::getInlineBoxAndOffset()
7052 and add an assertion
7053
7054 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
7055
7056 * dom/Position.cpp:
7057 (WebCore::Position::getInlineBoxAndOffset):
7058 * rendering/InlineTextBox.cpp:
7059 (WebCore::InlineTextBox::positionForOffset):
7060
hyatt@apple.comd48dbf32008-09-20 03:21:14 +000070612008-09-19 David Hyatt <hyatt@apple.com>
7062
7063 Add support for hit testing of all five possible scrollbar button placements.
7064
7065 Reviewed by Sam Weinig
7066
7067 * platform/ScrollbarThemeComposite.cpp:
7068 (WebCore::ScrollbarThemeComposite::paint):
7069 * platform/mac/ScrollbarThemeMac.mm:
7070 (WebCore::):
7071 (WebCore::ScrollbarThemeMac::backButtonRect):
7072 (WebCore::ScrollbarThemeMac::forwardButtonRect):
7073 (WebCore::ScrollbarThemeMac::trackRect):
7074 (WebCore::ScrollbarThemeMac::paintButton):
7075
darin@apple.com1c4cd8f2008-09-20 01:05:35 +000070762008-09-19 Darin Adler <darin@apple.com>
7077
7078 - try to fix Qt build
7079
7080 * bridge/qt/qt_instance.cpp:
7081 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
7082 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
7083 * bridge/runtime_object.cpp:
7084 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
7085 * bridge/runtime_object.h: Ditto.
7086
dino@apple.com7c236592008-09-20 00:53:49 +000070872008-09-19 Chris Marrin <cmarrin@apple.com>
7088
7089 Reviewed by Dave Hyatt.
7090
7091 Transition starts running when it shouldn't
7092 https://bugs.webkit.org/show_bug.cgi?id=20892
7093
7094 When there is a transition and an animation on the
7095 same element, make sure the animation wins.
7096
7097 The fix is to save the unanimated style when an animation is started.
7098 Then, when starting a transition, check to see if there is a current
7099 animation on the same prop. If so, use the unanimated style as the
7100 fromStyle rather than the current style.
7101
7102 Test: animations/transition-and-animation-1.html
7103
7104 * page/animation/CompositeAnimation.cpp:
7105 (WebCore::CompositeAnimation::updateTransitions):
7106 (WebCore::CompositeAnimation::updateKeyframeAnimations):
7107 (WebCore::CompositeAnimation::animate):
7108 (WebCore::CompositeAnimation::getAnimationForProperty):
7109 * page/animation/CompositeAnimation.h:
7110 * page/animation/ImplicitAnimation.cpp:
7111 (WebCore::ImplicitAnimation::reset):
7112 * page/animation/ImplicitAnimation.h:
7113 * page/animation/KeyframeAnimation.cpp:
7114 (WebCore::KeyframeAnimation::hasAnimationForProperty):
7115 * page/animation/KeyframeAnimation.h:
7116 (WebCore::KeyframeAnimation::KeyframeAnimation):
7117 (WebCore::KeyframeAnimation::unanimatedStyle):
7118
hyatt@apple.comea254e22008-09-20 00:42:36 +000071192008-09-19 David Hyatt <hyatt@apple.com>
7120
7121 Add support for painting/hit testing of four possible scrollbar buttons.
7122 The Windows themes simply ignore the two parts that they will never
7123 show. The Mac theme also ignores the other two buttons for now.
7124
7125 The cross-platform base for all three themes, ScrollbarThemeComposite,
7126 has all the proper support though.
7127
7128 Reviewed by Sam Weinig
7129
7130 * platform/ScrollbarThemeComposite.cpp:
7131 (WebCore::ScrollbarThemeComposite::hitTest):
7132 (WebCore::ScrollbarThemeComposite::invalidatePart):
7133 * platform/ScrollbarThemeComposite.h:
7134 * platform/mac/ScrollbarThemeMac.h:
7135 * platform/mac/ScrollbarThemeMac.mm:
7136 (WebCore::ScrollbarThemeMac::backButtonRect):
7137 (WebCore::ScrollbarThemeMac::forwardButtonRect):
7138 (WebCore::ScrollbarThemeMac::paintButton):
7139 * platform/win/ScrollbarThemeSafari.cpp:
7140 (WebCore::ScrollbarThemeSafari::backButtonRect):
7141 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
7142 (WebCore::ScrollbarThemeSafari::paintButton):
7143 * platform/win/ScrollbarThemeSafari.h:
7144 * platform/win/ScrollbarThemeWin.cpp:
7145 (WebCore::ScrollbarThemeWin::backButtonRect):
7146 (WebCore::ScrollbarThemeWin::forwardButtonRect):
7147 (WebCore::ScrollbarThemeWin::paintButton):
7148 * platform/win/ScrollbarThemeWin.h:
7149
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +000071502008-09-19 Matt Lilek <webkit@mattlilek.com>
7151
7152 Reviewed by Tim Hatcher.
7153
7154 Bug 17772: Inspector should support point-and-click to select a node to inspect
7155 https://bugs.webkit.org/show_bug.cgi?id=17772
7156 <rdar://problem/5792395>
7157
7158 * English.lproj/localizedStrings.js:
7159 * page/Chrome.cpp:
7160 (WebCore::Chrome::mouseDidMoveOverElement):
7161 * page/EventHandler.cpp:
7162 (WebCore::EventHandler::handleMousePressEvent):
7163 * page/InspectorController.cpp:
7164 (WebCore::toggleNodeSearch):
7165 (WebCore::searchingForNode):
7166 (WebCore::InspectorController::InspectorController):
7167 (WebCore::InspectorController::toggleSearchForNodeInPage):
7168 (WebCore::InspectorController::mouseDidMoveOverElement):
7169 (WebCore::InspectorController::handleMousePressOnNode):
7170 (WebCore::InspectorController::windowScriptObjectAvailable):
7171 * page/InspectorController.h:
7172 (WebCore::InspectorController::searchingForNodeInPage):
7173 * page/inspector/ElementsPanel.js:
7174 * page/inspector/Images/nodeSearchButtons.png: Added.
7175 * page/inspector/inspector.css:
7176
hyatt@apple.com57b2d522008-09-19 23:39:26 +000071772008-09-19 David Hyatt <hyatt@apple.com>
7178
7179 Add new scrollbar parts to be able to represent back and forward buttons
7180 at either end of the scrollbar. The current scrollbar still just draws
7181 a single button at either end, but the parts now exist.
7182
7183 Reviewed by Sam Weinig
7184
7185 * platform/ScrollTypes.h:
7186 (WebCore::):
7187 * platform/Scrollbar.cpp:
7188 (WebCore::Scrollbar::autoscrollTimerFired):
7189 (WebCore::Scrollbar::pressedPartScrollDirection):
7190 (WebCore::Scrollbar::pressedPartScrollGranularity):
7191 (WebCore::Scrollbar::handleMouseMoveEvent):
7192 * platform/ScrollbarTheme.h:
7193 (WebCore::ScrollbarTheme::buttonsPlacement):
7194 (WebCore::ScrollbarTheme::invalidateParts):
7195 * platform/ScrollbarThemeComposite.cpp:
7196 (WebCore::ScrollbarThemeComposite::paint):
7197 (WebCore::ScrollbarThemeComposite::hitTest):
7198 (WebCore::ScrollbarThemeComposite::invalidatePart):
7199 * platform/ScrollbarThemeComposite.h:
7200
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +000072012008-09-19 Beth Dakin <bdakin@apple.com>
7202
7203 Reviewed by Dave Hyatt.
7204
7205 Fix for <rdar://problem/6231308> crash in AutoTableLayout
7206
7207 The code assumes later on that a TableSection's grid's row vector
7208 will never be empty. So make 1 the minimum number of columns.
7209
7210 * rendering/RenderTableSection.cpp:
7211 (WebCore::RenderTableSection::ensureRows):
7212
hyatt@apple.comaf711ec2008-09-19 22:55:56 +000072132008-09-19 David Hyatt <hyatt@apple.com>
7214
7215 Add a new ScrollbarButtonsPlacement type for specifying where
7216 the button arrows are in a scrollbar.
7217
7218 Read in the placement settings for Mac. Nothing is done with the
7219 setting yet.
7220
7221 Add a new buttonsPlacement() method to ScrollbarTheme composite
7222 so that the arrow settings can be obtained.
7223
7224 Reviewed by Sam Weinig
7225
7226 * platform/ScrollTypes.h:
7227 (WebCore::):
7228 * platform/ScrollbarThemeComposite.h:
7229 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
7230 * platform/mac/ScrollbarThemeMac.mm:
7231 (WebCore::updateArrowPlacement):
7232 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
7233
sfalken@apple.com64602042008-09-19 22:47:45 +000072342008-09-19 Steve Falkenburg <sfalken@apple.com>
7235
7236 Roll out r36626. It is causing variance in SunSpider numbers on XP.
7237
7238 Rubber stamped by Mark Rowe.
7239
7240 * platform/win/SharedTimerWin.cpp:
7241 (WebCore::isRunningOnVistaOrLater):
7242 (WebCore::setSharedTimerFireTime):
7243
kmccullough@apple.comd203b242008-09-19 21:56:14 +000072442008-09-19 Kevin McCullough <kmccullough@apple.com>
7245
7246 Reviewed by Tim.
7247
7248 https://bugs.webkit.org/show_bug.cgi?id=20942
7249 Bug 20942: Repeated messages in resources don't collapse
7250 - Now repeated messages in a resource's view are collapsed and a message
7251 says how many were repeated.
7252
7253 * English.lproj/localizedStrings.js:
7254 * manual-tests/inspector/multiple-console-messages.html:
7255 * page/inspector/Console.js: Send all the messages to the resource's
7256 view before possibly returning early if the message is a repeat.
7257 * page/inspector/SourceFrame.js: Add the text about the message being
7258 repeated, if it is, and increment it when necessary.
7259
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +000072602008-09-19 Chris Fleizach <cfleizach@apple.com>
7261
7262 Removed unnecessary #if
7263
7264 * page/mac/AccessibilityObjectWrapper.mm:
7265
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000072662008-09-19 David Hyatt <hyatt@apple.com>
7267
hyatt@apple.comf658e502008-09-19 22:12:07 +00007268 Read in prefs for the scroll delay repeat values for buttons. Also
7269 honor the option-click pref for jumping to the thumb when clicking in
7270 the track.
7271
7272 Reviewed by Sam Weinig
7273
7274 * platform/mac/ScrollbarThemeMac.h:
7275 * platform/mac/ScrollbarThemeMac.mm:
7276 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
7277 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
7278 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
7279 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
7280
72812008-09-19 David Hyatt <hyatt@apple.com>
7282
hyatt@apple.comc9967ce92008-09-19 21:20:59 +00007283 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
7284 Set the initial button repeat delay to 0.5 for Mac.
7285
7286 Reviewed by Sam Weinig
7287
7288 * WebCore.xcodeproj/project.pbxproj:
7289 * platform/mac/ScrollbarThemeMac.cpp: Removed.
7290 * platform/mac/ScrollbarThemeMac.h:
7291 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
7292 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
7293
darin@apple.com39a180f2008-09-19 21:15:14 +000072942008-09-19 Darin Adler <darin@apple.com>
7295
7296 Reviewed by Sam Weinig.
7297
7298 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
7299 make each distinct C++ class get a distinct JSC::Structure
7300
7301 + Fixed all cases where we were using a shared structure for multiple
7302 C++ classes in WebCore. This still has to be done in JavaScriptCore.
7303
7304 + Got rid of cacheGlobalObject.
7305
7306 + Improved use of PassRefPtr in bindings code.
7307
7308 + Removed a couple cases where we were potentially allocating prototypes
7309 inside a JSObject's construction process -- this can lead to trouble if
7310 we do a garbage collection while an object is only partly constructed.
7311
7312 * bindings/js/JSAudioConstructor.cpp:
7313 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
7314 so we don't implicitly share the structure with other objects that use the object
7315 prototype.
7316
7317 * bindings/js/JSDOMBinding.cpp:
7318 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
7319 don't need cacheGlobalObject any more.
7320 (WebCore::cacheDOMConstructor): Ditto.
7321
7322 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
7323 Added functions and a function template for getting cached DOM constructors.
7324 Removed cacheGlobalObject function template.
7325
7326 * bindings/js/JSDOMWindowBase.cpp:
7327 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
7328 we're taking ownership.
7329 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
7330 we're taking ownership. Added constructor map.
7331 * bindings/js/JSDOMWindowCustom.cpp:
7332 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
7333
7334 * bindings/js/JSDOMWindowShell.cpp:
7335 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
7336 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
7337 this is now done in only that one place.
7338 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
7339 the passed-in DOMWindow. Code was moved here and changed to allocate unique
7340 structures for both the window prototype and the window.
7341 * bindings/js/JSDOMWindowShell.h: Ditto.
7342
7343 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
7344 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
7345 private/friend in JSEventTargetBase. Removed comments referring to defunct
7346 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
7347 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
7348 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
7349
7350 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
7351 for caching structures and prototypes.
7352 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
7353 (WebCore::JSEventTargetNode::createPrototype): Added.
7354 * bindings/js/JSEventTargetNode.h: Updated for above changes.
7355
7356 * bindings/js/JSHTMLAllCollection.h:
7357 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
7358 * bindings/js/JSHTMLCollectionCustom.cpp:
7359 (WebCore::getNamedItems): Pass ExecState instead of prototype.
7360 * bindings/js/JSHTMLFormElementCustom.cpp:
7361 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
7362 * bindings/js/JSHTMLInputElementBase.cpp:
7363 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
7364 * bindings/js/JSHTMLInputElementBase.h: Ditto.
7365 * bindings/js/JSHTMLOptionElementConstructor.cpp:
7366 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
7367 Create a unique structure instead of sharing.
7368 * bindings/js/JSImageConstructor.cpp:
7369 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
7370
7371 * bindings/js/JSInspectedObjectWrapper.cpp:
7372 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
7373 a prototype rather than a structure. Made the use of inheritorID() here
7374 explicit.
7375 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
7376 * bindings/js/JSInspectorCallbackWrapper.cpp:
7377 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
7378 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
7379
7380 * bindings/js/JSNamedNodesCollection.cpp:
7381 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
7382 take an ExecState argument instead of a prototype. Create a unique
7383 StructureID instead of sharing.
7384 * bindings/js/JSNamedNodesCollection.h: Ditto.
7385
7386 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
7387 constructor that takes a prototype instead of a structure.
7388 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
7389
7390 * bindings/js/JSRGBColor.cpp:
7391 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
7392 prototype; create a unique structure.
7393 (WebCore::getJSRGBColor): Ditto.
7394 * bindings/js/JSRGBColor.h: Ditto.
7395
7396 * bindings/js/JSSQLResultSetRowListCustom.cpp:
7397 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
7398 of explicit coding the idiom for making a new object.
7399
7400 * bindings/js/JSXMLHttpRequestConstructor.cpp:
7401 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
7402 Create a unique structure instead of the shared one.
7403 * bindings/js/JSXSLTProcessorConstructor.cpp:
7404 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
7405 Ditto.
7406
7407 * bindings/js/ScriptController.cpp:
7408 (WebCore::ScriptController::clearWindowShell): Let the window shell's
7409 setWindow function create the JSDOMWindow instead of doing it here.
7410
7411 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
7412 the structure and the wrapped object when creating wrappers.
7413 Simplified some of the special cases for DOMWindow so they are
7414 different only in ways the need to be. Eliminated the
7415 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
7416 functions. Moved responsibility for creating the structure and
7417 parent prototype out of the prototype constructor into the
7418 createPrototype function. Removed the unused "DoNotCache" flag for
7419 objects other than DOMWindow. Use getDOMConstructor instead of
7420 cacheGlobalObject for constructors. Make each constructor have
7421 a unique structure ID.
7422
7423 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
7424 name of the info member to s_info so we can use the standard DOM
7425 binding macros to handl the prototype.
7426 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
7427 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
7428 Create a unique structure using getDOMStructure.
7429
7430 * bridge/runtime_array.cpp: Fixed namespacing a bit.
7431 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
7432 getDOMStructure.
7433 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
7434 will work.
7435
7436 * bridge/runtime_object.cpp:
7437 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
7438 getDOMStructure.
7439 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
7440 will work.
7441
7442 * history/CachedPage.cpp:
7443 (WebCore::CachedPage::restore): Let the window shell's
7444 setWindow function create the JSDOMWindow instead of doing it here.
7445
7446 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
7447
mitz@apple.comd6b74252008-09-19 21:02:55 +000074482008-09-19 Dan Bernstein <mitz@apple.com>
7449
7450 Reviewed by Dave Hyatt.
7451
7452 This optimization was suggested by Daniel Fenwick
7453
7454 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
7455
7456 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +00007457 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +00007458 of one, due to the leading space being reordered to the left.
7459
7460 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
7461 getCFStringAttributes() and changed m_CFStringAttributes from an array
7462 to a single value.
7463 * platform/graphics/mac/CoreTextController.cpp:
7464 (WebCore::CoreTextController::CoreTextController): Added a
7465 mayUseNaturalWritingDirection parameter.
7466 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
7467 to force the bidi embedding level whenever
7468 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
7469 case, made the typesetter options dictionaries static.
7470 * platform/graphics/mac/CoreTextController.h:
7471 * platform/graphics/mac/FontMacCoreText.cpp:
7472 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
7473 (WebCore::Font::floatWidthForComplexText): Changed to allow the
7474 CoreTextController to not set the writing direction.
7475 * platform/graphics/mac/SimpleFontDataMac.mm:
7476 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
7477 parameter and the paragraph style attribute.
7478
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +000074792008-09-19 David Hyatt <hyatt@apple.com>
7480
7481 Reviewed by Sam Weinig
7482
7483 https://bugs.webkit.org/show_bug.cgi?id=20941
7484
7485 Incorrect height calculation for replaced element inside nested
7486 positioned elements (where the inner has a percentage height and
7487 the outer implicitly has a fixed height because of explicit top/bottom
7488 values).
7489
7490 Added fast/block/positioning/replaced-inside-top-bottom.html
7491
7492 * rendering/RenderBox.cpp:
7493 (WebCore::RenderBox::availableHeightUsing):
7494
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +000074952008-09-19 Chris Fleizach <cfleizach@apple.com>
7496
7497 Fix Tiger bustage
7498
7499 * page/mac/AccessibilityObjectWrapper.mm:
7500
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +000075012008-09-18 Chris Fleizach <cfleizach@apple.com>
7502
7503 Reviewed by Darin Adler.
7504
7505 <rdar://problem/6211041> Expose legend tag in accessibility
7506
7507 Exposes the legend tag as the titleUIElement of a fieldset
7508
7509 Test: accessibility/legend.html
7510
7511 * page/AccessibilityObject.h:
7512 (WebCore::AccessibilityObject::isFieldset):
7513 * page/AccessibilityRenderObject.cpp:
7514 (WebCore::AccessibilityRenderObject::isFieldset):
7515 (WebCore::AccessibilityRenderObject::titleUIElement):
7516 * page/AccessibilityRenderObject.h:
7517 * rendering/RenderFieldset.h:
7518
cfleizach@apple.comcff26212008-09-19 20:04:13 +000075192008-09-19 Chris Fleizach <cfleizach@apple.com>
7520
7521 Reviewed by Darin Adler.
7522
7523 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
7524
7525 Implement a few AX API methods that will be called by AppKit, which will
7526 speed up access to accessibility objects
7527
7528 * page/mac/AccessibilityObjectWrapper.mm:
7529 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
7530 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
7531 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
7532
zecke@webkit.org7594eb62008-09-19 11:06:55 +000075332008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
7534
7535 Reviewed by Simon Hausmann.
7536
zecke@webkit.org3df68032008-09-19 11:43:27 +00007537 [qtwebkit] Set the m_should* flags to their proper value on entry
7538 With plugins it was possible that we finished a job twice. This was
7539 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
7540 setting the flag to (m_loadMode == LoadDeferred) they will always have
7541 the right value and we will not send responses twice.
7542
7543 * platform/network/qt/QNetworkReplyHandler.cpp:
7544
75452008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
7546
7547 Reviewed by Simon Hausmann.
7548
zecke@webkit.org7594eb62008-09-19 11:06:55 +00007549 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
7550 Handle text decoding errors before instructing the parser to parse. We
7551 have converted the text to QString and all encoding errors are gone and
7552 the parser will not be able to detect them. So handle them before parsing.
7553
7554 * dom/XMLTokenizerQt.cpp:
7555 (WebCore::XMLTokenizer::doWrite):
7556
darin@apple.comc9aea832008-09-19 06:49:35 +000075572008-09-18 Darin Adler <darin@apple.com>
7558
7559 Reviewed by Maciej Stachowiak.
7560
7561 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
7562 make each distinct C++ class get a distinct JSC::Structure
7563
7564 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7565 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
7566 instead of DOMExceptionTranslator.
7567
7568 * bindings/js/JSDOMBinding.cpp:
7569 (WebCore::getCachedDOMObjectWrapper): Updated function name.
7570 (WebCore::cacheDOMObjectWrapper): Ditto.
7571 (WebCore::forgetDOMObject): Ditto.
7572 (WebCore::getCachedDOMNodeWrapper): Ditto.
7573 (WebCore::forgetDOMNode): Ditto.
7574 (WebCore::cacheDOMNodeWrapper): Ditto.
7575 (WebCore::forgetAllDOMNodesForDocument): Ditto.
7576 (WebCore::markDOMNodesForDocument): Ditto.
7577 (WebCore::updateDOMNodeDocument): Ditto.
7578 (WebCore::getCachedDOMStructure): Added.
7579 (WebCore::createDOMStructure): Ditto.
7580
7581 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
7582 class and replace the static member functions with non-member
7583 functions. Added many other functions for getting at structures,
7584 prototypes, wrappers, and creating them. Also moved the
7585 cacheGlobalObject function here from JavaScriptCore; eventually
7586 I'll remove that once I get rid of the remaining callers. Also
7587 removed the DOMExceptionTranslator class.
7588
7589 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
7590 and put one of those maps in each window.
7591
7592 * bindings/js/JSDOMWindowCustom.cpp:
7593 (WebCore::markDOMObjectWrapper): Updated for function name change.
7594 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
7595 in the structure map.
7596
7597 * bindings/js/JSEventTargetNode.cpp:
7598 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
7599 a structure instead of a prototype.
7600 * bindings/js/JSEventTargetNode.h: Ditto.
7601 * bindings/js/JSHTMLAllCollection.h:
7602 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
7603
7604 * bindings/js/JSHTMLInputElementBase.cpp:
7605 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
7606 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
7607 structure instead of a prototype.
7608 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
7609 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
7610 to take a structure instead of a prototype. Created a dummy prototype
7611 class that causes the HTMLInputElement prototype to have the
7612 HTMLElement prototype.
7613
7614 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
7615 structures instead of prototypes. Changed the prototype self function
7616 to use the getDOMPrototype function -- later we can eliminate it and
7617 have callers invoke getDOMPrototype directly instead. Updated other
7618 functions that have name changes. Added code to generate the
7619 createPrototype member function. Changed use of cacheGlobalObject to
7620 get it from the WebCore namespace instead of the JSC namespace.
7621 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
7622
7623 * dom/Document.cpp:
7624 (WebCore::Document::~Document): Updated for name change and also
7625 removed unnecessary JSLock use -- there's no need to lock around this.
7626 * dom/Node.cpp:
7627 (WebCore::Node::setDocument): Ditto.
7628
7629 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
7630 instead of calling new directly.
7631
7632 * bindings/js/JSCSSRuleCustom.cpp:
7633 (WebCore::toJS): Updated for function name changes and used the
7634 CREATE_DOM_OBJECT_WRAPPER macro.
7635 * bindings/js/JSCSSValueCustom.cpp:
7636 (WebCore::toJS): Ditto.
7637 * bindings/js/JSCanvasPixelArrayCustom.cpp:
7638 (WebCore::toJS): Ditto.
7639 * bindings/js/JSDocumentCustom.cpp:
7640 (WebCore::JSDocument::mark): Ditto.
7641 (WebCore::toJS): Ditto.
7642 * bindings/js/JSElementCustom.cpp:
7643 (WebCore::toJSNewlyCreated): Ditto.
7644 * bindings/js/JSEventCustom.cpp:
7645 (WebCore::toJS): Ditto.
7646 * bindings/js/JSEventTargetBase.cpp:
7647 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
7648 of DOMExceptionTranslator.
7649 (WebCore::toJS): Updated for function name changes and used the
7650 CREATE_DOM_OBJECT_WRAPPER macro.
7651 * bindings/js/JSHTMLCollectionCustom.cpp:
7652 (WebCore::toJS): Ditto.
7653 * bindings/js/JSNodeCustom.cpp:
7654 (WebCore::JSNode::mark): Ditto.
7655 (WebCore::createWrapper): Ditto.
7656 (WebCore::toJS): Ditto.
7657 * bindings/js/JSSVGPathSegCustom.cpp:
7658 (WebCore::toJS): Ditto.
7659 * bindings/js/JSStyleSheetCustom.cpp:
7660 (WebCore::toJS): Ditto.
7661 (WebCore::JSStyleSheet::mark): Ditto.
7662 * bindings/js/JSTextCustom.cpp:
7663 (WebCore::toJSNewlyCreated): Ditto.
7664 * bindings/js/JSXMLHttpRequestConstructor.cpp:
7665 (WebCore::constructXMLHttpRequest): Ditto.
7666 * bindings/js/JSXMLHttpRequestCustom.cpp:
7667 (WebCore::JSXMLHttpRequest::mark): Ditto.
7668 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7669 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
7670 * bindings/js/JSXSLTProcessorConstructor.cpp:
7671 (WebCore::constructXSLTProcessor): Ditto.
7672 * bindings/js/ScriptController.cpp:
7673 (WebCore::ScriptController::finishedWithEvent): Ditto.
7674 * xml/XMLHttpRequest.cpp:
7675 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
7676 (WebCore::XMLHttpRequest::dropProtection): Ditto.
7677
hyatt@apple.com083539d2008-09-19 06:30:16 +000076782008-09-18 David Hyatt <hyatt@apple.com>
7679
7680 This patch gets a viewless scrollbar working on Mac. It is turned off
7681 by default. Hit testing works. For now the scrollbar just paints ugly
7682 debug rects in the place of the buttons, track and thumb. It does match
7683 Aqua metrics though.
7684
7685 Reviewed by Sam Weinig
7686
7687 * WebCore.xcodeproj/project.pbxproj:
7688 * page/mac/EventHandlerMac.mm:
7689 (WebCore::EventHandler::passMousePressEventToScrollbar):
7690 * platform/ScrollbarThemeComposite.cpp:
7691 (WebCore::ScrollbarThemeComposite::paint):
7692 (WebCore::ScrollbarThemeComposite::trackPosition):
7693 * platform/ScrollbarThemeComposite.h:
7694 * platform/mac/ScrollViewMac.mm:
7695 (WebCore::ScrollView::addChild):
7696 * platform/mac/ScrollbarThemeMac.cpp:
7697 (WebCore::):
7698 (WebCore::ScrollbarThemeMac::hasButtons):
7699 (WebCore::ScrollbarThemeMac::hasThumb):
7700 (WebCore::buttonRepaintRect):
7701 (WebCore::ScrollbarThemeMac::backButtonRect):
7702 (WebCore::ScrollbarThemeMac::forwardButtonRect):
7703 (WebCore::trackRepaintRect):
7704 (WebCore::ScrollbarThemeMac::trackRect):
7705 (WebCore::ScrollbarThemeMac::minimumThumbLength):
7706 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
7707 (WebCore::ScrollbarThemeMac::paintTrack):
7708 (WebCore::ScrollbarThemeMac::paintButton):
7709 (WebCore::ScrollbarThemeMac::paintThumb):
7710 * platform/mac/ScrollbarThemeMac.h:
7711 (WebCore::ScrollbarThemeMac::supportsControlTints):
7712 * platform/qt/ScrollbarThemeQt.cpp:
7713 (WebCore::ScrollbarThemeQt::trackPosition):
7714
collinj@webkit.org51261aa2008-09-19 06:13:22 +000077152008-09-18 Collin Jackson <collinj@webkit.org>
7716
7717 Build fix; added missing header file to GNUmakefile.am
7718
7719 * GNUmakefile.am:
7720
weinig@apple.com39aecbe2008-09-19 04:56:21 +000077212008-09-18 Sam Weinig <sam@webkit.org>
7722
7723 Reviewed by David "the Hair" Hyatt.
7724
7725 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
7726
7727 * GNUmakefile.am:
7728 * WebCore.pro:
7729 * WebCore.vcproj/WebCore.vcproj:
7730 * WebCore.xcodeproj/project.pbxproj:
7731 * rendering/DataRef.h: Removed.
7732 * rendering/SVGRenderStyle.cpp: Removed.
7733 * rendering/SVGRenderStyle.h: Removed.
7734 * rendering/SVGRenderStyleDefs.cpp: Removed.
7735 * rendering/SVGRenderStyleDefs.h: Removed.
7736 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
7737 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
7738 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
7739 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
7740 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
7741
mrowe@apple.coma5206592008-09-19 04:47:58 +000077422008-09-18 Mark Rowe <mrowe@apple.com>
7743
7744 Reviewed by Dan Bernstein.
7745
7746 Add a means of clearing a FrameTree's name.
7747
7748 * WebCore.base.exp:
7749 * page/FrameTree.cpp:
7750 (WebCore::FrameTree::clearName):
7751 * page/FrameTree.h:
7752
hyatt@apple.com6eeef382008-09-19 04:30:53 +000077532008-09-18 David Hyatt <hyatt@apple.com>
7754
7755 Eliminate addToSuperview from Widget, since it was only called
7756 by ScrollViewMac's addChild method. Just shift the original body
7757 of addToSuperView into addChild.
7758
7759 Reviewed by Sam Weinig
7760
7761 * platform/Widget.h:
7762 * platform/mac/ScrollViewMac.mm:
7763 (WebCore::ScrollView::addChild):
7764 * platform/mac/WidgetMac.mm:
7765
collinj@webkit.org9c672f62008-09-19 04:15:14 +000077662008-09-18 Collin Jackson <collinj@webkit.org>
7767
7768 Reviewed by Antti Koivisto and Mark Rowe.
7769
7770 Test: http/tests/misc/dns-prefetch-control.html
7771
7772 https://bugs.webkit.org/show_bug.cgi?id=20690
7773
7774 Invoke WebCore::prefetchDNS() on host names that appear in
7775 in the href of hyperlinks and <link rel="dns-prefetch">. This
7776 can be used to implement DNS prefetching.
7777
7778 * WebCore.vcproj/WebCore.vcproj:
7779 * WebCore.xcodeproj/project.pbxproj:
7780 * dom/Document.cpp:
7781 (WebCore::Document::Document):
7782 (WebCore::Document::processHttpEquiv):
7783 (WebCore::Document::setSecurityOrigin):
7784 (WebCore::Document::initDNSPrefetch):
7785 (WebCore::Document::parseDNSPrefetchControlHeader):
7786 * dom/Document.h:
7787 (WebCore::Document::isDNSPrefetchEnabled):
7788 * html/HTMLAnchorElement.cpp:
7789 (WebCore::HTMLAnchorElement::parseMappedAttribute):
7790 * html/HTMLLinkElement.cpp:
7791 (WebCore::HTMLLinkElement::HTMLLinkElement):
7792 (WebCore::HTMLLinkElement::parseMappedAttribute):
7793 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
7794 (WebCore::HTMLLinkElement::process):
7795 * html/HTMLLinkElement.h:
7796 * html/PreloadScanner.cpp:
7797 (WebCore::PreloadScanner::processAttribute):
7798 * loader/FrameLoader.cpp:
7799 (WebCore::FrameLoader::begin):
7800 * platform/gtk/TemporaryLinkStubs.cpp:
7801 (WebCore::prefetchDNS):
7802 * platform/network/DNS.h: Added.
7803 * platform/network/cf/DNSCFNet.cpp: Added.
7804 (WebCore::prefetchDNS):
7805 * platform/qt/TemporaryLinkStubs.cpp:
7806 (WebCore::prefetchDNS):
7807 * platform/wx/TemporaryLinkStubs.cpp:
7808 (WebCore::prefetchDNS):
7809
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000078102008-09-18 David Hyatt <hyatt@apple.com>
7811
hyatt@apple.comcf31c162008-09-19 04:01:56 +00007812 Eliminate the convertToScreenCoordinate method on Widget, since
7813 ScrollView has redundant methods that already do the same thing.
7814
7815 Reviewed by Sam Weinig
7816
7817 * editing/mac/SelectionControllerMac.mm:
7818 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
7819 * platform/Widget.h:
7820 * platform/mac/WidgetMac.mm:
7821 (WebCore::Widget::containingWindow):
7822
78232008-09-18 David Hyatt <hyatt@apple.com>
7824
hyatt@apple.com179629b3c2008-09-19 03:16:26 +00007825 Move to only one constructor for Widgets. Rename data to m_data and make
7826 it have an #ifdef only for platforms that have platform-specific data (Mac
7827 and Gtk).
7828
7829 Reviewed by Sam Weinig
7830
7831 * WebCore.base.exp:
7832 * platform/Widget.cpp:
7833 (WebCore::Widget::init):
7834 * platform/Widget.h:
7835 * platform/gtk/WidgetGtk.cpp:
7836 (WebCore::Widget::Widget):
7837 (WebCore::Widget::~Widget):
7838 (WebCore::Widget::cursor):
7839 (WebCore::Widget::setCursor):
7840 * platform/mac/WidgetMac.mm:
7841 (WebCore::Widget::Widget):
7842 (WebCore::Widget::~Widget):
7843 (WebCore::Widget::addToSuperview):
7844 (WebCore::Widget::removeFromSuperview):
7845 (WebCore::Widget::beforeMouseDown):
7846 (WebCore::Widget::afterMouseDown):
7847 * platform/qt/WidgetQt.cpp:
7848 (WebCore::Widget::Widget):
7849 * platform/win/WidgetWin.cpp:
7850 (WebCore::Widget::Widget):
7851 * platform/wx/WidgetWx.cpp:
7852 (WebCore::Widget::Widget):
7853
78542008-09-18 David Hyatt <hyatt@apple.com>
7855
hyatt@apple.com470d7e72008-09-19 03:01:08 +00007856 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
7857 was no reason for it to be on Widget. This change eliminates Qt ifdefs
7858 from Widget.
7859
7860 Reviewed by Sam Weinig
7861
7862 * bindings/js/ScriptControllerQt.cpp:
7863 (WebCore::ScriptController::createScriptInstanceForWidget):
7864 * platform/qt/WidgetQt.cpp:
7865 (WebCore::WidgetPrivate::WidgetPrivate):
7866 (WebCore::WidgetPrivate::~WidgetPrivate):
7867 (WebCore::Widget::Widget):
7868 (WebCore::Widget::~Widget):
7869 * plugins/PluginView.cpp:
7870 (WebCore::PluginView::PluginView):
7871 * plugins/PluginView.h:
7872 (WebCore::PluginView::isNPAPIPlugin):
7873 (WebCore::PluginView::setIsNPAPIPlugin):
7874
78752008-09-18 David Hyatt <hyatt@apple.com>
7876
hyatt@apple.com557408b2008-09-19 02:36:08 +00007877 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
7878 ifdefs are now gone from Widget!
7879
7880 Reviewed by Sam Weinig
7881
7882 * platform/Widget.h:
7883 (WebCore::Widget::geometryChanged):
7884 * platform/gtk/WidgetGtk.cpp:
7885 * platform/qt/WidgetQt.cpp:
7886
78872008-09-18 David Hyatt <hyatt@apple.com>
7888
hyatt@apple.com17e57432008-09-19 02:29:27 +00007889 Consolidate convertTo/FromContainingWindow methods so that all platforms
7890 but Mac share the same code.
7891
7892 Move convertSelfToChild and convertChildToSelf to ScrollView, since
7893 Widget should know nothing about children. Make the methods cross-platform
7894 on ScrollView.
7895
7896 Reviewed by Sam Weinig
7897
7898 * platform/ScrollView.h:
7899 (WebCore::ScrollView::convertChildToSelf):
7900 (WebCore::ScrollView::convertSelfToChild):
7901 * platform/Widget.cpp:
7902 (WebCore::Widget::convertToContainingWindow):
7903 (WebCore::Widget::convertFromContainingWindow):
7904 * platform/Widget.h:
7905 (WebCore::Widget::geometryChanged):
7906 * platform/gtk/ScrollViewGtk.cpp:
7907 (WebCore::ScrollView::isScrollViewScrollbar):
7908 * platform/gtk/WidgetGtk.cpp:
7909 * platform/mac/ScrollViewMac.mm:
7910 (WebCore::ScrollView::isScrollViewScrollbar):
7911 * platform/mac/WidgetMac.mm:
7912 * platform/qt/ScrollViewQt.cpp:
7913 (WebCore::ScrollView::isScrollViewScrollbar):
7914 * platform/qt/WidgetQt.cpp:
7915 * platform/win/ScrollViewWin.cpp:
7916 (WebCore::ScrollView::isScrollViewScrollbar):
7917 * platform/win/WidgetWin.cpp:
7918
79192008-09-18 David Hyatt <hyatt@apple.com>
7920
hyatt@apple.comc5b931a2008-09-19 00:39:51 +00007921 Make the conversion methods that go to and from some containingWindow
7922 cross-platform. Implement them on Mac.
7923
7924 Reviewed by Sam Weinig
7925
7926 * platform/Widget.h:
7927 (WebCore::Widget::setContainingWindow):
7928 * platform/mac/WidgetMac.mm:
7929 (WebCore::Widget::convertFromContainingWindow):
7930 (WebCore::Widget::convertToContainingWindow):
7931
weinig@apple.comd1ea02d2008-09-19 00:28:05 +000079322008-09-18 Sam Weinig <sam@webkit.org>
7933
7934 Rubber-stamped by David "Yeah-yeah" Hyatt.
7935
7936 Cleanup RenderStyle.
7937
7938 * WebCore.xcodeproj/project.pbxproj:
7939 * rendering/style/CounterContent.h:
7940 * rendering/style/RenderStyle.cpp:
7941 * rendering/style/RenderStyle.h:
7942
dino@apple.comef93f532008-09-19 00:01:07 +000079432008-09-18 Chris Marrin <cmarrin@apple.com>
7944
7945 Reviewed by Sam Weinig
7946
7947 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
7948 Now TransformOperations and AnimationList no longer
7949 inherit from Vector<> but rather have API to access.
7950
7951 * css/CSSComputedStyleDeclaration.cpp:
7952 (WebCore::computedTransform):
7953 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7954 * css/CSSStyleSelector.cpp:
7955 (WebCore::CSSStyleSelector::createTransformOperations):
7956 * page/animation/AnimationBase.cpp:
7957 (WebCore::blendFunc):
7958 * page/animation/CompositeAnimation.cpp:
7959 (WebCore::CompositeAnimation::updateTransitions):
7960 (WebCore::CompositeAnimation::updateKeyframeAnimations):
7961 (WebCore::CompositeAnimation::animate):
7962 * page/animation/ImplicitAnimation.cpp:
7963 (WebCore::ImplicitAnimation::validateTransformFunctionList):
7964 * page/animation/KeyframeAnimation.cpp:
7965 (WebCore::KeyframeAnimation::validateTransformFunctionList):
7966 * rendering/RenderLayer.cpp:
7967 (WebCore::RenderLayer::updateReflectionStyle):
7968 * rendering/style/AnimationList.cpp:
7969 (WebCore::AnimationList::operator==):
7970 * rendering/style/AnimationList.h:
7971 (WebCore::AnimationList::operator!=):
7972 (WebCore::AnimationList::size):
7973 (WebCore::AnimationList::isEmpty):
7974 (WebCore::AnimationList::resize):
7975 (WebCore::AnimationList::remove):
7976 (WebCore::AnimationList::append):
7977 (WebCore::AnimationList::animation):
7978 * rendering/style/RenderStyle.cpp:
7979 (WebCore::StyleRareNonInheritedData::updateKeyframes):
7980 (WebCore::RenderStyle::applyTransform):
7981 (WebCore::RenderStyle::adjustAnimations):
7982 (WebCore::RenderStyle::adjustTransitions):
7983 (WebCore::RenderStyle::transitionForProperty):
7984 * rendering/style/RenderStyle.h:
7985 (WebCore::RenderStyle::hasTransform):
7986 * rendering/style/TransformOperations.cpp:
7987 (WebCore::TransformOperations::TransformOperations):
7988 (WebCore::TransformOperations::operator==):
7989 * rendering/style/TransformOperations.h:
7990 (WebCore::TransformOperations::apply):
7991 (WebCore::TransformOperations::operations):
7992
zecke@webkit.org20690ef2008-09-18 23:28:34 +000079932008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
7994
zecke@webkit.org30db7422008-09-19 01:00:18 +00007995 Build fix.
7996
7997 [qt] Build fixes after the Widget/ScrollView cleanup
7998 topLevel() is now root()
7999
8000
8001 * platform/qt/ScrollViewQt.cpp:
8002 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
8003 (WebCore::ScrollView::addChild):
8004 (WebCore::ScrollView::removeChild):
8005
80062008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
8007
zecke@webkit.org20690ef2008-09-18 23:28:34 +00008008 Reviewed by Mark Rowe.
8009
8010 https://bugs.webkit.org/show_bug.cgi?id=20437
8011
8012 XMLTokenizer.cpp used to contain two different implementations. One was using
8013 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
8014 separating the two implementations from each other.
8015 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
8016 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
8017 XMLTokenizerLibxml2.cpp. There should be no functional changes.
8018
8019 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
8020 to work.
8021
8022 * GNUmakefile.am:
8023 * WebCore.pro:
8024 * WebCore.vcproj/WebCore.vcproj:
8025 * WebCore.xcodeproj/project.pbxproj:
8026 * WebCoreSources.bkl:
8027 * dom/XMLTokenizer.cpp:
8028 (WebCore::isScriptElement):
8029 (WebCore::castToScriptElement):
8030 (WebCore::XMLTokenizer::setCurrentNode):
8031 (WebCore::XMLTokenizer::write):
8032 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
8033 (WebCore::XMLTokenizer::enterText):
8034 (WebCore::toString):
8035 (WebCore::XMLTokenizer::exitText):
8036 (WebCore::XMLTokenizer::end):
8037 (WebCore::XMLTokenizer::insertErrorMessageBlock):
8038 * dom/XMLTokenizer.h:
8039 (WebCore::XMLTokenizer::wellFormed):
8040 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
8041 (WebCore::createMemoryParser):
8042 (WebCore::XMLTokenizer::XMLTokenizer):
8043 (WebCore::XMLTokenizer::~XMLTokenizer):
8044 (WebCore::XMLTokenizer::doWrite):
8045 (WebCore::ignorableWhitespaceHandler):
8046 (WebCore::XMLTokenizer::initializeParserContext):
8047 (WebCore::XMLTokenizer::doEnd):
8048 (WebCore::XMLTokenizer::lineNumber):
8049 (WebCore::XMLTokenizer::columnNumber):
8050 (WebCore::XMLTokenizer::stopParsing):
8051 (WebCore::XMLTokenizer::resumeParsing):
8052 (WebCore::parseXMLDocumentFragment):
8053 (WebCore::attributesStartElementNsHandler):
8054 (WebCore::parseAttributes):
8055 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
8056 (WebCore::EntityResolver::resolveUndeclaredEntity):
8057 (WebCore::XMLTokenizer::XMLTokenizer):
8058 (WebCore::XMLTokenizer::~XMLTokenizer):
8059 (WebCore::XMLTokenizer::doWrite):
8060 (WebCore::XMLTokenizer::initializeParserContext):
8061 (WebCore::XMLTokenizer::doEnd):
8062 (WebCore::XMLTokenizer::lineNumber):
8063 (WebCore::XMLTokenizer::columnNumber):
8064 (WebCore::XMLTokenizer::stopParsing):
8065 (WebCore::XMLTokenizer::resumeParsing):
8066 (WebCore::parseXMLDocumentFragment):
8067 (WebCore::attributesStartElementNsHandler):
8068 (WebCore::parseAttributes):
8069 (WebCore::):
8070
bdakin@apple.com4c244902008-09-18 23:08:35 +000080712008-09-18 Beth Dakin <bdakin@apple.com>
8072
8073 Reviewed by Geoff Garen.
8074
8075 Build fix for non-Mac builds.
8076
8077 * css/CSSPrimitiveValue.cpp:
8078 (WebCore::CSSPrimitiveValue::cssText):
8079
eric@webkit.org4ac94e62008-09-18 23:07:55 +000080802008-09-18 Peter Kasting <pkasting@google.com>
8081
8082 Reviewed by hyatt. Landed by eseidel.
8083
8084 https://bugs.webkit.org/show_bug.cgi?id=20745
8085 Animated GIFs do not animate properly with (at least) CG.
8086
8087 * WebCore\platform\graphics\BitmapImage.cpp:
8088 * WebCore\platform\graphics\BitmapImage.h:
8089 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
8090 * WebCore\platform\graphics\cg\ImageCG.cpp:
8091 * WebCore\platform\graphics\qt\ImageQt.cpp:
8092 * WebCore\platform\graphics\wx\ImageWx.cpp:
8093
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +000080942008-09-18 Chris Fleizach <cfleizach@apple.com>
8095
8096 Reviewed by Beth Dakin
8097
8098 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
8099 role specifies otherwise
8100
8101 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
8102
8103 Test: accessibility/table-with-aria-role.html
8104
8105 * page/AccessibilityTable.cpp:
8106 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
8107 (WebCore::AccessibilityTable::addChildren):
8108 (WebCore::AccessibilityTable::roleValue):
8109 (WebCore::AccessibilityTable::accessibilityIsIgnored):
8110 (WebCore::AccessibilityTable::title):
8111 * page/AccessibilityTableCell.cpp:
8112 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
8113 (WebCore::AccessibilityTableCell::isTableCell):
8114 (WebCore::AccessibilityTableCell::roleValue):
8115 * page/AccessibilityTableCell.h:
8116 * page/AccessibilityTableRow.cpp:
8117 (WebCore::AccessibilityTableRow::roleValue):
8118 (WebCore::AccessibilityTableRow::isTableRow):
8119 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
8120 * page/AccessibilityTableRow.h:
8121
sfalken@apple.coma96c5d32008-09-18 22:29:34 +000081222008-09-18 Steve Falkenburg <sfalken@apple.com>
8123
8124 Use higher-resolution timers on all variants of Windows.
8125
8126 Reviewed by Darin Adler.
8127
8128 * platform/win/SharedTimerWin.cpp:
8129 (WebCore::setSharedTimerFireTime):
8130
8131
hyatt@apple.comb7d49b62008-09-18 22:21:25 +000081322008-09-18 David Hyatt <hyatt@apple.com>
8133
8134 Make containingWindow() and setContainingWindow() cross-platform.
8135 Add a root() function cross-platform so Qt doesn't have to
8136 define its own.
8137
8138 Reviewed by Darin Adler
8139
8140 * platform/Widget.cpp:
8141 (WebCore::Widget::root):
8142 * platform/Widget.h:
8143 (WebCore::Widget::setContainingWindow):
8144 * platform/gtk/WidgetGtk.cpp:
8145 (WebCore::Widget::Widget):
8146 (WebCore::Widget::containingWindow):
8147 * platform/mac/ScrollViewMac.mm:
8148 (WebCore::ScrollView::addChild):
8149 (WebCore::ScrollView::removeChild):
8150 * platform/mac/WidgetMac.mm:
8151 (WebCore::Widget::containingWindow):
8152 * platform/qt/WidgetQt.cpp:
8153 (WebCore::Widget::invalidateRect):
8154 (WebCore::Widget::containingWindow):
8155 * platform/win/WidgetWin.cpp:
8156 (WebCore::Widget::Widget):
8157 (WebCore::Widget::~Widget):
8158 (WebCore::Widget::containingWindow):
8159
bdakin@apple.comfa1ce162008-09-18 22:18:01 +000081602008-09-18 Beth Dakin <bdakin@apple.com>
8161
8162 Reviewed by Dave Hyatt.
8163
8164 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
8165 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
8166 dashboard-region=
8167 and corresponding: <rdar://problem/6174100>
8168
8169 This patch makes CSSParserValue::createCSSValue handle unknown
8170 identifiers.
8171
8172 * css/CSSParserValues.cpp:
8173 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
8174 with no id (an unknown identifier) create a CSSPrimitiveValue of
8175 type CSS_PARSER_IDENTIFIER
8176 * css/CSSPrimitiveValue.cpp:
8177 (WebCore::CSSPrimitiveValue::cssText):
8178 (WebCore::CSSPrimitiveValue::parserValue):
8179 * css/CSSPrimitiveValue.h:
8180 (WebCore::CSSPrimitiveValue::):
8181
weinig@apple.comfce49be2008-09-18 21:46:14 +000081822008-09-18 Sam Weinig <sam@webkit.org>
8183
8184 Rubber-stamped by David "I'd prefer not" Hyatt.
8185
8186 More the remaining class out of RenderStyle.h/cpp
8187
8188 * GNUmakefile.am:
8189 * WebCore.pro:
8190 * WebCore.vcproj/WebCore.vcproj:
8191 * WebCore.xcodeproj/project.pbxproj:
8192 * WebCoreSources.bkl:
8193 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
8194 (WebCore::CursorData::CursorData):
8195 (WebCore::CursorData::operator==):
8196 (WebCore::CursorData::operator!=):
8197 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
8198 (WebCore::CursorList::operator[]):
8199 (WebCore::CursorList::CursorList):
8200 * rendering/style/RenderStyle.cpp:
8201 * rendering/style/RenderStyle.h:
8202 (WebCore::RenderStyle::deref):
8203 (WebCore::RenderStyle::hasOneRef):
8204 (WebCore::RenderStyle::InheritedFlags::operator!=):
8205 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
8206 (WebCore::RenderStyle::hasBackground):
8207 (WebCore::RenderStyle::outlineWidth):
8208 (WebCore::RenderStyle::autoWrap):
8209 (WebCore::RenderStyle::preserveNewline):
8210 (WebCore::RenderStyle::collapseWhiteSpace):
8211 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
8212 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
8213 (WebCore::RenderStyle::breakWords):
8214 (WebCore::RenderStyle::outlineOffset):
8215 (WebCore::RenderStyle::setLeft):
8216 (WebCore::RenderStyle::setRight):
8217 (WebCore::RenderStyle::setTop):
8218 (WebCore::RenderStyle::setBottom):
8219 (WebCore::RenderStyle::setDashboardRegion):
8220 (WebCore::RenderStyle::setBackgroundColor):
8221 (WebCore::RenderStyle::setBorderImage):
8222 (WebCore::RenderStyle::setBorderRadius):
8223 (WebCore::RenderStyle::setFontDescription):
8224 (WebCore::RenderStyle::adjustBackgroundLayers):
8225 (WebCore::RenderStyle::adjustMaskLayers):
8226 (WebCore::RenderStyle::deleteBindingURIs):
8227 (WebCore::RenderStyle::inheritBindingURIs):
8228 (WebCore::RenderStyle::isDisplayReplacedType):
8229 (WebCore::RenderStyle::isDisplayInlineType):
8230 (WebCore::RenderStyle::isOriginalDisplayInlineType):
8231 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
8232 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
8233 (WebCore::StyleInheritedData::operator!=):
8234 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
8235 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
8236 (WebCore::StyleRareInheritedData::operator!=):
8237 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
8238 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
8239 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
8240
hyatt@apple.com643534d2008-09-18 20:09:41 +000082412008-09-18 David Hyatt <hyatt@apple.com>
8242
hyatt@apple.comd23089a2008-09-18 20:24:16 +00008243 Move the concept of suppression invalidation on Widgets to Scrollbar
8244 instead. Since this is only used by Scrollbars, there is no need for
8245 it to be on Widget.
8246
8247 Reviewed by Sam Weinig
8248
8249 * platform/Scrollbar.cpp:
8250 (WebCore::Scrollbar::Scrollbar):
8251 (WebCore::Scrollbar::invalidateRect):
8252 * platform/Scrollbar.h:
8253 (WebCore::Scrollbar::suppressInvalidation):
8254 (WebCore::Scrollbar::setSuppressInvalidation):
8255 * platform/Widget.h:
8256 * platform/gtk/WidgetGtk.cpp:
8257 (WebCore::Widget::Widget):
8258 (WebCore::Widget::invalidateRect):
8259 * platform/qt/WidgetQt.cpp:
8260 (WebCore::WidgetPrivate::WidgetPrivate):
8261 (WebCore::Widget::invalidateRect):
8262 * platform/win/WidgetWin.cpp:
8263 (WebCore::Widget::Widget):
8264 (WebCore::Widget::invalidateRect):
8265
82662008-09-18 David Hyatt <hyatt@apple.com>
8267
hyatt@apple.com643534d2008-09-18 20:09:41 +00008268 Make invalidate() on Widget non-virtual and make it just call
8269 invalidateRect() on the boundsGeometry() of the Widget.
8270
8271 Reviewed by Dan Bernstein
8272
8273 * platform/Widget.h:
8274 (WebCore::Widget::boundsGeometry):
8275 (WebCore::Widget::invalidate):
8276 * platform/gtk/WidgetGtk.cpp:
8277 * platform/mac/WidgetMac.mm:
8278 * platform/qt/WidgetQt.cpp:
8279 * platform/win/WidgetWin.cpp:
8280 * platform/wx/WidgetWx.cpp:
8281
weinig@apple.comcaf2df42008-09-18 19:40:24 +000082822008-09-18 Sam Weinig <sam@webkit.org>
8283
8284 Rubber-stamped in exile by David Hyatt.
8285
8286 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
8287 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
8288 RenderStyle.h/cpp
8289
8290 * GNUmakefile.am:
8291 * WebCore.pro:
8292 * WebCore.vcproj/WebCore.vcproj:
8293 * WebCore.xcodeproj/project.pbxproj:
8294 * WebCoreSources.bkl:
8295 * css/CSSStyleSelector.cpp:
8296 * css/CSSStyleSelector.h:
8297 * page/animation/CompositeAnimation.cpp:
8298 * page/animation/KeyframeAnimation.cpp:
8299 * page/animation/KeyframeAnimation.h:
8300 * rendering/RenderCounter.h:
8301 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
8302 (WebCore::Animation::~Animation):
8303 (WebCore::Animation::animationsMatch):
8304 (WebCore::Animation::keyframeList):
8305 (WebCore::Animation::setAnimationKeyframe):
8306 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
8307 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
8308 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
8309 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
8310 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
8311 (WebCore::BindingURI::operator!=):
8312 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
8313 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
8314 (WebCore::ContentData::ContentData):
8315 (WebCore::ContentData::~ContentData):
8316 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
8317 (WebCore::CounterContent::CounterContent):
8318 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
8319 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
8320 (WebCore::CounterDirectives::CounterDirectives):
8321 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
8322 (WebCore::KeyframeList::insert):
8323 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
8324 (WebCore::KeyframeValue::KeyframeValue):
8325 (WebCore::KeyframeList::create):
8326 (WebCore::KeyframeList::KeyframeList):
8327 * rendering/style/RenderStyle.cpp:
8328 * rendering/style/RenderStyle.h:
8329 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
8330 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
8331 (WebCore::ShadowData::ShadowData):
8332 (WebCore::ShadowData::~ShadowData):
8333 (WebCore::ShadowData::operator!=):
8334 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
8335 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
8336 (WebCore::StyleFlexibleBoxData::operator!=):
8337 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
8338 (WebCore::TimingFunction::TimingFunction):
8339 (WebCore::TimingFunction::operator==):
8340
adele@apple.com5b2b5da2008-09-18 18:49:44 +000083412008-09-18 Adele Peterson <adele@apple.com>
8342
8343 Reviewed by Dan Bernstein.
8344
8345 Fix RenderStyle leaks.
8346
8347 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
8348
kmccullough@apple.comd4089752008-09-18 17:21:49 +000083492008-09-18 Kevin McCullough <kmccullough@apple.com>
8350
kmccullough@apple.com76c708f2008-09-18 18:03:23 +00008351 Accidentally checked in code.
8352
8353 * html/HTMLElementFactory.cpp:
8354 (WebCore::frameConstructor):
8355 (WebCore::iframeConstructor):
8356
83572008-09-18 Kevin McCullough <kmccullough@apple.com>
8358
kmccullough@apple.comd4089752008-09-18 17:21:49 +00008359 Reviewed by Tim.
8360
8361 <rdar://problem/5722310> gracefully handle too many console messages
8362 (20904)
8363 - Keep track of the most previous message and then compare it to the
8364 subsequent messages as they come in. If there are multiple of the same
8365 message create a count that indicates the current number.
8366
8367 * manual-tests/inspector/multiple-console-messages.html: Added.
8368 * page/inspector/Console.js:
8369 * page/inspector/inspector.css:
8370
alp@webkit.org18a1fbc2008-09-18 11:50:26 +000083712008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
8372
8373 Reviewed by Alp Toker
8374
8375 https://bugs.webkit.org/show_bug.cgi?id=20830
8376 [GTK] Don't use deprecated pango API
8377
8378 Replace deprecated pango functions with non-deprecated ones for newer
8379 versions of pango
8380
8381 * platform/graphics/gtk/FontGtk.cpp:
8382 (WebCore::getDefaultPangoLayout):
8383 * platform/graphics/gtk/FontPlatformDataPango.cpp:
8384 (WebCore::FontPlatformData::FontPlatformData):
8385
alp@webkit.org2154ef22008-09-18 08:10:49 +000083862008-09-18 Alp Toker <alp@nuanti.com>
8387
8388 Build fix for r36587. Add new sources (and sort the lists).
8389
8390 * GNUmakefile.am:
8391
weinig@apple.com3a98b2a2008-09-18 05:51:35 +000083922008-09-17 Sam Weinig <sam@webkit.org>
8393
8394 Fix Windows build.
8395
8396 * WebCore.vcproj/WebCore.vcproj:
8397
hyatt@apple.comb3699722008-09-18 05:10:03 +000083982008-09-17 David Hyatt <hyatt@apple.com>
8399
8400 Switch back to having frameGeometry be virtual in order to keep Mac
8401 the way it used to be.
8402
8403 Reviewed by Sam Weinig
8404
8405 * WebCore.base.exp:
8406 * platform/Widget.cpp:
8407 (WebCore::Widget::setParent):
8408 * platform/Widget.h:
8409 * platform/gtk/WidgetGtk.cpp:
8410 (WebCore::Widget::frameGeometry):
8411 (WebCore::Widget::setFrameGeometry):
8412 * platform/mac/WidgetMac.mm:
8413 (WebCore::Widget::frameGeometry):
8414 (WebCore::Widget::setFrameGeometry):
8415 * platform/qt/WidgetQt.cpp:
8416 (WebCore::Widget::frameGeometry):
8417 (WebCore::Widget::setFrameGeometry):
8418 * platform/win/WidgetWin.cpp:
8419 (WebCore::Widget::frameGeometry):
8420 (WebCore::Widget::setFrameGeometry):
8421 * platform/wx/WidgetWx.cpp:
8422 (WebCore::Widget::frameGeometry):
8423 (WebCore::Widget::setFrameGeometry):
8424 * plugins/PluginView.cpp:
8425 (WebCore::PluginView::setFrameGeometry):
8426 (WebCore::PluginView::geometryChanged):
8427 * plugins/PluginView.h:
8428 * plugins/gtk/PluginViewGtk.cpp:
8429 (WebCore::PluginView::updatePluginWidget):
8430 * plugins/qt/PluginViewQt.cpp:
8431 (WebCore::PluginView::updatePluginWidget):
8432 * plugins/win/PluginViewWin.cpp:
8433 (WebCore::PluginView::updatePluginWidget):
8434
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000084352008-09-17 Sam Weinig <sam@webkit.org>
8436
weinig@apple.com4fd54cd2008-09-18 05:03:21 +00008437 Reviewed by Mark Rowe.
8438
8439 Fix assertion in DOMWindow::adjustWindowRect where we were passing
8440 in garbage values and were getting lucky that they were a not Nan.
8441
8442 * bindings/js/JSDOMWindowBase.cpp:
8443 (WebCore::windowProtoFuncOpen):
8444
84452008-09-17 Sam Weinig <sam@webkit.org>
8446
weinig@apple.com95b14762008-09-18 04:28:40 +00008447 Fix gtk build.
8448
8449 * rendering/style/MatrixTransformOperation.cpp:
8450
84512008-09-17 Sam Weinig <sam@webkit.org>
8452
weinig@apple.com00f4d5c2008-09-18 03:23:08 +00008453 Rubber-stamped with love by David Hyatt.
8454
8455 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
8456 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
8457 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
8458
8459 * GNUmakefile.am:
8460 * WebCore.pro:
8461 * WebCore.vcproj/WebCore.vcproj:
8462 * WebCore.xcodeproj/project.pbxproj:
8463 * WebCoreSources.bkl:
8464 * css/CSSStyleSelector.cpp:
8465 * page/animation/AnimationBase.cpp:
8466 (WebCore::solveEpsilon):
8467 * rendering/RenderLayer.cpp:
8468 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
8469 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
8470 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
8471 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
8472 * rendering/style/RenderStyle.cpp:
8473 * rendering/style/RenderStyle.h:
8474 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
8475 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
8476 (WebCore::RotateTransformOperation::RotateTransformOperation):
8477 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
8478 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
8479 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
8480 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
8481 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
8482 (WebCore::SkewTransformOperation::SkewTransformOperation):
8483 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
8484 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
8485 (WebCore::StyleTransformData::operator!=):
8486 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
8487 (WebCore::TransformOperation::):
8488 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
8489 (WebCore::TransformOperations::TransformOperations):
8490 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
8491 (WebCore::TransformOperations::operator!=):
8492 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
8493 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
8494 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
8495
mrowe@apple.comdbfa8852008-09-18 02:59:20 +000084962008-09-17 Mark Rowe <mrowe@apple.com>
8497
8498 Build fix.
8499
8500 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
8501
hyatt@apple.com76057b42008-09-18 02:48:46 +000085022008-09-17 David Hyatt <hyatt@apple.com>
8503
8504 (1) Inline a bunch of methods for accessing frame geometry.
8505 (2) Make sure frameGeometry() works even when you have no underlying
8506 native widget.
8507 (3) Cache a frame geometry rect cross-platform (even for widgets that
8508 have underlying native widgets.
8509 (4) PluginView's updateWindow call is now a virtual function on Widget.
8510
8511 Reviewed by Sam Weinig
8512
8513 * ChangeLog:
8514 * WebCore.base.exp:
8515 * platform/Widget.cpp:
8516 (WebCore::Widget::setFrameGeometry):
8517 * platform/Widget.h:
8518 (WebCore::Widget::x):
8519 (WebCore::Widget::y):
8520 (WebCore::Widget::width):
8521 (WebCore::Widget::height):
8522 (WebCore::Widget::size):
8523 (WebCore::Widget::pos):
8524 (WebCore::Widget::frameGeometry):
8525 (WebCore::Widget::resize):
8526 (WebCore::Widget::move):
8527 (WebCore::Widget::isFrameView):
8528 (WebCore::Widget::windowClipRect):
8529 * platform/mac/WidgetMac.mm:
8530 (WebCore::Widget::~Widget):
8531 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
8532 * platform/win/WidgetWin.cpp:
8533 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
8534 * plugins/PluginView.cpp:
8535 (WebCore::PluginView::setFrameGeometry):
8536 (WebCore::PluginView::geometryChanged):
8537 * plugins/PluginView.h:
8538 * plugins/gtk/PluginViewGtk.cpp:
8539 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
8540 * plugins/qt/PluginViewQt.cpp:
8541 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
8542 * plugins/win/PluginViewWin.cpp:
8543 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
8544 * plugins/wx/PluginViewWx.cpp:
8545
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000085462008-09-17 Sam Weinig <sam@webkit.org>
8547
weinig@apple.comb4b66742008-09-18 02:47:55 +00008548 Reviewed by David "Waterman" Hyatt.
8549
8550 Fix a leak of NSViews in WidgetMac.mm.
8551
8552 * platform/mac/WidgetMac.mm:
8553 (WebCore::Widget::~Widget):
8554
85552008-09-17 Sam Weinig <sam@webkit.org>
8556
weinig@apple.coma812a3ce2008-09-18 01:46:26 +00008557 Rubber-stamped by David Waterman Hyatt.
8558
8559 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
8560 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
8561
8562 * GNUmakefile.am:
8563 * WebCore.pro:
8564 * WebCore.vcproj/WebCore.vcproj:
8565 * WebCore.xcodeproj/project.pbxproj:
8566 * WebCoreSources.bkl:
8567 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
8568 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
8569 (WebCore::FillLayer::operator!=):
8570 (WebCore::FillLayer::hasImage):
8571 (WebCore::FillLayer::hasFixedImage):
8572 * rendering/style/RenderStyle.cpp:
8573 * rendering/style/RenderStyle.h:
8574 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
8575 (WebCore::StyleBackgroundData::StyleBackgroundData):
8576 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
8577 (WebCore::StyleBackgroundData::~StyleBackgroundData):
8578 (WebCore::StyleBackgroundData::operator!=):
8579 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
8580 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
8581 (WebCore::StyleBoxData::operator!=):
8582 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
8583 (WebCore::StyleDashboardRegion::operator!=):
8584 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
8585 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
8586 (WebCore::StyleMarqueeData::operator!=):
8587 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
8588 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
8589 (WebCore::StyleMultiColData::operator!=):
8590 (WebCore::StyleMultiColData::ruleWidth):
8591 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
8592 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
8593 (WebCore::StyleVisualData::operator==):
8594
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000085952008-09-17 David Hyatt <hyatt@apple.com>
8596
hyatt@apple.com3f19eac2008-09-18 00:56:04 +00008597 Remove WidgetClient from Widget.
8598
8599 Reviewed by Sam Weinig
8600
8601 * WebCore.xcodeproj/project.pbxproj:
8602 * platform/Widget.h:
8603 (WebCore::Widget::setClient):
8604 (WebCore::Widget::client):
8605 * platform/WidgetClient.h: Removed.
8606 * platform/gtk/WidgetGtk.cpp:
8607 * platform/mac/WidgetMac.mm:
8608 (WebCore::Widget::Widget):
8609 (WebCore::Widget::show):
8610 (WebCore::Widget::hide):
8611 * platform/qt/WidgetQt.cpp:
8612 (WebCore::WidgetPrivate::WidgetPrivate):
8613 * platform/win/WidgetWin.cpp:
8614 (WebCore::Widget::Widget):
8615 * platform/wx/WidgetWx.cpp:
8616 (WebCore::Widget::Widget):
8617
86182008-09-17 David Hyatt <hyatt@apple.com>
8619
hyatt@apple.comb4f28b32008-09-18 00:39:36 +00008620 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
8621 only applies to Scrollbars so the method has been moved there and made
8622 cross-platform. Scrollbar subclasses that have a corresponding native
8623 widget can subclass setEnabled to change the enabled state of the native
8624 widget.
8625
8626 Reviewed by Sam Weinig & Darin Adler
8627
8628 * WebCore.base.exp:
8629 * platform/Scrollbar.cpp:
8630 (WebCore::Scrollbar::Scrollbar):
8631 * platform/Scrollbar.h:
8632 (WebCore::Scrollbar::enabled):
8633 (WebCore::Scrollbar::setEnabled):
8634 * platform/Widget.h:
8635 * platform/gtk/ScrollbarGtk.cpp:
8636 (ScrollbarGtk::setEnabled):
8637 * platform/gtk/ScrollbarGtk.h:
8638 * platform/gtk/WidgetGtk.cpp:
8639 * platform/mac/ScrollbarMac.h:
8640 * platform/mac/ScrollbarMac.mm:
8641 (WebCore::ScrollbarMac::scrollbarHit):
8642 (WebCore::ScrollbarMac::setEnabled):
8643 * platform/mac/WidgetMac.mm:
8644 * platform/qt/WidgetQt.cpp:
8645 (WebCore::WidgetPrivate::WidgetPrivate):
8646 * platform/win/WidgetWin.cpp:
8647 (WebCore::Widget::Widget):
8648 * platform/wx/WidgetWx.cpp:
8649
weinig@apple.com1ea40602008-09-17 23:56:27 +000086502008-09-17 Sam Weinig <sam@webkit.org>
8651
8652 Rubber-stamped by David Hyatt.
8653
8654 Split all RenderStyle enums into their own file.
8655
8656 * GNUmakefile.am:
8657 * WebCore.vcproj/WebCore.vcproj:
8658 * WebCore.xcodeproj/project.pbxproj:
8659 * rendering/style/BorderValue.h:
8660 * rendering/style/CollapsedBorderValue.h:
8661 * rendering/style/RenderStyle.h:
8662 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
8663 (WebCore::):
8664 * rendering/style/StyleCachedImage.h:
8665 * rendering/style/StyleGeneratedImage.h:
8666 * rendering/style/StyleImage.h:
8667
sfalken@apple.combf270912008-09-17 23:53:17 +000086682008-09-17 Steve Falkenburg <sfalken@apple.com>
8669
8670 Add back isFrameView check to fix failed assertion during scroll bar teardown.
8671
8672 Reviewed by Dave Hyatt.
8673
8674 * platform/Scrollbar.cpp:
8675 (WebCore::Scrollbar::setParent):
8676
beidson@apple.com4398e482008-09-17 23:30:00 +000086772008-09-17 Brady Eidson <beidson@apple.com>
8678
8679 Reviewed by Mac build fix
8680
8681 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
8682
sfalken@apple.com85cc1392008-09-17 23:28:13 +000086832008-09-17 Steve Falkenburg <sfalken@apple.com>
8684
8685 Fix build.
8686
8687 * platform/win/ScrollViewWin.cpp:
8688 (WebCore::ScrollView::setParentVisible):
8689 * plugins/win/PluginViewWin.cpp:
8690 (WebCore::PluginView::init):
8691
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +000086922008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
8693
8694 Reviewed by Simon.
8695
8696 [QtWebKit] Implement error handling in TextCodecQt::decode
8697 Use the QTextCodec parsing state to set the sawError out variable. This
8698 is needed to pass Test 70 of acid3. The test case for this bug is
8699 fast/encoding/invalid-xml.html that is now partially passed. To pass
8700 it completely the Qt text codecs need to be adjusted to have proper
8701 error handling.
8702
8703 * platform/text/qt/TextCodecQt.cpp:
8704 (WebCore::TextCodecQt::decode):
8705
weinig@apple.comf6f0f112008-09-17 23:03:16 +000087062008-09-17 Sam Weinig <sam@webkit.org>
8707
8708 Rubber-stamped by Dave Hyatt.
8709
8710 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
8711 out of RenderStyle.h/cpp
8712
8713 * GNUmakefile.am:
8714 * WebCore.pro:
8715 * WebCore.vcproj/WebCore.vcproj:
8716 * WebCore.xcodeproj/project.pbxproj:
8717 * WebCoreSources.bkl:
8718 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
8719 (WebCore::BorderData::hasBorderRadius):
8720 (WebCore::BorderData::borderLeftWidth):
8721 (WebCore::BorderData::borderRightWidth):
8722 (WebCore::BorderData::borderTopWidth):
8723 (WebCore::BorderData::borderBottomWidth):
8724 (WebCore::BorderData::operator!=):
8725 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
8726 (WebCore::):
8727 (WebCore::BorderValue::BorderValue):
8728 (WebCore::BorderValue::nonZero):
8729 (WebCore::BorderValue::isTransparent):
8730 (WebCore::BorderValue::isVisible):
8731 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
8732 (WebCore::):
8733 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
8734 (WebCore::CollapsedBorderValue::operator==):
8735 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
8736 (WebCore::OutlineValue::OutlineValue):
8737 * rendering/style/RenderStyle.cpp:
8738 * rendering/style/RenderStyle.h:
8739 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
8740 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
8741 (WebCore::StyleSurroundData::operator!=):
8742
bdakin@apple.com06b97182008-09-17 23:00:29 +000087432008-09-17 Beth Dakin <bdakin@apple.com>
8744
8745 Reviewed by Darin Adler.
8746
8747 This is a better fix for: Invalid CSS code crashes Safari
8748 https://bugs.webkit.org/show_bug.cgi?id=20512
8749
8750 The spec indicates that the only valid input for a counter is a
8751 number or an identifier. So that is exactly what we allow.
8752
8753 * css/CSSParser.cpp:
8754 (WebCore::CSSParser::parseCounterContent):
8755
alp@webkit.org97ba9222008-09-17 22:16:26 +000087562008-09-17 Alp Toker <alp@nuanti.com>
8757
8758 GTK+ build fix. Adapt to use PlatformWidget functions.
8759
8760 * platform/gtk/ScrollViewGtk.cpp:
8761 (WebCore::ScrollViewScrollbar::geometryChanged):
8762 (WebCore::ScrollView::addChild):
8763 (WebCore::ScrollView::removeChild):
8764 * platform/gtk/ScrollbarGtk.cpp:
8765 (ScrollbarGtk::ScrollbarGtk):
8766 (ScrollbarGtk::~ScrollbarGtk):
8767 (ScrollbarGtk::geometryChanged):
8768
weinig@apple.com930ed392008-09-17 22:00:45 +000087692008-09-17 Sam Weinig <sam@webkit.org>
8770
8771 Reviewed by Adele Peterson.
8772
8773 Patch for <rdar://problem/6133884>
8774 Calling window.resizeTo() on a subframe shouldn't change the window size
8775
8776 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
8777
8778 * page/DOMWindow.cpp:
8779 (WebCore::DOMWindow::moveBy):
8780 (WebCore::DOMWindow::moveTo):
8781 (WebCore::DOMWindow::resizeBy):
8782 (WebCore::DOMWindow::resizeTo):
8783
bdakin@apple.com8f952d82008-09-17 21:35:02 +000087842008-09-17 Beth Dakin <bdakin@apple.com>
8785
8786 Reviewed by Adam Roben.
8787
8788 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
8789 code crashes Safari
8790 and corresponding: <rdar://problem/6173832>
8791
8792 Reading through the spec, it seems like a function is not valid
8793 input for a counter. So this patch checks for that and bails in the
8794 case of invalid input.
8795
8796 * css/CSSParser.cpp:
8797 (WebCore::CSSParser::parseCounterContent):
8798
antti@apple.comb37d4052008-09-17 21:14:13 +000087992008-09-17 Greg Bolsinga <bolsinga@apple.com>
8800
8801 Reviewed by Antti Koivisto.
8802
8803 Fix <rdar://problem/6227089>
8804 Crash in WebCore::Frame::setNeedsReapplyStyles()
8805
8806 View is null checked elsewhere too.
8807
8808 * page/Frame.cpp:
8809 (WebCore::Frame::setNeedsReapplyStyles):
8810
hyatt@apple.com8e340252008-09-17 20:59:45 +000088112008-09-17 David Hyatt <hyatt@apple.com>
8812
8813 Make the notion of having a native widget backing a Widget cross-platform.
8814 The PlatformWidget abstraction (which already existed) is used for this.
8815 Windows = HWND
8816 Qt = QWidget
8817 Mac = NSView
8818 wx = wxWindow
8819 Gtk = GtkWidget
8820
8821 There are new cross-platform methods that replace all of the unique
8822 platform-specific methods.
8823 platformWidget()
8824 setPlatformWidget()
8825
8826 For plugins, on every platform except Qt on Windows, the plugin's native
8827 widget is now stored in the Widget base class. Since Qt on Windows uses
8828 HWNDs for plugins instead of QWidget, it is the only platform to keep the
8829 m_window variable in PluginView.
8830
8831 Reviewed by Sam Weinig
8832
8833 * WebCore.base.exp:
8834 * bindings/js/ScriptControllerMac.mm:
8835 (WebCore::ScriptController::createScriptInstanceForWidget):
8836 * page/mac/AccessibilityObjectWrapper.mm:
8837 (-[AccessibilityObjectWrapper attachmentView]):
8838 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
8839 * page/mac/EventHandlerMac.mm:
8840 (WebCore::EventHandler::passMouseDownEventToWidget):
8841 (WebCore::EventHandler::mouseDownViewIfStillGood):
8842 (WebCore::EventHandler::passWheelEventToWidget):
8843 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
8844 * platform/Widget.cpp:
8845 (WebCore::Widget::init):
8846 (WebCore::Widget::setParent):
8847 (WebCore::Widget::releasePlatformWidget):
8848 (WebCore::Widget::retainPlatformWidget):
8849 * platform/Widget.h:
8850 (WebCore::Widget::platformWidget):
8851 (WebCore::Widget::setPlatformWidget):
8852 * platform/gtk/WidgetGtk.cpp:
8853 (WebCore::Widget::Widget):
8854 (WebCore::Widget::setFocus):
8855 (WebCore::gdkDrawable):
8856 (WebCore::Widget::setCursor):
8857 (WebCore::Widget::show):
8858 (WebCore::Widget::hide):
8859 (WebCore::Widget::setEnabled):
8860 (WebCore::Widget::isEnabled):
8861 (WebCore::Widget::paint):
8862 * platform/mac/PlatformScreenMac.mm:
8863 (WebCore::screenRect):
8864 (WebCore::screenAvailableRect):
8865 * platform/mac/ScrollViewMac.mm:
8866 (WebCore::ScrollView::scrollView):
8867 (WebCore::ScrollView::update):
8868 (WebCore::ScrollView::inWindow):
8869 * platform/mac/ScrollbarMac.mm:
8870 (WebCore::ScrollbarMac::ScrollbarMac):
8871 (WebCore::ScrollbarMac::~ScrollbarMac):
8872 (WebCore::ScrollbarMac::updateThumbPosition):
8873 (WebCore::ScrollbarMac::updateThumbProportion):
8874 (WebCore::ScrollbarMac::scrollbarHit):
8875 * platform/mac/WidgetMac.mm:
8876 (WebCore::Widget::Widget):
8877 (WebCore::Widget::setEnabled):
8878 (WebCore::Widget::isEnabled):
8879 (WebCore::Widget::setFocus):
8880 (WebCore::Widget::getOuterView):
8881 (WebCore::Widget::paint):
8882 (WebCore::Widget::invalidate):
8883 (WebCore::Widget::invalidateRect):
8884 (WebCore::Widget::setIsSelected):
8885 (WebCore::Widget::releasePlatformWidget):
8886 (WebCore::Widget::retainPlatformWidget):
8887 * platform/qt/WidgetQt.cpp:
8888 (WebCore::WidgetPrivate::WidgetPrivate):
8889 (WebCore::Widget::Widget):
8890 (WebCore::Widget::setFrameGeometry):
8891 (WebCore::Widget::show):
8892 (WebCore::Widget::hide):
8893 (WebCore::Widget::isEnabled):
8894 (WebCore::Widget::setEnabled):
8895 (WebCore::Widget::invalidateRect):
8896 (WebCore::Widget::containingWindow):
8897 * platform/win/WidgetWin.cpp:
8898 (WebCore::Widget::Widget):
8899 * platform/wx/WidgetWx.cpp:
8900 (WebCore::Widget::Widget):
8901 (WebCore::Widget::frameGeometry):
8902 (WebCore::Widget::setFocus):
8903 (WebCore::Widget::setCursor):
8904 (WebCore::Widget::show):
8905 (WebCore::Widget::hide):
8906 (WebCore::Widget::setFrameGeometry):
8907 (WebCore::Widget::setEnabled):
8908 (WebCore::Widget::isEnabled):
8909 (WebCore::Widget::invalidate):
8910 (WebCore::Widget::invalidateRect):
8911 (WebCore::Widget::paint):
8912 * plugins/PluginView.cpp:
8913 (WebCore::PluginView::PluginView):
8914 * plugins/PluginView.h:
8915 (WebCore::PluginView::platformPluginWidget):
8916 * plugins/gtk/PluginViewGtk.cpp:
8917 (WebCore::PluginView::updateWindow):
8918 (WebCore::PluginView::setFocus):
8919 (WebCore::PluginView::show):
8920 (WebCore::PluginView::hide):
8921 (WebCore::PluginView::setParent):
8922 (WebCore::PluginView::setNPWindowRect):
8923 (WebCore::PluginView::setParentVisible):
8924 (WebCore::PluginView::getValue):
8925 (WebCore::PluginView::forceRedraw):
8926 (WebCore::PluginView::init):
8927 * plugins/qt/PluginViewQt.cpp:
8928 (WebCore::PluginView::updateWindow):
8929 (WebCore::PluginView::setFocus):
8930 (WebCore::PluginView::show):
8931 (WebCore::PluginView::hide):
8932 (WebCore::PluginView::setParent):
8933 (WebCore::PluginView::setNPWindowRect):
8934 (WebCore::PluginView::setParentVisible):
8935 (WebCore::PluginView::getValue):
8936 (WebCore::PluginView::~PluginView):
8937 (WebCore::PluginView::init):
8938 * plugins/win/PluginViewWin.cpp:
8939 (WebCore::PluginView::updateWindow):
8940 (WebCore::PluginView::setFocus):
8941 (WebCore::PluginView::show):
8942 (WebCore::PluginView::hide):
8943 (WebCore::PluginView::paint):
8944 (WebCore::PluginView::setParent):
8945 (WebCore::PluginView::setParentVisible):
8946 (WebCore::PluginView::setNPWindowRect):
8947 (WebCore::PluginView::stop):
8948 (WebCore::PluginView::invalidateRect):
8949 (WebCore::PluginView::forceRedraw):
8950 (WebCore::PluginView::~PluginView):
8951 (WebCore::PluginView::init):
8952
weinig@apple.comf713d132008-09-17 20:16:48 +000089532008-09-17 Sam Weinig <sam@webkit.org>
8954
8955 Fix assert.
8956
8957 * platform/Widget.cpp:
8958 (WebCore::Widget::setParent):
8959
hyatt@apple.comd9242e32008-09-17 18:46:31 +000089602008-09-17 David Hyatt <hyatt@apple.com>
8961
8962 Beginnings of Widget refactoring (in order to make the mixing of
8963 widgets with and without corresponding native widgets more cross-platform).
8964
8965 This first patch makes the concept of a parent ScrollView cross-platform.
8966
8967 Note the similarity of the show/hide methods on the three PluginViews. This
8968 will be refactored better in a later patch so that they can all share
8969 a base class Widget show/hide method. For now the changes were made
8970 simply to be able to bring WidgetWin's setParent method up into Widget.
8971
8972 Reviewed by Sam Weinig
8973
8974 * WebCore.base.exp:
8975 * platform/ScrollView.h:
8976 * platform/Widget.cpp:
8977 (WebCore::Widget::init):
8978 (WebCore::Widget::setParent):
8979 * platform/Widget.h:
8980 (WebCore::Widget::isSelfVisible):
8981 (WebCore::Widget::isParentVisible):
8982 (WebCore::Widget::isVisible):
8983 (WebCore::Widget::setParentVisible):
8984 (WebCore::Widget::isPluginView):
8985 (WebCore::Widget::parent):
8986 (WebCore::Widget::handleEvent):
8987 (WebCore::Widget::geometryChanged):
8988 * platform/gtk/WidgetGtk.cpp:
8989 (WebCore::Widget::Widget):
8990 * platform/mac/ScrollViewMac.mm:
8991 (WebCore::ScrollView::addChild):
8992 (WebCore::ScrollView::removeChild):
8993 * platform/mac/ScrollbarMac.mm:
8994 (WebCore::ScrollbarMac::~ScrollbarMac):
8995 * platform/mac/WidgetMac.mm:
8996 (WebCore::Widget::Widget):
8997 (WebCore::Widget::~Widget):
8998 * platform/qt/WidgetQt.cpp:
8999 (WebCore::WidgetPrivate::WidgetPrivate):
9000 (WebCore::Widget::Widget):
9001 (WebCore::Widget::topLevel):
9002 * platform/win/ScrollViewWin.cpp:
9003 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9004 (WebCore::ScrollView::setAncestorVisible):
9005 (WebCore::ScrollView::show):
9006 (WebCore::ScrollView::hide):
9007 * platform/win/WidgetWin.cpp:
9008 (WebCore::Widget::Widget):
9009 (WebCore::Widget::setParent):
9010 * platform/wx/WidgetWx.cpp:
9011 (WebCore::Widget::Widget):
9012 * plugins/PluginView.cpp:
9013 (WebCore::PluginView::PluginView):
9014 * plugins/PluginView.h:
9015 * plugins/gtk/PluginViewGtk.cpp:
9016 (WebCore::PluginView::show):
9017 (WebCore::PluginView::hide):
9018 (WebCore::PluginView::setParentVisible):
9019 * plugins/qt/PluginViewQt.cpp:
9020 (WebCore::PluginView::show):
9021 (WebCore::PluginView::hide):
9022 (WebCore::PluginView::setParentVisible):
9023 * plugins/win/PluginViewWin.cpp:
9024 (WebCore::PluginView::show):
9025 (WebCore::PluginView::hide):
9026 (WebCore::PluginView::setParentVisible):
9027
ap@webkit.org18da1a32008-09-17 16:50:22 +000090282008-09-17 Alexey Proskuryakov <ap@webkit.org>
9029
9030 Reviewed by Adam Roben.
9031
9032 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
9033
9034 * platform/text/TextCodecICU.cpp:
9035 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
9036
vestbo@webkit.orge48e6362008-09-17 13:29:42 +000090372008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
9038
9039 Fix the QtWebKit/Mac build
9040
9041 * platform/qt/ScrollViewQt.cpp: add include
9042
ap@webkit.org18da1a32008-09-17 16:50:22 +000090432008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +00009044
9045 Add a #define to control whether or not to use an NSScroller on Mac.
9046 This ifdef will allow the new NSView-less NSScroller on Mac to be
9047 developed side by side with the current one.
9048
9049 The new scroller paints a debug red if turned on (although due to
9050 Widget issues you won't see anything paint yet).
9051
9052 Reviewed by olliej
9053
9054 * platform/Scrollbar.cpp:
9055 * platform/Scrollbar.h:
9056 * platform/mac/ScrollbarMac.h:
9057 * platform/mac/ScrollbarMac.mm:
9058 * platform/mac/ScrollbarThemeMac.cpp:
9059 (WebCore::ScrollbarThemeMac::paint):
9060 * platform/mac/ScrollbarThemeMac.h:
9061
alp@webkit.orgf06bac02008-09-17 04:30:12 +000090622008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
9063
9064 Reviewed by Alp Toker.
9065
9066 http://bugs.webkit.org/show_bug.cgi?id=20854
9067 [GTK] Windows can be not realized in ScrollView::update
9068
9069 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
9070
9071 * platform/gtk/ScrollViewGtk.cpp:
9072 (WebCore::ScrollView::update):
9073
alp@webkit.org226f72a2008-09-17 04:22:02 +000090742008-09-16 Alp Toker <alp@nuanti.com>
9075
9076 Suggested by Dave Hyatt.
9077
9078 Build fix and cleanup. Rename ScrollBar to Scrollbar.
9079
9080 * GNUmakefile.am:
9081 * WebCore.pro:
9082 * WebCore.vcproj/WebCore.vcproj:
9083 * WebCore.xcodeproj/project.pbxproj:
9084 * WebCoreSources.bkl:
9085 * editing/EditorCommand.cpp:
9086 * page/EventHandler.cpp:
9087 * page/gtk/EventHandlerGtk.cpp:
9088 * page/mac/EventHandlerMac.mm:
9089 * page/mac/FrameMac.mm:
9090 * page/qt/EventHandlerQt.cpp:
9091 * page/wx/EventHandlerWx.cpp:
9092 * platform/PopupMenu.h:
9093 * platform/ScrollBar.cpp: Removed.
9094 * platform/ScrollBar.h: Removed.
9095 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
9096 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
9097 * platform/gtk/ScrollbarGtk.cpp:
9098 (ScrollbarGtk::ScrollbarGtk):
9099 * platform/gtk/ScrollbarGtk.h:
9100 * platform/mac/ScrollbarMac.h:
9101 * platform/qt/ScrollViewQt.cpp:
9102 * platform/qt/ScrollbarQt.cpp:
9103 * platform/qt/ScrollbarThemeQt.cpp:
9104 * platform/win/PlatformScrollBar.h:
9105 * platform/win/PopupMenuWin.cpp:
9106 * platform/win/ScrollViewWin.cpp:
9107 * platform/win/ScrollbarThemeWin.cpp:
9108 * platform/wx/ScrollViewWx.cpp:
9109 * platform/wx/TemporaryLinkStubs.cpp:
9110 * rendering/HitTestResult.cpp:
9111 * rendering/RenderLayer.cpp:
9112 * rendering/RenderTextControl.cpp:
9113
hyatt@apple.com7597c172008-09-17 02:15:08 +000091142008-09-16 David Hyatt <hyatt@apple.com>
9115
hyatt@apple.comfde412d2008-09-17 03:49:48 +00009116 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
9117 it can be called from ScrollbarQt.
9118
9119 * platform/ScrollBar.cpp:
9120 (WebCore::Scrollbar::moveThumb):
9121 (WebCore::Scrollbar::handleMouseMoveEvent):
9122 (WebCore::Scrollbar::handleMousePressEvent):
9123 * platform/ScrollBar.h:
9124 * platform/qt/ScrollViewQt.cpp:
9125 * platform/qt/ScrollbarQt.cpp:
9126 (WebCore::Scrollbar::handleContextMenuEvent):
9127
91282008-09-16 David Hyatt <hyatt@apple.com>
9129
hyatt@apple.com4e3b8602008-09-17 03:17:11 +00009130 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
9131 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
9132 now just use Scrollbar.
9133
9134 Reviewed by Sam Weinig
9135
9136 * GNUmakefile.am:
9137 * WebCore.pro:
9138 * WebCore.vcproj/WebCore.vcproj:
9139 * WebCore.xcodeproj/project.pbxproj:
9140 * page/mac/FrameMac.mm:
9141 * platform/PopupMenu.h:
9142 (WebCore::PopupMenu::scrollbar):
9143 * platform/ScrollBar.cpp:
9144 (WebCore::createNativeScrollbar):
9145 * platform/ScrollBar.h:
9146 * platform/gtk/PlatformScrollBar.h: Removed.
9147 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
9148 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
9149 (gtkScrollEventCallback):
9150 (ScrollbarGtk::ScrollbarGtk):
9151 (ScrollbarGtk::~ScrollbarGtk):
9152 (ScrollbarGtk::updateThumbPosition):
9153 (ScrollbarGtk::updateThumbProportion):
9154 (ScrollbarGtk::setFrameGeometry):
9155 (ScrollbarGtk::geometryChanged):
9156 (ScrollbarGtk::gtkValueChanged):
9157 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
9158 * platform/mac/PlatformScrollBar.h: Removed.
9159 * platform/mac/PlatformScrollBarMac.mm: Removed.
9160 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
9161 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
9162 (-[WebCoreScrollBar initWithScrollbarMac:]):
9163 (-[WebCoreScrollBar detachScrollbarMac]):
9164 (WebCore::Scrollbar::createNativeScrollbar):
9165 (WebCore::ScrollbarMac::ScrollbarMac):
9166 (WebCore::ScrollbarMac::~ScrollbarMac):
9167 (WebCore::ScrollbarMac::updateThumbPosition):
9168 (WebCore::ScrollbarMac::updateThumbProportion):
9169 (WebCore::ScrollbarMac::scrollbarHit):
9170 * platform/qt/PlatformScrollBar.h: Removed.
9171 * platform/qt/PlatformScrollBarQt.cpp: Removed.
9172 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
9173 (WebCore::Scrollbar::handleContextMenuEvent):
9174 * rendering/HitTestResult.cpp:
9175 * rendering/RenderLayer.cpp:
9176 (WebCore::RenderLayer::createScrollbar):
9177 (WebCore::RenderLayer::destroyScrollbar):
9178 * rendering/RenderLayer.h:
9179 * rendering/RenderListBox.cpp:
9180 (WebCore::RenderListBox::~RenderListBox):
9181 (WebCore::RenderListBox::updateFromElement):
9182 (WebCore::RenderListBox::isPointInOverflowControl):
9183 * rendering/RenderObject.h:
9184 * rendering/RenderTextControl.cpp:
9185
91862008-09-16 David Hyatt <hyatt@apple.com>
9187
hyatt@apple.com7597c172008-09-17 02:15:08 +00009188 Make the scrollbar resizer-dodging logic cross-platform in the
9189 Scrollbar class.
9190
9191 Reviewed by Sam Weinig
9192
9193 * platform/ScrollBar.cpp:
9194 (WebCore::Scrollbar::setFrameGeometry):
9195 (WebCore::Scrollbar::setParent):
9196 (WebCore::Scrollbar::windowClipRect):
9197 * platform/ScrollBar.h:
9198 * platform/ScrollView.h:
9199 (WebCore::ScrollView::windowResizerRect):
9200 (WebCore::ScrollView::resizerOverlapsContent):
9201 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
9202 * platform/Widget.h:
9203 (WebCore::Widget::setParent):
9204 * platform/mac/WidgetMac.mm:
9205 (WebCore::Widget::convertToContainingWindow):
9206 * platform/win/PlatformScrollBar.h:
9207 * platform/win/PlatformScrollBarWin.cpp:
9208
mitz@apple.com6d925202008-09-16 17:34:10 +000092092008-09-16 Dan Bernstein <mitz@apple.com>
9210
mitz@apple.comd9462a52008-09-16 17:40:20 +00009211 Reviewed by Darin Adler.
9212
9213 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
9214 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
9215
9216 Covered by fast/repaint/4776765.html
9217
9218 * rendering/RenderBlock.cpp:
9219 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
9220 did not have layout in the beginning.
9221 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
9222 layout in the beginning, repaint it in its new position, to compensate
9223 for the above (regardless of whether it "moved").
9224 * rendering/RenderObject.cpp:
9225 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
9226 about generalizing this fix in the future.
9227
92282008-09-16 Dan Bernstein <mitz@apple.com>
9229
mitz@apple.com6d925202008-09-16 17:34:10 +00009230 Reviewed by Dave Hyatt.
9231
9232 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
9233 Div does not notice when grandparent changes height
9234
9235 Test: fast/block/basic/quirk-percent-height-grandchild.html
9236
9237 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
9238 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
9239
9240 Test: fast/replaced/percent-height-in-anonymous-block.html
9241
9242 Added a two-way mapping between boxes with percentage heights and
9243 their non-parent ancestors up to the one the height is computed relative
9244 to. In quirks mode (the first bug), this can be any number of containing
9245 block with auto height. In strict mode (the second bug) this can be
9246 the containing block of an anonymous block containing a replaced
9247 element.
9248
9249 * rendering/RenderBlock.cpp:
9250 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
9251 mapping to/from this block to percentage-height descendants.
9252 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
9253 percentage-height descendants (and their containing block ancestry chain
9254 up to this block) for layout. This ensures that those descendants whose
9255 height depends on the height of this block (or an ancestor) are updated.
9256 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
9257 a two-way mapping between this block and the given box.
9258 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
9259 all the mapping to/from this box.
9260 * rendering/RenderBlock.h:
9261 * rendering/RenderBox.cpp:
9262 (WebCore::RenderBox::setStyle): Added calls to
9263 removePercentHeightDescendant() when style changes and the box
9264 previously had a percentage height. An exception is when the style
9265 change does not require layout, in which case the box still has
9266 a percentage height and the mappings are valid. In all other cases,
9267 any required mappings will be (re-)established during layout.
9268 (WebCore::RenderBox::destroy): Added a call to
9269 removePercentHeightDescendant.
9270 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
9271 mode, if a higher-than-parent containing block is affecting the box's
9272 height, creates a mapping between the box and that block.
9273 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
9274 anonymous containing blocks, if any, and when that happens, use
9275 addPercentHeightDescendant() to ensure that the non-anonymous block
9276 is aware of the dependent percent-height box.
9277
alp@webkit.org1dbd9a92008-09-16 16:59:18 +000092782008-09-16 Dirk Schulze <vbs85@gmx.de>
9279
9280 Reviewed by Oliver Hunt and Alp Toker.
9281
9282 Implemented toDataURL in Cairo. Only PNG support
9283 at the moment.
9284
9285 Qt, Cairo and wx require toDataURL implementations
9286 https://bugs.webkit.org/show_bug.cgi?id=17719
9287
9288 * platform/MIMETypeRegistry.cpp:
9289 (WebCore::initializeSupportedImageMIMETypesForEncoding):
9290 * platform/graphics/cairo/ImageBufferCairo.cpp:
9291 (WebCore::ImageBuffer::ImageBuffer):
9292 (WebCore::writeFunction):
9293 (WebCore::ImageBuffer::toDataURL):
9294
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +000092952008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
9296
9297 Reviewed by Simon.
9298
9299 Hide unused media element controls in the QtWebKit port
9300
9301 * platform/qt/html4-adjustments-qt.css
9302
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +000093032008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
9304
9305 Reviewed by Simon.
9306
9307 Fix compilation of the Qt scrollbar code.
9308
9309 * platform/qt/PlatformScrollBarQt.cpp:
9310 (WebCore::scPart):
9311 (WebCore::styleOptionSlider):
9312 (WebCore::thumbLength):
9313 (WebCore::pixelPosToRangeValue):
9314 (WebCore::PlatformScrollbar::handleContextMenuEvent):
9315
treat@webkit.orga35f6b62008-09-16 14:15:29 +000093162008-09-16 Adam Treat <treat@kde.org>
9317
9318 Reviewed by Anders Carlsson.
9319
9320 Prevent accesses off of the end of the buffer introduced in r36450
9321 and when checking for descriptions of mime. Also, coding style fix.
9322
9323 * plugins/qt/PluginPackageQt.cpp:
9324 (WebCore::PluginPackage::fetchInfo):
9325
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +000093262008-09-15 Rob Buis <buis@kde.org>
9327
9328 Reviewed by Eric.
9329
9330 https://bugs.webkit.org/show_bug.cgi?id=20634
9331 SVG transform attribute is ignored by <use> in <clipPath>
9332
9333 Transform the paths with the local transform when part
9334 of a clip path.
9335
9336 Test: svg/custom/use-clipped-transform.svg
9337
9338 * svg/SVGClipPathElement.cpp:
9339 (WebCore::SVGClipPathElement::canvasResource):
9340 * svg/SVGStyledTransformableElement.cpp:
9341 (WebCore::SVGStyledTransformableElement::toClipPath):
9342 * svg/SVGStyledTransformableElement.h:
9343
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +000093442008-09-15 Dave Hyatt <hyatt@apple.com>
9345
9346 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
9347 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
9348
9349 Reviewed by Sam Weinig
9350
9351 * platform/ScrollBar.cpp:
9352 (WebCore::thumbUnderMouse):
9353 (WebCore::Scrollbar::autoscrollPressedPart):
9354 (WebCore::Scrollbar::startTimerIfNeeded):
9355 (WebCore::moveThumb):
9356 (WebCore::Scrollbar::handleMouseMoveEvent):
9357 (WebCore::Scrollbar::handleMousePressEvent):
9358 * platform/ScrollBar.h:
9359 (WebCore::Scrollbar::pressedPos):
9360 (WebCore::Scrollbar::pixelStep):
9361 (WebCore::Scrollbar::setPressedPos):
9362 * platform/ScrollbarTheme.h:
9363 (WebCore::ScrollbarTheme::thumbPosition):
9364 (WebCore::ScrollbarTheme::thumbLength):
9365 (WebCore::ScrollbarTheme::trackPosition):
9366 (WebCore::ScrollbarTheme::trackLength):
9367 * platform/ScrollbarThemeComposite.cpp:
9368 (WebCore::ScrollbarThemeComposite::trackPosition):
9369 * platform/ScrollbarThemeComposite.h:
9370 * platform/qt/PlatformScrollBarQt.cpp:
9371 (WebCore::PlatformScrollbar::PlatformScrollbar):
9372 (WebCore::):
9373 * platform/qt/ScrollbarThemeQt.cpp:
9374 (WebCore::styleOptionSlider):
9375 (WebCore::ScrollbarThemeQt::hitTest):
9376 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
9377 (WebCore::ScrollbarThemeQt::invalidatePart):
9378 (WebCore::ScrollbarThemeQt::thumbPosition):
9379 (WebCore::):
9380 * platform/qt/ScrollbarThemeQt.h:
9381 * platform/win/ScrollbarThemeSafari.cpp:
9382 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
9383 * platform/win/ScrollbarThemeSafari.h:
9384 * platform/win/ScrollbarThemeWin.cpp:
9385 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
9386 * platform/win/ScrollbarThemeWin.h:
9387
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +000093882008-09-15 David Smith <catfish.man@gmail.com>
9389
9390 Reviewed by Sam Weinig.
9391
9392 https://bugs.webkit.org/show_bug.cgi?id=20180
9393
9394 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
9395
9396 * GNUmakefile.am: Add CSSNthSelector
9397 * WebCore.pro: Add CSSNthSelector
9398 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
9399 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
9400 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
9401 * css/CSSNthSelector.cpp: Added.
9402 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
9403 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
9404 * css/CSSNthSelector.h: Added.
9405 (WebCore::CSSNthSelector::CSSNthSelector):
9406 (WebCore::CSSNthSelector::~CSSNthSelector):
9407 * css/CSSParser.cpp:
9408 (WebCore::CSSParser::createFloatingNthSelector):
9409 * css/CSSParser.h:
9410 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
9411 (WebCore::CSSSelector::CSSSelector):
9412 * css/CSSStyleSelector.cpp:
9413 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
9414
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +000094152008-09-15 Matt Lilek <webkit@mattlilek.com>
9416
9417 Reviewed by Tim Hatcher.
9418
9419 Clean up some inspector JS callbacks to remove an extra return.
9420
9421 * page/InspectorController.cpp:
9422 (WebCore::hideDOMNodeHighlight):
9423 (WebCore::loaded):
9424 (WebCore::unloading):
9425 (WebCore::attach):
9426 (WebCore::detach):
9427 (WebCore::startDebuggingAndReloadInspectedPage):
9428 (WebCore::stopDebugging):
9429 (WebCore::debuggerAttached):
9430 (WebCore::pauseOnExceptions):
9431 (WebCore::pauseInDebugger):
9432 (WebCore::resumeDebugger):
9433 (WebCore::stepOverStatementInDebugger):
9434 (WebCore::stepIntoStatementInDebugger):
9435 (WebCore::stepOutOfFunctionInDebugger):
9436 (WebCore::isWindowVisible):
9437 (WebCore::closeWindow):
9438
hyatt@apple.com8e809932008-09-16 02:29:09 +000094392008-09-15 Dave Hyatt <hyatt@apple.com>
9440
9441 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
9442 now share most of their code.
9443
9444 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
9445 also is never used in our code anyway.
9446
9447 Reviewed by Sam Weinig
9448
9449 * WebCore.vcproj/WebCore.vcproj:
9450 * platform/ScrollTypes.h:
9451 (WebCore::):
9452 * platform/ScrollbarThemeComposite.cpp:
9453 (WebCore::ScrollbarThemeComposite::splitTrack):
9454 (WebCore::ScrollbarThemeComposite::thumbLength):
9455 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
9456 * platform/ScrollbarThemeComposite.h:
9457 * platform/mac/PlatformScrollBarMac.mm:
9458 (NSControlSizeForScrollBarControlSize):
9459 * platform/win/PlatformScrollBar.h:
9460 * platform/win/PlatformScrollBarSafari.cpp: Removed.
9461 * platform/win/PlatformScrollBarWin.cpp:
9462 (WebCore::PlatformScrollbar::PlatformScrollbar):
9463 * platform/win/ScrollbarThemeSafari.cpp:
9464 (WebCore::ScrollbarTheme::nativeTheme):
9465 (WebCore::):
9466 (WebCore::scrollbarControlStateFromThemeState):
9467 (WebCore::ScrollbarThemeSafari::hasButtons):
9468 (WebCore::ScrollbarThemeSafari::hasThumb):
9469 (WebCore::buttonRepaintRect):
9470 (WebCore::ScrollbarThemeSafari::backButtonRect):
9471 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
9472 (WebCore::trackRepaintRect):
9473 (WebCore::ScrollbarThemeSafari::trackRect):
9474 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
9475 (WebCore::ScrollbarThemeSafari::paintTrack):
9476 (WebCore::ScrollbarThemeSafari::paintButton):
9477 (WebCore::ScrollbarThemeSafari::paintThumb):
9478 * platform/win/ScrollbarThemeSafari.h:
9479 * platform/win/ScrollbarThemeWin.cpp:
9480 * platform/win/ScrollbarThemeWin.h:
9481
cfleizach@apple.com0ce07032008-09-16 00:17:58 +000094822008-09-15 Chris Fleizach <cfleizach@apple.com>
9483
9484 Reviewed by Darin Adler, Beth Dakin
9485
9486 <rdar://problem/4003789> Expose lists as AXList
9487 <rdar://problem/5707399> VO: Definition lists not announced in Safari
9488
9489 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
9490 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
9491 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
9492 as does each <dd> tag ("definition")
9493
9494 Test: accessibility/lists.html
9495
9496 * GNUmakefile.am:
9497 * WebCore.pro:
9498 * WebCore.vcproj/WebCore.vcproj:
9499 * WebCore.xcodeproj/project.pbxproj:
9500 * WebCoreSources.bkl:
9501 * page/AXObjectCache.cpp:
9502 * page/AccessibilityList.cpp: Added.
9503 * page/AccessibilityList.h: Added.
9504 * page/AccessibilityObject.h:
9505 * page/AccessibilityRenderObject.cpp:
9506 * page/AccessibilityTable.cpp:
9507 * page/mac/AccessibilityObjectWrapper.mm:
9508 * page/mac/WebCoreViewFactory.h:
9509 * platform/LocalizedStrings.h:
9510 * platform/mac/LocalizedStringsMac.mm:
9511 * platform/qt/Localizations.cpp:
9512
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +000095132008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
9514
9515 Reviewed by Eric.
9516
9517 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
9518 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
9519
9520 Several renames:
9521 dispatchHTMLEvent -> dispatchEventForType
9522 setHTMLEventListener -> setEventListenerForType
9523 getHTMLEventListener -> eventListenerForType
9524 removeHTMLEventListener -> removeEventListenerForType
9525 isHTMLEventListener -> isAttachedToEventTargetNode
9526 ...
9527
9528 Similar renames for the dispatch/get/set/*Window*Event functions.
9529 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
9530
9531 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
9532 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
9533
9534 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
9535 SVG is able to use the code as well now. This affects most files in html/.
9536
9537 No functional changes.
9538
9539 * GNUmakefile.am:
9540 * WebCore.pro:
9541 * WebCore.vcproj/WebCore.vcproj:
9542 * WebCore.xcodeproj/project.pbxproj:
9543 * bindings/js/JSDOMWindowBase.cpp:
9544 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
9545 (WebCore::JSDOMWindowBase::setListener):
9546 (WebCore::JSDOMWindowBase::getListener):
9547 (WebCore::JSDOMWindowBase::findJSEventListener):
9548 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
9549 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
9550 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
9551 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
9552 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
9553 * bindings/js/JSDOMWindowBase.h:
9554 * bindings/js/JSEventListener.cpp:
9555 (WebCore::JSAbstractEventListener::handleEvent):
9556 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
9557 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
9558 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
9559 (WebCore::JSEventListener::JSEventListener):
9560 (WebCore::JSEventListener::~JSEventListener):
9561 (WebCore::JSLazyEventListener::JSLazyEventListener):
9562 (WebCore::eventParameterName):
9563 (WebCore::JSLazyEventListener::parseCode):
9564 (WebCore::getNodeEventListener):
9565 * bindings/js/JSEventListener.h:
9566 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
9567 (WebCore::JSUnprotectedEventListener::create):
9568 (WebCore::JSEventListener::create):
9569 (WebCore::JSLazyEventListener::):
9570 (WebCore::JSLazyEventListener::create):
9571 * bindings/js/JSEventTargetNode.cpp:
9572 (WebCore::JSEventTargetNode::setListener):
9573 (WebCore::JSEventTargetNode::getListener):
9574 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
9575 * bindings/js/JSSVGLazyEventListener.h: Removed.
9576 * bindings/js/ScriptController.cpp:
9577 (WebCore::ScriptController::createHTMLEventHandler):
9578 (WebCore::ScriptController::createSVGEventHandler):
9579 * dom/Document.cpp:
9580 (WebCore::Document::setFocusedNode):
9581 (WebCore::Document::handleWindowEvent):
9582 (WebCore::Document::setWindowEventListenerForType):
9583 (WebCore::Document::windowEventListenerForType):
9584 (WebCore::Document::removeWindowEventListenerForType):
9585 (WebCore::Document::addWindowEventListener):
9586 (WebCore::Document::hasWindowEventListener):
9587 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
9588 (WebCore::Document::createEventListener):
9589 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
9590 * dom/Document.h:
9591 * dom/EventListener.h:
9592 (WebCore::EventListener::isAttachedToEventTargetNode):
9593 * dom/EventTargetNode.cpp:
9594 (WebCore::EventTargetNode::dispatchFocusEvent):
9595 (WebCore::EventTargetNode::dispatchBlurEvent):
9596 (WebCore::EventTargetNode::dispatchEventForType):
9597 (WebCore::EventTargetNode::removeEventListenerForType):
9598 (WebCore::EventTargetNode::setEventListenerForType):
9599 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
9600 (WebCore::EventTargetNode::eventListenerForType):
9601 * dom/EventTargetNode.h:
9602 * dom/XMLTokenizer.cpp:
9603 (WebCore::XMLTokenizer::notifyFinished):
9604 * editing/ReplaceSelectionCommand.cpp:
9605 (WebCore::ReplacementFragment::ReplacementFragment):
9606 * html/HTMLBodyElement.cpp:
9607 (WebCore::HTMLBodyElement::parseMappedAttribute):
9608 * html/HTMLButtonElement.cpp:
9609 (WebCore::HTMLButtonElement::parseMappedAttribute):
9610 * html/HTMLElement.cpp:
9611 (WebCore::HTMLElement::parseMappedAttribute):
9612 (WebCore::HTMLElement::checkDTD):
9613 * html/HTMLElement.h:
9614 * html/HTMLFormControlElement.cpp:
9615 (WebCore::HTMLFormControlElement::onChange):
9616 * html/HTMLFormElement.cpp:
9617 (WebCore::HTMLFormElement::prepareSubmit):
9618 (WebCore::HTMLFormElement::reset):
9619 (WebCore::HTMLFormElement::parseMappedAttribute):
9620 * html/HTMLFrameElementBase.cpp:
9621 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
9622 * html/HTMLFrameSetElement.cpp:
9623 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
9624 * html/HTMLImageElement.cpp:
9625 (WebCore::HTMLImageElement::parseMappedAttribute):
9626 * html/HTMLImageLoader.cpp:
9627 (WebCore::HTMLImageLoader::dispatchLoadEvent):
9628 * html/HTMLInputElement.cpp:
9629 (WebCore::HTMLInputElement::parseMappedAttribute):
9630 (WebCore::HTMLInputElement::setValueFromRenderer):
9631 (WebCore::HTMLInputElement::onSearch):
9632 * html/HTMLMediaElement.cpp:
9633 (WebCore::HTMLMediaElement::asyncEventTimerFired):
9634 (WebCore::HTMLMediaElement::load):
9635 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
9636 (WebCore::HTMLMediaElement::setReadyState):
9637 (WebCore::HTMLMediaElement::seek):
9638 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
9639 (WebCore::HTMLMediaElement::willSaveToCache):
9640 * html/HTMLObjectElement.cpp:
9641 (WebCore::HTMLObjectElement::parseMappedAttribute):
9642 * html/HTMLScriptElement.cpp:
9643 (WebCore::HTMLScriptElement::parseMappedAttribute):
9644 (WebCore::HTMLScriptElement::dispatchLoadEvent):
9645 (WebCore::HTMLScriptElement::dispatchErrorEvent):
9646 * html/HTMLSelectElement.cpp:
9647 (WebCore::HTMLSelectElement::parseMappedAttribute):
9648 * html/HTMLTextAreaElement.cpp:
9649 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
9650 * html/HTMLTokenizer.cpp:
9651 (WebCore::HTMLTokenizer::notifyFinished):
9652 * page/AccessibilityRenderObject.cpp:
9653 (WebCore::AccessibilityRenderObject::mouseButtonListener):
9654 * page/EventHandler.cpp:
9655 (WebCore::EventHandler::canMouseDownStartSelect):
9656 (WebCore::EventHandler::canMouseDragExtendSelect):
9657 * page/Frame.cpp:
9658 (WebCore::Frame::sendScrollEvent):
9659 * page/Page.cpp:
9660 (WebCore::networkStateChanged):
9661 * rendering/RenderListBox.cpp:
9662 (WebCore::RenderListBox::valueChanged):
9663 * rendering/RenderTextControl.cpp:
9664 (WebCore::RenderTextControl::selectionChanged):
9665 * svg/SVGDocumentExtensions.cpp:
9666 * svg/SVGDocumentExtensions.h:
9667 * svg/SVGElement.cpp:
9668 (WebCore::SVGElement::parseMappedAttribute):
9669 (WebCore::SVGElement::finishParsingChildren):
9670 * svg/SVGElement.h:
9671 * svg/SVGSVGElement.cpp:
9672 (WebCore::SVGSVGElement::parseMappedAttribute):
9673 * svg/SVGSVGElement.h:
9674
hyatt@apple.com63739ce2008-09-15 23:44:10 +000096752008-09-15 Dave Hyatt <hyatt@apple.com>
9676
9677 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
9678 need to be converted.
9679
9680 Reviewed by Sam Weinig
9681
9682 * platform/ScrollBar.cpp:
9683 (WebCore::Scrollbar::Scrollbar):
9684 (WebCore::Scrollbar::updateThumbPosition):
9685 (WebCore::Scrollbar::updateThumbProportion):
9686 (WebCore::Scrollbar::autoscrollPressedPart):
9687 (WebCore::Scrollbar::startTimerIfNeeded):
9688 * platform/ScrollBar.h:
9689 * platform/ScrollbarTheme.h:
9690 (WebCore::ScrollbarTheme::invalidateParts):
9691 * platform/ScrollbarThemeComposite.cpp:
9692 (WebCore::ScrollbarThemeComposite::hitTest):
9693 (WebCore::ScrollbarThemeComposite::invalidatePart):
9694 (WebCore::ScrollbarThemeComposite::thumbPosition):
9695 (WebCore::ScrollbarThemeComposite::thumbLength):
9696 (WebCore::ScrollbarThemeComposite::trackLength):
9697 * platform/ScrollbarThemeComposite.h:
9698 * platform/win/PlatformScrollBarSafari.cpp:
9699 (WebCore::PlatformScrollbar::PlatformScrollbar):
9700 * platform/win/PlatformScrollBarWin.cpp:
9701 (WebCore::PlatformScrollbar::PlatformScrollbar):
9702
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +000097032008-09-15 David Smith <catfish.man@gmail.com>
9704
9705 "Just do it"'d by Mark Rowe
9706
9707 https://bugs.webkit.org/show_bug.cgi?id=20856
9708 Add missing license header
9709
9710 * dom/NodeRenderStyle.h:
9711
dino@apple.combf52b682008-09-15 21:31:43 +000097122008-09-15 Dean Jackson <dino@apple.com>
9713
9714 Reviewed by Tim Hatcher.
9715
dino@apple.com3db0b8f2008-09-15 21:52:23 +00009716 Add default constructor for ShadowData
9717 https://bugs.webkit.org/show_bug.cgi?id=20757
9718
9719 Test: transitions/shadow.html
9720
9721 * rendering/style/RenderStyle.h:
9722
97232008-09-15 Dean Jackson <dino@apple.com>
9724
9725 Reviewed by Tim Hatcher.
9726
dino@apple.com03abdce2008-09-15 21:40:52 +00009727 RenderStyle should update keyframes.
9728 http://bugs.webkit.org/show_bug.cgi?id=20756
9729
9730 * rendering/style/RenderStyle.cpp:
9731 (WebCore::StyleRareNonInheritedData::updateKeyframes):
9732
97332008-09-15 Dean Jackson <dino@apple.com>
9734
9735 Reviewed by Tim Hatcher.
9736
dino@apple.combf52b682008-09-15 21:31:43 +00009737 Unnecessary ASSERT in ImplicitAnimation destructor.
9738 https://bugs.webkit.org/show_bug.cgi?id=20817
9739
9740 * page/animation/ImplicitAnimation.cpp:
9741 (WebCore::ImplicitAnimation::~ImplicitAnimation):
9742
treat@webkit.org7e5abc22008-09-15 20:53:49 +000097432008-09-15 Adam Treat <treat@kde.org>
9744
9745 Reviewed by Simon.
9746
9747 Fix plugin extension info. It was returning the mimetype where the
9748 extension was given.
9749
9750 * plugins/qt/PluginPackageQt.cpp:
9751 (WebCore::PluginPackage::fetchInfo):
9752
dino@apple.comecc18dc2008-09-15 20:40:28 +000097532008-09-15 Dean Jackson <dino@apple.com>
9754
9755 Reviewed by Tim Hatcher
9756
9757 Coding style violation!!!! Cleanup AnimationBase.cpp
9758
9759 * page/animation/AnimationBase.cpp:
9760 (WebCore::blendFunc):
9761
hyatt@apple.comf4a9d932008-09-15 20:03:25 +000097622008-09-15 David Hyatt <hyatt@apple.com>
9763
9764 Move all hit testing code for scrollbars into the base class. Refactor
9765 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
9766 functions.
9767
9768 No platform is using this code yet. Although it has been moved and compiles
9769 (even on Mac), it is not being used on any platform.
9770
9771 Reviewed by Sam Weinig
9772
9773 * platform/ScrollBar.cpp:
9774 (WebCore::Scrollbar::autoscrollPressedPart):
9775 (WebCore::Scrollbar::startTimerIfNeeded):
9776 (WebCore::Scrollbar::handleMouseMoveEvent):
9777 (WebCore::Scrollbar::handleMouseOutEvent):
9778 (WebCore::Scrollbar::handleMouseReleaseEvent):
9779 (WebCore::Scrollbar::handleMousePressEvent):
9780 * platform/ScrollBar.h:
9781 (WebCore::Scrollbar::handleContextMenuEvent):
9782 * platform/ScrollbarTheme.h:
9783 (WebCore::ScrollbarTheme::hitTest):
9784 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
9785 (WebCore::ScrollbarTheme::invalidatePart):
9786 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
9787 (WebCore::ScrollbarTheme::centerOnThumb):
9788 (WebCore::ScrollbarTheme::thumbPosition):
9789 (WebCore::ScrollbarTheme::thumbLength):
9790 (WebCore::ScrollbarTheme::trackLength):
9791 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
9792 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
9793 * platform/Widget.h:
9794 (WebCore::Widget::parent):
9795 * platform/mac/PlatformScrollBar.h:
9796 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
9797 (WebCore::PlatformScrollbar::handleMouseOutEvent):
9798 (WebCore::PlatformScrollbar::handleMousePressEvent):
9799 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
9800 * platform/mac/WidgetMac.mm:
9801 (WebCore::Widget::convertFromContainingWindow):
9802 * platform/win/ScrollbarThemeWin.cpp:
9803 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
9804 * platform/win/ScrollbarThemeWin.h:
9805
mitz@apple.comd17dc392008-09-15 18:48:20 +000098062008-09-15 Dan Bernstein <mitz@apple.com>
9807
9808 Reviewed by Sam Weinig.
9809
9810 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
9811
9812 Cache the next breakable position for text nodes in InlineIterator.
9813
9814 * rendering/bidi.cpp:
9815 (WebCore::InlineIterator::InlineIterator):
9816 (WebCore::InlineIterator::increment):
9817 (WebCore::RenderBlock::findNextLineBreak):
9818
simon.fraser@apple.comda604642008-09-15 17:10:48 +000098192008-09-15 Simon Fraser <simon.fraser@apple.com>
9820
9821 Reviewed by Dan Bernstein
9822
9823 Fix assertion and integral pixel issue when creating subimages.
9824 https://bugs.webkit.org/show_bug.cgi?id=20786
9825
9826 * platform/graphics/cg/ImageCG.cpp:
9827 (WebCore::BitmapImage::draw):
9828
vestbo@webkit.orge7eda302008-09-15 12:43:37 +000098292008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9830
9831 Reviewed by Simon.
9832
9833 Implment seek() and clean up and improve debugging output
9834
9835 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9836 (debugMediaObject):
9837 (WebCore::MediaPlayerPrivate::seek):
9838 (WebCore::MediaPlayerPrivate::setVolume):
9839 (WebCore::MediaPlayerPrivate::setMuted):
9840 (WebCore::MediaPlayerPrivate::updateStates):
9841 (WebCore::MediaPlayerPrivate::naturalSize):
9842 (WebCore::MediaPlayerPrivate::paint):
9843 (WebCore::MediaPlayerPrivate::stateChanged):
9844 (WebCore::MediaPlayerPrivate::tick):
9845
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +000098462008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
9847
9848 Reviewed by Simon.
9849
9850 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
9851
9852 m_mediaObject, m_audioOutput, m_videoWidget get created in the
9853 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
9854 only check if we use the MediaPlayerPrivate after it has been deleted.
9855
9856 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
9857
9858 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9859 (WebCore::MediaPlayerPrivate::play):
9860 (WebCore::MediaPlayerPrivate::setVolume):
9861 (WebCore::MediaPlayerPrivate::updateStates):
9862
andersca@apple.com18d62682008-09-15 11:35:22 +000098632008-09-15 Anders Carlsson <andersca@apple.com>
9864
9865 Reviewed by Maciej.
9866
9867 <rdar://problem/6163988>
9868 https://bugs.webkit.org/show_bug.cgi?id=20457
9869 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
9870
9871 Check the width and height and throw an exception if any of them are 0.
9872
9873 * html/CanvasRenderingContext2D.cpp:
9874 (WebCore::CanvasRenderingContext2D::createPattern):
9875
vestbo@webkit.org3a27e182008-09-15 11:28:59 +000098762008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9877
9878 Reviewed by Simon.
9879
9880 Render media element controls with antialiasing enabled
9881
9882 * platform/qt/RenderThemeQt.cpp:
9883 (WebCore::RenderThemeQt::paintMediaMuteButton):
9884 (WebCore::RenderThemeQt::paintMediaPlayButton):
9885 (WebCore::RenderThemeQt::paintMediaSliderTrack):
9886 (WebCore::RenderThemeQt::paintMediaSliderThumb):
9887
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +000098882008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
9889
9890 Reviewed by Simon.
9891
9892 Upon non fatal error, switch to the pause state (so that playback can continue)
9893
9894 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9895 (WebCore::MediaPlayerPrivate::updateStates):
9896
vestbo@webkit.org12a59572008-09-15 11:16:13 +000098972008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9898
9899 Reviewed by Simon.
9900
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +00009901 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
9902
9903 * WebCore.pro:
9904
99052008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
9906
9907 Reviewed by Simon.
9908
vestbo@webkit.org12a59572008-09-15 11:16:13 +00009909 Make QtInstance::create() private and fix caching
9910
9911 * bindings/js/ScriptControllerQt.cpp:
9912 (WebCore::ScriptController::createScriptInstanceForWidget):
9913 * bridge/qt/qt_instance.cpp:
9914 (JSC::Bindings::QtInstance::getQtInstance):
9915 (JSC::Bindings::QtInstance::getRuntimeObject):
9916 * bridge/qt/qt_instance.h:
9917 (JSC::Bindings::QtInstance::create):
9918 * bridge/qt/qt_runtime.cpp:
9919 (JSC::Bindings::convertQVariantToValue):
9920 (JSC::Bindings::QtConnectionObject::execute):
9921
dsmith@webkit.orgaba15862008-09-15 08:45:35 +000099222008-09-15 David Smith <catfish.man@gmail.com>
9923
9924 Reviewed by Dave Hyatt.
9925
9926 https://bugs.webkit.org/show_bug.cgi?id=20180
9927
9928 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
9929 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
9930 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
9931
9932 * css/CSSStyleSelector.cpp:
9933 (WebCore::CSSStyleSelector::CSSStyleSelector):
9934 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
9935 * css/CSSStyleSelector.h:
9936
hyatt@apple.com065494e2008-09-15 06:33:40 +000099372008-09-14 Dave Hyatt <hyatt@apple.com>
9938
9939 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
9940 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
9941
9942 Reviewed by Sam Weinig
9943
9944 * platform/ScrollBar.h:
9945 (WebCore::Scrollbar::client):
9946 (WebCore::Scrollbar::currentPos):
9947 (WebCore::Scrollbar::totalSize):
9948 * platform/ScrollbarTheme.h:
9949 * platform/ScrollbarThemeComposite.cpp:
9950 (WebCore::pageForScrollView):
9951 (WebCore::ScrollbarThemeComposite::paint):
9952 * platform/ScrollbarThemeComposite.h:
9953 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
9954 * platform/win/PlatformScrollBar.h:
9955 * platform/win/PlatformScrollBarSafari.cpp:
9956 * platform/win/PlatformScrollBarWin.cpp:
9957 * platform/win/ScrollbarThemeSafari.h:
9958 (WebCore::ScrollbarThemeSafari::hasButtons):
9959 (WebCore::ScrollbarThemeSafari::hasThumb):
9960 (WebCore::ScrollbarThemeSafari::backButtonRect):
9961 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
9962 (WebCore::ScrollbarThemeSafari::trackRect):
9963 (WebCore::ScrollbarThemeSafari::splitTrack):
9964 (WebCore::ScrollbarThemeSafari::paintTrack):
9965 (WebCore::ScrollbarThemeSafari::paintButton):
9966 (WebCore::ScrollbarThemeSafari::paintThumb):
9967 * platform/win/ScrollbarThemeWin.cpp:
9968 (WebCore::isRunningOnVistaOrLater):
9969 (WebCore::checkAndInitScrollbarTheme):
9970 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
9971 (WebCore::ScrollbarThemeWin::themeChanged):
9972 (WebCore::ScrollbarThemeWin::hasThumb):
9973 (WebCore::ScrollbarThemeWin::backButtonRect):
9974 (WebCore::ScrollbarThemeWin::forwardButtonRect):
9975 (WebCore::ScrollbarThemeWin::trackRect):
9976 (WebCore::ScrollbarThemeWin::splitTrack):
9977 (WebCore::ScrollbarThemeWin::paintTrack):
9978 (WebCore::ScrollbarThemeWin::paintButton):
9979 (WebCore::gripperRect):
9980 (WebCore::paintGripper):
9981 (WebCore::ScrollbarThemeWin::paintThumb):
9982 (WebCore::ScrollbarThemeWin::thumbPosition):
9983 (WebCore::ScrollbarThemeWin::thumbLength):
9984 (WebCore::ScrollbarThemeWin::trackLength):
9985 * platform/win/ScrollbarThemeWin.h:
9986 (WebCore::ScrollbarThemeWin::hasButtons):
9987 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
9988
timothy@apple.comd91172c2008-09-15 05:38:00 +000099892008-09-14 Anthony Ricaud <rik24d@gmail.com>
9990
9991 Moving all resource graphs under the same container for future scalable feature.
9992 This is a speedup on resize but maybe a loss on changing the sorting function.
9993
9994 https://bugs.webkit.org/show_bug.cgi?id=20555
9995
9996 Reviewed by Timothy Hatcher.
9997
9998 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
9999 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
10000 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
10001
ap@webkit.orga14074b2008-09-15 04:52:44 +0000100022008-09-14 Alexey Proskuryakov <ap@webkit.org>
10003
10004 Reviewed by Maciej Stachowiak.
10005
10006 https://bugs.webkit.org/show_bug.cgi?id=20738
10007 compareBoundaryPoints gives incorrect results
10008
10009 Test: fast/dom/Range/compareBoundaryPoints-2.html
10010
10011 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
10012 and END_TO_START.
10013 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
10014
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000100152008-09-14 Maciej Stachowiak <mjs@apple.com>
10016
10017 Unreviewed build fix.
10018
mjs@apple.comcbb31e52008-09-15 03:10:35 +000010019 Trying again.
10020
10021 * bindings/js/JSQuarantinedObjectWrapper.cpp:
10022 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
10023
100242008-09-14 Maciej Stachowiak <mjs@apple.com>
10025
10026 Unreviewed build fix.
10027
mjs@apple.com285bdcf2008-09-15 02:55:16 +000010028 Blind attempt to fix build. Correct parameters for hasInstance.
10029
10030 * bindings/js/JSQuarantinedObjectWrapper.cpp:
10031 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
10032 * bindings/js/JSQuarantinedObjectWrapper.h:
10033
mitz@apple.come85f7362008-09-15 02:23:24 +0000100342008-09-14 Dan Bernstein <mitz@apple.com>
10035
10036 Rubber-stamped by Sam Weinig.
10037
10038 - revert <http://trac.webkit.org/changeset/36382> because it exposed
10039 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
10040 on Tiger.
10041
10042 * platform/graphics/mac/FontCacheMac.mm:
10043 (WebCore::FontCache::getFontDataForCharacters):
10044 (WebCore::FontCache::getLastResortFallbackFont):
10045
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000100462008-09-14 Dave Hyatt <hyatt@apple.com>
10047
10048 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
10049 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
10050 theme.
10051
10052 Reviewed by Sam Weinig
10053
10054 * WebCore.vcproj/WebCore.vcproj:
10055 * platform/win/ScrollbarThemeSafari.h:
10056 * platform/win/ScrollbarThemeWin.h:
10057
alp@webkit.orgd694e942008-09-15 00:20:15 +0000100582008-09-14 Alp Toker <alp@nuanti.com>
10059
10060 https://bugs.webkit.org/show_bug.cgi?id=20320
10061 [GTK] A white rectangle is visible behind widgets with rounded corners
10062
10063 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
10064 style exempt).
10065
10066 Requested by Michael Monreal.
10067
10068 * platform/gtk/RenderThemeGtk.cpp:
10069 (WebCore::RenderThemeGtk::RenderThemeGtk):
10070 * platform/gtk/gtk2drawing.c:
10071 (moz_gtk_set_widget_name):
10072 (ensure_window_widget):
10073 (setup_widget_prototype):
10074 (ensure_button_arrow_widget):
10075 (moz_gtk_get_combo_box_inner_button):
10076 (moz_gtk_get_combo_box_button_inner_widgets):
10077 (ensure_combo_box_widgets):
10078 (moz_gtk_get_combo_box_entry_inner_widgets):
10079 (moz_gtk_get_combo_box_entry_arrow):
10080 (ensure_combo_box_entry_widgets):
10081 (ensure_toolbar_widget):
10082 (ensure_tooltip_widget):
10083 (ensure_menu_bar_widget):
10084 (ensure_menu_bar_item_widget):
10085 (ensure_menu_popup_widget):
10086 (ensure_menu_item_widget):
10087 (ensure_image_menu_item_widget):
10088 (ensure_menu_separator_widget):
10089 (ensure_check_menu_item_widget):
10090 (ensure_tree_header_cell_widget):
10091 (ensure_scrolled_window_widget):
10092 (moz_gtk_button_paint):
10093 (moz_gtk_init):
10094 (moz_gtk_button_get_inner_border):
10095 (moz_gtk_toggle_paint):
10096 (calculate_button_inner_rect):
10097 (calculate_arrow_rect):
10098 (moz_gtk_scrollbar_button_paint):
10099 (moz_gtk_scrollbar_thumb_paint):
10100 (moz_gtk_caret_paint):
10101 (moz_gtk_entry_paint):
10102 (moz_gtk_treeview_paint):
10103 (moz_gtk_tree_header_cell_paint):
10104 (moz_gtk_combo_box_paint):
10105 (moz_gtk_downarrow_paint):
10106 (moz_gtk_combo_box_entry_button_paint):
10107 (moz_gtk_toolbar_paint):
10108 (moz_gtk_tab_scroll_arrow_paint):
10109 (moz_gtk_menu_bar_paint):
10110 (moz_gtk_menu_item_paint):
10111 (moz_gtk_get_widget_border):
10112 (moz_gtk_get_combo_box_entry_button_size):
10113 (moz_gtk_get_tab_scroll_arrow_size):
10114 (moz_gtk_get_downarrow_size):
10115 (moz_gtk_images_in_menus):
10116 (moz_gtk_widget_paint):
10117 (moz_gtk_shutdown):
10118 * platform/gtk/gtkdrawing.h:
10119
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000101202008-09-14 David Hyatt <hyatt@apple.com>
10121
10122 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
10123 painting. Mac and Gtk themes don't do anything and just let the
10124 underlying widget paint. Qt now uses the theme to paint. wx doesn't
10125 do anything yet.
10126
10127 Reviewed by Sam Weinig
10128
10129 * platform/ScrollBar.cpp:
10130 (WebCore::Scrollbar::paint):
10131 * platform/ScrollBar.h:
10132 (WebCore::Scrollbar::value):
10133 (WebCore::Scrollbar::visibleSize):
10134 (WebCore::Scrollbar::maximum):
10135 (WebCore::Scrollbar::lineStep):
10136 (WebCore::Scrollbar::pageStep):
10137 (WebCore::Scrollbar::pixelStep):
10138 (WebCore::Scrollbar::pressedPart):
10139 (WebCore::Scrollbar::hoveredPart):
10140 (WebCore::Scrollbar::theme):
10141 * platform/ScrollbarTheme.h:
10142 (WebCore::ScrollbarTheme::paint):
10143 (WebCore::ScrollbarTheme::scrollbarThickness):
10144 (WebCore::ScrollbarTheme::supportsControlTints):
10145 (WebCore::ScrollbarTheme::themeChanged):
10146 * platform/gtk/PlatformScrollBar.h:
10147 * platform/gtk/PlatformScrollBarGtk.cpp:
10148 * platform/mac/PlatformScrollBar.h:
10149 * platform/mac/PlatformScrollBarMac.mm:
10150 * platform/qt/PlatformScrollBar.h:
10151 * platform/qt/PlatformScrollBarQt.cpp:
10152 * platform/qt/ScrollbarThemeQt.cpp:
10153 (WebCore::styleOptionSlider):
10154 * platform/qt/ScrollbarThemeQt.h:
10155 (WebCore::ScrollbarThemeQt::paint):
10156 * platform/win/PlatformScrollBarSafari.cpp:
10157 (WebCore::PlatformScrollbar::paint):
10158 * platform/win/ScrollbarThemeSafari.h:
10159 (WebCore::ScrollbarThemeSafari::supportsControlTints):
10160 * platform/wx/PlatformScrollBar.h:
10161 * platform/wx/TemporaryLinkStubs.cpp:
10162 (PlatformScrollbar::~PlatformScrollbar):
10163
weinig@apple.comcb93e262008-09-14 21:36:11 +0000101642008-09-14 Sam Weinig <sam@webkit.org>
10165
weinig@apple.com6ef2b872008-09-14 22:15:28 +000010166 Qt build fix.
10167
10168 * platform/qt/PlatformScrollBarQt.cpp:
10169
101702008-09-14 Sam Weinig <sam@webkit.org>
10171
weinig@apple.com064861a2008-09-14 22:12:49 +000010172 Reviewed by Mark Rowe.
10173
10174 Remove extraneous semicolons.
10175
10176 * bindings/scripts/CodeGeneratorObjC.pm:
10177 * html/HTMLLinkElement.cpp:
10178 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
10179 * html/HTMLScriptElement.cpp:
10180 (WebCore::HTMLScriptElement::charsetAttributeValue):
10181 (WebCore::HTMLScriptElement::typeAttributeValue):
10182 * platform/graphics/qt/GradientQt.cpp:
10183 (WebCore::Gradient::platformGradient):
10184 * platform/qt/ScrollViewQt.cpp:
10185 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
10186 * platform/win/ScrollViewWin.cpp:
10187 (WebCore::ScrollView::updateScrollbars):
10188 * rendering/RenderBlock.cpp:
10189 (WebCore::RenderBlock::paintEllipsisBoxes):
10190 * svg/SVGPathSegList.cpp:
10191 (WebCore::SVGPathSegList::toPathData):
10192
101932008-09-14 Sam Weinig <sam@webkit.org>
10194
weinig@apple.comcb93e262008-09-14 21:36:11 +000010195 Qt build fix.
10196
weinig@apple.com31311a62008-09-14 22:00:15 +000010197 * platform/qt/ScrollViewQt.cpp:
10198 (WebCore::ScrollView::updateScrollbars):
10199
102002008-09-14 Sam Weinig <sam@webkit.org>
10201
10202 Qt build fix.
10203
weinig@apple.comcb93e262008-09-14 21:36:11 +000010204 * platform/qt/PlatformScrollBarQt.cpp:
10205 (WebCore::PlatformScrollbar::PlatformScrollbar):
10206 (WebCore::PlatformScrollbar::paint):
10207
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000102082008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
10209
10210 Gtk build fix, not reviewed.
10211
10212 * platform/gtk/PlatformScrollBarGtk.cpp:
10213 (PlatformScrollbar::PlatformScrollbar):
10214 * platform/gtk/ScrollViewGtk.cpp:
10215 (WebCore::ScrollView::updateScrollbars):
10216
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000102172008-09-13 Dave Hyatt <hyatt@apple.com>
10218
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000010219 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
10220 to set the dimensions of a scrollbar.
10221
10222 Reviewed by Sam Weinig
10223
10224 * platform/ScrollBar.h:
10225 * platform/gtk/PlatformScrollBar.h:
10226 * platform/gtk/PlatformScrollBarGtk.cpp:
10227 (PlatformScrollbar::setFrameGeometry):
10228 * platform/gtk/ScrollViewGtk.cpp:
10229 (WebCore::ScrollView::updateScrollbars):
10230 * platform/mac/PlatformScrollBarMac.mm:
10231 * platform/qt/PlatformScrollBarQt.cpp:
10232 * platform/qt/ScrollViewQt.cpp:
10233 (WebCore::ScrollView::updateScrollbars):
10234 * platform/win/PlatformScrollBar.h:
10235 * platform/win/PlatformScrollBarSafari.cpp:
10236 (WebCore::PlatformScrollbar::PlatformScrollbar):
10237 (WebCore::PlatformScrollbar::setFrameGeometry):
10238 * platform/win/PlatformScrollBarWin.cpp:
10239 (WebCore::PlatformScrollbar::PlatformScrollbar):
10240 (WebCore::PlatformScrollbar::setFrameGeometry):
10241 * platform/win/PopupMenuWin.cpp:
10242 (WebCore::PopupWndProc):
10243 * platform/win/ScrollViewWin.cpp:
10244 (WebCore::ScrollView::updateScrollbars):
10245 * platform/wx/PlatformScrollBar.h:
10246 * platform/wx/TemporaryLinkStubs.cpp:
10247 (PlatformScrollbar::updateThumbProportion):
10248 * rendering/RenderLayer.cpp:
10249 (WebCore::RenderLayer::positionOverflowControls):
10250 * rendering/RenderListBox.cpp:
10251 (WebCore::RenderListBox::paintScrollbar):
10252
102532008-09-13 Dave Hyatt <hyatt@apple.com>
10254
hyatt@apple.comed9485a2008-09-14 01:06:57 +000010255 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
10256
10257 Reviewed by Sam Weinig
10258
10259 * platform/ScrollBar.h:
10260 * platform/gtk/PlatformScrollBar.h:
10261 * platform/gtk/PlatformScrollBarGtk.cpp:
10262 * platform/mac/PlatformScrollBar.h:
10263 * platform/mac/PlatformScrollBarMac.mm:
10264 * platform/win/PlatformScrollBar.h:
10265 * platform/win/PlatformScrollBarSafari.cpp:
10266 * platform/win/PlatformScrollBarWin.cpp:
10267 * platform/wx/PlatformScrollBar.h:
10268 * platform/wx/TemporaryLinkStubs.cpp:
10269 (PlatformScrollbar::~PlatformScrollbar):
10270
102712008-09-13 Dave Hyatt <hyatt@apple.com>
10272
hyatt@apple.com64d98032008-09-14 00:58:29 +000010273 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
10274 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
10275
10276 Reviewed by Sam Weinig
10277
10278 * platform/ScrollBar.h:
10279 * platform/gtk/PlatformScrollBar.h:
10280 * platform/gtk/PlatformScrollBarGtk.cpp:
10281 * platform/mac/PlatformScrollBar.h:
10282 * platform/mac/PlatformScrollBarMac.mm:
10283 * platform/win/PlatformScrollBarSafari.cpp:
10284 * platform/win/PlatformScrollBarWin.cpp:
10285 * platform/wx/PlatformScrollBar.h:
10286 * platform/wx/TemporaryLinkStubs.cpp:
10287 (PlatformScrollbar::~PlatformScrollbar):
10288
102892008-09-13 Dave Hyatt <hyatt@apple.com>
10290
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000010291 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
10292
10293 Reviewed by Sam Weinig
10294
10295 * platform/ScrollBar.cpp:
10296 (WebCore::Scrollbar::~Scrollbar):
10297 * platform/ScrollBar.h:
10298 * platform/qt/PlatformScrollBarQt.cpp:
10299 (WebCore::PlatformScrollbar::~PlatformScrollbar):
10300 * platform/win/PlatformScrollBarSafari.cpp:
10301 (WebCore::PlatformScrollbar::~PlatformScrollbar):
10302 * platform/win/PlatformScrollBarWin.cpp:
10303 (WebCore::PlatformScrollbar::~PlatformScrollbar):
10304
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000103052008-09-13 David Hyatt <hyatt@apple.com>
10306
10307 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
10308 function on Scrollbar. Fixes Qt build bustage.
10309
10310 Reviewed by Sam Weinig
10311
10312 * platform/ScrollBar.h:
10313 (WebCore::Scrollbar::orientation):
10314 (WebCore::Scrollbar::value):
10315 (WebCore::Scrollbar::maximum):
10316 * platform/qt/PlatformScrollBar.h:
10317
mitz@apple.comb3d22882008-09-13 23:06:59 +0000103182008-09-13 Dan Bernstein <mitz@apple.com>
10319
10320 Reviewed by Sam Weinig.
10321
10322 - use the LastResort font for missing glyphs instead of showing the
10323 primary font's missing glyph
10324
10325 Test: platform/mac/fast/text/last-resort-font.html
10326
10327 * platform/graphics/mac/FontCacheMac.mm:
10328 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
10329 last resort font if a substitute font cannot be found.
10330 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
10331 comment (the user's preferred standard font is included in the search
10332 thanks to code in FontCache::getFontData()) and changed to return the
10333 LastResort font.
10334
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000103352008-09-13 Dave Hyatt <hyatt@apple.com>
10336
10337 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
10338 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
10339 patches will move rendering and hit testing functionality into this class.
10340
10341 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
10342 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
10343
10344 Reviewed by Sam Weinig
10345
10346 * GNUmakefile.am:
10347 * WebCore.pro:
10348 * WebCore.vcproj/WebCore.vcproj:
10349 * platform/ScrollBar.cpp:
10350 (WebCore::Scrollbar::Scrollbar):
10351 * platform/ScrollBar.h:
10352 * platform/ScrollbarTheme.h: Added.
10353 (WebCore::ScrollbarTheme::~ScrollbarTheme):
10354 (WebCore::ScrollbarTheme::scrollbarThickness):
10355 (WebCore::ScrollbarTheme::themeChanged):
10356 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
10357 (WebCore::ScrollbarTheme::nativeTheme):
10358 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
10359 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
10360 * platform/gtk/ScrollbarThemeGtk.h: Added.
10361 * platform/mac/PlatformScrollBar.h:
10362 * platform/mac/ScrollbarThemeMac.cpp: Added.
10363 (WebCore::ScrollbarTheme::nativeTheme):
10364 (WebCore::):
10365 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
10366 (WebCore::ScrollbarThemeMac::scrollbarThickness):
10367 * platform/mac/ScrollbarThemeMac.h: Added.
10368 * platform/qt/PlatformScrollBarQt.cpp:
10369 * platform/qt/ScrollbarThemeQt.cpp: Added.
10370 (WebCore::ScrollbarTheme::nativeTheme):
10371 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
10372 (WebCore::ScrollbarThemeQt::scrollbarThickness):
10373 * platform/qt/ScrollbarThemeQt.h: Added.
10374 * platform/win/PlatformScrollBar.h:
10375 * platform/win/PlatformScrollBarSafari.cpp:
10376 * platform/win/PlatformScrollBarWin.cpp:
10377 * platform/win/PopupMenuWin.cpp:
10378 (WebCore::PopupMenu::calculatePositionAndSize):
10379 * platform/win/ScrollViewWin.cpp:
10380 (WebCore::ScrollView::updateScrollbars):
10381 (WebCore::ScrollView::themeChanged):
10382 * platform/win/ScrollbarThemeSafari.cpp: Added.
10383 (WebCore::ScrollbarTheme::nativeTheme):
10384 (WebCore::):
10385 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
10386 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
10387 * platform/win/ScrollbarThemeSafari.h: Added.
10388 * platform/win/ScrollbarThemeWin.cpp: Added.
10389 (WebCore::ScrollbarTheme::nativeTheme):
10390 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
10391 (WebCore::ScrollbarThemeWin::scrollbarThickness):
10392 (WebCore::ScrollbarThemeWin::themeChanged):
10393 * platform/win/ScrollbarThemeWin.h: Added.
10394 * platform/wx/TemporaryLinkStubs.cpp:
10395 (ScrollbarTheme::nativeTheme):
10396 * rendering/RenderLayer.cpp:
10397 (WebCore::scrollCornerRect):
10398 * rendering/RenderTextControl.cpp:
10399 (WebCore::RenderTextControl::calcHeight):
10400 (WebCore::RenderTextControl::calcPrefWidths):
10401
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000104022008-09-13 Chris Fleizach <cfleizach@apple.com>
10403
10404 Reviewed by Timothy Hatcher.
10405
10406 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
10407
10408 * page/mac/AccessibilityObjectWrapper.mm:
10409 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
10410
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000104112008-09-13 Dan Bernstein <mitz@apple.com>
10412
10413 Reviewed by Timothy Hatcher.
10414
10415 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
10416
10417 No regression test because the back/forward cache is disabled in DumpRenderTree
10418
10419 * rendering/RenderContainer.cpp:
10420 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
10421 is being destroyed.
10422
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000104232008-09-13 Kevin Ollivier <kevino@theolliviers.com>
10424
10425 wx build fixes for new methods recently introduced.
10426
10427 * platform/graphics/wx/AffineTransformWx.cpp:
10428 (WebCore::AffineTransform::AffineTransform):
10429 (WebCore::AffineTransform::setMatrix):
10430 (WebCore::AffineTransform::setA):
10431 (WebCore::AffineTransform::setB):
10432 (WebCore::AffineTransform::setC):
10433 (WebCore::AffineTransform::setD):
10434 (WebCore::AffineTransform::setE):
10435 (WebCore::AffineTransform::setF):
10436 * platform/wx/LocalizedStringsWx.cpp:
10437 (WebCore::AXDefinitionListTermText):
10438 (WebCore::AXDefinitionListDefinitionText):
10439
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000104402008-09-12 Dave Hyatt <hyatt@apple.com>
10441
10442 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
10443 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
10444 "PlatformScrollbar."
10445
10446 Reviewed by Sam Weinig
10447
10448 * WebCore.vcproj/WebCore.vcproj:
10449 * editing/EditorCommand.cpp:
10450 * page/EventHandler.cpp:
10451 (WebCore::EventHandler::selectCursor):
10452 (WebCore::EventHandler::handleMousePressEvent):
10453 (WebCore::EventHandler::handleMouseMoveEvent):
10454 * page/EventHandler.h:
10455 * page/MouseEventWithHitTestResults.cpp:
10456 (WebCore::MouseEventWithHitTestResults::scrollbar):
10457 * page/MouseEventWithHitTestResults.h:
10458 * page/gtk/EventHandlerGtk.cpp:
10459 (WebCore::EventHandler::passMousePressEventToScrollbar):
10460 * page/mac/EventHandlerMac.mm:
10461 (WebCore::EventHandler::passMousePressEventToScrollbar):
10462 * page/qt/EventHandlerQt.cpp:
10463 (WebCore::EventHandler::passMousePressEventToScrollbar):
10464 * page/win/EventHandlerWin.cpp:
10465 (WebCore::EventHandler::passMousePressEventToScrollbar):
10466 * page/wx/EventHandlerWx.cpp:
10467 (WebCore::EventHandler::passMousePressEventToScrollbar):
10468 * platform/PopupMenu.h:
10469 * platform/ScrollBar.cpp:
10470 (WebCore::Scrollbar::Scrollbar):
10471 (WebCore::Scrollbar::autoscrollTimerFired):
10472 (WebCore::Scrollbar::autoscrollPressedPart):
10473 (WebCore::Scrollbar::startTimerIfNeeded):
10474 (WebCore::Scrollbar::stopTimerIfNeeded):
10475 (WebCore::Scrollbar::pressedPartScrollDirection):
10476 (WebCore::Scrollbar::pressedPartScrollGranularity):
10477 * platform/ScrollBar.h:
10478 (WebCore::Scrollbar::handleMousePressEvent):
10479 (WebCore::Scrollbar::invalidatePart):
10480 (WebCore::Scrollbar::thumbUnderMouse):
10481 * platform/ScrollView.h:
10482 * platform/ScrollbarClient.h: Added.
10483 (WebCore::ScrollbarClient::~ScrollbarClient):
10484 * platform/gtk/ScrollViewGtk.cpp:
10485 (WebCore::ScrollView::scrollbarUnderMouse):
10486 * platform/qt/PlatformScrollBar.h:
10487 * platform/qt/PlatformScrollBarQt.cpp:
10488 (WebCore::PlatformScrollbar::PlatformScrollbar):
10489 (WebCore::scrollbarPart):
10490 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
10491 (WebCore::PlatformScrollbar::handleMouseOutEvent):
10492 (WebCore::PlatformScrollbar::handleMousePressEvent):
10493 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
10494 * platform/qt/ScrollViewQt.cpp:
10495 (WebCore::ScrollView::scrollbarUnderMouse):
10496 (WebCore::ScrollView::wheelEvent):
10497 * platform/win/PlatformScrollBar.h:
10498 * platform/win/PlatformScrollBarSafari.cpp:
10499 (WebCore::PlatformScrollbar::PlatformScrollbar):
10500 * platform/win/PlatformScrollBarWin.cpp:
10501 (WebCore::PlatformScrollbar::PlatformScrollbar):
10502 * platform/win/ScrollViewWin.cpp:
10503 (WebCore::ScrollView::scrollbarUnderMouse):
10504 * rendering/HitTestResult.cpp:
10505 (WebCore::HitTestResult::setScrollbar):
10506 * rendering/HitTestResult.h:
10507 (WebCore::HitTestResult::scrollbar):
10508 * rendering/RenderLayer.cpp:
10509 (WebCore::RenderLayer::hitTestOverflowControls):
10510 * rendering/RenderLayer.h:
10511 * rendering/RenderListBox.h:
10512
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000105132008-09-12 Steve Falkenburg <sfalken@apple.com>
10514
10515 Fix Mac build.
10516
10517 * css/CSSStyleSelector.cpp:
10518 (WebCore::getTransformOperationType):
10519
dino@apple.comf937dc62008-09-13 00:45:39 +0000105202008-09-12 Chris Marrin <cmarrin@apple.com>
10521
10522 Reviewed by Dave Hyatt.
10523
10524 Make transform animation behavior match spec
10525 https://bugs.webkit.org/show_bug.cgi?id=20770
10526
10527 Tests: transitions/transform-op-list-match.html
10528 transitions/transform-op-list-no-match.html
10529
10530 * css/CSSStyleSelector.cpp:
10531 * css/CSSStyleSelector.h:
10532 * page/animation/AnimationBase.cpp:
10533 * page/animation/AnimationBase.h:
10534 * page/animation/ImplicitAnimation.cpp:
10535 * page/animation/ImplicitAnimation.h:
10536 * page/animation/KeyframeAnimation.cpp:
10537 * page/animation/KeyframeAnimation.h:
10538 * rendering/RenderLayer.cpp:
10539 * rendering/style/RenderStyle.cpp:
10540 * rendering/style/RenderStyle.h:
10541
timothy@apple.comab374dd2008-09-12 22:43:38 +0000105422008-09-12 Ojan Vafai <ojan@chromium.org>
10543
10544 Properly escape contents of links added to the inspector.
10545 For now, just build the link with the DOM and get the
10546 outerHTML. Eventually, we probably just want to do
10547 this entirely with the DOM.
10548
10549 Reviewed by Timothy Hatcher.
10550
10551 https://bugs.webkit.org/show_bug.cgi?id=20684
10552
10553 * manual-tests/inspector/escape-links.html: Added.
10554 * page/inspector/StylesSidebarPane.js:
10555 * page/inspector/inspector.js:
10556 * page/inspector/utilities.js:
10557
adele@apple.com87fb3c72008-09-12 22:14:13 +0000105582008-09-12 Adele Peterson <adele@apple.com>
10559
10560 Reviewed by John Sullivan and Kevin McCullough.
10561
10562 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
10563
10564 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
10565 Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will
10566 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
10567
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000105682008-09-12 Kevin McCullough <kmccullough@apple.com>
10569
10570 RS by Tim .
10571
10572 Re-introducing the code since it was not the cause of the crash.
10573 See r36343.
10574
10575 * rendering/RenderObject.cpp:
10576 (WebCore::RenderObject::canBeProgramaticallyScrolled):
10577 * rendering/RenderObject.h:
10578
dino@apple.comf712ed02008-09-12 21:54:57 +0000105792008-09-12 Chris Marrin <cmarrin@apple.com>
10580
10581 Reviewed by Dave Hyatt.
10582
10583 When changing one animation in a list, don't reset other animations
10584 https://bugs.webkit.org/show_bug.cgi?id=20675
10585
10586 Test: animations/change-one-anim.html
10587
10588 * page/animation/AnimationBase.cpp:
10589 (WebCore::AnimationBase::getNumProperties):
10590 * page/animation/AnimationBase.h:
10591 * page/animation/AnimationController.cpp:
10592 * page/animation/CompositeAnimation.cpp:
10593 (WebCore::CompositeAnimation::updateKeyframeAnimations):
10594 * page/animation/CompositeAnimation.h:
10595 * page/animation/ImplicitAnimation.cpp:
10596 * page/animation/KeyframeAnimation.cpp:
10597 * page/animation/KeyframeAnimation.h:
10598 (WebCore::KeyframeAnimation::setIndex):
10599
beidson@apple.com521e2b52008-09-12 18:40:03 +0000106002008-09-12 Brady Eidson <beidson@apple.com>
10601
10602 Reviewed by Mitz Pettel
10603
10604 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
10605
10606 * loader/DocumentLoader.cpp:
10607 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
10608 Subresources can never be created from nil data, but there is always a MainResource, whether
10609 or not there's any data. So in the case where the main resource has no data, fake it for the
10610 sake of creating the ArchiveResource.
10611
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000106122008-09-12 Dave Hyatt <hyatt@apple.com>
10613
10614 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
10615 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
10616 Remove all the isWidget and hasPlatformScrollbars guards.
10617
10618 Reviewed by Tim Hatcher
10619
10620 * platform/ScrollBar.h:
10621 * platform/gtk/PlatformScrollBar.h:
10622 * platform/mac/PlatformScrollBar.h:
10623 * platform/qt/PlatformScrollBar.h:
10624 * platform/win/PlatformScrollBar.h:
10625 * platform/win/ScrollViewWin.cpp:
10626 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
10627 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
10628 * platform/wx/PlatformScrollBar.h:
10629 * rendering/RenderLayer.cpp:
10630 (WebCore::RenderLayer::horizontalScrollbarWidget):
10631 (WebCore::RenderLayer::verticalScrollbarWidget):
10632 (WebCore::RenderLayer::createScrollbar):
10633 (WebCore::RenderLayer::destroyScrollbar):
10634 * rendering/RenderListBox.cpp:
10635 (WebCore::RenderListBox::~RenderListBox):
10636 (WebCore::RenderListBox::updateFromElement):
10637 (WebCore::RenderListBox::isPointInOverflowControl):
10638
mitz@apple.com0bef1302008-09-12 18:22:07 +0000106392008-09-12 Dan Bernstein <mitz@apple.com>
10640
10641 Reviewed by Sam Weinig.
10642
10643 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
10644
10645 * page/animation/AnimationController.cpp:
10646 * page/animation/AnimationController.h:
10647 * page/animation/CompositeAnimation.cpp:
10648 * page/animation/CompositeAnimation.h:
10649 * page/animation/ImplicitAnimation.cpp:
10650 * page/animation/ImplicitAnimation.h:
10651 * page/animation/KeyframeAnimation.cpp:
10652 * page/animation/KeyframeAnimation.h:
10653
timothy@apple.com43203432008-09-12 04:44:40 +0000106542008-09-11 Timothy Hatcher <timothy@apple.com>
10655
10656 Add a renderedImage method to DOMNode to get an image
10657 of the rendering for the node and it's descendants.
10658
10659 <rdar://problem/5849349> Would like API to create
10660 an image for a DOM node
10661
10662 Reviewed by Oliver Hunt.
10663
10664 * bindings/objc/DOM.mm:
10665 (-[DOMNode renderedImage]): Call Frame::nodeImage.
10666 * bindings/objc/DOMPrivate.h:
10667 * page/Frame.h:
10668 * page/mac/FrameMac.mm:
10669 (WebCore::Frame::nodeImage):
10670
dino@apple.com9300a0b2008-09-12 00:36:31 +0000106712008-09-08 Chris Marrin <cmarrin@apple.com>
10672
10673 Reviewed by Dave Hyatt
10674
10675 Need to support comma separated list of key times in keyframes selectors
10676 https://bugs.webkit.org/show_bug.cgi?id=20680
10677
10678 Test: animations/keyframes-comma-separated.html
10679
10680 * css/CSSGrammar.y:
10681 * css/CSSParser.cpp:
10682 (WebCore::CSSParser::createKeyframeRule):
10683 * css/CSSParser.h:
10684 * css/CSSStyleSelector.cpp:
10685 (WebCore::CSSStyleSelector::addKeyframeStyle):
10686 * css/WebKitCSSKeyframeRule.cpp:
10687 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
10688 (WebCore::WebKitCSSKeyframeRule::cssText):
10689 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
10690 * css/WebKitCSSKeyframeRule.h:
10691 (WebCore::WebKitCSSKeyframeRule::keyText):
10692 (WebCore::WebKitCSSKeyframeRule::setKeyText):
10693 (WebCore::WebKitCSSKeyframeRule::getKeys):
10694 * css/WebKitCSSKeyframesRule.cpp:
10695 (WebCore::WebKitCSSKeyframesRule::append):
10696 (WebCore::WebKitCSSKeyframesRule::insertRule):
10697 (WebCore::WebKitCSSKeyframesRule::deleteRule):
10698 (WebCore::WebKitCSSKeyframesRule::findRule):
10699 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
10700 * css/WebKitCSSKeyframesRule.h:
10701 * page/animation/AnimationBase.cpp:
10702 (WebCore::AnimationBase::blendProperties):
10703
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000107042008-09-11 Kevin McCullough <kmccullough@apple.com>
10705
10706 RS by Tim.
10707
10708 Reverting because this caused a crash.
10709
10710 * rendering/RenderObject.cpp:
10711 (WebCore::RenderObject::canBeProgramaticallyScrolled):
10712 (WebCore::RenderObject::hasScrollableView):
10713 * rendering/RenderObject.h:
10714
dino@apple.com19853b32008-09-11 21:59:08 +0000107152008-09-11 Dean Jackson <dino@apple.com>
10716
10717 Reviewed by Dan Bernstein.
10718
10719 Fix assertion on transition property "none"
10720 https://bugs.webkit.org/show_bug.cgi?id=20751
10721
10722 Test: transitions/transition-end-event-set-none.html
10723
10724 * page/animation/CompositeAnimation.cpp:
10725 (WebCore::CompositeAnimation::updateTransitions):
10726
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000107272008-09-11 David Smith <catfish.man@gmail.com>
10728
dsmith@webkit.org08103d92008-09-11 21:54:30 +000010729 Rubber-stamped by mitzpettel.
10730
10731 Remove an accidentally added extra file.
10732
10733 * WebCore: Removed.
10734
107352008-09-11 David Smith <catfish.man@gmail.com>
10736
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000010737 Reviewed by Darin
10738
10739 https://bugs.webkit.org/show_bug.cgi?id=20180
10740
10741 This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
10742
10743 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
10744 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
10745 * dom/Element.cpp: include NodeRenderStyle.h
10746 * dom/Node.cpp: Remove the definition of renderStyle()
10747 (WebCore::Node::nonRendererRenderStyle):
10748 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
10749 * dom/NodeRenderStyle.h: Added.
10750 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
10751 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
10752 * html/HTMLOptGroupElement.h:
10753 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
10754 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
10755 * html/HTMLOptionElement.h:
10756 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
10757 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
10758 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
10759 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
10760
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000107612008-09-11 Kevin McCullough <kmccullough@apple.com>
10762
10763 Reviewed by Adele and Tim.
10764
10765 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
10766 Inspector does not scroll to the line of the results (20167)
10767 - This was put in by Max to fix auto scrolling but is not correct for
10768 the whole web: rdar://problem/6213098
10769
10770 * rendering/RenderObject.cpp:
10771 (WebCore::RenderObject::canBeProgramaticallyScrolled):
10772 * rendering/RenderObject.h:
10773
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000107742008-09-11 Chris Fleizach <cfleizach@apple.com>
10775
10776 Reviewed by Beth Dakin
10777
10778 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
10779
10780 Test: accessibility/frame-with-title.html
10781
10782 * page/AccessibilityRenderObject.cpp:
10783 (WebCore::AccessibilityRenderObject::accessibilityDescription):
10784
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000107852008-09-11 Dirk Schulze <vbs85@gmx.de>
10786
10787 Reviewed by Simon.
10788
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000010789 Fixed stroke() and strokeRect() to support gradients
10790 and patterns on Qt.
10791
10792 [Qt] Canvas stroke don't work for gradients and patterns
10793 [https://bugs.webkit.org/show_bug.cgi?id=20749]
10794
10795 * platform/graphics/qt/GraphicsContextQt.cpp:
10796 (WebCore::GraphicsContext::strokePath):
10797 (WebCore::GraphicsContext::strokeRect):
10798
107992008-09-11 Dirk Schulze <vbs85@gmx.de>
10800
10801 Reviewed by Simon.
10802
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000010803 https://bugs.webkit.org/show_bug.cgi?id=20729
10804
10805 Fixed canvas gradients for Qt
10806
10807 [Qt] Canvas gradients don't work as expected
10808 [https://bugs.webkit.org/show_bug.cgi?id=20729]
10809
10810 * platform/graphics/qt/GradientQt.cpp:
10811 (WebCore::Gradient::platformGradient):
10812
108132008-09-11 Dirk Schulze <vbs85@gmx.de>
10814
10815 Reviewed by Simon.
10816
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000010817 https://bugs.webkit.org/show_bug.cgi?id=20568
10818
10819 Add support for patterns to Qt.
10820
10821 * platform/graphics/qt/PatternQt.cpp:
10822 (WebCore::Pattern::createPlatformPattern):
10823
mitz@apple.com442c5892008-09-10 18:21:14 +0000108242008-09-10 Dan Bernstein <mitz@apple.com>
10825
10826 Reviewed by Sam Weinig.
10827
10828 - clean up AnimationBase
10829
10830 * page/animation/AnimationBase.cpp:
10831 * page/animation/AnimationBase.h:
10832 * page/animation/CompositeAnimation.cpp:
10833 * page/animation/ImplicitAnimation.cpp:
10834 * page/animation/ImplicitAnimation.h:
10835 * page/animation/KeyframeAnimation.cpp:
10836 * page/animation/KeyframeAnimation.h:
10837
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000108382008-09-10 Alexey Proskuryakov <ap@webkit.org>
10839
10840 Reviewed by Darin Adler.
10841
10842 https://bugs.webkit.org/show_bug.cgi?id=20741
10843 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
10844
10845 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
10846 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
10847 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
10848
10849 I also found and fixed a potential crasher for non-Mac ports.
10850
10851 Tests: fast/encoding/hebrew/8859-8-e.html
10852 fast/encoding/hebrew/8859-8-i.html
10853 fast/encoding/hebrew/8859-8.html
10854 fast/encoding/hebrew/csISO88598I.html
10855 fast/encoding/hebrew/hebrew.html
10856 fast/encoding/hebrew/iso-ir-138.html
10857 fast/encoding/hebrew/logical.html
10858
10859 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
10860 (case-insensitively, because different versions of ICU report this MIME name in different
10861 case).
10862
10863 * platform/text/TextCodecICU.cpp:
10864 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
10865 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
10866 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
10867 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
10868 we also support these via TEC (which we should stop doing), but on Windows, this would
10869 likely crash.
10870
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000108712008-09-09 Dave Hyatt <hyatt@apple.com
10872
10873 Resurrect PlatformScrollbarWin.
10874
10875 Reviewed by Adam Roben
10876
10877 * WebCore.vcproj/WebCore.vcproj:
10878 * platform/win/PlatformScrollBarWin.cpp:
10879 (WebCore::isRunningOnVistaOrLater):
10880 (WebCore::checkAndInitScrollbarTheme):
10881 (WebCore::PlatformScrollbar::PlatformScrollbar):
10882 (WebCore::PlatformScrollbar::invalidateTrack):
10883 (WebCore::PlatformScrollbar::invalidatePart):
10884 (WebCore::PlatformScrollbar::paint):
10885 (WebCore::PlatformScrollbar::hasButtons):
10886 (WebCore::PlatformScrollbar::hasThumb):
10887 (WebCore::PlatformScrollbar::backButtonRect):
10888 (WebCore::PlatformScrollbar::forwardButtonRect):
10889 (WebCore::PlatformScrollbar::trackRect):
10890 (WebCore::PlatformScrollbar::gripperRect):
10891 (WebCore::PlatformScrollbar::thumbLength):
10892 (WebCore::PlatformScrollbar::paintButton):
10893 (WebCore::PlatformScrollbar::paintTrack):
10894 (WebCore::PlatformScrollbar::paintThumb):
10895 (WebCore::PlatformScrollbar::paintGripper):
10896 (WebCore::PlatformScrollbar::hitTest):
10897 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
10898 (WebCore::PlatformScrollbar::handleMouseOutEvent):
10899 (WebCore::PlatformScrollbar::themeChanged):
10900
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000109012008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
10902
10903 Reviewed by Maciej Stachowiak.
10904
10905 Bug 20759: Remove MacroAssembler
10906 <https://bugs.webkit.org/show_bug.cgi?id=20759>
10907
10908 Make the necessary changes to ForwardingHeaders to remove
10909 MacroAssembler.
10910
10911 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
10912 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
10913 * ForwardingHeaders/masm/X86Assembler.h: Added.
10914
alp@webkit.org509e3d42008-09-10 01:26:20 +0000109152008-09-09 Alp Toker <alp@nuanti.com>
10916
10917 Reviewed by Dave Hyatt.
10918
10919 https://bugs.webkit.org/show_bug.cgi?id=16792
10920 [GTK] Fails to render Japanese/Chinese text with simple path
10921
10922 https://bugs.webkit.org/show_bug.cgi?id=16942
10923 [GTK] Oddities in font selection and fall back
10924
10925 https://bugs.webkit.org/show_bug.cgi?id=16862
10926 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
10927
10928 GTK+ font fixes and enhancements.
10929
10930 Implement font fallback for the simple FontConfig-based text path and
10931 improve the Pango-based complex text path to make use of requested
10932 font properties and available font selection.
10933
10934 Add text shadow support to the complex path.
10935
10936 * platform/graphics/gtk/FontCacheGtk.cpp:
10937 (WebCore::FontCache::getFontDataForCharacters):
10938 (WebCore::FontCache::getSimilarFontPlatformData):
10939 * platform/graphics/gtk/FontGtk.cpp:
10940 (WebCore::setPangoAttributes):
10941 (WebCore::Font::drawComplexText):
10942 (WebCore::getDefaultPangoLayout):
10943 (WebCore::Font::floatWidthForComplexText):
10944 (WebCore::Font::offsetForPositionForComplexText):
10945 (WebCore::Font::selectionRectForComplexText):
10946 * platform/graphics/gtk/FontPlatformData.h:
10947 (WebCore::FontPlatformData::FontPlatformData):
10948 (WebCore::FontPlatformData::hash):
10949 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
10950 (WebCore::FontPlatformData::FontPlatformData):
10951 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
10952 (WebCore::SimpleFontData::platformDestroy):
10953
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000109542008-09-09 Dave Hyatt <hyatt@apple.com>
10955
10956 Make the Windows classic case work again. Overlap in slider constants and other constants broke
10957 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
10958 value to make sure it's really a slider thumb to resolve this conflict.
10959
10960 Reviewed by Adam Roben
10961
10962 * rendering/RenderThemeWin.cpp:
10963 (WebCore::drawControl):
10964
dino@apple.com442d0652008-09-09 23:36:56 +0000109652008-09-05 Chris Marrin <cmarrin@apple.com>
10966
10967 Reviewed by Sam Weinig.
10968
10969 Need to handle the case when 0% or 100% keyframe is omitted
10970 https://bugs.webkit.org/show_bug.cgi?id=20679
10971
10972 Tests: animations/keyframes-from-missing.html
10973 animations/keyframes-to-missing.html
10974
10975 * css/CSSStyleSelector.cpp:
10976 (WebCore::CSSStyleSelector::addKeyframeStyle):
10977
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000109782008-09-09 Dave Hyatt <hyatt@apple.com>
10979
10980 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
10981 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
10982 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
10983 what changes have been made as compared with the old RenderThemeWin).
10984
10985 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
10986 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
10987 vs. printer advancement rounding).
10988
10989 Reviewed by Adam/Sam
10990
10991 * css/CSSStyleSelector.cpp:
10992 (WebCore::CSSStyleSelector::applyProperty):
10993 * platform/graphics/Icon.h:
10994 (WebCore::Icon::create):
10995 * rendering/RenderThemeWin.cpp:
10996 (WebCore::RenderThemeWin::RenderThemeWin):
10997 (WebCore::RenderThemeWin::~RenderThemeWin):
10998 (WebCore::RenderThemeWin::buttonTheme):
10999 (WebCore::RenderThemeWin::textFieldTheme):
11000 (WebCore::RenderThemeWin::menuListTheme):
11001 (WebCore::RenderThemeWin::sliderTheme):
11002 (WebCore::RenderThemeWin::close):
11003 (WebCore::RenderThemeWin::themeChanged):
11004 (WebCore::RenderThemeWin::supportsHover):
11005 (WebCore::fillFontDescription):
11006 (WebCore::RenderThemeWin::systemFont):
11007 (WebCore::RenderThemeWin::supportsFocus):
11008 (WebCore::RenderThemeWin::determineClassicState):
11009 (WebCore::RenderThemeWin::determineState):
11010 (WebCore::RenderThemeWin::determineSliderThumbState):
11011 (WebCore::RenderThemeWin::getClassicThemeData):
11012 (WebCore::RenderThemeWin::getThemeData):
11013 (WebCore::drawControl):
11014 (WebCore::RenderThemeWin::paintButton):
11015 (WebCore::RenderThemeWin::paintTextField):
11016 (WebCore::RenderThemeWin::paintMenuList):
11017 (WebCore::RenderThemeWin::adjustMenuListStyle):
11018 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
11019 (WebCore::RenderThemeWin::paintMenuListButton):
11020 (WebCore::RenderThemeWin::paintSliderTrack):
11021 (WebCore::RenderThemeWin::paintSliderThumb):
11022 (WebCore::RenderThemeWin::adjustSliderThumbSize):
11023 (WebCore::RenderThemeWin::paintSearchField):
11024 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
11025 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
11026 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
11027 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
11028 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
11029 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
11030 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
11031 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
11032 * rendering/RenderThemeWin.h:
11033 (WebCore::ThemeData::ThemeData):
11034 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
11035 (WebCore::RenderThemeWin::adjustButtonStyle):
11036 (WebCore::RenderThemeWin::adjustTextFieldStyle):
11037 (WebCore::RenderThemeWin::adjustTextAreaStyle):
11038
dino@apple.comd511ce52008-09-09 19:50:25 +0000110392008-09-09 Dean Jackson <dino@apple.com>
11040
11041 Reviewed by Sam Weinig.
11042
11043 Document::createEvent missing cases for animation and
11044 transition events.
11045 https://bugs.webkit.org/show_bug.cgi?id=20734
11046
11047 Test: transitions/transition-end-event-create.html
11048 Test: animations/animation-events-create.html
11049
11050 * dom/Document.cpp:
11051 (WebCore::Document::createEvent):
11052 - add the two cases
11053
mitz@apple.com1da7b882008-09-09 18:12:06 +0000110542008-09-09 Dan Bernstein <mitz@apple.com>
11055
mitz@apple.com54921562008-09-09 18:48:34 +000011056 - Tiger build fix
11057
11058 * WebCore.Tiger.exp:
11059 * WebCore.base.exp:
11060 * platform/mac/WebCoreSystemInterface.h:
11061 * platform/mac/WebCoreSystemInterface.mm:
11062
110632008-09-09 Dan Bernstein <mitz@apple.com>
11064
mitz@apple.com1da7b882008-09-09 18:12:06 +000011065 Reviewed by Darin Adler.
11066
11067 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
11068
11069 * WebCore.Tiger.exp:
11070 * WebCore.base.exp:
11071 * platform/graphics/SimpleFontData.h:
11072 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
11073 (WebCore::GlyphPage::fill):
11074 * platform/graphics/mac/SimpleFontDataMac.mm:
11075 (WebCore::initFontData):
11076 (WebCore::SimpleFontData::platformInit):
11077 (WebCore::SimpleFontData::platformDestroy):
11078 * platform/mac/WebCoreSystemInterface.h:
11079 * platform/mac/WebCoreSystemInterface.mm:
11080
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000110812008-09-09 Kevin McCullough <kmccullough@apple.com>
11082
11083 Reviewed by Tim.
11084
11085 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
11086 breakpoints inside eval.
11087
11088 * page/inspector/inspector.js:
11089
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000110902008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
11091
11092 Reviewed by Simon.
11093
11094 Fix compilation of the Qt port with disabled plugins on Windows
11095
11096 * WebCore.pro:
11097 * plugins/PluginView.cpp:
11098 (WebCore::PluginView::PluginView):
11099 * plugins/PluginView.h:
11100
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000111012008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
11102
11103 Reviewed by Alexey Proskuryakov.
11104
11105 Try MIME charset names before trying IANA names
11106 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
11107
11108 With this change, shorter and more widely used names (preferred MIME
11109 names) are returned by document.charset, document.characterSet,
11110 document.inputEncoding rather than IANA names. This helps
11111 fixing bug 18085 in addition to web developers who are more familiar
11112 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
11113 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
11114 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
11115 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
11116 used, the former is still recognized as aliases to the latter so that
11117 there's very little, if any, to worry about.
11118
11119 * platform/text/TextCodecICU.cpp:
11120 (WebCore::TextCodecICU::registerExtendedEncodingNames):
11121
weinig@apple.com22294302008-09-09 06:55:39 +0000111222008-09-08 Sam Weinig <sam@webkit.org>
11123
11124 Reviewed by Maciej Stachowiak and Oliver Hunt.
11125
11126 Add forwarding headers.
11127
11128 * ForwardingHeaders/wtf/HashFunctions.h: Added.
11129
dino@apple.comd9962af2008-09-09 01:02:00 +0000111302008-09-05 Dean Jackson <dino@apple.com>
11131
11132 Reviewed by Dan Bernstein.
11133
11134 Update grammar so that we can add a keyframe rule via the DOM.
11135 https://bugs.webkit.org/show_bug.cgi?id=20613
11136
11137 * css/CSSGrammar.y:
11138 * css/tokenizer.flex:
11139
antti@apple.com4b17a932008-09-09 00:40:45 +0000111402008-09-08 Antti Koivisto <antti@apple.com>
11141
11142 Reviewed by Dan Bernstein.
11143
11144 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
11145 actually show up in any of the default stylesheets.
11146
11147 * css/CSSStyleSelector.cpp:
11148 (WebCore::elementCanUseSimpleDefaultStyle):
11149
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000111502008-09-08 Dimitri Glazkov <dglazkov@google.com>
11151
11152 Reviewed by Dan Bernstein.
11153
11154 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
11155 Zero width and space characters are displayed incorrectly if not contained in a fallback font
11156
11157 Adds an extra check for Object Replacement Character (U+FFFC) to address
11158 the issue with fast/text/zero-width-characters.html test when run
11159 with Windows system default fonts.
11160
11161 * platform/graphics/Font.h:
11162 (WebCore::Font::treatAsZeroWidthSpace):
11163
dino@apple.comf0a4b212008-09-08 22:51:49 +0000111642008-09-08 Dean Jackson <dino@apple.com>
11165
11166 Reviewed by Sam Weinig.
11167
11168 Code style issue I forgot to fix from previous commit.
11169
11170 * platform/graphics/AffineTransform.cpp:
11171 (WebCore::AffineTransform::blend):
11172
dino@apple.com26625122008-09-08 22:46:41 +0000111732008-09-08 Chris Marrin <cmarrin@apple.com>
11174
11175 Reviewed by Sam Weinig
11176
11177 - Animation of -webkit-transform matrix() function should not do linear interpolation
11178 https://bugs.webkit.org/show_bug.cgi?id=20667
11179
11180 Test: animations/matrix-anim.html
11181
11182 * ChangeLog:
11183 * platform/graphics/AffineTransform.cpp:
11184 (WebCore::affineTransformDecompose):
11185 (WebCore::affineTransformCompose):
11186 (WebCore::AffineTransform::blend):
11187 * platform/graphics/AffineTransform.h:
11188 * rendering/style/RenderStyle.cpp:
11189 (WebCore::MatrixTransformOperation::blend):
11190
ap@webkit.org243a9752008-09-08 16:21:16 +0000111912008-09-08 Alexey Proskuryakov <ap@webkit.org>
11192
11193 Reviewed by Darin Adler.
11194
11195 https://bugs.webkit.org/show_bug.cgi?id=20668
11196 multipart/form-data does not always include Content-type for submitted files
11197
11198 Cannot be tested with DRT or manual tests.
11199
11200 * platform/MIMETypeRegistry.cpp:
11201 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
11202 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
11203 unknown extensions, not just missing ones.
11204
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000112052008-09-08 Simon Hausmann <hausmann@webkit.org>
11206
11207 Build fix for the Qt/Windows build, define USE_JSC to
11208 enable the WebCore::String -> JSC::UString operator that
11209 MSVC insists on seeing
11210
11211 * WebCore.pro:
11212
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000112132008-09-08 Anders Carlsson <andersca@apple.com>
11214
11215 Reviewed by Maciej.
11216
11217 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
11218
11219 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
11220 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
11221
11222 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
11223
11224 * bindings/js/JSDOMWindowBase.h:
11225 * loader/FrameLoader.cpp:
11226 (WebCore::FrameLoader::commitProvisionalLoad):
11227
antti@apple.com57b3a102008-09-08 07:01:36 +0000112282008-09-07 Antti Koivisto <antti@apple.com>
11229
11230 Reviewed by Dave Hyatt.
11231
11232 Don't leak the simple stylesheet.
11233 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
11234
11235 * css/CSSStyleSelector.cpp:
11236 (WebCore::loadFullDefaultStyle):
11237 (WebCore::loadSimpleDefaultStyle):
11238 (WebCore::CSSStyleSelector::styleForElement):
11239
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000112402008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
11241
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000011242 Reviewed by Oliver Hunt.
11243
11244 Bug 20711: Change KJS prefix on preprocessor macros to JSC
11245 <https://bugs.webkit.org/show_bug.cgi?id=20711>
11246
11247 * bindings/js/JSEventTargetBase.h:
11248 * bindings/js/JSHTMLInputElementBase.cpp:
11249 * bindings/js/JSHTMLInputElementBase.h:
11250 * bindings/scripts/CodeGeneratorJS.pm:
11251
112522008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
11253
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000011254 Reviewed by Maciej Stachowiak.
11255
11256 Bug 20704: Replace the KJS namespace
11257 <https://bugs.webkit.org/show_bug.cgi?id=20704>
11258
11259 Rename the KJS namespace to JSC. There are still some uses of KJS in the
11260 names of JNI functions, and I will check if these are safe to change
11261 as well.
11262
11263 * WebCore.base.exp:
11264 * bindings/js/GCController.cpp:
11265 * bindings/js/JSAttrCustom.cpp:
11266 * bindings/js/JSAudioConstructor.cpp:
11267 * bindings/js/JSAudioConstructor.h:
11268 (WebCore::JSAudioConstructor::classInfo):
11269 * bindings/js/JSCSSRuleCustom.cpp:
11270 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
11271 * bindings/js/JSCSSValueCustom.cpp:
11272 * bindings/js/JSCanvasPixelArrayCustom.cpp:
11273 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
11274 * bindings/js/JSClipboardCustom.cpp:
11275 * bindings/js/JSConsoleCustom.cpp:
11276 * bindings/js/JSCustomSQLStatementCallback.cpp:
11277 (WebCore::JSCustomSQLStatementCallback::handleEvent):
11278 * bindings/js/JSCustomSQLStatementCallback.h:
11279 (WebCore::JSCustomSQLStatementCallback::create):
11280 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
11281 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
11282 * bindings/js/JSCustomSQLStatementErrorCallback.h:
11283 (WebCore::JSCustomSQLStatementErrorCallback::create):
11284 * bindings/js/JSCustomSQLTransactionCallback.cpp:
11285 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
11286 * bindings/js/JSCustomSQLTransactionCallback.h:
11287 (WebCore::JSCustomSQLTransactionCallback::create):
11288 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11289 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
11290 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
11291 (WebCore::JSCustomSQLTransactionErrorCallback::create):
11292 * bindings/js/JSCustomVoidCallback.cpp:
11293 (WebCore::JSCustomVoidCallback::handleEvent):
11294 * bindings/js/JSCustomVoidCallback.h:
11295 (WebCore::JSCustomVoidCallback::create):
11296 * bindings/js/JSCustomXPathNSResolver.cpp:
11297 (WebCore::JSCustomXPathNSResolver::create):
11298 * bindings/js/JSCustomXPathNSResolver.h:
11299 * bindings/js/JSDOMApplicationCacheCustom.cpp:
11300 (WebCore::JSDOMApplicationCache::dispatchEvent):
11301 * bindings/js/JSDOMBinding.cpp:
11302 (WebCore::jsOwnedStringOrNull):
11303 * bindings/js/JSDOMBinding.h:
11304 (WebCore::DOMObject::DOMObject):
11305 (WebCore::cacheDOMObject):
11306 (WebCore::cacheSVGDOMObject):
11307 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
11308 (WebCore::toJS):
11309 * bindings/js/JSDOMWindowBase.cpp:
11310 * bindings/js/JSDOMWindowBase.h:
11311 (WebCore::JSDOMWindowBase::classInfo):
11312 (WebCore::JSDOMWindowBase::d):
11313 * bindings/js/JSDOMWindowCustom.cpp:
11314 (WebCore::JSDOMWindow::getPropertyAttributes):
11315 * bindings/js/JSDOMWindowCustom.h:
11316 (WebCore::asJSDOMWindow):
11317 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
11318 (WebCore::JSDOMWindow::customPut):
11319 (WebCore::JSDOMWindowBase::allowsAccessFrom):
11320 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
11321 * bindings/js/JSDOMWindowShell.cpp:
11322 (WebCore::JSDOMWindowShell::getPropertyAttributes):
11323 * bindings/js/JSDOMWindowShell.h:
11324 (WebCore::JSDOMWindowShell::classInfo):
11325 * bindings/js/JSDatabaseCustom.cpp:
11326 * bindings/js/JSDocumentCustom.cpp:
11327 * bindings/js/JSDocumentFragmentCustom.cpp:
11328 * bindings/js/JSElementCustom.cpp:
11329 * bindings/js/JSEventCustom.cpp:
11330 * bindings/js/JSEventListener.cpp:
11331 * bindings/js/JSEventListener.h:
11332 (WebCore::JSUnprotectedEventListener::create):
11333 (WebCore::JSEventListener::create):
11334 * bindings/js/JSEventTargetBase.cpp:
11335 * bindings/js/JSEventTargetBase.h:
11336 (WebCore::JSEventTargetBase::getValueProperty):
11337 (WebCore::JSEventTargetBase::putValueProperty):
11338 (WebCore::JSEventTargetBase::getOwnPropertySlot):
11339 (WebCore::JSEventTargetBase::put):
11340 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
11341 (WebCore::JSEventTargetPrototype::self):
11342 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
11343 (WebCore::JSEventTargetPrototype::classInfo):
11344 * bindings/js/JSEventTargetNode.cpp:
11345 * bindings/js/JSEventTargetNode.h:
11346 (WebCore::JSEventTargetNode::getOwnPropertySlot):
11347 (WebCore::JSEventTargetNode::getValueProperty):
11348 (WebCore::JSEventTargetNode::put):
11349 (WebCore::JSEventTargetNode::putValueProperty):
11350 * bindings/js/JSHTMLAllCollection.h:
11351 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
11352 (WebCore::JSHTMLAllCollection::toBoolean):
11353 * bindings/js/JSHTMLAppletElementCustom.cpp:
11354 * bindings/js/JSHTMLCollectionCustom.cpp:
11355 * bindings/js/JSHTMLDocumentCustom.cpp:
11356 * bindings/js/JSHTMLElementCustom.cpp:
11357 * bindings/js/JSHTMLEmbedElementCustom.cpp:
11358 * bindings/js/JSHTMLFormElementCustom.cpp:
11359 * bindings/js/JSHTMLFrameElementCustom.cpp:
11360 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
11361 * bindings/js/JSHTMLIFrameElementCustom.cpp:
11362 * bindings/js/JSHTMLInputElementBase.cpp:
11363 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
11364 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
11365 * bindings/js/JSHTMLInputElementBase.h:
11366 (WebCore::JSHTMLInputElementBase::classInfo):
11367 * bindings/js/JSHTMLObjectElementCustom.cpp:
11368 * bindings/js/JSHTMLOptionElementConstructor.cpp:
11369 * bindings/js/JSHTMLOptionElementConstructor.h:
11370 (WebCore::JSHTMLOptionElementConstructor::classInfo):
11371 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
11372 * bindings/js/JSHTMLSelectElementCustom.cpp:
11373 (WebCore::selectIndexSetter):
11374 (WebCore::JSHTMLSelectElement::indexSetter):
11375 * bindings/js/JSHTMLSelectElementCustom.h:
11376 * bindings/js/JSHistoryCustom.cpp:
11377 * bindings/js/JSImageConstructor.cpp:
11378 * bindings/js/JSImageConstructor.h:
11379 (WebCore::JSImageConstructor::classInfo):
11380 * bindings/js/JSInspectedObjectWrapper.cpp:
11381 * bindings/js/JSInspectedObjectWrapper.h:
11382 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
11383 (WebCore::JSInspectedObjectWrapper::classInfo):
11384 * bindings/js/JSInspectorCallbackWrapper.cpp:
11385 * bindings/js/JSInspectorCallbackWrapper.h:
11386 (WebCore::JSInspectorCallbackWrapper::classInfo):
11387 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
11388 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
11389 * bindings/js/JSLocationCustom.cpp:
11390 * bindings/js/JSMimeTypeArrayCustom.cpp:
11391 * bindings/js/JSNSResolver.cpp:
11392 * bindings/js/JSNSResolver.h:
11393 (WebCore::JSNSResolver::create):
11394 * bindings/js/JSNamedNodeMapCustom.cpp:
11395 * bindings/js/JSNamedNodesCollection.cpp:
11396 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
11397 * bindings/js/JSNamedNodesCollection.h:
11398 (WebCore::JSNamedNodesCollection::classInfo):
11399 * bindings/js/JSNavigatorCustom.cpp:
11400 * bindings/js/JSNodeCustom.cpp:
11401 * bindings/js/JSNodeFilterCondition.cpp:
11402 (WebCore::JSNodeFilterCondition::acceptNode):
11403 * bindings/js/JSNodeFilterCondition.h:
11404 (WebCore::JSNodeFilterCondition::create):
11405 * bindings/js/JSNodeFilterCustom.cpp:
11406 * bindings/js/JSNodeIteratorCustom.cpp:
11407 * bindings/js/JSNodeListCustom.cpp:
11408 * bindings/js/JSPluginArrayCustom.cpp:
11409 * bindings/js/JSPluginCustom.cpp:
11410 * bindings/js/JSPluginElementFunctions.cpp:
11411 (WebCore::getRuntimeObject):
11412 * bindings/js/JSPluginElementFunctions.h:
11413 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11414 (WebCore::JSQuarantinedObjectWrapper::construct):
11415 (WebCore::JSQuarantinedObjectWrapper::call):
11416 * bindings/js/JSQuarantinedObjectWrapper.h:
11417 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
11418 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
11419 (WebCore::JSQuarantinedObjectWrapper::className):
11420 * bindings/js/JSRGBColor.cpp:
11421 * bindings/js/JSRGBColor.h:
11422 (WebCore::JSRGBColor::classInfo):
11423 * bindings/js/JSSQLResultSetRowListCustom.cpp:
11424 * bindings/js/JSSQLTransactionCustom.cpp:
11425 * bindings/js/JSSVGLazyEventListener.cpp:
11426 * bindings/js/JSSVGLazyEventListener.h:
11427 * bindings/js/JSSVGLengthCustom.cpp:
11428 * bindings/js/JSSVGMatrixCustom.cpp:
11429 (WebCore::JSSVGMatrix::inverse):
11430 (WebCore::JSSVGMatrix::rotateFromVector):
11431 * bindings/js/JSSVGPathSegCustom.cpp:
11432 * bindings/js/JSSVGPathSegListCustom.cpp:
11433 (WebCore::JSSVGPathSegList::initialize):
11434 (WebCore::JSSVGPathSegList::getItem):
11435 (WebCore::JSSVGPathSegList::insertItemBefore):
11436 (WebCore::JSSVGPathSegList::replaceItem):
11437 (WebCore::JSSVGPathSegList::removeItem):
11438 (WebCore::JSSVGPathSegList::appendItem):
11439 * bindings/js/JSSVGPointListCustom.cpp:
11440 * bindings/js/JSSVGTransformListCustom.cpp:
11441 * bindings/js/JSStorageCustom.cpp:
11442 * bindings/js/JSStyleSheetCustom.cpp:
11443 * bindings/js/JSStyleSheetListCustom.cpp:
11444 * bindings/js/JSTextCustom.cpp:
11445 * bindings/js/JSTreeWalkerCustom.cpp:
11446 * bindings/js/JSXMLHttpRequestConstructor.cpp:
11447 * bindings/js/JSXMLHttpRequestConstructor.h:
11448 (WebCore::JSXMLHttpRequestConstructor::classInfo):
11449 * bindings/js/JSXMLHttpRequestCustom.cpp:
11450 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
11451 * bindings/js/JSXSLTProcessorConstructor.cpp:
11452 * bindings/js/JSXSLTProcessorConstructor.h:
11453 (WebCore::JSXSLTProcessorConstructor::classInfo):
11454 * bindings/js/JSXSLTProcessorCustom.cpp:
11455 * bindings/js/ScheduledAction.cpp:
11456 * bindings/js/ScheduledAction.h:
11457 * bindings/js/ScriptController.cpp:
11458 (WebCore::ScriptController::attachDebugger):
11459 (WebCore::ScriptController::windowScriptNPObject):
11460 * bindings/js/ScriptController.h:
11461 * bindings/js/ScriptControllerGtk.cpp:
11462 (WebCore::ScriptController::createScriptInstanceForWidget):
11463 * bindings/js/ScriptControllerMac.mm:
11464 (WebCore::ScriptController::createScriptInstanceForWidget):
11465 (WebCore::ScriptController::windowScriptObject):
11466 (WebCore::ScriptController::clearPlatformScriptObjects):
11467 (WebCore::updateRenderingForBindings):
11468 (WebCore::ScriptController::initJavaJSBindings):
11469 * bindings/js/ScriptControllerQt.cpp:
11470 (WebCore::ScriptController::createScriptInstanceForWidget):
11471 * bindings/js/ScriptControllerWin.cpp:
11472 (WebCore::ScriptController::createScriptInstanceForWidget):
11473 * bindings/js/ScriptControllerWx.cpp:
11474 (WebCore::ScriptController::createScriptInstanceForWidget):
11475 * bindings/js/StringSourceProvider.h:
11476 (WebCore::StringSourceProvider::getRange):
11477 * bindings/objc/DOM.mm:
11478 (-[DOMNode JSC::Bindings::]):
11479 * bindings/objc/DOMInternal.h:
11480 * bindings/objc/DOMInternal.mm:
11481 (-[WebScriptObject _initializeScriptDOMNodeImp]):
11482 * bindings/objc/DOMUtility.mm:
11483 (JSC::createDOMWrapper):
11484 (WebCore::createDOMWrapper):
11485 * bindings/objc/WebScriptObject.mm:
11486 (WebCore::createJSWrapper):
11487 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
11488 * bindings/objc/WebScriptObjectPrivate.h:
11489 * bindings/scripts/CodeGeneratorJS.pm:
11490 * bridge/NP_jsobject.cpp:
11491 * bridge/NP_jsobject.h:
11492 * bridge/c/c_class.cpp:
11493 * bridge/c/c_class.h:
11494 * bridge/c/c_instance.cpp:
11495 * bridge/c/c_instance.h:
11496 * bridge/c/c_runtime.cpp:
11497 * bridge/c/c_runtime.h:
11498 * bridge/c/c_utility.cpp:
11499 * bridge/c/c_utility.h:
11500 * bridge/jni/jni_class.cpp:
11501 * bridge/jni/jni_class.h:
11502 * bridge/jni/jni_instance.cpp:
11503 * bridge/jni/jni_instance.h:
11504 * bridge/jni/jni_jsobject.h:
11505 * bridge/jni/jni_jsobject.mm:
11506 (JavaJSObject::call):
11507 (JavaJSObject::convertJObjectToValue):
11508 * bridge/jni/jni_objc.mm:
11509 (JSC::Bindings::dispatchJNICall):
11510 * bridge/jni/jni_runtime.cpp:
11511 * bridge/jni/jni_runtime.h:
11512 * bridge/jni/jni_utility.cpp:
11513 * bridge/jni/jni_utility.h:
11514 * bridge/npruntime.cpp:
11515 (_NPN_GetStringIdentifier):
11516 * bridge/objc/WebScriptObject.h:
11517 * bridge/objc/objc_class.h:
11518 * bridge/objc/objc_class.mm:
11519 * bridge/objc/objc_instance.h:
11520 * bridge/objc/objc_instance.mm:
11521 * bridge/objc/objc_runtime.h:
11522 * bridge/objc/objc_runtime.mm:
11523 * bridge/objc/objc_utility.h:
11524 * bridge/objc/objc_utility.mm:
11525 * bridge/qt/qt_class.cpp:
11526 * bridge/qt/qt_class.h:
11527 * bridge/qt/qt_instance.cpp:
11528 * bridge/qt/qt_instance.h:
11529 * bridge/qt/qt_runtime.cpp:
11530 (JSC::Bindings::convertQVariantToValue):
11531 (JSC::Bindings::):
11532 * bridge/qt/qt_runtime.h:
11533 * bridge/runtime.cpp:
11534 * bridge/runtime.h:
11535 * bridge/runtime_array.cpp:
11536 * bridge/runtime_array.h:
11537 * bridge/runtime_method.cpp:
11538 * bridge/runtime_method.h:
11539 * bridge/runtime_object.cpp:
11540 * bridge/runtime_object.h:
11541 * bridge/runtime_root.cpp:
11542 (JSC::Bindings::RootObject::invalidate):
11543 (JSC::Bindings::RootObject::gcProtect):
11544 (JSC::Bindings::RootObject::gcUnprotect):
11545 * bridge/runtime_root.h:
11546 * bridge/testbindings.cpp:
11547 * bridge/testbindings.mm:
11548 * bridge/testqtbindings.cpp:
11549 * dom/Document.cpp:
11550 (WebCore::Document::~Document):
11551 * dom/NSResolver.h:
11552 * dom/Node.cpp:
11553 (WebCore::Node::setDocument):
11554 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
11555 (WebCore::resolveNamespacesForSelector):
11556 (WebCore::Node::querySelector):
11557 (WebCore::Node::querySelectorAll):
11558 * dom/Node.h:
11559 * dom/NodeFilter.cpp:
11560 * dom/NodeFilter.h:
11561 * dom/NodeFilterCondition.cpp:
11562 * dom/NodeFilterCondition.h:
11563 * dom/NodeIterator.cpp:
11564 * dom/NodeIterator.h:
11565 * dom/Traversal.cpp:
11566 * dom/Traversal.h:
11567 * dom/TreeWalker.cpp:
11568 * dom/TreeWalker.h:
11569 * dom/make_names.pl:
11570 * history/CachedPage.cpp:
11571 * history/CachedPage.h:
11572 * html/HTMLPlugInElement.cpp:
11573 (WebCore::HTMLPlugInElement::getInstance):
11574 * html/HTMLPlugInElement.h:
11575 * loader/FrameLoader.cpp:
11576 * loader/FrameLoader.h:
11577 * loader/icon/IconDatabase.cpp:
11578 (WebCore::iconDatabase):
11579 * page/Console.cpp:
11580 * page/Console.h:
11581 * page/InspectorController.cpp:
11582 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
11583 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
11584 (WebCore::InspectorResource::setXMLHttpRequestProperties):
11585 (WebCore::InspectorResource::sourceString):
11586 (WebCore::getResourceDocumentNode):
11587 (WebCore::search):
11588 (WebCore::InspectorController::focusNode):
11589 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
11590 (WebCore::InspectorController::addDatabaseScriptResource):
11591 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
11592 * page/InspectorController.h:
11593 (WebCore::InspectorController::profiles):
11594 * page/JavaScriptCallFrame.cpp:
11595 (WebCore::JavaScriptCallFrame::scopeChain):
11596 * page/JavaScriptCallFrame.h:
11597 (WebCore::JavaScriptCallFrame::create):
11598 (WebCore::JavaScriptCallFrame::update):
11599 * page/JavaScriptDebugListener.h:
11600 * page/JavaScriptDebugServer.cpp:
11601 (WebCore::dispatchDidParseSource):
11602 * page/JavaScriptDebugServer.h:
11603 * page/JavaScriptProfile.cpp:
11604 * page/JavaScriptProfile.h:
11605 * page/JavaScriptProfileNode.cpp:
11606 (WebCore::getTotalTime):
11607 (WebCore::getSelfTime):
11608 (WebCore::getTotalPercent):
11609 (WebCore::getSelfPercent):
11610 (WebCore::getNumberOfCalls):
11611 (WebCore::getChildren):
11612 (WebCore::getVisible):
11613 * page/JavaScriptProfileNode.h:
11614 * page/Page.cpp:
11615 (WebCore::Page::setDebuggerForAllPages):
11616 (WebCore::Page::setDebugger):
11617 * page/Page.h:
11618 (WebCore::Page::debugger):
11619 * page/mac/FrameMac.mm:
11620 * platform/KURL.h:
11621 (WebCore::KURL::operator JSC::UString):
11622 * platform/text/AtomicString.cpp:
11623 (WebCore::AtomicString::add):
11624 (WebCore::AtomicString::find):
11625 * platform/text/AtomicString.h:
11626 (WebCore::AtomicString::AtomicString):
11627 * platform/text/PlatformString.h:
11628 * platform/text/String.cpp:
11629 (WebCore::charactersToDouble):
11630 * platform/win/BString.cpp:
11631 * platform/win/BString.h:
11632 * plugins/MimeTypeArray.h:
11633 * plugins/Plugin.h:
11634 * plugins/PluginArray.h:
11635 * plugins/PluginView.cpp:
11636 (WebCore::PluginView::start):
11637 (WebCore::PluginView::performRequest):
11638 (WebCore::PluginView::bindingInstance):
11639 * plugins/PluginView.h:
11640 * plugins/gtk/PluginViewGtk.cpp:
11641 (WebCore::PluginView::paint):
11642 (WebCore::PluginView::handleKeyboardEvent):
11643 (WebCore::PluginView::handleMouseEvent):
11644 (WebCore::PluginView::setNPWindowRect):
11645 (WebCore::PluginView::stop):
11646 (WebCore::PluginView::init):
11647 * plugins/qt/PluginViewQt.cpp:
11648 (WebCore::PluginView::setNPWindowRect):
11649 (WebCore::PluginView::stop):
11650 (WebCore::PluginView::init):
11651 * plugins/win/PluginViewWin.cpp:
11652 (WebCore::PluginView::dispatchNPEvent):
11653 (WebCore::PluginView::handleKeyboardEvent):
11654 (WebCore::PluginView::handleMouseEvent):
11655 (WebCore::PluginView::setNPWindowRect):
11656 (WebCore::PluginView::stop):
11657 * storage/Database.cpp:
11658 (WebCore::Database::Database):
11659 * xml/XMLHttpRequest.cpp:
11660 (WebCore::XMLHttpRequest::responseText):
11661 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
11662 (WebCore::XMLHttpRequest::clearResponse):
11663 (WebCore::XMLHttpRequest::dropProtection):
11664 (WebCore::XMLHttpRequest::didFinishLoading):
11665 (WebCore::XMLHttpRequest::didReceiveData):
11666 * xml/XMLHttpRequest.h:
11667
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000116682008-09-07 Adam Barth <abarth@webkit.org>
11669
11670 Reviewed by Sam Weinig.
11671
11672 Adopt opener restriction on frame navigation.
11673 https://bugs.webkit.org/show_bug.cgi?id=20642
11674
11675 This restriction helps prevent an attacker from navigating top-level
11676 windows that were created by another web site.
11677
11678 Tests: http/tests/security/frameNavigation/not-opener.html
11679 http/tests/security/frameNavigation/opener.html
11680
11681 * loader/FrameLoader.cpp:
11682 (WebCore::canAccessAncestor):
11683 (WebCore::FrameLoader::shouldAllowNavigation):
11684
mitz@apple.com83469af2008-09-07 22:29:56 +0000116852008-09-07 Dan Bernstein <mitz@apple.com>
11686
mitz@apple.com08ff58c2008-09-07 23:19:11 +000011687 Reviewed by Maciej Stachowiak.
11688
11689 - use the correct sign for vertical offsets of combining marks
11690
11691 * platform/graphics/win/UniscribeController.cpp:
11692 (WebCore::UniscribeController::shapeAndPlaceItem):
11693
116942008-09-07 Dan Bernstein <mitz@apple.com>
11695
mitz@apple.com83469af2008-09-07 22:29:56 +000011696 Reviewed by Dave Hyatt.
11697
mitz@apple.com78685b22008-09-07 22:30:29 +000011698 - add the combining mark offsets in two places where I forgot them
11699
11700 * platform/graphics/win/FontCGWin.cpp:
11701 (WebCore::Font::drawGlyphs):
11702
117032008-09-07 Dan Bernstein <mitz@apple.com>
11704
11705 Reviewed by Dave Hyatt.
11706
mitz@apple.com83469af2008-09-07 22:29:56 +000011707 - correct glyph advances in complex text using web fonts rendered with
11708 Core Graphics
11709
11710 * platform/graphics/win/FontCustomPlatformData.cpp:
11711 (WebCore::FontCustomPlatformData::fontPlatformData):
11712
timothy@apple.com968ebc92008-09-07 16:48:41 +0000117132008-09-07 Keishi Hattori <casey.hattori@gmail.com>
11714
11715 Adds console.dirxml support to the Web Inspector.
11716
11717 https://bugs.webkit.org/show_bug.cgi?id=19156
11718
11719 Reviewed by Timothy Hatcher.
11720
11721 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
11722 * bindings/js/JSConsoleCustom.cpp:
11723 (WebCore::JSConsole::dirxml):
11724 * page/Console.cpp:
11725 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
11726 * page/Console.h:
11727 (WebCore::): Added NodeMessageLevel.
11728 * page/Console.idl: Added console.dirxml.
11729 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
11730 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
11731 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
11732 * page/inspector/ElementsTreeOutline.js: Added.
11733 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
11734 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
11735 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
11736 * page/inspector/inspector.css:
11737 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
11738 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
11739 (WebInspector.altKeyDown):
11740 (WebInspector.forceHoverHighlight):
11741 (WebInspector.hoveredDOMNode):
11742 (WebInspector._updateHoverHighlightSoon):
11743 (WebInspector._updateHoverHighlight):
11744 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
11745 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
11746 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
11747 isAncestorIncludingParentFrames.
11748
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000117492008-09-06 Mark Rowe <mrowe@apple.com>
11750
11751 Qt build fix.
11752
11753 * bridge/qt/qt_runtime.cpp:
11754 (KJS::Bindings::convertQVariantToValue):
11755
mrowe@apple.comf88a4632008-09-07 05:44:58 +000011756=== End merge of squirrelfish-extreme ===
11757
117582008-09-05 Oliver Hunt <oliver@apple.com>
11759
11760 Start bringing up SFX on windows.
11761
11762 Reviewed by Mark Rowe and Sam Weinig
11763
11764 Start doing the work to bring up SFX on windows. Initially
11765 just working on WREC, as it does not make any calls so reduces
11766 the amount of code that needs to be corrected.
11767
11768 Add forwarding headers
11769
11770 * ChangeLog:
11771 * ForwardingHeaders/masm/MacroAssembler.h: Added.
11772 * WebCore.vcproj/WebCore.vcproj:
11773
117742008-08-27 Mark Rowe <mrowe@apple.com>
11775
11776 Reviewed by Oliver Hunt.
11777
11778 Fix the build of the full WebKit stack.
11779
11780 Add forwarding headers.
11781
11782 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
11783 * ForwardingHeaders/wrec/WREC.h: Added.
11784
11785=== Start merge of squirrelfish-extreme ===
11786
antti@apple.com13c24932008-09-07 03:54:21 +0000117872008-09-06 Antti Koivisto <antti@apple.com>
11788
11789 Reviewed by Dave Hyatt.
11790
11791 <rdar://problem/6187043>
11792 Don't parse full HTML user agent style sheet unless it is actually needed
11793 <rdar://problem/6131889>
11794 WebView is significantly more expensive to create recently
11795
11796 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
11797 startup. Some clients may never use most of the rules.
11798
11799 With this patch we use simplified UA stylesheet until we hit something it can't handle.
11800 This avoids full stylesheet parsing on application startup (due to empty document construction)
11801 and also makes it possible for clients with very simple demands (divs and spans only) never to load
11802 the full style.
11803
11804 It also delays view source style parsing until it is used.
11805
11806 * css/CSSStyleSelector.cpp:
11807 (WebCore::elementCanUseSimpleDefaultStyle):
11808 (WebCore::CSSStyleSelector::CSSStyleSelector):
11809 (WebCore::loadFullDefaultStyle):
11810 (WebCore::loadSimpleDefaultStyle):
11811 (WebCore::loadViewSourceStyle):
11812 (WebCore::CSSStyleSelector::matchUARules):
11813 (WebCore::CSSStyleSelector::styleForElement):
11814
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000118152008-09-06 Kevin Ollivier <kevino@theolliviers.com>
11816
11817 wx build fix.
11818
11819 * WebCoreSources.bkl:
11820
antti@apple.come953f862008-09-06 23:27:09 +0000118212008-09-06 Antti Koivisto <antti@apple.com>
11822
antti@apple.com00dfa532008-09-06 23:32:26 +000011823 Reverting r35953 which was causing problems on Windows which relies on
11824 WebCore timers in nested event loops. r36132 did alternative fix.
11825
11826 * page/Chrome.cpp:
11827 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
11828 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
11829
118302008-09-06 Antti Koivisto <antti@apple.com>
11831
antti@apple.come953f862008-09-06 23:27:09 +000011832 Reviewed by Dan Bernstein.
11833
11834 Fix <rdar://problem/6201644>
11835 https://bugs.webkit.org/show_bug.cgi?id=20493
11836 Crash after OK in dialog box and reloading page in secure mode
11837
11838 Limited loader only fix since the general timer fix is causing problems on Windows.
11839
11840 * loader/loader.cpp:
11841 (WebCore::Loader::servePendingRequests):
11842 (WebCore::Loader::Host::Host):
11843 (WebCore::Loader::Host::didFinishLoading):
11844 (WebCore::Loader::Host::didFail):
11845 (WebCore::Loader::Host::didReceiveData):
11846 * loader/loader.h:
11847 (WebCore::Loader::Host::processingResource):
11848
mitz@apple.com046bf642008-09-06 08:31:02 +0000118492008-09-06 Dan Bernstein <mitz@apple.com>
11850
11851 Reviewed by Dave Hyatt.
11852
mitz@apple.comc0b050b2008-09-06 22:39:34 +000011853 The initial Core Text adoption prototype was made by Daniel Fenwick.
11854
11855 - <rdar://problem/5158514> Add a Core Text-based complex text code path
11856
11857 Currently the Core Text code path is not used in any configuration.
11858
11859 * WebCore.xcodeproj/project.pbxproj: Added files.
11860 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
11861 * platform/graphics/Font.cpp:
11862 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
11863 of the loop.
11864 * platform/graphics/GlyphBuffer.h:
11865 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
11866 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
11867 Added getCTFont() and getCFStringAttributes() and corresponding data
11868 members for Core Text.
11869 * platform/graphics/mac/CoreTextController.cpp: Added.
11870 (WebCore::roundCGFloat): Helper function.
11871 (WebCore::ceilCGFloat): Helper function.
11872 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
11873 (WebCore::CoreTextController::CoreTextController):
11874 (WebCore::CoreTextController::offsetForPosition):
11875 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
11876 run into subruns as necessary such that each subrun can be rendered with
11877 a single font. Also separates out soft hyphens and replaces them with
11878 real hyphens, because Core Text does not emit a glyph for soft hyphens.
11879 Then calls collectCoreTextRunsForCharacters() on each subrun.
11880 (WebCore::CoreTextController::advance):
11881 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
11882 a CTLine from the given subrun and collects its CoreTextRuns.
11883 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
11884 rounding hacks, letter- and word-spacing and glyph substitutions and
11885 stores the resulting adjusted glyphs and advances.
11886 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
11887 (WebCore::CoreTextController::totalWidth):
11888 (WebCore::CoreTextController::finalRoundingWidth):
11889 (WebCore::CoreTextController::CoreTextRun::ctRun):
11890 (WebCore::CoreTextController::CoreTextRun::glyphCount):
11891 (WebCore::CoreTextController::CoreTextRun::fontData):
11892 (WebCore::CoreTextController::CoreTextRun::characters):
11893 (WebCore::CoreTextController::CoreTextRun::stringLocation):
11894 (WebCore::CoreTextController::CoreTextRun::stringLength):
11895 (WebCore::CoreTextController::CoreTextRun::indexAt):
11896 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
11897 FontMacATSUI.mm.
11898 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
11899 (WebCore::disableLigatures): Changed to call
11900 FontPlatformData::allowsLigatures().
11901 (WebCore::overrideLayoutOperation): Changed to call
11902 FontPlatformData::roundsGlyphAdvances().
11903 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
11904 (WebCore::Font::selectionRectForComplexText): Changed to use
11905 totalWidth() instead of advancing to the end and using runWidthSoFar().
11906 (WebCore::Font::drawComplexText):
11907 (WebCore::Font::floatWidthForComplexText): Ditto.
11908 (WebCore::Font::offsetForPositionForComplexText):
11909 * platform/graphics/mac/FontPlatformData.h:
11910 * platform/graphics/mac/FontPlatformDataMac.mm:
11911 (WebCore::FontPlatformData::setFont):
11912 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
11913 AppKit rendering mode.
11914 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
11915 heuristic that allows ligatures in fonts that do not have a glyph for
11916 'a', based on the assumption that such fonts are only used in complex
11917 text.
11918 * platform/graphics/mac/SimpleFontDataMac.mm:
11919 (WebCore::SimpleFontData::platformInit):
11920 (WebCore::SimpleFontData::platformDestroy):
11921 (WebCore::SimpleFontData::getCTFont): Added.
11922 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
11923 returns an attributes dictionary.
11924 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
11925 * platform/text/mac/ShapeArabic.h: Ditto.
11926
119272008-09-06 Dan Bernstein <mitz@apple.com>
11928
11929 Reviewed by Dave Hyatt.
11930
mitz@apple.com046bf642008-09-06 08:31:02 +000011931 - make combining mark offsets work in CG text on Windows
11932
11933 * platform/graphics/win/FontCGWin.cpp:
11934 (WebCore::Font::drawGlyphs): The old code tried to translate the text
11935 matrix, but failed for two reasons: it did not actually change the
11936 matrix, and even if it did, CGContextSetTextPosition overwrites the
11937 translation values in the text matrix. Instead, just added the
11938 translation to the anchor point.
11939
alp@webkit.org369cdca2008-09-06 04:08:30 +0000119402008-09-05 Gustavo Noronha Silva <gns@gnome.org>
11941
11942 Reviewed by Alp Toker.
11943
11944 https://bugs.webkit.org/show_bug.cgi?id=18346
11945 [GTK] Remove build warnings
11946
11947 Applied some casts, and removed an unused typedef to make the
11948 compiler happy, printing less warnings when building.
11949
11950 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
11951 * platform/graphics/gtk/SimpleFontDataPango.cpp:
11952 (WebCore::SimpleFontData::containsCharacters):
11953 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
11954 (webkit_video_sink_set_caps):
11955 * platform/network/soup/ResourceHandleSoup.cpp:
11956
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000119572008-09-05 Eric Seidel <eric@webkit.org>
11958
eric@webkit.org5ac37902008-09-06 00:21:58 +000011959 Reviewed by Adam Roben.
11960
11961 Build fix for WebKitWin and Chromium
11962
11963 * platform/FileSystem.h:
11964
119652008-09-05 Eric Seidel <eric@webkit.org>
11966
eric@webkit.org3cb292c2008-09-05 22:17:56 +000011967 Reviewed by Darin Adler.
11968
11969 Try to make Chromium compile with ToT:
11970 - Wrap a few places which depend on KJS:: in #if USE(JSC)
11971 - Include some windows forward declarations
11972
11973 * dom/Node.h:
11974 * page/Console.h:
11975 * page/animation/CompositeAnimation.h:
11976 * platform/FileSystem.h:
11977 * platform/graphics/Image.h:
11978 * platform/text/AtomicString.h:
11979 * platform/text/String.cpp:
11980 * rendering/style/RenderStyle.h:
11981
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000119822008-09-05 Dave Hyatt <hyatt@apple.com>
11983
11984 Add support for runtime switchability of the Aqua look and the native look on Windows.
11985 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
11986
11987 Reviewed by Adam Roben
11988
11989 * WebCore.vcproj/WebCore.vcproj:
11990 * page/Settings.cpp:
11991 (WebCore::Settings::setShouldPaintNativeControls):
11992 * page/Settings.h:
11993 (WebCore::Settings::shouldPaintNativeControls):
11994 * rendering/RenderThemeSafari.cpp:
11995 (WebCore::theme):
11996 * rendering/RenderThemeWin.cpp:
11997
antti@apple.combced97f2008-09-05 18:52:05 +0000119982008-09-05 Antti Koivisto <antti@apple.com>
11999
12000 Qt build fix.
12001
12002 * svg/SVGFEImageElement.cpp:
12003 (WebCore::SVGFEImageElement::build):
12004
aroben@apple.comca0c3362008-09-05 15:33:28 +0000120052008-09-05 Dirk Schulze <vbs85@gmx.de>
12006
12007 Gtk build fix
12008
12009 * GNUmakefile.am:
12010
antti@apple.com72e4a842008-09-05 09:28:11 +0000120112008-09-05 Antti Koivisto <antti@apple.com>
12012
antti@apple.com49e46662008-09-05 10:36:59 +000012013 Another build fix.
12014
12015 * svg/SVGFEImageElement.cpp:
12016 (WebCore::SVGFEImageElement::notifyFinished):
12017
120182008-09-05 Antti Koivisto <antti@apple.com>
12019
antti@apple.comfeec2582008-09-05 10:03:39 +000012020 Build fixes.
12021
12022 * WebCore.xcodeproj/project.pbxproj:
12023 * svg/graphics/filters/SVGFEImage.cpp:
12024 (WebCore::FEImage::cachedImage):
12025
120262008-09-05 Antti Koivisto <antti@apple.com>
12027
darin@apple.com07c80c62008-09-05 18:15:43 +000012028 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000012029
12030 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
12031 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
12032
12033 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
12034 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
12035 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
12036 we avoid re-decoding resources, especially images.
12037
12038 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
12039 CacheControl: max-age=0 header. That would be added in reload case.
12040
12041 The approach for revalidation is to kick the original resource out from the memory cache
12042 and create a new CachedResource that represents the revalidation request. In case
12043 we get 304 back for the request we put the original resource back to the cache, update
12044 its expiration date and switch the clients registered to revalidation resource to be
12045 clients of the original resource.
12046
12047 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
12048 This allows updating the handles to point to the original resource when the revalidation succeeds. It
12049 also acts as refcounting smart pointer.
12050
12051 * WebCore.pro:
12052 * WebCore.vcproj/WebCore.vcproj:
12053 * WebCore.xcodeproj/project.pbxproj:
12054 * css/CSSFontFaceSource.h:
12055 * css/CSSImportRule.h:
12056 * dom/Clipboard.h:
12057 (WebCore::Clipboard::dragImage):
12058 * dom/ProcessingInstruction.h:
12059 * dom/ScriptElement.h:
12060 * dom/XMLTokenizer.cpp:
12061 (WebCore::XMLTokenizer::isWaitingForScripts):
12062 * dom/XMLTokenizer.h:
12063 * html/HTMLImageLoader.cpp:
12064 (WebCore::HTMLImageLoader::setImage):
12065 (WebCore::HTMLImageLoader::updateFromElement):
12066 (WebCore::HTMLImageLoader::notifyFinished):
12067 * html/HTMLImageLoader.h:
12068 (WebCore::HTMLImageLoader::image):
12069 * html/HTMLLinkElement.h:
12070 * html/HTMLTokenizer.cpp:
12071 (WebCore::HTMLTokenizer::reset):
12072 (WebCore::HTMLTokenizer::scriptHandler):
12073 (WebCore::HTMLTokenizer::notifyFinished):
12074 * html/HTMLTokenizer.h:
12075 * loader/Cache.cpp:
12076 (WebCore::Cache::revalidateResource):
12077 (WebCore::Cache::revalidationSucceeded):
12078 (WebCore::Cache::revalidationFailed):
12079 * loader/Cache.h:
12080 * loader/CachedResource.cpp:
12081 (WebCore::CachedResource::CachedResource):
12082 (WebCore::CachedResource::~CachedResource):
12083 (WebCore::CachedResource::isExpired):
12084 (WebCore::CachedResource::setResponse):
12085 (WebCore::CachedResource::deleteIfPossible):
12086 (WebCore::CachedResource::setResourceToRevalidate):
12087 (WebCore::CachedResource::clearResourceToRevalidate):
12088 (WebCore::CachedResource::switchClientsToRevalidatedResource):
12089 (WebCore::CachedResource::canUseCacheValidator):
12090 (WebCore::CachedResource::mustRevalidate):
12091 * loader/CachedResource.h:
12092 (WebCore::CachedResource::canDelete):
12093 (WebCore::CachedResource::registerHandle):
12094 (WebCore::CachedResource::unregisterHandle):
12095 (WebCore::CachedResource::isCacheValidator):
12096 (WebCore::CachedResource::resourceToRevalidate):
12097 (WebCore::CachedResource::setExpirationDate):
12098 * loader/CachedResourceHandle.cpp: Added.
12099 (WebCore::CachedResourceHandleBase::setResource):
12100 * loader/CachedResourceHandle.h: Added.
12101 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
12102 (WebCore::CachedResourceHandleBase::get):
12103 (WebCore::CachedResourceHandleBase::operator!):
12104 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
12105 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
12106 (WebCore::CachedResourceHandleBase::operator=):
12107 (WebCore::CachedResourceHandle::CachedResourceHandle):
12108 (WebCore::CachedResourceHandle::get):
12109 (WebCore::CachedResourceHandle::operator->):
12110 (WebCore::CachedResourceHandle::operator=):
12111 (WebCore::CachedResourceHandle::operator==):
12112 (WebCore::CachedResourceHandle::operator!=):
12113 (WebCore::operator==):
12114 (WebCore::operator!=):
12115 * loader/DocLoader.cpp:
12116 (WebCore::DocLoader::checkForReload):
12117 * loader/UserStyleSheetLoader.h:
12118 * loader/loader.cpp:
12119 (WebCore::Loader::Host::servePendingRequests):
12120 (WebCore::Loader::Host::didFinishLoading):
12121 (WebCore::Loader::Host::didFail):
12122 (WebCore::Loader::Host::didReceiveResponse):
12123 (WebCore::Loader::Host::didReceiveData):
12124 * page/EventHandler.cpp:
12125 (WebCore::EventHandler::selectCursor):
12126 * rendering/RenderImage.cpp:
12127 (WebCore::RenderImage::setCachedImage):
12128 (WebCore::RenderImage::imageChanged):
12129 * rendering/RenderImage.h:
12130 (WebCore::RenderImage::cachedImage):
12131 (WebCore::RenderImage::imagePtr):
12132 * rendering/style/RenderStyle.h:
12133 * rendering/style/StyleCachedImage.h:
12134 (WebCore::StyleCachedImage::data):
12135 (WebCore::StyleCachedImage::cachedImage):
12136 * svg/SVGFEImageElement.h:
12137 * svg/graphics/filters/SVGFEImage.h:
12138 * xml/XSLImportRule.h:
12139
beidson@apple.comab60d982008-09-05 04:58:12 +0000121402008-09-04 Brady Eidson <beidson@apple.com>
12141
12142 Reviewed by Mitz
12143
12144 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
12145
12146 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
12147 to model default NSURLRequest behavior in a cross-platform manner.
12148
12149 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
12150 client that wished to enforce a much larger default timeout using NSURLRequest API.
12151
12152 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
12153 behavior on the web and this restores previous Safari/WebKit behavior.
12154
12155 It would be easy to write a layout test for this, but to be effective it would have
12156 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
12157
12158 * manual-tests/timeout-test.html: Added.
12159 * manual-tests/timeout-test.php: Added.
12160
12161 * platform/network/ResourceRequestBase.h:
12162 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
12163 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
12164 * platform/network/mac/ResourceRequestMac.mm:
12165 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
12166 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
12167 WebKit applications to enforce their own default timeout.
12168
mitz@apple.com20268542008-09-05 04:26:32 +0000121692008-09-04 Dan Bernstein <mitz@apple.com>
12170
12171 Reviewed by Beth Dakin.
12172
12173 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
12174
12175 Test: fast/repaint/button-spurious-layout-hint.html
12176
12177 * rendering/RenderButton.cpp:
12178 (WebCore::RenderButton::setStyle): Reset the inner block's style box
12179 flex to 0 to avoid getting a spurious layout hint.
12180
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000121812008-09-04 Kevin Ollivier <kevino@theolliviers.com>
12182
12183 wx build fixes.
12184
12185 * WebCoreSources.bkl:
12186 * bindings/js/ScriptControllerWx.cpp: Added.
12187 (WebCore::ScriptController::createScriptInstanceForWidget):
12188 * page/wx/AccessibilityObjectWx.cpp: Added.
12189 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
12190 * platform/graphics/wx/GraphicsContextWx.cpp:
12191 * webcore-base.bkl:
12192 * webcore-wx.bkl:
12193
mitz@apple.com95a87502008-09-04 23:27:19 +0000121942008-09-04 Dan Bernstein <mitz@apple.com>
12195
12196 Reviewed by Mark Rowe.
12197
12198 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
12199 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
12200 require a different approach
12201
12202 * css/CSSGrammar.y:
12203
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000122042008-09-04 Mark Rowe <mrowe@apple.com>
12205
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000012206 Reviewed by Eric Seidel.
12207
12208 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
12209 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
12210
12211 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
12212 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
12213 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
12214
122152008-09-04 Mark Rowe <mrowe@apple.com>
12216
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000012217 Mac build fix.
12218
12219 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
12220
eric@webkit.org0716a542008-09-04 20:44:12 +0000122212008-09-04 Eric Seidel <eric@webkit.org>
12222
12223 Build fix only, no review.
12224
12225 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
12226
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000122272008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
12228
12229 Reviewed by Eric Seidel.
12230
12231 http://bugs.webkit.org/show_bug.cgi?id=20380
12232 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
12233
12234 * config.h: Include the configuration header generated by autotools if
12235 available.
12236
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000122372008-09-04 Dan Bernstein <mitz@apple.com>
12238
12239 Rubber-stamped by Dave Hyatt.
12240
12241 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
12242
12243 * loader/CachedFont.cpp:
12244 (WebCore::CachedFont::allClientsRemoved):
12245 * loader/CachedFont.h:
12246 * loader/CachedImage.cpp:
12247 (WebCore::CachedImage::allClientsRemoved):
12248 * loader/CachedImage.h:
12249 * loader/CachedResource.cpp:
12250 (WebCore::CachedResource::removeClient):
12251 * loader/CachedResource.h:
12252 (WebCore::CachedResource::allClientsRemoved):
12253
aroben@apple.com0da404d2008-09-04 16:09:33 +0000122542008-09-04 Adam Roben <aroben@apple.com>
12255
aroben@apple.comdd3861a2008-09-04 16:09:53 +000012256 Windows build fix after r36071
12257
12258 We were getting these errors:
12259
12260 error C2356: initialization segment must not change during translation
12261 unit
12262
12263 This was happening because multiple files #included by
12264 DerivedSources.cpp were themselves #including StaticConstructors.h. I
12265 fixed the error by adding header guards to StaticConstructors.h so its
12266 contents will only be included once.
12267
12268 But it's also not a good idea for StaticConstructors.h to end up in
12269 DerivedSources.cpp, since it ends up "polluting" all the source files
12270 we have in there. So I removed all the files that include
12271 StaticConstructors.h and added some preprocessor directives to
12272 DerivedSources.cpp to catch this error in the future.
12273
12274 * DerivedSources.cpp: Removed the *Names.cpp files, which include
12275 StaticConstructors.h, and added some preprocessor directives to make
12276 sure we don't end up accidentally including StaticConstructors.h in
12277 the future.
12278 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
12279 * platform/StaticConstructors.h: Added header guards.
12280
122812008-09-04 Adam Roben <aroben@apple.com>
12282
aroben@apple.com0da404d2008-09-04 16:09:33 +000012283 Windows build fix
12284
12285 * platform/graphics/win/FontPlatformData.h: Added a missing #include
12286 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
12287 * platform/text/PlatformString.h: Added a missing #include of
12288 PassRefPtr.h.
12289
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000122902008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
12291
12292 Reviewed by Simon.
12293
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000012294 Fix the QtWebKit build to match changes in r36016
12295
12296 * WebCore.pro:
12297 * bridge/qt/qt_instance.cpp:
12298 (KJS::Bindings::QtInstance::getRuntimeObject):
12299 * bridge/qt/qt_runtime.cpp:
12300 (KJS::Bindings::convertQVariantToValue):
12301 (KJS::Bindings::QtConnectionObject::execute):
12302
123032008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
12304
12305 Reviewed by Simon.
12306
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000012307 Re-enable support for user stylesheets in QtWebKit
12308
12309 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
12310 code path, which allows us to keep API support for
12311 loading user style sheets from remote URLs.
12312
12313 As part of the change UserStyleSheetLoader.cpp/h was
12314 moved from WebCore/loader/mac to WebCore/loader.
12315
12316 * WebCore.pro:
12317 * WebCore.xcodeproj/project.pbxproj:
12318 * dom/Document.h:
12319 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
12320 (UserStyleSheetLoader::UserStyleSheetLoader):
12321 (UserStyleSheetLoader::~UserStyleSheetLoader):
12322 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
12323 * page/qt/FrameQt.cpp:
12324 (WebCore::Frame::setUserStyleSheetLocation):
12325 (WebCore::Frame::setUserStyleSheet):
12326
alp@webkit.org539ff852008-09-04 09:14:42 +0000123272008-09-04 Alp Toker <alp@nuanti.com>
12328
12329 Reviewed by Eric.
12330
12331 Remove left-over QT and CAIRO platform checks.
12332
12333 * html/CanvasRenderingContext2D.cpp:
12334
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000123352008-09-04 Eric Seidel <eric@webkit.org>
12336
12337 Reviewed by Mark Rowe.
12338
mitz@apple.com9388d252008-09-04 08:58:58 +000012339 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000012340
12341 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
12342
mitz@apple.com89557c52008-09-04 07:26:53 +0000123432008-09-04 Dan Bernstein <mitz@apple.com>
12344
12345 Reviewed by Dave Hyatt.
12346
12347 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
12348 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
12349
12350 * rendering/RenderBlock.cpp:
12351 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
12352 positioned movement only case, call
12353 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
12354 layout if that fails.
12355 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
12356 * rendering/RenderBox.h:
12357 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
12358 layoutDoingPositionedMovementOnly to this, and made this function
12359 check if the width changed. If it did, return, leaving the object
12360 dirty. The caller can then call layout(). The width can change even
12361 in the "positioned movement only" case if the object is shrink-to-fit
12362 and the available width constraint is met. (This was the case in the
12363 bug).
12364 * rendering/RenderObject.h:
12365 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
12366 Renamed layoutDoingPositionedMovementOnly() to this.
12367
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000123682008-09-03 Eric Seidel <eric@webkit.org>
12369
12370 No review, build fix only.
12371
12372 Attempt to fix the Qt build.
12373
12374 * WebCore.pro: add page/animation to include path
12375
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000123762008-09-03 Mark Rowe <mrowe@apple.com>
12377
12378 Mac build fix. Correctly detect whether dashboard support is enabled.
12379
12380 * DerivedSources.make:
12381
eric@webkit.org3eefe672008-09-04 01:32:26 +0000123822008-09-03 Eric Seidel <eric@webkit.org>
12383
12384 Reviewed by Sam.
12385
eric@webkit.org5e069092008-09-04 01:32:51 +000012386 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
12387
12388 * Configurations/WebCore.xcconfig: add missing ENABLE_*
12389 * config.h: add rules for V8_BINDINGS
12390
123912008-09-03 Eric Seidel <eric@webkit.org>
12392
12393 Reviewed by Sam.
12394
eric@webkit.org3eefe672008-09-04 01:32:26 +000012395 https://bugs.webkit.org/show_bug.cgi?id=20620
12396
12397 Add #if USE(JSC) around KJS dependencies
12398 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
12399 1. Most platforms have it on anyway
12400 2. V8 is going to want to share some of that code
12401 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
12402
12403 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
12404 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
12405 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
12406 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
12407 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
12408 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
12409 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
12410 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
12411 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
12412 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
12413 * platform/text/AtomicString.cpp: add USE(JSC)
12414 * platform/text/AtomicString.h: add USE(JSC)
12415 * platform/text/PlatformString.h: add USE(JSC)
12416 * platform/text/String.cpp: add USE(JSC)
12417 * platform/text/StringImpl.cpp: add USE(JSC)
12418 * platform/text/StringImpl.h: add USE(JSC)
12419
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000124202008-09-03 Dean McNamee <deanm@chromium.org>
12421
12422 Reviewed by Darin Adler.
12423
12424 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
12425 Bug 20511: Remove static initializers on Windows
12426
12427 Avoid static initializers on Windows by forcing Visual C++ to put
12428 all static initializers in a code segment that is never executed.
12429
12430 * config.h:
12431 * css/MediaFeatureNames.cpp:
12432 * dom/EventNames.cpp:
12433 * dom/QualifiedName.cpp:
12434 * dom/make_names.pl:
12435 * platform/StaticConstructors.h:
12436 * platform/text/AtomicString.cpp:
12437
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000124382008-09-03 Dirk Schulze <vbs85@gmx.de>
12439
12440 Reviewed by Dave Hyatt.
12441
12442 Make FontCairo draw TextStroke and TextFill separately.
12443
12444 [CAIRO] draw TextFill and TextStroke separately.
12445 [https://bugs.webkit.org/show_bug.cgi?id=20631]
12446
12447 * platform/graphics/cairo/FontCairo.cpp:
12448 (WebCore::Font::drawGlyphs):
12449
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000124502008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000012451
12452 Reviewed by Dave Hyatt.
12453
12454 https://bugs.webkit.org/show_bug.cgi?id=19663
12455 Account for paint and timer lag when animating images. Also pretend
12456 that images whose animations were paused (by becoming invisible)
12457 continued to animate, by "catching up" to the correct frame when they're
12458 shown again.
12459
12460 * platform/graphics/BitmapImage.cpp:
12461 (WebCore::BitmapImage::BitmapImage):
12462 (WebCore::BitmapImage::startAnimation):
12463 (WebCore::BitmapImage::advanceAnimation):
12464 (WebCore::BitmapImage::internalAdvanceAnimation):
12465 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
12466 * platform/graphics/BitmapImage.h:
12467 * platform/graphics/cairo/ImageCairo.cpp:
12468 (WebCore::BitmapImage::draw):
12469 * platform/graphics/cg/ImageCG.cpp:
12470 (WebCore::BitmapImage::draw):
12471 * platform/graphics/qt/ImageQt.cpp:
12472 (WebCore::BitmapImage::draw):
12473 * platform/graphics/wx/ImageWx.cpp:
12474 (WebCore::BitmapImage::draw):
12475
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000124762008-09-03 Kevin McCullough <kmccullough@apple.com>
12477
12478 Reviewed by Tim.
12479
12480 Remove the rest of the "zombie" code from the profiler.
12481 - There is no longer a need for the ProfilerClient callback mechanism.
12482
12483 * page/Console.cpp:
12484 (WebCore::Console::Console):
12485 (WebCore::Console::profile):
12486 (WebCore::Console::profileEnd): Move the variables from the header to
12487 here since we don't have to wait for a callback to use them.
12488 * page/Console.h:
12489 * page/InspectorController.cpp:
12490 (WebCore::InspectorController::startUserInitiatedProfiling):
12491 (WebCore::InspectorController::stopUserInitiatedProfiling):
12492 * page/InspectorController.h:
12493
adachan@apple.com38c66182008-09-03 21:43:44 +0000124942008-09-03 Ada Chan <adachan@apple.com>
12495
12496 Windows build fix.
12497
12498 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
12499
dino@apple.com5c917622008-09-03 21:15:53 +0000125002008-09-01 Dean Jackson <dino@apple.com>
12501
12502 Reviewed by Dave Hyatt.
12503
12504 https://bugs.webkit.org/show_bug.cgi?id=20594
12505 Add DOM interfaces for WebKitCSSKeyframeRule
12506 and WebKitCSSKeyframesRule.
12507
12508 TEST: LayoutTests/css3/keyframes-rule.html
12509
12510 * css/WebKitCSSKeyframeRule.idl: Added
12511 * css/WebKitCSSKeyframesRule.idl: Added
12512
12513 * bindings/js/JSCSSRuleCustom.cpp:
12514 (WebCore::toJS):
12515 Add return of new JS Keyframe rules
12516 * bindings/objc/DOMInternal.h:
12517 Include new internal header
12518
12519 * DerivedSources.make:
12520 * GNUmakefile.am:
12521 * WebCore.pro:
12522 * WebCore.vcproj/WebCore.vcproj:
12523 * WebCore.xcodeproj/project.pbxproj:
12524 * WebCoreSources.bkl:
12525 Build configs for new files
12526
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000125272008-09-03 Adam Roben <aroben@apple.com>
12528
12529 Windows build fix
12530
12531 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
12532 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
12533 convenience/consistency.
12534
adele@apple.com27713582008-09-03 20:13:41 +0000125352008-09-03 Adele Peterson <adele@apple.com>
12536
12537 Build fix.
12538
12539 * WebCore.vcproj/WebCore.vcproj:
12540
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000125412008-09-03 David Hyatt <hyatt@apple.com>
12542
12543 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
12544
12545 Reviewed by Darin (ages ago)
12546
12547 Added fast/block/float/clamped-right-float.html
12548
12549 * rendering/RenderBlock.cpp:
12550 (WebCore::RenderBlock::positionNewFloats):
12551
hyatt@apple.comafe62052008-09-03 18:13:39 +0000125522008-09-02 David Hyatt <hyatt@apple.com>
12553
12554 Add support for canvas text drawing APIs.
12555
12556 Reviewed by olliej
12557
12558 Tests added as fast/canvas/canvas-text-*.html
12559
12560 * DerivedSources.make:
12561 * WebCore.xcodeproj/project.pbxproj:
12562 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
12563 (WebCore::JSCanvasRenderingContext2D::fillText):
12564 (WebCore::JSCanvasRenderingContext2D::strokeText):
12565 * css/CSSStyleSelector.cpp:
12566 (WebCore::CSSStyleSelector::initForStyleResolve):
12567 (WebCore::CSSStyleSelector::applyPropertyToStyle):
12568 * css/CSSStyleSelector.h:
12569 * html/CanvasRenderingContext2D.cpp:
12570 (WebCore::CanvasRenderingContext2D::State::State):
12571 (WebCore::CanvasRenderingContext2D::font):
12572 (WebCore::CanvasRenderingContext2D::setFont):
12573 (WebCore::CanvasRenderingContext2D::textAlign):
12574 (WebCore::CanvasRenderingContext2D::setTextAlign):
12575 (WebCore::CanvasRenderingContext2D::textBaseline):
12576 (WebCore::CanvasRenderingContext2D::setTextBaseline):
12577 (WebCore::CanvasRenderingContext2D::fillText):
12578 (WebCore::CanvasRenderingContext2D::strokeText):
12579 (WebCore::CanvasRenderingContext2D::measureText):
12580 (WebCore::CanvasRenderingContext2D::drawTextInternal):
12581 (WebCore::CanvasRenderingContext2D::accessFont):
12582 * html/CanvasRenderingContext2D.h:
12583 * html/CanvasRenderingContext2D.idl:
12584 * html/TextMetrics.h: Added.
12585 (WebCore::TextMetrics::create):
12586 (WebCore::TextMetrics::width):
12587 (WebCore::TextMetrics::setWidth):
12588 (WebCore::TextMetrics::TextMetrics):
12589 * html/TextMetrics.idl: Added.
12590 * platform/graphics/Font.cpp:
12591 (WebCore::Font::lineGap):
12592 * platform/graphics/Font.h:
12593 * platform/graphics/GraphicsContext.cpp:
12594 (WebCore::GraphicsContext::drawBidiText):
12595 * platform/graphics/GraphicsContext.h:
12596 * platform/graphics/GraphicsTypes.cpp:
12597 (WebCore::textAlignName):
12598 (WebCore::parseTextAlign):
12599 (WebCore::textBaselineName):
12600 (WebCore::parseTextBaseline):
12601 * platform/graphics/GraphicsTypes.h:
12602 (WebCore::):
12603
sullivan@apple.combc066af2008-09-03 17:37:24 +0000126042008-09-03 John Sullivan <sullivan@apple.com>
12605
12606 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
12607
12608 Fixed by Darin, reviewed by me
12609
12610 * page/animation/AnimationBase.cpp:
12611 (WebCore::AnimationBase::propertiesEqual):
12612 added ensurePropertyMap() to this static function
12613 (WebCore::AnimationBase::getPropertyAtIndex):
12614 ditto
12615 (WebCore::AnimationBase::getNumProperties):
12616 ditto
12617
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000126182008-09-03 Kevin McCullough <kmccullough@apple.com>
12619
12620 Reviewed by Darin and Tim.
12621
12622 Remove most of the "zombie" mode from the profiler. Next we will need
12623 to remove the client callback mechanism in profiles.
12624 - These changes are a result of changes to JSCore.
12625
12626 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
12627 * page/Console.cpp:
12628 (WebCore::retrieveLastCaller):
12629 (WebCore::Console::profileEnd):
12630 * page/InspectorController.cpp:
12631 (WebCore::InspectorController::stopUserInitiatedProfiling):
12632
adele@apple.com643616b2008-09-03 16:57:58 +0000126332008-09-03 Adele Peterson <adele@apple.com>
12634
12635 Reviewed by Darin Adler.
12636
12637 Test: fast/forms/search-display-none-cancel-button.html
12638
12639 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
12640
12641 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
12642
12643 * rendering/RenderTextControl.cpp:
12644 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
12645 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
12646 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
12647 (WebCore::RenderTextControl::createSubtreeIfNeeded):
12648 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
12649 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
12650 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
12651 (WebCore::RenderTextControl::calcHeight): ditto.
12652 (WebCore::RenderTextControl::nodeAtPoint): ditto.
12653 (WebCore::RenderTextControl::layout): ditto.
12654 (WebCore::RenderTextControl::calcPrefWidths): ditto.
12655 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
12656 (WebCore::RenderTextControl::clientPaddingRight): ditto.
12657
12658 * rendering/TextControlInnerElements.cpp:
12659 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
12660 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
12661 (WebCore::TextControlInnerElement::attachInnerElement): Added.
12662 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
12663 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
12664 * rendering/TextControlInnerElements.h:
12665
ap@webkit.orgacd84142008-09-03 08:08:19 +0000126662008-08-28 Alexey Proskuryakov <ap@webkit.org>
12667
12668 Reviewed by Maciej.
12669
12670 Elminate SQLiteAuthorizer class.
12671
12672 * WebCore.xcodeproj/project.pbxproj:
12673 * WebCore.vcproj/WebCore.vcproj:
12674 * GNUmakefile.am
12675 Removed SQLiteAuthorizer.h.
12676
12677 * platform/sql/SQLiteAuthorizer.cpp:
12678 * platform/sql/SQLiteAuthorizer.h: Removed.
12679 * platform/sql/SQLiteDatabase.cpp:
12680 (WebCore::SQLiteDatabase::authorizerFunction):
12681 (WebCore::SQLiteDatabase::setAuthorizer):
12682 * platform/sql/SQLiteDatabase.h:
12683 * storage/DatabaseAuthorizer.h:
12684 (WebCore::DatabaseAuthorizer::create):
12685 (WebCore::DatabaseAuthorizer::createView):
12686 (WebCore::DatabaseAuthorizer::createTempView):
12687 (WebCore::DatabaseAuthorizer::dropView):
12688 (WebCore::DatabaseAuthorizer::dropTempView):
12689 (WebCore::DatabaseAuthorizer::allowSelect):
12690 (WebCore::DatabaseAuthorizer::allowReindex):
12691 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
12692
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000126932008-09-03 Dirk Schulze <vbs85@gmx.de>
12694
12695 Reviewed by Mark Rowe.
12696
12697 WebKitGtk build fix.
12698
12699 * GNUmakefile.am:
12700 * page/animation/AnimationController.h:
12701
mrowe@apple.come344ad02008-09-03 06:59:03 +0000127022008-09-02 Robert Blaut <webkit@blaut.biz>
12703
12704 Reviewed by Geoff Garen.
12705
12706 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
12707 Misplaced elements should not close DL lists.
12708
12709 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
12710
12711 * html/HTMLParser.cpp:
12712 (WebCore::HTMLParser::handleError):
12713
mrowe@apple.com7a909462008-09-03 06:51:31 +0000127142008-09-02 Glenn Wilson <wilsong@gmail.com>
12715
12716 Reviewed by Darin Adler.
12717
12718 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
12719 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
12720
12721 We would inappropriately interpret and apply an invalid CSS "color" property
12722 when the value is a predefined color preceded by a '#' symbol. For example,
12723 style="color:#gray;" would apply the color gray when it should not.
12724
12725 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
12726 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
12727 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
12728 an ignorable token.
12729
12730 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
12731 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
12732 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
12733
12734 Test: css1/color_and_background/invalid_color.html
12735
12736 * css/CSSGrammar.y:
12737
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000127382008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
12739
12740 Reviewed by Darin Adler.
12741
12742 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
12743 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
12744
12745 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
12746
12747 Test: css3/khtml-background-size-0x0-bmp.html
12748
12749 * rendering/RenderBox.cpp:
12750 (WebCore::RenderBox::repaintLayerRectsForImage):
12751
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000127522008-09-02 Glenn Wilson <wilsong@gmail.com>
12753
12754 Reviewed by Eric Seidel.
12755
12756 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
12757 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
12758
12759 The function checkForOrphanedUnits() would change the length of a list whose size was
12760 was already determined before the call to checkForOrphanedUnits was made. Later in
12761 the caller, the old size was being used for boundary management.
12762
12763 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
12764 calling function, before the size of the list is determined.
12765
12766 Test: fast/css/orphaned_units_crash.html
12767
12768 * css/CSSParser.cpp:
12769 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
12770
mrowe@apple.com170bd522008-09-03 05:49:51 +0000127712008-09-02 Dirk Schulze <vbs85@gmx.de>
12772
12773 Reviewed by Darin Adler.
12774
mrowe@apple.comeb877a52008-09-03 06:01:15 +000012775 Fallback on invalid fill or stroke styles in Canvas was
12776 transparent black. Changed it to last valid style.
12777
12778 Canvas fillStyle() and strokeStyle() needs fallback
12779 https://bugs.webkit.org/show_bug.cgi?id=20474
12780
12781 Tests: fast/canvas/canvas-invalid-fillstyle.html
12782 fast/canvas/canvas-invalid-strokestyle.html
12783
12784 * html/CanvasStyle.cpp:
12785 (WebCore::CanvasStyle::applyStrokeColor):
12786 (WebCore::CanvasStyle::applyFillColor):
12787
127882008-09-02 Dirk Schulze <vbs85@gmx.de>
12789
12790 Reviewed by Darin Adler.
12791
mrowe@apple.com170bd522008-09-03 05:49:51 +000012792 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
12793 Updated drawImage() in canvas to match the current specification.
12794
12795 Test: fast/canvas/drawImage-with-negative-source-destination.html
12796
12797 * html/CanvasRenderingContext2D.cpp:
12798 (WebCore::normalizeRect):
12799 (WebCore::CanvasRenderingContext2D::drawImage):
12800
mrowe@apple.com96916d12008-09-03 05:41:44 +0000128012008-08-26 Mark Rowe <mrowe@apple.com>
12802
12803 Reviewed by Darin Adler.
12804
12805 <rdar://problem/5768210> Switch back to the system version of SQLite
12806
12807 Use the system version of SQLite when it is new enough to provide the functionality
12808 that WebCore requires.
12809
12810 * Configurations/Base.xcconfig:
12811 * Configurations/DebugRelease.xcconfig:
12812 * Configurations/WebCore.xcconfig:
12813
mitz@apple.comce268c12008-09-03 02:59:00 +0000128142008-09-02 Dan Bernstein <mitz@apple.com>
12815
12816 - build fix
12817
12818 * page/animation/AnimationBase.h:
12819
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000128202008-09-02 Chris Marrin <cmarrin@apple.com>
12821
12822 Reviewed by Dave Hyatt.
12823
12824 AnimationController.cpp should be split into separate files
12825 https://bugs.webkit.org/show_bug.cgi?id=20604
12826
12827 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
12828 recommendation of Dave Hyatt.
12829
12830 * GNUmakefile.am:
12831 * WebCore.pro:
12832 * WebCore.vcproj/WebCore.vcproj:
12833 * WebCore.xcodeproj/project.pbxproj:
12834 * WebCoreSources.bkl:
12835 Build files.
12836
12837 * page/AnimationController.cpp: Removed.
12838 * page/AnimationController.h: Removed.
12839 * page/animation: Added.
12840 * page/animation/AnimationBase.cpp: Added.
12841 * page/animation/AnimationBase.h: Added.
12842 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
12843 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
12844 * page/animation/CompositeAnimation.cpp: Added.
12845 * page/animation/CompositeAnimation.h: Added.
12846 * page/animation/ImplicitAnimation.cpp: Added.
12847 * page/animation/ImplicitAnimation.h: Added.
12848 * page/animation/KeyframeAnimation.cpp: Added.
12849 * page/animation/KeyframeAnimation.h: Added.
12850
mitz@apple.comcb917a22008-09-03 00:57:37 +0000128512008-09-02 Dan Bernstein <mitz@apple.com>
12852
12853 - release build fix
12854
12855 * platform/graphics/cg/GraphicsContextCG.cpp:
12856 (WebCore::calculateDrawingMode):
12857
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000128582008-09-02 Timothy Hatcher <timothy@apple.com>
12859
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000012860 Make console functions log the correct resource URL and
12861 line number for where the call originated.
12862
12863 https://bugs.webkit.org/show_bug.cgi?id=17234
12864 <rdar://problem/5732837>
12865
12866 Reviewed by Kevin McCullough.
12867
12868 Test: manual-tests/inspector/console-call-line-numbers.html
12869
12870 * bindings/js/JSConsoleCustom.cpp:
12871 (WebCore::JSConsole::count): Call the impl.
12872 (WebCore::JSConsole::timeEnd): Ditto.
12873 * manual-tests/inspector/console-call-line-numbers.html: Added.
12874 * manual-tests/inspector/resources/script-console-calls.js: Added.
12875 * page/Console.cpp:
12876 (WebCore::retrieveLastCaller): Helper to get the URL and line.
12877 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
12878 line number to pass to addMessageToConsole.
12879 (WebCore::Console::info): Ditto.
12880 (WebCore::Console::log): Ditto.
12881 (WebCore::Console::assertCondition): Ditto.
12882 (WebCore::Console::count): Ditto.
12883 (WebCore::Console::timeEnd): Ditto.
12884 (WebCore::Console::warn): Ditto.
12885 * page/Console.h:
12886 * page/Console.idl: Make count and timeEnd custom.
12887
128882008-09-02 Timothy Hatcher <timothy@apple.com>
12889
timothy@apple.comf3aa7342008-09-02 21:30:26 +000012890 Removed IDL files from WebCore's framework resources.
12891
12892 * WebCore.xcodeproj/project.pbxproj:
12893
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000128942008-09-02 Dan Bernstein <mitz@apple.com>
12895
12896 Reviewed by Dave Hyatt.
12897
12898 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
12899
12900 * html/HTMLParser.cpp:
12901 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
12902 cap on the number of consecutive identical residual style tags to
12903 reopen.
12904 (WebCore::HTMLParser::popBlock): Ditto.
12905
ap@webkit.org879328b2008-09-02 16:16:06 +0000129062008-09-02 Alexey Proskuryakov <ap@webkit.org>
12907
12908 Reviewed by Adam Roben.
12909
12910 A little database quota management cleanup.
12911
12912 * storage/OriginQuotaManager.cpp:
12913 (WebCore::OriginQuotaManager::OriginQuotaManager):
12914 (WebCore::OriginQuotaManager::lock):
12915 (WebCore::OriginQuotaManager::unlock):
12916 (WebCore::OriginQuotaManager::trackOrigin):
12917 (WebCore::OriginQuotaManager::tracksOrigin):
12918 (WebCore::OriginQuotaManager::addDatabase):
12919 (WebCore::OriginQuotaManager::removeDatabase):
12920 (WebCore::OriginQuotaManager::removeOrigin):
12921 (WebCore::OriginQuotaManager::markDatabase):
12922 (WebCore::OriginQuotaManager::diskUsage):
12923 * storage/OriginQuotaManager.h:
12924 Changed to assert that a lock is taken more directly and reliably. Removed comments about
12925 main/background threads, as this is likely to stop being true with synchronous Database calls
12926 being made on worker threads.
12927
12928 * storage/OriginUsageRecord.cpp:
12929 (WebCore::OriginUsageRecord::OriginUsageRecord):
12930 (WebCore::OriginUsageRecord::addDatabase):
12931 (WebCore::OriginUsageRecord::removeDatabase):
12932 (WebCore::OriginUsageRecord::markDatabase):
12933 (WebCore::OriginUsageRecord::diskUsage):
12934 * storage/OriginUsageRecord.h:
12935 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
12936 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
12937 can be replaced with a single boolean for OriginUsageRecord.
12938 Added assertions for string parameters being unshared.
12939
12940
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000129412008-09-01 Adam Barth <abarth@webkit.org>
12942
12943 Reviewed by Sam Weinig.
12944
12945 https://bugs.webkit.org/show_bug.cgi?id=19760
12946
12947 Make granting LoadLocalResources conditional on a policy.
12948
12949 * WebCore.base.exp:
12950 * dom/Document.cpp:
12951 (WebCore::Document::initSecurityContext):
12952 * loader/FrameLoader.cpp:
12953 (WebCore::FrameLoader::setLocalLoadPolicy):
12954 (WebCore::FrameLoader::restrictAccessToLocal):
12955 * loader/FrameLoader.h:
12956 (WebCore::FrameLoader::):
12957 * platform/SecurityOrigin.cpp:
12958 (WebCore::SecurityOrigin::grantLoadLocalResources):
12959 * platform/SecurityOrigin.h:
12960
dino@apple.com6e2db502008-09-01 23:05:28 +0000129612008-09-01 Dean Jackson <dino@apple.com>
12962
dino@apple.com59ca9f52008-09-01 23:34:13 +000012963 Reviewed by Sam Weinig.
12964
12965 https://bugs.webkit.org/show_bug.cgi?id=20571
12966 Make sure Window object can assign Animation/Transition event
12967 listeners via attributes.
12968
12969 Also added a bunch of transition event tests, although
12970 only transition-end-event-window is directly relevant to this patch.
12971
12972 (WebCore::JSDOMWindowBase::put):
12973
12974 Tests: transitions/transition-end-event-all-properties.html
12975 transitions/transition-end-event-attributes.html
12976 transitions/transition-end-event-container.html
12977 transitions/transition-end-event-left.html
12978 transitions/transition-end-event-multiple-01.html
12979 transitions/transition-end-event-multiple-02.html
12980 transitions/transition-end-event-multiple-03.html
12981 transitions/transition-end-event-multiple-04.html
12982 transitions/transition-end-event-nested.html
12983 transitions/transition-end-event-transform.html
12984 transitions/transition-end-event-window.html
12985
129862008-09-01 Dean Jackson <dino@apple.com>
12987
dino@apple.com6e2db502008-09-01 23:05:28 +000012988 Reviewed by Sam Weinig
12989
12990 Code styling cleanup.
12991
12992 * bindings/js/JSDOMWindowBase.cpp:
12993 (WebCore::JSDOMWindowBase::getValueProperty):
12994 (WebCore::JSDOMWindowBase::put):
12995
weinig@apple.com3412bb42008-09-01 21:22:54 +0000129962008-09-01 Geoffrey Garen <ggaren@apple.com>
12997
12998 Reviewed by Darin Adler.
12999
13000 First cut at inline caching for access to vanilla JavaScript properties.
13001
13002 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
13003 to WebCore classes, and PutPropertySlot& arguments to put functions.
13004
13005 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
13006 inline caching for global properties, so global assignment can be optimized.
13007
13008 * ForwardingHeaders/kjs/StructureID.h: Added.
13009 * bindings/js/JSDOMBinding.h:
13010 (WebCore::DOMObject::DOMObject):
13011 * bindings/js/JSDOMWindowBase.cpp:
13012 (WebCore::JSDOMWindowBase::put):
13013 * bindings/js/JSDOMWindowBase.h:
13014 * bindings/js/JSDOMWindowCustom.h:
13015 (WebCore::JSDOMWindow::customPut):
13016 * bindings/js/JSDOMWindowShell.cpp:
13017 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
13018 (WebCore::JSDOMWindowShell::put):
13019 * bindings/js/JSDOMWindowShell.h:
13020 * bindings/js/JSEventTargetBase.h:
13021 (WebCore::JSEventTargetBase::put):
13022 * bindings/js/JSEventTargetNode.h:
13023 (WebCore::JSEventTargetNode::put):
13024 * bindings/js/JSHTMLAppletElementCustom.cpp:
13025 (WebCore::JSHTMLAppletElement::customPut):
13026 * bindings/js/JSHTMLEmbedElementCustom.cpp:
13027 (WebCore::JSHTMLEmbedElement::customPut):
13028 * bindings/js/JSHTMLInputElementBase.cpp:
13029 (WebCore::JSHTMLInputElementBase::put):
13030 * bindings/js/JSHTMLInputElementBase.h:
13031 * bindings/js/JSHTMLObjectElementCustom.cpp:
13032 (WebCore::JSHTMLObjectElement::customPut):
13033 * bindings/js/JSHistoryCustom.cpp:
13034 (WebCore::JSHistory::customPut):
13035 * bindings/js/JSInspectedObjectWrapper.cpp:
13036 (WebCore::JSInspectedObjectWrapper::wrap):
13037 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
13038 * bindings/js/JSInspectedObjectWrapper.h:
13039 * bindings/js/JSInspectorCallbackWrapper.cpp:
13040 (WebCore::JSInspectorCallbackWrapper::wrap):
13041 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
13042 * bindings/js/JSInspectorCallbackWrapper.h:
13043 * bindings/js/JSLocationCustom.cpp:
13044 (WebCore::JSLocation::customPut):
13045 * bindings/js/JSPluginElementFunctions.cpp:
13046 (WebCore::runtimeObjectCustomPut):
13047 * bindings/js/JSPluginElementFunctions.h:
13048 * bindings/js/JSQuarantinedObjectWrapper.cpp:
13049 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
13050 (WebCore::JSQuarantinedObjectWrapper::put):
13051 * bindings/js/JSQuarantinedObjectWrapper.h:
13052 * bindings/js/JSStorageCustom.cpp:
13053 (WebCore::JSStorage::customPut):
13054 * bindings/objc/WebScriptObject.mm:
13055 (-[WebScriptObject setValue:forKey:]):
13056 * bindings/scripts/CodeGeneratorJS.pm:
13057 * bridge/NP_jsobject.cpp:
13058 (_NPN_SetProperty):
13059 * bridge/jni/jni_jsobject.mm:
13060 (JavaJSObject::setMember):
13061 * bridge/objc/objc_class.mm:
13062 (KJS::Bindings::ObjcClass::fallbackObject):
13063 * bridge/objc/objc_runtime.h:
13064 * bridge/objc/objc_runtime.mm:
13065 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
13066 (ObjcFallbackObjectImp::put):
13067 * bridge/runtime.cpp:
13068 (KJS::Bindings::Instance::createRuntimeObject):
13069 * bridge/runtime_array.cpp:
13070 (RuntimeArray::put):
13071 * bridge/runtime_array.h:
13072 * bridge/runtime_object.cpp:
13073 (RuntimeObjectImp::RuntimeObjectImp):
13074 (RuntimeObjectImp::put):
13075 * bridge/runtime_object.h:
13076
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000130772008-09-01 Dirk Schulze <vbs85@gmx.de>
13078
13079 Reviewed by Eric Seidel.
13080
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000013081 Fixed border-radius for Cairo.
13082
13083 * platform/graphics/cairo/GraphicsContextCairo.cpp:
13084 (WebCore::GraphicsContext::strokeArc):
13085
130862008-09-01 Dirk Schulze <vbs85@gmx.de>
13087
13088 Reviewed by Eric Seidel.
13089
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000013090 Added canvas's globalAlpha to cairo.
13091
13092 * platform/graphics/GraphicsContext.h:
13093 * platform/graphics/cairo/GraphicsContextCairo.cpp:
13094 (WebCore::GraphicsContext::fillPath):
13095 (WebCore::GraphicsContext::strokePath):
13096 (WebCore::GraphicsContext::setAlpha):
13097 (WebCore::GraphicsContext::getAlpha):
13098 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
13099 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
13100 * platform/graphics/cairo/ImageCairo.cpp:
13101 (WebCore::BitmapImage::draw):
13102
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000131032008-08-31 Simon Hausmann <hausmann@webkit.org>
13104
13105 Unreviewed Qt build fix.
13106
13107 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
13108 the .h file
13109
darin@apple.come7945852008-08-31 06:58:07 +0000131102008-08-30 Darin Adler <darin@apple.com>
13111
13112 Reviewed by Maciej.
13113
13114 - adopt some new JavaScriptCore functions where appropriate
13115
13116 * bindings/js/JSDOMWindowBase.cpp:
13117 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
13118 (WebCore::windowProtoFuncBToA): Ditto.
13119 * bindings/js/JSEventListener.cpp:
13120 (WebCore::JSLazyEventListener::eventParameterName): Adopted
13121 jsNontrivialString.
13122 * bindings/js/JSSVGLazyEventListener.cpp:
13123 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
13124
beidson@apple.com21c821f2008-08-30 00:26:01 +0000131252008-08-29 Brady Eidson <beidson@apple.com>
13126
beidson@apple.come1bd6032008-08-30 00:30:11 +000013127 Reviewed by Anders' rubberstamp
13128
13129 Style cleanup to match MediaTokenizer::writeRawData()
13130
13131 * loader/PluginDocument.cpp:
13132 (WebCore::PluginTokenizer::writeRawData):
13133
131342008-08-29 Brady Eidson <beidson@apple.com>
13135
beidson@apple.com21c821f2008-08-30 00:26:01 +000013136 Reviewed by Anders
13137
mitz@apple.com098b1e62008-09-24 16:39:55 +000013138 https://bugs.webkit.org/show_bug.cgi?id=20556
13139 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
13140
beidson@apple.com21c821f2008-08-30 00:26:01 +000013141 Fix regression I introducted in 35946
13142 Already covered by media/video-click-dlbclick-standalone.html
13143
13144 * loader/MediaDocument.cpp:
13145 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
13146 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
13147 an ASSERT signifying that this method should only be called once, to more closely follow the
13148 PluginDocument case.
13149
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000131502008-08-29 Beth Dakin <bdakin@apple.com>
13151
13152 Reviewed by Sam Weinig.
13153
13154 Fix for <rdar://problem/6181588>
13155
13156 This patch makes hit testing take into account the new concept of a
13157 disconnected frame, in which some of the content may not be
13158 visible. The current hit testing mechanism starts at a target frame
13159 and drills down for a HitTestResult. In some cases, drilling down
13160 will find a non-visible result. When this happens, we need to try
13161 again, starting at a higher level -- namely, starting at the main
13162 frame.
13163
13164 * editing/Editor.cpp:
13165 (WebCore::Editor::insideVisibleArea): New function that tests if a
13166 point is inside the visible area for a disconnected frame.
13167 * editing/Editor.h:
13168 * page/EventHandler.cpp:
13169 (WebCore::EventHandler::hitTestResultAtPoint):
13170
adele@apple.comfb903062008-08-29 22:30:18 +0000131712008-08-29 Adele Peterson <adele@apple.com>
13172
13173 Reviewed by Adam Roben.
13174
13175 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
13176
13177 * GNUmakefile.am:
13178 * WebCore.pro:
13179 * WebCore.vcproj/WebCore.vcproj:
13180 * WebCore.xcodeproj/project.pbxproj:
13181 * WebCoreSources.bkl:
13182 * html/HTMLTextFieldInnerElement.cpp: Removed.
13183 * html/HTMLTextFieldInnerElement.h: Removed.
13184 * rendering/RenderTextControl.cpp:
13185 (WebCore::RenderTextControl::createSubtreeIfNeeded):
13186 * rendering/RenderTextControl.h:
13187 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
13188 (WebCore::TextControlInnerElement::TextControlInnerElement):
13189 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
13190 (WebCore::TextControlInnerTextElement::defaultEventHandler):
13191 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
13192 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
13193 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
13194 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
13195 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
13196
eric@webkit.org298c65b2008-08-29 21:39:32 +0000131972008-08-29 Eric Seidel <eric@webkit.org>
13198
eric@webkit.org77837ce2008-08-29 21:40:07 +000013199 Rubber-stamped by aroben.
13200
13201 Add GraphicsContext.h include to GraphcisContextPrivate.h
13202
13203 GraphicsContextPrivate uses StrokeStyle which is defined
13204 in GraphicsContext.h but it doesn't include that header.
13205 CoreGraphics build doesn't fail here due to the order
13206 it happens to include files.
13207
13208 * platform/graphics/GraphicsContextPrivate.h:
13209
132102008-08-29 Eric Seidel <eric@webkit.org>
13211
eric@webkit.org298c65b2008-08-29 21:39:32 +000013212 Reviewed by hyatt.
13213
13214 Fix GeneratedImage to respect Image's refcounting
13215 Fixing potential crashers (future if not current)
13216 https://bugs.webkit.org/show_bug.cgi?id=20567
13217
13218 I don't know if it's possible to make the current code
13219 crash, thus I've not made a test.
13220
13221 * css/CSSGradientValue.cpp:
13222 (WebCore::CSSGradientValue::image):
13223 * css/CSSImageGeneratorValue.cpp:
13224 (WebCore::CSSImageGeneratorValue::removeClient):
13225 (WebCore::CSSImageGeneratorValue::getImage):
13226 * css/CSSImageGeneratorValue.h:
13227 * platform/graphics/GeneratedImage.h:
13228 (WebCore::GeneratedImage::GeneratedImage):
13229 * rendering/style/RenderStyle.cpp:
13230 (WebCore::RenderStyle::setContent):
13231 * rendering/style/RenderStyle.h:
13232
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000132332008-08-29 Eric Carlson <eric.carlson@apple.com>
13234
13235 Reviewed by Adele.
13236
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000013237 Fix for <rdar://problem/6093767>
13238 https://bugs.webkit.org/show_bug.cgi?id=20526
13239
13240 Don't allow video to render until unsupported track types have been disabled.
13241
13242 * platform/graphics/win/QTMovieWin.cpp:
13243 (QTMovieWinPrivate::task):
13244 (QTMovieWinPrivate::drawingComplete):
13245 (QTMovieWinPrivate::clearGWorld):
13246
132472008-08-29 Eric Carlson <eric.carlson@apple.com>
13248
13249 Reviewed by Adele.
13250
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000013251 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
13252 <rdar://problem/6169301>
13253
13254 Return the size of the movie data instead of 1000.
13255
13256 Test: media/progress-event-total.html
13257
13258 * platform/graphics/win/QTMovieWin.cpp:
13259 (QTMovieWin::dataSize):
13260
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000132612008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
13262
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000013263 Reviewed by Eric Seidel.
13264
13265 [janitor/qt] Start replacing port specific getters with the generic native getter
13266 To get the native presentation of an image we currently have platform
13267 specific #ifdef's and a generic getter using NativeImagePtr. This patch
13268 extends this to the ImageBuffer and updates the Qt platform to get rid
13269 of the special #ifdefs.
13270
13271 https://bugs.webkit.org/attachment.cgi?id=22861
13272
13273 * platform/graphics/BitmapImage.h:
13274 * platform/graphics/Image.h:
13275 * platform/graphics/qt/ImageQt.cpp:
13276 * platform/graphics/qt/StillImageQt.cpp:
13277 * platform/graphics/qt/StillImageQt.h:
13278 * platform/qt/ClipboardQt.cpp:
13279 (WebCore::ClipboardQt::createDragImage):
13280 (WebCore::ClipboardQt::declareAndWriteDragImage):
13281 * platform/qt/CursorQt.cpp:
13282 * platform/qt/PasteboardQt.cpp:
13283 (WebCore::Pasteboard::writeImage):
13284
132852008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
13286
hausmann@webkit.org0367b582008-08-29 15:56:02 +000013287 Reviewed by Simon.
13288
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000013289 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
13290
13291 * svg/graphics/qt/SVGPaintServerQt.cpp:
13292 (WebCore::SVGPaintServer::renderPath):
13293 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
13294 (WebCore::SVGPaintServerSolid::setup):
13295
132962008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
13297
13298 Reviewed by Simon.
13299
hausmann@webkit.org0367b582008-08-29 15:56:02 +000013300 [network/qt] Implement defering of loading ResourceHandle's
13301 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
13302 implementation is simply not forwarding anything to the
13303 ResourceHandleClient until we are allowed to. This might lead to a deadlock
13304 in Qt as we do not empty the QNetworkReply input buffer and wait until we
13305 are allowed to read. If that happens we are forced to buffer the data
13306 within QNetworkReplyHandler, for now this is not done.
13307
13308 Manual test:
13309 - Open http://acid3.acidtests.org
13310 - Wait for the test to complete
13311 - Click on the Reference Rendering link
13312 - Be fast and see the results of acid3
13313 => assert
13314
13315 * platform/network/qt/QNetworkReplyHandler.cpp:
13316 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
13317 (WebCore::QNetworkReplyHandler::setLoadMode):
13318 (WebCore::QNetworkReplyHandler::finish):
13319 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
13320 (WebCore::QNetworkReplyHandler::forwardData):
13321 (WebCore::QNetworkReplyHandler::start):
13322 (WebCore::QNetworkReplyHandler::resetState):
13323 (WebCore::QNetworkReplyHandler::sendQueuedItems):
13324 * platform/network/qt/QNetworkReplyHandler.h:
13325 (WebCore::QNetworkReplyHandler::):
13326 * platform/network/qt/ResourceHandleQt.cpp:
13327 (WebCore::ResourceHandle::start):
13328 (WebCore::ResourceHandle::loadResourceSynchronously):
13329 (WebCore::ResourceHandle::setDefersLoading):
13330
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000133312008-08-29 Simon Hausmann <hausmann@webkit.org>
13332
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000013333 Reviewed by Holger.
13334
13335 Don't crash when drawing patterns with the HTML canvas. Patterns
13336 remain unimplemented but at least they don't crash anymore. This is
13337 done by changing the PlatformPatternPtr to be a brush for the Qt
13338 platform.
13339
13340 * platform/graphics/Pattern.h:
13341 * platform/graphics/qt/GraphicsContextQt.cpp:
13342 (WebCore::GraphicsContext::fillPath):
13343 (WebCore::GraphicsContext::strokePath):
13344 (WebCore::GraphicsContext::fillRect):
13345 * platform/graphics/qt/PatternQt.cpp:
13346 (WebCore::Pattern::createPlatformPattern):
13347
133482008-08-29 Simon Hausmann <hausmann@webkit.org>
13349
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000013350 Fix the Qt build, fontSelector() is not used by the Qt port yet
13351 and we just return 0 in Font::fontSelector().
13352
13353 * platform/graphics/Font.h:
13354
alp@webkit.org97d8c102008-08-29 05:09:39 +0000133552008-08-28 Alp Toker <alp@nuanti.com>
13356
13357 GTK+ dist/build fix. List newly added header files.
13358
13359 * GNUmakefile.am:
13360
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000133612008-08-28 Simon Fraser <simon.fraser@apple.com>
13362
13363 Reviewed by Dave Hyatt
13364
13365 Various WebKitCSSTransformValue-related fixes
13366 https://bugs.webkit.org/show_bug.cgi?id=20562
13367
13368 Test: css3/transform-value-types.html
13369
13370 * bindings/js/JSCSSValueCustom.cpp:
13371 (WebCore::toJS):
13372 * css/CSSValue.h:
13373 * css/WebKitCSSTransformValue.cpp:
13374 (WebCore::WebKitCSSTransformValue::cssText):
13375 * css/WebKitCSSTransformValue.h:
13376 (WebCore::WebKitCSSTransformValue::):
13377 * css/WebKitCSSTransformValue.idl:
13378
mitz@apple.comd7222352008-08-28 22:53:31 +0000133792008-08-28 Dan Bernstein <mitz@apple.com>
13380
13381 Reviewed by Steve Falkenburg.
13382
13383 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
13384
13385 * platform/win/SharedTimerWin.cpp:
13386 (WebCore::TimerWindowWndProc):
13387
hyatt@apple.com7d335232008-08-28 21:38:45 +0000133882008-08-28 David Hyatt <hyatt@apple.com>
13389
13390 RenderStyle cleanup.
13391
13392 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
13393
13394 Reviewed by Adam
13395
13396 * css/CSSImageGeneratorValue.cpp:
13397 * css/CSSImageValue.cpp:
13398 * css/CSSStyleSelector.cpp:
13399 * rendering/RenderImageGeneratedContent.cpp:
13400 * rendering/style/NinePieceImage.cpp: Added.
13401 * rendering/style/NinePieceImage.h: Added.
13402 * rendering/style/RenderStyle.cpp:
13403 (WebCore::FillLayer::operator==):
13404 (WebCore::FillLayer::containsImage):
13405 (WebCore::StyleInheritedData::operator==):
13406 (WebCore::RenderStyle::contentDataEquivalent):
13407 * rendering/style/RenderStyle.h:
13408 * rendering/style/StyleCachedImage.cpp: Added.
13409 * rendering/style/StyleCachedImage.h: Added.
13410 * rendering/style/StyleGeneratedImage.cpp: Added.
13411 * rendering/style/StyleGeneratedImage.h: Added.
13412 * rendering/style/StyleImage.h: Added.
13413
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000134142008-08-28 Simon Fraser <simon.fraser@apple.com>
13415
13416 Reviewed by Dave Hyatt
13417
13418 Make all the 'isFoo()' methods on CSSValue const,
13419 and fix the subclasses.
13420
13421 https://bugs.webkit.org/show_bug.cgi?id=20561
13422
13423 * css/CSSTimingFunctionValue.h:
13424 * css/CSSValue.h:
13425 (WebCore::CSSValue::isFontValue):
13426 (WebCore::CSSValue::isImageGeneratorValue):
13427 (WebCore::CSSValue::isImageValue):
13428 (WebCore::CSSValue::isImplicitInitialValue):
13429 * css/CSSValueList.h:
13430 * css/FontValue.h:
13431
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000134322008-08-28 David Hyatt <hyatt@apple.com>
13433
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000013434 The great RenderStyle cleanup begins!
13435
13436 Move LengthBox and LengthSize out of RenderStyle and into Length.
13437
13438 Reviewed by Adam
13439
13440 * rendering/Length.h:
13441 (WebCore::):
13442 (WebCore::Length::Length):
13443 (WebCore::Length::operator==):
13444 (WebCore::Length::operator!=):
13445 (WebCore::Length::value):
13446 (WebCore::Length::rawValue):
13447 (WebCore::Length::percent):
13448 (WebCore::Length::type):
13449 (WebCore::Length::quirk):
13450 (WebCore::Length::setValue):
13451 (WebCore::Length::setRawValue):
13452 (WebCore::Length::calcValue):
13453 (WebCore::Length::calcMinValue):
13454 (WebCore::Length::calcFloatValue):
13455 (WebCore::Length::isUndefined):
13456 (WebCore::Length::isZero):
13457 (WebCore::Length::isPositive):
13458 (WebCore::Length::isNegative):
13459 (WebCore::Length::isAuto):
13460 (WebCore::Length::isRelative):
13461 (WebCore::Length::isPercent):
13462 (WebCore::Length::isFixed):
13463 (WebCore::Length::isStatic):
13464 (WebCore::Length::isIntrinsicOrAuto):
13465 (WebCore::Length::blend):
13466 (WebCore::LengthBox::LengthBox):
13467 (WebCore::LengthBox::operator=):
13468 (WebCore::LengthBox::operator==):
13469 (WebCore::LengthBox::operator!=):
13470 (WebCore::LengthBox::nonZero):
13471 (WebCore::LengthSize::LengthSize):
13472 * rendering/style/RenderStyle.h:
13473
134742008-08-28 David Hyatt <hyatt@apple.com>
13475
hyatt@apple.com550a95c2008-08-28 19:53:56 +000013476 Reviewed by Darin
13477
13478 https://bugs.webkit.org/show_bug.cgi?id=18091
13479
13480 font-size should be animatable using -webkit-transition.
13481
13482 * page/AnimationController.cpp:
13483 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
13484 * rendering/style/RenderStyle.h:
13485 (WebCore::RenderStyle::setFontSize):
13486
mitz@apple.com30923ad2008-08-28 17:45:47 +0000134872008-08-28 Brad Garcia <bgarcia@google.com>
13488
13489 Reviewed by Dan Bernstein.
13490
13491 https://bugs.webkit.org/show_bug.cgi?id=20549
13492 Correctly determine when cursor is over a resizable border within
13493 a nested frameset.
13494
13495 * rendering/RenderFrameSet.cpp:
13496 (WebCore::RenderFrameSet::canResizeRow):
13497 (WebCore::RenderFrameSet::canResizeColumn):
13498
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000134992008-08-28 Simon Fraser <simon.fraser@apple.com>
13500
13501 Reviewed by Eric Seidel
13502
13503 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
13504 https://bugs.webkit.org/show_bug.cgi?id=20552
13505
13506 Test: animations/animation-css-rule-types.html
13507
13508 * css/CSSRule.idl:
13509
andersca@apple.com12399c32008-08-28 17:26:46 +0000135102008-08-28 Anders Carlsson <andersca@apple.com>
13511
13512 Reviewed by Kevin and Darin.
13513
13514 <rdar://problem/6182541>
13515 https://bugs.webkit.org/show_bug.cgi?id=20202
13516 Missing http status line from the http headers.
13517
13518 Add a status line to the header string.
13519
13520 * plugins/PluginStream.cpp:
13521 (WebCore::PluginStream::startStream):
13522
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000135232008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
13524
13525 Rubber-stamped by Darin Adler.
13526
13527 https://bugs.webkit.org/show_bug.cgi?id=17261
13528
13529 Make it possible to theme the default Url icon and enable this for
13530 the Qt port. To have a minimal usage of #ifdef in the code the setting
13531 of the icon was moved to a new method which comes in two flavors.
13532
13533 * loader/icon/IconDatabase.cpp:
13534 (WebCore::loadDefaultIconRecord): Load or set the default icon
13535 (WebCore::IconDatabase::defaultIcon):
13536
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000135372008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
13538
13539 Unreviewed compile fix
13540
13541 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
13542
aroben@apple.comfacf5032008-08-28 13:34:01 +0000135432008-08-28 Adam Roben <aroben@apple.com>
13544
13545 Windows (and others?) build fix
13546
13547 * page/Chrome.cpp: Added a missing #include.
13548 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
13549
eric@webkit.org22794fd2008-08-28 12:04:40 +0000135502008-08-27 Eric Seidel <eric@webkit.org>
13551
13552 Reviewed by Oliver Hunt.
13553
eric@webkit.org5f874e92008-08-28 12:04:55 +000013554 Qt and Cairo support from krit (and blind stab @ wx compile support)
13555 https://bugs.webkit.org/show_bug.cgi?id=20373
13556
13557 * platform/graphics/cairo/GraphicsContextCairo.cpp:
13558 (WebCore::GraphicsContext::fillPath):
13559 (WebCore::GraphicsContext::strokePath):
13560 (WebCore::GraphicsContext::drawPath):
13561 (WebCore::GraphicsContext::fillRect):
13562 (WebCore::GraphicsContext::setPlatformFillColor):
13563 (WebCore::GraphicsContext::setPlatformStrokeColor):
13564 (WebCore::GraphicsContext::setPlatformStrokeStyle):
13565 (WebCore::GraphicsContext::strokeRect):
13566 (WebCore::GraphicsContext::setImageInterpolationQuality):
13567 (WebCore::GraphicsContext::imageInterpolationQuality):
13568 (WebCore::GraphicsContext::setPlatformFillPattern):
13569 (WebCore::GraphicsContext::setPlatformStrokePattern):
13570 (WebCore::GraphicsContext::setPlatformFillGradient):
13571 (WebCore::GraphicsContext::setPlatformStrokeGradient):
13572 * platform/graphics/qt/GraphicsContextQt.cpp:
13573 (WebCore::GraphicsContext::fillPath):
13574 (WebCore::GraphicsContext::strokePath):
13575 (WebCore::GraphicsContext::fillRect):
13576 (WebCore::GraphicsContext::strokeRect):
13577 (WebCore::GraphicsContext::clipToImageBuffer):
13578 (WebCore::GraphicsContext::setPlatformFillPattern):
13579 (WebCore::GraphicsContext::setPlatformStrokePattern):
13580 (WebCore::GraphicsContext::setPlatformFillGradient):
13581 (WebCore::GraphicsContext::setPlatformStrokeGradient):
13582 (WebCore::GraphicsContext::setImageInterpolationQuality):
13583 (WebCore::GraphicsContext::imageInterpolationQuality):
13584 * platform/graphics/wx/GraphicsContextWx.cpp:
13585 (WebCore::GraphicsContext::clipToImageBuffer):
13586 (WebCore::GraphicsContext::setImageInterpolationQuality):
13587 (WebCore::GraphicsContext::imageInterpolationQuality):
13588 (WebCore::GraphicsContext::fillPath):
13589 (WebCore::GraphicsContext::strokePath):
13590 (WebCore::GraphicsContext::drawPath):
13591 (WebCore::GraphicsContext::fillRect):
13592 (WebCore::GraphicsContext::setPlatformFillPattern):
13593 (WebCore::GraphicsContext::setPlatformStrokePattern):
13594 (WebCore::GraphicsContext::setPlatformFillGradient):
13595
135962008-08-27 Eric Seidel <eric@webkit.org>
13597
13598 Reviewed by Oliver Hunt.
13599
eric@webkit.org22794fd2008-08-28 12:04:40 +000013600 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
13601 https://bugs.webkit.org/show_bug.cgi?id=20373
13602
13603 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
13604
13605 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
13606 have to store large Gradient objects in the GraphicsContextState
13607
13608 Made Pattern RefCounted for the same reason.
13609
13610 Many updates to GraphicsContext to support easier drawing with
13611 Patterns and Gradients.
13612
13613 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
13614 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
13615 (WebCore::toJS):
13616 * css/CSSGradientValue.cpp:
13617 (WebCore::CSSGradientValue::createGradient):
13618 * css/CSSGradientValue.h:
13619 * html/CanvasGradient.cpp:
13620 (WebCore::CanvasGradient::CanvasGradient):
13621 * html/CanvasGradient.h:
13622 (WebCore::CanvasGradient::gradient):
13623 (WebCore::CanvasGradient::addColorStop):
13624 (WebCore::CanvasGradient::getColor):
13625 * html/CanvasPattern.cpp:
13626 * html/CanvasPattern.h:
13627 (WebCore::CanvasPattern::pattern):
13628 (WebCore::CanvasPattern::originClean):
13629 * html/CanvasRenderingContext2D.cpp:
13630 (WebCore::CanvasRenderingContext2D::State::State):
13631 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
13632 (WebCore::CanvasRenderingContext2D::setFillStyle):
13633 (WebCore::CanvasRenderingContext2D::fill):
13634 (WebCore::CanvasRenderingContext2D::stroke):
13635 (WebCore::CanvasRenderingContext2D::fillRect):
13636 (WebCore::CanvasRenderingContext2D::strokeRect):
13637 * html/CanvasRenderingContext2D.h:
13638 * html/CanvasStyle.cpp:
13639 (WebCore::CanvasStyle::applyStrokeColor):
13640 (WebCore::CanvasStyle::applyFillColor):
13641 * html/CanvasStyle.h:
13642 * platform/graphics/GeneratedImage.h:
13643 (WebCore::GeneratedImage::GeneratedImage):
13644 * platform/graphics/Generator.h:
13645 * platform/graphics/Gradient.h:
13646 (WebCore::Gradient::create):
13647 * platform/graphics/GraphicsContext.cpp:
13648 (WebCore::GraphicsContext::fillRule):
13649 (WebCore::GraphicsContext::setFillRule):
13650 (WebCore::GraphicsContext::setStrokePattern):
13651 (WebCore::GraphicsContext::setFillPattern):
13652 (WebCore::GraphicsContext::setStrokeGradient):
13653 (WebCore::GraphicsContext::setFillGradient):
13654 * platform/graphics/GraphicsContext.h:
13655 * platform/graphics/GraphicsContextPrivate.h:
13656 (WebCore::):
13657 (WebCore::GraphicsContextState::GraphicsContextState):
13658 * platform/graphics/GraphicsTypes.h:
13659 * platform/graphics/Path.h:
13660 * platform/graphics/Pattern.h:
13661 (WebCore::Pattern::create):
13662 (WebCore::Pattern::tileImage):
13663 * platform/graphics/cg/GraphicsContextCG.cpp:
13664 (WebCore::GraphicsContext::drawRect):
13665 (WebCore::GraphicsContext::drawEllipse):
13666 (WebCore::GraphicsContext::drawConvexPolygon):
13667 (WebCore::calculateDrawingMode):
13668 (WebCore::GraphicsContext::drawPath):
13669 (WebCore::fillPathWithFillRule):
13670 (WebCore::GraphicsContext::fillPath):
13671 (WebCore::GraphicsContext::strokePath):
13672 (WebCore::GraphicsContext::fillRect):
13673 (WebCore::GraphicsContext::fillRoundedRect):
13674 (WebCore::GraphicsContext::setPlatformStrokePattern):
13675 (WebCore::GraphicsContext::setPlatformFillPattern):
13676 (WebCore::GraphicsContext::setPlatformStrokeGradient):
13677 (WebCore::GraphicsContext::setPlatformFillGradient):
13678
eric@webkit.org70b099f2008-08-28 11:42:26 +0000136792008-08-20 Eric Seidel <eric@webkit.org>
13680
13681 Reviewed by Darin and Alexey.
13682
13683 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
13684 with timeouts paused.
13685 https://bugs.webkit.org/show_bug.cgi?id=20469
13686
13687 I attempted to clean up the memory management of PausedTimeouts, I'm not
13688 sure the solution I came up with is "cleaner", but it's in some ways
13689 "safer", since it no longer uses raw pointers and manual new/delete.
13690
13691 This also now prevents CachedPage from needlessly creating Window
13692 objects when caching pages which didn't already have one. :)
13693
13694 I also made Chrome.cpp no longer depend on the JavaScript bindings
13695 (aka JSDOMWindowBase.h), since there was no real reason for it to.
13696
13697 * bindings/js/JSDOMWindowBase.cpp:
13698 (WebCore::JSDOMWindowBase::pauseTimeouts):
13699 (WebCore::JSDOMWindowBase::resumeTimeouts):
13700 * bindings/js/JSDOMWindowBase.h:
13701 * bindings/js/ScriptController.cpp:
13702 (WebCore::ScriptController::pauseTimeouts):
13703 (WebCore::ScriptController::resumeTimeouts):
13704 * bindings/js/ScriptController.h:
13705 * history/CachedPage.cpp:
13706 (WebCore::CachedPage::CachedPage):
13707 (WebCore::CachedPage::restore):
13708 * page/Chrome.cpp:
13709 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
13710 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
13711 * page/JavaScriptDebugServer.cpp:
13712 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
13713 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
13714
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000137152008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
13716
13717 Unreviewed compile fix
13718
13719 Add the stub for the Qt port.
13720
13721 * WebCore.pro:
13722 * page/qt/AccessibilityObjectQt.cpp: Added.
13723 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13724
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000137252008-08-27 Alp Toker <alp@nuanti.com>
13726
13727 Reviewed by Eric.
13728
13729 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000013730 [GTK] search popup crash
13731
13732 * platform/gtk/SearchPopupMenuGtk.cpp:
13733 (WebCore::SearchPopupMenu::enabled):
13734 Fix a search popup crasher by disabling the history popup since we
13735 don't support this feature yet in the GTK+ port.
13736
137372008-08-27 Alp Toker <alp@nuanti.com>
13738
13739 Reviewed by Eric.
13740
13741 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000013742 [GTK] curl crashers
13743
13744 * platform/network/curl/ResourceHandleManager.cpp:
13745 (WebCore::ResourceHandleManager::startScheduledJobs):
13746 Remove the resource handle from the pending list before starting the
13747 job, not afterwards. Fixes crashers in the test suite.
13748
13749 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
13750 Test: fast/encoding/char-encoding.html
13751
eric@webkit.org712cb892008-08-28 00:26:15 +0000137522008-08-27 Dirk Schulze <vbs85@gmx.de>
13753
13754 Reviewed by eseidel.
13755
13756 Fix canvas drawImage to support composite operations.
13757 Composite had no effect on canvas elements like these:
13758 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
13759
13760 [CAIRO] Canvas composite don't work on canvas-elements.
13761 https://bugs.webkit.org/show_bug.cgi?id=20548
13762
13763 * html/CanvasRenderingContext2D.cpp:
13764 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
13765
eric@webkit.org75c83a02008-08-28 00:04:59 +0000137662008-08-27 Mario Bensi <mbensi@pleyo.com>
13767
13768 Reviewed by Eric Seidel.
13769
13770 Fix the data content of an image with a base64.
13771
13772 * platform/network/curl/ResourceHandleManager.cpp:
13773 (WebCore::parseDataUrl): Remove the String and use only the data
13774 Vector because the data.latin1().data() convert the data content and
13775 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
13776 not drawn correctly.
13777
antti@apple.comf66a86b2008-08-27 23:59:50 +0000137782008-08-27 Antti Koivisto <antti@apple.com>
13779
13780 Reviewed by Eric Seidel.
13781
13782 Crash after OK in dialog box and reloading page in secure mode
13783 https://bugs.webkit.org/show_bug.cgi?id=20493
13784
13785 The new run loop spawned by a modal dialog causes a timer in the loader to run
13786 synchronously inside didFinishLoading() deleting "this" object.
13787
13788 Defer all WebCore timers when a modal dialog is up. They are not
13789 safe to execute.
13790
13791 * page/Chrome.cpp:
13792 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
13793 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
13794
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000137952008-08-27 Chris Marrin <cmarrin@apple.com>
13796
13797 Reviewed by Dave Hyatt
13798
13799 Memory leaks when animating transforms
13800 https://bugs.webkit.org/show_bug.cgi?id=20532
13801
13802 * rendering/style/RenderStyle.cpp:
13803 (WebCore::ScaleTransformOperation::blend):
13804 (WebCore::RotateTransformOperation::blend):
13805 (WebCore::SkewTransformOperation::blend):
13806 (WebCore::TranslateTransformOperation::blend):
13807 (WebCore::MatrixTransformOperation::blend):
13808 * rendering/style/RenderStyle.h:
13809
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000138102008-08-27 Timothy Hatcher <timothy@apple.com>
13811
13812 Add support for support for -webkit-appearance: default-button on the Mac platform.
13813
13814 <rdar://problem/6173530>
13815
13816 Reviewed by Dave Hyatt.
13817
13818 * WebCore.base.exp: Export new symbols.
13819 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
13820 * platform/mac/WebCoreSystemInterface.mm: Ditto.
13821 * rendering/RenderButton.cpp:
13822 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
13823 (WebCore::RenderButton::setStyle): Ditto.
13824 * rendering/RenderButton.h: Ditto.
13825 * rendering/RenderThemeMac.mm:
13826 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
13827 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
13828 key if the button is default, otherwise reset the key equivalent.
13829 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
13830 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
13831 the window's previous default button cell when finished.
13832
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000138332008-08-26 David Hyatt <hyatt@apple.com>
13834
13835 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
13836
13837 Reviewed by weinig
13838
13839 Added fast/forms/zoomed-controls.html
13840
13841 * css/CSSStyleSelector.cpp:
13842 (WebCore::addIntrinsicMargins):
13843 * rendering/RenderSlider.cpp:
13844 (WebCore::RenderSlider::calcPrefWidths):
13845 * rendering/RenderThemeMac.h:
13846 * rendering/RenderThemeMac.mm:
13847 (WebCore::RenderThemeMac::adjustRepaintRect):
13848 (WebCore::RenderThemeMac::inflateRect):
13849 (WebCore::RenderThemeMac::baselinePosition):
13850 (WebCore::RenderThemeMac::setControlSize):
13851 (WebCore::RenderThemeMac::sizeForFont):
13852 (WebCore::RenderThemeMac::sizeForSystemFont):
13853 (WebCore::RenderThemeMac::setFontFromControlSize):
13854 (WebCore::RenderThemeMac::paintCheckbox):
13855 (WebCore::RenderThemeMac::setCheckboxCellState):
13856 (WebCore::RenderThemeMac::paintRadio):
13857 (WebCore::RenderThemeMac::setRadioCellState):
13858 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
13859 (WebCore::RenderThemeMac::adjustButtonStyle):
13860 (WebCore::RenderThemeMac::setButtonCellState):
13861 (WebCore::RenderThemeMac::paintButton):
13862 (WebCore::RenderThemeMac::paintMenuList):
13863 (WebCore::RenderThemeMac::paintMenuListButton):
13864 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
13865 (WebCore::RenderThemeMac::popupInternalPaddingRight):
13866 (WebCore::RenderThemeMac::popupInternalPaddingTop):
13867 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
13868 (WebCore::RenderThemeMac::setPopupButtonCellState):
13869 (WebCore::RenderThemeMac::paintSliderTrack):
13870 (WebCore::RenderThemeMac::paintSliderThumb):
13871 (WebCore::RenderThemeMac::adjustSliderThumbSize):
13872 (WebCore::RenderThemeMac::paintSearchField):
13873 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
13874 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
13875 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
13876
beidson@apple.comd0793872008-08-27 19:59:55 +0000138772008-08-27 Brady Eidson <beidson@apple.com>
13878
13879 Reviewed by Anders
13880
13881 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
13882
13883 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
13884 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
13885 away the virtual address space and a crash.
13886
13887 * loader/EmptyClients.h:
13888 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
13889 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
13890 "plugin will handle load"
13891
13892 * loader/MediaDocument.cpp:
13893 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
13894 and cancel the WebCore-managed load
13895 (WebCore::MediaTokenizer::writeRawData):
13896 (WebCore::MediaTokenizer::finish):
13897
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000138982008-08-26 Simon Fraser <simon.fraser@apple.com>
13899
13900 Reviewed by Eric Seidel
13901
13902 Linear timing functions should have control points 0, 0, 1, 1.
13903 https://bugs.webkit.org/show_bug.cgi?id=20535
13904
13905 * css/CSSStyleSelector.cpp:
13906 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
13907 * rendering/style/RenderStyle.h:
13908
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000139092008-08-27 Adam Roben <aroben@apple.com>
13910
13911 Windows build fix
13912
13913 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
13914
mrowe@apple.com37686d42008-09-04 00:10:39 +0000139152008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000013916
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000013917 Reviewed by Beth Dakin.
13918
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000013919 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
13920
13921 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
13922 to determine if an attachment is ignored through accessibility. Added equivalent
13923 methods in Gtk, Win and Mac
13924
13925 Test: accessibility/plugin.html
13926
13927 * GNUmakefile.am:
13928 * WebCore.vcproj/WebCore.vcproj:
13929 * WebCore.xcodeproj/project.pbxproj:
13930 * page/AccessibilityObject.h:
13931 * page/AccessibilityRenderObject.cpp:
13932 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
13933 * page/gtk/AccessibilityObjectAtk.cpp: Added.
13934 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13935 * page/mac/AccessibilityObjectMac.mm: Added.
13936 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13937 * page/mac/AccessibilityObjectWrapper.h:
13938 * page/win/AccessibilityObjectWin.cpp: Added.
13939 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13940
mrowe@apple.com37686d42008-09-04 00:10:39 +0000139412008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000013942
13943 Reviewed by Beth Dakin.
13944
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000013945 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
13946
13947 * page/mac/AccessibilityObjectWrapper.mm:
13948 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
13949 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
13950
mrowe@apple.com37686d42008-09-04 00:10:39 +0000139512008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000013952
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000013953 Reviewed by Darin Adler.
13954
13955 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
13956
13957 Tests: accessibility/table-notbody.html
13958
13959 * page/AccessibilityTable.cpp:
13960 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
13961
weinig@apple.com33705852008-08-26 19:51:28 +0000139622008-08-26 Sam Weinig <sam@webkit.org>
13963
weinig@apple.comf6f553a2008-08-26 21:21:26 +000013964 Reviewed by Beth Dakin.
13965
13966 Fix typo.
13967
13968 * dom/DOMCoreException.h:
13969
139702008-08-26 Sam Weinig <sam@webkit.org>
13971
weinig@apple.com0f34f002008-08-26 19:56:54 +000013972 Reviewed by Oliver Hunt.
13973
13974 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
13975 <rdar://problem/6167660>
13976 Take image redirects into account when tainting the canvas.
13977
13978 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
13979
13980 * html/CanvasRenderingContext2D.cpp:
13981 (WebCore::CanvasRenderingContext2D::drawImage):
13982 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
13983
139842008-08-26 Sam Weinig <sam@webkit.org>
13985
weinig@apple.com33705852008-08-26 19:51:28 +000013986 Reviewed by Darin Adler.
13987
13988 Change canvas tainting logic to ask the image if it contains
13989 any resources outside of its own origin. Since there is no
13990 way to determine if SVG images contain any resources outside its
13991 origin, we always assume it does.
13992
13993 * html/CanvasRenderingContext2D.cpp:
13994 (WebCore::CanvasRenderingContext2D::drawImage):
13995 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
13996 * platform/graphics/BitmapImage.h:
13997 (WebCore::BitmapImage::hasSingleSecurityOrigin):
13998 * platform/graphics/GeneratedImage.h:
13999 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
14000 * platform/graphics/Image.h:
14001 (WebCore::Image::hasSingleSecurityOrigin):
14002 * platform/graphics/cg/PDFDocumentImage.h:
14003 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
14004 * svg/graphics/SVGImage.h:
14005
britto@apple.com616ef6d2008-08-26 17:51:03 +0000140062008-08-26 Maxime Britto <britto@apple.com>
14007
14008 Reviewed by Adele.
14009
14010 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
14011 This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
14012 This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
14013
14014 * page/EventHandler.cpp:
14015 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
14016 * page/EventHandler.h:
14017 * rendering/RenderLayer.cpp:
14018 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
14019 (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
14020 * rendering/RenderLayer.h:
14021 * rendering/RenderObject.cpp:
14022 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
14023 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
14024 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
14025
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000140262008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
14027
darin@apple.com07c80c62008-09-05 18:15:43 +000014028 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000014029
14030 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
14031 https://bugs.webkit.org/show_bug.cgi?id=20247
14032
14033 <rdar://problem/6118218>
14034
14035 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
14036 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
14037 (case insensitive for HTML elements).
14038
14039 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
14040
14041 * dom/Element.cpp:
14042 (WebCore::Element::getAttribute):
14043 * dom/NamedAttrMap.cpp:
14044 (WebCore::NamedAttrMap::getNamedItem):
14045 (WebCore::NamedAttrMap::getAttributeItem):
14046 * dom/NamedAttrMap.h:
14047
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000140482008-08-25 Sam Weinig <sam@webkit.org>
14049
weinig@apple.com8d3ea722008-08-26 04:19:07 +000014050 Reviewed by Oliver Hunt.
14051
14052 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
14053 <rdar://problem/6174096>
14054 Treat SVG images as dirty when drawing to a canvas.
14055
14056 Test: http/tests/security/canvas-remote-read-svg-image.html
14057
14058 * html/CanvasRenderingContext2D.cpp:
14059 (WebCore::CanvasRenderingContext2D::drawImage):
14060 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
14061 * platform/graphics/Image.h:
14062 (WebCore::Image::isSVGImage):
14063 * svg/graphics/SVGImage.h:
14064 (WebCore::SVGImage::isSVGImage):
14065
140662008-08-25 Sam Weinig <sam@webkit.org>
14067
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000014068 Reviewed by Mark Rowe.
14069
14070 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
14071 Leak in XMLHttpRequest.
14072
14073 * xml/XMLHttpRequest.cpp:
14074 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
14075
beidson@apple.com46421212008-08-25 21:48:56 +0000140762008-08-25 Brady Eidson <beidson@apple.com>
14077
14078 Reviewed by Anders
14079
14080 Speculative fix for <rdar://problem/6173217>
14081
14082 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
14083 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
14084 the first null check invalid.
14085
14086 * loader/FrameLoader.cpp:
14087 (WebCore::FrameLoader::stopAllLoaders):
14088
14089
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000140902008-08-25 Kevin McCullough <kmccullough@apple.com>
14091
14092 Reviewed by Tim.
14093
14094 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
14095 there is no profile, can cause crash
14096
14097 * page/inspector/ProfilesPanel.js:
14098
dino@apple.com1baeea62008-08-25 21:06:21 +0000140992008-08-25 Dean Jackson <dino@apple.com>
14100
14101 Reviewed by Dave Hyatt
14102
14103 Make sure 'inherit' is handled by transition property.
14104 https://bugs.webkit.org/show_bug.cgi?id=20513
14105
14106 Test: transitions/inherit.html
14107 Test: transitions/inherit-other-props.html
14108
14109 * css/CSSStyleSelector.cpp:
14110 fix macro to check existence of list before getting size
14111
andersca@apple.com2866b8302008-08-25 20:56:21 +0000141122008-08-25 Anders Carlsson <andersca@apple.com>
14113
14114 Reviewed by Mark.
14115
14116 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
14117
14118 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
14119 (safely) that any class that needs finalization on the main thread will also need to be deallocated
14120 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
14121 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
14122
14123 * platform/mac/WebCoreObjCExtras.c:
14124 (WebCoreObjCFinalizeOnMainThread):
14125
antti@apple.com60381cb2008-08-25 20:41:11 +0000141262008-08-25 Antti Koivisto <antti@apple.com>
14127
14128 Reviewed by Dan Bernstein.
14129
14130 Rename CachedResource::referenced() to CachedResource::hasClients() to
14131 match previous ref() -> addClient() rename.
14132
14133 * loader/Cache.cpp:
14134 (WebCore::Cache::pruneLiveResources):
14135 (WebCore::Cache::pruneDeadResources):
14136 (WebCore::Cache::remove):
14137 (WebCore::Cache::getStatistics):
14138 (WebCore::Cache::dumpLRULists):
14139 * loader/CachedResource.cpp:
14140 (WebCore::CachedResource::addClient):
14141 (WebCore::CachedResource::removeClient):
14142 (WebCore::CachedResource::setDecodedSize):
14143 (WebCore::CachedResource::setEncodedSize):
14144 * loader/CachedResource.h:
14145 (WebCore::CachedResource::hasClients):
14146 (WebCore::CachedResource::canDelete):
14147
timothy@apple.com7d809242008-08-25 18:33:05 +0000141482008-08-25 Anthony Ricaud <rik24d@gmail.com>
14149
14150 Add a missing Inspector localized string for "other".
14151
14152 https://bugs.webkit.org/show_bug.cgi?id=20509
14153
14154 Reviewed by Tim Hatcher.
14155
14156 * English.lproj/localizedStrings.js:
14157
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000141582008-08-22 Kevin McCullough <kmccullough@apple.com>
14159
14160 Reviewed by Geoff, Mark and Tim.
14161
14162 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
14163 in the console said what file and line number they came from
14164 - Lay the foundation for getting line numbers and other data from the
14165 JavaScript engine.
14166
14167 * ForwardingHeaders/VM: Added.
14168 * ForwardingHeaders/VM/Machine.h: Added.
14169 * page/Console.cpp: Gather the line number and file information when
14170 profileEnd has been called, but don't use it until didFinishProfiling is
14171 called. We won't need to wait once we remove the profiler "zombie" mode
14172 which this patch helps pave the foundation for.
14173 (WebCore::Console::Console):
14174 (WebCore::Console::profileEnd):
14175 (WebCore::Console::finishedProfiling):
14176 * page/Console.h:
14177 * page/InspectorController.cpp: Modify calls to
14178 addProfileMessageToConsole to satisfy the new arguments it takes.
14179 (WebCore::InspectorController::finishedProfiling):
14180 (WebCore::InspectorController::addProfile):
14181 (WebCore::InspectorController::addProfileMessageToConsole):
14182 (WebCore::InspectorController::finishedProfiling):
14183 * page/InspectorController.h:
14184
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000141852008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
14186
14187 Reviewed by Simon.
14188
14189 [inspector] Update the WebKit.qrc Qt resources file
14190 Catchup with the changes in the directory.
14191
14192 * page/inspector/WebKit.qrc:
14193
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000141942008-08-25 Dirk Schulze <vbs85@gmx.de>
14195
14196 Reviewed by Simon.
14197
14198 Transformed the radian to degree, to get rotate()
14199 in canvas work as expected.
14200
14201 [Qt] Canvas.rotate() doesn't work
14202 https://bugs.webkit.org/show_bug.cgi?id=20496
14203
14204 * platform/graphics/qt/GraphicsContextQt.cpp:
14205 (WebCore::GraphicsContext::rotate):
14206
sfalken@apple.com9d442862008-08-25 05:43:33 +0000142072008-08-24 Steve Falkenburg <sfalken@apple.com>
14208
14209 Add a "last chance" WM_TIMER to the Windows shared timer.
14210
14211 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
14212 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
14213 timers if a timer with an earlier expiration is already pending. This results in no timers
14214 firing from that point on.
14215
14216 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
14217 buggy window message hook.
14218
14219 This timer will start when the first WM_TIMER is scheduled, and will
14220 fire every 5 seconds thereafter, causing any lost timers to be fired.
14221
14222 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
14223 and prevents the WebFrame leak.
14224
14225 Reviewed by Darin Adler, Geoff Garen.
14226
14227 * platform/win/SharedTimerWin.cpp:
14228 (WebCore::):
14229 (WebCore::TimerWindowWndProc):
14230 (WebCore::setSharedTimerFireTime):
14231
mitz@apple.com771fb752008-08-25 03:22:44 +0000142322008-08-24 Dan Bernstein <mitz@apple.com>
14233
14234 Reviewed by Darin Adler.
14235
14236 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
14237
14238 Test: fast/css/font-property-priority.html
14239
14240 * css/CSSParser.cpp:
14241 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
14242 to the font-property-parsing functions.
14243 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
14244 changed to use it rather than the m_important member.
14245 (WebCore::CSSParser::parseFontVariant): Ditto.
14246 (WebCore::CSSParser::parseFontWeight): Ditto.
14247 * css/CSSParser.h:
14248
timothy@apple.com4cea2632008-08-24 22:28:44 +0000142492008-08-24 Timothy Hatcher <timothy@apple.com>
14250
14251 Fixes a bug where the Inspector's UI would not animate or
14252 fully function because JavaScript timeouts, intervals and
14253 CSS animation timers where not firing while paused at a
14254 a breakpoint in the inspected page.
14255
14256 https://bugs.webkit.org/show_bug.cgi?id=20042
14257
14258 Reviewed by Darin Adler.
14259
14260 Test: manual-tests/inspector/forzen-ui-while-paused.html
14261
14262 * page/JavaScriptDebugServer.cpp:
14263 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
14264 Add a call to TimerBase::fireTimersInNestedEventLoop before
14265 spinning the EventLoop.
14266
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000142672008-08-24 Rob Buis <buis@kde.org>
14268
14269 Reviewed by Sam Weinig.
14270
14271 https://bugs.webkit.org/show_bug.cgi?id=20324
14272 A change in SVG Glyph wont show up
14273
14274 Invalidate the glyph cache when the d attribute is set.
14275
14276 Test: svg/custom/glyph-setting-d-attribute.svg
14277
14278 * svg/SVGGlyphElement.cpp:
14279 (WebCore::SVGGlyphElement::invalidateGlyphCache):
14280 (WebCore::SVGGlyphElement::parseMappedAttribute):
14281 (WebCore::SVGGlyphElement::insertedIntoDocument):
14282 (WebCore::SVGGlyphElement::removedFromDocument):
14283 * svg/SVGGlyphElement.h:
14284
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000142852008-08-24 Dan Bernstein <mitz@apple.com>
14286
14287 Reviewed by Sam Weinig.
14288
14289 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
14290 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
14291
14292 * rendering/RenderText.cpp:
14293 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
14294 beginWS and endWS before the early return to ensure that they are
14295 initialized in that case.
14296
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000142972008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
14298
14299 Rubber-stamped by Mark Rowe.
14300
14301 Remove modelines.
14302
14303 * WebCore.pro:
14304 * bridge/testbindings.cpp:
14305 * dom/DocPtr.h:
14306 * loader/SubstituteData.h:
14307 * page/Chrome.cpp:
14308 * page/Chrome.h:
14309 * page/ChromeClient.h:
14310 * page/Frame.h:
14311 * page/FrameLoadRequest.h:
14312 * page/FrameTree.cpp:
14313 * page/FrameTree.h:
14314 * page/Page.h:
14315 * page/mac/ChromeMac.mm:
14316 * platform/network/HTTPHeaderMap.h:
14317 * platform/network/ResourceErrorBase.cpp:
14318 * platform/network/ResourceErrorBase.h:
14319 * platform/network/ResourceHandleInternal.h:
14320 * platform/network/ResourceRequestBase.cpp:
14321 * platform/network/ResourceRequestBase.h:
14322 * platform/network/ResourceResponseBase.cpp:
14323 * platform/network/ResourceResponseBase.h:
14324 * platform/network/cf/ResourceError.h:
14325 * platform/network/cf/ResourceRequest.h:
14326 * platform/network/cf/ResourceRequestCFNet.h:
14327 * platform/network/cf/ResourceResponse.h:
14328 * platform/network/cf/ResourceResponseCFNet.h:
14329 * platform/network/curl/ResourceError.h:
14330 * platform/network/curl/ResourceRequest.h:
14331 * platform/network/curl/ResourceResponse.h:
14332 * platform/network/mac/ResourceError.h:
14333 * platform/network/mac/ResourceErrorMac.mm:
14334 * platform/network/mac/ResourceRequest.h:
14335 * platform/network/mac/ResourceRequestMac.mm:
14336 * platform/network/mac/ResourceResponse.h:
14337 * platform/network/mac/ResourceResponseMac.mm:
14338 * platform/network/qt/ResourceError.h:
14339 * platform/network/qt/ResourceRequest.h:
14340 * platform/network/qt/ResourceResponse.h:
14341 * platform/network/soup/CookieJarSoup.cpp:
14342 * platform/network/soup/ResourceError.h:
14343 * platform/network/soup/ResourceRequest.h:
14344 * platform/network/soup/ResourceResponse.h:
14345
mitz@apple.com57a2f482008-08-23 07:16:41 +0000143462008-08-23 Dan Bernstein <mitz@apple.com>
14347
14348 Reviewed by Dave Hyatt.
14349
14350 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
14351
14352 Test: fast/table/vertical-align-baseline.html
14353
14354 * rendering/RenderTable.cpp:
14355 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
14356 baseline of the first table row, if there is one, -1 otherwise.
14357 * rendering/RenderTable.h:
14358 * rendering/RenderTableCell.cpp:
14359 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
14360 CSS2.1 definition of the baseline of a table cell.
14361 * rendering/RenderTableSection.cpp:
14362 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
14363 the baseline of the first row in the section.
14364 * rendering/RenderTableSection.h:
14365
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000143662008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
14367
14368 Add SPI to make a Windows WebView transparent.
14369
14370 Reviewed by Dan Bernstein.
14371
14372 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
14373 determines whether the created context has an alpha channel.
14374 * platform/graphics/win/GraphicsContextCGWin.cpp:
14375 (WebCore::CGContextWithHDC):
14376
timothy@apple.comb63d1172008-08-22 18:39:42 +0000143772008-08-22 Timothy Hatcher <timothy@apple.com>
14378
timothy@apple.com964022d2008-08-22 20:35:20 +000014379 Rolls out r35834 because it caused a regression in the Inspector's
14380 Console where some expressions always threw a syntax error.
14381
14382 https://bugs.webkit.org/show_bug.cgi?id=20487
14383
14384 * page/inspector/Console.js:
14385 (Console.prototype._evalInInspectedWindow): Removes parenthesis
14386 around the expression.
14387
143882008-08-22 Timothy Hatcher <timothy@apple.com>
14389
timothy@apple.com056d4782008-08-22 18:39:52 +000014390 Makes getStyleProperty return a value for the overflow property
14391 when overflow-x and overflow-y are equal.
14392
14393 https://bugs.webkit.org/show_bug.cgi?id=20485
14394
14395 Reviewed by Dan Bernstein.
14396
14397 Test: fast/css/overflow-property.html
14398
14399 * css/CSSMutableStyleDeclaration.cpp:
14400 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
14401
144022008-08-22 Timothy Hatcher <timothy@apple.com>
14403
timothy@apple.comb63d1172008-08-22 18:39:42 +000014404 Fixes a bug where while editing in the Inspector the
14405 sidebar scroll position would jump to the top.
14406
14407 https://bugs.webkit.org/show_bug.cgi?id=20484
14408
14409 Reviewed by Darin Adler.
14410
14411 * page/inspector/treeoutline.js:
14412 (TreeOutline._removeChildren): Remove the offsetTop call that
14413 was forcing a layout, since layout causes scroll positions
14414 to be clamped to the new scrollHeight/Width. Layout will happen
14415 normally when needed.
14416
kevino@webkit.org8271c842008-08-22 16:25:52 +0000144172008-08-22 Kevin Ollivier <kevino@theolliviers.com>
14418
14419 wx build fix. Add AccessibilityTable sources.
14420
14421 * WebCoreSources.bkl:
14422
mitz@apple.com9befc872008-08-22 06:29:33 +0000144232008-08-21 Dan Bernstein <mitz@apple.com>
14424
14425 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
14426
14427 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
14428
14429 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
14430
14431 * platform/graphics/mac/SimpleFontDataMac.mm:
14432 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
14433 ascent and 100% to its reported descent.
14434
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000144352008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
14436
14437 Reviewed by Darin Adler.
14438
mrowe@apple.com22eaa172008-08-22 02:10:15 +000014439 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000014440 [GTK] Crash on some pages due to a plugin
14441
14442 Fix handling of badly formatted and empty plugin mime descriptions
14443
14444 * plugins/gtk/PluginPackageGtk.cpp:
14445 (WebCore::PluginPackage::fetchInfo):
14446
mrowe@apple.com798b3432008-08-22 02:07:48 +0000144472008-08-21 Kevin Watters <kevinwatters@gmail.com>
14448
14449 Reviewed by Darin Adler.
14450
14451 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
14452 animated GIF frame duration of less than 50ms.
14453
14454 * platform/graphics/wx/ImageSourceWx.cpp:
14455 (WebCore::ImageSource::frameDurationAtIndex):
14456
britto@apple.com8ed72772008-08-22 00:39:39 +0000144572008-08-21 Maxime Britto <britto@apple.com>
14458
14459 Reviewed by Kevin McCullough.
14460
14461 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
14462 https://bugs.webkit.org/show_bug.cgi?id=20451
14463
14464 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
14465 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
14466 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
14467
14468 * page/EventHandler.cpp:
14469 (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
14470
14471 (WebCore::EventHandler::handleMousePressEvent): ditto
14472
timothy@apple.com5d492192008-08-21 23:54:01 +0000144732008-08-21 Anthony Ricaud <rik24d@gmail.com>
14474
14475 Small optimization for when the dividers in the Inspector's
14476 Resources panel are updated.
14477
14478 Reviewed by Tim Hatcher.
14479
14480 * page/inspector/ResourcesPanel.js:
14481 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
14482 Combind a for loop and clone the divider element.
14483
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000144842008-08-21 Chris Marrin <cmarrin@apple.com>
14485
14486 Allow 0 (without units) for Time eg. duration
14487 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
14488
14489 Reviewed by Dave Hyatt.
14490
14491 Test: css1/units/zero-duration-without-units.html
14492
14493 * css/CSSParser.cpp:
14494 (WebCore::CSSParser::validUnit):
14495
timothy@apple.com29c12d02008-08-21 20:12:47 +0000144962008-08-21 Timothy Hatcher <timothy@apple.com>
14497
timothy@apple.comca11cd82008-08-21 20:13:12 +000014498 Make deleting all text while editing a DOM attribute in
14499 the Inspector delete the attribute. This also fixes
14500 an exception that would happen before.
14501
14502 https://bugs.webkit.org/show_bug.cgi?id=20472
14503
14504 Reviewed by Kevin McCullough.
14505
14506 * page/inspector/ElementsPanel.js:
14507 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
14508 Don't check for hasAttributes on the parseElement, continuing
14509 through the function will correctly remove the attribute.
14510 If the parseElement is null, call _editingCancelled not
14511 editingCancelled, this fixes an exception.
14512
145132008-08-21 Timothy Hatcher <timothy@apple.com>
14514
timothy@apple.comde831cf2008-08-21 20:12:59 +000014515 Update the Inspector's Metrics pane when editing in
14516 the Styles pane. This makes sure the metrics shown
14517 always match what the Styles pane shows.
14518
14519 https://bugs.webkit.org/show_bug.cgi?id=20470
14520
14521 Reviewed by Kevin McCullough.
14522
14523 * page/inspector/ElementsPanel.js:
14524 (WebInspector.ElementsPanel): Add event listeners for
14525 the "style edited" and "style property toggled" events,
14526 so the Metrics pane is updated.
14527 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
14528 Update the Metrics pane.
14529 * page/inspector/StylesSidebarPane.js:
14530 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
14531 Dispatch the "style property toggled" event.
14532 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
14533 Dispatch the "style edited" event when the CSS text is restored.
14534 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
14535 Dispatch the "style edited" event.
14536
145372008-08-21 Timothy Hatcher <timothy@apple.com>
14538
timothy@apple.com29c12d02008-08-21 20:12:47 +000014539 Make the Inspector's Metrics sidebar pane editable.
14540
14541 https://bugs.webkit.org/show_bug.cgi?id=17218
14542 rdar://problem/5732818
14543
14544 Reviewed by Kevin McCullough.
14545
14546 * page/inspector/ElementsPanel.js:
14547 (WebInspector.ElementsPanel): Add an event listener for
14548 the "metrics edited" event, so the Styles pane is updated.
14549 * page/inspector/MetricsSidebarPane.js:
14550 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
14551 so future updates work. Add a double click event listener for the
14552 metric values to start editing.
14553 (WebInspector.MetricsSidebarPane.prototype.startEditing):
14554 Call WebInspector.startEditing with some context.
14555 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
14556 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
14557 Set the user input on the elements inline style. Fire the
14558 "metrics edited" event.
14559
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000145602008-08-21 Steve Falkenburg <sfalken@apple.com>
14561
14562 Fix a race condition in Windows timer code.
14563 Timer function could end up being called with a 0 timer, leading to a Windows exception.
14564
14565 Don't post a timer message if one is already pending.
14566
14567 Reviewed by Ada Chan.
14568
14569 * platform/win/SharedTimerWin.cpp:
14570 (WebCore::TimerWindowWndProc):
14571 (WebCore::clearTimer):
14572 (WebCore::queueTimerProc):
14573 (WebCore::setSharedTimerFireTime):
14574
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000145752008-08-21 Anthony Ricaud <rik24d@gmail.com>
14576
timothy@apple.com493212c72008-08-21 16:36:06 +000014577 After trying to add the expression, try again with quotes for
14578 easier edition.
14579
14580 https://bugs.webkit.org/show_bug.cgi?id=20466
14581
14582 Reviewed by Tim Hatcher.
14583
14584 * page/inspector/ObjectPropertiesSection.js: Added an
14585 evaluateExpression function.
14586
145872008-08-21 Anthony Ricaud <rik24d@gmail.com>
14588
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000014589 Perform Inspector searches on search event to clear results when
14590 clicking the cross to empty it. Delete the lastQuery when the field
14591 is emptied in order to perform the search if exactly the same query
14592 is entered next.
14593
14594 https://bugs.webkit.org/show_bug.cgi?id=20462
14595
14596 Reviewed by Tim Hatcher.
14597
14598 * page/inspector/inspector.js:
14599
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000146002008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
14601
14602 Reviewed by Mark Rowe.
14603
14604 http://bugs.webkit.org/show_bug.cgi?id=19656
14605 [SOUP] The gio code should call didFail() instead of
14606 didFinishLoading() in case of error
14607
14608 In case of error call didFail() instead of didReceiveResponse() and
14609 didFinishLoading().
14610
14611 * platform/network/soup/ResourceHandleSoup.cpp:
14612 (WebCore::networkErrorForFile):
14613 (WebCore::readCallback):
14614 (WebCore::openCallback):
14615 (WebCore::queryInfoCallback):
14616
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000146172008-08-20 Mark Rowe <mrowe@apple.com>
14618
mrowe@apple.com4e593f42008-08-21 06:52:42 +000014619 Reviewed by Jon Honeycutt.
14620
14621 Fix build failure.
14622
14623 * bridge/c/c_instance.cpp:
14624 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
14625 as that is what NPEnumerationFunctionPtr is declared as accepting.
14626
146272008-08-20 Mark Rowe <mrowe@apple.com>
14628
mrowe@apple.com72a95b12008-08-21 04:01:51 +000014629 Reviewed by Dan Bernstein.
14630
14631 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
14632
14633 * platform/graphics/GraphicsContext.h:
14634 (WebCore::):
14635 * platform/graphics/cg/GraphicsContextCG.cpp:
14636 (WebCore::GraphicsContext::setImageInterpolationQuality):
14637 (WebCore::GraphicsContext::imageInterpolationQuality):
14638
mitz@apple.comaa938792008-08-21 00:33:29 +0000146392008-08-20 Dan Bernstein <mitz@apple.com>
14640
14641 Rubber-stamped by John Sullivan.
14642
14643 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
14644 rename related methods and variables accordingly.
14645
14646 * WebCore.base.exp:
14647 * page/FrameView.cpp:
14648 (WebCore::FrameViewPrivate::FrameViewPrivate):
14649 (WebCore::FrameView::shouldUpdateWhileOffscreen):
14650 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
14651 * page/FrameView.h:
14652 * platform/ScrollView.h:
14653 * platform/mac/ScrollViewMac.mm:
14654 (WebCore::ScrollView::updateContents):
14655
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000146562008-08-20 Brady Eidson <beidson@apple.com>
14657
14658 Reviewed by Mitzpettel
14659
14660 <rdar://problem/6163636> - Many images broken in Mail
14661
14662 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
14663 sooner than before and confuse the WebArchive machinery.
14664
14665 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
14666 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
14667 machinery and nothing is known about where the data will eventually come from.
14668
14669 * loader/DocumentLoader.cpp:
14670 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
14671 CachedResource::PreloadReferenced.
14672
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000146732008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
14674
14675 Unreviewed compile fix
14676
14677 Catch up with the JSValue::type elimination.
14678
14679 * bridge/qt/qt_instance.cpp:
14680 (KJS::Bindings::QtRuntimeObjectImp::construct):
14681 (KJS::Bindings::QtInstance::defaultValue):
14682 * bridge/qt/qt_runtime.cpp:
14683 (KJS::Bindings::QtRuntimeConnectionMethod::call):
14684
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000146852008-08-20 Chris Teague <chris.teague@gmail.com>
14686
14687 Reviewed by Mark Rowe.
14688
14689 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
14690 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
14691
14692 * ChangeLog:
14693 * loader/FrameLoader.cpp:
14694 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
14695
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000146962008-08-20 Simon Fraser <simon.fraser@apple.com>
14697
14698 Reviewed by Dave Hyatt
14699
14700 getComputedStyle() for webkitTransform should return a transform
14701 that does not have the transform origin baked into it.
14702 https://bugs.webkit.org/show_bug.cgi?id=20464
14703
14704 Test: fast/css/getComputedStyle-transform.html
14705
14706 * css/CSSComputedStyleDeclaration.cpp:
14707 (WebCore::computedTransform):
14708 * rendering/style/RenderStyle.cpp:
14709 (WebCore::RenderStyle::applyTransform):
14710 * rendering/style/RenderStyle.h:
14711
andersca@apple.com021ce772008-08-20 21:04:12 +0000147122008-08-20 Josh Aas <joshmoz@gmail.com>
14713
14714 Reviewed and landed by Anders.
14715
14716 <rdar://problem/6163636>
14717 rename NPCocoaEvent's "event" struct to "data" (20446)
14718
14719 * bridge/npapi.h:
14720 (_NPCocoaEvent::):
14721
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000147222008-08-20 Beth Dakin <bdakin@apple.com>
14723
darin@apple.com07c80c62008-09-05 18:15:43 +000014724 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000014725
14726 Fix for <rdar://problem/6145626>
14727 This patch fixes a number of remaining problems getting
14728 disconnected frames to work correctly with markAllMatchesForText()
14729 and findString(). Details inline.
14730
14731 This was a static helper function in Frame, but this patch requires
14732 the same functionality in Editor, so I just added it as a function
14733 on Node.
14734 * dom/Node.cpp:
14735 (WebCore::Node::isInShadowTree):
14736 * dom/Node.h:
14737
14738 * editing/Editor.cpp:
14739 (WebCore::Editor::insideVisibleArea): Returns false if
14740 excludeFromTextSearch() is true.
14741
14742 In a normal (non-disconnected) frame, findString returns a range of
14743 the document node if the text is not found in the frame. I changed
14744 firstVisibleRange and lastVisibleRange to match that behavior when
14745 the text is not found
14746 (WebCore::Editor::firstVisibleRange):
14747 (WebCore::Editor::lastVisibleRange):
14748
14749 Here are the bulk of the changes in the patch. A lot of text was
14750 not being found in disconnected frames because I failed to account
14751 for all of the possible problems associated with shadow trees. That
14752 is fixed here.
14753 (WebCore::Editor::nextVisibleRange):
14754 * editing/Editor.h:
14755
14756 excludeFromTextSearch() is new. It allows a WebKit client to mark a
14757 frame as not-text-searchable through SPI.
14758 * WebCore.base.exp:
14759 * page/Frame.cpp:
14760 (WebCore::Frame::excludeFromTextSearch):
14761 (WebCore::Frame::setExcludeFromTextSearch):
14762 (WebCore::FramePrivate::FramePrivate):
14763 * page/Frame.h:
14764 * page/FramePrivate.h:
14765
14766 (WebCore::Frame::findString):
14767 (WebCore::Frame::markAllMatchesForText): I kept running into an
14768 assertion failure in paining code because of the forced paint on
14769 empty visible rects.
14770
timothy@apple.com301befc2008-08-20 19:10:54 +0000147712008-08-20 Timothy Hatcher <timothy@apple.com>
14772
14773 Adds a positon box to the Inspector's Metrics sidebar
14774 pane. When an element is not statically positioned, there
14775 is now a position box that show top, right, bottom and
14776 left computed values.
14777
14778 Reviewed by Kevin McCullough.
14779
14780 * English.lproj/localizedStrings.js: Updated the strings.
14781 * page/inspector/MetricsSidebarPane.js:
14782 (WebInspector.MetricsSidebarPane.prototype.update):
14783 Renamed the boxPartValue function to createBoxPartElement
14784 and made it create the entire element. Made it understand
14785 how to get position style properties. Don't use the figure dash
14786 when 0px is used for positions, since the 0 is meaningful there.
14787 Instead use the figure dash when a position is auto.
14788 * page/inspector/inspector.css: Added a new rule for position.
14789
mrowe@apple.com37686d42008-09-04 00:10:39 +0000147902008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000014791
14792 Reviewed by Beth Dakin
14793
14794 Qt build fix
14795
14796 * WebCore.pro:
14797
mitz@apple.comedaa9042008-08-20 18:28:07 +0000147982008-08-20 Dan Bernstein <mitz@apple.com>
14799
14800 Reviewed by Anders Carlsson.
14801
14802 - avoid using a deprecated NSScroller method on Leopard
14803
14804 * platform/mac/PlatformScrollBarMac.mm:
14805 (WebCore::PlatformScrollbar::updateThumbPosition):
14806 (WebCore::PlatformScrollbar::updateThumbProportion):
14807
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000148082008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
14809
14810 Reviewed by Oliver Hunt.
14811
14812 Gtk build fix
14813
14814 * GNUmakefile.am:
14815 * page/AccessibilityTable.cpp: Change nil to 0
14816 (WebCore::AccessibilityTable::cellForColumnAndRow):
14817
ap@webkit.org01aff702008-08-20 07:23:06 +0000148182008-08-19 Alexey Proskuryakov <ap@webkit.org>
14819
14820 Reviewed by Geoff Garen.
14821
14822 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
14823
14824 * ForwardingHeaders/kjs/JSLock.h: Added.
14825 * WebCore.vcproj/WebCore.vcproj:
14826 * bindings/js/GCController.cpp:
14827 (WebCore::collect):
14828 (WebCore::GCController::gcTimerFired):
14829 (WebCore::GCController::garbageCollectNow):
14830 * bindings/js/JSCustomSQLStatementCallback.cpp:
14831 (WebCore::JSCustomSQLStatementCallback::handleEvent):
14832 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
14833 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
14834 * bindings/js/JSCustomSQLTransactionCallback.cpp:
14835 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
14836 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
14837 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
14838 * bindings/js/JSCustomVoidCallback.cpp:
14839 (WebCore::JSCustomVoidCallback::handleEvent):
14840 * bindings/js/JSCustomXPathNSResolver.cpp:
14841 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
14842 * bindings/js/JSDOMWindowBase.cpp:
14843 (WebCore::DOMWindowTimer::~DOMWindowTimer):
14844 (WebCore::JSDOMWindowBase::clear):
14845 (WebCore::JSDOMWindowBase::timerFired):
14846 * bindings/js/JSEventCustom.cpp:
14847 (WebCore::toJS):
14848 * bindings/js/JSEventListener.cpp:
14849 (WebCore::JSAbstractEventListener::handleEvent):
14850 * bindings/js/JSNSResolver.cpp:
14851 (WebCore::JSNSResolver::lookupNamespaceURI):
14852 * bindings/js/JSNodeFilterCondition.cpp:
14853 (WebCore::JSNodeFilterCondition::acceptNode):
14854 * bindings/js/ScheduledAction.cpp:
14855 (WebCore::ScheduledAction::execute):
14856 * bindings/js/ScriptController.cpp:
14857 (WebCore::ScriptController::evaluate):
14858 (WebCore::ScriptController::clearWindowShell):
14859 (WebCore::ScriptController::createHTMLEventHandler):
14860 (WebCore::ScriptController::createSVGEventHandler):
14861 (WebCore::ScriptController::initScript):
14862 (WebCore::ScriptController::updateDocument):
14863 (WebCore::ScriptController::bindingRootObject):
14864 (WebCore::ScriptController::windowScriptNPObject):
14865 (WebCore::ScriptController::createScriptObjectForPluginElement):
14866 (WebCore::ScriptController::clearScriptObjects):
14867 * bindings/js/ScriptControllerMac.mm:
14868 (WebCore::ScriptController::windowScriptObject):
14869 * bindings/objc/WebScriptObject.mm:
14870 (_didExecute):
14871 (-[WebScriptObject callWebScriptMethod:withArguments:]):
14872 (-[WebScriptObject evaluateWebScript:]):
14873 (-[WebScriptObject setValue:forKey:]):
14874 (-[WebScriptObject valueForKey:]):
14875 (-[WebScriptObject removeWebScriptKey:]):
14876 (-[WebScriptObject stringRepresentation]):
14877 (-[WebScriptObject webScriptValueAtIndex:]):
14878 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
14879 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
14880 * bridge/NP_jsobject.cpp:
14881 (_NPN_InvokeDefault):
14882 (_NPN_Invoke):
14883 (_NPN_Evaluate):
14884 (_NPN_GetProperty):
14885 (_NPN_SetProperty):
14886 (_NPN_RemoveProperty):
14887 (_NPN_HasProperty):
14888 (_NPN_HasMethod):
14889 (_NPN_Enumerate):
14890 * bridge/c/c_class.cpp:
14891 (KJS::Bindings::CClass::~CClass):
14892 (KJS::Bindings::CClass::methodsNamed):
14893 (KJS::Bindings::CClass::fieldNamed):
14894 * bridge/c/c_instance.cpp:
14895 (KJS::Bindings::CInstance::invokeMethod):
14896 (KJS::Bindings::CInstance::invokeDefaultMethod):
14897 (KJS::Bindings::CInstance::getPropertyNames):
14898 * bridge/c/c_runtime.cpp:
14899 (KJS::Bindings::CField::valueFromInstance):
14900 (KJS::Bindings::CField::setValueToInstance):
14901 * bridge/c/c_utility.cpp:
14902 (KJS::Bindings::convertValueToNPVariant):
14903 (KJS::Bindings::convertNPVariantToValue):
14904 * bridge/jni/jni_class.cpp:
14905 (JavaClass::JavaClass):
14906 (JavaClass::~JavaClass):
14907 * bridge/jni/jni_instance.cpp:
14908 (JavaInstance::stringValue):
14909 * bridge/jni/jni_jsobject.mm:
14910 (JavaJSObject::call):
14911 (JavaJSObject::eval):
14912 (JavaJSObject::getMember):
14913 (JavaJSObject::setMember):
14914 (JavaJSObject::removeMember):
14915 (JavaJSObject::getSlot):
14916 (JavaJSObject::setSlot):
14917 (JavaJSObject::toString):
14918 (JavaJSObject::convertValueToJObject):
14919 (JavaJSObject::convertJObjectToValue):
14920 * bridge/jni/jni_objc.mm:
14921 (KJS::Bindings::dispatchJNICall):
14922 * bridge/jni/jni_runtime.cpp:
14923 (appendClassName):
14924 (JavaMethod::signature):
14925 * bridge/jni/jni_runtime.h:
14926 (KJS::Bindings::JavaString::JavaString):
14927 (KJS::Bindings::JavaString::_commonInit):
14928 (KJS::Bindings::JavaString::~JavaString):
14929 (KJS::Bindings::JavaString::UTF8String):
14930 * bridge/jni/jni_utility.cpp:
14931 (KJS::Bindings::convertValueToJValue):
14932 * bridge/npruntime.cpp:
14933 (_NPN_GetStringIdentifier):
14934 * bridge/objc/objc_instance.mm:
14935 (ObjcInstance::moveGlobalExceptionToExecState):
14936 (ObjcInstance::invokeMethod):
14937 (ObjcInstance::invokeDefaultMethod):
14938 (ObjcInstance::setValueOfUndefinedField):
14939 (ObjcInstance::getValueOfUndefinedField):
14940 * bridge/objc/objc_runtime.mm:
14941 (ObjcField::valueFromInstance):
14942 (ObjcField::setValueToInstance):
14943 * bridge/objc/objc_utility.mm:
14944 (KJS::Bindings::convertValueToObjcValue):
14945 (KJS::Bindings::convertNSStringToString):
14946 (KJS::Bindings::convertObjcValueToValue):
14947 * bridge/qt/qt_instance.cpp:
14948 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
14949 (KJS::Bindings::QtInstance::~QtInstance):
14950 (KJS::Bindings::QtInstance::getQtInstance):
14951 (KJS::Bindings::QtInstance::getRuntimeObject):
14952 * bridge/qt/qt_runtime.cpp:
14953 (KJS::Bindings::convertValueToQVariant):
14954 (KJS::Bindings::convertQVariantToValue):
14955 (KJS::Bindings::QtRuntimeMetaMethod::call):
14956 (KJS::Bindings::QtRuntimeConnectionMethod::call):
14957 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
14958 (KJS::Bindings::QtConnectionObject::execute):
14959 * bridge/runtime.cpp:
14960 (KJS::Bindings::Instance::createRuntimeObject):
14961 * bridge/testbindings.cpp:
14962 (main):
14963 * bridge/testbindings.mm:
14964 (main):
14965 * bridge/testqtbindings.cpp:
14966 (main):
14967 * dom/Document.cpp:
14968 (WebCore::Document::~Document):
14969 * dom/Node.cpp:
14970 (WebCore::Node::setDocument):
14971 * history/CachedPage.cpp:
14972 (WebCore::CachedPage::CachedPage):
14973 (WebCore::CachedPage::restore):
14974 (WebCore::CachedPage::clear):
14975 * loader/FrameLoader.cpp:
14976 (WebCore::getString):
14977 * page/InspectorController.cpp:
14978 (WebCore::ConsoleMessage::ConsoleMessage):
14979 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
14980 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
14981 (WebCore::getResourceDocumentNode):
14982 (WebCore::search):
14983 (WebCore::inspectedWindow):
14984 (WebCore::wrapCallback):
14985 (WebCore::currentCallFrame):
14986 (WebCore::profiles):
14987 (WebCore::InspectorController::focusNode):
14988 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
14989 (WebCore::InspectorController::addDatabaseScriptResource):
14990 (WebCore::InspectorController::addScriptProfile):
14991 * page/JavaScriptCallFrame.cpp:
14992 (WebCore::JavaScriptCallFrame::evaluate):
14993 * page/JavaScriptProfileNode.cpp:
14994 (WebCore::getTotalTime):
14995 (WebCore::getSelfTime):
14996 (WebCore::getTotalPercent):
14997 (WebCore::getSelfPercent):
14998 (WebCore::getNumberOfCalls):
14999 (WebCore::getChildren):
15000 (WebCore::getVisible):
15001 * page/Page.cpp:
15002 * page/mac/FrameMac.mm:
15003 * plugins/PluginView.cpp:
15004 (WebCore::PluginView::start):
15005 (WebCore::getString):
15006 (WebCore::PluginView::performRequest):
15007 (WebCore::PluginView::bindingInstance):
15008 * plugins/gtk/PluginViewGtk.cpp:
15009 (WebCore::PluginView::paint):
15010 (WebCore::PluginView::handleKeyboardEvent):
15011 (WebCore::PluginView::handleMouseEvent):
15012 (WebCore::PluginView::setNPWindowRect):
15013 (WebCore::PluginView::stop):
15014 (WebCore::PluginView::init):
15015 * plugins/qt/PluginViewQt.cpp:
15016 (WebCore::PluginView::setNPWindowRect):
15017 (WebCore::PluginView::stop):
15018 (WebCore::PluginView::init):
15019 * plugins/win/PluginViewWin.cpp:
15020 (WebCore::PluginView::dispatchNPEvent):
15021 (WebCore::PluginView::handleKeyboardEvent):
15022 (WebCore::PluginView::handleMouseEvent):
15023 (WebCore::PluginView::setNPWindowRect):
15024 (WebCore::PluginView::stop):
15025 * xml/XMLHttpRequest.cpp:
15026 (WebCore::XMLHttpRequest::clearResponse):
15027 (WebCore::XMLHttpRequest::didFinishLoading):
15028 (WebCore::XMLHttpRequest::didReceiveData):
15029
eric@webkit.orgbac93762008-08-19 23:33:07 +0000150302008-08-19 Eric Seidel <eric@webkit.org>
15031
15032 Reviewed by Geoff Garen.
15033
15034 Add the beginnings of Skia graphics support to WebCore
15035 as I try to begin the long process of un-forking the changes
15036 needed to WebCore to make Andriod's WebCore build.
15037
15038 I'll follow this up with actual *Skia.cpp files in a separate patch.
15039
15040 * platform/graphics/AffineTransform.h:
15041 * platform/graphics/FloatPoint.h:
15042 * platform/graphics/FloatRect.h:
15043 * platform/graphics/Gradient.h:
15044 * platform/graphics/GraphicsContext.h:
15045 * platform/graphics/Image.h:
15046 * platform/graphics/ImageBuffer.h:
15047 * platform/graphics/ImageSource.h:
15048 * platform/graphics/IntPoint.h:
15049 * platform/graphics/IntRect.h:
15050 * platform/graphics/Path.h:
15051 * platform/graphics/Pattern.h:
15052 * svg/graphics/SVGPaintServerPattern.h:
15053 * svg/graphics/SVGPaintServerSolid.h:
15054
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000150552008-08-19 Steve Falkenburg <sfalken@apple.com>
15056
sfalken@apple.com45d22802008-08-19 22:46:31 +000015057 Fix Windows build more.
15058
15059 * WebCore.vcproj/WebCore.vcproj:
15060
150612008-08-19 Steve Falkenburg <sfalken@apple.com>
15062
sfalken@apple.com3f69b332008-08-19 22:34:37 +000015063 Fix Windows build.
15064
15065 * page/AccessibilityRenderObject.cpp:
15066 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
15067
mrowe@apple.com37686d42008-09-04 00:10:39 +0000150682008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000015069
15070 Reviewed by Beth Dakin.
15071
15072 <rdar://problem/4003764> Expose tables as AXTables
15073
15074 Tests: accessibility/table-attributes.html
15075 accessibility/table-cell-spans.html
15076 accessibility/table-cells.html
15077 accessibility/table-detection.html
15078 accessibility/table-sections.html
15079 accessibility/table-with-rules.html
15080
15081 * WebCore.xcodeproj/project.pbxproj:
15082 * page/AXObjectCache.cpp:
15083 (WebCore::AXObjectCache::get):
15084 * page/AccessibilityObject.h:
15085 (WebCore::):
15086 (WebCore::AccessibilityObject::isDataTable):
15087 (WebCore::AccessibilityObject::isTableRow):
15088 (WebCore::AccessibilityObject::isTableColumn):
15089 (WebCore::AccessibilityObject::isTableCell):
15090 * page/AccessibilityRenderObject.cpp:
15091 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
15092 * page/AccessibilityTable.cpp: Added.
15093 (WebCore::AccessibilityTable::AccessibilityTable):
15094 (WebCore::AccessibilityTable::~AccessibilityTable):
15095 (WebCore::AccessibilityTable::create):
15096 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
15097 (WebCore::AccessibilityTable::clearChildren):
15098 (WebCore::AccessibilityTable::addChildren):
15099 (WebCore::AccessibilityTable::headerContainer):
15100 (WebCore::AccessibilityTable::columns):
15101 (WebCore::AccessibilityTable::rows):
15102 (WebCore::AccessibilityTable::rowHeaders):
15103 (WebCore::AccessibilityTable::columnHeaders):
15104 (WebCore::AccessibilityTable::cells):
15105 (WebCore::AccessibilityTable::columnCount):
15106 (WebCore::AccessibilityTable::rowCount):
15107 (WebCore::AccessibilityTable::cellForColumnAndRow):
15108 (WebCore::AccessibilityTable::roleValue):
15109 (WebCore::AccessibilityTable::accessibilityIsIgnored):
15110 (WebCore::AccessibilityTable::title):
15111 (WebCore::AccessibilityTable::isDataTable):
15112 * page/AccessibilityTable.h: Added.
15113 * page/AccessibilityTableCell.cpp: Added.
15114 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
15115 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
15116 (WebCore::AccessibilityTableCell::create):
15117 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
15118 (WebCore::AccessibilityTableCell::rowIndexRange):
15119 (WebCore::AccessibilityTableCell::columnIndexRange):
15120 * page/AccessibilityTableCell.h: Added.
15121 (WebCore::AccessibilityTableCell::isTableCell):
15122 (WebCore::AccessibilityTableCell::roleValue):
15123 * page/AccessibilityTableColumn.cpp: Added.
15124 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
15125 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
15126 (WebCore::AccessibilityTableColumn::create):
15127 (WebCore::AccessibilityTableColumn::setParentTable):
15128 (WebCore::AccessibilityTableColumn::elementRect):
15129 (WebCore::AccessibilityTableColumn::size):
15130 (WebCore::AccessibilityTableColumn::children):
15131 (WebCore::AccessibilityTableColumn::headerObject):
15132 (WebCore::AccessibilityTableColumn::headerObjectForSection):
15133 (WebCore::AccessibilityTableColumn::addChildren):
15134 * page/AccessibilityTableColumn.h: Added.
15135 (WebCore::AccessibilityTableColumn::parentObject):
15136 (WebCore::AccessibilityTableColumn::roleValue):
15137 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
15138 (WebCore::AccessibilityTableColumn::isTableColumn):
15139 (WebCore::AccessibilityTableColumn::setColumnIndex):
15140 (WebCore::AccessibilityTableColumn::columnIndex):
15141 * page/AccessibilityTableHeaderContainer.cpp: Added.
15142 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
15143 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
15144 (WebCore::AccessibilityTableHeaderContainer::create):
15145 (WebCore::AccessibilityTableHeaderContainer::children):
15146 (WebCore::AccessibilityTableHeaderContainer::elementRect):
15147 (WebCore::AccessibilityTableHeaderContainer::size):
15148 (WebCore::AccessibilityTableHeaderContainer::addChildren):
15149 * page/AccessibilityTableHeaderContainer.h: Added.
15150 (WebCore::AccessibilityTableHeaderContainer::roleValue):
15151 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
15152 (WebCore::AccessibilityTableHeaderContainer::parentObject):
15153 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
15154 * page/AccessibilityTableRow.cpp: Added.
15155 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
15156 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
15157 (WebCore::AccessibilityTableRow::create):
15158 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
15159 (WebCore::AccessibilityTableRow::headerObject):
15160 * page/AccessibilityTableRow.h: Added.
15161 (WebCore::AccessibilityTableRow::isTableRow):
15162 (WebCore::AccessibilityTableRow::roleValue):
15163 (WebCore::AccessibilityTableRow::setRowIndex):
15164 (WebCore::AccessibilityTableRow::rowIndex):
15165 * page/mac/AccessibilityObjectWrapper.mm:
15166 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
15167 (RoleEntry::):
15168 (-[AccessibilityObjectWrapper roleDescription]):
15169 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
15170 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
15171 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
15172
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000151732008-08-19 Steve Falkenburg <sfalken@apple.com>
15174
15175 Build fix.
15176 Add buildfailed support to stop builds early (preventing inaccurate error messages).
15177 Add missing post-build rule to Release.
15178
15179 * WebCore.vcproj/QTMovieWin.vcproj:
15180
timothy@apple.comda3aa632008-08-19 18:33:02 +0000151812008-08-19 Keishi Hattori <casey.hattori@gmail.com>
15182
timothy@apple.com7d08c322008-08-19 18:33:27 +000015183 Added support for console.count in the inspector.
15184
15185 Reviewed by Geoff Garen.
15186
15187 * page/Console.cpp:
15188 (WebCore::Console::count):
15189 * page/Console.h:
15190 * page/Console.idl: Added console.count.
15191 * page/InspectorController.cpp:
15192 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
15193 (WebCore::InspectorController::count): Updates the count number
15194 sing "title@source:line" as the identifier, and adds a
15195 message to the console.
15196 * page/InspectorController.h: Added m_counts.
15197
151982008-08-19 Keishi Hattori <casey.hattori@gmail.com>
15199
timothy@apple.comda3aa632008-08-19 18:33:02 +000015200 Clear console.time timers when changing page.
15201
15202 Reviewed by Geoff Garen.
15203
15204 * page/InspectorController.cpp:
15205 (WebCore::InspectorController::didCommitLoad):
15206
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000152072008-08-19 Eric Carlson <eric.carlson@apple.com>
15208
15209 Reviewed by Adele.
15210
15211 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
15212 https://bugs.webkit.org/show_bug.cgi?id=20404
15213
15214 Ignore setVisible() when visibility doesn't change.
15215
15216 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
15217 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
15218 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
15219 (WebCore::MediaPlayerPrivate::setVisible):
15220
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000152212008-08-19 Timothy Hatcher <timothy@apple.com>
15222
timothy@apple.come058a792008-08-19 17:01:12 +000015223 Fixes a bug in the Profile view where switching sort order, then
15224 switching from heavy to tree mode would show the tree in the
15225 previous sort order.
15226
15227 https://bugs.webkit.org/show_bug.cgi?id=20441
15228
15229 Reviewed by Kevin McCullough.
15230
15231 * page/inspector/ProfileView.js:
15232 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
15233 on the next profile before assigning it to this.profile.
15234 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
15235 (WebInspector.ProfileView.prototype._sortProfile): Moves from
15236 _sortData and takes a profile argument. If the profile passed in
15237 matches the this.profile, then call refresh.
15238
152392008-08-18 Timothy Hatcher <timothy@apple.com>
15240
timothy@apple.come525e402008-08-19 17:01:00 +000015241 Changed the default sort order now that heavy view is the default.
15242 Also fixes a bug where the heavy profile was not sorted at first.
15243
15244 https://bugs.webkit.org/show_bug.cgi?id=20440
15245
15246 Reviewed by Kevin McCullough.
15247
15248 * page/inspector/ProfileView.js:
15249 (WebInspector.ProfileView): Changed the default sort column. Also assign
15250 heavyProfile to profile, so the sortSelfTimeDescending call happens
15251 on the heavy profile before assigning to this.profile.
15252
152532008-08-18 Timothy Hatcher <timothy@apple.com>
15254
timothy@apple.comc9287f32008-08-19 17:00:36 +000015255 Add support for editing DOM properties and scope variables by double
15256 clicking a property to enter edit mode.
15257
15258 https://bugs.webkit.org/show_bug.cgi?id=20415
15259
15260 Reviewed by Kevin McCullough.
15261
15262 * page/inspector/ObjectPropertiesSection.js:
15263 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
15264 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
15265 Factored out code into update, and calls update.
15266 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
15267 Call removeChildren since this method can be called multiple times now.
15268 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
15269 gets made later in onattach.
15270 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
15271 if shouldRefreshChildren is true. Call removeChildren since this method can be
15272 called multiple times now.
15273 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
15274 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
15275 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
15276 this element (code moved from the constructor.)
15277 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
15278 sibling property elements.
15279 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
15280 WebInspector.startEditing after rememebring some context.
15281 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
15282 for the list element, since it might have scrolled during editing.
15283 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
15284 then restore the state from the context. Then call update to restore the title.
15285 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
15286 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
15287 to commit the user input.
15288 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
15289 and stores the result on the object for the property name of this element. If the expression is
15290 empty, delete the property and remove the tree element.
15291 * page/inspector/ScopeChainSidebarPane.js:
15292 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
15293 property on each ObjectPropertiesSection.
15294 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
15295 since it is now implemented.
15296 * page/inspector/ScriptsPanel.js:
15297 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
15298 that defaults to true if omitted. It specifies whether to call update on the scope chain.
15299 * page/inspector/inspector.css: New styles.
15300 * page/inspector/treeoutline.js:
15301 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
15302 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
15303
153042008-08-18 Timothy Hatcher <timothy@apple.com>
15305
timothy@apple.com9d9821a2008-08-19 17:00:26 +000015306 Surround the expression to be evaluated in parenthesis so the
15307 result of the eval is the result of the whole expression not
15308 the last potential sub-expression. So evaluating {x: 123}
15309 will show the Object not 123.
15310
15311 https://bugs.webkit.org/show_bug.cgi?id=20428
15312
15313 Reviewed by Kevin McCullough.
15314
15315 * page/inspector/Console.js:
15316 (Console.prototype._evalInInspectedWindow): Add parenthesis
15317 around the expression. And add couple comments.
15318
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000153192008-08-19 Kevin McCullough <kmccullough@apple.com>
15320
15321 Reviewed by Geoff.
15322
15323 -Implement a page() function to extract a common code pattern.
15324
15325 * WebCore.xcodeproj/project.pbxproj:
15326 * page/Console.cpp:
15327 (WebCore::Console::addMessage):
15328 (WebCore::Console::error):
15329 (WebCore::Console::info):
15330 (WebCore::Console::log):
15331 (WebCore::Console::dir):
15332 (WebCore::Console::assertCondition):
15333 (WebCore::Console::time):
15334 (WebCore::Console::timeEnd):
15335 (WebCore::Console::group):
15336 (WebCore::Console::groupEnd):
15337 (WebCore::Console::finishedProfiling):
15338 (WebCore::Console::warn):
15339 (WebCore::Console::framePage):
15340 * page/Console.h:
15341
darin@apple.com349e1eb2008-08-19 04:39:04 +0000153422008-08-12 Darin Adler <darin@apple.com>
15343
15344 Reviewed by Geoff.
15345
15346 - eliminate JSValue::type()
15347
15348 * bridge/c/c_instance.cpp:
15349 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
15350 argument instead of JSType argument. Removed unneeded code to handle
15351 boolean, since that's never passed.
15352 * bridge/c/c_instance.h: Ditto.
15353
15354 * bridge/c/c_utility.cpp:
15355 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
15356 instead of JSValue::type(). Removed unneeded code to handle
15357 "unspecified".
15358
15359 * bridge/jni/jni_instance.cpp:
15360 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
15361 instead of JSType argument. Removed unneeded code to handle boolean.
15362 * bridge/jni/jni_instance.h: Ditto.
15363
15364 * bridge/jni/jni_jsobject.mm:
15365 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
15366 instead of JSValue::type().
15367
15368 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
15369 instead of JSType argument. Removed unused argument.
15370 * bridge/objc/objc_instance.mm:
15371 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
15372 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
15373 instead of JSType argument. Removed unneeded code to handle boolean
15374 and another dead code path for unknown types.
15375
15376 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
15377 instead of JSType argument. Removed override of type() that caused
15378 the fallback object to return "UndefinedType" when there is no
15379 invokeUndefinedMethodFromWebScript:withArguments: method defined.
15380 That didn't accomplish much, since most checks for undefined don't
15381 ever call type().
15382 * bridge/objc/objc_runtime.mm:
15383 (ObjcFallbackObjectImp::defaultValue): Ditto.
15384
15385 * bridge/qt/qt_instance.cpp:
15386 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
15387 argument instead of JSType argument. Removed unneeded code to handle
15388 boolean.
15389 * bridge/qt/qt_instance.h: Ditto.
15390
15391 * bridge/runtime.h:
15392 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
15393 unsed argument.
15394 * bridge/runtime_object.cpp:
15395 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
15396 argument instead of JSType argument.
15397 * bridge/runtime_object.h: Ditto.
15398
britto@apple.comaf7f8382008-08-19 00:42:13 +0000153992008-08-18 Maxime Britto <britto@apple.com>
15400
15401 Reviewed by Adele.
15402
15403 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
15404 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
15405 We shouldn't be able to create another window while we are in pan scrolling.
15406 Other browsers behaviors :
15407 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
15408 IE7 : Keys are not disabled but stops immediately the panning.
15409 This patch matches FF3 behavior by disabling every key but the esc key.
15410
15411 * page/EventHandler.cpp:
15412 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
15413 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
15414
mitz@apple.com12404d82008-08-19 00:20:38 +0000154152008-08-18 Dan Bernstein <mitz@apple.com>
15416
15417 Reviewed by Dave Hyatt.
15418
15419 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
15420
15421 Test: fast/replaced/max-width-percent.html
15422
15423 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
15424 When false, max-width is not factored into the
15425 calculation.
15426 Changed RenderReplaced and subclasses' calcPrefWidths() to call
15427 calcReplacedWidth(false) and then apply max-width only if it has a
15428 fixed, positive value.
15429
15430 * rendering/RenderBox.cpp:
15431 (WebCore::RenderBox::calcReplacedWidth):
15432 * rendering/RenderBox.h:
15433 * rendering/RenderImage.cpp:
15434 (WebCore::RenderImage::calcReplacedWidth):
15435 (WebCore::RenderImage::calcPrefWidths):
15436 * rendering/RenderImage.h:
15437 * rendering/RenderReplaced.cpp:
15438 (WebCore::RenderReplaced::calcPrefWidths):
15439 * rendering/RenderSVGRoot.cpp:
15440 (WebCore::RenderSVGRoot::calcPrefWidths):
15441 * rendering/RenderVideo.cpp:
15442 (WebCore::RenderVideo::calcReplacedWidth):
15443 (WebCore::RenderVideo::calcPrefWidths):
15444 * rendering/RenderVideo.h:
15445
mrowe@apple.comced88732008-08-18 22:47:28 +0000154462008-08-18 Daniel Macks <dmacks@netspace.org>
15447
15448 Reviewed by Mark Rowe.
15449
15450 https://bugs.webkit.org/show_bug.cgi?id=20410
15451 More portable/self-documenting replacement for SIZE_MAX.
15452
15453 * platform/network/curl/FormDataStreamCurl.cpp:
15454 (WebCore::FormDataStream::read):
15455
154562008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000015457
15458 Reviewed by Dave Hyatt
15459
15460 Need to make sure we have an Animation in the AnimationList
15461 before setting the initial value.
15462 https://bugs.webkit.org/show_bug.cgi?id=20408
15463
15464 Test: fast/css/transition_shorthand_parsing.html
15465
15466 * css/CSSStyleSelector.cpp:
15467
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000154682008-08-18 Kevin McCullough <kmccullough@apple.com>
15469
kmccullough@apple.com707bd362008-08-18 20:21:57 +000015470 Reviewed by Tim.
15471
15472 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
15473 is another profile.
15474
15475 * page/inspector/ProfilesPanel.js:
15476
154772008-08-18 Kevin McCullough <kmccullough@apple.com>
15478
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000015479 Reviewed by Geoff.
15480
15481 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
15482 all console messages
15483
15484 * page/inspector/Console.js:
15485
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000154862008-08-18 Dirk Schulze <vbs85@gmx.de>
15487
15488 Reviewed by Eric Seidel.
15489
15490 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
15491 the canvas clean up.
15492
15493 https://bugs.webkit.org/show_bug.cgi?id=20405
15494
15495 * html/CanvasRenderingContext2D.cpp:
15496 (WebCore::CanvasRenderingContext2D::fill):
15497 (WebCore::CanvasRenderingContext2D::stroke):
15498 (WebCore::CanvasRenderingContext2D::fillRect):
15499
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000155002008-08-17 Timothy Hatcher <timothy@apple.com>
15501
15502 Complete in scope variables in the Console when paused.
15503
15504 https://bugs.webkit.org/show_bug.cgi?id=19115
15505
15506 Reviewed by Geoffrey Garen.
15507
15508 * page/inspector/Console.js:
15509 (WebInspector.Console.prototype.completions): If the expressionString
15510 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
15511 to get an object that declares all the in scope variables. That way
15512 "top level" expressions are completed.
15513 * page/inspector/ScriptsPanel.js:
15514 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
15515 Return an object that has all the variables that are in scope for the
15516 selected call frame. The value of each property is just true.
15517 The return object is useful for quick lookups or auto completion.
15518
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000155192008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
15520
15521 Not reviewed.
15522
15523 Speculative Qt build fix.
15524
15525 * bridge/qt/qt_runtime.cpp:
15526 (KJS::Bindings::convertValueToQVariant):
15527 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
15528
ggaren@apple.comfea43532008-08-17 20:23:49 +0000155292008-08-17 Geoffrey Garen <ggaren@apple.com>
15530
15531 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000015532
15533 Updated project files to XCode 3.1.
15534
15535 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
15536
155372008-08-17 Geoffrey Garen <ggaren@apple.com>
15538
15539 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000015540
15541 Made room for a free word in JSCell.
15542
15543 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
15544 JSGlobalData, so the two could share a pointer.
15545
15546 Added a bunch of ASSERTs, to help catch over-sized objects.
15547
mrowe@apple.com13570292008-08-16 06:48:10 +0000155482008-08-15 Mark Rowe <mrowe@apple.com>
15549
mitz@apple.comb96c1b92008-08-17 03:28:52 +000015550 Reviewed by Dan Bernstein.
15551
15552 Disable dead code stripping in debug builds.
15553
15554 * Configurations/Base.xcconfig:
15555 * WebCore.xcodeproj/project.pbxproj:
15556
155572008-08-15 Mark Rowe <mrowe@apple.com>
15558
mrowe@apple.com13570292008-08-16 06:48:10 +000015559 Rubber-stamped by Geoff Garen.
15560
15561 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
15562
15563 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
15564 between the Debug configuration and debug Production variant.
15565 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
15566
antti@apple.coma05e8b02008-08-15 22:58:06 +0000155672008-08-15 Antti Koivisto <antti@apple.com>
15568
15569 Reviewed by Anders.
15570
15571 Don't start preloading body resources before the head is complete. This prevents
15572 body preloads from slowing down initial display when there is limited amount
15573 of bandwidth available.
15574
15575 Works by queuing up found body preloads to DocLoader and only issuing them
15576 after document has rendering.
15577
15578 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
15579 without affecting complete load time.
15580
15581 * html/PreloadScanner.cpp:
15582 (WebCore::PreloadScanner::PreloadScanner):
15583 (WebCore::PreloadScanner::scanningBody):
15584 (WebCore::PreloadScanner::emitTag):
15585 (WebCore::PreloadScanner::emitCSSRule):
15586 * html/PreloadScanner.h:
15587 * loader/DocLoader.cpp:
15588 (WebCore::DocLoader::preload):
15589 (WebCore::DocLoader::checkForPendingPreloads):
15590 (WebCore::DocLoader::requestPreload):
15591 * loader/DocLoader.h:
15592 * loader/loader.cpp:
15593 (WebCore::Loader::Host::didFinishLoading):
15594 (WebCore::Loader::Host::didFail):
15595
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000155962008-08-15 Ada Chan <adachan@apple.com>
15597
15598 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
15599 This way style set on an <hr> within a <select> will be honored.
15600
15601 Reviewed by Dave Hyatt and Dan Bernstein.
15602
15603 * rendering/RenderMenuList.cpp:
15604 (WebCore::RenderMenuList::itemStyle):
15605
antti@apple.com9f7911472008-08-15 20:48:06 +0000156062008-08-15 Antti Koivisto <antti@apple.com>
15607
15608 Reviewed by Oliver.
15609
15610 Some loader performance tweaks:
15611 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
15612 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
15613 to not delay rendering.
15614 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
15615 can take long time when latency is high so it is good to get started early.
15616 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
15617 load queues. Issue remaining loads to the network layer.
15618
15619 * loader/loader.cpp:
15620 (WebCore::Loader::determinePriority):
15621 (WebCore::Loader::load):
15622 (WebCore::Loader::Host::servePendingRequests):
15623 * loader/loader.h:
15624
timothy@apple.com2d974c32008-08-15 18:35:39 +0000156252008-08-15 Timothy Hatcher <timothy@apple.com>
15626
15627 Detach the script debugger when the Web Inspector's window closes.
15628 This has always been the intended design, but never fully implemented.
15629
15630 https://bugs.webkit.org/show_bug.cgi?id=20402
15631
15632 Reviewed by Adam Roben.
15633
15634 * page/InspectorController.cpp:
15635 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
15636 if the window is no longer visible.
15637
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000156382008-08-15 Håvard Wall <hwall@trolltech.com>
15639
15640 Reviewed by Simon.
15641
hausmann@webkit.org58144a72008-08-15 18:12:08 +000015642 Fixes: compile with QT_NO_CONTEXTMENU
15643
15644 * platform/qt/PlatformMouseEventQt.cpp:
15645 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
15646 * platform/qt/PlatformScrollBarQt.cpp:
15647 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
15648 (WebCore::PlatformScrollbar::handleContextMenuEvent):
15649
156502008-08-15 Håvard Wall <hwall@trolltech.com>
15651
15652 Reviewed by Simon.
15653
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000015654 Fixes: compile with QT_NO_WHEELEVENT
15655
15656 * platform/qt/WheelEventQt.cpp:
15657 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
15658
timothy@apple.com4889e612008-08-15 17:06:14 +0000156592008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15660
timothy@apple.comd64639c2008-08-15 17:48:36 +000015661 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
15662
15663 https://bugs.webkit.org/show_bug.cgi?id=20210
15664
15665 Reviewed by Tim Hatcher.
15666
15667 * page/Console.cpp:
15668 (WebCore::Console::group):
15669 (WebCore::Console::groupEnd):
15670 * page/Console.h:
15671 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
15672 * page/InspectorController.cpp:
15673 (WebCore::InspectorController::startGroup): Increments group level by
15674 one and adds console message with StartGroupMessaageLevel.
15675 (WebCore::InspectorController::endGroup): Decrements group level by one
15676 and adds console message with EndGroupMessaageLevel.
15677 * page/InspectorController.h:
15678 * page/inspector/Console.js:
15679 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
15680 if the message is StartGroupMessaageLevel.
15681 (WebInspector.ConsoleMessage.prototype.toMessageElement):
15682 (WebInspector.ConsoleGroup.prototype.addMessage):
15683 * page/inspector/inspector.js:
15684
156852008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15686
timothy@apple.com7310b6a2008-08-15 17:35:22 +000015687 Adds support for console.dir to the Inspector
15688
15689 https://bugs.webkit.org/show_bug.cgi?id=19155
15690
15691 Reviewed by Tim Hatcher.
15692
15693 * bindings/js/JSConsoleCustom.cpp:
15694 (WebCore::JSConsole::dir):
15695 * page/Console.cpp:
15696 (WebCore::Console::dir):
15697 * page/Console.h: Added ObjectMessageLevel.
15698 * page/Console.idl: Added console.dir.
15699 * page/inspector/Console.js:
15700 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
15701 ObjectPropertiesSection if the MessageLevel is Object.
15702 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
15703 used on primitive data types.
15704 * page/inspector/inspector.css:
15705
157062008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15707
timothy@apple.com4889e612008-08-15 17:06:14 +000015708 Adds support for clear() in the Inspector console.
15709
15710 https://bugs.webkit.org/show_bug.cgi?id=19873
15711
15712 Reviewed by Tim Hatcher.
15713
15714 * page/inspector/Console.js:
15715
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000157162008-08-15 Anthony Ricaud <rik24d@gmail.com>
15717
15718 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
15719
15720 Platform distinction and modifier key matching adjusted
15721 by Daniel Jalkut <jalkut@red-sweater.com>
15722
15723 Bug 16313: text search (find) keybindings should work in the Web Inspector
15724 https://bugs.webkit.org/show_bug.cgi?id=16313
15725
15726 Reviewed by Tim Hatcher.
15727
15728 * page/inspector/inspector.js: Added a case for the F key
15729
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000157302008-08-15 Keishi Hattori <casey.hattori@gmail.com>
15731
15732 Fix for error when the string doesn't contain a webkit-profile link.
15733
15734 https://bugs.webkit.org/show_bug.cgi?id=20399
15735
15736 Reviewed by Tim Hatcher.
15737
15738 * page/inspector/inspector.js:
15739
timothy@apple.com895b2652008-08-15 16:33:27 +0000157402008-08-15 Timothy Hatcher <timothy@apple.com>
15741
15742 Fixes two bugs where JavaScript could be executed from the page
15743 while the debugger is paused.
15744
15745 The first issue was JSLazyEventListener not checking the paused
15746 state before parsing the code.
15747
15748 The second issue was with the PageGroup version of
15749 JavaScriptDebugServer::setJavaScriptPaused always passing false
15750 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
15751 and not the paused argument.
15752
15753 https://bugs.webkit.org/show_bug.cgi?id=20284
15754
15755 Reviewed by Adam Roben.
15756
15757 * bindings/js/JSEventListener.cpp:
15758 (WebCore::JSLazyEventListener::parseCode): Check the paused
15759 state of the ScriptController. Return early if paused.
15760 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
15761 * page/JavaScriptDebugServer.cpp:
15762 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
15763 Pass the paused argument to the Page version of setJavaScriptPaused.
15764
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000157652008-08-15 Alexey Proskuryakov <ap@webkit.org>
15766
15767 Reviewed by Geoff Garen.
15768
15769 JSStringRef is created context-free, but can get linked to one via an identifier table,
15770 breaking an implicit API contract.
15771
15772 * page/InspectorController.cpp:
15773 (WebCore::jsStringRef):
15774 (WebCore::InspectorController::didParseSource):
15775 (WebCore::InspectorController::failedToParseSource):
15776 * page/JavaScriptProfile.cpp:
15777 (WebCore::getTitleCallback):
15778 Updated for JavaScriptCore changes.
15779
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000157802008-08-14 Kevin Ollivier <kevino@theolliviers.com>
15781
15782 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
15783 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
15784
15785 * platform/graphics/AffineTransform.h:
15786
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000157872008-08-14 Eric Carlson <eric.carlson@apple.com>
15788
15789 Reviewed by Adele.
15790
15791 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
15792 <video> elements on Windows never becomes visible when a page is restored from the cache
15793
15794 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
15795 value is different from the cached value. Let the implementation decide when
15796 to avoid work because nothing has changed.
15797
15798 * platform/graphics/MediaPlayer.cpp:
15799 (WebCore::MediaPlayer::setVolume):
15800 (WebCore::MediaPlayer::setRate):
15801 (WebCore::MediaPlayer::setRect):
15802 (WebCore::MediaPlayer::setVisible):
15803
timothy@apple.comda810f42008-08-14 23:57:14 +0000158042008-08-14 Keishi Hattori <casey.hattori@gmail.com>
15805
15806 Make Firebug command line API respect predefined variables.
15807
timothy@apple.com90751f02008-08-14 23:58:19 +000015808 https://bugs.webkit.org/show_bug.cgi?id=20385
15809
timothy@apple.comda810f42008-08-14 23:57:14 +000015810 Reviewed by Tim Hatcher.
15811
15812 * page/inspector/Console.js:
15813
weinig@apple.com4b51d002008-08-14 23:33:22 +0000158142008-08-14 Sam Weinig <sam@webkit.org>
15815
15816 Reviewed by Geoffrey Garen and Timothy Hatcher.
15817
15818 Allow programatically setting the HTMLTokenizers time delay and chunk size
15819 which are used for determining how aggressively we yield.
15820
15821 * WebCore.base.exp:
15822 * html/HTMLTokenizer.cpp:
15823 (WebCore::HTMLTokenizer::begin):
15824 (WebCore::HTMLTokenizer::continueProcessing):
15825 * html/HTMLTokenizer.h:
15826 * page/Page.cpp:
15827 (WebCore::Page::Page):
15828 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
15829 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
15830 * page/Page.h:
15831 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
15832 (WebCore::Page::customHTMLTokenizerTimeDelay):
15833 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
15834 (WebCore::Page::customHTMLTokenizerChunkSize):
15835
eric@webkit.org89613d22008-08-14 23:19:17 +0000158362008-08-14 Eric Seidel <eric@webkit.org>
15837
eric@webkit.org7e897c32008-08-14 23:20:00 +000015838 Reviewed by Beth.
15839
15840 Move us one step closer to cross-platform svg/graphics code
15841
15842 * WebCore.xcodeproj/project.pbxproj:
15843 * html/CanvasStyle.cpp:
15844 * platform/graphics/Color.cpp:
15845 (WebCore::colorWithOverrideAlpha):
15846 * platform/graphics/Color.h:
15847 * svg/graphics/cg/CgSupport.cpp:
15848 (WebCore::applyStrokeStyleToContext):
15849 (WebCore::strokeBoundingBox):
15850 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
15851 (WebCore::SVGPaintServerSolid::setup):
15852
158532008-08-14 Eric Seidel <eric@webkit.org>
15854
eric@webkit.org4f490652008-08-14 23:19:31 +000015855 Reviewed by Alexey.
15856
eric@webkit.org73fa9d12008-08-14 23:19:44 +000015857 Remove un-need includes from HTMLCanvas and use the
15858 Gradient platform abstraction in one place in CanvasStyle
15859
15860 * html/CanvasRenderingContext2D.cpp:
15861 (WebCore::CanvasRenderingContext2D::fillRect):
15862 * html/CanvasStyle.cpp:
15863 * html/HTMLCanvasElement.cpp:
15864
158652008-08-14 Eric Seidel <eric@webkit.org>
15866
15867 Reviewed by Alexey.
15868
eric@webkit.org4f490652008-08-14 23:19:31 +000015869 Clean up GlyphBuffer.h, removing more #ifdefs
15870
15871 * platform/graphics/GlyphBuffer.h:
15872 (WebCore::GlyphBuffer::glyphAt):
15873 (WebCore::GlyphBuffer::advanceAt):
15874 (WebCore::GlyphBuffer::add):
15875
158762008-08-14 Eric Seidel <eric@webkit.org>
15877
eric@webkit.org89613d22008-08-14 23:19:17 +000015878 Reviewed by Sam.
15879
15880 Clean up AffineTransform.h, removing #ifdefs
15881
15882 * platform/graphics/AffineTransform.h:
15883 * platform/graphics/cairo/AffineTransformCairo.cpp:
15884 * platform/graphics/cg/AffineTransformCG.cpp:
15885 * platform/graphics/qt/AffineTransformQt.cpp:
15886 * platform/graphics/wx/AffineTransformWx.cpp:
15887
mitz@apple.com551d6252008-08-14 23:08:09 +0000158882008-08-14 Dan Bernstein <mitz@apple.com>
15889
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000015890 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
15891
15892 * platform/graphics/cairo/ImageSourceCairo.cpp:
15893 (WebCore::ImageSource::frameSizeAtIndex):
15894 * platform/graphics/qt/ImageSourceQt.cpp:
15895 (WebCore::ImageSource::frameSizeAtIndex):
15896 * platform/graphics/wx/ImageSourceWx.cpp:
15897 (WebCore::ImageSource::frameSizeAtIndex):
15898
158992008-08-14 Dan Bernstein <mitz@apple.com>
15900
mitz@apple.com551d6252008-08-14 23:08:09 +000015901 Reviewed by Brady Eidson.
15902
15903 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
15904
15905 * platform/graphics/BitmapImage.cpp:
15906 (WebCore::BitmapImage::BitmapImage): Added initialization of
15907 m_hasUniformFrameSize.
15908 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
15909 cached frame for use in decoded size computation and for setting
15910 m_hasUniformFrameSize.
15911 (WebCore::BitmapImage::currentFrameSize): Added.
15912 (WebCore::BitmapImage::dataChanged): Added code to reset
15913 m_hasUniformFrameSize.
15914 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
15915 m_hasUniformFrameSize.
15916 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
15917 * platform/graphics/cg/ImageCG.cpp:
15918 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
15919 fixes the bug, which resulted from assuming that the frame being drawn
15920 was the same size as the first frame.
15921 * platform/graphics/cg/ImageSourceCG.cpp:
15922 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
15923 changed to get the size of the frame at the given index.
15924 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
15925
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000159262008-08-13 Simon Fraser <simon.fraser@apple.com>
15927
15928 Reviewed by Eric Seidel
15929
15930 Fix @font-face inside @media rule crash.
15931 https://bugs.webkit.org/show_bug.cgi?id=20367
15932
15933 Test: fast/css/font-face-in-media-rule.html
15934
15935 * css/CSSStyleSelector.cpp:
15936 (WebCore::CSSRuleSet::addRulesFromSheet):
15937
kevino@webkit.org141c4602008-08-14 22:52:55 +0000159382008-08-14 Kevin Ollivier <kevino@theolliviers.com>
15939
15940 wx build fixes after recent changes to Canvas and Image classes.
15941
15942 * platform/graphics/Pattern.h:
15943 * platform/graphics/wx/GradientWx.cpp:
15944 (WebCore::Gradient::fill):
15945 * platform/graphics/wx/GraphicsContextWx.cpp:
15946 (WebCore::GraphicsContext::applyFillPattern):
15947 (WebCore::GraphicsContext::applyStrokePattern):
15948 * platform/graphics/wx/ImageBufferWx.cpp:
15949 (WebCore::ImageBuffer::image):
15950 * platform/graphics/wx/ImageWx.cpp:
15951 (WebCore::Image::loadPlatformResource):
15952
britto@apple.comd7008662008-08-14 19:26:02 +0000159532008-08-14 Maxime Britto <britto@apple.com>
15954
15955 Reviewed by Sam Weinig.
15956
15957 rdar://6102511
15958 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
15959 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
15960 Some differences exist between them concerning the kind of key which is pressed :
15961 IE7 : every key leads to a stop of the panning
15962 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
15963 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
15964
15965 * page/EventHandler.cpp:
15966 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
15967
christian@webkit.org0e20f322008-08-14 19:14:47 +0000159682008-08-14 Christian Dywan <christian@twotoasts.de>
15969
15970 Gtk+/ Cairo build fix, patch by Dirk Schulze.
15971
15972 * html/CanvasStyle.cpp:
15973 * platform/graphics/cairo/PatternCairo.cpp:
15974 (WebCore::Pattern::createPlatformPattern):
15975 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
15976
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000159772008-08-14 Kevin McCullough <kmccullough@apple.com>
15978
15979 Reviewed by Tim.
15980
15981 <rdar://problem/6115819> Notify of profile in console
15982
15983 * page/InspectorController.cpp:
15984 (WebCore::InspectorController::addProfile):
15985 (WebCore::InspectorController::addProfileMessageToConsole): Called by
15986 addProfile this is the function that adds a message to the console that
15987 a profile finished.
15988 * page/InspectorController.h:
15989 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
15990 the console log to the profile in the web inspector.
15991 (WebCore::getUniqueIdCallback):
15992 (WebCore::ProfileClass):
15993 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
15994 Id to bring up the requested profile. Also select and reveal the
15995 profile in the profile panel. And created displayTitleForProfileLink()
15996 which formats a title taking into account if it's user initiated or if
15997 there are multiples. Lasty, I put the user initiated profile in a
15998 variable.
15999 * page/inspector/inspector.js: Make the profile title be a clickable
16000 link that will take the user to the identified profile. Also expose
16001 the count of user initiated profiles so they can be displayed in the
16002 console with the correct count.
16003
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000160042008-08-14 Timothy Hatcher <timothy@apple.com>
16005
16006 Avoid formating ConsoleMessages twice unless the message will be
16007 displayed in bubbles of a SourceFrame.
16008
16009 Reviewed by Kevin McCullough.
16010
16011 * page/inspector/Console.js:
16012 (WebInspector.ConsoleMessage): Only format the plain text message
16013 if the URL and line are valid and the level is error or warning.
16014 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
16015 Helper to test for error or warning level.
16016 * page/inspector/SourceFrame.js:
16017 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
16018 message if there is no message or valid line or if the msg
16019 isn't an error or warning.
16020
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000160212008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
16022
16023 partial Gtk build fix, not reviewed
16024
16025 * platform/graphics/cairo/PatternCairo.cpp:
16026
weinig@apple.com45e83142008-08-14 04:49:30 +0000160272008-08-13 Sam Weinig <sam@webkit.org>
16028
weinig@apple.com1c615fe2008-09-29 04:17:33 +000016029 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000016030
16031 Fix style issue.
16032
16033 * html/HTMLMediaElement.cpp:
16034 (WebCore::HTMLMediaElement::pickMedia):
16035
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000160362008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
16037
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000016038 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
16039 Continue Erics build fixes, after the Image cleanup.
16040
16041 * platform/graphics/cairo/ImageBufferCairo.cpp:
16042 (WebCore::ImageBuffer::image):
16043
160442008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
16045
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000016046 Build fix for Qt, not reviewed.
16047 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
16048
16049 * dom/XMLTokenizer.cpp:
16050 (WebCore::eventuallyMarkAsParserCreated): Was erre
16051
160522008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
16053
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000016054 Build fix, not reviewed.
16055 Add ScriptElement.cpp to Gtk build.
16056
16057 * GNUmakefile.am:
16058
160592008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
16060
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000016061 Reviewed by Eric.
16062
16063 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
16064
16065 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
16066 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
16067
16068 This resolves code duplications and allows us to completly replace the old
16069 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
16070
16071 As ScriptElement, doesn't actually inherit from Element, we may want to rename
16072 it, though StyleElement uses the same naming convention, so I left it as is for now.
16073 Eventually we'll rename both files in future.
16074
16075 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
16076
16077 * WebCore.pro: Add new ScriptElement.cpp to build.
16078 * WebCore.vcproj/WebCore.vcproj: Ditto.
16079 * WebCore.xcodeproj/project.pbxproj: Ditto.
16080 * WebCoreSources.bkl: Dutto.
16081 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
16082 (WebCore::ScriptElement::insertedIntoDocument):
16083 (WebCore::ScriptElement::removedFromDocument):
16084 (WebCore::ScriptElement::childrenChanged):
16085 (WebCore::ScriptElement::finishParsingChildren):
16086 (WebCore::ScriptElement::handleSourceAttribute):
16087 (WebCore::isSupportedJavaScriptLanguage):
16088 (WebCore::ScriptElementData::ScriptElementData):
16089 (WebCore::ScriptElementData::~ScriptElementData):
16090 (WebCore::ScriptElementData::requestScript):
16091 (WebCore::ScriptElementData::evaluateScript):
16092 (WebCore::ScriptElementData::stopLoadRequest):
16093 (WebCore::ScriptElementData::notifyFinished):
16094 (WebCore::ScriptElementData::ignoresLoadRequest):
16095 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
16096 (WebCore::ScriptElementData::scriptCharset):
16097 (WebCore::ScriptElementData::scriptContent):
16098 * dom/ScriptElement.h: Added.
16099 (WebCore::ScriptElement::ScriptElement):
16100 (WebCore::ScriptElement::~ScriptElement):
16101 (WebCore::ScriptElementData::element):
16102 (WebCore::ScriptElementData::createdByParser):
16103 (WebCore::ScriptElementData::setCreatedByParser):
16104 * dom/XMLTokenizer.cpp:
16105 (WebCore::isScriptElement):
16106 (WebCore::castToScriptElement):
16107 (WebCore::eventuallyMarkAsParserCreated):
16108 (WebCore::XMLTokenizer::startElementNs):
16109 (WebCore::XMLTokenizer::endElementNs):
16110 (WebCore::createXHTMLParserErrorHeader):
16111 (WebCore::XMLTokenizer::insertErrorMessageBlock):
16112 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
16113 (WebCore::HTMLScriptElement::HTMLScriptElement):
16114 (WebCore::HTMLScriptElement::~HTMLScriptElement):
16115 (WebCore::HTMLScriptElement::isURLAttribute):
16116 (WebCore::HTMLScriptElement::setCreatedByParser):
16117 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
16118 (WebCore::HTMLScriptElement::childrenChanged):
16119 (WebCore::HTMLScriptElement::parseMappedAttribute):
16120 (WebCore::HTMLScriptElement::finishParsingChildren):
16121 (WebCore::HTMLScriptElement::insertedIntoDocument):
16122 (WebCore::HTMLScriptElement::removedFromDocument):
16123 (WebCore::HTMLScriptElement::text):
16124 (WebCore::HTMLScriptElement::setText):
16125 (WebCore::HTMLScriptElement::setHtmlFor):
16126 (WebCore::HTMLScriptElement::setEvent):
16127 (WebCore::HTMLScriptElement::charset):
16128 (WebCore::HTMLScriptElement::src):
16129 (WebCore::HTMLScriptElement::type):
16130 (WebCore::HTMLScriptElement::scriptCharset):
16131 (WebCore::HTMLScriptElement::scriptContent):
16132 (WebCore::HTMLScriptElement::sourceAttributeValue):
16133 (WebCore::HTMLScriptElement::charsetAttributeValue):
16134 (WebCore::HTMLScriptElement::typeAttributeValue):
16135 (WebCore::HTMLScriptElement::languageAttributeValue):
16136 (WebCore::HTMLScriptElement::dispatchLoadEvent):
16137 (WebCore::HTMLScriptElement::dispatchErrorEvent):
16138 * html/HTMLScriptElement.h:
16139 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
16140 * svg/SVGScriptElement.cpp:
16141 (WebCore::SVGScriptElement::SVGScriptElement):
16142 (WebCore::SVGScriptElement::scriptContent):
16143 (WebCore::SVGScriptElement::sourceAttributeValue):
16144 (WebCore::SVGScriptElement::charsetAttributeValue):
16145 (WebCore::SVGScriptElement::typeAttributeValue):
16146 (WebCore::SVGScriptElement::languageAttributeValue):
16147 (WebCore::SVGScriptElement::dispatchLoadEvent):
16148 (WebCore::SVGScriptElement::dispatchErrorEvent):
16149 * svg/SVGScriptElement.h:
16150 (WebCore::SVGScriptElement::setCreatedByParser):
16151
eric@webkit.org7811ef02008-08-14 00:28:51 +0000161522008-08-13 Eric Seidel <eric@webkit.org>
16153
eric@webkit.org3562c592008-08-14 02:17:29 +000016154 Attempt to fix the Gtk build, no review.
16155
16156 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
16157
16158 * platform/graphics/GraphicsContext.h:
16159 * platform/graphics/cairo/GraphicsContextCairo.cpp:
16160 * platform/graphics/qt/GradientQt.cpp:
16161 * platform/graphics/qt/GraphicsContextQt.cpp:
16162 * platform/gtk/RenderThemeGtk.cpp:
16163 (WebCore::paintMozWidget):
16164
161652008-08-13 Eric Seidel <eric@webkit.org>
16166
eric@webkit.org2ec42072008-08-14 02:03:09 +000016167 Yet another attempt to fix the Qt build, no review.
16168
16169 * platform/graphics/qt/GradientQt.cpp:
16170 * platform/graphics/qt/GraphicsContextQt.cpp:
16171 (WebCore::GraphicsContext::applyStrokePattern):
16172 (WebCore::GraphicsContext::applyFillPattern):
16173
161742008-08-13 Eric Seidel <eric@webkit.org>
16175
16176 Attempt to fix the Windows build, no review.
16177
16178 * platform/win/CursorWin.cpp:
16179 (WebCore::loadCursorByName):
16180 * platform/win/ScrollViewWin.cpp:
16181 (WebCore::ScrollView::paint):
16182
161832008-08-13 Eric Seidel <eric@webkit.org>
16184
eric@webkit.org508c0282008-08-14 01:29:34 +000016185 Attempt to fix the Windows build, no review.
16186
16187 * platform/win/CursorWin.cpp:
16188 (WebCore::loadCursorByName):
16189 * platform/win/ScrollViewWin.cpp:
16190 (WebCore::ScrollView::paint):
16191
161922008-08-13 Eric Seidel <eric@webkit.org>
16193
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000016194 Attempt to fix the Qt build, no review.
16195
16196 * platform/graphics/qt/ImageBufferQt.cpp:
16197 (WebCore::ImageBuffer::image):
16198
161992008-08-13 Eric Seidel <eric@webkit.org>
16200
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000016201 Attempt to fix the Windows build, no review.
16202
16203 * platform/graphics/win/ImageWin.cpp:
16204 (WebCore::Image::loadPlatformResource):
16205 * plugins/win/PluginViewWin.cpp:
16206 (WebCore::PluginView::paintMissingPluginIcon):
16207
162082008-08-13 Eric Seidel <eric@webkit.org>
16209
eric@webkit.orgac3f6662008-08-14 01:15:50 +000016210 Another attempt to fix the Qt build, no review.
16211
16212 * platform/graphics/qt/ImageQt.cpp:
16213 * platform/graphics/qt/StillImageQt.h:
16214
162152008-08-13 Eric Seidel <eric@webkit.org>
16216
eric@webkit.org31e0d812008-08-14 01:05:42 +000016217 No review, build fix only.
16218
16219 Fix mac build, due to change in new code since my patch was written.
16220
16221 * svg/graphics/cg/SVGResourceMaskerCg.mm:
16222 (WebCore::SVGResourceMasker::applyMask):
16223
162242008-08-13 Eric Seidel <eric@webkit.org>
16225
eric@webkit.orga20a0032008-08-14 00:42:54 +000016226 Build fix only, no review.
16227
16228 Attempt to fix the Qt build.
16229
eric@webkit.org923255c2008-08-14 00:59:20 +000016230 * platform/graphics/qt/ImageBufferQt.cpp:
16231 * platform/graphics/qt/StillImageQt.h:
16232 (WebCore::StillImage::create):
16233 (WebCore::StillImage::destroyDecodedData):
16234 (WebCore::StillImage::decodedSize):
16235
162362008-08-13 Eric Seidel <eric@webkit.org>
16237
16238 Build fix only, no review.
16239
16240 Attempt to fix the Qt build.
16241
eric@webkit.orga20a0032008-08-14 00:42:54 +000016242 * html/CanvasStyle.cpp:
16243 (WebCore::CanvasStyle::applyStrokeColor):
16244 (WebCore::CanvasStyle::applyFillColor):
16245
162462008-08-13 Eric Seidel <eric@webkit.org>
16247
eric@webkit.org4aca3be2008-08-14 00:30:04 +000016248 Reviewed by Sam.
16249
16250 Match HTML5 spec by throwing INVALID_STATE_ERR when
16251 createPattern is called and the HTMLImageElement is not
16252 yet done loading the image (!isComplete)
16253 https://bugs.webkit.org/show_bug.cgi?id=20351
16254
16255 Test: http/misc/canvas-pattern-from-incremental-image.html
16256
16257 * html/CanvasRenderingContext2D.cpp:
16258 (WebCore::CanvasRenderingContext2D::createPattern):
16259
162602008-08-13 Eric Seidel <eric@webkit.org>
16261
eric@webkit.org5b265602008-08-14 00:29:26 +000016262 Reviewed by Niko.
16263
eric@webkit.orgf0124f62008-08-14 00:29:50 +000016264 Split out a Pattern class from CanvasPattern
16265 and remove all the Pattern-related #ifdefs
16266 (This will break non-mac platforms! I will fix them.)
16267 https://bugs.webkit.org/show_bug.cgi?id=20351
16268
16269 * GNUmakefile.am:
16270 * WebCore.pro:
16271 * WebCore.vcproj/WebCore.vcproj:
16272 * WebCore.xcodeproj/project.pbxproj:
16273 * WebCoreSources.bkl:
16274 * html/CanvasPattern.cpp:
16275 (WebCore::CanvasPattern::parseRepetitionType):
16276 (WebCore::CanvasPattern::CanvasPattern):
16277 * html/CanvasPattern.h:
16278 (WebCore::CanvasPattern::create):
16279 (WebCore::CanvasPattern::pattern):
16280 (WebCore::CanvasPattern::originClean):
16281 * html/CanvasRenderingContext2D.cpp:
16282 (WebCore::CanvasRenderingContext2D::createPattern):
16283 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
16284 (WebCore::CanvasRenderingContext2D::applyFillPattern):
16285 * html/CanvasRenderingContext2D.h:
16286 * html/HTMLCanvasElement.cpp:
16287 * html/HTMLCanvasElement.h:
16288 * loader/FrameLoader.cpp:
16289 (WebCore::FrameLoader::createHistoryItem):
16290 * platform/graphics/GraphicsContext.h:
16291 * platform/graphics/cairo/GraphicsContextCairo.cpp:
16292 (WebCore::GraphicsContext::applyStrokePattern):
16293 (WebCore::GraphicsContext::applyFillPattern):
16294 * platform/graphics/cg/GraphicsContextCG.cpp:
16295 (WebCore::GraphicsContext::clipToImageBuffer):
16296 (WebCore::GraphicsContext::applyStrokePattern):
16297 (WebCore::GraphicsContext::applyFillPattern):
16298
162992008-08-13 Eric Seidel <eric@webkit.org>
16300
16301 Reviewed by Niko.
16302
eric@webkit.org5b265602008-08-14 00:29:26 +000016303 Make Images RefCounted (and clean up callers)
16304 https://bugs.webkit.org/show_bug.cgi?id=20351
16305
16306 * editing/DeleteButtonController.cpp:
16307 (WebCore::DeleteButtonController::createDeletionUI):
16308 * loader/CachedImage.cpp:
16309 (WebCore::CachedImage::CachedImage):
16310 (WebCore::brokenImage):
16311 (WebCore::nullImage):
16312 (WebCore::CachedImage::image):
16313 (WebCore::CachedImage::notifyObservers):
16314 (WebCore::CachedImage::createImage):
16315 * loader/CachedImage.h:
16316 * loader/icon/IconRecord.cpp:
16317 (WebCore::IconRecord::setImageData):
16318 (WebCore::IconRecord::loadImageFromResource):
16319 * loader/icon/IconRecord.h:
16320 * platform/graphics/BitmapImage.h:
16321 (WebCore::BitmapImage::create):
16322 * platform/graphics/GeneratedImage.h:
16323 * platform/graphics/Gradient.cpp:
16324 * platform/graphics/Gradient.h:
16325 * platform/graphics/Image.cpp:
16326 (WebCore::Image::nullImage):
16327 * platform/graphics/Image.h:
16328 * platform/graphics/ImageBuffer.h:
16329 * platform/graphics/cairo/ImageBufferCairo.cpp:
16330 (WebCore::ImageBuffer::image):
16331 * platform/graphics/cg/ImageBufferCG.cpp:
16332 (WebCore::ImageBuffer::image):
16333 (WebCore::ImageBuffer::getImageData):
16334 (WebCore::ImageBuffer::putImageData):
16335 * platform/graphics/cg/PDFDocumentImage.h:
16336 (WebCore::PDFDocumentImage::create):
16337 (WebCore::PDFDocumentImage::destroyDecodedData):
16338 (WebCore::PDFDocumentImage::decodedSize):
16339 * platform/graphics/gtk/ImageGtk.cpp:
16340 (WebCore::Image::loadPlatformResource):
16341 * platform/graphics/mac/ImageMac.mm:
16342 (WebCore::Image::loadPlatformResource):
16343 * rendering/RenderImage.cpp:
16344 * rendering/RenderLayer.cpp:
16345 (WebCore::RenderLayer::paintOverflowControls):
16346 * svg/graphics/SVGImage.cpp:
16347 (WebCore::SVGImage::nativeImageForCurrentFrame):
16348 * svg/graphics/SVGImage.h:
16349 (WebCore::SVGImage::create):
16350 (WebCore::SVGImage::destroyDecodedData):
16351 (WebCore::SVGImage::decodedSize):
16352 (WebCore::SVGImage::frameAtIndex):
16353 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
16354 (WebCore::SVGPaintServerPattern::setup):
16355 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
16356 (WebCore::SVGResourceMasker::applyMask):
16357 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
16358 (WebCore::patternCallback):
16359 * svg/graphics/cg/SVGResourceMaskerCg.mm:
16360 (WebCore::SVGResourceMasker::applyMask):
16361
163622008-08-13 Eric Seidel <eric@webkit.org>
16363
16364 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000016365
16366 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000016367 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000016368
16369 There are some down-sides to this commit.
16370 This commit limits us to 255 levels of grey for calls like:
16371 context.setStrokeStyle(.37, 1.0)
16372 previously CG might have used up to 32bits to store the grey level
16373 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
16374
16375 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
16376 to RGBA32 (like all the rest of colors in WebCore), thus:
16377 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
16378 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
16379
16380 If this is a problem for Dashboard, we can either roll out this commit
16381 or add a beefier Color abstraction, which can be used internally by GraphicsContext
16382 when keeping state, and then GraphicsContext can grow some additional set* routines
16383 for setting the a grey/float/whatever fill and stroke.
16384
16385 * html/CanvasRenderingContext2D.cpp:
16386 (WebCore::CanvasRenderingContext2D::setFillStyle):
16387 * html/CanvasStyle.cpp:
16388 (WebCore::CanvasStyle::CanvasStyle):
16389 (WebCore::colorWithOverrideAlpha):
16390 (WebCore::CanvasStyle::applyStrokeColor):
16391 (WebCore::CanvasStyle::applyFillColor):
16392 * html/CanvasStyle.h:
16393 * platform/graphics/Color.cpp:
16394 (WebCore::colorFloatToRGBAByte):
16395 (WebCore::makeRGBA32FromFloats):
16396 * platform/graphics/Color.h:
16397
adele@apple.com83e44822008-08-13 23:50:41 +0000163982008-08-13 Eric Carlson <eric.carlson@apple.com>
16399
16400 Reviewed by Adele Peterson.
16401
16402 Fix for <rdar://problem/6137931>
16403 https://bugs.webkit.org/show_bug.cgi?id=20360
16404 Remove all parameters from the MIME type before checking with the MIME type registry
16405
16406 Tests: media/video-source-type-params.html
16407
16408 * html/HTMLMediaElement.cpp:
16409 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
16410 to isSupportedMediaMIMEType()
16411
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000164122008-08-13 Beth Dakin <bdakin@apple.com>
16413
16414 Reviewed by Sam Weinig.
16415
16416 Fix for <rdar://problem/6141345>
16417
16418 This patch refines findString and markAllMatchesForText functions'
16419 interactions with disconnected frames. They no longer rely on
16420 knowing where a range is relative to the visible region and work
16421 with disconnected frames that contain frames.
16422
16423 * editing/Editor.cpp:
16424 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
16425 the visiblity enum.
16426 (WebCore::Editor::firstVisibleRange): This now returns the very
16427 first visible range in the document. It's no longer dependent on
16428 searching forward.
16429 (WebCore::Editor::lastVisibleRange): This now returns the very last
16430 visible range in the document. It's no longer dependent on
16431 searching backwards.
16432 (WebCore::Editor::nextVisibleRange): This returns the next visible
16433 range in the appropriate direction from the current range.
16434 * editing/Editor.h:
16435 * page/Frame.cpp:
16436 (WebCore::Frame::findString):
16437 (WebCore::Frame::markAllMatchesForText):
16438
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000164392008-08-13 Kevin Ollivier <kevino@theolliviers.com>
16440
16441 wx build fix for case-sensitive platforms, like Linux.
16442
16443 * WebCoreSources.bkl:
16444
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000164452008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
16446
16447 Reviewed by Holger Freyther.
16448
16449 http://bugs.webkit.org/show_bug.cgi?id=16881
16450 [GTK] PlatformScreenGtk is unimplemented
16451
16452 Original patch by Christian Dywan.
16453
16454 * platform/gtk/PlatformScreenGtk.cpp:
16455 (WebCore::screenDepth):
16456 (WebCore::screenDepthPerComponent):
16457 (WebCore::screenIsMonochrome):
16458 (WebCore::screenRect):
16459 (WebCore::screenAvailableRect):
16460
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000164612008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
16462
16463 Reviewed by Holger Freyther.
16464
16465 http://bugs.webkit.org/show_bug.cgi?id=20318
16466 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
16467
16468 g_idle_add is the same as g_idle_add_full with a priority of
16469 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
16470
16471 * platform/gtk/SharedTimerGtk.cpp:
16472 (WebCore::setSharedTimerFireTime):
16473
timothy@apple.comf0426602008-08-13 18:11:01 +0000164742008-08-13 Timothy Hatcher <timothy@apple.com>
16475
16476 Changed the InspectorController so it can be notified when the
16477 attached state of the Inspector changes in WebKit.
16478
16479 Reviewed by Kevin McCullough.
16480
16481 * WebCore.base.exp: Updated the symbol for setWindowVisible.
16482 * page/InspectorController.cpp:
16483 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
16484 that defaults to false.Call setAttachedWindow with the attached argument.
16485 (WebCore::InspectorController::setAttachedWindow): Call the script version
16486 of setAttachedWindow.
16487 * page/InspectorController.h:
16488 * page/inspector/inspector.js:
16489 (WebInspector.setAttachedWindow): Set the attached property.
16490
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000164912008-08-12 Timothy Hatcher <timothy@apple.com>
16492
timothy@apple.com72c92ae2008-08-13 18:10:45 +000016493 Added a close button to the Inspector's toolbar when docked.
16494
16495 https://bugs.webkit.org/show_bug.cgi?id=14270
16496
16497 Reviewed by Kevin McCullough.
16498
16499 * page/InspectorController.cpp:
16500 (WebCore::closeWindow): Call InspectorController::closeWindow.
16501 (WebCore::InspectorController::windowScriptObjectAvailable):
16502 Added closeWindow to the script class.
16503 * page/InspectorController.h:
16504 * page/inspector/Images/closeButtons.png: Added.
16505 * page/inspector/inspector.css: Added and changed styles.
16506 * page/inspector/inspector.html: Added the close button.
16507 * page/inspector/inspector.js:
16508 (WebInspector.loaded): Added click event listener to the close button.
16509 (WebInspector.close): Call InspectorController.closeWindow.
16510
165112008-08-12 Timothy Hatcher <timothy@apple.com>
16512
timothy@apple.com9ea832b2008-08-13 18:10:36 +000016513 Make the docked Web Inspector resizable. This is the cross platform
16514 portion of the code. Each InspectorClient needs to implement the
16515 real resize code.
16516
16517 https://bugs.webkit.org/show_bug.cgi?id=14282
16518
16519 Reviewed by Kevin McCullough.
16520
16521 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
16522 * page/InspectorClient.h: Added setAttachedWindowHeight.
16523 * page/InspectorController.cpp:
16524 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
16525 on the InspectorController.
16526 (WebCore::InspectorController::setAttachedWindowHeight): Call
16527 setAttachedWindowHeight on the client.
16528 (WebCore::InspectorController::windowScriptObjectAvailable):
16529 Added setAttachedWindowHeight to the script class.
16530 * page/InspectorController.h:
16531 * page/inspector/inspector.css: Make the cursor on the toolbar be
16532 row-resize when docked.
16533 * page/inspector/inspector.js:
16534 (WebInspector.loaded): Always add the toolbarDragStart event listener.
16535 (WebInspector.toolbarDragStart): Return early if we are not attached
16536 and not on Leopard. Call WebInspector.elementDragStart.
16537 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
16538 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
16539 otherwise call moveByUnrestricted.
16540
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000165412008-08-13 Simon Hausmann <hausmann@webkit.org>
16542
16543 Reviewed by Holger.
16544
16545 Initialize m_zoomsTextOnly in the Settings constructor.
16546
16547 * page/Settings.cpp:
16548 (WebCore::Settings::Settings):
16549
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000165502008-08-13 Brad Hughes <bhughes@trolltech.com>
16551
16552 Reviewed by Simon.
16553
16554 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
16555
16556 The latest upgrade of the intel compiler allows us to compile all of
16557 Qt with optimizations enabled (yay!).
16558
16559 * WebCore.pro:
16560
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000165612008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
16562
16563 Reviewed by Simon.
16564
16565 Fix QtWebKit not displaying content on 403 HTTP responses
16566
16567 Just like with 404 responses also display content with 403, as
16568 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
16569
16570 * platform/network/qt/QNetworkReplyHandler.cpp:
16571 (WebCore::QNetworkReplyHandler::finish):
16572
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000165732008-08-13 Simon Hausmann <hausmann@webkit.org>
16574
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000016575 Reviewed by Holger.
16576
16577 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
16578
16579 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
16580
16581 * platform/text/String.cpp:
16582 (WebCore::String::format):
16583
165842008-08-13 Simon Hausmann <hausmann@webkit.org>
16585
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000016586 Reviewed by Lars.
16587
16588 Fix QWebFrame::setHtml() not setting the new contents immediately.
16589
16590 Added a setter to the DocumentLoader to toggle the deferred loading of the main
16591 resource when it comes from substitute data.
16592
16593 Disable deferred loading of the main resource when we have valid substitute data,
16594 as used by QWebFrame::setHtml.
16595
16596 * loader/DocumentLoader.h:
16597
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000165982008-08-13 Mark Rowe <mrowe@apple.com>
16599
16600 Speculative GTK build fix.
16601
16602 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
16603
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000166042008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
16605
16606 Reviewed by Simon.
16607
16608 Fix encoding of [ and ] in the host part of the URL
16609
16610 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
16611 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
16612 doesn't encode [ and ] when they are found in the host part. That is, the
16613 following URL:
16614 http://[::1]/
16615 is valid and should not be reencoded to:
16616 http://%5b::1%5d/
16617
16618 * platform/qt/KURLQt.cpp:
16619 (WebCore::KURL::operator QUrl):
16620
mitz@apple.come198b012008-08-12 21:49:07 +0000166212008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
16622
16623 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
16624 Broken HTML object elements cause de-reference of pointer to freed memory.
16625 If we fail to load an image for an object tag and we no longer believe the object tag points at
16626 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
16627 fall back content.
16628
16629 Reviewed by Dave Hyatt and Alexey Proskuryakov.
16630
16631 Test: http/tests/misc/object-image-error-with-onload.html
16632
16633 * html/HTMLObjectElement.cpp:
16634 (WebCore::HTMLObjectElement::renderFallbackContent):
16635 * page/Frame.cpp:
16636 (WebCore::Frame::Frame):
16637
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000166382008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
16639
16640 Reviewed by Dave.
16641
16642 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
16643 Masks are translated, and the mask images are swapped on the y-axis.
16644
16645 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
16646 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
16647
16648 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
16649 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
16650
16651 * svg/graphics/cg/SVGResourceMaskerCg.mm:
16652 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
16653
mitz@apple.comf8a98692008-08-12 17:04:42 +0000166542008-08-12 Dan Bernstein <mitz@apple.com>
16655
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000016656 - WebCore part of <rdar://problem/6121636>
16657 Make fast*alloc() abort() on failure and add "try" variants that
16658 return NULL on failure.
16659
16660 Reviewed by Darin Adler.
16661
16662 * platform/Arena.cpp:
16663 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
16664 result.
16665 * platform/graphics/cg/ImageBufferCG.cpp:
16666 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
16667
166682008-08-12 Dan Bernstein <mitz@apple.com>
16669
mitz@apple.com1e09cd72008-08-12 18:27:58 +000016670 Reviewed by Darin Adler.
16671
16672 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
16673 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
16674
16675 Test: fast/frames/frameset-style-recalc.html
16676
16677 * html/HTMLFrameSetElement.cpp:
16678 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
16679 class implementation after marking for layout.
16680
166812008-08-12 Dan Bernstein <mitz@apple.com>
16682
mitz@apple.comf8a98692008-08-12 17:04:42 +000016683 Reviewed by John Sullivan.
16684
16685 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
16686
16687 * WebCore.base.exp:
16688 * page/FrameView.cpp:
16689 (WebCore::FrameViewPrivate::FrameViewPrivate):
16690 (WebCore::FrameView::shouldUpdateWhileHidden):
16691 (WebCore::FrameView::setShouldUpdateWhileHidden):
16692 * page/FrameView.h:
16693 * page/Settings.cpp:
16694 * page/Settings.h:
16695
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000166962008-08-12 Adam Roben <aroben@apple.com>
16697
16698 Windows build fix
16699
16700 * bindings/js/JSSVGPODTypeWrapper.h: Align
16701 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
16702 members on 16-byte boundaries to avoid an alignment warning.
16703
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000167042008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
16705
16706 Reviewed by Oliver.
16707
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000016708 Add new dynamice-update layout tests covering SVGMarkerElement.
16709 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
16710 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
16711
16712 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
16713 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
16714 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
16715 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
16716 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
16717 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
16718 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
16719 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
16720 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
16721 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
16722 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
16723 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
16724 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
16725 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
16726 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
16727
16728 * svg/SVGMarkerElement.cpp:
16729 (WebCore::SVGMarkerElement::SVGMarkerElement):
16730 (WebCore::SVGMarkerElement::parseMappedAttribute):
16731 (WebCore::SVGMarkerElement::svgAttributeChanged):
16732 (WebCore::SVGMarkerElement::childrenChanged):
16733 (WebCore::SVGMarkerElement::setOrientToAuto):
16734 (WebCore::SVGMarkerElement::setOrientToAngle):
16735 (WebCore::SVGMarkerElement::canvasResource):
16736
167372008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
16738
16739 Reviewed by Oliver.
16740
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000016741 Add new dynamic-update layout tests covering SVGImageElement.
16742 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
16743
16744 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
16745 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
16746 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
16747 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
16748 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
16749 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
16750 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
16751 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
16752 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
16753 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
16754
16755 * svg/SVGImageElement.cpp:
16756 (WebCore::SVGImageElement::svgAttributeChanged):
16757
timothy@apple.com93114722008-08-12 04:20:25 +0000167582008-08-11 Anthony Ricaud <rik24d@gmail.com>
16759
timothy@apple.com2f2cde32008-08-12 04:28:16 +000016760 Changed Option/Alt-Up or Down in CSS editing when the value is
16761 near zero to jump to the next integer.
16762
16763 Reviewed by Tim Hatcher.
16764
16765 https://bugs.webkit.org/show_bug.cgi?id=20326
16766
16767 * page/inspector/StylesSidebarPane.js:
16768
167692008-08-11 Anthony Ricaud <rik24d@gmail.com>
16770
timothy@apple.com93114722008-08-12 04:20:25 +000016771 Changed the line highlight transition for an easier animation.
16772
16773 Reviewed by Tim Hatcher.
16774
16775 * page/inspector/SourceFrame.js:
16776
timothy@apple.com24a14852008-08-12 03:57:39 +0000167772008-08-11 Keishi Hattori <casey.hattori@gmail.com>
16778
16779 Added support for some Firebug Command Line APIs.
16780
16781 Reviewed by Tim Hatcher.
16782
16783 https://bugs.webkit.org/show_bug.cgi?id=19867
16784 https://bugs.webkit.org/show_bug.cgi?id=19868
16785 https://bugs.webkit.org/show_bug.cgi?id=19869
16786 https://bugs.webkit.org/show_bug.cgi?id=19875
16787 https://bugs.webkit.org/show_bug.cgi?id=19876
16788 https://bugs.webkit.org/show_bug.cgi?id=19880
16789
16790 * page/inspector/Console.js:
16791 (WebInspector.Console.prototype._evalInInspectedWindow):
16792 Create an object on the inspected window that holds the console
16793 command line API functions. This object is used in a with statement
16794 around the typed expression.
16795
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000167962008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
16797
16798 Reviewed by Antti.
16799
16800 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
16801
16802 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
16803 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
16804
16805 Added tests: svg/custom/svg-modify-currentTranslate.html
16806 svg/custom/tearoffs-with-tearoffs.html
16807 svg/custom/immutable-properties.html
16808
16809 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
16810
16811 * bindings/js/JSSVGPODTypeWrapper.h:
16812 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
16813 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
16814 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
16815 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
16816 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
16817 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
16818 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
16819 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
16820 * bindings/scripts/CodeGenerator.pm:
16821 * bindings/scripts/CodeGeneratorJS.pm:
16822 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
16823 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
16824
beidson@apple.com0e772f72008-08-12 00:34:46 +0000168252008-08-11 Brady Eidson <beidson@apple.com>
16826
16827 Reviewed by John and Anders
16828
16829 Fix for <rdar://problem/6141797>
16830
16831 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
16832 would never have nil data.
16833
16834 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
16835 semantics with some WebKit applications.
16836
16837 The guarantee was a good one and should be restored.
16838
16839 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
16840 creates an empty data object in the case of null data for its own purposes.
16841
16842 * loader/SubstituteResource.h:
16843 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
16844 well help any future subclassers not make this mistake.
16845
16846 * loader/archive/ArchiveResource.cpp:
16847 (WebCore::ArchiveResource::create): Return 0 if the data is null.
16848
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000168492008-08-11 Simon Fraser <simon.fraser@apple.com>
16850
16851 Reviewed by Dave Hyatt
16852
16853 https://bugs.webkit.org/show_bug.cgi?id=20328
16854 Fix a problem when an 'all' transition transition with more than
16855 one property changing is interrupted, and did some AnimationController
16856 cleanup.
16857
16858 Test: transitions/interrupted-all-transition.html
16859
16860 * page/AnimationController.cpp:
16861 (WebCore::ImplicitAnimation::ImplicitAnimation):
16862 (WebCore::AnimationControllerPrivate::blendProperties):
16863 (WebCore::CompositeAnimation::updateTransitions):
16864 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
16865 (WebCore::CompositeAnimation::setTransitionStartTime):
16866 (WebCore::CompositeAnimation::overrideImplicitAnimations):
16867 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
16868 (WebCore::ImplicitAnimation::animate):
16869 (WebCore::ImplicitAnimation::onAnimationEnd):
16870 (WebCore::ImplicitAnimation::sendTransitionEvent):
16871 (WebCore::ImplicitAnimation::affectsProperty):
16872 (WebCore::KeyframeAnimation::endAnimation):
16873 (WebCore::KeyframeAnimation::onAnimationEnd):
16874
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000168752008-08-11 Kevin McCullough <kmccullough@apple.com>
16876
16877 Reviewed by Tim.
16878
16879 - Because console messages have group levels now, newly created messages
16880 that do not specify the level lose their message since the number of
16881 arguments is wrong.
16882
16883 * page/inspector/Console.js:
16884 * page/inspector/Resource.js:
16885
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000168862008-08-11 Alp Toker <alp@nuanti.com>
16887
16888 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
16889 the opportunity to sort the sources lists.
16890
16891 * GNUmakefile.am:
16892
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000168932008-08-11 Timothy Hatcher <timothy@apple.com>
16894
16895 Speed up the the JavaScript syntax highlighter by generating
16896 the finders only once per script instead of per line.
16897
16898 https://bugs.webkit.org/show_bug.cgi?id=20346
16899
16900 Reviewed by Adam Roben.
16901
16902 * page/inspector/SourceFrame.js:
16903 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
16904 Removed, factored into syntaxHighlightJavascript as an inline function.
16905 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
16906 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
16907 Generate the finders before iterating the lines.
16908
aroben@apple.com957d2d32008-08-11 18:31:37 +0000169092008-08-11 Adam Roben <aroben@apple.com>
16910
16911 Windows build fix
16912
16913 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
16914 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
16915 too.
16916
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000169172008-08-11 Dan Bernstein <mitz@apple.com>
16918
16919 Reviewed by Darin Adler.
16920
16921 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
16922
16923 Test: fast/css/counters/invalidate-cached-counter-node.html
16924
16925 * rendering/RenderContainer.cpp:
16926 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
16927 RenderCounters in :before and :after content.
16928 * rendering/RenderContainer.h:
16929 * rendering/RenderCounter.cpp:
16930 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
16931 to match the RenderObject method.
16932 (WebCore::RenderCounter::invalidate): Added. Resets the cached
16933 CounterNode and invalidates the object's layout and preferred widths.
16934 (WebCore::destroyCounterNodeChildren): Added a call to
16935 invalidateCounters().
16936 * rendering/RenderCounter.h:
16937 * rendering/RenderObject.h:
16938 (WebCore::RenderObject::invalidateCounters):
16939
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000169402008-08-11 Dean Jackson <dino@apple.com>
16941
16942 Implement CSS Animation and Transition Events
16943 https://bugs.webkit.org/show_bug.cgi?id=20337
16944
16945 Implement the events defined in the CSS Animations
16946 and Transitions specifications so code can react
16947 to animations and transitions.
16948
16949 Reviewed by Tim Hatcher and Dave Hyatt.
16950
16951 * DerivedSources.make:
16952 * GNUmakefile.am:
16953 * WebCore.pro:
16954 * WebCore.vcproj/WebCore.vcproj:
16955 * WebCore.xcodeproj/project.pbxproj:
16956 * WebCoreSources.bkl:
16957 Build configs for new files
16958
16959 * bindings/js/JSDOMWindowBase.cpp:
16960 * bindings/js/JSDOMWindowBase.h:
16961 * bindings/js/JSEventCustom.cpp:
16962 * dom/Document.h:
16963 * dom/Event.cpp:
16964 * dom/Event.h:
16965 * dom/EventTarget.cpp:
16966 * dom/EventTargetNode.cpp:
16967 * dom/EventTargetNode.h:
16968 * html/HTMLElement.cpp:
16969 * page/AnimationController.cpp:
16970 do all the new event stuff
16971
16972 * html/HTMLAttributeNames.in:
16973 the onwebkitanimation* and onwebkittransitionend attrs
16974
16975 * dom/WebKitAnimationEvent.cpp: Added.
16976 * dom/WebKitAnimationEvent.h: Added.
16977 * dom/WebKitAnimationEvent.idl: Added.
16978 * dom/WebKitTransitionEvent.cpp: Added.
16979 * dom/WebKitTransitionEvent.h: Added.
16980 * dom/WebKitTransitionEvent.idl: Added.
16981 New files for the events
16982
16983 * manual-tests/transition-events.html: Added.
16984 New testfile
16985
aroben@apple.com3eae8622008-08-11 17:21:23 +0000169862008-08-11 Adam Roben <aroben@apple.com>
16987
16988 Add a ForwardingHeader for wtf/NotFound.h
16989
16990 Rubberstamped by Darin Adler.
16991
16992 * ForwardingHeaders/wtf/NotFound.h: Added.
16993
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000169942008-08-11 Timothy Hatcher <timothy@apple.com>
16995
16996 Fixes a bug where error bubbles in JavaScript resources would
16997 be clobbered by the syntax highlighter.
16998
16999 https://bugs.webkit.org/show_bug.cgi?id=20345
17000
17001 Reviewed by Adam Roben.
17002
17003 * manual-tests/inspector/resources/script-error.js: Added.
17004 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
17005 * page/inspector/SourceFrame.js:
17006 (WebInspector.SourceFrame.prototype._addMessageToSource):
17007 Check the nodeType and not the nodeName, this is less fragile.
17008 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
17009 Check if the lastChild is an error bubble, if so remove it before
17010 getting the line's textContent. Add the error bubble back at the end.
17011
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000017012== Rolled over to ChangeLog-2008-08-10 ==