e8fe2cd1288ac7c6d8d9ff810954fb13c135002f
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-01-17  Adam Roben  <aroben@apple.com>
2
3         Simplify WKCACFLayerRenderer's API
4
5         createRenderer/destroyRenderer are now hidden behind setHostWindow.
6         WKCACFLayerRendererClient::animationsStarted has been removed, as it
7         was never called. (The work it was supposed to do was already being
8         accomplished by WKCACFLayerRenderer::render telling each layer that
9         animations are starting.)
10
11         Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use
12
13         Reviewed by Chris Marrin.
14
15         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
16         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the
17         call to setHostWindow here from the WM_CREATE handler. The WM_CREATE
18         handler was causing the Direct3D device to be created, but MSDN says
19         you shouldn't create a device while handling WM_CREATE. Removed
20         no-longer-needed call to createRenderer (setHostWindow does this now)
21         and the never-needed call to setNeedsDisplay (we never draw into the
22         root layer; this was just creating an unnecessary backing store the
23         size of the screen!).
24         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE
25         code, as described above. Removed call to destroyRenderer when handling
26         WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler
27         to do a synchronous paint and to clear our dirty region, while I was in
28         here.
29
30         * platform/graphics/win/WKCACFLayerRenderer.cpp:
31         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
32         setHostWindow instead of destroyRenderer; the former calls the latter
33         if needed.
34         (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the
35         header file. Destroys our old renderer (i.e., IDirect3DDevice9) if
36         we're losing our window, or creates a renderer if we're gaining a
37         window.
38         (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename.
39         (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the
40         D3D device from our context before releasing the device.
41
42         * platform/graphics/win/WKCACFLayerRenderer.h: Removed
43         WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
44         Make createRenderer, destroyRenderer, and renderSoon private.
45
46 2011-01-17  Adam Roben  <aroben@apple.com>
47
48         Remove special-cased support for providing content for the root layer
49
50         Clients will just have to provide content through the normal
51         GraphicsLayer channels now!
52
53         Support for <http://webkit.org/b/52582> WebView should paint directly
54         into a GraphicsLayer when in accelerated compositing mode
55
56         Reviewed by Simon Fraser and Chris Marrin.
57
58         * platform/graphics/win/WKCACFLayerRenderer.cpp:
59         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
60         initialization of m_backingStoreDirty, which has itself been removed.
61         (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
62         a sync from here to syncCompositingStateSoon. We only need to call
63         renderSoon if we don't call syncCompositingStateSoon; the latter
64         function calls the former.
65         (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
66         m_backingStoreDirty. We don't want to know anything about clients'
67         backing stores.
68         (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
69         came from setNeedsDisplay.
70
71         * platform/graphics/win/WKCACFLayerRenderer.h:
72         Removed setRootContents[AndDisplay], setBackingStoreDirty, and
73         m_backingStoreDirty. Made paint() public so that clients can force a
74         synchronous render (e.g., when handling WM_PAINT).
75
76 2011-01-17  Adam Roben  <aroben@apple.com>
77
78         Remove contexts from WKCACFContextFlusher before destroying them
79
80         We aren't really using WKCACFContextFlusher for anything useful at the
81         moment, but that will probably change in the near future.
82
83         I couldn't come up with a way to test this because it isn't possible to
84         resize a window in DumpRenderTree.
85
86         Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
87         WKCACFContextFlusher::flushAllContexts when resizing window on page
88         that uses accelerated compositing
89
90         Reviewed by Simon Fraser.
91
92         * platform/graphics/win/WKCACFLayerRenderer.cpp:
93         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
94         context from WKCACFContextFlusher. (This code was erroneously removed
95         from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
96         sensible place for it.)
97
98 2011-01-17  Adam Roben  <aroben@apple.com>
99
100         Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
101
102         There might be a secret extra sublayer (the tile parent layer) that
103         PlatformCALayer doesn't know about. When PlatformCALayer would
104         encounter this, it would try to use the tile parent layer's
105         PlatformCALayer wrapper, which was null, and then would crash. We now
106         ask PlatformCALayerWinInternal for the sublayer list, since that class
107         knows about the tile parent layer and can exclude it from the sublayer
108         list.
109
110         Covered by compositing/tiling/huge-layer-resize.html.
111
112         Fixes <http://webkit.org/b/52597> Crash beneath
113         PlatformCALayer::adoptSublayers when switching out of tiling mode
114         (null-dereference of a PlatformCALayer)
115
116         Reviewed by Darin Adler and Chris Marrin.
117
118         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
119         (PlatformCALayer::adoptSublayers):
120         (printLayer):
121         Changed to use PlatformCALayerWinInternal::getSublayers.
122
123         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
124         (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
125         of PlatformCALayers that represent our sublayers. Significantly, this
126         code knows about the tile parent layer and can thus exclude it.
127
128         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
129         getSublayers.
130
131 2011-01-17  Naoki Takano  <takano.naoki@gmail.com>
132
133         Reviewed by Kent Tamura.
134
135         [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
136         https://bugs.webkit.org/show_bug.cgi?id=51382
137         http://crbug.com/60427
138
139         Calculate correct location of popup window whenever the items in the window change.
140
141         No new tests, because this fix is for Chromium project and hard to test only in WebKit project
142
143         * platform/chromium/PopupMenuChromium.cpp:
144         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
145         (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
146         (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
147         * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().
148
149 2011-01-17  Mark Rowe  <mrowe@apple.com>
150
151         Fix the 32-bit build.
152
153         * WebCore.exp.in:
154
155 2011-01-17  Dan Bernstein  <mitz@apple.com>
156
157         Reviewed by Darin Adler.
158
159         Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
160         https://bugs.webkit.org/show_bug.cgi?id=52598
161
162         Test: fast/css/font-face-zero-hash-key.html
163
164         * css/CSSFontFaceSource.cpp:
165         (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
166         * css/CSSSegmentedFontFace.cpp:
167         (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
168
169 2011-01-17  David Kilzer  <ddkilzer@apple.com>
170
171         <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
172
173         Reviewed by Dan Bernstein.
174
175         This fixes two issues:
176
177         Add missing DOMDocumentFragmentPrivate.h and
178         DOMDocumentPrivate.h files to the project.  These files were
179         never added to the the project although their *Internal.h
180         counterparts were added in r16548 and r17390.
181
182         Add missing DOMDocumentFragmentInternal.h to the Headers
183         section.  It was moved from Headers to "Copy Generated Headers"
184         in r31045, but it should have an entry in both sections.
185
186         * WebCore.xcodeproj/project.pbxproj:
187
188 2011-01-17  Helder Correia  <helder@sencha.com>
189
190         Reviewed by Andreas Kling.
191
192         [Qt] Incorrect shadow alpha with pattern fillStyle
193         https://bugs.webkit.org/show_bug.cgi?id=52559
194
195         The shadow color opacity needs to be set on the shadow painter.
196         This is related to bug 52556.
197
198         Test: fast/canvas/canvas-fillPath-pattern-shadow.html
199
200         * platform/graphics/qt/GraphicsContextQt.cpp:
201         (WebCore::GraphicsContext::fillPath):
202
203 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
204
205         Reviewed by Andreas Kling.
206
207         [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
208         https://bugs.webkit.org/show_bug.cgi?id=52586
209
210         No new tests. This is just a merge from upstream.
211
212         * platform/network/soup/cache/soup-http-input-stream.c:
213         (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
214
215 2011-01-17  Tony Gentilcore  <tonyg@chromium.org>
216
217         Reviewed by Alexey Proskuryakov.
218
219         Fix some headers with missing or misspelled #ifndef guards
220         https://bugs.webkit.org/show_bug.cgi?id=52545
221
222         No new tests because no new functionality.
223
224         * ForwardingHeaders/runtime/InitializeThreading.h:
225         * editing/SmartReplace.h:
226         * loader/CrossOriginAccessControl.h:
227         * loader/NetscapePlugInStreamLoader.h:
228         * platform/chromium/ClipboardUtilitiesChromium.h:
229         * platform/graphics/cairo/DrawErrorUnderline.h:
230         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
231         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
232         * platform/graphics/cg/PDFDocumentImage.h:
233         * platform/win/WebCoreTextRenderer.h:
234
235 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
236
237         Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
238
239         * inspector/front-end/NetworkPanel.js:
240         (WebInspector.NetworkPanel.prototype.clear):
241         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
242
243 2011-01-17  Sergio Villar Senin  <svillar@igalia.com>
244
245         Reviewed by Martin Robinson.
246
247         [Gtk] No need to content sniff 304 Not Modified responses
248         https://bugs.webkit.org/show_bug.cgi?id=52570
249
250         Makes no sense to wait for the outcome of content sniffing when WebCore
251         is validating resources. If we get a 304 Not Modified it means that we can
252         safely use the cached version of the resource we're asking for.
253
254         No new tests because it does not change functionality, it just
255         calls didReceiveResponse sooner for 304 Not Modified responses.
256
257         * platform/network/soup/ResourceHandleSoup.cpp:
258         (WebCore::gotHeadersCallback):
259
260 2011-01-17  Jessie Berlin  <jberlin@apple.com>
261
262         Reviewed by Anders Carlsson.
263
264         REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
265         navigating back to an unreachable URL
266         https://bugs.webkit.org/show_bug.cgi?id=52388
267
268         Test: http/tests/navigation/go-back-to-error-page.html
269
270         * history/PageCache.cpp:
271         (WebCore::PageCache::canCachePageContainingThisFrame):
272         Do not cache any error pages (which we can recognize as having substitute data and/or an
273         unreachableURL).
274
275 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
276
277         Not reviewed: fixing typo in r75952.
278
279         * inspector/front-end/NetworkPanel.js:
280         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
281
282 2011-01-17  Enrica Casucci  <enrica@apple.com>
283
284         Reviewed by Alexey Proskuryakov.
285
286         Drag and drop support: refactoring of image from link and image from selection
287         https://bugs.webkit.org/show_bug.cgi?id=52496
288
289         This work cleans up the Mac code and makes it more similar to the Windows implementation,
290         avoiding the use of an NSView when the FrameView can be used.
291         The refactoring is a necessary step towards the complete support of drag and drop
292         in WebKit2.
293         
294         * page/mac/FrameMac.mm:
295         (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
296         to generate the image for drag.
297
298 2011-01-17  Dan Bernstein  <mitz@apple.com>
299
300         Rubber-stamped by Mark Rowe.
301
302         Update xcodeproj svn:ignore to include xcuserdata.
303
304         * WebCore.xcodeproj: Modified property svn:ignore.
305         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
306
307 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
308
309         Leopard build fix.
310
311         * page/PrintContext.cpp: GCC complained about shortening a double value to float.
312
313 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
314
315         Reviewed by Dan Bernstein.
316
317         https://bugs.webkit.org/show_bug.cgi?id=52495
318
319         No change in behavior, so no tests.
320
321         * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
322
323         * page/PrintContext.cpp:
324         (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
325         destroyed already.
326         (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
327         (WebCore::PrintContext::pageRect): Ditto.
328         (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
329         PrintContext already has code to calculate scale factor, so it makes sense to make methods
330         that contain it universal (allowHorizontalTiling is always true for Safari).
331         Round page height to an integer, because Mac code does that, and because page height is
332         treated as integer almost everywhere else in code.
333         (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
334         to return to screen mode if e.g. "print backgounds" option changes.
335         (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
336         that clients don't have to copy it.
337         (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
338         comes from code that doesn't have page number.
339         (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.
340
341         * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
342         depends on deciding how it really needs to work (e.g. whether computePageRects() should
343         cause relayout).
344
345 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
346
347         Reviewed by Yury Semikhatsky.
348
349         Web Inspector: unify image data source assignment, add image url
350         to the image view properties list.
351         https://bugs.webkit.org/show_bug.cgi?id=52584
352
353         * English.lproj/localizedStrings.js:
354         * inspector/front-end/ImageView.js:
355         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
356         (WebInspector.ImageView.prototype._createContentIfNeeded):
357         * inspector/front-end/NetworkPanel.js:
358         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
359         * inspector/front-end/Resource.js:
360         (WebInspector.Resource.prototype.populateImageSource):
361         (WebInspector.Resource.prototype._contentURL):
362         * inspector/front-end/ResourcesPanel.js:
363         (WebInspector.FrameResourceTreeElement.prototype.onattach):
364
365 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
366
367         Reviewed by Pavel Feldman.
368
369         Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
370         Make resource start/finish hanlding more consistent.
371         https://bugs.webkit.org/show_bug.cgi?id=52452
372
373         * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
374         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
375         (WebInspector.AuditLauncherView.prototype.resourceStarted):
376         (WebInspector.AuditLauncherView.prototype.resourceFinished):
377         * inspector/front-end/NetworkManager.js:
378         (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
379         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
380         (WebInspector.NetworkManager.prototype.willSendRequest):
381         (WebInspector.NetworkManager.prototype.markResourceAsCached):
382         (WebInspector.NetworkManager.prototype.didReceiveResponse):
383         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
384         (WebInspector.NetworkManager.prototype.didFinishLoading):
385         (WebInspector.NetworkManager.prototype.didFailLoading):
386         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
387         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
388         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
389         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
390         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
391         (WebInspector.NetworkManager.prototype._appendRedirect):
392         (WebInspector.NetworkManager.prototype._startResource):
393         (WebInspector.NetworkManager.prototype._finishResource):
394
395 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
396
397         Reviewed by Yury Semikhatsky.
398
399         Web Inspector: restore dom and network state upon frontend reuse.
400         https://bugs.webkit.org/show_bug.cgi?id=52574
401
402         * inspector/Inspector.idl:
403         * inspector/InspectorController.cpp:
404         (WebCore::InspectorController::restoreInspectorStateFromCookie):
405         (WebCore::InspectorController::populateScriptObjects):
406         (WebCore::InspectorController::pushDataCollectedOffline):
407         (WebCore::InspectorController::didCommitLoad):
408         * inspector/InspectorController.h:
409         * inspector/front-end/NetworkManager.js:
410         (WebInspector.NetworkManager.prototype.reset):
411         * inspector/front-end/NetworkPanel.js:
412         (WebInspector.NetworkPanel.prototype.clear):
413         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
414         * inspector/front-end/ResourceTreeModel.js:
415         (WebInspector.ResourceTreeModel):
416         (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
417         * inspector/front-end/ResourcesPanel.js:
418         (WebInspector.ResourcesPanel.prototype.clear):
419         * inspector/front-end/inspector.js:
420         (WebInspector.frontendReused):
421
422 2011-01-17  Csaba Osztrogonác  <ossy@webkit.org>
423
424         Unreviewed buildfix after r75944.
425
426         * WebCore.pro:
427
428 2011-01-17  Yi Shen  <yi.4.shen@nokia.com>
429
430         Reviewed by Andreas Kling.
431
432         [Qt] Extend the Platform Plugin to support full screen video handler
433         https://bugs.webkit.org/show_bug.cgi?id=51249
434
435         Make MediaPlayerPrivateQt support a fullscreen player.
436
437         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
438         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
439         So, still skip it for Qt.
440
441         * WebCore.pro:
442         * features.pri:
443         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
444         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
445         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
446         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
447         * platform/graphics/qt/MediaPlayerPrivateQt.h:
448         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
449         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
450
451 2011-01-17  Anthony Ricaud  <rik@webkit.org>
452
453         Reviewed by Kent Tamura.
454
455         [HTML5] Revert display:none on datalist
456         https://bugs.webkit.org/show_bug.cgi?id=52214
457
458         * css/html.css:
459
460 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
461
462         Reviewed by Yury Semikhatsky.
463
464         Web Inspector: simplify debugger enabling routine.
465         https://bugs.webkit.org/show_bug.cgi?id=52472
466
467         * inspector/Inspector.idl:
468         * inspector/InspectorController.cpp:
469         (WebCore::InspectorController::restoreDebugger):
470         (WebCore::InspectorController::showAndEnableDebugger):
471         (WebCore::InspectorController::enableDebugger):
472         * inspector/InspectorController.h:
473         * inspector/front-end/DebuggerModel.js:
474         * inspector/front-end/ScriptsPanel.js:
475         (WebInspector.ScriptsPanel.prototype.show):
476         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
477
478 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
479
480         Reviewed by Pavel Feldman.
481
482         Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
483         https://bugs.webkit.org/show_bug.cgi?id=51738
484
485         Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
486         Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.
487
488         * inspector/front-end/ScriptView.js:
489         (WebInspector.ScriptView):
490         (WebInspector.SourceFrameContentProviderForScript):
491         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
492         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
493         (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
494         * inspector/front-end/ScriptsPanel.js:
495         (WebInspector.ScriptsPanel.prototype._addScript):
496         (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
497         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
498         * inspector/front-end/SourceFrame.js:
499         (WebInspector.SourceFrame):
500         (WebInspector.SourceFrame.prototype.set visible):
501         (WebInspector.SourceFrame.prototype._createTextViewer):
502         (WebInspector.SourceFrame.prototype._breakpointAdded):
503         (WebInspector.SourceFrame.prototype._breakpoints):
504         (WebInspector.SourceFrame.prototype._sourceIDForLine):
505         (WebInspector.SourceFrame.prototype._sourceIDSet):
506         (WebInspector.SourceFrameContentProvider):
507         (WebInspector.SourceFrameContentProvider.prototype.requestContent):
508         (WebInspector.SourceFrameContentProvider.prototype.scripts):
509         * inspector/front-end/SourceView.js:
510         (WebInspector.SourceView):
511         (WebInspector.SourceView.prototype.show):
512         (WebInspector.SourceView.prototype.resize):
513         (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
514         (WebInspector.SourceView.prototype.performSearch):
515         (WebInspector.SourceView.prototype.revealLine):
516         (WebInspector.SourceView.prototype.highlightLine):
517         (WebInspector.SourceView.prototype._jumpToSearchResult):
518         (WebInspector.SourceFrameContentProviderForResource):
519         (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
520         (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):
521
522 2011-01-17  John Knottenbelt  <jknotten@chromium.org>
523
524         Reviewed by Jeremy Orlow.
525
526         GeolocationController should call stopUpdating on destruction
527         https://bugs.webkit.org/show_bug.cgi?id=52216
528
529         Test: fast/dom/Geolocation/window-close-crash.html
530
531         * page/GeolocationController.cpp:
532         (WebCore::GeolocationController::~GeolocationController):
533
534 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
535
536         Not reviewed: Qt build fix.
537
538         * inspector/InspectorInstrumentation.h:
539
540 2011-01-16  Pavel Feldman  <pfeldman@chromium.org>
541
542         Reviewed by Yury Semikhatsky.
543
544         Web Inspector: make WebCore use InspectorInstrumentation
545         for instrumentation calls.
546         https://bugs.webkit.org/show_bug.cgi?id=52532
547
548         This change makes WebCore classes issue instrumentation signals
549         by means of InspectorInstrumentation interface. It covered migration
550         for Document, FrameLoader, Database, DOMStorage, etc. It fixed
551         instrumentation handling for Console as well. This all is a part
552         of story described in the bug 52510.
553
554         * dom/Document.cpp:
555         (WebCore::Document::finishedParsing):
556         * dom/Document.h:
557         * dom/ScriptExecutionContext.h:
558         * inspector/InspectorBrowserDebuggerAgent.cpp:
559         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
560         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
561         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
562         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
563         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
564         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
565         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
566         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
567         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
568         * inspector/InspectorBrowserDebuggerAgent.h:
569         (WebCore::InspectorBrowserDebuggerAgent::create):
570         * inspector/InspectorConsoleAgent.cpp:
571         (WebCore::InspectorConsoleAgent::stopTiming):
572         (WebCore::InspectorConsoleAgent::count):
573         * inspector/InspectorConsoleAgent.h:
574         * inspector/InspectorController.cpp:
575         (WebCore::InspectorController::InspectorController):
576         (WebCore::InspectorController::~InspectorController):
577         (WebCore::InspectorController::handleMousePress):
578         (WebCore::InspectorController::didClearWindowObjectInWorld):
579         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
580         * inspector/InspectorController.h:
581         * inspector/InspectorDOMAgent.h:
582         * inspector/InspectorDOMStorageAgent.h:
583         * inspector/InspectorDatabaseAgent.cpp:
584         * inspector/InspectorDatabaseAgent.h:
585         * inspector/InspectorFrontendHost.cpp:
586         * inspector/InspectorFrontendHost.h:
587         * inspector/InspectorInstrumentation.cpp:
588         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
589         (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
590         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
591         (WebCore::InspectorInstrumentation::handleMousePressImpl):
592         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
593         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
594         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
595         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
596         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
597         (WebCore::InspectorInstrumentation::consoleCountImpl):
598         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
599         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
600         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
601         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
602         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
603         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
604         (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
605         (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
606         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
607         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
608         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
609         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
610         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
611         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
612         * inspector/InspectorInstrumentation.h:
613         (WebCore::InspectorInstrumentation::inspectorControllerCreated):
614         (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
615         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
616         (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
617         (WebCore::InspectorInstrumentation::willInsertDOMNode):
618         (WebCore::InspectorInstrumentation::didInsertDOMNode):
619         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
620         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
621         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
622         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
623         (WebCore::InspectorInstrumentation::handleMousePress):
624         (WebCore::InspectorInstrumentation::characterDataModified):
625         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
626         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
627         (WebCore::InspectorInstrumentation::didInstallTimer):
628         (WebCore::InspectorInstrumentation::didRemoveTimer):
629         (WebCore::InspectorInstrumentation::willCallFunction):
630         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
631         (WebCore::InspectorInstrumentation::willDispatchEvent):
632         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
633         (WebCore::InspectorInstrumentation::willEvaluateScript):
634         (WebCore::InspectorInstrumentation::willFireTimer):
635         (WebCore::InspectorInstrumentation::willLayout):
636         (WebCore::InspectorInstrumentation::willLoadXHR):
637         (WebCore::InspectorInstrumentation::willPaint):
638         (WebCore::InspectorInstrumentation::willRecalculateStyle):
639         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
640         (WebCore::InspectorInstrumentation::willSendRequest):
641         (WebCore::InspectorInstrumentation::markResourceAsCached):
642         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
643         (WebCore::InspectorInstrumentation::willReceiveResourceData):
644         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
645         (WebCore::InspectorInstrumentation::didReceiveContentLength):
646         (WebCore::InspectorInstrumentation::didFinishLoading):
647         (WebCore::InspectorInstrumentation::didFailLoading):
648         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
649         (WebCore::InspectorInstrumentation::scriptImported):
650         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
651         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
652         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
653         (WebCore::InspectorInstrumentation::didCommitLoad):
654         (WebCore::InspectorInstrumentation::willWriteHTML):
655         (WebCore::InspectorInstrumentation::didOpenDatabase):
656         (WebCore::InspectorInstrumentation::didUseDOMStorage):
657         (WebCore::InspectorInstrumentation::didCreateWorker):
658         (WebCore::InspectorInstrumentation::didDestroyWorker):
659         (WebCore::InspectorInstrumentation::didCreateWebSocket):
660         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
661         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
662         (WebCore::InspectorInstrumentation::didCloseWebSocket):
663         (WebCore::InspectorInstrumentation::networkStateChanged):
664         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
665         (WebCore::InspectorInstrumentation::addMessageToConsole):
666         (WebCore::InspectorInstrumentation::consoleCount):
667         (WebCore::InspectorInstrumentation::startConsoleTiming):
668         (WebCore::InspectorInstrumentation::stopConsoleTiming):
669         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
670         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
671         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
672         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
673         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
674         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
675         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
676         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
677         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
678         * inspector/InspectorState.cpp:
679         * loader/FrameLoader.cpp:
680         (WebCore::FrameLoader::detachFromParent):
681         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
682         (WebCore::FrameLoader::dispatchDidCommitLoad):
683         * page/Chrome.cpp:
684         (WebCore::Chrome::mouseDidMoveOverElement):
685         * page/Console.cpp:
686         (WebCore::Console::addMessage):
687         (WebCore::Console::count):
688         (WebCore::Console::markTimeline):
689         (WebCore::Console::profile):
690         (WebCore::Console::time):
691         (WebCore::Console::timeEnd):
692         (WebCore::Console::group):
693         (WebCore::Console::groupCollapsed):
694         (WebCore::Console::groupEnd):
695         * page/DOMWindow.cpp:
696         (WebCore::DOMWindow::sessionStorage):
697         (WebCore::DOMWindow::localStorage):
698         (WebCore::DOMWindow::dispatchLoadEvent):
699         * page/EventHandler.cpp:
700         (WebCore::EventHandler::handleMousePressEvent):
701         * page/Page.cpp:
702         (WebCore::Page::~Page):
703         * storage/Database.cpp:
704         (WebCore::Database::openDatabase):
705         * workers/AbstractWorker.cpp:
706         (WebCore::AbstractWorker::onDestroyWorker):
707         * workers/SharedWorker.cpp:
708         (WebCore::SharedWorker::create):
709         * workers/Worker.cpp:
710         (WebCore::Worker::create):
711         * workers/WorkerMessagingProxy.cpp:
712
713 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
714
715         Unreviewed, rolling out r75923.
716
717         GTK guy rolls out the r75914.
718
719         * platform/efl/ScrollViewEfl.cpp:
720         (WebCore::ScrollView::platformInit):
721
722 2011-01-17  Helder Correia  <helder@sencha.com>
723
724         Reviewed by Kenneth Rohde Christiansen.
725
726         [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
727         https://bugs.webkit.org/show_bug.cgi?id=52556
728
729         The shadow color opacity needs to be set on the shadow painter.
730         Additionally, the gradient brush should be transformed.
731
732         * platform/graphics/qt/GraphicsContextQt.cpp:
733         (WebCore::GraphicsContext::fillPath):
734
735 2011-01-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
736
737         Reviewed by Kenneth Rohde Christiansen.
738
739         [Qt] Background image rendering is slow
740         https://bugs.webkit.org/show_bug.cgi?id=50527
741
742         When tiling a scaled pixmap in Image::drawPattern, scale the tile
743         first and only then draw it to the target. Do so only when drawing
744         more than one tile.
745
746         Tests in fast/backgrounds/size cover this.
747
748         * platform/graphics/qt/ImageQt.cpp:
749         (WebCore::Image::drawPattern):
750
751 2011-01-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
752
753         Reviewed by Simon Hausmann.
754
755         [Qt] [Symbian] Fix building NPAPI support
756         https://bugs.webkit.org/show_bug.cgi?id=51981
757
758         Make sure that npapi.h is always included outside of the extern "C"
759         linkage declaration block.
760
761         No new tests as there is no new functionality.
762
763         * bridge/npruntime.h:
764
765 2011-01-17  Philippe Normand  <pnormand@igalia.com>
766
767         Unreviewed, rolling out r75914.
768         http://trac.webkit.org/changeset/75914
769         https://bugs.webkit.org/show_bug.cgi?id=49177
770
771         multiple crashes on GTK
772
773         * platform/ScrollView.cpp:
774         (WebCore::ScrollView::removeChild):
775         (WebCore::ScrollView::wheelEvent):
776         * platform/gtk/MainFrameScrollbarGtk.cpp:
777         (MainFrameScrollbarGtk::attachAdjustment):
778         (MainFrameScrollbarGtk::gtkValueChanged):
779         * platform/gtk/ScrollViewGtk.cpp:
780         (WebCore::ScrollView::platformInit):
781         (WebCore::ScrollView::platformAddChild):
782         (WebCore::ScrollView::platformRemoveChild):
783
784 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
785
786         Unreviewed build fix.
787
788         Bug 49177's patch enabled platformInit() in super class(ScrollView).
789         But, it didn't removed the function in ScrollViewEfl.cpp.
790
791         * platform/efl/ScrollViewEfl.cpp:
792
793 2011-01-16  Dan Bernstein  <mitz@apple.com>
794
795         Reviewed by Sam Weinig.
796
797         <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
798
799         Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
800         quad to a non-empty rect.
801
802         * rendering/RenderWidget.cpp:
803         (WebCore::RenderWidget::setWidget):
804         (WebCore::RenderWidget::updateWidgetPosition):
805
806 2011-01-16  Martin Robinson  <mrobinson@igalia.com>
807
808         Reviewed by Xan Lopez.
809
810         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
811         https://bugs.webkit.org/show_bug.cgi?id=49177
812
813         * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
814         now shares the implementation of platformAddChild and platformRemoveChild,
815         but has its own implementation of removeChild, which knows how to inform
816         main frame scrollbars that they no longer control the WebCore scrollbar.
817         * platform/gtk/MainFrameScrollbarGtk.cpp:
818         (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
819         that we already have, bail out early. Apply the value changed signal handler
820         after configuring the adjustment. We don't want our reset of the adjustment to
821         stomp on WebCore values.
822         (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
823         state already matches ours. This prevents some unnecessary recursion
824         * platform/gtk/ScrollViewGtk.cpp:
825         (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
826         which need their adjustments detached.
827
828 2011-01-13  Yuzo Fujishima  <yuzo@google.com>
829
830         Reviewed by Antti Koivisto.
831
832         Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
833         https://bugs.webkit.org/show_bug.cgi?id=52427
834
835         In constructor/destructor of CachedResourceLoader, m_cache has been
836         used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
837         while cache() is used everywhere else.
838
839         Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
840         Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
841
842         No new tests because the behavior remains the same.
843
844         * loader/cache/CachedResourceLoader.cpp:
845         (WebCore::CachedResourceLoader::CachedResourceLoader):
846         (WebCore::CachedResourceLoader::~CachedResourceLoader):
847         * loader/cache/CachedResourceLoader.h:
848         * loader/cache/MemoryCache.cpp:
849         * loader/cache/MemoryCache.h:
850
851 2011-01-16  Adam Barth  <abarth@webkit.org>
852
853         Rubber-stamped by Eric Seidel.
854
855         Move WebKit into Source
856         https://bugs.webkit.org/show_bug.cgi?id=52530
857
858         * WebCore.gyp/WebCore.gyp:
859         * WebCore.pri:
860         * WebCore.pro:
861
862 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
863
864         Reviewed by Dan Bernstein.
865
866         frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
867         https://bugs.webkit.org/show_bug.cgi?id=52549
868
869         Fix regression from r75900; m_widget->setFrameRect() can run script that
870         clears m_widget, so null-check it before calling setBoundsSize().
871         
872         Tested by fast/replaced/frame-removed-during-resize.html
873
874         * rendering/RenderWidget.cpp:
875         (WebCore::RenderWidget::setWidgetGeometry):
876
877 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
878
879         Keep Leopard build happy.
880
881         * platform/mac/WidgetMac.mm:
882         (WebCore::Widget::setBoundsSize):
883
884 2011-01-16  Robert Hogan  <robert@webkit.org>
885
886         Reviewed by Andreas Kling.
887
888         [Qt] plugins/keyboard-events.html fails after r72717
889         https://bugs.webkit.org/show_bug.cgi?id=50050
890
891         * plugins/qt/PluginViewQt.cpp:
892         (WebCore::setXKeyEventSpecificFields): map event text to keycode
893
894 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
895
896         Reviewed by Dan Bernstein.
897
898         Issues with iframes and plugins when the WebView is scaled.
899         <rdar://problem/6213380>
900         
901         When _scaleWebView has been called on a WebView, iframes
902         in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
903         This is caused by AppKit NSViews not playing nicely with the scale
904         applied through style.
905         
906         Work around most of these issues by adjusting the bounds size
907         of widgets to allow iframe contents to paint with the correct scale,
908         and fix various places in the code where we relied on coordinate
909         transforms via NSViews (which ignore CSS transforms).
910
911         * WebCore.exp.in:
912         * platform/Widget.cpp:
913         (WebCore::Widget::setBoundsSize):
914         * platform/Widget.h:
915         * platform/mac/WidgetMac.mm:
916         (WebCore::Widget::setBoundsSize):
917         (WebCore::Widget::paint):
918         * rendering/RenderLayerCompositor.cpp:
919         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
920         * rendering/RenderWidget.cpp:
921         (WebCore::RenderWidget::setWidgetGeometry):
922         (WebCore::RenderWidget::setWidget):
923         (WebCore::RenderWidget::updateWidgetPosition):
924         * rendering/RenderWidget.h:
925
926 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
927
928         Reviewed by Dan Bernstein.
929
930         RenderView needs to take transforms on its layer into account
931         https://bugs.webkit.org/show_bug.cgi?id=52536
932         
933         The RenderView's coordinate mapping methods failed to
934         take into account a transform on the RenderView's layer.
935
936         No tests because it's not possible to get a transform
937         on the RenderView's layer through content.
938
939         * rendering/RenderView.cpp:
940         (WebCore::RenderView::mapLocalToContainer):
941         (WebCore::RenderView::mapAbsoluteToLocalPoint):
942
943 2011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>
944
945         Unreviewed, rolling out r75708.
946         http://trac.webkit.org/changeset/75708
947         https://bugs.webkit.org/show_bug.cgi?id=52521
948
949         Breaks Qt build if mobility is not installed. (Requested by
950         benjaminp on #webkit).
951
952         * WebCore.pro:
953         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
954         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
955         * platform/graphics/qt/MediaPlayerPrivateQt.h:
956         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
957
958 2011-01-15  David Kilzer  <ddkilzer@apple.com>
959
960         <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
961
962         Reviewed by Adele Peterson.
963
964         The fix for Bug 50710 in r73799 introduced an off-by-one error
965         when copying nodes to a local NodeVector for processing.  A fix
966         was attempted for Bug 50854 in r73818, but instead of stopping
967         at the end offset, it iterates through all the sibling nodes
968         because the loop variable (i) is never incremented.  To clean
969         this up, revert back to the code in r73799 and fix the
970         off-by-one error.
971
972         Test: fast/dom/Range/range-clone-contents.html
973
974         * dom/Range.cpp:
975         (WebCore::Range::processContents): Fix the loop that copies
976         nodes to a local NodeVector by restoring the code from r73799
977         and fixing the off-by-one error.
978
979 2011-01-15  Adam Barth  <abarth@webkit.org>
980
981         Rubber-stamped by Eric Seidel.
982
983         Move WebKit2 into Source
984         https://bugs.webkit.org/show_bug.cgi?id=52438
985
986         * WebCore.pro:
987
988 2011-01-15  Joone Hur  <joone.hur@collabora.co.uk>
989
990         Reviewed by Martin Robinson.
991
992         [GTK] Linux build with FileSystem API enabled fails
993         https://bugs.webkit.org/show_bug.cgi?id=43878
994
995         This patch allows WebKitGtk+ to build with FileSystem API option.
996
997         No new tests because no new functionality.
998
999         * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
1000         * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
1001
1002 2011-01-14  Sam Magnuson  <smagnuso@gmail.com>
1003
1004         Reviewed by Kenneth Rohde Christiansen.
1005
1006         [Qt] Compile with QT_NO_GRAPHICSVIEW
1007         https://bugs.webkit.org/show_bug.cgi?id=49750
1008
1009         * platform/graphics/qt/GraphicsLayerQt.cpp:
1010         * platform/graphics/qt/GraphicsLayerQt.h:
1011         * platform/qt/PlatformMouseEventQt.cpp:
1012
1013 2011-01-14  Tony Chang  <tony@chromium.org>
1014
1015         Reviewed by Alexey Proskuryakov.
1016
1017         Strip NUL character when copying text on Windows
1018         https://bugs.webkit.org/show_bug.cgi?id=52236
1019
1020         Test: editing/pasteboard/copy-null-characters.html
1021
1022         * editing/Editor.cpp:
1023         (WebCore::Editor::selectedText):
1024         * platform/mac/PasteboardMac.mm:
1025         (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.
1026
1027 2011-01-14  Yuzo Fujishima  <yuzo@google.com>
1028
1029         Reviewed by Antti Koivisto.
1030
1031         Rename cache() to memoryCache()
1032         https://bugs.webkit.org/show_bug.cgi?id=52433
1033
1034         No new tests because the behavior remains the same.
1035
1036         * WebCore.exp.in:
1037         * WebCore.order:
1038         * history/PageCache.cpp:
1039         (WebCore::PageCache::releaseAutoreleasedPagesNow):
1040         * inspector/InspectorResourceAgent.cpp:
1041         (WebCore::InspectorResourceAgent::cachedResource):
1042         * loader/FrameLoader.cpp:
1043         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
1044         * loader/archive/cf/LegacyWebArchive.cpp:
1045         (WebCore::LegacyWebArchive::create):
1046         * loader/cache/CachedImage.cpp:
1047         (WebCore::CachedImage::allClientsRemoved):
1048         (WebCore::CachedImage::data):
1049         * loader/cache/CachedResource.cpp:
1050         (WebCore::CachedResource::~CachedResource):
1051         (WebCore::CachedResource::addClientToSet):
1052         (WebCore::CachedResource::removeClient):
1053         (WebCore::CachedResource::setDecodedSize):
1054         (WebCore::CachedResource::setEncodedSize):
1055         (WebCore::CachedResource::didAccessDecodedData):
1056         * loader/cache/CachedResourceLoader.cpp:
1057         (WebCore::CachedResourceLoader::CachedResourceLoader):
1058         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1059         (WebCore::CachedResourceLoader::requestResource):
1060         (WebCore::CachedResourceLoader::revalidateResource):
1061         (WebCore::CachedResourceLoader::loadResource):
1062         (WebCore::CachedResourceLoader::clearPreloads):
1063         (WebCore::CachedResourceLoader::printPreloadStats):
1064         * loader/cache/CachedResourceRequest.cpp:
1065         (WebCore::CachedResourceRequest::load):
1066         (WebCore::CachedResourceRequest::didFail):
1067         (WebCore::CachedResourceRequest::didReceiveResponse):
1068         * loader/cache/MemoryCache.cpp:
1069         (WebCore::memoryCache):
1070         * loader/cache/MemoryCache.h:
1071
1072 2011-01-14  Dan Bernstein  <mitz@apple.com>
1073
1074         Reviewed by Simon Fraser.
1075
1076         WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
1077
1078         * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
1079         RenderWidget::resumeWidgetHierarchyUpdates().
1080         * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
1081         * rendering/RenderWidget.cpp:
1082         (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
1083         are disabled. When this assertion was added, this condition was a subset of the “calling out to
1084         plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
1085         change now suspends widget hierarchy updates even at times where plug-in code is expected to be
1086         called, which invalidates the assertion.
1087
1088 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1089
1090         Unreviewed build fix.
1091
1092         Fix Qt build after r75837
1093         https://bugs.webkit.org/show_bug.cgi?id=52494
1094
1095         * rendering/style/StyleRareInheritedData.cpp:
1096         * rendering/style/StyleRareNonInheritedData.cpp:
1097
1098 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1099
1100         Unreviewed build fix.
1101
1102         Fix Qt build after r75837
1103         https://bugs.webkit.org/show_bug.cgi?id=52494
1104
1105         * rendering/style/RenderStyle.cpp:
1106
1107 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1108
1109         Unreviewed build fix.
1110
1111         Fix Qt build after r75837
1112         https://bugs.webkit.org/show_bug.cgi?id=52494
1113
1114         * editing/EditorCommand.cpp:
1115
1116 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1117
1118         Unreviewed build fix.
1119
1120         Fix Qt build after r75837
1121         https://bugs.webkit.org/show_bug.cgi?id=52494
1122
1123         * editing/ApplyStyleCommand.cpp:
1124
1125 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1126
1127         Unreviewed build fix.
1128
1129         Fix Qt build after r75837
1130         https://bugs.webkit.org/show_bug.cgi?id=52494
1131
1132         * css/CSSStyleSelector.cpp:
1133
1134 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1135
1136         Unreviewed build fix.
1137
1138         Fix Qt build after r75837
1139         https://bugs.webkit.org/show_bug.cgi?id=52494
1140
1141         * rendering/InlineFlowBox.h:
1142         * rendering/RenderBoxModelObject.h:
1143
1144 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1145
1146         Reviewed by David Levin.
1147
1148         Do some forward declaration in RenderStyle.h
1149         https://bugs.webkit.org/show_bug.cgi?id=52453
1150
1151         No new tests because no new functionality.
1152
1153         * css/CSSComputedStyleDeclaration.cpp:
1154         * css/CSSStyleSelector.cpp:
1155         * editing/Editor.cpp:
1156         * page/EventHandler.cpp:
1157         * rendering/EllipsisBox.cpp:
1158         * rendering/InlineBox.cpp:
1159         * rendering/InlineTextBox.cpp:
1160         * rendering/RenderBlock.cpp:
1161         * rendering/RenderBlock.h:
1162         * rendering/RenderBox.cpp:
1163         * rendering/RenderBox.h:
1164         * rendering/RenderEmbeddedObject.cpp:
1165         * rendering/RenderFieldset.cpp:
1166         * rendering/RenderFileUploadControl.cpp:
1167         * rendering/RenderFrameSet.cpp:
1168         * rendering/RenderHTMLCanvas.cpp:
1169         * rendering/RenderImageResource.cpp:
1170         * rendering/RenderInputSpeech.cpp:
1171         * rendering/RenderLayer.h:
1172         * rendering/RenderLineBoxList.cpp:
1173         * rendering/RenderListBox.cpp:
1174         * rendering/RenderMediaControlsChromium.cpp:
1175         * rendering/RenderObject.cpp:
1176         * rendering/RenderObject.h:
1177         * rendering/RenderObjectChildList.cpp:
1178         * rendering/RenderProgress.cpp:
1179         * rendering/RenderScrollbarPart.cpp:
1180         * rendering/RenderTable.cpp:
1181         * rendering/RenderTable.h:
1182         * rendering/RenderTableCell.cpp:
1183         * rendering/RenderTableRow.cpp:
1184         * rendering/RenderTableSection.cpp:
1185         * rendering/RenderTheme.cpp:
1186         * rendering/RenderThemeChromiumSkia.cpp:
1187         * rendering/RenderThemeChromiumWin.cpp:
1188         * rendering/RootInlineBox.cpp:
1189         * rendering/style/RenderStyle.cpp:
1190         * rendering/style/RenderStyle.h:
1191         * rendering/style/StyleRareInheritedData.cpp:
1192
1193 2011-01-14  Ryosuke Niwa  <rniwa@webkit.org>
1194
1195         Reviewed by Eric Seidel.
1196
1197         Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
1198         BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
1199         https://bugs.webkit.org/show_bug.cgi?id=52481
1200
1201         Removed instantiation of legacy editing positions.
1202         Calls to Position::Position are replaced by calls to Position's convenience functions.
1203         
1204         Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
1205         they instantiate right positions for text nodes.
1206
1207         * accessibility/AccessibilityRenderObject.cpp:
1208         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1209         * dom/Element.cpp:
1210         (WebCore::Element::updateFocusAppearance):
1211         * editing/BreakBlockquoteCommand.cpp:
1212         (WebCore::BreakBlockquoteCommand::doApply):
1213         * editing/CompositeEditCommand.cpp:
1214         (WebCore::CompositeEditCommand::inputText):
1215         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1216         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1217         (WebCore::CompositeEditCommand::moveParagraphs):
1218         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1219         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1220         (WebCore::CompositeEditCommand::splitTreeToNode):
1221         * editing/DeleteButtonController.cpp:
1222         (WebCore::enclosingDeletableElement):
1223         * editing/htmlediting.h:
1224         (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
1225         positionBeforeNode for a text node.
1226         (WebCore::lastPositionInOrAfterNode): Ditto.
1227
1228 2011-01-14  Helder Correia  <helder@sencha.com>
1229
1230         Reviewed by Simon Fraser.
1231
1232         Shadow is not drawn when filling a path with a gradient
1233         https://bugs.webkit.org/show_bug.cgi?id=51982
1234
1235         This happens in CG and is related to bug 51869, this time to be fixed
1236         in GraphicsContext::fillPath(const Path& path). We need to draw the
1237         gradient clipped to the path on a CGLayer first, and then draw the
1238         layer on the GraphicsContext.
1239
1240         Test: fast/canvas/canvas-fillPath-gradient-shadow.html
1241
1242         * platform/graphics/cg/GraphicsContextCG.cpp:
1243         (WebCore::GraphicsContext::fillPath):
1244
1245 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1246
1247         Reviewed by Adam Roben.
1248
1249         Layer syncing should go through the compositor
1250         https://bugs.webkit.org/show_bug.cgi?id=52486
1251
1252         Rather than have FrameView go directly to GraphicsLayer to
1253         sync pending changes, route the call through RenderLayerCompositor.
1254         
1255         Add a FIXME about an existing issue with flushing and subframes.
1256         
1257         No behavior change, so no tests.
1258
1259         * page/FrameView.cpp:
1260         (WebCore::FrameView::syncCompositingStateForThisFrame):
1261         * rendering/RenderLayerBacking.cpp:
1262         (WebCore::RenderLayerBacking::notifySyncRequired):
1263         * rendering/RenderLayerCompositor.cpp:
1264         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
1265         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1266         * rendering/RenderLayerCompositor.h:
1267         (WebCore::RenderLayerCompositor::notifySyncRequired):
1268
1269 2011-01-14  Abhishek Arya  <inferno@chromium.org>
1270
1271         Reviewed by David Hyatt.
1272
1273         Fix parent block calculation when trying to find top most node
1274         containing "this" float.
1275         https://bugs.webkit.org/show_bug.cgi?id=51711
1276
1277         Replace use of containingBlock and traverse the parents directly
1278         to check for float existence. containingBlock can skip parents and
1279         jump to the RenderView directly which will cause floats to not get
1280         cleared from intermediate parents.
1281
1282         Test: fast/block/float/floats-not-cleared-crash.html
1283
1284         * rendering/RenderBox.cpp:
1285         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1286
1287 2011-01-14  Adam Klein  <adamk@chromium.org>
1288
1289         Reviewed by Darin Fisher.
1290
1291         [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
1292         https://bugs.webkit.org/show_bug.cgi?id=42237
1293
1294         Remove Chromium-specific implementation from WebCore.
1295
1296         No tests added; this refactor should be covered by existing history-exercising tests.
1297
1298         * WebCore.gyp/WebCore.gyp:
1299         * WebCore.gypi:
1300         * history/BackForwardListChromium.cpp: Removed.
1301         * history/BackForwardListImpl.h:
1302
1303 2011-01-12  Satish Sampath  <satish@chromium.org>
1304
1305         Reviewed by Dimitri Glazkov.
1306
1307         Fix a crash when accessing speech input from script.
1308         https://bugs.webkit.org/show_bug.cgi?id=52325
1309
1310         Test: fast/speech/speech-input-scripting.html
1311
1312         * html/HTMLInputElement.cpp:
1313         (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
1314         * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
1315         * rendering/RenderTextControlSingleLine.h:
1316         * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
1317         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1318         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
1319         (WebCore::InputFieldSpeechButtonElement::detach):
1320
1321 2011-01-14  Abhishek Arya  <inferno@chromium.org>
1322
1323         Reviewed by David Hyatt.
1324
1325         Prevent merging of anonymous blocks if one of them is already getting
1326         destroyed.
1327         https://bugs.webkit.org/show_bug.cgi?id=52402
1328
1329         Test: fast/block/merge-anonymous-block-remove-child-crash2.html
1330
1331         * rendering/RenderBlock.cpp:
1332         (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
1333         (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
1334         (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
1335         (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
1336         * rendering/RenderBlock.h:
1337         (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.
1338
1339 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1340
1341         Not reviewed. Follow up to r75791: fix missing dispatch.
1342         https://bugs.webkit.org/show_bug.cgi?id=52442
1343
1344         * inspector/front-end/DebuggerModel.js:
1345         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
1346
1347 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1348
1349         Reviewed by Adam Roben.
1350
1351         Issues with contentsScale in GraphicsLayerCA
1352         https://bugs.webkit.org/show_bug.cgi?id=52463
1353
1354         Fix various issues with the recent contentsScale changes:
1355
1356         * platform/graphics/ca/GraphicsLayerCA.cpp:
1357         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
1358         (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
1359         if the layer draws content, otherwise we'll create backing store for empty layers.
1360         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
1361         on the new (tiled or untiled) layer.
1362         (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.
1363
1364 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1365
1366         Let Xcode have it's way with the project file.
1367
1368         * WebCore.xcodeproj/project.pbxproj:
1369
1370 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1371
1372         Reviewed by Anders Carlsson.
1373
1374         Refactor some FrameView::syncCompositingState code
1375         https://bugs.webkit.org/show_bug.cgi?id=52459
1376
1377         Refactor some code in FrameView related to synchronizing
1378         compositing layer state.
1379         
1380         * page/FrameView.cpp:
1381         (WebCore::FrameView::syncCompositingStateForThisFrame):
1382         (WebCore::FrameView::syncCompositingStateRecursive):
1383         (WebCore::FrameView::paintContents):
1384         * page/FrameView.h:
1385
1386 2011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1387
1388         Reviewed by Eric Seidel.
1389
1390         [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
1391         https://bugs.webkit.org/show_bug.cgi?id=30179
1392
1393         * plugins/symbian/PluginViewSymbian.cpp:
1394
1395 2011-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1396
1397         Reviewed by Martin Robinson.
1398
1399         [GTK] Add volume slider to media player
1400         https://bugs.webkit.org/show_bug.cgi?id=51532
1401
1402         * css/mediaControlsGtk.css:
1403         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1404         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1405         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1406         * platform/gtk/RenderThemeGtk.cpp:
1407         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
1408         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
1409         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
1410         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
1411         * platform/gtk/RenderThemeGtk.h:
1412         * platform/gtk/RenderThemeGtk2.cpp:
1413         (WebCore::RenderThemeGtk::paintSliderTrack):
1414         (WebCore::RenderThemeGtk::paintSliderThumb):
1415         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1416         * platform/gtk/RenderThemeGtk3.cpp:
1417         (WebCore::RenderThemeGtk::paintSliderTrack):
1418         (WebCore::RenderThemeGtk::paintSliderThumb):
1419         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1420
1421 2011-01-14  Joone Hur  <joone.hur@collabora.co.uk>
1422
1423         Reviewed by David Levin.
1424
1425         [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
1426         https://bugs.webkit.org/show_bug.cgi?id=52434
1427
1428         No new tests. This code will be tested when an implementation 
1429         of beginDragWithFiles is complete. 
1430
1431         * platform/gtk/FileSystemGtk.cpp:
1432         (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
1433         (WebCore::fileSystemRepresentation): Ditto.
1434         (WebCore::filenameForDisplay): Ditto.
1435         (WebCore::pathGetFileName): Ditto.
1436
1437 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
1438
1439         Reviewed by Yury Semikhatsky.
1440
1441         Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
1442         https://bugs.webkit.org/show_bug.cgi?id=52215
1443
1444         * inspector/front-end/Breakpoint.js:
1445         (WebInspector.Breakpoint):
1446         (WebInspector.Breakpoint.prototype.populateLabelElement):
1447         * inspector/front-end/Script.js:
1448         (WebInspector.Script.prototype.get linesCount):
1449         (WebInspector.Script.prototype.sourceLine):
1450         (WebInspector.Script.prototype.sourceLine.didRequestSource):
1451         (WebInspector.Script.prototype.set source):
1452         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
1453         (WebInspector.Script.prototype.requestSource):
1454         * inspector/front-end/ScriptView.js:
1455         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
1456         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
1457         * inspector/front-end/SourceFrame.js:
1458         (WebInspector.SourceFrame.prototype._addBreakpoint):
1459         * inspector/front-end/utilities.js:
1460         (String.prototype.findAll):
1461
1462 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
1463
1464         Reviewed by Yury Semikhatsky.
1465
1466         Web Inspector: provide script column offset to frontend.
1467         https://bugs.webkit.org/show_bug.cgi?id=52377
1468
1469         * bindings/js/ScriptDebugServer.cpp:
1470         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1471         * bindings/js/ScriptSourceCode.h:
1472         (WebCore::ScriptSourceCode::ScriptSourceCode):
1473         * bindings/v8/DebuggerScript.js:
1474         ():
1475         * bindings/v8/ScriptDebugServer.cpp:
1476         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1477         * inspector/Inspector.idl:
1478         * inspector/InspectorDebuggerAgent.cpp:
1479         (WebCore::InspectorDebuggerAgent::didParseSource):
1480         * inspector/InspectorDebuggerAgent.h:
1481         * inspector/ScriptDebugListener.h:
1482         * inspector/front-end/DebuggerModel.js:
1483         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
1484         * inspector/front-end/Script.js:
1485         (WebInspector.Script):
1486
1487 2011-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
1488
1489         Unreviewed one line fix for console-xhr-logging test.
1490
1491         The problem was introduced at r75788.
1492
1493         * inspector/InspectorBrowserDebuggerAgent.cpp:
1494         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1495
1496 2011-01-13  Yury Semikhatsky  <yurys@chromium.org>
1497
1498         Reviewed by Pavel Feldman.
1499
1500         Web Inspector: extract console related functionality into InspectorConsoleAgent
1501         https://bugs.webkit.org/show_bug.cgi?id=52282
1502
1503         * CMakeLists.txt:
1504         * GNUmakefile.am:
1505         * WebCore.gypi:
1506         * WebCore.pro:
1507         * inspector/CodeGeneratorInspector.pm:
1508         * inspector/ConsoleMessage.cpp:
1509         (WebCore::ConsoleMessage::~ConsoleMessage):
1510         * inspector/ConsoleMessage.h:
1511         * inspector/Inspector.idl:
1512         * inspector/InspectorConsoleAgent.cpp: Added.
1513         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1514         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1515         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1516         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1517         (WebCore::InspectorConsoleAgent::reset):
1518         (WebCore::InspectorConsoleAgent::setFrontend):
1519         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1520         (WebCore::InspectorConsoleAgent::startTiming):
1521         (WebCore::InspectorConsoleAgent::stopTiming):
1522         (WebCore::InspectorConsoleAgent::count):
1523         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1524         (WebCore::InspectorConsoleAgent::didReceiveResponse):
1525         (WebCore::InspectorConsoleAgent::didFailLoading):
1526         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1527         * inspector/InspectorConsoleAgent.h: Added.
1528         * inspector/InspectorController.cpp:
1529         (WebCore::InspectorController::InspectorController):
1530         (WebCore::InspectorController::clearConsoleMessages):
1531         (WebCore::InspectorController::connectFrontend):
1532         (WebCore::InspectorController::disconnectFrontend):
1533         (WebCore::InspectorController::didCommitLoad):
1534         * inspector/InspectorController.h:
1535         (WebCore::InspectorController::consoleAgent):
1536         * inspector/InspectorInstrumentation.cpp:
1537         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1538         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1539         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
1540         (WebCore::InspectorInstrumentation::addMessageToConsole):
1541         (WebCore::InspectorInstrumentation::count):
1542         (WebCore::InspectorInstrumentation::startTiming):
1543         (WebCore::InspectorInstrumentation::stopTiming):
1544         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
1545         * inspector/InspectorInstrumentation.h:
1546         * inspector/InspectorProfilerAgent.cpp:
1547         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1548         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1549         * inspector/front-end/ConsoleView.js:
1550         (WebInspector.ConsoleView):
1551         (WebInspector.ConsoleView.prototype.addConsoleMessage):
1552         (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
1553         (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
1554         * inspector/front-end/inspector.js:
1555         * page/Console.cpp:
1556         (WebCore::Console::addMessage):
1557         (WebCore::Console::count):
1558         (WebCore::Console::profile):
1559         (WebCore::Console::time):
1560         (WebCore::Console::timeEnd):
1561         (WebCore::Console::group):
1562         (WebCore::Console::groupCollapsed):
1563         (WebCore::Console::groupEnd):
1564         * page/Console.h:
1565         * page/Console.idl:
1566
1567 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1568
1569         Reviewed by Yury Semikhatsky.
1570
1571         Web Inspector: do not use this as protocol message
1572         dispatcher in models / agents.
1573         https://bugs.webkit.org/show_bug.cgi?id=52442
1574
1575         Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
1576         There should be a clear way to tell whether method is being called
1577         from within front-end or by the backend.
1578
1579         * inspector/front-end/DOMAgent.js:
1580         (WebInspector.DOMAgent):
1581         (WebInspector.DOMAgent.prototype.nodeForId):
1582         (WebInspector.DOMAgent.prototype._bindNodes):
1583         (WebInspector.DOMAgent.prototype._removeBreakpoints):
1584         (WebInspector.DOMDispatcher):
1585         (WebInspector.DOMDispatcher.prototype.setDocument):
1586         (WebInspector.DOMDispatcher.prototype.attributesUpdated):
1587         (WebInspector.DOMDispatcher.prototype.characterDataModified):
1588         (WebInspector.DOMDispatcher.prototype.setChildNodes):
1589         (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
1590         (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
1591         (WebInspector.DOMDispatcher.prototype.childNodeInserted):
1592         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
1593         (WebInspector.DOMDispatcher.prototype.didCommitLoad):
1594         (WebInspector.ApplicationCacheDispatcher):
1595         (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
1596         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
1597         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
1598         * inspector/front-end/DOMStorage.js:
1599         (WebInspector.DOMStorageDispatcher):
1600         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
1601         (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
1602         (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
1603         * inspector/front-end/Database.js:
1604         (WebInspector.Database.prototype.executeSql):
1605         (WebInspector.DatabaseDispatcher):
1606         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
1607         (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
1608         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
1609         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
1610         * inspector/front-end/DebuggerModel.js:
1611         (WebInspector.DebuggerModel):
1612         (WebInspector.DebuggerModel.prototype._pausedScript):
1613         (WebInspector.DebuggerModel.prototype._resumedScript):
1614         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1615         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
1616         (WebInspector.DebuggerDispatcher):
1617         (WebInspector.DebuggerDispatcher.prototype.pausedScript):
1618         (WebInspector.DebuggerDispatcher.prototype.resumedScript):
1619         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
1620         (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
1621         * inspector/front-end/FileSystemView.js:
1622         (WebInspector.FileSystemDispatcher):
1623         (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
1624         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
1625         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
1626         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
1627         * inspector/front-end/ProfilesPanel.js:
1628         (WebInspector.ProfilesPanel):
1629         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1630         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
1631         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
1632         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1633         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
1634         (WebInspector.ProfilerDispatcher):
1635         (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
1636         (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
1637         (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
1638         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
1639         (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
1640         (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
1641         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
1642         (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
1643         * inspector/front-end/ResourceTreeModel.js:
1644         (WebInspector.ResourceTreeModel):
1645         * inspector/front-end/TimelinePanel.js:
1646         (WebInspector.TimelinePanel):
1647         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
1648         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
1649         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
1650         (WebInspector.TimelineDispatcher):
1651         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
1652         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
1653         (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):
1654
1655 2011-01-14  Csaba Osztrogonác  <ossy@webkit.org>
1656
1657         [Qt][V8] Unreviewed buildfix after r75788.
1658
1659         * inspector/InspectorBrowserDebuggerAgent.cpp:
1660
1661 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1662
1663         Reviewed by Yury Semikhatsky.
1664
1665         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1666         We have some methods of Debugger which are related to DOM.
1667         Lets extract these methods to BrowserDebugger agent.
1668
1669         http://bugs.webkit.org/show_bug.cgi?id=52294
1670
1671         * CMakeLists.txt:
1672         * WebCore.gypi:
1673         * WebCore.pro:
1674         * WebCore.vcproj/WebCore.vcproj:
1675         * WebCore.xcodeproj/project.pbxproj:
1676         * inspector/CodeGeneratorInspector.pm:
1677         * inspector/Inspector.idl:
1678         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1679         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1680         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1681         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1682         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1683         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1684         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1685         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1686         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1687         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1688         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1689         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1690         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1691         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1692         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1693         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1694         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1695         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1696         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1697         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1698         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1699         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1700         (WebCore::InspectorBrowserDebuggerAgent::create):
1701         * inspector/InspectorController.cpp:
1702         (WebCore::InspectorController::InspectorController):
1703         (WebCore::InspectorController::inspectedPageDestroyed):
1704         (WebCore::InspectorController::didCommitLoad):
1705         (WebCore::InspectorController::enableDebuggerFromFrontend):
1706         (WebCore::InspectorController::disableDebugger):
1707         (WebCore::InspectorController::restoreStickyBreakpoints):
1708         (WebCore::InspectorController::restoreStickyBreakpoint):
1709         * inspector/InspectorController.h:
1710         * inspector/InspectorDOMAgent.cpp:
1711         (WebCore::InspectorDOMAgent::discardBindings):
1712         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1713         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1714         * inspector/InspectorDOMAgent.h:
1715         * inspector/InspectorInstrumentation.cpp:
1716         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1717         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1718         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1719         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1720         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1721         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1722         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1723
1724 2011-01-14  Andrey Kosyakov  <caseq@chromium.org>
1725
1726         Reviewed by Pavel Feldman.
1727
1728         Web Inspector: redirected resources not handled properly in Network panel
1729         https://bugs.webkit.org/show_bug.cgi?id=52292
1730
1731         * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
1732         * inspector/InspectorInstrumentation.cpp: Ditto.
1733         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
1734         * inspector/InspectorResourceAgent.cpp: Ditto.
1735         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
1736         * inspector/InspectorResourceAgent.h: Ditto.
1737         * inspector/InspectorInstrumentation.cpp: Ditto.
1738         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
1739         * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
1740         * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
1741         (WebInspector.ConsoleMessage.prototype._formatMessage):
1742         * inspector/front-end/ExtensionServer.js: Ditto.
1743         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
1744         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1745         * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
1746         (WebInspector.HARLog.prototype.build):
1747         (WebInspector.HARLog.prototype._convertResource):
1748         * inspector/front-end/NetworkManager.js:
1749         (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
1750         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
1751         (WebInspector.NetworkManager.prototype.willSendRequest):
1752         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
1753         (WebInspector.NetworkManager.prototype.setInitialContent):
1754         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
1755         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
1756         (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
1757         (WebInspector.NetworkManager.prototype._appendRedirect):
1758         * inspector/front-end/NetworkPanel.js:
1759         (WebInspector.NetworkPanel):
1760         (WebInspector.NetworkPanel.prototype.get resources):
1761         (WebInspector.NetworkPanel.prototype.resourceById):
1762         (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
1763         (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
1764         (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
1765         * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
1766         (WebInspector.ResourceTreeModel.prototype._clearResources):
1767         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
1768         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
1769         (WebInspector.ResourceTreeModel.prototype.createResource):
1770         * inspector/front-end/inspector.js:
1771         (WebInspector.resourceById):
1772
1773 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1774
1775         Unreviewed, rolling out r75783.
1776         http://trac.webkit.org/changeset/75783
1777         https://bugs.webkit.org/show_bug.cgi?id=52439
1778
1779         a bit strange but the same patch have broken mac builds at
1780         linking stage. (Requested by loislo2 on #webkit).
1781
1782         * CMakeLists.txt:
1783         * GNUmakefile.am:
1784         * WebCore.gypi:
1785         * WebCore.pro:
1786         * WebCore.vcproj/WebCore.vcproj:
1787         * WebCore.xcodeproj/project.pbxproj:
1788         * inspector/CodeGeneratorInspector.pm:
1789         * inspector/Inspector.idl:
1790         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
1791         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
1792         * inspector/InspectorController.cpp:
1793         (WebCore::InspectorController::InspectorController):
1794         (WebCore::InspectorController::inspectedPageDestroyed):
1795         (WebCore::InspectorController::didCommitLoad):
1796         (WebCore::InspectorController::enableDebuggerFromFrontend):
1797         (WebCore::InspectorController::disableDebugger):
1798         (WebCore::InspectorController::restoreStickyBreakpoints):
1799         (WebCore::InspectorController::restoreStickyBreakpoint):
1800         (WebCore::InspectorController::setEventListenerBreakpoint):
1801         (WebCore::InspectorController::removeEventListenerBreakpoint):
1802         (WebCore::InspectorController::hasEventListenerBreakpoint):
1803         (WebCore::InspectorController::setXHRBreakpoint):
1804         (WebCore::InspectorController::removeXHRBreakpoint):
1805         (WebCore::InspectorController::hasXHRBreakpoint):
1806         * inspector/InspectorController.h:
1807         * inspector/InspectorDOMAgent.cpp:
1808         (WebCore::InspectorDOMAgent::discardBindings):
1809         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
1810         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
1811         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
1812         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
1813         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
1814         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
1815         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1816         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1817         (WebCore::InspectorDOMAgent::hasBreakpoint):
1818         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
1819         * inspector/InspectorDOMAgent.h:
1820         * inspector/InspectorInstrumentation.cpp:
1821         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1822         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1823         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1824         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1825         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1826         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1827         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1828
1829 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1830
1831         Reviewed by Yury Semikhatsky.
1832
1833         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1834         We have some methods of Debugger which are related to DOM.
1835         Lets extract these methods to BrowserDebugger agent.
1836
1837         http://bugs.webkit.org/show_bug.cgi?id=52294
1838
1839         * CMakeLists.txt:
1840         * WebCore.gypi:
1841         * WebCore.pro:
1842         * WebCore.vcproj/WebCore.vcproj:
1843         * WebCore.xcodeproj/project.pbxproj:
1844         * inspector/CodeGeneratorInspector.pm:
1845         * inspector/Inspector.idl:
1846         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1847         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1848         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1849         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1850         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1851         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1852         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1853         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1854         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1855         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1856         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1857         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1858         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1859         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1860         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1861         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1862         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1863         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1864         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1865         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1866         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1867         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1868         (WebCore::InspectorBrowserDebuggerAgent::create):
1869         * inspector/InspectorController.cpp:
1870         (WebCore::InspectorController::InspectorController):
1871         (WebCore::InspectorController::inspectedPageDestroyed):
1872         (WebCore::InspectorController::didCommitLoad):
1873         (WebCore::InspectorController::enableDebuggerFromFrontend):
1874         (WebCore::InspectorController::disableDebugger):
1875         (WebCore::InspectorController::restoreStickyBreakpoints):
1876         (WebCore::InspectorController::restoreStickyBreakpoint):
1877         * inspector/InspectorController.h:
1878         * inspector/InspectorDOMAgent.cpp:
1879         (WebCore::InspectorDOMAgent::discardBindings):
1880         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1881         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1882         * inspector/InspectorDOMAgent.h:
1883         * inspector/InspectorInstrumentation.cpp:
1884         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1885         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1886         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1887         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1888         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1889         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1890         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1891
1892 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1893
1894         Not reviewed: build fix.
1895
1896         * WebCore.vcproj/WebCore.vcproj:
1897
1898 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1899
1900         Reviewed by Yury Semikhatsky.
1901
1902         Web Inspector: extract InspectorSettings from InspectorState,
1903         simplify it.
1904         https://bugs.webkit.org/show_bug.cgi?id=52429
1905
1906         * CMakeLists.txt:
1907         * GNUmakefile.am:
1908         * WebCore.gypi:
1909         * WebCore.pro:
1910         * WebCore.xcodeproj/project.pbxproj:
1911         * inspector/InspectorClient.h:
1912         * inspector/InspectorController.cpp:
1913         (WebCore::InspectorController::InspectorController):
1914         (WebCore::InspectorController::inspectorStartsAttached):
1915         (WebCore::InspectorController::setInspectorStartsAttached):
1916         (WebCore::InspectorController::setInspectorAttachedHeight):
1917         (WebCore::InspectorController::inspectorAttachedHeight):
1918         (WebCore::InspectorController::setMonitoringXHREnabled):
1919         (WebCore::InspectorController::restoreDebugger):
1920         (WebCore::InspectorController::restoreProfiler):
1921         (WebCore::InspectorController::ensureSettingsLoaded):
1922         (WebCore::InspectorController::enableProfiler):
1923         (WebCore::InspectorController::disableProfiler):
1924         (WebCore::InspectorController::enableDebuggerFromFrontend):
1925         (WebCore::InspectorController::disableDebugger):
1926         * inspector/InspectorController.h:
1927         * inspector/InspectorSettings.cpp: Added.
1928         (WebCore::InspectorSettings::InspectorSettings):
1929         (WebCore::InspectorSettings::getBoolean):
1930         (WebCore::InspectorSettings::setBoolean):
1931         (WebCore::InspectorSettings::getLong):
1932         (WebCore::InspectorSettings::setLong):
1933         (WebCore::InspectorSettings::registerBoolean):
1934         (WebCore::InspectorSettings::registerLong):
1935         * inspector/InspectorSettings.h: Added.
1936         * inspector/InspectorState.cpp:
1937         (WebCore::InspectorState::InspectorState):
1938         (WebCore::InspectorState::setValue):
1939         (WebCore::InspectorState::setObject):
1940         (WebCore::InspectorState::registerBoolean):
1941         (WebCore::InspectorState::registerString):
1942         (WebCore::InspectorState::registerLong):
1943         (WebCore::InspectorState::registerObject):
1944         (WebCore::InspectorState::Property::create):
1945         * inspector/InspectorState.h:
1946         (WebCore::InspectorState::setBoolean):
1947         (WebCore::InspectorState::setString):
1948         (WebCore::InspectorState::setLong):
1949
1950 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1951
1952         Unreviewed, rolling out r75774.
1953         http://trac.webkit.org/changeset/75774
1954         https://bugs.webkit.org/show_bug.cgi?id=52431
1955
1956         gtk builds were broken (Requested by loislo2 on #webkit).
1957
1958         * CMakeLists.txt:
1959         * WebCore.gypi:
1960         * WebCore.pro:
1961         * WebCore.vcproj/WebCore.vcproj:
1962         * WebCore.xcodeproj/project.pbxproj:
1963         * inspector/CodeGeneratorInspector.pm:
1964         * inspector/Inspector.idl:
1965         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
1966         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
1967         * inspector/InspectorController.cpp:
1968         (WebCore::InspectorController::InspectorController):
1969         (WebCore::InspectorController::inspectedPageDestroyed):
1970         (WebCore::InspectorController::didCommitLoad):
1971         (WebCore::InspectorController::enableDebuggerFromFrontend):
1972         (WebCore::InspectorController::disableDebugger):
1973         (WebCore::InspectorController::restoreStickyBreakpoints):
1974         (WebCore::InspectorController::restoreStickyBreakpoint):
1975         (WebCore::InspectorController::setEventListenerBreakpoint):
1976         (WebCore::InspectorController::removeEventListenerBreakpoint):
1977         (WebCore::InspectorController::hasEventListenerBreakpoint):
1978         (WebCore::InspectorController::setXHRBreakpoint):
1979         (WebCore::InspectorController::removeXHRBreakpoint):
1980         (WebCore::InspectorController::hasXHRBreakpoint):
1981         * inspector/InspectorController.h:
1982         * inspector/InspectorDOMAgent.cpp:
1983         (WebCore::InspectorDOMAgent::discardBindings):
1984         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
1985         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
1986         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
1987         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
1988         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
1989         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
1990         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1991         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1992         (WebCore::InspectorDOMAgent::hasBreakpoint):
1993         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
1994         * inspector/InspectorDOMAgent.h:
1995         * inspector/InspectorInstrumentation.cpp:
1996         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1997         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1998         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1999         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2000         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2001         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2002         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2003
2004 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
2005
2006         Reviewed by Yury Semikhatsky.
2007
2008         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
2009         We have some methods of Debugger which are related to DOM.
2010         Lets extract these methods to BrowserDebugger agent.
2011
2012         http://bugs.webkit.org/show_bug.cgi?id=52294
2013
2014         * CMakeLists.txt:
2015         * WebCore.gypi:
2016         * WebCore.pro:
2017         * WebCore.vcproj/WebCore.vcproj:
2018         * WebCore.xcodeproj/project.pbxproj:
2019         * inspector/CodeGeneratorInspector.pm:
2020         * inspector/Inspector.idl:
2021         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
2022         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
2023         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
2024         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
2025         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
2026         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
2027         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
2028         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
2029         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
2030         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
2031         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
2032         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
2033         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
2034         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
2035         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
2036         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
2037         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
2038         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
2039         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
2040         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
2041         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
2042         * inspector/InspectorBrowserDebuggerAgent.h: Added.
2043         (WebCore::InspectorBrowserDebuggerAgent::create):
2044         * inspector/InspectorController.cpp:
2045         (WebCore::InspectorController::InspectorController):
2046         (WebCore::InspectorController::inspectedPageDestroyed):
2047         (WebCore::InspectorController::didCommitLoad):
2048         (WebCore::InspectorController::enableDebuggerFromFrontend):
2049         (WebCore::InspectorController::disableDebugger):
2050         (WebCore::InspectorController::restoreStickyBreakpoints):
2051         (WebCore::InspectorController::restoreStickyBreakpoint):
2052         * inspector/InspectorController.h:
2053         * inspector/InspectorDOMAgent.cpp:
2054         (WebCore::InspectorDOMAgent::discardBindings):
2055         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2056         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2057         * inspector/InspectorDOMAgent.h:
2058         * inspector/InspectorInstrumentation.cpp:
2059         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2060         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2061         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2062         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2063         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2064         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2065         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2066
2067 2011-01-13  Kent Tamura  <tkent@chromium.org>
2068
2069         Reviewed by Dimitri Glazkov.
2070
2071         Implement form validation message UI
2072         https://bugs.webkit.org/show_bug.cgi?id=48980
2073
2074         * Add four internal pseudo selectors:
2075           - -webkit-validation-bubble
2076           - -webkit-validation-bubble-message
2077           - -webkit-validation-bubble-top-outer-arrow
2078           - -webkit-validation-bubble-top-inner-arrow
2079
2080         * Implement ValidationMessage functions
2081           Show the message for <the number of characters> / 20.0 seconds.
2082
2083         No new tests because the feature is disabled by default for now and the
2084         new behavior is strongly timing-dependent.
2085
2086         * css/CSSStyleSelector.cpp:
2087         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2088           Do not share a style with elements with different shadowPseudoId().
2089         * css/html.css: Define appearance for the internal selectors.
2090         (::-webkit-validation-bubble):
2091         (::-webkit-validation-bubble-message):
2092         (::-webkit-validation-bubble-top-outer-arrow):
2093         (::-webkit-validation-bubble-top-inner-arrow):
2094         * dom/Node.cpp:
2095         (WebCore::Node::createRendererIfNeeded):
2096           Allow to add shadow renderers even if canHaveChildren() returns false.
2097         * html/HTMLFormControlElement.cpp:
2098         (WebCore::HTMLFormControlElement::detach):
2099           Remove m_validationMessage immediately because we can't use
2100           hideVisibleValidationMessage(), which calls a ValidationMessage function later.
2101         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
2102           - Don't create ValidationMessage if the message is empty.
2103           - Remove the check for message equality.
2104         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
2105           Don't remove m_validationMessage immediately. We shouldn't make the
2106           element needsLayout() state in this context.
2107         * html/ValidationMessage.cpp:
2108         (WebCore::ValidationMessage::~ValidationMessage):
2109           hideMessage() -> deleteBubbleTree() renaming.
2110         (WebCore::ValidationMessage::setMessage): Implemented.
2111         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2112           Added. This updates the validation message and starts the timer to hide it.
2113         (WebCore::ElementWithPseudoId):
2114           Added to help implementations of styled shadow nodes.
2115         (WebCore::ValidationMessage::buildBubbleTree): Added.
2116         (WebCore::ValidationMessage::requestToHideMessage): Added.
2117         (WebCore::ValidationMessage::deleteBubbleTree):
2118           Renamed from hideMessage(), and implemented.
2119         * html/ValidationMessage.h: Add declarations.
2120
2121 2011-01-13  Dan Bernstein  <mitz@apple.com>
2122
2123         Reviewed by Alexey Proskuryakov.
2124
2125         <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
2126         https://bugs.webkit.org/show_bug.cgi?id=52419
2127
2128         Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
2129
2130         * loader/ResourceLoader.cpp:
2131         (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
2132         willSendRequest(). Otherwise, willSendRequest() ends up calling into
2133         ThreadableDocumentRequest::willSendRequest(), which cancels the request.
2134
2135 2011-01-13  Dan Bernstein  <mitz@apple.com>
2136
2137         Reviewed by Mark Rowe.
2138
2139         Don’t try to compile InjectedScriptSource.js into WebCore.
2140
2141         * WebCore.xcodeproj/project.pbxproj:
2142
2143 2011-01-13  Mike Thole  <mthole@apple.com>
2144
2145         Reviewed by Darin Adler and Brady Eidson.
2146
2147         The pageScaleFactor() should be saved/restored along with the scroll position
2148         https://bugs.webkit.org/show_bug.cgi?id=52406
2149         <rdar://problem/8714412>
2150
2151         * history/HistoryItem.cpp:
2152         (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
2153         (WebCore::HistoryItem::pageScaleFactor): Added getter.
2154         (WebCore::HistoryItem::setPageScaleFactor): Added setter.
2155         (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
2156         (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
2157         * history/HistoryItem.h:
2158         * loader/HistoryController.cpp:
2159         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
2160         (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.
2161
2162 2011-01-13  Evan Martin  <evan@chromium.org>
2163
2164         Reviewed by Tony Chang.
2165
2166         [chromium] drop backwards iteration in Linux complex text code
2167         https://bugs.webkit.org/show_bug.cgi?id=52403
2168
2169         ComplexTextController previously supported iterating through the text in
2170         both directions, but this resulted in duplicate code for each path.
2171         Instead, by being more careful about flipping signs where appropriate,
2172         we can refactor the code into one code path.
2173
2174         No tests, just a refactoring; should be covered by existing tests.
2175
2176         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2177         (WebCore::ComplexTextController::ComplexTextController):
2178         (WebCore::ComplexTextController::reset):
2179         (WebCore::ComplexTextController::nextScriptRun):
2180         * platform/graphics/chromium/ComplexTextControllerLinux.h:
2181         * platform/graphics/chromium/FontLinux.cpp:
2182         (WebCore::glyphIndexForXPositionInScriptRun):
2183         (WebCore::Font::selectionRectForComplexText):
2184
2185 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
2186
2187         Reviewed by Darin Adler.
2188
2189         Flip input[type=range] to use the new shadow DOM model.
2190         https://bugs.webkit.org/show_bug.cgi?id=52317
2191
2192         This is a straight-up flip, minimal change to the logic, which will be
2193         refactored in a follow-up patch.
2194
2195         Covered by existing tests.
2196
2197         * css/CSSStyleSelector.cpp:
2198         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
2199             host or parent node to find parent.
2200         * html/HTMLInputElement.cpp:
2201         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
2202             shadow DOM subtree.
2203         * html/InputType.cpp:
2204         (WebCore::InputType::createShadowSubtree): Added empty decl.
2205         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
2206             shadow subtree.
2207         * html/InputType.h: Added defs.
2208         * html/RangeInputType.cpp:
2209         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
2210             slider thumb.
2211         * html/RangeInputType.h: Adde def.
2212         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
2213             to handle cascading appearance.
2214         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
2215         (WebCore::RenderSliderThumb::layout): Moved here the logic from
2216             RenderSlider::createThumbStyle.
2217         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
2218             create RenderSliderThumb instance.
2219         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
2220             as base class.
2221         (WebCore::SliderThumbElement::detach): Ditto.
2222         * html/shadow/SliderThumbElement.h:
2223         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
2224         (WebCore::SliderThumbElement::create): Ditto.
2225         (WebCore::toSliderThumbElement): Added a casting helper.
2226         * rendering/MediaControlElements.cpp:
2227         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
2228             since the whole method is hand-rolled.
2229         (WebCore::MediaControlInputElement::updateStyle): Ditto.
2230         * rendering/RenderSlider.cpp:
2231         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
2232         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
2233         (WebCore::RenderSlider::layout): Ditto.
2234         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
2235             SliderThumbElement.
2236         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
2237         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
2238         (WebCore::RenderSlider::setValueForPosition): Ditto.
2239         (WebCore::RenderSlider::positionForOffset): Ditto.
2240         (WebCore::RenderSlider::currentPosition): Ditto.
2241         (WebCore::RenderSlider::trackSize): Ditto.
2242         (WebCore::RenderSlider::forwardEvent): Ditto.
2243         (WebCore::RenderSlider::inDragMode): Ditto.
2244         * rendering/RenderSlider.h: Added def.
2245
2246 2011-01-13  Adam Barth  <abarth@webkit.org>
2247
2248         Reviewed by Eric Seidel.
2249
2250         Rename RGBA32Buffer to ImageFrame
2251         https://bugs.webkit.org/show_bug.cgi?id=52363
2252
2253         RGBA32Buffer is a terrible misnomer.  ImageFrame is vastly
2254         more accurate.  More cleanup to come.
2255
2256         * WebCore.pro:
2257         * platform/graphics/ImageSource.cpp:
2258         (WebCore::ImageSource::createFrameAtIndex):
2259         (WebCore::ImageSource::frameDurationAtIndex):
2260         (WebCore::ImageSource::frameIsCompleteAtIndex):
2261         * platform/graphics/qt/ImageDecoderQt.cpp:
2262         (WebCore::ImageDecoderQt::frameBufferAtIndex):
2263         (WebCore::ImageDecoderQt::internalReadImage):
2264         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
2265         * platform/graphics/qt/ImageDecoderQt.h:
2266         * platform/graphics/wince/ImageWinCE.cpp:
2267         (WebCore::ImageFrame::asNewNativeImage):
2268         * platform/image-decoders/ImageDecoder.cpp:
2269         (WebCore::ImageFrame::ImageFrame):
2270         (WebCore::ImageFrame::operator=):
2271         (WebCore::ImageFrame::clear):
2272         (WebCore::ImageFrame::zeroFill):
2273         (WebCore::ImageFrame::copyReferenceToBitmapData):
2274         (WebCore::ImageFrame::copyBitmapData):
2275         (WebCore::ImageFrame::setSize):
2276         (WebCore::ImageFrame::hasAlpha):
2277         (WebCore::ImageFrame::setHasAlpha):
2278         (WebCore::ImageFrame::setColorProfile):
2279         (WebCore::ImageFrame::setStatus):
2280         (WebCore::ImageFrame::width):
2281         (WebCore::ImageFrame::height):
2282         * platform/image-decoders/ImageDecoder.h:
2283         (WebCore::ImageFrame::ImageFrame):
2284         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2285         (WebCore::BMPImageDecoder::frameBufferAtIndex):
2286         (WebCore::BMPImageDecoder::decode):
2287         * platform/image-decoders/bmp/BMPImageDecoder.h:
2288         * platform/image-decoders/bmp/BMPImageReader.cpp:
2289         (WebCore::BMPImageReader::decodeBMP):
2290         * platform/image-decoders/bmp/BMPImageReader.h:
2291         (WebCore::BMPImageReader::setBuffer):
2292         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
2293         (WebCore::ImageFrame::asNewNativeImage):
2294         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2295         (WebCore::getPtrAsPixelData):
2296         (WebCore::ImageFrame::copyReferenceToBitmapData):
2297         (WebCore::ImageFrame::copyBitmapData):
2298         (WebCore::ImageFrame::setSize):
2299         (WebCore::ImageFrame::asNewNativeImage):
2300         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2301         (WebCore::GIFImageDecoder::frameBufferAtIndex):
2302         (WebCore::GIFImageDecoder::clearFrameBufferCache):
2303         (WebCore::GIFImageDecoder::haveDecodedRow):
2304         (WebCore::GIFImageDecoder::frameComplete):
2305         (WebCore::GIFImageDecoder::initFrameBuffer):
2306         * platform/image-decoders/gif/GIFImageDecoder.h:
2307         * platform/image-decoders/gif/GIFImageReader.cpp:
2308         (GIFImageReader::read):
2309         * platform/image-decoders/gif/GIFImageReader.h:
2310         (GIFFrameReader::GIFFrameReader):
2311         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
2312         (WebCore::ImageFrame::asNewNativeImage):
2313         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2314         (WebCore::ICOImageDecoder::frameBufferAtIndex):
2315         (WebCore::ICOImageDecoder::decode):
2316         * platform/image-decoders/ico/ICOImageDecoder.h:
2317         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2318         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
2319         (WebCore::JPEGImageDecoder::outputScanlines):
2320         (WebCore::JPEGImageDecoder::jpegComplete):
2321         (WebCore::JPEGImageDecoder::decode):
2322         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2323         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
2324         (WebCore::ImageFrame::asNewNativeImage):
2325         * platform/image-decoders/png/PNGImageDecoder.cpp:
2326         (WebCore::PNGImageDecoder::frameBufferAtIndex):
2327         (WebCore::PNGImageDecoder::rowAvailable):
2328         (WebCore::PNGImageDecoder::pngComplete):
2329         * platform/image-decoders/png/PNGImageDecoder.h:
2330         (WebCore::PNGImageDecoder::isComplete):
2331         * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp.
2332         (WebCore::ImageFrame::ImageFrame):
2333         (WebCore::ImageFrame::operator=):
2334         (WebCore::ImageFrame::clear):
2335         (WebCore::ImageFrame::zeroFill):
2336         (WebCore::ImageFrame::copyBitmapData):
2337         (WebCore::ImageFrame::setSize):
2338         (WebCore::ImageFrame::asNewNativeImage):
2339         (WebCore::ImageFrame::hasAlpha):
2340         (WebCore::ImageFrame::setHasAlpha):
2341         (WebCore::ImageFrame::setColorProfile):
2342         (WebCore::ImageFrame::setStatus):
2343         (WebCore::ImageFrame::setPixmap):
2344         (WebCore::ImageFrame::width):
2345         (WebCore::ImageFrame::height):
2346         * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed.
2347         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2348         (WebCore::ImageFrame::ImageFrame):
2349         (WebCore::ImageFrame::operator=):
2350         (WebCore::ImageFrame::clear):
2351         (WebCore::ImageFrame::zeroFill):
2352         (WebCore::ImageFrame::copyBitmapData):
2353         (WebCore::ImageFrame::setSize):
2354         (WebCore::ImageFrame::asNewNativeImage):
2355         (WebCore::ImageFrame::hasAlpha):
2356         (WebCore::ImageFrame::setHasAlpha):
2357         (WebCore::ImageFrame::setColorProfile):
2358         (WebCore::ImageFrame::setStatus):
2359         (WebCore::ImageFrame::width):
2360         (WebCore::ImageFrame::height):
2361         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2362         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
2363         (WebCore::WEBPImageDecoder::decode):
2364         * platform/image-decoders/webp/WEBPImageDecoder.h:
2365         * platform/image-decoders/wx/ImageDecoderWx.cpp:
2366         (WebCore::ImageFrame::asNewNativeImage):
2367
2368 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
2369
2370         Reviewed by Darin Adler.
2371
2372         Transferring nodes between documents should be aware of the shadow DOM.
2373         https://bugs.webkit.org/show_bug.cgi?id=52399
2374
2375         No visible change in behavior at the moment.
2376
2377         Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following
2378         tests should no longer crash:
2379         * fast/css/pseudo-in-range-invalid-value.html
2380         * fast/css/pseudo-in-range.html
2381         * fast/forms/form-collection-elements.html
2382         * fast/forms/range-keyoperation.html
2383
2384         * dom/Document.cpp:
2385         (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
2386         * dom/Node.cpp:
2387         (WebCore::Node::setDocumentRecursively): Added new method, taking existing
2388             logic and adding shadow DOM traversal.
2389         (WebCore::Node::traverseNextNode): Style fix.
2390         (WebCore::Node::traverseNextSibling): Ditto.
2391         (WebCore::Node::traversePreviousNode): Ditto.
2392         (WebCore::Node::traversePreviousNodePostOrder): Ditto.
2393         (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively.
2394         (WebCore::Node::checkAddChild): Ditto.
2395         * dom/Node.h: Added def.
2396
2397 2011-01-12  Enrica Casucci  <enrica@apple.com>
2398
2399         Reviewed by Darin Adler.
2400
2401         WebKit2: Add support for drag and drop
2402         https://bugs.webkit.org/show_bug.cgi?id=52343
2403         <rdar://problem/7660558>
2404                
2405         This patch contains the changes required to support dropping content
2406         in WebKit on the Mac. The DragData class has been extended to provide
2407         additional context from the application (keyboard state, modal windows, etc.)
2408         as well as information of the drag pasteboard being used.
2409         The support for WebKit as drag source will be added with a separate patch.
2410
2411         * WebCore.exp.in:
2412         * page/DragController.cpp:
2413         (WebCore::DragController::dragIsMove): Added DragData parameter.
2414         (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
2415         (WebCore::DragController::concludeEditDrag): Same as above.
2416         * page/DragController.h: Added parameter to isCopyKeyDown.
2417         * page/mac/DragControllerMac.mm:
2418         The following methods have been modified to use the information stored
2419         in the DragData class.
2420         (WebCore::DragController::isCopyKeyDown):
2421         (WebCore::DragController::dragOperation):
2422         * platform/DragData.h:
2423         (WebCore::DragData::flags):
2424         * platform/DragData.cpp: Added default flags parameter to the constructor.
2425         * platform/mac/DragDataMac.mm:
2426         (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
2427         (WebCore::DragData::canSmartReplace):
2428         (WebCore::DragData::containsColor):
2429         (WebCore::DragData::containsFiles):
2430         (WebCore::DragData::asFilenames):
2431         (WebCore::DragData::containsPlainText):
2432         (WebCore::DragData::asPlainText):
2433         (WebCore::DragData::containsCompatibleContent):
2434         (WebCore::DragData::asURL):
2435         (WebCore::DragData::asFragment):
2436         All the following files have been modified to add the DragData
2437         parameter to isCopyKeyDown. I plan to improve this in the future
2438         and make isCopyKeyDown not platform specific.
2439         * page/android/DragControllerAndroid.cpp:
2440         (WebCore::DragController::isCopyKeyDown):
2441         * page/brew/DragControllerBrew.cpp:
2442         (WebCore::DragController::isCopyKeyDown):
2443         * page/chromium/DragControllerChromium.cpp:
2444         (WebCore::DragController::isCopyKeyDown):
2445         * page/efl/DragControllerEfl.cpp:
2446         (WebCore::DragController::isCopyKeyDown):
2447         * page/gtk/DragControllerGtk.cpp:
2448         (WebCore::DragController::isCopyKeyDown):
2449         * page/haiku/DragControllerHaiku.cpp:
2450         (WebCore::DragController::isCopyKeyDown):
2451         * page/mac/DragControllerMac.mm:
2452         (WebCore::DragController::isCopyKeyDown):
2453         (WebCore::DragController::dragOperation):
2454         * page/qt/DragControllerQt.cpp:
2455         (WebCore::DragController::isCopyKeyDown):
2456         * page/win/DragControllerWin.cpp:
2457         (WebCore::DragController::isCopyKeyDown):
2458         * page/wx/DragControllerWx.cpp:
2459         (WebCore::DragController::isCopyKeyDown):
2460
2461 2011-01-13  David Kilzer  <ddkilzer@apple.com>
2462
2463         Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project
2464
2465         Not reviewed.
2466
2467         * WebCore.xcodeproj/project.pbxproj: Add missing headers.  Note
2468         that the corresponding source files were originally added to the
2469         project in r48559.
2470
2471 2011-01-12  Zhenyao Mo  <zmo@google.com>
2472
2473         Reviewed by Kenneth Russell.
2474
2475         Use GC3D types in WebGLRenderingContext and related WebGL classes
2476         https://bugs.webkit.org/show_bug.cgi?id=51908
2477
2478         * html/canvas/WebGLActiveInfo.h:
2479         (WebCore::WebGLActiveInfo::create):
2480         (WebCore::WebGLActiveInfo::type):
2481         (WebCore::WebGLActiveInfo::size):
2482         (WebCore::WebGLActiveInfo::WebGLActiveInfo):
2483         * html/canvas/WebGLBuffer.cpp:
2484         (WebCore::WebGLBuffer::associateBufferDataImpl):
2485         (WebCore::WebGLBuffer::associateBufferData):
2486         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
2487         (WebCore::WebGLBuffer::associateBufferSubData):
2488         (WebCore::WebGLBuffer::byteLength):
2489         (WebCore::WebGLBuffer::getCachedMaxIndex):
2490         (WebCore::WebGLBuffer::setCachedMaxIndex):
2491         (WebCore::WebGLBuffer::setTarget):
2492         * html/canvas/WebGLBuffer.h:
2493         (WebCore::WebGLBuffer::getTarget):
2494         * html/canvas/WebGLFramebuffer.cpp:
2495         (WebCore::WebGLFramebuffer::setAttachment):
2496         (WebCore::WebGLFramebuffer::getAttachment):
2497         (WebCore::WebGLFramebuffer::getWidth):
2498         (WebCore::WebGLFramebuffer::getHeight):
2499         (WebCore::WebGLFramebuffer::getColorBufferFormat):
2500         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
2501         * html/canvas/WebGLFramebuffer.h:
2502         * html/canvas/WebGLProgram.cpp:
2503         (WebCore::WebGLProgram::cacheActiveAttribLocations):
2504         (WebCore::WebGLProgram::numActiveAttribLocations):
2505         (WebCore::WebGLProgram::getActiveAttribLocation):
2506         (WebCore::WebGLProgram::isUsingVertexAttrib0):
2507         * html/canvas/WebGLProgram.h:
2508         (WebCore::WebGLProgram::getLinkCount):
2509         * html/canvas/WebGLRenderbuffer.h:
2510         (WebCore::WebGLRenderbuffer::setInternalFormat):
2511         (WebCore::WebGLRenderbuffer::getInternalFormat):
2512         (WebCore::WebGLRenderbuffer::setSize):
2513         (WebCore::WebGLRenderbuffer::getWidth):
2514         (WebCore::WebGLRenderbuffer::getHeight):
2515         * html/canvas/WebGLRenderingContext.cpp:
2516         (WebCore::WebGLRenderingContext::initializeNewContext):
2517         (WebCore::WebGLRenderingContext::sizeInBytes):
2518         (WebCore::WebGLRenderingContext::activeTexture):
2519         (WebCore::WebGLRenderingContext::bindAttribLocation):
2520         (WebCore::WebGLRenderingContext::bindBuffer):
2521         (WebCore::WebGLRenderingContext::bindFramebuffer):
2522         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2523         (WebCore::WebGLRenderingContext::bindTexture):
2524         (WebCore::WebGLRenderingContext::blendColor):
2525         (WebCore::WebGLRenderingContext::blendEquation):
2526         (WebCore::WebGLRenderingContext::blendEquationSeparate):
2527         (WebCore::WebGLRenderingContext::blendFunc):
2528         (WebCore::WebGLRenderingContext::blendFuncSeparate):
2529         (WebCore::WebGLRenderingContext::bufferData):
2530         (WebCore::WebGLRenderingContext::bufferSubData):
2531         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2532         (WebCore::WebGLRenderingContext::clear):
2533         (WebCore::WebGLRenderingContext::clearColor):
2534         (WebCore::WebGLRenderingContext::clearDepth):
2535         (WebCore::WebGLRenderingContext::clearStencil):
2536         (WebCore::WebGLRenderingContext::colorMask):
2537         (WebCore::WebGLRenderingContext::copyTexImage2D):
2538         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2539         (WebCore::WebGLRenderingContext::createShader):
2540         (WebCore::WebGLRenderingContext::cullFace):
2541         (WebCore::WebGLRenderingContext::deleteBuffer):
2542         (WebCore::WebGLRenderingContext::depthFunc):
2543         (WebCore::WebGLRenderingContext::depthMask):
2544         (WebCore::WebGLRenderingContext::depthRange):
2545         (WebCore::WebGLRenderingContext::disable):
2546         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2547         (WebCore::WebGLRenderingContext::validateElementArraySize):
2548         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2549         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2550         (WebCore::WebGLRenderingContext::validateRenderingState):
2551         (WebCore::WebGLRenderingContext::drawArrays):
2552         (WebCore::WebGLRenderingContext::drawElements):
2553         (WebCore::WebGLRenderingContext::enable):
2554         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2555         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2556         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2557         (WebCore::WebGLRenderingContext::frontFace):
2558         (WebCore::WebGLRenderingContext::generateMipmap):
2559         (WebCore::WebGLRenderingContext::getActiveAttrib):
2560         (WebCore::WebGLRenderingContext::getActiveUniform):
2561         (WebCore::WebGLRenderingContext::getAttachedShaders):
2562         (WebCore::WebGLRenderingContext::getAttribLocation):
2563         (WebCore::WebGLRenderingContext::getBufferParameter):
2564         (WebCore::WebGLRenderingContext::getError):
2565         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2566         (WebCore::WebGLRenderingContext::getParameter):
2567         (WebCore::WebGLRenderingContext::getProgramParameter):
2568         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2569         (WebCore::WebGLRenderingContext::getShaderParameter):
2570         (WebCore::WebGLRenderingContext::getTexParameter):
2571         (WebCore::WebGLRenderingContext::getUniform):
2572         (WebCore::WebGLRenderingContext::getUniformLocation):
2573         (WebCore::WebGLRenderingContext::getVertexAttrib):
2574         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
2575         (WebCore::WebGLRenderingContext::hint):
2576         (WebCore::WebGLRenderingContext::isBuffer):
2577         (WebCore::WebGLRenderingContext::isEnabled):
2578         (WebCore::WebGLRenderingContext::isFramebuffer):
2579         (WebCore::WebGLRenderingContext::isProgram):
2580         (WebCore::WebGLRenderingContext::isRenderbuffer):
2581         (WebCore::WebGLRenderingContext::isShader):
2582         (WebCore::WebGLRenderingContext::isTexture):
2583         (WebCore::WebGLRenderingContext::lineWidth):
2584         (WebCore::WebGLRenderingContext::linkProgram):
2585         (WebCore::WebGLRenderingContext::pixelStorei):
2586         (WebCore::WebGLRenderingContext::polygonOffset):
2587         (WebCore::WebGLRenderingContext::readPixels):
2588         (WebCore::WebGLRenderingContext::renderbufferStorage):
2589         (WebCore::WebGLRenderingContext::sampleCoverage):
2590         (WebCore::WebGLRenderingContext::scissor):
2591         (WebCore::WebGLRenderingContext::stencilFunc):
2592         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
2593         (WebCore::WebGLRenderingContext::stencilMask):
2594         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
2595         (WebCore::WebGLRenderingContext::stencilOp):
2596         (WebCore::WebGLRenderingContext::stencilOpSeparate):
2597         (WebCore::WebGLRenderingContext::texImage2DBase):
2598         (WebCore::WebGLRenderingContext::texImage2DImpl):
2599         (WebCore::WebGLRenderingContext::texImage2D):
2600         (WebCore::WebGLRenderingContext::texParameter):
2601         (WebCore::WebGLRenderingContext::texParameterf):
2602         (WebCore::WebGLRenderingContext::texParameteri):
2603         (WebCore::WebGLRenderingContext::texSubImage2DBase):
2604         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
2605         (WebCore::WebGLRenderingContext::texSubImage2D):
2606         (WebCore::WebGLRenderingContext::uniform1f):
2607         (WebCore::WebGLRenderingContext::uniform1fv):
2608         (WebCore::WebGLRenderingContext::uniform1i):
2609         (WebCore::WebGLRenderingContext::uniform1iv):
2610         (WebCore::WebGLRenderingContext::uniform2f):
2611         (WebCore::WebGLRenderingContext::uniform2fv):
2612         (WebCore::WebGLRenderingContext::uniform2i):
2613         (WebCore::WebGLRenderingContext::uniform2iv):
2614         (WebCore::WebGLRenderingContext::uniform3f):
2615         (WebCore::WebGLRenderingContext::uniform3fv):
2616         (WebCore::WebGLRenderingContext::uniform3i):
2617         (WebCore::WebGLRenderingContext::uniform3iv):
2618         (WebCore::WebGLRenderingContext::uniform4f):
2619         (WebCore::WebGLRenderingContext::uniform4fv):
2620         (WebCore::WebGLRenderingContext::uniform4i):
2621         (WebCore::WebGLRenderingContext::uniform4iv):
2622         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2623         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2624         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2625         (WebCore::WebGLRenderingContext::vertexAttrib1f):
2626         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
2627         (WebCore::WebGLRenderingContext::vertexAttrib2f):
2628         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
2629         (WebCore::WebGLRenderingContext::vertexAttrib3f):
2630         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
2631         (WebCore::WebGLRenderingContext::vertexAttrib4f):
2632         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
2633         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2634         (WebCore::WebGLRenderingContext::viewport):
2635         (WebCore::WebGLRenderingContext::getBooleanParameter):
2636         (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
2637         (WebCore::WebGLRenderingContext::getFloatParameter):
2638         (WebCore::WebGLRenderingContext::getIntParameter):
2639         (WebCore::WebGLRenderingContext::getLongParameter):
2640         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
2641         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
2642         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
2643         (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
2644         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat):
2645         (WebCore::WebGLRenderingContext::validateTextureBinding):
2646         (WebCore::WebGLRenderingContext::validateSize):
2647         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
2648         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
2649         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
2650         (WebCore::WebGLRenderingContext::validateTexFuncData):
2651         (WebCore::WebGLRenderingContext::validateDrawMode):
2652         (WebCore::WebGLRenderingContext::validateStencilFunc):
2653         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
2654         (WebCore::WebGLRenderingContext::validateBlendEquation):
2655         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
2656         (WebCore::WebGLRenderingContext::validateCapability):
2657         (WebCore::WebGLRenderingContext::validateUniformParameters):
2658         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
2659         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
2660         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2661         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2662         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
2663         * html/canvas/WebGLRenderingContext.h:
2664         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
2665         * html/canvas/WebGLShader.cpp:
2666         (WebCore::WebGLShader::create):
2667         (WebCore::WebGLShader::WebGLShader):
2668         * html/canvas/WebGLShader.h:
2669         (WebCore::WebGLShader::getType):
2670         * html/canvas/WebGLTexture.cpp:
2671         (WebCore::WebGLTexture::setTarget):
2672         (WebCore::WebGLTexture::setParameteri):
2673         (WebCore::WebGLTexture::setParameterf):
2674         (WebCore::WebGLTexture::setLevelInfo):
2675         (WebCore::WebGLTexture::generateMipmapLevelInfo):
2676         (WebCore::WebGLTexture::getInternalFormat):
2677         (WebCore::WebGLTexture::getType):
2678         (WebCore::WebGLTexture::getWidth):
2679         (WebCore::WebGLTexture::getHeight):
2680         (WebCore::WebGLTexture::isNPOT):
2681         (WebCore::WebGLTexture::mapTargetToIndex):
2682         (WebCore::WebGLTexture::computeLevelCount):
2683         (WebCore::WebGLTexture::update):
2684         (WebCore::WebGLTexture::getLevelInfo):
2685         * html/canvas/WebGLTexture.h:
2686         (WebCore::WebGLTexture::LevelInfo::setInfo):
2687         * html/canvas/WebGLUniformLocation.cpp:
2688         (WebCore::WebGLUniformLocation::create):
2689         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
2690         (WebCore::WebGLUniformLocation::location):
2691         * html/canvas/WebGLUniformLocation.h:
2692         * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char.
2693
2694 2011-01-13  Jian Li  <jianli@chromium.org>
2695
2696         Reviewed by Darin Fisher.
2697
2698         Change createObjectURL and revokeObjectURL to put under webkitURL.
2699         https://bugs.webkit.org/show_bug.cgi?id=52257
2700
2701         Note that we add "webkit" vendor prefix to URL that is introduced in
2702         the latest File API spec.
2703
2704         For the time being, we implement webkitURL as a readonly attribute
2705         instead of a constructor so that we will not expose prototype property,
2706         as required by the spec.
2707
2708         * Android.derived.jscbindings.mk:
2709         * Android.derived.v8bindings.mk:
2710         * Android.mk:
2711         * CMakeLists.txt:
2712         * DerivedSources.cpp:
2713         * DerivedSources.make:
2714         * GNUmakefile.am:
2715         * WebCore.gypi:
2716         * WebCore.pri:
2717         * WebCore.pro:
2718         * WebCore.vcproj/WebCore.vcproj:
2719         * WebCore.xcodeproj/project.pbxproj:
2720         * html/DOMURL.cpp: Added.
2721         * html/DOMURL.h: Added.
2722         * html/DOMURL.idl: Added.
2723         * inspector/front-end/NetworkPanel.js:
2724         * inspector/front-end/utilities.js:
2725         * page/DOMWindow.cpp:
2726         (WebCore::DOMWindow::webkitURL):
2727         * page/DOMWindow.h:
2728         * page/DOMWindow.idl:
2729         * workers/WorkerContext.cpp:
2730         (WebCore::WorkerContext::webkitURL):
2731         * workers/WorkerContext.h:
2732         * workers/WorkerContext.idl:
2733
2734 2011-01-13  Emil Eklund  <eae@chromium.org>
2735
2736         Reviewed by Dimitri Glazkov.
2737
2738         Setting outerText should convert CR/LF to <br>
2739         https://bugs.webkit.org/show_bug.cgi?id=52268
2740
2741         Make set outerText support line breaks (sharing the text to fragment code
2742         with setInnerText) and handle empty text nodes the same way IE does.
2743
2744         Test: fast/dom/set-outer-text.html
2745
2746         * html/HTMLElement.cpp:
2747         (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText
2748         (WebCore::HTMLElement::setInnerText): Split out text parsing code.
2749         (WebCore::mergeWithNextTextNode): Split out text node merging code.
2750         (WebCore::HTMLElement::setOuterText): Added support for line breaks.
2751         * html/HTMLElement.h:
2752
2753 2011-01-13  Zhenyao Mo  <zmo@google.com>
2754
2755         Reviewed by Kenneth Russell.
2756
2757         Relax the ESSL valid charset a little bit to include " ' `
2758         https://bugs.webkit.org/show_bug.cgi?id=52396
2759
2760         * html/canvas/WebGLRenderingContext.cpp:
2761
2762 >>>>>>> .r75740
2763 2011-01-13  Adrienne Walker  <enne@google.com>
2764
2765         Reviewed by Kenneth Russell.
2766
2767         [chromium] Attempt to fix crash in tiled compositor memcpy
2768         https://bugs.webkit.org/show_bug.cgi?id=52379
2769
2770         * platform/graphics/chromium/LayerTilerChromium.cpp:
2771         (WebCore::LayerTilerChromium::update):
2772
2773 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
2774
2775         Unreviewed, rolling out r75725.
2776         http://trac.webkit.org/changeset/75725
2777         https://bugs.webkit.org/show_bug.cgi?id=52317
2778
2779         Caused crashes in layout tests.
2780
2781         * css/CSSStyleSelector.cpp:
2782         (WebCore::CSSStyleSelector::initForStyleResolve):
2783         * html/HTMLInputElement.cpp:
2784         (WebCore::HTMLInputElement::updateType):
2785         * html/InputType.cpp:
2786         * html/InputType.h:
2787         * html/RangeInputType.cpp:
2788         * html/RangeInputType.h:
2789         * html/shadow/SliderThumbElement.cpp:
2790         (WebCore::SliderThumbElement::defaultEventHandler):
2791         (WebCore::SliderThumbElement::detach):
2792         * html/shadow/SliderThumbElement.h:
2793         (WebCore::SliderThumbElement::SliderThumbElement):
2794         (WebCore::SliderThumbElement::create):
2795         * rendering/MediaControlElements.cpp:
2796         (WebCore::MediaControlInputElement::attach):
2797         (WebCore::MediaControlInputElement::updateStyle):
2798         * rendering/RenderSlider.cpp:
2799         (WebCore::RenderSlider::~RenderSlider):
2800         (WebCore::RenderSlider::styleDidChange):
2801         (WebCore::RenderSlider::createThumbStyle):
2802         (WebCore::RenderSlider::thumbRect):
2803         (WebCore::RenderSlider::layout):
2804         (WebCore::RenderSlider::updateFromElement):
2805         (WebCore::RenderSlider::mouseEventIsInThumb):
2806         (WebCore::RenderSlider::mouseEventOffsetToThumb):
2807         (WebCore::RenderSlider::setValueForPosition):
2808         (WebCore::RenderSlider::positionForOffset):
2809         (WebCore::RenderSlider::currentPosition):
2810         (WebCore::RenderSlider::trackSize):
2811         (WebCore::RenderSlider::forwardEvent):
2812         (WebCore::RenderSlider::inDragMode):
2813         * rendering/RenderSlider.h:
2814
2815 2011-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
2816
2817         Reviewed by Darin Adler.
2818
2819         Flip input[type=range] to use the new shadow DOM model.
2820         https://bugs.webkit.org/show_bug.cgi?id=52317
2821
2822         This is a straight-up flip, minimal change to the logic, which will be
2823         refactored in a follow-up patch.
2824
2825         Covered by existing tests.
2826
2827         * css/CSSStyleSelector.cpp:
2828         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
2829             host or parent node to find parent.
2830         * html/HTMLInputElement.cpp:
2831         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
2832             shadow DOM subtree.
2833         * html/InputType.cpp:
2834         (WebCore::InputType::createShadowSubtree): Added empty decl.
2835         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
2836             shadow subtree.
2837         * html/InputType.h: Added defs.
2838         * html/RangeInputType.cpp:
2839         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
2840             slider thumb.
2841         * html/RangeInputType.h: Adde def.
2842         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
2843             to handle cascading appearance.
2844         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
2845         (WebCore::RenderSliderThumb::layout): Moved here the logic from
2846             RenderSlider::createThumbStyle.
2847         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
2848             create RenderSliderThumb instance.
2849         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
2850             as base class.
2851         (WebCore::SliderThumbElement::detach): Ditto.
2852         * html/shadow/SliderThumbElement.h:
2853         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
2854         (WebCore::SliderThumbElement::create): Ditto.
2855         (WebCore::toSliderThumbElement): Added a casting helper.
2856         * rendering/MediaControlElements.cpp:
2857         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
2858             since the whole method is hand-rolled.
2859         (WebCore::MediaControlInputElement::updateStyle): Ditto.
2860         * rendering/RenderSlider.cpp:
2861         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
2862         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
2863         (WebCore::RenderSlider::layout): Ditto.
2864         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
2865             SliderThumbElement.
2866         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
2867         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
2868         (WebCore::RenderSlider::setValueForPosition): Ditto.
2869         (WebCore::RenderSlider::positionForOffset): Ditto.
2870         (WebCore::RenderSlider::currentPosition): Ditto.
2871         (WebCore::RenderSlider::trackSize): Ditto.
2872         (WebCore::RenderSlider::forwardEvent): Ditto.
2873         (WebCore::RenderSlider::inDragMode): Ditto.
2874         * rendering/RenderSlider.h: Added def.
2875
2876 2011-01-13  Dan Bernstein  <mitz@apple.com>
2877
2878         Reviewed by Simon Fraser.
2879
2880         <rdar://problem/8098442> Crash in Widget::setFrameRect()
2881         https://bugs.webkit.org/show_bug.cgi?id=52375
2882
2883         Test: plugins/destroy-on-setwindow.html
2884
2885         * platform/mac/WidgetMac.mm:
2886         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
2887         out to the view.
2888         (WebCore::Widget::getOuterView): Coding style fix.
2889         (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to
2890         the views. This is precautionary, since this function does not applear to access member variables
2891         after such calls.
2892         * platform/wx/WidgetWx.cpp:
2893         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
2894         out to the platform widget.
2895
2896 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
2897
2898         Unreviewed buildfix after r75715.
2899
2900         * WebCore.pri:
2901         * WebCore.pro:
2902
2903 2011-01-13  Pavel Feldman  <pfeldman@chromium.org>
2904
2905         Not reviewed: Qt build fix.
2906
2907         * WebCore.pri:
2908
2909 2011-01-12  Pavel Feldman  <pfeldman@chromium.org>
2910
2911         Reviewed by Yury Semikhatsky.
2912
2913         Web Inspector: embed injected script into the backend.
2914         https://bugs.webkit.org/show_bug.cgi?id=52312
2915
2916         InjectedScript belongs to the backend of the system and
2917         should be exposed by means of protocol, not InjectedScriptAccess.
2918         This patch makes injected script a part of the backend.
2919         It introduces single manual generation step (xxd -i) that should be
2920         automated by the build scripts for all the platforms.
2921
2922         * CMakeLists.txt:
2923         * DerivedSources.make:
2924         * GNUmakefile.am:
2925         * WebCore.gyp/WebCore.gyp:
2926         * WebCore.gypi:
2927         * WebCore.pro:
2928         * WebCore.vcproj/WebCore.vcproj:
2929         * WebCore.xcodeproj/project.pbxproj:
2930         * bindings/js/JSInjectedScriptHostCustom.cpp:
2931         (WebCore::InjectedScriptHost::injectedScriptFor):
2932         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2933         (WebCore::InjectedScriptHost::injectedScriptFor):
2934         * inspector/InjectedScriptHost.cpp:
2935         (WebCore::InjectedScriptHost::injectedScriptSource):
2936         * inspector/InjectedScriptHost.h:
2937         * inspector/Inspector.idl:
2938         * inspector/InspectorController.cpp:
2939         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2940         * inspector/InspectorState.cpp:
2941         (WebCore::InspectorState::InspectorState):
2942         * inspector/InspectorState.h:
2943         * inspector/front-end/InjectedScript.js: Removed.
2944         * inspector/front-end/WebKit.qrc:
2945         * inspector/front-end/inspector.html:
2946         * inspector/front-end/inspector.js:
2947         (WebInspector.doLoadedDone.propertyNamesCallback):
2948         (WebInspector.doLoadedDone):
2949         * inspector/xxd.pl: Added.
2950
2951 2011-01-13  Mikhail Naganov  <mnaganov@chromium.org>
2952
2953         Reviewed by Timothy Hatcher.
2954
2955         Web Inspector: Cleanup after r75613 -- make all UI-facing strings
2956         to be passed directly to WebInspector.UIString
2957
2958         https://bugs.webkit.org/show_bug.cgi?id=52365
2959
2960         * English.lproj/localizedStrings.js:
2961         * inspector/front-end/ApplicationCacheItemsView.js:
2962         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
2963         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
2964         * inspector/front-end/AuditRules.js:
2965         (WebInspector.AuditRules.GzipRule.prototype.doRun):
2966         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
2967         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
2968         * inspector/front-end/BreakpointsSidebarPane.js:
2969         (WebInspector.EventListenerBreakpointsSidebarPane):
2970         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
2971         * inspector/front-end/CookieItemsView.js:
2972         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2973         * inspector/front-end/ImageView.js:
2974         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
2975         (WebInspector.ImageView.prototype._createContentIfNeeded):
2976         * inspector/front-end/NetworkPanel.js:
2977         (WebInspector.NetworkTimeCalculator.prototype.formatValue):
2978         (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
2979         (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
2980         * inspector/front-end/ProfileDataGridTree.js:
2981         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
2982         (WebInspector.ProfileDataGridNode.prototype.get data):
2983         * inspector/front-end/Resource.js:
2984         (WebInspector.Resource.Type.toUIString):
2985         (WebInspector.Resource.Type.toString):
2986         * inspector/front-end/TimelineOverviewPane.js:
2987         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
2988         * inspector/front-end/TimelinePanel.js:
2989         (WebInspector.TimelinePanel):
2990         (WebInspector.TimelineCalculator.prototype.formatValue):
2991         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
2992         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2993         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2994         * inspector/front-end/utilities.js:
2995         ():
2996
2997 2011-01-13  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2998
2999         Reviewed by Simon Hausmann.
3000
3001         [Qt] Need a way to inform the application when a Netscape plugin is created.
3002         https://bugs.webkit.org/show_bug.cgi?id=30179
3003
3004         Added "c" style static method for the application to hook up for
3005         receiving notifications when a plugin is created.
3006
3007         * plugins/symbian/PluginViewSymbian.cpp:
3008         (qtwebkit_setPluginCreatedCallback):
3009         (WebCore::PluginView::platformStart):
3010
3011 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
3012
3013         Reviewed by Eric Seidel.
3014
3015         [Qt] Use a black background color for the video element on Qt Mobile
3016         https://bugs.webkit.org/show_bug.cgi?id=52252
3017
3018         Use black as the background color for the video element on Qt Mobile.
3019
3020         * css/themeQtMobile.css:
3021         (video):
3022
3023 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
3024
3025         Reviewed by Eric Seidel.
3026
3027         [Qt] Use a big central media play control button for video element 
3028         https://bugs.webkit.org/show_bug.cgi?id=52315
3029
3030         When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
3031         all other control buttons for the video element are hidden, except 
3032         a big centralized play button.
3033
3034         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
3035
3036         * WebCore.pri:
3037         * css/mediaControlsQtFullscreen.css: Added.
3038         (audio):
3039         (audio::-webkit-media-controls-panel):
3040         (video::-webkit-media-controls-panel):
3041         (video:-webkit-full-page-media::-webkit-media-controls-panel):
3042         (audio::-webkit-media-controls-mute-button):
3043         (video::-webkit-media-controls-mute-button):
3044         (audio::-webkit-media-controls-play-button):
3045         (video::-webkit-media-controls-play-button):
3046         (audio::-webkit-media-controls-timeline-container):
3047         (video::-webkit-media-controls-timeline-container):
3048         (audio::-webkit-media-controls-current-time-display):
3049         (video::-webkit-media-controls-current-time-display):
3050         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
3051         (audio::-webkit-media-controls-timeline):
3052         (video::-webkit-media-controls-timeline):
3053         (audio::-webkit-media-controls-volume-slider-container):
3054         (video::-webkit-media-controls-volume-slider-container):
3055         (audio::-webkit-media-controls-volume-slider):
3056         (video::-webkit-media-controls-volume-slider):
3057         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
3058         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
3059         (audio::-webkit-media-controls-fullscreen-button):
3060         (video::-webkit-media-controls-fullscreen-button):
3061         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
3062         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
3063         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
3064         * platform/qt/RenderThemeQt.cpp:
3065         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
3066
3067 2011-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3068
3069         Reviewed by Xan Lopez.
3070
3071         [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
3072         https://bugs.webkit.org/show_bug.cgi?id=52361
3073
3074         Check whether the object state is indeterminate to set the flag
3075         GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
3076         buttons.
3077
3078         * platform/gtk/RenderThemeGtk3.cpp:
3079         (WebCore::paintToggle):
3080
3081 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
3082
3083         Reviewed by Simon Hausmann.
3084
3085         [Qt] Extend the Platform Plugin to support full screen video handler
3086         https://bugs.webkit.org/show_bug.cgi?id=51249
3087
3088         Make MediaPlayerPrivateQt support a fullscreen player.
3089
3090         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
3091         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
3092         So, still skip it for Qt.
3093
3094         * WebCore.pro:
3095         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3096         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
3097         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
3098         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
3099         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3100         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
3101         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
3102
3103 2011-01-13  Dan Bernstein  <mitz@apple.com>
3104
3105         Reviewed by Dave Hyatt.
3106
3107         <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
3108         https://bugs.webkit.org/show_bug.cgi?id=52359
3109
3110         Test: fast/ruby/text-emphasis.html
3111
3112         * css/html.css:
3113         (rt):
3114
3115 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
3116
3117         Rubber-stamped by David Levin.
3118
3119         Trivial fix after r75682.
3120
3121         * loader/FrameLoader.cpp: Remove accidentally committed debug code.
3122         (WebCore::FrameLoader::shouldClose):
3123
3124 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
3125
3126         Reviewed by Eric Seidel.
3127
3128         REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
3129         https://bugs.webkit.org/show_bug.cgi?id=52241
3130
3131         The bug was caused by RenderTextControl::selection's creating a Range with m_insertText
3132         which is a shadow DOM div as both start and end containers. Fixed the bug by traversing
3133         through the descendents of m_innerText and using the right start and end containers to
3134         create a Range.
3135
3136         Test: fast/forms/focus-change-on-keypress.html
3137
3138         * rendering/RenderTextControl.cpp:
3139         (WebCore::setContainerAndOffsetForRange): Added; a helper function.
3140         (WebCore::RenderTextControl::selection): See above.
3141
3142 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
3143
3144         Reviewed by Kent Tamura.
3145
3146         M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
3147         https://bugs.webkit.org/show_bug.cgi?id=51905
3148
3149         Calls unregisterFormElementWithFormAttribute() when 'form' attribute
3150         is removed.
3151
3152         Tests: fast/forms/form-associated-element-crash.html
3153                fast/forms/form-associated-element-crash2.html
3154
3155         * html/FormAssociatedElement.cpp:
3156         (WebCore::FormAssociatedElement::formAttributeChanged):
3157
3158 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
3159
3160         Reviewed by Kent Tamura.
3161
3162         M_formElementsWithFormAttribute not cleared when Node is moved to another document.
3163         https://bugs.webkit.org/show_bug.cgi?id=51418
3164
3165         Calls unregisterFormElementWithFormAttribute() when form associated elements
3166         are moved to another document.
3167
3168         Test: fast/forms/change-form-element-document-crash.html
3169
3170         * html/FormAssociatedElement.cpp:
3171         (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
3172         * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
3173         * html/HTMLFormControlElement.cpp:
3174         (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
3175         * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
3176         * html/HTMLObjectElement.cpp:
3177         (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
3178         * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
3179         * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.
3180
3181 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
3182
3183         Reviewed by Eric Seidel.
3184
3185         Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
3186         https://bugs.webkit.org/show_bug.cgi?id=52250
3187
3188         Removed instantiation of legacy editing positions.
3189         Calls to Position::Position are replaced by calls to Position's convenience functions.
3190
3191         Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode,
3192         which are functions that return firstPositionInNode and lastPositionInNode respectively
3193         when the specified node can have children for editing purpose and return positionBeforeNode
3194         and positionAfterNode respectively otherwise. They can be used to guarantee that we never
3195         create a bogus position like [img, 0] or [br, 0].
3196
3197         No tests are added since this is a cleanup.
3198
3199         * editing/ApplyBlockElementCommand.cpp:
3200         (WebCore::ApplyBlockElementCommand::formatSelection):
3201         * editing/ApplyStyleCommand.cpp:
3202         (WebCore::ApplyStyleCommand::applyBlockStyle):
3203         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
3204         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
3205         (WebCore::ApplyStyleCommand::removeInlineStyle):
3206         (WebCore::ApplyStyleCommand::nodeFullySelected):
3207         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
3208         (WebCore::ApplyStyleCommand::splitTextAtStart):
3209         (WebCore::ApplyStyleCommand::splitTextAtEnd):
3210         (WebCore::ApplyStyleCommand::splitTextElementAtStart):
3211         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
3212         (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode):
3213         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
3214         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
3215         (WebCore::ApplyStyleCommand::computedFontSize):
3216         (WebCore::ApplyStyleCommand::joinChildTextNodes):
3217         * editing/ApplyStyleCommand.h:
3218         * editing/htmlediting.h:
3219         (WebCore::firstPositionInOrBeforeNode): Added.
3220         (WebCore::lastPositionInOrAfterNode): Added.
3221
3222 2011-01-12  Sam Weinig  <sam@webkit.org>
3223
3224         Another build fix.
3225
3226         * platform/mac/WheelEventMac.mm:
3227         (WebCore::phaseForEvent):
3228
3229 2011-01-12  Sam Weinig  <sam@webkit.org>
3230
3231         Fix build.
3232
3233         * platform/mac/WheelEventMac.mm:
3234         (WebCore::phaseForEvent):
3235
3236 2011-01-12  Adam Barth  <abarth@webkit.org>
3237
3238         Reviewed by Darin Adler.
3239
3240         Remove premature optimization from SchemeRegistry
3241         https://bugs.webkit.org/show_bug.cgi?id=52283
3242
3243         As far as I can tell, this optimization isn't necessary.  I'm slightly
3244         unsure which benchmarks to run to demonstrate this numerically, but
3245         none of the benchmarks Chromium tracks were affected by adding a
3246         similar check for "display-isolated" schemes.
3247
3248         * platform/SchemeRegistry.cpp:
3249         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
3250
3251 2011-01-12  Beth Dakin  <bdakin@apple.com>
3252
3253         Reviewed by Anders Carlsson.
3254
3255         Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
3256         Expose fixed layout through WebKit SPI
3257         -and corresponding-
3258         <rdar://problem/8844464>
3259
3260         And now with getters!
3261         * WebCore.exp.in:
3262
3263 2011-01-12  Sam Weinig  <sam@webkit.org>
3264
3265         Reviewed by Anders Carlsson.
3266
3267         https://bugs.webkit.org/show_bug.cgi?id=52337
3268         PlatformWheelEvent should know about the scroll phase on the Mac
3269
3270         Add a phase parameter on Mac PlatformWheelEvents.
3271
3272         * platform/PlatformWheelEvent.h:
3273         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3274         (WebCore::PlatformWheelEvent::phase):
3275         * platform/mac/WheelEventMac.mm:
3276         (WebCore::phaseForEvent):
3277         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3278
3279 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3280
3281         Unreviewed.
3282
3283         A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
3284         were omitted. 
3285
3286         * platform/graphics/ca/GraphicsLayerCA.cpp:
3287         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3288
3289 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3290
3291         Unreviewed.
3292
3293         Getting rid of an assert that was causing build failures that turns out not to be needed.
3294
3295         * rendering/RenderLayer.cpp:
3296         (WebCore::RenderLayer::paintsWithTransform):
3297
3298 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3299
3300         Unreviewed.
3301
3302         Another fix for Gtk
3303
3304         * rendering/RenderLayer.cpp:
3305         (WebCore::RenderLayer::paintsWithTransform):
3306
3307 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3308
3309         Unreviewed.
3310
3311         Fix for Gtk and Windows builds
3312
3313         * page/Frame.cpp:
3314         (WebCore::Frame::scalePage):
3315         * page/Frame.h:
3316         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3317         (PlatformCALayer::contentsScale):
3318         (PlatformCALayer::setContentsScale):
3319
3320 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3321
3322         UNreviewed.
3323
3324         Fix for the Windows build
3325
3326         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3327         (contentsScale):
3328         (setContentsScale):
3329
3330 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3331
3332         Unreviewed.
3333
3334         Another build fix
3335
3336         * platform/graphics/ca/GraphicsLayerCA.cpp:
3337         (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
3338         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3339         (PlatformCALayer::setContentsScale):
3340
3341 2011-01-11  Matthew Delaney  <mdelaney@apple.com>
3342
3343         Reviewed by Simon Fraser.
3344
3345         Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
3346         https://bugs.webkit.org/show_bug.cgi?id=52172
3347
3348         Tests: fast/canvas/canvas-large-dimensions.html
3349
3350         * platform/graphics/cg/ImageBufferCG.cpp:
3351         (WebCore::ImageBuffer::ImageBuffer):
3352
3353 2011-01-12  Daniel Bates  <dbates@rim.com>
3354             And Benjamin C Meyer  <bmeyer@rim.com>
3355
3356         Build fix when building with Inspector disabled
3357         https://bugs.webkit.org/show_bug.cgi?id=52313
3358
3359         After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
3360         possible to build when the Inspector is disabled.
3361
3362         * inspector/InspectorInstrumentation.h:
3363         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building
3364         with Inspector disabled and Offline Web Applications enabled by moving macro guard condition
3365         ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also
3366         consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other
3367         InspectorInstrumentation functions.
3368         * loader/appcache/ApplicationCacheGroup.cpp:
3369         (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector
3370         disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable
3371         ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building
3372         with the Inspector.
3373         (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto.
3374         (WebCore::ApplicationCacheGroup::didFail): Ditto.
3375
3376 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3377
3378         Unreviewed.
3379
3380         Fix a build issue from http://trac.webkit.org/changeset/75639.
3381
3382         * platform/graphics/GraphicsLayer.h:
3383         (WebCore::GraphicsLayer::contentsScale):
3384         (WebCore::GraphicsLayer::setContentsScale):
3385
3386 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3387
3388         Reviewed by Kevin Decker.
3389
3390         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
3391         rdar://problem/8824974
3392
3393         This prevents the rootLayer (with the WebKit rendered content) from going becoming
3394         a tiled layer when zoomed, and when there is other layered content on the page.
3395         This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
3396         number of layers.
3397         
3398         * rendering/RenderLayer.cpp:
3399         (WebCore::RenderLayer::paintsWithTransform):
3400         * rendering/RenderLayer.h:
3401         * rendering/RenderLayerBacking.cpp:
3402         (WebCore::RenderLayerBacking::paintingGoesToWindow):
3403
3404 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3405
3406         Reviewed by Simon Fraser.
3407         
3408         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
3409         rdar://problem/8824974
3410
3411         When scaled, WebKit renders the page content at the scaled up size, so there are no
3412         scaling artifacts. But content drawn into a layer's backing store does not scale up.
3413         This is made worse by the fact that the root page contents become layered when there
3414         are other accelerated compositing layers present (video, plugins, etc.).
3415         
3416         Plumb scaling factor from Frame::scalePage() down into all layers with content. It
3417         eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions
3418         are scaled, causing them to render larger and appear pixel perfect at the scaled
3419         page size.
3420  
3421          * page/Frame.cpp:
3422          (WebCore::Frame::updateContentsScale):
3423          (WebCore::Frame::scalePage):
3424          * page/Frame.h:
3425          * platform/graphics/GraphicsLayer.h:
3426          * platform/graphics/ca/GraphicsLayerCA.cpp:
3427          (WebCore::GraphicsLayerCA::setContentsScale):
3428          (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
3429          * platform/graphics/ca/GraphicsLayerCA.h:
3430          (WebCore::GraphicsLayerCA::contentsScale):
3431          * platform/graphics/ca/PlatformCALayer.h:
3432          * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3433          (PlatformCALayer::contentsScale):
3434          (PlatformCALayer::setContentsScale):
3435          * rendering/RenderLayer.cpp:
3436          (WebCore::RenderLayer::updateContentsScale):
3437          * rendering/RenderLayer.h:
3438          * rendering/RenderLayerBacking.cpp:
3439          (WebCore::RenderLayerBacking::createGraphicsLayer):
3440          (WebCore::RenderLayerBacking::updateForegroundLayer):
3441          (WebCore::RenderLayerBacking::updateMaskLayer):
3442          (WebCore::RenderLayerBacking::updateContentsScale):
3443          * rendering/RenderLayerBacking.h:
3444          * rendering/RenderLayerCompositor.cpp:
3445          (WebCore::RenderLayerCompositor::updateContentsScale):
3446          * rendering/RenderLayerCompositor.h:
3447  
3448 2011-01-12  Stephen White  <senorblanco@chromium.org>
3449
3450         Reviewed by James Robinson.
3451
3452         Fix DrawingBuffer issues for depth/stencil, extensions, etc.
3453         https://bugs.webkit.org/show_bug.cgi?id=52310
3454
3455         1)  GL_TEXTURE is not a valid argument to glFramebufferTexture2D()
3456         (should be GL_TEXTURE_2D).
3457         2)  Support for the multisampling extension was being checked after
3458         the DrawingBuffer constructor was called, which calls multisample()
3459         to check for the extension.
3460         3)  If depth or stencil is set, the corresponding framebuffers must
3461         be created in the DrawingBuffer constructor.
3462         4)  GL_DEPTH_STENCIL is not a valid framebuffer internal type in
3463         GLES2.  Must use GL_OES_DEPTH24_STENCIL8, and check for the
3464         OES_packed_depth_stencil extension.
3465
3466         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3467         (WebCore::DrawingBuffer::DrawingBuffer):
3468         Record the extension support in the constructor.  Create all the
3469         secondary drawing buffers (for multisampling, depth/stencil).
3470         * platform/graphics/gpu/DrawingBuffer.cpp:
3471         (WebCore::DrawingBuffer::create):
3472         Check for the extensions before calling the DrawingBuffer constructor.
3473         (WebCore::DrawingBuffer::createSecondaryBuffers):
3474         Refactor creation of the secondary buffers from DrawingBufferMac.mm to
3475         here.
3476         (WebCore::DrawingBuffer::reset):
3477         Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL.  Use
3478         DEPTH_COMPONENT16, not DEPTH_COMPONENT.
3479         Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D).
3480         * platform/graphics/gpu/DrawingBuffer.h:
3481         Refactor createSecondaryBuffers().  Add extension support arguments to
3482         constructor.  Add support for packed_depth_stencil extension.
3483         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3484         (WebCore::DrawingBuffer::DrawingBuffer):
3485         Record extension support in constructor.  Refactor out creation of
3486         secondary buffers.
3487
3488 2011-01-12  Beth Dakin  <bdakin@apple.com>
3489
3490         Reviewed by Anders Carlsson.
3491
3492         Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
3493         fixed layout through WebKit SPI
3494         -and corresponding-
3495         <rdar://problem/8844464>
3496
3497         Export symbols for ScrollView::setUseFixedLayout() and 
3498         ScrollView::setFixedLayoutSize()
3499         * WebCore.exp.in:
3500
3501 2011-01-12  Robert Hogan  <robert@webkit.org>
3502
3503         Reviewed by Kenneth Rohde Christiansen.
3504
3505         [Qt] Search input field doesn't have cancel button
3506
3507         Add a cancel button to the search field and make it customizable
3508         by the client. For now, use the close dialog button associated
3509         with the application's style as the default.
3510
3511         Unskip a bunch of search field related tests that pass now:
3512
3513         fast/forms/search-cancel-button-mouseup.html
3514         fast/forms/search-rtl.html
3515         fast/forms/search-abs-pos-cancel-button.html
3516         fast/forms/search-styled.html
3517         fast/forms/search-transformed.html
3518         fast/forms/search-zoomed.html
3519         fast/forms/search-cancel-button-style-sharing.html
3520         fast/forms/search-display-none-cancel-button.html
3521         fast/forms/search-placeholder-value-changed.html
3522         fast/repaint/search-field-cancel.html
3523         fast/forms/search-cancel-button-events.html
3524
3525         https://bugs.webkit.org/show_bug.cgi?id=42887
3526
3527         * platform/graphics/qt/ImageQt.cpp:
3528         (loadResourcePixmap):
3529         * platform/qt/RenderThemeQt.cpp:
3530         (WebCore::RenderThemeQt::isControlStyled):
3531         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3532         (WebCore::RenderThemeQt::paintSearchField):
3533         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
3534         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
3535         (WebCore::RenderThemeQt::convertToPaintingRect):
3536         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
3537         * platform/qt/RenderThemeQt.h:
3538
3539 2011-01-12  Andrey Kosyakov  <caseq@chromium.org>
3540
3541         Reviewed by Pavel Feldman.
3542
3543         Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view
3544         Only create cookiesTable is it hasn't been done yet.
3545         https://bugs.webkit.org/show_bug.cgi?id=52303
3546
3547         * inspector/front-end/ResourceCookiesView.js:
3548         (WebInspector.ResourceCookiesView.prototype.show):
3549
3550 2011-01-12  Koan-Sin Tan  <koansin.tan@gmail.com>
3551
3552         Reviewed by Martin Robinson.
3553
3554         [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6
3555         https://bugs.webkit.org/show_bug.cgi?id=50867
3556
3557         * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK))
3558         Many GTK+ related files include <libintl.h> or <glib/gi18n-lib.h>.
3559         On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes 
3560         <xlocale/_ctype.h>, which uses isacii().
3561         * platform/UUID.cpp:
3562         (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF)
3563         use the Chromium Linux UUID generation.
3564
3565 2011-01-12  Simon Fraser  <simon.fraser@apple.com>
3566
3567         Reviewed by Eric Seidel.
3568
3569         [CSS Gradients] One color stop should not paint anything for linear-gradient
3570         https://bugs.webkit.org/show_bug.cgi?id=52259
3571         
3572         Share color stop parsing code between linear and radial gradients.
3573         Consider the gradient invalid if it has less than two color stops.
3574
3575         * css/CSSParser.cpp:
3576         (WebCore::CSSParser::parseLinearGradient):
3577         (WebCore::CSSParser::parseRadialGradient):
3578         (WebCore::CSSParser::parseGradientColorStops):
3579         * css/CSSParser.h:
3580
3581 2011-01-12  Mikhail Naganov  <mnaganov@chromium.org>
3582
3583         Reviewed by Pavel Feldman.
3584
3585         Fix inconsistencies in Inspector strings found by the new check-inspector-strings script.
3586
3587         https://bugs.webkit.org/show_bug.cgi?id=52295
3588
3589         * English.lproj/localizedStrings.js:
3590         * inspector/front-end/BreakpointsSidebarPane.js:
3591         (WebInspector.EventListenerBreakpointsSidebarPane):
3592         * inspector/front-end/ProfilesPanel.js:
3593         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
3594         * inspector/front-end/Resource.js:
3595         (WebInspector.Resource.Type.toString):
3596         * inspector/front-end/ResourcesPanel.js:
3597         (WebInspector.ResourceRevisionTreeElement):
3598         * inspector/front-end/utilities.js:
3599         ():
3600
3601 2011-01-12  Yury Semikhatsky  <yurys@chromium.org>
3602
3603         Unreviewed. Fix WML compilation on Mac.
3604
3605         * wml/WMLInputElement.cpp:
3606         (WebCore::WMLInputElement::setValue):
3607         (WebCore::WMLInputElement::setValueForUser):
3608         (WebCore::WMLInputElement::initialize):
3609         (WebCore::WMLInputElement::validateInputMask):
3610         * wml/WMLSelectElement.cpp:
3611         (WebCore::WMLSelectElement::listBoxSelectItem):
3612
3613 2011-01-12  Justin Schuh  <jschuh@chromium.org>
3614
3615         Unreviewed build fix for debug strict compiles.
3616
3617         Use fprintf for debug statements instead of fwrite, which caused compile failures
3618         in debug strict mode because of failure to check the fwrite return value.
3619
3620         No behavior changed.
3621
3622         * rendering/CounterNode.cpp:
3623         (WebCore::showTreeAndMark):
3624
3625 2010-12-29  Yury Semikhatsky  <yurys@chromium.org>
3626
3627         Reviewed by Pavel Feldman.
3628
3629         inspector/timeline-network-resource.html fails when run twice
3630         https://bugs.webkit.org/show_bug.cgi?id=37394
3631
3632         Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier
3633         instead of ResourceLoader::didReceiveResponse to cover the cases when resources
3634         are loaded from memory cache.
3635
3636         Network notifications are now sent to InspectorInstrumentation which dispatches
3637         them to interested agents and InspectorController.
3638
3639         * inspector/Inspector.idl:
3640         * inspector/InspectorApplicationCacheAgent.cpp:
3641         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
3642         * inspector/InspectorController.cpp:
3643         (WebCore::InspectorController::InspectorController):
3644         (WebCore::InspectorController::didCommitLoad):
3645         (WebCore::InspectorController::willSendRequest):
3646         (WebCore::InspectorController::didReceiveResponse):
3647         (WebCore::InspectorController::didFailLoading):
3648         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
3649         * inspector/InspectorController.h:
3650         * inspector/InspectorInstrumentation.cpp:
3651         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
3652         (WebCore::InspectorInstrumentation::willSendRequestImpl):
3653         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
3654         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
3655         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
3656         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
3657         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
3658         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3659         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
3660         (WebCore::InspectorInstrumentation::scriptImportedImpl):
3661         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
3662         * inspector/InspectorInstrumentation.h:
3663         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
3664         (WebCore::InspectorInstrumentation::willSendRequest):
3665         (WebCore::InspectorInstrumentation::markResourceAsCached):
3666         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
3667         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
3668         (WebCore::InspectorInstrumentation::didReceiveContentLength):
3669         (WebCore::InspectorInstrumentation::didFinishLoading):
3670         (WebCore::InspectorInstrumentation::didFailLoading):
3671         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
3672         (WebCore::InspectorInstrumentation::scriptImported):
3673         * inspector/InspectorResourceAgent.cpp:
3674         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
3675         * inspector/InspectorResourceAgent.h:
3676         * inspector/InspectorTimelineAgent.cpp:
3677         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3678         * inspector/InspectorTimelineAgent.h:
3679         * inspector/TimelineRecordFactory.cpp:
3680         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
3681         * inspector/TimelineRecordFactory.h:
3682         * inspector/front-end/NetworkManager.js:
3683         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
3684         * inspector/front-end/TimelinePanel.js:
3685         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
3686         * loader/FrameLoader.cpp:
3687         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
3688         * loader/ResourceLoadNotifier.cpp:
3689         (WebCore::ResourceLoadNotifier::didReceiveResponse):
3690         (WebCore::ResourceLoadNotifier::didFailToLoad):
3691         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
3692         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3693         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3694         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3695         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3696         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
3697         * loader/ResourceLoader.cpp:
3698         (WebCore::ResourceLoader::didReceiveResponse):
3699         * loader/appcache/ApplicationCacheGroup.cpp:
3700         (WebCore::ApplicationCacheGroup::createResourceHandle):
3701         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3702         (WebCore::ApplicationCacheGroup::didReceiveData):
3703         (WebCore::ApplicationCacheGroup::didFinishLoading):
3704         (WebCore::ApplicationCacheGroup::didFail):
3705         * loader/appcache/ApplicationCacheGroup.h:
3706         * workers/DefaultSharedWorkerRepository.cpp:
3707         (WebCore::SharedWorkerScriptLoader::notifyFinished):
3708         * workers/Worker.cpp:
3709         (WebCore::Worker::notifyFinished):
3710         * workers/WorkerContext.cpp:
3711         (WebCore::WorkerContext::importScripts):
3712         * xml/XMLHttpRequest.cpp:
3713         (WebCore::XMLHttpRequest::didFinishLoading):
3714
3715 2011-01-12  Pavel Podivilov  <podivilov@chromium.org>
3716
3717         Reviewed by Pavel Feldman.
3718
3719         Web Inspector: do not replace all tabs with spaces when editing script source
3720         https://bugs.webkit.org/show_bug.cgi?id=52291
3721
3722         * inspector/front-end/SourceFrame.js:
3723         (WebInspector.SourceFrame.prototype.setContent):
3724         (WebInspector.SourceFrame.prototype._editLine):
3725
3726 2011-01-11  Jeremy Orlow  <jorlow@chromium.org>
3727
3728         Reviewed by Nate Chapin.
3729
3730         Enforce READ_ONLY transactions in IndexedDB
3731         https://bugs.webkit.org/show_bug.cgi?id=52229
3732
3733         Add READ_ONLY_ERR and return it whenever delete or put
3734         are called.  Note that IDBCursor's delete and update
3735         are simply aliases for delete/put, which is why no
3736         extra code is required to handle those cases.
3737
3738         Test: storage/indexeddb/transaction-read-only.html
3739
3740         * dom/ExceptionCode.cpp:
3741         * storage/IDBCursorBackendImpl.cpp:
3742         (WebCore::IDBCursorBackendImpl::deleteFunction):
3743         * storage/IDBDatabase.idl:
3744         * storage/IDBDatabaseException.h:
3745         * storage/IDBDatabaseException.idl:
3746         * storage/IDBObjectStoreBackendImpl.cpp:
3747         (WebCore::IDBObjectStoreBackendImpl::put):
3748         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
3749         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
3750
3751 2011-01-11  Philippe Normand  <pnormand@igalia.com>
3752
3753         Reviewed by Eric Seidel.
3754
3755         [GTK] minimal build breaks in RenderThemeGtk3
3756         https://bugs.webkit.org/show_bug.cgi?id=52202
3757
3758         * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around
3759         initMediaColors().
3760
3761 2011-01-11  Philippe Normand  <pnormand@igalia.com>
3762
3763         Reviewed by Eric Carlson.
3764
3765         [GStreamer] PlatformVideoWindowMac implementation
3766         https://bugs.webkit.org/show_bug.cgi?id=50770
3767
3768         This new implementation will be used on Mac OS to display the
3769         fullscreen video window with the GStreamer-based media player.
3770
3771         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
3772         (WebCore::gstGWorldSyncMessageCallback):
3773         * platform/graphics/gstreamer/PlatformVideoWindow.h:
3774         (WebCore::PlatformVideoWindow::window):
3775         * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
3776         (PlatformVideoWindow::PlatformVideoWindow):
3777         (PlatformVideoWindow::~PlatformVideoWindow):
3778         (PlatformVideoWindow::prepareForOverlay):
3779
3780 2011-01-11  Simon Fraser  <simon.fraser@apple.com>
3781
3782         Reviewed by Dan Bernstein.
3783
3784         Webkit crashes when a gradient is applied using the first-line pseudo element
3785         https://bugs.webkit.org/show_bug.cgi?id=52225
3786         
3787         When a pseudostyle references images, we fail to register/unregister
3788         the relevant RenderObjects as clients of the image in the style.
3789         For gradients, this caused a crash.
3790         
3791         This patch fixes the crash by returning a null gradient image in this
3792         situation.
3793
3794         Test: fast/gradients/gradient-on-pseudoelement-crash.html
3795
3796         * css/CSSGradientValue.cpp:
3797         (WebCore::CSSGradientValue::image):
3798
3799 2011-01-11  Andy Estes  <aestes@apple.com>
3800
3801         Reviewed by Darin Adler.
3802
3803         REGRESSION (r71562): servePendingRequests() no longer called when
3804         resources are done loading.
3805         https://bugs.webkit.org/show_bug.cgi?id=52264
3806         <rdar://problem/8767429>
3807         
3808         In r71562, servePendingRequests() is no longer called in Loader's
3809         didFinishLoading(), didFail() and didReceiveResponse() methods. Since
3810         r71562 was intended only as a refactoring, these calls should be
3811         restored. At least one WebKit-based Mac OS X application relies on this
3812         for correct behavior.
3813
3814         * loader/cache/CachedResourceLoader.cpp:
3815         (WebCore::CachedResourceLoader::loadDone): Call
3816         resourceLoadScheduler()->servePendingRequests().
3817
3818 2011-01-11  Patrick Gansterer  <paroga@webkit.org>
3819
3820         Reviewed by Eric Seidel.
3821
3822         Add Document::setContent()
3823         https://bugs.webkit.org/show_bug.cgi?id=52085
3824
3825         Add a method to Document to set the whole content at once.
3826         This removes the hack of the insert method in the xml parser
3827         and is a predecessor to feed the xml parser with raw data.
3828
3829         * dom/Document.cpp:
3830         (WebCore::Document::setContent):
3831         * dom/Document.h:
3832         * dom/XMLDocumentParser.cpp:
3833         (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED().
3834         * loader/cache/CachedFont.cpp:
3835         (WebCore::CachedFont::ensureSVGFontData): Use setContent.
3836         * xml/DOMParser.cpp:
3837         (WebCore::DOMParser::parseFromString): Ditto.
3838         * xml/XMLHttpRequest.cpp:
3839         (WebCore::XMLHttpRequest::responseXML): Ditto.
3840         * xml/XSLTProcessor.cpp:
3841         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
3842
3843 2011-01-11  Brent Fulgham  <bfulgham@webkit.org>
3844
3845         Unreviewed build fix.
3846
3847         * platform/graphics/cairo/PathCairo.cpp:
3848         (WebCore::Path::addArc): Switch to MathExtra's piFloat define,
3849         rather than M_PI which is not always available.
3850
3851 2011-01-11  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
3852
3853         Reviewed by Adam Barth.
3854
3855         Use plug-in DB for extensions to MIME type convertion
3856
3857         Plugins extension to MIME type conversion was not used in the
3858         frameLoader. This was causing some fallback to be use which as the side
3859         effect of loosing all the <OBJECT> parameters or <EMBED> attributes.
3860         This patch ensure that we try to convert the extension to MIME type
3861         using the plugin database beofre using this fallback.
3862
3863         Attribute lost with Flash plugin without mime type set
3864         https://bugs.webkit.org/show_bug.cgi?id=50657
3865
3866         Test: plugins/no-mime-with-valid-extension.html
3867
3868         * loader/FrameLoader.cpp:
3869         (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME
3870
3871 2011-01-11  James Simonsen  <simonjam@chromium.org>
3872
3873         Reviewed by Eric Seidel.
3874
3875         [Web Timing] Rename sslHandshakeStart to secureConnectionStart
3876         https://bugs.webkit.org/show_bug.cgi?id=52239
3877
3878         * page/PerformanceTiming.cpp:
3879         (WebCore::PerformanceTiming::secureConnectionStart):
3880         * page/PerformanceTiming.h:
3881         * page/PerformanceTiming.idl:
3882
3883 2011-01-11  Adam Barth  <abarth@webkit.org>
3884
3885         Reviewed by Eric Seidel.
3886
3887         Introduce the notion of a "display-isolated" URL scheme for use by
3888         Chrome-internal URLs
3889         https://bugs.webkit.org/show_bug.cgi?id=50182
3890
3891         This patch actually makes the display-isolated schemes display
3892         isolated.  The behavior should be the same as the previous iteration of
3893         this patch, but re-organized a bit because reading the access white
3894         list is expensive.
3895
3896         * page/SecurityOrigin.cpp:
3897         (WebCore::SecurityOrigin::isAccessToURLWhiteListed):
3898         (WebCore::SecurityOrigin::canDisplay):
3899         * page/SecurityOrigin.h:
3900         * platform/SchemeRegistry.cpp:
3901         * platform/SchemeRegistry.h:
3902
3903 2011-01-11  Mihai Parparita  <mihaip@chromium.org>
3904
3905         Reviewed by Darin Fisher.
3906
3907         Scroll event should be fired asynchronously
3908         https://bugs.webkit.org/show_bug.cgi?id=45631
3909
3910         Tests: fast/events/fire-scroll-event.html
3911                fast/events/fire-scroll-event-element.html
3912                fast/events/scroll-event-phase.html
3913
3914         Makes scroll events fire asynchronously to be in compliance with the
3915         CSSOM View Module and consistent with Gecko, Opera and (to some degree)
3916         IE.
3917         
3918         Implemented via the EventQueue class added by r74062 (EventQueue now
3919         has a convenience enqueueScrollEvent method).
3920
3921         * dom/EventQueue.cpp:
3922         (WebCore::EventQueue::enqueueScrollEvent):
3923         (WebCore::EventQueue::pendingEventTimerFired):
3924         * dom/EventQueue.h:
3925         * page/EventHandler.cpp:
3926         (WebCore::EventHandler::sendScrollEvent):
3927         * rendering/RenderLayer.cpp:
3928         (WebCore::RenderLayer::scrollToOffset):
3929         * rendering/RenderListBox.cpp:
3930         (WebCore::RenderListBox::valueChanged):
3931
3932 2011-01-11  Patrick Gansterer  <paroga@webkit.org>
3933
3934         Unreviewed WinCE build fix for r75523.
3935
3936         * platform/wince/DragDataWinCE.cpp: Added missing include.
3937
3938 2011-01-11  Abhishek Arya  <inferno@chromium.org>
3939
3940         Reviewed by Dimitri Glazkov.
3941
3942         RefPtr the FrameView to prevent scrollbar from getting deleted inside
3943         its scroll event.
3944         https://bugs.webkit.org/show_bug.cgi?id=52238
3945
3946         Test: scrollbars/scrollable-iframe-remove-crash.html
3947
3948         * page/DOMWindow.cpp:
3949         (WebCore::DOMWindow::scrollTo):
3950
3951 2011-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
3952
3953         Reviewed by David Hyatt.
3954
3955         Make pseudo-style resolution less hard-coded when used to select a shadow node
3956         https://bugs.webkit.org/show_bug.cgi?id=46595
3957
3958         Essentially implements the plumbing for the XBL2 pseudo attribute:
3959         http://dev.w3.org/2006/xbl2/#the-pseudo-attribute
3960
3961         Test: fast/css/unknown-pseudo-element-matching.html
3962
3963         * css/CSSGrammar.y: Changed to handle specifier_list structure with the
3964             CSSParser::updateSpecifierWithElementName helper, added logic to
3965             keep unknown pseudo-element selectors at the top of the selector chain,
3966             so that we can easily check for them and grab them, and also because
3967             they would either not match anything or act as a descendant selector
3968             (descendant into a shadow DOM subtree that is), not a specifier.
3969         * css/CSSParser.cpp:
3970         (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined
3971             the logic adding element name to selectors and added the special case
3972             to handle unknown pseudo-element selectors.
3973         * css/CSSParser.h: Added def.
3974         * css/CSSSelector.cpp:
3975         (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB.
3976         (WebCore::nameToPseudoTypeMap): Ditto.
3977         (WebCore::CSSSelector::extractPseudoType): Ditto.
3978         * css/CSSSelector.h: Added a new ShadowDescendant relation type,
3979             removed PseudoSliderThumb def.
3980         (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method.
3981         * css/CSSSelectorList.cpp:
3982         (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor
3983             to check for an unknown pseudo-element in the list.
3984         (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added.
3985         * css/CSSSelectorList.h: Added a def.
3986         * css/CSSStyleSelector.cpp:
3987         (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash.
3988         (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements.
3989         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling
3990             of ShadowDescendant relation.
3991         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling
3992             of unknown pseudo-element selectors.
3993         (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash.
3994         * css/html.css:
3995         (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded
3996             display:block.
3997         * dom/Element.h:
3998         (WebCore::Element::shadowPseudoId): Added new virtual method to allow
3999             elements to provide the value of pseudo-element selector they would match.
4000         * dom/Node.cpp:
4001         (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors,
4002             so that we can throw a SYNTAX_ERR if found.
4003         (WebCore::Node::querySelectorAll): Ditto.
4004         * html/shadow/SliderThumbElement.h:
4005         (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb";
4006         * rendering/RenderSlider.cpp:
4007         (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic.
4008         * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB.
4009
4010 2011-01-11  Dean Jackson  <dino@apple.com>
4011
4012         Reviewed by Simon Fraser.
4013
4014         https://bugs.webkit.org/show_bug.cgi?id=52233
4015
4016         WebKitCSSMatrix constructor should accept 'none'
4017         as a valid string parameter.
4018
4019         * css/WebKitCSSMatrix.cpp:
4020         (WebCore::WebKitCSSMatrix::setMatrixValue):
4021
4022 2011-01-11  James Robinson  <jamesr@chromium.org>
4023
4024         Reviewed by Dimitri Glazkov.
4025
4026         Set all RenderBlocks as replaced when an inline display type is specified
4027         https://bugs.webkit.org/show_bug.cgi?id=50858
4028
4029         When a RenderBlock is created for an element with a specified display:inline style,
4030         it should always be treated as inline-block.  This situations often comes up for form
4031         controls.  Previously, RenderBlock::styleWillChange set the replaced flag for display
4032         values of inline-block, inline-table, and inline-table and a number of subclasses of
4033         RenderBlock set the replaced flag in styleDidChange for a display:inline.  However
4034         sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
4035         This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.
4036
4037         Code cleanup only, no change in behavior so no new tests.
4038
4039         * rendering/RenderBlock.cpp:
4040         (WebCore::RenderBlock::styleWillChange):
4041         * rendering/RenderButton.cpp:
4042         (WebCore::RenderButton::styleDidChange):
4043         * rendering/RenderFieldset.cpp:
4044         * rendering/RenderFieldset.h:
4045         * rendering/RenderFileUploadControl.cpp:
4046         (WebCore::RenderFileUploadControl::styleDidChange):
4047         * rendering/RenderListBox.cpp:
4048         * rendering/RenderListBox.h:
4049         * rendering/RenderMenuList.cpp:
4050         (WebCore::RenderMenuList::styleDidChange):
4051         * rendering/RenderSlider.cpp:
4052         (WebCore::RenderSlider::styleDidChange):
4053         * rendering/RenderTextControl.cpp:
4054         (WebCore::RenderTextControl::styleDidChange):
4055
4056 2011-01-11  Dimitri Glazkov  <dglazkov@chromium.org>
4057
4058         Reviewed by Eric Seidel.
4059
4060         REGRESSION(r71934) Can't type in search edit field on skin-one.com
4061         https://bugs.webkit.org/show_bug.cgi?id=52195
4062
4063         Restored the original behavior, where the selectstart event is not
4064         dispatched when selection changes inside of the shadow DOM.
4065
4066         * dom/Node.cpp:
4067         (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining
4068             logic into a helper function, also added a check to keep selectstart
4069                 events inside of the shadow DOM.
4070         (WebCore::Node::dispatchGenericEvent): Changed to use the helper function.
4071
4072 2011-01-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
4073
4074         Reviewed by Eric Seidel.
4075
4076         [Qt] Provide plugin coordinates to windowless plugins on Symbian.
4077         https://bugs.webkit.org/show_bug.cgi?id=52213
4078
4079         * plugins/symbian/PluginViewSymbian.cpp:
4080         (WebCore::PluginView::setNPWindowIfNeeded):
4081
4082 2011-01-10  Zhenyao Mo  <zmo@google.com>
4083
4084         Reviewed by Kenneth Russell.
4085
4086         Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
4087         https://bugs.webkit.org/show_bug.cgi?id=52068
4088
4089         * html/canvas/WebGLRenderingContext.cpp:
4090         (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes.
4091         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
4092         (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error.
4093         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
4094         (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes.
4095         * platform/graphics/GraphicsContext3D.cpp:
4096         (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment.
4097         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type.
4098         (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added.
4099         * platform/graphics/GraphicsContext3D.h:
4100
4101 2011-01-10  Enrica Casucci  <enrica@apple.com>
4102
4103         Reviewed by Alexey Proskuryakov.
4104
4105         Paste and drag and drop use different code paths to interact with the pasteboard.
4106         https://bugs.webkit.org/show_bug.cgi?id=52093
4107         The change consists in a refactoring of the code to have only one class that
4108         deals with the pasteboard on Mac.
4109
4110         No new tests. A test is already available for this
4111         (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results.
4112
4113         * WebCore.exp.in:
4114         * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality
4115         that is in NSURLExtras.
4116         (WebCore::EmptyEditorClient::canonicalizeURL):
4117         (WebCore::EmptyEditorClient::canonicalizeURLString):
4118         * page/DragController.cpp:
4119         The following methods have been changed to pass a pointer to the Frame object
4120         to the DragData class.
4121         (WebCore::documentFragmentFromDragData):
4122         (WebCore::DragController::performDrag):
4123         (WebCore::DragController::dispatchTextInputEventFor):
4124         (WebCore::DragController::concludeEditDrag):
4125         * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality
4126         that is in NSURLExtras.
4127         The following files have been modified to pass the Frame object to the DragData method calls.
4128         * page/chromium/DragControllerChromium.cpp:
4129         (WebCore::DragController::dragOperation):
4130         * page/gtk/DragControllerGtk.cpp:
4131         (WebCore::DragController::dragOperation):
4132         * page/mac/DragControllerMac.mm:
4133         (WebCore::DragController::dragOperation):
4134         * page/qt/DragControllerQt.cpp:
4135         (WebCore::DragController::dragOperation):
4136         * page/win/DragControllerWin.cpp:
4137         (WebCore::DragController::dragOperation):
4138         * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class.
4139         * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard.
4140         The following files were all modified to match the new parameters of the methods listed.
4141         * platform/android/DragDataAndroid.cpp:
4142         (WebCore::DragData::asPlainText):
4143         (WebCore::DragData::containsURL):
4144         (WebCore::DragData::asURL):
4145         (WebCore::DragData::asFragment):
4146         * platform/chromium/DragDataChromium.cpp:
4147         (WebCore::DragData::containsURL):
4148         (WebCore::DragData::asURL):
4149         (WebCore::DragData::asPlainText):
4150         (WebCore::DragData::containsCompatibleContent):
4151         (WebCore::DragData::asFragment):
4152         * platform/gtk/DragDataGtk.cpp:
4153         (WebCore::DragData::asPlainText):
4154         (WebCore::Drag