Merge "Replace ALOG with ALOG_VA for ConsoleMessage" into tizen_2.1
[framework/web/webkit-efl.git] / Source / WebCore / ChangeLog-2011-02-16
1 2011-02-15  Gavin Barraclough  <barraclough@apple.com>
2
3         Reviewed by Geoff Garen.
4
5         Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
6
7         Currently JSObject is both directly instantiated for regular JS objects, and
8         derived to implement subtypes. A consequence of this is that we need to ensure
9         that sufficient space from the cell is left unused and available for any data
10         members that will be introduced by subclasses of JSObject. By restructuring
11         the internal storage array out of JSObject we can increase the size in the
12         internal storage for regular objects.
13
14         Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as
15         much additional capacity as is currently available to allow for data members
16         in subclasses. JSFinalObject utilizes all available space for internal storage,
17         and only allows construction through JSFinalObject::create().
18
19         * bindings/js/JSDOMWindowShell.h:
20             Update JSObject -> JSNonFinalObject.
21
22 2011-02-16  Carol Szabo  <carol.szabo@nokia.com>
23
24         Reviewed by David Hyatt.
25
26         REGRESSION: Use after free in WebCore::RenderCounter::destroyCounterNode
27         https://bugs.webkit.org/show_bug.cgi?id=54478
28
29         Test: fast/css/counters/render-tree-reorg-crash.html
30
31         * rendering/RenderCounter.cpp:
32         (WebCore::findPlaceForCounter):
33         Fixed typo. The code was still walking sometimes the renderer tree
34         instead of the element tree as intended.
35
36 2011-02-16  Hans Wennborg  <hans@chromium.org>
37
38         Reviewed by Jeremy Orlow.
39
40         IndexedDB: Inject auto increment keys via key path on insertion
41         https://bugs.webkit.org/show_bug.cgi?id=54457
42
43         Inject auto increment keys via key path for object stores using key
44         path and auto increment.
45
46         * bindings/v8/IDBBindingUtilities.cpp:
47         (WebCore::LocalContext::getNthValueOnKeyPath):
48         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
49         (WebCore::injectIDBKeyIntoSerializedValue):
50         * bindings/v8/IDBBindingUtilities.h:
51         * platform/chromium/PlatformBridge.h:
52         * storage/IDBKeyPathBackendImpl.cpp:
53         (IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
54         * storage/IDBKeyPathBackendImpl.h:
55         * storage/IDBObjectStoreBackendImpl.cpp:
56         (WebCore::injectKeyIntoKeyPath):
57         (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
58         (WebCore::IDBObjectStoreBackendImpl::putInternal):
59         * storage/IDBObjectStoreBackendImpl.h:
60         * storage/chromium/IDBKeyPathBackendImpl.cpp:
61         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
62
63 2011-02-16  Sergio Villar Senin  <svillar@igalia.com>
64
65         Reviewed by Martin Robinson.
66
67         [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader
68         https://bugs.webkit.org/show_bug.cgi?id=54537
69
70         Headers removed from the SoupMessage should be also removed from
71         the ResourceRequest when updating the latter from the former.
72
73         * platform/network/soup/ResourceRequestSoup.cpp:
74         (WebCore::ResourceRequest::updateFromSoupMessage):
75
76 2011-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
77
78         Reviewed by Yury Semikhatsky.
79
80         Web Inspector: split all the functions of Inspector backend API by domain.
81         https://bugs.webkit.org/show_bug.cgi?id=54558
82
83         We have a number of functions from different domains in single instance of InspectorBackend.
84         It'd be better to split the functions by their domains.
85         As example 'evaluate' will be moved from InspectorBackend to RuntimeAgent container.
86
87         * inspector/CodeGeneratorInspector.pm:
88         * inspector/front-end/AuditRules.js:
89         (WebInspector.AuditRules.evaluateInTargetWindow):
90         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
91         * inspector/front-end/AuditsPanel.js:
92         (WebInspector.AuditsPanel.prototype._reloadResources):
93         * inspector/front-end/BreakpointManager.js:
94         (WebInspector.BreakpointManager.prototype._projectChanged):
95         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
96         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
97         (WebInspector.DOMBreakpoint.prototype._enable):
98         (WebInspector.DOMBreakpoint.prototype._disable):
99         (WebInspector.EventListenerBreakpoint.prototype._enable):
100         (WebInspector.EventListenerBreakpoint.prototype._disable):
101         (WebInspector.XHRBreakpoint.prototype._enable):
102         (WebInspector.XHRBreakpoint.prototype._disable):
103         * inspector/front-end/CSSStyleModel.js:
104         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
105         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
106         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
107         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
108         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
109         (WebInspector.CSSStyleModel.prototype.addRule.callback):
110         (WebInspector.CSSStyleModel.prototype.addRule):
111         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
112         (WebInspector.CSSStyleModel.prototype._onRevert):
113         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
114         (WebInspector.CSSProperty.prototype.setText):
115         (WebInspector.CSSProperty.prototype.setDisabled):
116         (WebInspector.CSSStyleSheet.createForId):
117         (WebInspector.CSSStyleSheet.prototype.setText):
118         * inspector/front-end/ConsoleView.js:
119         (WebInspector.ConsoleView.prototype.requestClearMessages):
120         (WebInspector.ConsoleView.prototype.completions):
121         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
122         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
123         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
124         * inspector/front-end/CookieItemsView.js:
125         (WebInspector.CookieItemsView.prototype._deleteCookie):
126         * inspector/front-end/DOMAgent.js:
127         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
128         (WebInspector.DOMAgent.prototype.setAttributeAsync):
129         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
130         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
131         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
132         (WebInspector.Cookies.getCookiesAsync):
133         (WebInspector.EventListeners.getEventListenersForNodeAsync):
134         * inspector/front-end/DOMStorage.js:
135         (WebInspector.DOMStorage.prototype.getEntries):
136         (WebInspector.DOMStorage.prototype.setItem):
137         (WebInspector.DOMStorage.prototype.removeItem):
138         * inspector/front-end/Database.js:
139         (WebInspector.Database.prototype.getTableNames):
140         (WebInspector.Database.prototype.executeSql):
141         * inspector/front-end/DebuggerModel.js:
142         (WebInspector.DebuggerModel.prototype.enableDebugger):
143         (WebInspector.DebuggerModel.prototype.disableDebugger):
144         (WebInspector.DebuggerModel.prototype.continueToLocation):
145         (WebInspector.DebuggerModel.prototype.setBreakpoint):
146         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
147         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
148         (WebInspector.DebuggerModel.prototype.editScriptSource):
149         * inspector/front-end/ElementsPanel.js:
150         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
151         (WebInspector.ElementsPanel):
152         (WebInspector.ElementsPanel.prototype.setDocument):
153         (WebInspector.ElementsPanel.prototype.searchCanceled):
154         (WebInspector.ElementsPanel.prototype.performSearch):
155         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
156         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
157         * inspector/front-end/ElementsTreeOutline.js:
158         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
159         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
160         ():
161         * inspector/front-end/ExtensionPanel.js:
162         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
163         * inspector/front-end/ExtensionServer.js:
164         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
165         (WebInspector.ExtensionServer.prototype._onReload):
166         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
167         * inspector/front-end/HeapSnapshotView.js:
168         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
169         * inspector/front-end/NetworkManager.js:
170         (WebInspector.NetworkManager):
171         (WebInspector.NetworkManager.prototype.reset):
172         (WebInspector.NetworkManager.prototype.requestContent):
173         * inspector/front-end/NetworkPanel.js:
174         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
175         * inspector/front-end/ProfileView.js:
176         (WebInspector.CPUProfileView):
177         (WebInspector.CPUProfileType.prototype.buttonClicked):
178         * inspector/front-end/ProfilesPanel.js:
179         (WebInspector.ProfilesPanel.prototype._clearProfiles):
180         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
181         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
182         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
183         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
184         * inspector/front-end/PropertiesSidebarPane.js:
185         (WebInspector.PropertiesSidebarPane.prototype.update):
186         * inspector/front-end/RemoteObject.js:
187         (WebInspector.RemoteObject.resolveNode):
188         (WebInspector.RemoteObject.prototype.getProperties):
189         (WebInspector.RemoteObject.prototype.setPropertyValue):
190         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
191         * inspector/front-end/ResourcesPanel.js:
192         (WebInspector.FrameTreeElement.prototype.onselect):
193         (WebInspector.FrameTreeElement.prototype.set hovered):
194         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
195         * inspector/front-end/Script.js:
196         (WebInspector.Script.prototype.requestSource):
197         * inspector/front-end/ScriptsPanel.js:
198         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
199         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
200         (WebInspector.ScriptsPanel.prototype._togglePause):
201         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
202         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
203         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
204         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
205         * inspector/front-end/SourceFrame.js:
206         (WebInspector.SourceFrame.prototype._hidePopup):
207         * inspector/front-end/TestController.js:
208         (WebInspector.TestController.prototype.notifyDone):
209         * inspector/front-end/TimelinePanel.js:
210         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
211         * inspector/front-end/WatchExpressionsSidebarPane.js:
212         (WebInspector.WatchExpressionsSection.prototype.update):
213         * inspector/front-end/WorkersSidebarPane.js:
214         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
215         * inspector/front-end/inspector.js:
216         (WebInspector.highlightDOMNode):
217         (WebInspector.doLoadedDone):
218         (WebInspector.openResource):
219         (WebInspector.documentKeyDown):
220
221 2011-02-16  Mario Sanchez Prada  <msanchez@igalia.com>
222
223         Reviewed by Martin Robinson.
224
225         [GTK] events missing when a document is (re)loaded
226         https://bugs.webkit.org/show_bug.cgi?id=25831
227
228         Make sure webArea returns a proper name and that a signal
229         'state-change::defunct' is emitted when detaching the wrapper.
230
231         Test: platform/gtk/accessibility/document-reload-events.html
232
233         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
234         (webkit_accessible_get_name): Returns the current document's title
235         as fallback mechanism for webArea objects.
236         (webkit_accessible_detach): Emit 'state-change::defunct' function
237         as soon as the wrapper is detached from the related core object.
238
239 2011-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>
240
241         Reviewed by Dirk Schulze.
242
243         Pixel tests differences on 10.6.6 32bit vs. 64bit
244         https://bugs.webkit.org/show_bug.cgi?id=54474
245
246         When generating a SVG pixel test baseline with a vanilla 10.6.6 installation on a 32bit machine (Core Duo MBP)
247         and comparing the run with a software-identical 64bit machine (Core 2 Duo MBP), there are about 250 differences.
248
249         These fall in two categories:
250         a) 1px differences in text AA, or when drawing circles (all _below_ a tolerance of 0.01). Only visible in the subtracted difference image.
251            The reason is probably CGFloat being typedefed to double on 64bit machines, and float on 32bit machines.
252            AffineTransform stores doubles, so on 32bit machines we loose precision from AffineTransform -> CGAffineTransform.
253
254         b) Failures >0.1% (text origin/scale is slightly different, user-visible).
255            Caused by several sources of numerical instabilities within the SVG rendering code.
256
257            -> SVGPreserveAspectRatio::getCTM() computes an AffineTransform using doubles as input parameters, but floats are passed (like everywhere else in SVG).
258               This method is used to compute the viewBox AffineTransform, that affects the rendering of every content in the document. RenderSVGRoot concats
259               this transformation matrix to the GraphicsContext CTM, resulting in a source of numerical imprecision.
260
261            -> SVGInlineTextBox::paintTextWithShadows() calculates a scaling factor for text, to scale up the specified font size, to the actual on-screen size.
262               SVGInlineTextBox uses the scaled Font object, to draw in an unscaled context, that gets scaled up again afterwards.
263               context->scale(1 / scalingFactor); scaledFont.drawText(); context->scale(scalingFactor);
264
265               To remove the scale from the current GraphicsContext CTM, "context->scale(FloatSize(1 / scalingFactor, ...)" is used. As AffineTransform stores
266               doubles internally, it's likely that "context->scale(FloatSize(1 / ctm.a(), .." doesn't give you a matrix with a=1, but something close to 1.
267               Using "context->concatCTM(AffineTransform().scale(1 / ctm.a(), ..." could be used as workaround, to preserve double precision.
268               Fixing that brings us down to just a few pixel tests that differ between 32 & 64bit. There is still numerical imprecision, as floating-point
269               number representations aren't always precise. Unfortunately CoreGraphics doesn't provide a public way to just set a CTM, it only allows to concat them.
270               Fortunately CGContextSetCTM() is available, as private method, that allows me to switch the context CTM to any arbitary CGAffineTransform.
271
272               -> Add GraphicsContext::setCTM(const AffineTransform&) and implement it for all platforms (each explicitely exposes a 'setCTM' concept, except CG)
273                  Use CGContextSetCTM() for CG, which appears to be present since at least 10.4, Cairo is using it for the same purpose since some years!
274
275               -> Instead of scaling the GraphicsContext before drawing text, grab the current CTM using context->getCTM(), scale it by '1 / scalingFactor'
276                  normalize the transform (look for values close to 0/1 using float precision, and round!), and assign it using context->setCTM(normalizedTransform).
277                  After drawing, just switch back to the preserved original CTM, both operations need GraphicsContext::setCTM.
278                  This fixes all pixel test differences between 32/64 bit machines that fall into category b).
279                  The use of GraphicsContext::setCTM() allows to switch between arbitary context transformations _without_ inducing accumulated rounding imprecision.
280
281         These combined patches fix the pixel test baseline changes.
282
283         Updated existing Snow Leopard pixel test baseline with a 32bit machine, passes here with tolerance 0.
284         The 64bit machine passes the baseline with tolerance 0.01.
285
286         * platform/graphics/GraphicsContext.h: Add setCTM(const AffineTransform&) method.
287         * platform/graphics/cairo/GraphicsContextCairo.cpp:
288         (WebCore::GraphicsContext::setCTM): Implement setCTM.
289         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
290         (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
291         * platform/graphics/cg/GraphicsContextCG.cpp:
292         (WebCore::GraphicsContext::setCTM): Ditto.
293         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
294         (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
295         * platform/graphics/chromium/GLES2Canvas.cpp:
296         (WebCore::GLES2Canvas::setCTM): Ditto.
297         * platform/graphics/chromium/GLES2Canvas.h:
298         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
299         (WebCore::GraphicsContext::setCTM): Ditto.
300         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
301         (WebCore::GraphicsContext::setCTM): Ditto.
302         * platform/graphics/qt/GraphicsContextQt.cpp:
303         (WebCore::GraphicsContext::setCTM): Ditto.
304         * platform/graphics/skia/GraphicsContextSkia.cpp:
305         (WebCore::GraphicsContext::setCTM): Ditto.
306         * platform/graphics/win/GraphicsContextWin.cpp:
307         (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
308         * platform/graphics/wince/GraphicsContextWinCE.cpp:
309         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
310         (WebCore::GraphicsContextPlatformPrivate::setCTM): Ditto.
311         (WebCore::GraphicsContext::setCTM):
312         * platform/graphics/wx/GraphicsContextWx.cpp:
313         (WebCore::GraphicsContext::setCTM): Ditto.
314         * rendering/svg/SVGInlineTextBox.cpp: Use setCTM() to switch to a scale-free AffineTransform, and also to switch back to the original CTM after rendering text.
315         (WebCore::normalizeTransform):
316         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
317         (WebCore::SVGInlineTextBox::paintTextWithShadows):
318         * svg/SVGPreserveAspectRatio.cpp: s/double/float/.
319         (WebCore::SVGPreserveAspectRatio::getCTM):
320         * svg/SVGPreserveAspectRatio.h:
321         * svg/SVGSVGElement.cpp: Simplify viewport() code, avoid using doubles.
322         (WebCore::SVGSVGElement::viewport):
323
324 2011-02-16  Andreas Kling  <kling@webkit.org>
325
326         Reviewed by Dirk Schulze.
327
328         SVGAnimateElement incorrectly uses Color::nameForRenderTreeAsText()
329         https://bugs.webkit.org/show_bug.cgi?id=54547
330
331         * svg/SVGAnimateElement.cpp:
332         (WebCore::SVGAnimateElement::applyResultsToTarget):
333
334 2011-02-14  Mikhail Naganov  <mnaganov@chromium.org>
335
336         Reviewed by Pavel Feldman.
337
338         Web Inspector: [Chromium] Landing detailed heap snapshots, part 3.
339         https://bugs.webkit.org/show_bug.cgi?id=54385
340
341         Provide node classes for data grid views:
342          - summary -- list of objects by constuctor;
343          - diff -- summaries btw two snapshots;
344          - explorer -- explore heap graph;
345          - dominators tree;
346
347         * WebCore.gypi:
348         * WebCore.vcproj/WebCore.vcproj:
349         * inspector/front-end/DetailedHeapshotGridNodes.js: Added.
350         * inspector/front-end/HeapSnapshot.js:
351         (WebInspector.HeapSnapshotFilteredOrderedIterator):
352         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.incInstancesCount):
353         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get instancesCount):
354         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
355         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.resetInstancesCount):
356         (WebInspector.HeapSnapshotEdgesProvider):
357         (WebInspector.HeapSnapshotNodesProvider):
358         * inspector/front-end/PleaseWaitMessage.js:
359         (WebInspector.PleaseWaitMessage.prototype.get instance):
360         * inspector/front-end/WebKit.qrc:
361         * inspector/front-end/inspector.html:
362
363 2011-02-16  Sheriff Bot  <webkit.review.bot@gmail.com>
364
365         Unreviewed, rolling out r78655.
366         http://trac.webkit.org/changeset/78655
367         https://bugs.webkit.org/show_bug.cgi?id=54543
368
369         Causes too many test failures in chromium (Requested by
370         mnaganov on #webkit).
371
372         * bindings/js/JSEventListener.cpp:
373         (WebCore::JSEventListener::handleEvent):
374         * bindings/js/JSEventTarget.cpp:
375         (WebCore::toJS):
376         * bindings/v8/V8AbstractEventListener.cpp:
377         (WebCore::V8AbstractEventListener::invokeEventHandler):
378         * dom/EventTarget.cpp:
379         * dom/EventTarget.h:
380         * storage/IDBRequest.cpp:
381         * storage/IDBRequest.h:
382
383 2011-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
384
385         Reviewed by Yury Semikhatsky.
386
387         Web Inspector: move Database and DOMStorage related things from InspectorAgent to the corresponding agents.
388
389         https://bugs.webkit.org/show_bug.cgi?id=54455
390
391         Some set of instrumentation calls should work even if we have no InspectorFrontend instance and corresponding agents.
392         At the moment we are using InspectorAgent instance for such calls.
393
394         * inspector/InspectorAgent.cpp:
395         (WebCore::InspectorAgent::InspectorAgent):
396         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
397         (WebCore::InspectorAgent::pushDataCollectedOffline):
398         (WebCore::InspectorAgent::didCommitLoad):
399         * inspector/InspectorAgent.h:
400         (WebCore::InspectorOfflineResourcesBase::~InspectorOfflineResourcesBase):
401         (WebCore::InspectorOfflineResourcesBase::InspectorOfflineResourcesBase):
402         (WebCore::InspectorAgent::databaseAgentResources):
403         (WebCore::InspectorAgent::domStorageAgentResources):
404         * inspector/InspectorDOMStorageAgent.cpp:
405         (WebCore::InspectorDOMStorageAgent::Resources::clear):
406         (WebCore::InspectorDOMStorageAgent::Resources::pushDataCollectedOffline):
407         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
408         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
409         (WebCore::InspectorDOMStorageAgent::createOfflineStorage):
410         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
411         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
412         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
413         * inspector/InspectorDOMStorageAgent.h:
414         (WebCore::InspectorDOMStorageAgent::create):
415         * inspector/InspectorDatabaseAgent.cpp:
416         (WebCore::InspectorDatabaseAgent::Resources::clear):
417         (WebCore::InspectorDatabaseAgent::Resources::pushDataCollectedOffline):
418         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
419         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
420         (WebCore::InspectorDatabaseAgent::createOfflineStorage):
421         (WebCore::InspectorDatabaseAgent::databaseForId):
422         (WebCore::InspectorDatabaseAgent::selectDatabase):
423         * inspector/InspectorDatabaseAgent.h:
424         (WebCore::InspectorDatabaseAgent::create):
425         * inspector/InspectorInstrumentation.cpp:
426         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
427         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
428
429 2011-02-15  John Sullivan  <sullivan@apple.com>
430
431         Reviewed by Antti Koivisto.
432
433         Dan Bernstein came up with this fix while we debugged it. I just typed.
434
435         https://bugs.webkit.org/show_bug.cgi?id=54532
436         On platforms without platformWidgets, going Back to a scrolled page 
437         draws at the top-left before drawing at the restored scroll position
438         
439         <rdar://problem/8998838>
440         
441         * page/FrameView.cpp:
442         (WebCore::FrameView::performPostLayoutTasks):
443         Don't send the didFirstLayout and didFirstVisuallyNonEmptyLayout callbacks
444         for nested layouts. Doing so was causing ScrollView::setScrollPosition()
445         to short-circuit.
446
447 2011-02-15  Csaba Osztrogonác  <ossy@webkit.org>
448
449         Unreviewed.
450
451         [Qt][V8] Buildfix. Add missing USE(JSC) guard.
452
453         * plugins/qt/PluginViewQt.cpp:
454
455 2011-02-15  Ami Fischman  <fischman@chromium.org>
456
457         Reviewed by David Levin.
458
459         Remove the artificial -32px shift for media controls in mediaDocuments
460         so that they overlap the canvas as they do in non-mediaDocuments.
461         This also fixes test_shell failing to update the media slider (see
462         linked crbug below).
463
464         https://bugs.webkit.org/show_bug.cgi?id=27798
465         http://crbug.com/72623
466
467         Test: media/video-controls-in-media-document.html
468         Added a render test that asserts that the controls show up in the
469         expected spot (0,208) instead of below the canvas (0,240).
470
471         * css/mediaControlsChromium.css:
472
473 2011-02-15  Ryosuke Niwa  <rniwa@webkit.org>
474
475         Reviewed by Darin Adler.
476
477         Extract a function to process ancestor and their sibling nodes from processContents
478         https://bugs.webkit.org/show_bug.cgi?id=54425
479
480         Extracted processAncestorsAndTheirSiblings.
481
482         * dom/Range.cpp:
483         (WebCore::Range::processContents): Calls processContents.
484         (WebCore::Range::processAncestorsAndTheirSiblings): Extracted from processContents.
485         * dom/Range.h:
486
487 2011-02-15  Kent Tamura  <tkent@chromium.org>
488
489         Reviewed by Darin Fisher.
490
491         [Chromium] Rendering error of spin buttons on layers
492         https://bugs.webkit.org/show_bug.cgi?id=54427
493
494         Test: fast/forms/input-appearance-spinbutton-layer.html
495
496         * rendering/RenderThemeChromiumWin.cpp:
497           Add checks for multiple ThemePainter instances.
498         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
499           Avoid to create multiple ThemePainter instances.
500
501 2011-02-15  Chris Rogers  <crogers@google.com>
502
503         Reviewed by Kenneth Russell.
504
505         Fix race condition in JavaScriptAudioNode
506         https://bugs.webkit.org/show_bug.cgi?id=54518
507
508         No new tests since audio API is not yet implemented.
509
510         * webaudio/JavaScriptAudioNode.cpp:
511         (WebCore::JavaScriptAudioNode::process):
512
513 2011-02-10  Jeremy Orlow  <jorlow@chromium.org>
514
515         Reviewed by Nate Chapin.
516
517         Throwing in an IndexedDB error or success event should lead to the transaction aborting
518         https://bugs.webkit.org/show_bug.cgi?id=54249
519
520         When an exception is thrown but not handled  within an IDBRequests success/error event,
521         we should abort the transaction.
522
523         Test: storage/indexeddb/exception-in-event-aborts.html
524
525         * bindings/js/JSEventListener.cpp:
526         (WebCore::JSEventListener::handleEvent):
527         * bindings/js/JSEventTarget.cpp:
528         (WebCore::toJS):
529         * bindings/v8/V8AbstractEventListener.cpp:
530         (WebCore::V8AbstractEventListener::invokeEventHandler):
531         * dom/EventTarget.cpp:
532         (WebCore::EventTarget::uncaughtExceptionInEventHandler):
533         * dom/EventTarget.h:
534         * storage/IDBRequest.cpp:
535         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
536         * storage/IDBRequest.h:
537
538 2011-02-15  Ian Henderson  <ianh@apple.com>
539
540         Reviewed by Darin Adler.
541
542         To determine image properties, CG allocates memory which isn't included in CachedImage's decoded size
543         https://bugs.webkit.org/show_bug.cgi?id=53281
544
545         When determining properties of an image (such as its size), CG ends up
546         decoding part of the image.  This patch adds accounting for this extra
547         decoded size so a cache prune can clean up the allocations.
548
549         * platform/graphics/BitmapImage.cpp:
550         (WebCore::BitmapImage::BitmapImage):
551         (WebCore::BitmapImage::destroyMetadataAndNotify):
552         Clearing the source destroys the extra decoded data.  Report this
553         change in decoded size to the image observer.
554         (WebCore::BitmapImage::cacheFrame):
555         The first decoded frame subsumes the data decoded when determining
556         image properties, so we subtract it out here.
557         (WebCore::BitmapImage::didDecodeProperties):
558         Reports the extra decoded size to the image's observer.
559         (WebCore::BitmapImage::size):
560         (WebCore::BitmapImage::currentFrameSize):
561         (WebCore::BitmapImage::getHotSpot):
562         (WebCore::BitmapImage::frameCount):
563         (WebCore::BitmapImage::isSizeAvailable):
564         (WebCore::BitmapImage::repetitionCount):
565         * platform/graphics/BitmapImage.h:
566         * platform/graphics/ImageSource.cpp:
567         (WebCore::ImageSource::bytesDecodedToDetermineProperties):
568         The default value is 0 to match the current behavior on other
569         platforms.
570         * platform/graphics/ImageSource.h:
571         * platform/graphics/cg/ImageSourceCG.cpp:
572         (WebCore::ImageSource::bytesDecodedToDetermineProperties):
573         Add a constant value for bytesDecodedToDetermineProperties(), measured
574         by tracing malloc/calloc calls while asking an image source for its
575         properties.
576
577 2011-02-15  James Robinson  <jamesr@chromium.org>
578
579         Reviewed by Alexey Proskuryakov.
580
581         requestAnimationFrame callbacks should not fire within a modal dialog
582         https://bugs.webkit.org/show_bug.cgi?id=53188
583
584         requestAnimationFrame callbacks shouldn't fire while a modal dialog is up (like a window.alert()).
585         This matches Firefox and other async APIs.  This patch moves the callback servicing into its own
586         controller class which receives notifications on suspend/resume.
587
588         Test: fast/animation/request-animation-frame-during-modal.html
589
590         * WebCore.gypi:
591         * bindings/js/ScriptDebugServer.cpp:
592         (WebCore::ScriptDebugServer::setJavaScriptPaused):
593         * dom/Document.cpp:
594         (WebCore::Document::Document):
595         (WebCore::Document::suspendScriptedAnimationControllerCallbacks):
596         (WebCore::Document::resumeScriptedAnimationControllerCallbacks):
597         (WebCore::Document::webkitRequestAnimationFrame):
598         (WebCore::Document::webkitCancelRequestAnimationFrame):
599         (WebCore::Document::serviceScriptedAnimations):
600         * dom/Document.h:
601         * dom/ScriptExecutionContext.h:
602         (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
603         (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
604         * dom/ScriptedAnimationController.cpp: Added.
605         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
606         (WebCore::ScriptedAnimationController::suspend):
607         (WebCore::ScriptedAnimationController::resume):
608         (WebCore::ScriptedAnimationController::registerCallback):
609         (WebCore::ScriptedAnimationController::cancelCallback):
610         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
611         * dom/ScriptedAnimationController.h: Added.
612         (WebCore::ScriptedAnimationController::create):
613         * history/CachedFrame.cpp:
614         (WebCore::CachedFrameBase::restore):
615         (WebCore::CachedFrame::CachedFrame):
616         * page/PageGroupLoadDeferrer.cpp:
617         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
618         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
619
620 2011-02-14  Jeremy Orlow  <jorlow@chromium.org>
621
622         Reviewed by Darin Fisher.
623
624         Add initial support for per-origin quotas to IndexedDB
625         https://bugs.webkit.org/show_bug.cgi?id=54421
626
627         Add support for non-persistent per-origin quotas. If one is
628         specified, it overrides the default.
629
630         No tests as this is only exposed via the Chromium webkit API.
631
632         * storage/IDBFactoryBackendImpl.cpp:
633         (WebCore::IDBFactoryBackendImpl::open):
634         (WebCore::IDBFactoryBackendImpl::setQuota):
635         * storage/IDBFactoryBackendImpl.h:
636         * storage/IDBFactoryBackendInterface.h:
637
638 2011-02-15  Adam Barth  <abarth@webkit.org>
639
640         Reviewed by Darin Adler.
641
642         XSLT with output method HTML and images crashes in debug mode
643         https://bugs.webkit.org/show_bug.cgi?id=54462
644
645         http://trac.webkit.org/changeset/75577 created Document::setContent but
646         didn't notice that the code paths combined into Document::setContent
647         were subtly different.  In particular, some of the code paths called
648         parser->finish() whereas other did not.
649
650         The difference is that an explicit call to parser->finish() is required
651         in the case where there is no frame because explicitClose doesn't call
652         endIfNotLoadingMainResource if there is no frame.  This patch moves
653         that logic inside explicitClose, which is more natural.
654
655         This patch also removes removeAllChildren, which has not effect in this
656         situation and should never have been added in the first place.
657
658         Test: fast/parser/xslt-with-html.xml
659
660         * dom/Document.cpp:
661         (WebCore::Document::setContent):
662         (WebCore::Document::explicitClose):
663
664 2011-02-15  Oliver Hunt  <oliver@apple.com>
665
666         Fix EFL build for
667         https://bugs.webkit.org/show_bug.cgi?id=54415
668
669         * CMakeLists.txt:
670
671 2011-02-15  David Kilzer  <ddkilzer@apple.com>
672
673         <http://webkit.org/b/54487> Minor header clean up in RenderLayerBacking.cpp
674
675         Reviewed by Darin Adler.
676
677         * rendering/RenderLayerBacking.cpp: Remove unused
678         WebGLRenderingContext.h header, and move GraphicsContext3D.h
679         into a #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS)/#endif
680         block.
681
682 2011-02-14  Oliver Hunt  <oliver@apple.com>
683
684         Reviewed by Gavin Barraclough and Geoff Garen.
685
686         Refactor handles and weak pointers to become nicer and more automatic
687         https://bugs.webkit.org/show_bug.cgi?id=54415
688
689         Update WebCore to use the new Global<> type rather than ProtectedJSValue
690         and gc[Un]Protect.  Also update to use new WeakGCPtr APIs, and remove now
691         unnecessary destructors.
692
693         * ForwardingHeaders/collector/handles/Global.h: Added.
694         * WebCore.vcproj/WebCore.vcproj:
695         * WebCore.vcproj/copyForwardingHeaders.cmd:
696         * bindings/js/JSCallbackData.h:
697         (WebCore::JSCallbackData::JSCallbackData):
698         * bindings/js/JSCustomVoidCallback.h:
699         * bindings/js/JSDOMBinding.cpp:
700         (WebCore::forgetDOMNode):
701         (WebCore::cacheDOMNodeWrapper):
702         * bindings/js/JSDOMWindowBase.h:
703         * bindings/js/JSDOMWindowShell.cpp:
704         (WebCore::JSDOMWindowShell::setWindow):
705         * bindings/js/JSDataGridDataSource.h:
706         * bindings/js/JSEventListener.cpp:
707         (WebCore::JSEventListener::JSEventListener):
708         * bindings/js/JSEventListener.h:
709         (WebCore::JSEventListener::setWrapper):
710         * bindings/js/JSLazyEventListener.cpp:
711         (WebCore::JSLazyEventListener::initializeJSFunction):
712         * bindings/js/ScheduledAction.cpp:
713         (WebCore::ScheduledAction::ScheduledAction):
714         (WebCore::ScheduledAction::executeFunctionInContext):
715         * bindings/js/ScheduledAction.h:
716         (WebCore::ScheduledAction::ScheduledAction):
717         * bindings/js/ScriptCachedFrameData.cpp:
718         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
719         (WebCore::ScriptCachedFrameData::restore):
720         * bindings/js/ScriptCachedFrameData.h:
721         * bindings/js/ScriptCallStackFactory.cpp:
722         (WebCore::createScriptArguments):
723         * bindings/js/ScriptController.cpp:
724         (WebCore::ScriptController::createWindowShell):
725         (WebCore::ScriptController::evaluateInWorld):
726         (WebCore::ScriptController::clearWindowShell):
727         (WebCore::ScriptController::attachDebugger):
728         * bindings/js/ScriptController.h:
729         * bindings/js/ScriptFunctionCall.cpp:
730         (WebCore::ScriptFunctionCall::call):
731         (WebCore::ScriptCallback::call):
732         * bindings/js/ScriptObject.cpp:
733         (WebCore::ScriptObject::ScriptObject):
734         * bindings/js/ScriptObject.h:
735         * bindings/js/ScriptState.cpp:
736         (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
737         (WebCore::ScriptStateProtectedPtr::get):
738         * bindings/js/ScriptState.h:
739         * bindings/js/ScriptValue.cpp:
740         (WebCore::ScriptValue::isFunction):
741         (WebCore::ScriptValue::deserialize):
742         * bindings/js/ScriptValue.h:
743         (WebCore::ScriptValue::ScriptValue):
744         (WebCore::ScriptValue::hasNoValue):
745         * bindings/js/ScriptWrappable.h:
746         (WebCore::ScriptWrappable::ScriptWrappable):
747         (WebCore::ScriptWrappable::setWrapper):
748         * bindings/js/WorkerScriptController.cpp:
749         (WebCore::WorkerScriptController::WorkerScriptController):
750         (WebCore::WorkerScriptController::~WorkerScriptController):
751         (WebCore::WorkerScriptController::initScript):
752         (WebCore::WorkerScriptController::evaluate):
753         * bindings/js/WorkerScriptController.h:
754         (WebCore::WorkerScriptController::workerContextWrapper):
755         * bindings/scripts/CodeGeneratorJS.pm:
756         * bridge/NP_jsobject.cpp:
757         (_NPN_InvokeDefault):
758         (_NPN_Invoke):
759         (_NPN_Evaluate):
760         (_NPN_Construct):
761         * bridge/jsc/BridgeJSC.cpp:
762         (JSC::Bindings::Instance::Instance):
763         (JSC::Bindings::Instance::~Instance):
764         (JSC::Bindings::Instance::willDestroyRuntimeObject):
765         (JSC::Bindings::Instance::willInvalidateRuntimeObject):
766         * bridge/jsc/BridgeJSC.h:
767         * bridge/runtime_object.cpp:
768         (JSC::Bindings::RuntimeObject::invalidate):
769         * bridge/runtime_root.cpp:
770         (JSC::Bindings::RootObject::RootObject):
771         (JSC::Bindings::RootObject::invalidate):
772         (JSC::Bindings::RootObject::globalObject):
773         (JSC::Bindings::RootObject::updateGlobalObject):
774         * bridge/runtime_root.h:
775         * dom/EventListener.h:
776         * dom/EventTarget.h:
777         (WebCore::EventTarget::markJSEventListeners):
778         * xml/XMLHttpRequest.cpp:
779         
780         Qt bindings courtesy of Csaba Osztrogonác
781         * bridge/qt/qt_runtime.cpp:
782         (JSC::Bindings::QtRuntimeConnectionMethod::call):
783         (JSC::Bindings::QtConnectionObject::QtConnectionObject):
784         (JSC::Bindings::QtConnectionObject::execute):
785         (JSC::Bindings::QtConnectionObject::match):
786         * bridge/qt/qt_runtime.h:
787
788 2011-02-15  Jia Pu  <jpu@apple.com>
789
790         Reviewed by Darin Adler.
791
792         Autocorrection should respect undo.
793         https://bugs.webkit.org/show_bug.cgi?id=52221
794         <rdar://problem/8663399>
795
796         Manual test: manual-tests/autocorrection/undo-autocorrection.html
797
798         When user undoes an autocorrection, we need to do four things:
799         1. Revert the change in text that has been made by correction.
800         2. Revert the selection to pre-correction state so that user can immediately continue typing.
801         3. Add appropriate markers to reverted text so that it won't be corrected again and/or shown
802            as misspelled.
803         4. If applicable, notify spell checking service to record this reversion.
804
805         To achieve these, this patch introduces following changes:
806         1. Created SpellingCorrectionCommand so that correction can be undone in similar way as any
807            other editing command. SpellingCorrectionCommand is a composition of SetSelectionCommand,
808            SpellingCorrectionRecordUndoCommand and ReplaceSelectionCommand.
809         2. Created SetSelectionCommand so that undo command can restore selection state.
810         3. Added member function recordAutocorrectionResponse() to editor client.
811
812         To improve readability, this patch also consolidates various boolean arguments in SelectionController::setSelection()
813         and ReplaceSelectionCommand::ReplaceSelectionCommand(). These boolean arguments have been
814         replaced by enum variable.
815
816         * WebCore.exp.in: Updated for changes in Editor and ReplaceSelectionCommand.
817
818         * WebCore.xcodeproj/project.pbxproj: Updated for new source files.
819
820         * editing/CompositeEditCommand.cpp:
821         (WebCore::CompositeEditCommand::moveParagraphs): Adopted new signature of ReplaceSelectionCommand::create().
822
823         * editing/Editor.cpp:
824         (WebCore::Editor::replaceSelectionWithFragment): Ditto.
825         (WebCore::Editor::unappliedEditing): Cleaned up trailing whitespace.
826         (WebCore::Editor::reappliedEditing): Ditto.
827         (WebCore::Editor::selectComposition): Adopted new signature of SelectionController::setSelection().
828         (WebCore::Editor::confirmComposition): Ditto.
829         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Rearranged code to reduce the
830             level of deeply nested if statement. Adopted SpellingCorrectionCommand.
831         (WebCore::Editor::applyCorrectionPanelInfo): Adopted SpellingCorrectionCommand.
832         (WebCore::Editor::unappliedSpellCorrection): Function for adding markers to reverted text and
833             for notifiying editor client about undone correction.
834         (WebCore::Editor::changeSelectionAfterCommand): Adopted new signature of SelectionController::setSelection().
835         (WebCore::Editor::respondToChangedSelection): Use SelectionController::SetSelectionOptions
836             instead of boolean variables.
837
838         * editing/Editor.h: Added Editor::unappliedSpellCorrection().
839
840         * editing/EditorCommand.cpp:
841         (WebCore::executeInsertFragment): Adopted new signature of ReplaceSelectionCommand::create().
842
843         * editing/MoveSelectionCommand.cpp:
844         (WebCore::MoveSelectionCommand::doApply): Ditto.
845
846         * editing/ReplaceSelectionCommand.cpp:
847         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Replaced all boolean arguments
848             with an enum value.
849
850         * editing/ReplaceSelectionCommand.h:
851         (WebCore::ReplaceSelectionCommand::create): Ditto.
852
853         * editing/SelectionController.cpp: Adopted new signature of SelectionController::setSelection().
854         (WebCore::SelectionController::moveTo):
855         (WebCore::SelectionController::setSelection):
856         (WebCore::SelectionController::respondToNodeModification):
857         (WebCore::SelectionController::setBase):
858         (WebCore::SelectionController::setExtent):
859         (WebCore::SelectionController::setSelectedRange):
860
861         * editing/SelectionController.h:
862         (WebCore::SelectionController::setSelection): Replaced all boolean arguments with an enum value.
863
864         * editing/SetSelectionCommand.cpp: Added.
865         (WebCore::SetSelectionCommand::SetSelectionCommand):
866         (WebCore::SetSelectionCommand::doApply):
867         (WebCore::SetSelectionCommand::doUnapply):
868
869         * editing/SetSelectionCommand.h: Added.
870         (WebCore::SetSelectionCommand::create):
871
872         * editing/mac/SpellingCorrectionCommand.cpp: Added.
873         (WebCore::SpellingCorrectionRecordUndoCommand::create):
874         (WebCore::SpellingCorrectionRecordUndoCommand::SpellingCorrectionRecordUndoCommand):
875         (WebCore::SpellingCorrectionRecordUndoCommand::doApply):
876         (WebCore::SpellingCorrectionRecordUndoCommand::doUnapply):
877         (WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
878         (WebCore::SpellingCorrectionCommand::doApply):
879
880         * editing/mac/SpellingCorrectionCommand.h: Added.
881         (WebCore::SpellingCorrectionCommand::create):
882
883         * loader/EmptyClients.h: Updated for the new function declared in EditorClient.
884         (WebCore::EmptyEditorClient::recordAutocorrectionResponse):
885
886         * manual-tests/autocorrection/undo-autocorrection.html: Added.
887
888         * page/ContextMenuController.cpp:
889         (WebCore::ContextMenuController::contextMenuItemSelected): Adopted new signature of ReplaceSelectionCommand::create().
890
891         * page/DragController.cpp:
892         (WebCore::DragController::concludeEditDrag): Ditto.
893
894         * page/EditorClient.h: Added EditorClient::recordAutocorrectionResponse().
895
896 2011-02-15  Beth Dakin  <bdakin@apple.com>
897
898         Reviewed by Darin Adler.
899
900         Speculative fix for <rdar://problem/8998498> CrashTracer: [USER] 
901         8 crashes in WebProcess calling setOverlayScrollerState:forceImmediately:
902
903         My best guess is that this is crashing because 
904         willRemoveVerticalScrollbar()/Horizontal was not being called
905         properly from the RenderLayer destructor. 
906         
907         Call willRemoveVerticalScrollbar()/Horizontal from destroyScrollbar()
908         so that all current and future scrollbar-destroyers will properly 
909         call this function. And only do it for native scrollers.
910         (WebCore::RenderLayer::destroyScrollbar):
911         (WebCore::RenderListBox::destroyScrollbar):
912
913         For consistency's sake, I also moved didAddVerticalScrollbar()
914         /Horizontal to createScrollbar(). Again, only call for native 
915         scrollers.
916         * rendering/RenderLayer.cpp:
917         (WebCore::RenderLayer::createScrollbar):
918         (WebCore::RenderListBox::createScrollbar):
919
920         These functions no longer call didAdd/willRemove.
921         (WebCore::RenderLayer::setHasHorizontalScrollbar):
922         (WebCore::RenderLayer::setHasVerticalScrollbar):
923         * rendering/RenderListBox.cpp:
924         (WebCore::RenderListBox::setHasVerticalScrollbar):
925         
926         Remove unnecessary ScrollableArea::-prefix
927         * platform/ScrollView.cpp:
928         (WebCore::ScrollView::setHasHorizontalScrollbar):
929         (WebCore::ScrollView::setHasVerticalScrollbar):
930
931 2011-02-15  Joseph Pecoraro  <joepeck@webkit.org>
932
933         Reviewed by David Kilzer.
934
935         Cleanup Some Potential ENABLE(INSPECTOR) Related Building Issues
936         https://bugs.webkit.org/show_bug.cgi?id=54048
937
938         * WebCore.exp.in: moved inspector only export into ENABLE(INSPECTOR) block.
939         * bindings/js/ScriptHeapSnapshot.h: include no longer needed.
940
941 2011-02-15  Stephen White  <senorblanco@chromium.org>
942
943         Reviewed by James Robinson.
944  
945         [chromium] clearRect() is incorrect in accelerated 2D canvas.
946         https://bugs.webkit.org/show_bug.cgi?id=54497
947
948         When doing GPU-Canvas2D clearRect() using the fast path (glClear()),
949         we were not correctly converting from canvas to screen coordinates. 
950         Fixed by inverting the rectangle in Y, and changing
951         SharedGraphicsContext3D::scissor to take glScissor-like parameters.
952
953         Covered by fast/canvas/canvas-strokeRect.html.
954
955         * platform/graphics/chromium/GLES2Canvas.cpp:
956         (WebCore::GLES2Canvas::clearRect):
957         Flip the Y coord of the rectangle passed to scissor().
958         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
959         (WebCore::SharedGraphicsContext3D::scissor):
960         * platform/graphics/gpu/SharedGraphicsContext3D.h:
961         Give scissor() the same param types as GraphicsContext3D::scissor().
962
963 2011-02-15  Pratik Solanki  <psolanki@apple.com>
964
965         Move WTF_USE_CFNETWORK to Platform.h
966         https://bugs.webkit.org/show_bug.cgi?id=54168
967
968         Reviewed by Darin Adler.
969
970         * config.h: Remove WTF_USE_CFNETWORK.
971
972 2011-02-15  Kenneth Russell  <kbr@google.com>
973
974         Reviewed by Darin Fisher.
975
976         Allow controlling minimum DOMTimer interval on a per-page basis
977         https://bugs.webkit.org/show_bug.cgi?id=54312
978
979         Renamed DOMTimer::minTimerInterval and setMinTimerInterval to
980         defaultMinTimerInterval and setDefaultMinTimerInterval, made them
981         private and exposed them via Settings::defaultMinDOMTimerInterval
982         and setDefaultMinDOMTimerInterval. Added new
983         Settings::setMinDOMTimerInterval and minDOMTimerInterval.
984
985         The storage for the minimum timer interval currently lives in the
986         Page, though this could be moved to the Settings object if
987         desired. The accessor methods on the Page are private and exposed
988         to Settings by making Settings a friend, so the abstraction
989         barrier is clear at the API level.
990
991         Adjusting the interval both upward and downward may cause the fire
992         times of the active timers on the page to be adjusted, if they
993         would be affected by the clamping value. This is needed to reduce
994         latency when bringing a tab to the foreground, in particular if
995         the minimum timer interval was decreased from a very high value to
996         a very low value.
997
998         A new method, setMinimumTimerInterval, has been added to
999         LayoutTestController, implemented in all ports of DumpRenderTree,
1000         and used in new layout tests.
1001
1002         Ideally changing the page's minimum timer interval would affect
1003         dedicated workers, but this is too much to do in an initial patch,
1004         so a FIXME has been added.
1005
1006         Tested with:
1007           - The new layout tests on the WebKit Mac and Chromium (Mac,
1008             Linux) DRT ports.
1009           - Hooked up the new API in Chromium and ran some simple manual
1010             tests.
1011
1012         Tests: fast/dom/timer-increase-min-interval-and-reset-part-1.html
1013                fast/dom/timer-increase-min-interval-and-reset-part-2.html
1014                fast/dom/timer-increase-min-interval.html
1015                fast/dom/timer-increase-then-decrease-min-interval.html
1016
1017         * WebCore.exp.in:
1018         * dom/Document.cpp:
1019         (WebCore::Document::minimumTimerInterval):
1020         * dom/Document.h:
1021         * dom/ScriptExecutionContext.cpp:
1022         (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
1023         (WebCore::ScriptExecutionContext::minimumTimerInterval):
1024         * dom/ScriptExecutionContext.h:
1025         * page/DOMTimer.cpp:
1026         (WebCore::DOMTimer::DOMTimer):
1027         (WebCore::DOMTimer::fired):
1028         (WebCore::DOMTimer::adjustMinimumTimerInterval):
1029         (WebCore::DOMTimer::intervalClampedToMinimum):
1030         * page/DOMTimer.h:
1031         (WebCore::DOMTimer::defaultMinTimerInterval):
1032         (WebCore::DOMTimer::setDefaultMinTimerInterval):
1033         * page/Page.cpp:
1034         (WebCore::Page::Page):
1035         (WebCore::Page::setMinimumTimerInterval):
1036         (WebCore::Page::minimumTimerInterval):
1037         * page/Page.h:
1038         * page/Settings.cpp:
1039         (WebCore::Settings::setDefaultMinDOMTimerInterval):
1040         (WebCore::Settings::defaultMinDOMTimerInterval):
1041         (WebCore::Settings::setMinDOMTimerInterval):
1042         (WebCore::Settings::minDOMTimerInterval):
1043         * page/Settings.h:
1044         * platform/Timer.h:
1045         (WebCore::TimerBase::augmentFireInterval):
1046         (WebCore::TimerBase::augmentRepeatInterval):
1047
1048 2011-02-15  Simon Fraser  <simon.fraser@apple.com>
1049
1050         Reviewed by Beth Dakin.
1051
1052         Fix scrollbar rendering crash when rendered into a layer
1053         https://bugs.webkit.org/show_bug.cgi?id=54494
1054
1055         Remove code added in r78394 which was intended to find out whether
1056         a scrollbar was being rendered into a compositing layer. r78612 
1057         obviated the need for this code.
1058
1059         * page/FrameView.h:
1060         * platform/ScrollableArea.h:
1061         * rendering/RenderLayer.cpp:
1062         * rendering/RenderLayer.h:
1063         * rendering/RenderListBox.cpp:
1064         * rendering/RenderListBox.h:
1065
1066 2011-02-15  Simon Fraser  <simon.fraser@apple.com>
1067
1068         Let Xcode have its way with the project.
1069         
1070         * WebCore.xcodeproj/project.pbxproj:
1071
1072 2011-02-15  Simon Fraser  <simon.fraser@apple.com>
1073
1074         Fix Mac builds that don't use rubber-band scrolling
1075         by moving m_drawingIntoLayer out of the #ifdef.
1076
1077         * platform/mac/ScrollAnimatorMac.h:
1078         * platform/mac/ScrollAnimatorMac.mm:
1079         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1080
1081 2011-02-15  Martin Robinson  <mrobinson@igalia.com>
1082
1083         Reviewed by Xan Lopez.
1084
1085         [Freetype] Better map CSS font weight to Fontconfig font weight
1086         https://bugs.webkit.org/show_bug.cgi?id=54323
1087
1088         * platform/graphics/freetype/FontCacheFreeType.cpp:
1089         (WebCore::fontWeightToFontconfigWeight): Added this helper to map between CSS and
1090         Fontconfig font weights.
1091         (WebCore::FontCache::createFontPlatformData): Use the new helper instead of just
1092         deciding between bold and regular.
1093
1094 2011-02-15  Simon Fraser  <simon.fraser@apple.com>
1095
1096         Reviewed by Sam Weinig.
1097
1098         Fix scrollbar rendering crash when rendered into a layer
1099         https://bugs.webkit.org/show_bug.cgi?id=54494
1100         
1101         The scroller delegate was failing to return a layer in a case
1102         where the scroller was still rendering into a GraphicsLayer, because
1103         even though WebCore had switched out of compositing mode, the
1104         DrawingAreaImpl was still rendering into its nonCompositedContent
1105         layer. This happens when the m_exitCompositingTimer timer hasn't fired
1106         yet.
1107         
1108         The fix is to track whether we're drawing into a layer via the
1109         GraphicsContext, rather than asking about compositing layers.
1110
1111         * platform/graphics/GraphicsContext.h:
1112         * platform/graphics/cg/GraphicsContextCG.cpp:
1113         (WebCore::GraphicsContext::setIsCALayerContext):
1114         (WebCore::GraphicsContext::isCALayerContext):
1115         Getter and setter for the bit that says if we're rendering into a CALayer.
1116
1117         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1118         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1119         Store a bool for whether this context targets a layer.
1120
1121         * platform/graphics/mac/WebLayer.mm:
1122         (drawLayerContents): Call setIsCALayerContext(true).
1123         
1124         * platform/mac/ScrollAnimatorMac.h:
1125         (WebCore::ScrollAnimatorMac::setIsDrawingIntoLayer):
1126         (WebCore::ScrollAnimatorMac::isDrawingIntoLayer):
1127         New methods to get and set a flag that says when we're
1128         drawing into a layer, so that the delegate can get at this state.
1129
1130         * platform/mac/ScrollAnimatorMac.mm:
1131         (-[ScrollbarPainterDelegate layer]): Use isDrawingIntoLayer()
1132         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Init the flag.
1133
1134         * platform/mac/ScrollbarThemeMac.mm:
1135         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Whitespace.
1136         (WebCore::ScrollbarThemeMac::paint): Push the "isDrawingIntoLayer"
1137         state down onto ScrollAnimatorMac, getting it from the GraphicsContext.
1138
1139 2011-02-15  Anders Carlsson  <andersca@apple.com>
1140
1141         Reviewed by Darin Adler.
1142
1143         Add NPP_GetSitesWithData and NPP_URLRedirectNotify to the NPAPI headers
1144         https://bugs.webkit.org/show_bug.cgi?id=54481
1145
1146         We should really sync all headers with the NPAPI repository, but doing that
1147         lead to build errors so I just added what was needed.
1148
1149         * bridge/npapi.h:
1150         Add new functions.
1151
1152         * bridge/nptypes.h:
1153         Sync with the official NPAPI repository, adding 64-bit integer types and
1154         removing a duplicate license header.
1155
1156         * plugins/npfunctions.h:
1157         Add new functions.
1158
1159 2011-02-15  Antti Koivisto  <antti@apple.com>
1160
1161         Reviewed by Darin Adler.
1162
1163         https://bugs.webkit.org/show_bug.cgi?id=54486
1164         Crashes under CachedResourceLoader::revalidateResource
1165         
1166         CachedResourceLoader might get deleted from under one of its methods.
1167         Try to catch a more informative crash stack.
1168
1169         * loader/cache/CachedResourceLoader.cpp:
1170         (WebCore::CachedResourceLoader::CachedResourceLoader):
1171         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1172         (WebCore::CachedResourceLoader::requestImage):
1173         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1174         (WebCore::CachedResourceLoader::requestResource):
1175         (WebCore::CachedResourceLoader::setAutoLoadImages):
1176         (WebCore::CachedResourceLoader::load):
1177         (WebCore::CachedResourceLoader::loadDone):
1178         (WebCore::CachedResourceLoader::preload):
1179         (WebCore::CachedResourceLoader::requestPreload):
1180         * loader/cache/CachedResourceLoader.h:
1181
1182 2011-02-15  Andreas Kling  <kling@webkit.org>
1183
1184         Reviewed by Darin Adler.
1185
1186         Optimize Color::serialized()
1187         https://bugs.webkit.org/show_bug.cgi?id=54452
1188
1189         Apply the optimizations from CSSPrimitiveValue::cssText() [CSS_RGBCOLOR]
1190         to Color::serialized() - build the serialized color strings manually
1191         instead of using String::format().
1192
1193         * platform/graphics/Color.cpp:
1194         (WebCore::appendHexNumber):
1195         (WebCore::Color::serialized):
1196
1197 2011-02-15  Jarred Nicholls  <jarred@sencha.com>
1198
1199         Reviewed by Alexey Proskuryakov.
1200
1201         XMLHttpRequest::abort() doesn't clear response data
1202         https://bugs.webkit.org/show_bug.cgi?id=54118
1203
1204         Properly clear all buffer data on abort, so no memory hangs around unnecessarily.
1205
1206         No new tests because there is no observable effect except for less memory used.
1207
1208         * xml/XMLHttpRequest.cpp:
1209         (WebCore::XMLHttpRequest::abort):
1210
1211 2011-02-15  Andreas Kling  <kling@webkit.org>
1212
1213         Reviewed by Darin Adler.
1214
1215         Rename Color::name() to Color::nameForRenderTreeAsText()
1216         https://bugs.webkit.org/show_bug.cgi?id=54464
1217
1218         Color::name() returns the color as either #RRGGBB or #RRGGBBAA.
1219         Since the latter is not a valid CSS color, it can't be re-parsed
1220         by WebKit, and should only be used in DRT dumps.
1221
1222         * editing/ApplyStyleCommand.cpp:
1223         (WebCore::StyleChange::extractTextStyles):
1224         * page/DragController.cpp:
1225         (WebCore::DragController::concludeEditDrag):
1226         * platform/graphics/Color.cpp:
1227         (WebCore::Color::nameForRenderTreeAsText):
1228         * platform/graphics/Color.h:
1229         * platform/graphics/GraphicsLayer.cpp:
1230         (WebCore::GraphicsLayer::dumpProperties):
1231         * platform/graphics/filters/FEFlood.cpp:
1232         (WebCore::FEFlood::externalRepresentation):
1233         * rendering/RenderTreeAsText.cpp:
1234         (WebCore::RenderTreeAsText::writeRenderObject):
1235         * rendering/svg/SVGRenderTreeAsText.cpp:
1236         (WebCore::operator<<):
1237         (WebCore::writeRenderSVGTextBox):
1238         * svg/SVGAnimateElement.cpp:
1239         (WebCore::SVGAnimateElement::applyResultsToTarget):
1240         * svg/SVGColor.cpp:
1241         (WebCore::SVGColor::cssText):
1242
1243 2011-02-15  Andras Becsi  <abecsi@webkit.org>
1244
1245         Rubber-stamped by Andreas Kling.
1246
1247         [Qt] Typo fix.
1248
1249         No new tests needed.
1250
1251         * WebCore.pro: add missing ASCII to header name.
1252
1253 2011-02-15  Pavel Feldman  <pfeldman@chromium.org>
1254
1255         Reviewed by Yury Semikhatsky.
1256
1257         Web Inspector: test whether inspector gets populated with databases and storages upon opening.
1258         https://bugs.webkit.org/show_bug.cgi?id=54469
1259
1260         Tests: http/tests/inspector-enabled/database-open.html
1261                http/tests/inspector-enabled/dom-storage-open.html
1262
1263         * inspector/front-end/DOMStorage.js:
1264         * inspector/front-end/Database.js:
1265         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
1266
1267 2011-02-15  Andreas Kling  <kling@webkit.org>
1268
1269         Reviewed by Darin Adler.
1270
1271         Share the helper functions used by Latin-1 and UTF-8 text codecs
1272         https://bugs.webkit.org/show_bug.cgi?id=54446
1273
1274         Move MachineWord, UCharByteFiller and the other helper functions
1275         into TextCodecASCIIFastPath.h where they can be used by both
1276         TextCodecUTF8 and TextCodecLatin1.
1277
1278         * GNUmakefile.am:
1279         * WebCore.gypi:
1280         * WebCore.pro:
1281         * WebCore.vcproj/WebCore.vcproj:
1282         * WebCore.xcodeproj/project.pbxproj:
1283         * platform/text/TextCodecASCIIFastPath.h: Added.
1284         (WebCore::isAllASCII):
1285         (WebCore::copyASCIIMachineWord):
1286         (WebCore::isAlignedToMachineWord):
1287         (WebCore::alignToMachineWord):
1288         * platform/text/TextCodecLatin1.cpp:
1289         (WebCore::TextCodecLatin1::decode):
1290         * platform/text/TextCodecUTF8.cpp:
1291         (WebCore::TextCodecUTF8::decode):
1292
1293 2011-02-15  Leo Yang  <leo.yang@torchmobile.com.cn>
1294
1295         Reviewed by Kent Tamura.
1296
1297         Code style issue in WebCore/dom/InputElement.cpp
1298         https://bugs.webkit.org/show_bug.cgi?id=54428
1299
1300         Remove 2 extra spaces in InputElement.cpp line 221.
1301
1302         Code style fix, No new tests.
1303
1304         * dom/InputElement.cpp:
1305         (WebCore::InputElement::handleBeforeTextInsertedEvent):
1306
1307 2011-02-15  Philippe Normand  <pnormand@igalia.com>
1308
1309         Reviewed by Martin Robinson.
1310
1311         [GStreamer] Video player sets system volume to 100%
1312         https://bugs.webkit.org/show_bug.cgi?id=54140
1313
1314         Don't explicitely set volume at startup and use the
1315         GstStreamVolume interface with cubic volume scale when
1316         updating/retrieving the volume value. This gives a much better
1317         user-experience.
1318
1319         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1320         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1321
1322 2011-02-15  Adam Barth  <abarth@webkit.org>
1323
1324         Reviewed by Eric Seidel.
1325
1326         Sketch script-src for Content Security Policy
1327         https://bugs.webkit.org/show_bug.cgi?id=54381
1328
1329         This patch provides a sketch of the script-src directive.  We still do
1330         not parse the value of the directive, and the wiring into the rest of
1331         WebCore is incorrect, but those are things we can fix in future
1332         patches.  For the momemnt, this patch lets us test what we're doing.
1333
1334         Test: http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html
1335
1336         * page/ContentSecurityPolicy.cpp:
1337         (WebCore::CSPDirective::CSPDirective):
1338         (WebCore::CSPDirective::allows):
1339         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1340         (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
1341         (WebCore::ContentSecurityPolicy::parse):
1342         (WebCore::ContentSecurityPolicy::emitDirective):
1343         * page/ContentSecurityPolicy.h:
1344
1345 2011-02-15  Antti Koivisto  <antti@apple.com>
1346
1347         Reviewed by Andreas Kling.
1348
1349         svg/custom/use-css-no-effect-on-shadow-tree.svg produces empty image on Chromium Linux after r58556
1350         https://bugs.webkit.org/show_bug.cgi?id=54460
1351         
1352         Don't use fast path for SVG. There are some additional rules for shadow trees that are not
1353         implemented on fast path.
1354         
1355         * css/CSSStyleSelector.cpp:
1356         (WebCore::CSSStyleSelector::checkSelector):
1357
1358 2011-02-15  Andras Becsi  <abecsi@webkit.org>
1359
1360         Reviewed by Csaba Osztrogonác.
1361
1362         [Qt] Redesign the build system
1363         https://bugs.webkit.org/show_bug.cgi?id=51339
1364
1365         Part 1.
1366
1367         Introduce CodeGenerators.pri and add common includepaths to WebCore.pri,
1368         thus unnecessary duplications can be removed from project files.
1369
1370         No new tests needed.
1371
1372         * CodeGenerators.pri: Copied from Source/WebCore/WebCore.pri.
1373         Don't add non-source generated files to SOURCES.
1374         * DerivedSources.pro: Change WebCore.pri to CodeGenerators.pri.
1375         * WebCore.pri: Move code generation rules to CodeGenerators.pri.
1376         * WebCore.pro: Move common options to WebCore.pri.
1377
1378 2011-02-15  Charlie Reis  <creis@chromium.org>
1379
1380         Reviewed by Mihai Parparita.
1381
1382         Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy
1383         https://bugs.webkit.org/show_bug.cgi?id=54219
1384
1385         Ensures we do not start a new navigation while we are in the process of
1386         stopping a navigation.  Also adds a manual test, since the crash can
1387         only be reproduced using the back button and not history.back().
1388
1389         * loader/FrameLoader.cpp:
1390         * manual-tests/navigation-during-onload-triggered-by-back.html: Added.
1391         * manual-tests/resources/navigation-during-onload-container.html: Added.
1392
1393 2011-02-15  Bill Budge  <bbudge@chromium.org>
1394
1395         Reviewed by David Levin.
1396
1397         SubresourceLoader should expose finish time
1398         https://bugs.webkit.org/show_bug.cgi?id=54287
1399
1400         No tests needed, exposes no new functionality
1401
1402         * loader/DocumentThreadableLoader.cpp:
1403         (WebCore::DocumentThreadableLoader::didFinishLoading):
1404         * loader/DocumentThreadableLoader.h:
1405         * loader/SubresourceLoader.cpp:
1406         (WebCore::SubresourceLoader::didFinishLoading):
1407         * loader/SubresourceLoaderClient.h:
1408         (WebCore::SubresourceLoaderClient::didFinishLoading):
1409         * loader/cache/CachedResourceRequest.cpp:
1410         (WebCore::CachedResourceRequest::didFinishLoading):
1411         * loader/cache/CachedResourceRequest.h:
1412         * loader/icon/IconLoader.cpp:
1413         (WebCore::IconLoader::didFinishLoading):
1414         * loader/icon/IconLoader.h:
1415
1416 2011-02-15  Antti Koivisto  <antti@apple.com>
1417
1418         Reviewed by Darin Adler.
1419
1420         Enable fast path selector checking for child and subselector combinators
1421         https://bugs.webkit.org/show_bug.cgi?id=54360
1422
1423         * css/CSSStyleSelector.cpp:
1424         (WebCore::isFastCheckableSelector):
1425         (WebCore::fastCheckSingleSelector):
1426         (WebCore::checkClassValue):
1427         (WebCore::checkIdValue):
1428         (WebCore::checkTagValue):
1429         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
1430
1431 2011-02-15  Yury Semikhatsky  <yurys@chromium.org>
1432
1433         Reviewed by Pavel Feldman.
1434
1435         Web Inspector: console auto-scroll is broken when there are both scrollers.
1436         https://bugs.webkit.org/show_bug.cgi?id=54273
1437
1438         * inspector/front-end/utilities.js:
1439         (Element.prototype.isScrolledToBottom): use clientHeight instead of offsetHeight to determine
1440         whether the element is scrolled to the bottom.
1441
1442 2011-02-14  Alexander Pavlov  <apavlov@chromium.org>
1443
1444         Reviewed by Yury Semikhatsky.
1445
1446         Web Inspector: highlighter works incorrect at build.chromium.org WebKit cells
1447         https://bugs.webkit.org/show_bug.cgi?id=53910
1448
1449         Use enclosingBoundingBox for the absolute margin quad as the reference box for a tooltip.
1450
1451         * inspector/InspectorAgent.cpp:
1452         (WebCore::InspectorAgent::drawNodeHighlight):
1453
1454 2011-02-15  Dirk Schulze  <krit@webkit.org>
1455
1456         Rubber-stamped by Nikolas Zimmermann.
1457
1458         SVG animation doesn't support attribute value 'inherit'
1459         https://bugs.webkit.org/show_bug.cgi?id=54410
1460
1461         Accidently replaced start value RegularPropertyValue for m_fromPropertyValueType
1462         and m_toPropertyValueType by CurrentColorValue before landing. Check for property
1463         value type 'inherit' on color validation was missing.
1464
1465         * svg/SVGAnimateElement.cpp:
1466         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1467         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1468
1469 2011-02-15  Adam Roben  <aroben@apple.com>
1470
1471         Windows build fix after r78533
1472
1473         * WebCore.vcproj/WebCore.vcproj: Fix bad XML syntax.
1474
1475 2011-02-15  Gavin Peters  <gavinp@chromium.org>
1476
1477         Reviewed by Antti Koivisto.
1478
1479         SharedBuffer::buffer() does not do what you think.
1480         https://bugs.webkit.org/show_bug.cgi?id=54420
1481
1482         No new tests.
1483
1484         * inspector/InspectorResourceAgent.cpp:
1485         (WebCore::InspectorResourceAgent::resourceContentBase64):
1486         * platform/SharedBuffer.h:
1487         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1488         (WebCore::JPEGImageReader::decode):
1489         (WebCore::JPEGImageDecoder::decode):
1490         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1491         (WebCore::WEBPImageDecoder::decode):
1492
1493 2011-02-15  Dirk Schulze  <krit@webkit.org>
1494
1495         Reviewed by Nikolas Zimmermann.
1496
1497         SVG animation doesn't support attribute value 'inherit'
1498         https://bugs.webkit.org/show_bug.cgi?id=54410
1499
1500         SVG animation does not support 'inherit' as value for CSS property animations. With the patch, SVG determines
1501         if the attribute of the target element is an animatable CSS Property and computes the style during the
1502         animation.
1503
1504         This fixes the following tests on the W3C test suite:
1505         * animate-elem-84-t.svg
1506         * animate-elem-85-t.svg
1507
1508         Tests: svg/animations/animate-currentColor.html
1509                svg/animations/animate-inherit-css-property.html
1510
1511         * svg/SVGAnimateElement.cpp:
1512         (WebCore::adjustForCurrentColor):
1513         (WebCore::adjustForInheritance):
1514         (WebCore::SVGAnimateElement::calculateAnimatedValue): When a property value is 'inherit' or 'currentColor'
1515         during the animation, get the computed style of the property since the values could be animated themselves.
1516         (WebCore::inheritsFromProperty):
1517         (WebCore::attributeValueIsCurrentColor):
1518         (WebCore::SVGAnimateElement::calculateFromAndToValues): Check if 'from', 'by' or 'to' value has the
1519         string 'inherit' or 'currentColor' and if the attribute supports one of these values.
1520         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
1521         * svg/SVGAnimateElement.h:
1522         * svg/SVGAnimationElement.cpp:
1523         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Check if target element is stylable and
1524         the attribute is an animatable CSS property by using the CSS property map in SVGStyledElement.
1525         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): s/target/targetElement/ for consistency.
1526         * svg/SVGAnimationElement.h:
1527         * svg/SVGStyledElement.cpp: 
1528         (WebCore::SVGStyledElement::isAnimatableCSSProperty): Checks if the CSS property is animatable.
1529         * svg/SVGStyledElement.h:
1530         * svg/animation/SMILTimeContainer.cpp: Use the new function isTargetAttributeCSSProperty to determine
1531         if the target element is stylable and the attribute is an animatable CSS property.
1532         (WebCore::SMILTimeContainer::baseValueFor):
1533
1534 2011-02-15  Antti Koivisto  <antti@apple.com>
1535
1536         Reviewed by Andreas Kling.
1537
1538         r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html
1539         https://bugs.webkit.org/show_bug.cgi?id=54418
1540         
1541         Check for zero buffer length.
1542
1543         * platform/text/TextCodecUTF8.cpp:
1544         (WebCore::TextCodecUTF8::decode):
1545
1546 2011-02-15  MORITA Hajime  <morrita@google.com>
1547
1548         Unreviewed build fix.
1549
1550         * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct.
1551
1552 2011-01-26  MORITA Hajime  <morrita@google.com>
1553
1554         Reviewed by Ryosuke Niwa.
1555
1556         Refactoring: Extract TextCheckerClient from EditorClient
1557         https://bugs.webkit.org/show_bug.cgi?id=53213
1558         
1559         Created new abstract class TextCheckerClient. The class has
1560         spellcheck related API which is split.
1561         This is the first step for sharing spell-checking codebase
1562         between ports. A standalone TextCheckerClient implementation
1563         should be done in future changes.
1564
1565         No new tests. No behavioral change.
1566
1567         * GNUmakefile.am:
1568         * WebCore.gypi:
1569         * WebCore.pro:
1570         * WebCore.vcproj/WebCore.vcproj:
1571         * WebCore.xcodeproj/project.pbxproj:
1572         * accessibility/mac/AccessibilityObjectWrapper.mm:
1573         (AXAttributeStringSetSpelling):
1574         * editing/Editor.cpp: Replacing some client() call with textChecker().
1575         (WebCore::Editor::textChecker): Added.
1576         (WebCore::Editor::ignoreSpelling):
1577         (WebCore::Editor::learnSpelling):
1578         (WebCore::Editor::isSelectionMisspelled):
1579         (WebCore::Editor::guessesForMisspelledSelection):
1580         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1581         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1582         (WebCore::Editor::correctionPanelTimerFired):
1583         * editing/Editor.h:
1584         * editing/SpellChecker.cpp:
1585         (WebCore::SpellChecker::SpellChecker):
1586         * editing/TextCheckingHelper.cpp: Replacing some client() call with textChecker().
1587         (WebCore::TextCheckingHelper::findFirstMisspelling):
1588         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
1589         (WebCore::TextCheckingHelper::findFirstBadGrammar):
1590         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
1591         * loader/EmptyClients.h: Added EmptyTextCheckerClient.
1592         (WebCore::EmptyTextCheckerClient::ignoreWordInSpellDocument):
1593         (WebCore::EmptyTextCheckerClient::learnWord):
1594         (WebCore::EmptyTextCheckerClient::checkSpellingOfString):
1595         (WebCore::EmptyTextCheckerClient::getAutoCorrectSuggestionForMisspelledWord):
1596         (WebCore::EmptyTextCheckerClient::checkGrammarOfString):
1597         (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
1598         (WebCore::EmptyTextCheckerClient::getGuessesForWord):
1599         (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
1600         (WebCore::EmptyEditorClient::textChecker):
1601         * page/EditorClient.h: Extracted TextCheckerClient.
1602         * page/Page.h:
1603         * platform/text/TextCheckerClient.h: Added.
1604         (WebCore::TextCheckerClient::~TextCheckerClient):
1605
1606 2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
1607
1608         Reviewed by Adam Barth.
1609
1610         Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
1611         https://bugs.webkit.org/show_bug.cgi?id=52417
1612
1613         Added two callback functions, canCopyCut and canPaste to EditorClient. These functions
1614         returns true iff the current frame should be able to copy/cut and paste respectively.
1615         They take the default value determined by isDOMPasteAllowed and javaScriptCanAccessClipboard.
1616
1617         These callbacks allows embedders to decide whether or not copy/cut/paste should be enabled
1618         per frame and thus per origin rather than per page.
1619
1620         No new tests are added since this is a WebKit/WebCore interface change.
1621
1622         * editing/EditorCommand.cpp:
1623         (WebCore::supportedCopyCut): Calls canCopyCut.
1624         (WebCore::supportedPaste): Calls canPaste.
1625         * loader/EmptyClients.h:
1626         (WebCore::EmptyEditorClient::canCopyCut): Added.
1627         (WebCore::EmptyEditorClient::canPaste): Added.
1628         * page/EditorClient.h:
1629
1630 2011-02-14  Jeremy Orlow  <jorlow@chromium.org>
1631
1632         efl build fix
1633
1634         * CMakeLists.txt:
1635
1636 2011-02-11  Jeremy Orlow  <jorlow@chromium.org>
1637
1638         Reviewed by Nate Chapin.
1639
1640         Finish up implementing the new event model in IndexedDB
1641         https://bugs.webkit.org/show_bug.cgi?id=54331
1642
1643         We shouldn't have our own event subclasses. Instead, we
1644         should just fire Event's with the proper type and bubble
1645         settings. All the attributes on the events before should
1646         just be on the request. IDBRequest should throw if they're
1647         accessed before the success event fires.
1648
1649         * WebCore.gypi:
1650         * bindings/generic/RuntimeEnabledFeatures.h:
1651         * bindings/js/JSEventCustom.cpp:
1652         (WebCore::toJS):
1653         * bindings/v8/custom/V8EventCustom.cpp:
1654         (WebCore::toV8):
1655         * dom/Event.cpp:
1656         * dom/Event.h:
1657         * page/DOMWindow.idl:
1658         * storage/IDBAbortEvent.h: Removed.
1659         * storage/IDBCompleteEvent.cpp: Removed.
1660         * storage/IDBCompleteEvent.h: Removed.
1661         * storage/IDBDatabase.cpp:
1662         (WebCore::IDBDatabase::~IDBDatabase):
1663         * storage/IDBDatabaseException.h:
1664         * storage/IDBDatabaseException.idl:
1665         * storage/IDBErrorEvent.cpp: Removed.
1666         * storage/IDBErrorEvent.h: Removed.
1667         * storage/IDBErrorEvent.idl: Removed.
1668         * storage/IDBEvent.h: Removed.
1669         * storage/IDBEvent.idl: Removed.
1670         * storage/IDBEventDispatcher.cpp:
1671         (WebCore::IDBEventDispatcher::dispatch):
1672         * storage/IDBRequest.cpp:
1673         (WebCore::IDBRequest::IDBRequest):
1674         (WebCore::IDBRequest::result):
1675         (WebCore::IDBRequest::errorCode):
1676         (WebCore::IDBRequest::webkitErrorMessage):
1677         (WebCore::IDBRequest::source):
1678         (WebCore::IDBRequest::transaction):
1679         (WebCore::IDBRequest::readyState):
1680         (WebCore::IDBRequest::resetReadyState):
1681         (WebCore::IDBRequest::onError):
1682         (WebCore::createSuccessEvent):
1683         (WebCore::IDBRequest::onSuccess):
1684         (WebCore::IDBRequest::dispatchEvent):
1685         * storage/IDBRequest.h:
1686         * storage/IDBRequest.idl:
1687         * storage/IDBSuccessEvent.cpp: Removed.
1688         * storage/IDBSuccessEvent.h: Removed.
1689         * storage/IDBSuccessEvent.idl: Removed.
1690         * storage/IDBTransaction.cpp:
1691         (WebCore::IDBTransaction::onAbort):
1692         (WebCore::IDBTransaction::onComplete):
1693         (WebCore::IDBTransaction::dispatchEvent):
1694
1695 2011-02-14  Enrica Casucci  <enrica@apple.com>
1696
1697         Copy/paste from a WebKit window to a TextEdit window loses fonts.
1698         <rdar://problem/8623090>
1699         https://bugs.webkit.org/show_bug.cgi?id=54416
1700         
1701         Reviewed by Dan Bernstein.
1702         
1703         We don't have the complete solution that fixes this problem for WebKit2 yet.
1704         This patch fixes the regression in WebKit.
1705
1706         * platform/mac/PasteboardMac.mm:
1707         (WebCore::Pasteboard::writeSelection): For WebKit2 use only plain text,
1708         for WebKit use the original API to create the NSAttributedString.
1709
1710 2011-02-14  Levi Weintraub  <leviw@chromium.org>
1711
1712         Reviewed by Alexey Proskuryakov.
1713
1714         Strikethrough disappears when posting a message on odnoklassniki.ru
1715         https://bugs.webkit.org/show_bug.cgi?id=53475
1716
1717         Changing the behavior of the strikethrough execCommand when styleWithCSS
1718         is false. We formerly created <s> tags, which was different than both IE
1719         and FF and caused problems with some rich text editors that would strip
1720         out unexpected tags such as <s>.
1721
1722         Test: editing/execCommand/strikethrough-uses-strike-tag.html
1723
1724         * editing/ApplyStyleCommand.cpp:
1725         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1726
1727 2011-02-14  Pratik Solanki  <psolanki@apple.com>
1728
1729         Remove dead code in FormDataStreamCFNet.cpp
1730         https://bugs.webkit.org/show_bug.cgi?id=54401
1731
1732         Reviewed by Darin Adler.
1733
1734         The static functions in this file are no longer reachable. We added a conditional branch to
1735         use new CFNetwork functions in r30329 and later made that code path permanent in r41517
1736         which made these functions unreachable.
1737
1738         * platform/network/cf/FormDataStreamCFNet.cpp:
1739
1740 2011-02-14  Andreas Kling  <kling@webkit.org>
1741
1742         Reviewed by Darin Adler.
1743
1744         GraphicsContext: Add clip(IntRect) overload for Qt
1745         https://bugs.webkit.org/show_bug.cgi?id=54365
1746
1747         Qt has special code paths for clipping to integer rectangles.
1748         Add a GraphicsContext::clip() overload to allow us to take
1749         advantage of the optimized code.
1750
1751         * platform/graphics/GraphicsContext.cpp:
1752         (WebCore::GraphicsContext::clip):
1753         * platform/graphics/GraphicsContext.h:
1754         * platform/graphics/qt/GraphicsContextQt.cpp:
1755         (WebCore::GraphicsContext::clip):
1756
1757 2011-02-14  Darin Adler  <darin@apple.com>
1758
1759         Reviewed by Alexey Proskuryakov.
1760
1761         Add built-in decoder for UTF-8 for improved performance
1762         https://bugs.webkit.org/show_bug.cgi?id=53898
1763
1764         Covered by existing tests; not adding new tests at this time.
1765
1766         This patch now handles errors in the same way the existing codecs do,
1767         and so passes our tests. The first version failed some tests because
1768         of incorrect error handling. The second version was missing one line
1769         of code that made it decode incomplete sequences at the end of the
1770         buffer twice.
1771
1772         * platform/text/TextCodecICU.cpp:
1773         (WebCore::create): Renamed from newTextCodecICU, made a static member
1774         function, and added a call to adoptPtr.
1775         (WebCore::TextCodecICU::registerEncodingNames): Renamed from
1776         registerExtendedEncodingNames since this class is no longer used for
1777         base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
1778         (WebCore::TextCodecICU::registerCodecs): Renamed.
1779         (WebCore::fallbackForGBK): Renamed to conform to our current style.
1780
1781         * platform/text/TextCodecICU.h: Updated for above changes. Changed
1782         indentation. Made most functions private, including virtual function
1783         overrides. Marked ICUConverterWrapper noncopyable.
1784
1785         * platform/text/TextCodecUTF8.cpp:
1786         (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
1787         that were formerly added by TextCodecICU.
1788         (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
1789         bytes F5-FF instead of failing.
1790         (WebCore::decodeNonASCIISequence): Tweaked coding style.
1791         (WebCore::appendCharacter): Added. Makes it easier to share code between
1792         the partial-character handling and main loop.
1793         (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
1794         where there is a partial sequence. Fixed partial sequence handling so that
1795         goto is no longer needed, since compilers sometimes make poor code when
1796         goto is involved. Added a loop for partial sequences since we consume only
1797         one byte when a partial sequence is invalid. Fixed logic in main decoding
1798         loop so goto is not needed. Used early-exit style in both loops so the main
1799         flow is not nested inside if statements. Added correct error handling for
1800         flush when a partial sequence remains, which involved wrapping the function
1801         in yet another loop.
1802
1803         * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
1804
1805         * platform/text/TextEncodingRegistry.cpp:
1806         (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
1807         calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
1808         to be included here.
1809         (WebCore::extendTextCodecMaps): Updated for the name change of the
1810         TextCodecICU functions.
1811
1812 2011-02-14  Adam Barth  <abarth@webkit.org>
1813
1814         Reviewed by Eric Seidel.
1815
1816         Add basic parser for Content Security Policy
1817         https://bugs.webkit.org/show_bug.cgi?id=54379
1818
1819         The parser in this patch is very basic.  It just segments the CSP
1820         header into directives.  The exactly syntax will likely change a bit as
1821         we discuss the details in public-web-security, but this parser will
1822         allow us to make progress.
1823
1824         Sadly, this patch does not contain any tests.  That's because CSP
1825         policies do not have any observable effects yet.  Hopefully we'll get
1826         enough sketched out in the next couple patches to begin writing tests.
1827
1828         * page/ContentSecurityPolicy.cpp:
1829         (WebCore::CSPDirective::CSPDirective):
1830         (WebCore::CSPDirective::name):
1831         (WebCore::CSPDirective::value):
1832         (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
1833         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1834         (WebCore::ContentSecurityPolicy::parse):
1835         * page/ContentSecurityPolicy.h:
1836
1837 2011-02-14  Andrew Wason  <rectalogic@rectalogic.com>
1838
1839         Reviewed by Kenneth Russell.
1840
1841         [Qt] WebKit fails to compile for Qt when WebGL enabled
1842         https://bugs.webkit.org/show_bug.cgi?id=53431
1843
1844         No new tests.
1845
1846         * WebCore.pro:
1847           Add source and header files and include directory to Qt project.
1848         * html/canvas/WebGLRenderingContext.cpp:
1849           File uses 'emit' which is a Qt keyword - #undef emit.
1850         * platform/graphics/gpu/qt: Added.
1851         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Added.
1852           Partial implementation of DrawingBuffer for Qt.
1853         (WebCore::DrawingBuffer::DrawingBuffer):
1854         (WebCore::DrawingBuffer::~DrawingBuffer):
1855         (WebCore::DrawingBuffer::didReset):
1856         (WebCore::DrawingBuffer::platformLayer):
1857         (WebCore::DrawingBuffer::platformColorBuffer):
1858         * platform/graphics/qt/Extensions3DQt.cpp:
1859           Noop implementation for pure virtual methods added to Extensions3D.h
1860         (WebCore::Extensions3DQt::blitFramebuffer):
1861         (WebCore::Extensions3DQt::renderbufferStorageMultisample):
1862         * platform/graphics/qt/Extensions3DQt.h:
1863           Declare new methods added to Extensions3D.h
1864         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1865           Remove method implementations no longer in GraphicsContext3D.h.
1866           Change m_syntheticErrors to use unsigned int to match new
1867           GC3Denum type.
1868         (WebCore::GraphicsContext3D::create):
1869          Change return type to match GraphicsContext3D.h
1870         (WebCore::GraphicsContext3D::lineWidth):
1871          Change argument type to GC3Dfloat to match GraphicsContext3D.h
1872         (WebCore::GraphicsContext3D::getUniformLocation):
1873          Change return type to GC3Dfloat to match GraphicsContext3D.h
1874         (WebCore::GraphicsContext3D::getExtensions):
1875          Need to call get() on OwnPtr.
1876         (WebCore::GraphicsContext3D::getImageData):
1877          Rename enum values to match declarations in GraphicsContext3D.h
1878
1879 2011-02-14  Tony Chang  <tony@chromium.org>
1880
1881         Reviewed by Dimitri Glazkov.
1882
1883         <select> elements don't honor border:0px in chromium-linux
1884         https://bugs.webkit.org/show_bug.cgi?id=51152
1885
1886         No new tests, covered by existing pixel results (fast/forms/basic-selects.html
1887         convers lots of cases).
1888
1889         * css/themeChromiumLinux.css:
1890         (select):
1891         * platform/chromium/PlatformBridge.h:
1892         * rendering/RenderThemeChromiumLinux.cpp:
1893         (WebCore::RenderThemeChromiumLinux::paintButton):
1894         (WebCore::RenderThemeChromiumLinux::paintMenuList):
1895           match border logic in RenderThemeChromiumWin.cpp:
1896           http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp#L463
1897
1898 2011-02-14  Xiaomei Ji  <xji@chromium.org>
1899
1900         Reviewed by Dan Bernstein.
1901
1902         Fix rendering of ISO-8859-8 when dir="rtl".
1903         https://bugs.webkit.org/show_bug.cgi?id=52128
1904
1905         Test: fast/text/international/iso-8859-8.html
1906
1907         * platform/text/BidiResolver.h: Add VisualDirectionOverride enum.
1908         (WebCore::::createBidiRunsForLine): For lines with visual direction override,
1909         create bidi runs without resolving bidi levels (one run per render object), 
1910         set bidi level as 0 or 1 depending on LTR or RTL override, 
1911         and reverse runs for RTL override.
1912         * rendering/RenderBlockLineLayout.cpp:
1913         (WebCore::RenderBlock::constructLine): Set inline box bidi level the same as
1914         BidiRun's bidi level without special handling of VisualDirectionOverride.
1915         (WebCore::RenderBlock::layoutInlineChildren): Pass in VisualDirectionOverride 
1916         to createBidiRunsForLine().
1917
1918 2011-02-14  Alexis Menard  <alexis.menard@nokia.com>
1919
1920         Reviewed by Andreas Kling.
1921
1922         [Qt] Crash on application exit after constructing and destroying a QWebView twice
1923         https://bugs.webkit.org/show_bug.cgi?id=54000
1924
1925         Check the value is valid before use it.
1926
1927         * platform/qt/SharedTimerQt.cpp:
1928         (WebCore::SharedTimerQt::~SharedTimerQt):
1929
1930 2011-02-14  Alexander Pavlov  <apavlov@chromium.org>
1931
1932         Reviewed by Yury Semikhatsky.
1933
1934         Web Inspector: 304 Not Modified responses have a yellow icon in Web Inspector Resources panel
1935         https://bugs.webkit.org/show_bug.cgi?id=33220
1936
1937         * inspector/front-end/ResourceHeadersView.js:
1938         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
1939
1940 2011-02-14  Adrienne Walker  <enne@google.com>
1941
1942         Reviewed by James Robinson.
1943
1944         [chromium] Modify LayerTilerChromium to use TilingData.
1945         https://bugs.webkit.org/show_bug.cgi?id=54143
1946
1947         Most of the previous data in LayerTilerChromium is now calculated
1948         from TilingData.  TilingData was modified to allow for a dynamic
1949         tile size and page size.  LayerTilerChromium also gets its own
1950         shader with a texture transform to handle drawing from a texture
1951         that is larger than a tile.
1952
1953         * platform/graphics/chromium/LayerChromium.h:
1954         * platform/graphics/chromium/LayerRendererChromium.cpp:
1955         (WebCore::LayerRendererChromium::LayerRendererChromium):
1956         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
1957         (WebCore::LayerRendererChromium::initializeSharedObjects):
1958         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1959         * platform/graphics/chromium/LayerRendererChromium.h:
1960         (WebCore::LayerRendererChromium::tilerSharedValues):
1961         * platform/graphics/chromium/LayerTilerChromium.cpp:
1962         (WebCore::LayerTilerChromium::create):
1963         (WebCore::LayerTilerChromium::LayerTilerChromium):
1964         (WebCore::LayerTilerChromium::setTileSize):
1965         (WebCore::LayerTilerChromium::reset):
1966         (WebCore::LayerTilerChromium::contentRectToTileIndices):
1967         (WebCore::LayerTilerChromium::tileIndex):
1968         (WebCore::LayerTilerChromium::tileContentRect):
1969         (WebCore::LayerTilerChromium::tileLayerRect):
1970         (WebCore::LayerTilerChromium::layerSize):
1971         (WebCore::LayerTilerChromium::layerTileSize):
1972         (WebCore::LayerTilerChromium::invalidateEntireLayer):
1973         (WebCore::LayerTilerChromium::draw):
1974         (WebCore::LayerTilerChromium::resizeLayer):
1975         (WebCore::LayerTilerChromium::growLayerToContain):
1976         (WebCore::LayerTilerChromium::drawTexturedQuad):
1977         (WebCore::LayerTilerChromium::SharedValues::SharedValues):
1978         (WebCore::LayerTilerChromium::SharedValues::~SharedValues):
1979         * platform/graphics/chromium/LayerTilerChromium.h:
1980         (WebCore::LayerTilerChromium::SharedValues::tilerShaderProgram):
1981         (WebCore::LayerTilerChromium::SharedValues::shaderSamplerLocation):
1982         (WebCore::LayerTilerChromium::SharedValues::shaderMatrixLocation):
1983         (WebCore::LayerTilerChromium::SharedValues::shaderAlphaLocation):
1984         (WebCore::LayerTilerChromium::SharedValues::shaderTexTransformLocation):
1985         (WebCore::LayerTilerChromium::SharedValues::initialized):
1986         * platform/graphics/gpu/TilingData.cpp:
1987         (WebCore::computeNumTiles):
1988         (WebCore::TilingData::TilingData):
1989         (WebCore::TilingData::setTotalSize):
1990         (WebCore::TilingData::setMaxTextureSize):
1991         (WebCore::TilingData::tileSizeX):
1992         (WebCore::TilingData::tileSizeY):
1993         (WebCore::TilingData::textureOffset):
1994         (WebCore::TilingData::recomputeNumTiles):
1995         * platform/graphics/gpu/TilingData.h:
1996
1997 2011-02-14  Andrey Adaikin  <aandrey@google.com>
1998
1999         Reviewed by Pavel Feldman.
2000
2001         Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization
2002         https://bugs.webkit.org/show_bug.cgi?id=54388
2003
2004         * inspector/front-end/TextViewer.js:
2005         (WebInspector.TextViewer.prototype.set readOnly):
2006         (WebInspector.TextEditorChunkedPanel):
2007         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2008         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2009         (WebInspector.TextEditorChunkedPanel.prototype.beginDomUpdates):
2010         (WebInspector.TextEditorChunkedPanel.prototype.endDomUpdates):
2011         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2012         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2013         (WebInspector.TextEditorMainPanel):
2014         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
2015         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2016         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2017         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2018         (WebInspector.TextEditorMainPanel.prototype.textChanged):
2019         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates.return):
2020         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2021         (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
2022         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2023         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
2024         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2025         (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
2026         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2027
2028 2011-02-14  Pavel Podivilov  <podivilov@chromium.org>
2029
2030         Reviewed by Yury Semikhatsky.
2031
2032         Web Inspector: use call frame column to determine execution line in source frame.
2033         https://bugs.webkit.org/show_bug.cgi?id=54001
2034
2035         - Make call frame line and column zero based
2036         - Set execution line in source frame based on call frame line:column
2037         - Determine currently hit breakpoint based on call frame line:column
2038
2039         * bindings/js/JavaScriptCallFrame.cpp:
2040         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2041         * bindings/js/JavaScriptCallFrame.h:
2042         (WebCore::JavaScriptCallFrame::create):
2043         (WebCore::JavaScriptCallFrame::line):
2044         (WebCore::JavaScriptCallFrame::column):
2045         (WebCore::JavaScriptCallFrame::update):
2046         * bindings/js/ScriptDebugServer.cpp:
2047         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
2048         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2049         * bindings/v8/DebuggerScript.js:
2050         ():
2051         * inspector/front-end/BreakpointsSidebarPane.js:
2052         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
2053         * inspector/front-end/CallStackSidebarPane.js:
2054         (WebInspector.CallStackSidebarPane.prototype.update):
2055         * inspector/front-end/DebuggerModel.js:
2056         (WebInspector.DebuggerModel.prototype.continueToLocation):
2057         (WebInspector.DebuggerModel.prototype._pausedScript):
2058         (WebInspector.DebuggerModel.prototype._breakpointForCallFrame):
2059         * inspector/front-end/ScriptsPanel.js:
2060         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2061         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
2062         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2063         * inspector/front-end/SourceFrame.js:
2064         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
2065         (WebInspector.SourceFrame.prototype.setExecutionLocation):
2066         (WebInspector.SourceFrame.prototype.clearExecutionLocation):
2067         (WebInspector.SourceFrame.prototype._setExecutionLocation):
2068         (WebInspector.SourceFrame.prototype._breakpointAdded):
2069         (WebInspector.SourceFrame.prototype._continueToLine):
2070         (WebInspector.SourceFrame.prototype._originalLocationToTextViewerLineNumber):
2071
2072 2011-02-14  Christian Dywan  <christian@lanedo.com>
2073
2074         Reviewed by Gustavo Noronha Silva.
2075
2076         Regression: Back, Forward, Reload hidden in context menu
2077         https://bugs.webkit.org/show_bug.cgi?id=54393
2078
2079         * page/ContextMenuController.cpp: Always show Back, Forward,
2080             Reload and Stop context menu items for the GTK+ port.
2081
2082 2011-02-14  Johnny Ding  <jnd@chromium.org>
2083
2084         Reviewed by Andreas Kling.
2085
2086         Move the finiteness check into common code.
2087
2088         Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
2089
2090         * html/canvas/CanvasRenderingContext2D.cpp:
2091         (WebCore::CanvasRenderingContext2D::isPointInPath):
2092
2093 2011-02-14  Roland Steiner  <rolandsteiner@chromium.org>
2094
2095         Reviewed by Kent Tamura.
2096
2097         Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded()
2098         https://bugs.webkit.org/show_bug.cgi?id=54377
2099
2100         Rearranged the condition blocks, removed superfluous conditions:
2101         .) if-statements where it's already clear that a search field is being generated
2102         .) testing for spin-buttons on field types that can never have them.
2103
2104         createInnerBlockStyle(): only search fields create an inner block, and
2105         these can never have spin buttons.
2106
2107         No new tests. (Refactoring - covered by existing tests)
2108
2109         * rendering/RenderTextControlSingleLine.cpp:
2110         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2111         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2112
2113 2011-02-10  Pavel Podivilov  <podivilov@chromium.org>
2114
2115         Reviewed by Yury Semikhatsky.
2116
2117         Web Inspector: refactoring, extract SourceMapping from SourceFrameContent.
2118         https://bugs.webkit.org/show_bug.cgi?id=54195
2119
2120         Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript.
2121         Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details.
2122
2123         * inspector/front-end/ResourceView.js:
2124         (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
2125         * inspector/front-end/ScriptFormatter.js:
2126         (WebInspector.ScriptFormatter.locationToPosition):
2127         (WebInspector.ScriptFormatter.positionToLocation):
2128         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
2129         (WebInspector.ScriptFormatter.prototype.formatContent):
2130         (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
2131         (WebInspector.SourceMappingForFormattedScript):
2132         (WebInspector.SourceMappingForFormattedScript.prototype.fromScriptLocation):
2133         (WebInspector.SourceMappingForFormattedScript.prototype.toScriptLocation):
2134         (WebInspector.SourceMappingForFormattedScript.prototype.originalPositionToFormattedLocation):
2135         (WebInspector.SourceMappingForFormattedScript.prototype._convertPosition):
2136         * inspector/front-end/ScriptsPanel.js:
2137         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
2138         * inspector/front-end/SourceFrame.js:
2139         (WebInspector.SourceFrame.prototype._createTextViewer):
2140         (WebInspector.SourceFrame.prototype._shouldDisplayBreakpoint):
2141         (WebInspector.SourceFrame.prototype.setExecutionLine):
2142         (WebInspector.SourceFrame.prototype.clearExecutionLine):
2143         (WebInspector.SourceFrame.prototype._breakpointAdded):
2144         (WebInspector.SourceFrame.prototype.formatSource.didFormat):
2145         (WebInspector.SourceFrame.prototype.formatSource):
2146         (WebInspector.SourceFrame.prototype._continueToLine):
2147         (WebInspector.SourceFrame.prototype._setBreakpoint):
2148         (WebInspector.SourceFrame.prototype._findBreakpoint):
2149         (WebInspector.SourceFrameContentProvider.prototype.requestContent):
2150         * inspector/front-end/SourceFrameContent.js:
2151         (WebInspector.SourceFrameContent):
2152         (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToScriptLocation):
2153         (WebInspector.SourceFrameContent.prototype.scriptLocationToSourceFrameLineNumber):
2154         (WebInspector.SourceFrameContent.prototype._sourceIDForSourceFrameLineNumber):
2155         (WebInspector.SourceMapping):
2156         (WebInspector.SourceMapping.prototype.fromScriptLocation):
2157         (WebInspector.SourceMapping.prototype.toScriptLocation):
2158         (WebInspector.IdenticalSourceMapping):
2159         (WebInspector.IdenticalSourceMapping.prototype.fromScriptLocation):
2160         (WebInspector.IdenticalSourceMapping.prototype.toScriptLocation):
2161         * inspector/front-end/utilities.js:
2162         (String.prototype.lineEndings):
2163
2164 2011-02-14  Pavel Feldman  <pfeldman@chromium.org>
2165
2166         Reviewed by Yury Semikhatsky.
2167
2168         Web Inspector: [REGRESSION introduced in r77950] Develop -> Start Debugging JavaScript does not open Web Inspector.
2169         https://bugs.webkit.org/show_bug.cgi?id=54277
2170
2171         * inspector/InspectorAgent.cpp:
2172         (WebCore::InspectorAgent::populateScriptObjects):
2173         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
2174         (WebCore::InspectorAgent::showAndEnableDebugger):
2175         (WebCore::InspectorAgent::showPanel):
2176         * inspector/InspectorAgent.h:
2177         * inspector/InspectorController.cpp:
2178         (WebCore::InspectorController::showAndEnableDebugger):
2179         (WebCore::InspectorController::stopUserInitiatedProfiling):
2180
2181 2011-02-14  Kenichi Ishibashi  <bashi@chromium.org>
2182
2183         Reviewed by Andreas Kling.
2184
2185         css style="max-width:none" works wrong
2186         https://bugs.webkit.org/show_bug.cgi?id=53743
2187
2188         Fix a bug that "max-width:none" works wrong.
2189         See also: http://trac.webkit.org/changeset/13462
2190
2191         Test: fast/css/max-width-none.html
2192
2193         * css/CSSStyleSelector.cpp:
2194         (WebCore::CSSStyleSelector::applyProperty): For max-width of none,
2195         set it to Length(undefinedLength, Fixed), which is the correct
2196         value.
2197
2198 2011-02-14  Antti Koivisto  <antti@apple.com>
2199
2200         Reviewed by Andreas Kling.
2201
2202         REGRESSION (r77834): Assertion failing in svg/custom/use-multiple-on-nested-disallowed-font.svg
2203         https://bugs.webkit.org/show_bug.cgi?id=54344
2204         
2205         Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc.
2206
2207         * dom/Document.cpp:
2208         (WebCore::Document::Document):
2209         (WebCore::Document::recalcStyle):
2210         (WebCore::Document::recalcStyleSelector):
2211         * dom/Document.h:
2212
2213 2011-02-14  Naoki Takano  <takano.naoki@gmail.com>
2214
2215         Reviewed by Kent Tamura.
2216
2217         [Chromium] Fix wrong popup position for RTL(again)
2218         https://bugs.webkit.org/show_bug.cgi?id=54375
2219
2220         Fix right position bug introduce by https://bugs.webkit.org/show_bug.cgi?id=53567, because the previous fix was correct for the current behaviour, but not good for http://crbug.com/60427. To calculate the correct right offset value and apply to the position, change WebCore::PopupContainer::layout() to return right offset value and use the returned value to calculate position.
2221
2222         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
2223
2224         * platform/chromium/PopupMenuChromium.cpp:
2225         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Change the input parameter to take popupInitialCoordinate again. And calculate correct right position with returned right offset from layoutAndGetRightOffset().
2226         (WebCore::PopupContainer::showPopup): Change the passing parameter to layoutAndCalculateWidgetRect().
2227         (WebCore::PopupContainer::layoutAndGetRightOffset): Change the name from layout() and to return rightOffset value.
2228         (WebCore::PopupContainer::refresh): Change the passing parameter to layoutAndCalculateWidgetRect().
2229         * platform/chromium/PopupMenuChromium.h: Change the function name and parameters.
2230
2231 2011-02-14  Alejandro G. Castro  <alex@igalia.com>
2232
2233         Unreviewed, rolling out r78451.
2234         http://trac.webkit.org/changeset/78451
2235         https://bugs.webkit.org/show_bug.cgi?id=53898
2236
2237         It is causing crashes in some bots
2238
2239         * platform/text/TextCodecICU.cpp:
2240         (WebCore::newTextCodecICU):
2241         (WebCore::TextCodecICU::registerBaseEncodingNames):
2242         (WebCore::TextCodecICU::registerBaseCodecs):
2243         (WebCore::TextCodecICU::registerExtendedEncodingNames):
2244         (WebCore::TextCodecICU::registerExtendedCodecs):
2245         (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
2246         (WebCore::getGbkEscape):
2247         (WebCore::urlEscapedEntityCallback):
2248         (WebCore::gbkCallbackEscape):
2249         (WebCore::gbkUrlEscapedEntityCallack):
2250         (WebCore::gbkCallbackSubstitute):
2251         * platform/text/TextCodecICU.h:
2252         (WebCore::ICUConverterWrapper::ICUConverterWrapper):
2253         * platform/text/TextCodecUTF8.cpp:
2254         (WebCore::TextCodecUTF8::registerEncodingNames):
2255         (WebCore::nonASCIISequenceLength):
2256         (WebCore::decodeNonASCIISequence):
2257         (WebCore::TextCodecUTF8::decode):
2258         * platform/text/TextCodecUTF8.h:
2259         * platform/text/TextEncodingRegistry.cpp:
2260         (WebCore::buildBaseTextCodecMaps):
2261         (WebCore::extendTextCodecMaps):
2262
2263 2011-02-13  Antti Koivisto  <antti@apple.com>
2264
2265         Reviewed by Dan Bernstein.
2266
2267         https://bugs.webkit.org/show_bug.cgi?id=54376
2268         Make sorting of matched rules faster
2269         
2270         - use std::sort
2271         - cache specificity, it is slow to compute
2272         - inline compare function
2273
2274         * css/CSSStyleSelector.cpp:
2275         (WebCore::RuleData::specificity):
2276         (WebCore::CSSStyleSelector::matchRules):
2277         (WebCore::compareRules):
2278         (WebCore::CSSStyleSelector::sortMatchedRules):
2279         (WebCore::RuleData::RuleData):
2280         (WebCore::CSSStyleSelector::matchPageRules):
2281         * css/CSSStyleSelector.h:
2282
2283 2011-02-12  Darin Adler  <darin@apple.com>
2284
2285         Reviewed by Alexey Proskuryakov.
2286
2287         Add built-in decoder for UTF-8 for improved performance
2288         https://bugs.webkit.org/show_bug.cgi?id=53898
2289
2290         Covered by existing tests; not adding new tests at this time.
2291
2292         This patch now handles errors in the same way the existing codecs do,
2293         and so passes our tests. The previous version failed some tests because
2294         of incorrect error handling.
2295
2296         * platform/text/TextCodecICU.cpp:
2297         (WebCore::create): Renamed from newTextCodecICU, made a static member
2298         function, and added a call to adoptPtr.
2299         (WebCore::TextCodecICU::registerEncodingNames): Renamed from
2300         registerExtendedEncodingNames since this class is no longer used for
2301         base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
2302         (WebCore::TextCodecICU::registerCodecs): Renamed.
2303         (WebCore::fallbackForGBK): Renamed to conform to our current style.
2304
2305         * platform/text/TextCodecICU.h: Updated for above changes. Changed
2306         indentation. Made most functions private, including virtual function
2307         overrides. Marked ICUConverterWrapper noncopyable.
2308
2309         * platform/text/TextCodecUTF8.cpp:
2310         (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
2311         that were formerly added by TextCodecICU.
2312         (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
2313         bytes F5-FF instead of failing.
2314         (WebCore::decodeNonASCIISequence): Tweaked coding style.
2315         (WebCore::appendCharacter): Added. Makes it easier to share code between
2316         the partial-character handling and main loop.
2317         (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
2318         where there is a partial sequence. Fixed partial sequence handling so that
2319         goto is no longer needed, since compilers sometimes make poor code when
2320         goto is involved. Added a loop for partial sequences since we consume only
2321         one byte when a partial sequence is invalid. Fixed logic in main decoding
2322         loop so goto is not needed. Used early-exit style in both loops so the main
2323         flow is not nested inside if statements. Added correct error handling for
2324         flush when a partial sequence remains, which involved wrapping the function
2325         in yet another loop.
2326
2327         * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
2328
2329         * platform/text/TextEncodingRegistry.cpp:
2330         (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
2331         calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
2332         to be included here.
2333         (WebCore::extendTextCodecMaps): Updated for the name change of the
2334         TextCodecICU functions.
2335
2336 2011-02-13  Mark Rowe  <mrowe@apple.com>
2337
2338         Reviewed by Maciej Stachowiak.
2339
2340         <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods.
2341
2342         * platform/network/mac/AuthenticationMac.mm:
2343         (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
2344         (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
2345
2346 2011-02-13  Simon Fraser  <simon.fraser@apple.com>
2347
2348         Reviewed by Andreas Kling.
2349
2350         Repeating gradients drawn incorrectly
2351         https://bugs.webkit.org/show_bug.cgi?id=53502
2352         
2353         The 'forward-fill' logic for repeating gradients used the wrong
2354         starting stop index (0 rather than the original first index), which
2355         resulted in incorrect gradients if backwards-fill had already been
2356         applied.
2357
2358         Test: fast/gradients/css3-repeating-end-fill.html
2359
2360         * css/CSSGradientValue.cpp:
2361         (WebCore::CSSGradientValue::addStops):
2362
2363 2011-02-13  Benjamin Poulain  <benjamin.poulain@nokia.com>
2364
2365         Reviewed by Andreas Kling.
2366
2367         Unused variable result in RenderBlock::addOverflowFromFloats()
2368         https://bugs.webkit.org/show_bug.cgi?id=54363
2369
2370         Remove the unused variable.
2371
2372         * rendering/RenderBlock.cpp:
2373         (WebCore::RenderBlock::addOverflowFromFloats):
2374
2375 2011-02-13  Cameron Zwarich  <zwarich@apple.com>
2376
2377         Reviewed by Anders Carlsson.
2378
2379         WebCore fails to build with Clang's -Woverloaded-virtual
2380         https://bugs.webkit.org/show_bug.cgi?id=54367
2381
2382         * loader/PingLoader.h:
2383         (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature
2384         in the base class.
2385
2386 2011-02-13  Nico Weber  <thakis@chromium.org>
2387
2388         Reviewed by Anders Carlsson.
2389
2390         RenderBR::width() tries but fails to override RenderText::width()
2391         https://bugs.webkit.org/show_bug.cgi?id=54301
2392
2393         The superclass method's signature changed, e.g. in
2394         http://trac.webkit.org/changeset/57215, but the subclass was not
2395         updated.
2396
2397         * rendering/RenderBR.h:
2398         (WebCore::RenderBR::width):
2399
2400 2011-02-13  Andreas Kling  <kling@webkit.org>
2401
2402         Reviewed by Dirk Schulze.
2403
2404         Canvas: 2d.fillStyle.parse.system.html fails
2405         https://bugs.webkit.org/show_bug.cgi?id=39168
2406
2407         Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org>
2408         and Jan Erik Hanssen <jhanssen@sencha.com>
2409
2410         * css/CSSParser.cpp:
2411         (WebCore::CSSParser::parseColor): Changed the function to better match our
2412         early return policy. Also we now return false when we don't parse the color.
2413         This is needed for createFromString to fallback to using parseSystemColor.
2414
2415         (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
2416         the system colors.
2417
2418         * css/CSSParser.h: Added the new parseSystemColor method.
2419
2420         * html/canvas/CanvasRenderingContext2D.cpp:
2421         (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
2422         (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
2423
2424         * html/canvas/CanvasStyle.cpp:
2425         (WebCore::parseColor):
2426         (WebCore::parseColorOrCurrentColor):
2427         (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
2428         and fall back to parseSystemColor if it did not work.
2429
2430         * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
2431
2432 2011-02-13  Jeremy Moskovich  <jeremy@chromium.org>
2433
2434         Reviewed by Adam Barth.
2435
2436         Add a compile-time option to completely disable WebArchive support.
2437         https://bugs.webkit.org/show_bug.cgi?id=52712
2438
2439         Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
2440
2441         ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used
2442         in Safari for functionality such as "Save Image As" and Image copy & paste independent of
2443         WebArchive support.
2444
2445         Ports Affected:
2446             WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt.
2447             This patch preserves this behavior except that it also disables support in the Chromium port.
2448
2449         No behavior changes so no new tests.
2450
2451         * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends.
2452         * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port.
2453         * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef.
2454         (WebCore::DocumentLoader::commitLoad):
2455         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
2456         (WebCore::DocumentLoader::archiveResourceForURL):
2457         * loader/DocumentLoader.h:
2458         * loader/FrameLoader.cpp:
2459         (WebCore::FrameLoader::loadURLIntoChildFrame):
2460         (WebCore::FrameLoader::stopAllLoaders):
2461         (WebCore::FrameLoader::finishedLoadingDocument):
2462         * loader/FrameLoader.h:
2463         * loader/ResourceLoader.cpp:
2464         (WebCore::ResourceLoader::start):
2465         * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale.
2466         (WebCore::archiveMIMETypes):
2467         * page/Settings.cpp:
2468         * page/Settings.h:
2469         * platform/MIMETypeRegistry.cpp:
2470         (WebCore::initializeSupportedNonImageMimeTypes):
2471
2472 2011-02-13  Aparna Nandyal  <aparna.nand@wipro.com>
2473
2474         Reviewed by Andreas Kling.
2475
2476         [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL.
2477         https://bugs.webkit.org/show_bug.cgi?id=53320
2478
2479         The encoding that was done is corrected in the fix.  
2480         Replaced the KURL encoding function with QUrl API.
2481
2482         * platform/qt/DragDataQt.cpp:
2483         (WebCore::DragData::asURL):
2484
2485 2011-02-13  Leo Yang  <leo.yang.c@gmail.com>
2486
2487         Reviewed by Andreas Kling.
2488
2489         Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX()
2490         https://bugs.webkit.org/show_bug.cgi?id=54351
2491
2492         We were calling containingBlock() twice if the left is not auto. We only need to call it
2493         once because we can use 'cb' variable in the following line.
2494
2495         No functionality change, no new tests.
2496
2497         * rendering/RenderBoxModelObject.cpp:
2498         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2499
2500 2011-02-13  Jarred Nicholls  <jarred@sencha.com>
2501
2502         Reviewed by Simon Fraser.
2503
2504         getComputedStyle returns wrong value for margin-right
2505         https://bugs.webkit.org/show_bug.cgi?id=13343
2506         
2507         Matching IE, Firefox, and Opera behavior by returning the computed margin
2508         values as specified, rather than the used/auto values (calculated via RenderBox).
2509         Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable.
2510         Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE
2511         returns the specified percentage.
2512
2513         Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html
2514                fast/css/getComputedStyle/getComputedStyle-margin-length.html
2515                fast/css/getComputedStyle/getComputedStyle-margin-percentage.html
2516
2517         * css/CSSComputedStyleDeclaration.cpp:
2518         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2519
2520 2011-02-13  Adam Barth  <abarth@webkit.org>
2521
2522         Reviewed by Sam Weinig.
2523
2524         crypto.getRandomValues should throw TYPE_MISMATCH_ERR
2525         https://bugs.webkit.org/show_bug.cgi?id=54346
2526
2527         As requested by Sam.
2528
2529         * page/Crypto.cpp:
2530         (WebCore::Crypto::getRandomValues):
2531
2532 2011-02-13  Alexey Proskuryakov  <ap@apple.com>
2533
2534         Reviewed by Dan Bernstein.
2535
2536         https://bugs.webkit.org/show_bug.cgi?id=54349
2537         Inline some accessors in PrintContext
2538
2539         No change in behavior, so no tests.
2540
2541         * WebCore.exp.in:
2542         * page/PrintContext.cpp:
2543         * page/PrintContext.h:
2544         (WebCore::PrintContext::pageCount):
2545         (WebCore::PrintContext::pageRect):
2546         Inline pageCount() and pageRect() to match pageRects().
2547
2548 2011-02-13  Sam Weinig  <sam@webkit.org>
2549
2550         Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back
2551         in with fixes to make it work with render layers.
2552
2553         * platform/mac/ScrollAnimatorMac.h:
2554         * platform/mac/ScrollAnimatorMac.mm:
2555         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
2556         (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
2557         (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
2558         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
2559         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2560         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2561         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2562         * rendering/RenderLayer.cpp:
2563         (WebCore::RenderLayer::RenderLayer):
2564         (WebCore::RenderLayer::contentsSize):
2565         (WebCore::RenderLayer::visibleHeight):
2566         (WebCore::RenderLayer::visibleWidth):
2567         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2568         * rendering/RenderLayer.h:
2569         * rendering/RenderListBox.cpp:
2570         (WebCore::RenderListBox::visibleHeight):
2571         (WebCore::RenderListBox::visibleWidth):
2572         * rendering/RenderListBox.h:
2573
2574 2011-02-13  Sam Weinig  <sam@webkit.org>
2575
2576         Reviewed by Dan Bernstein.
2577
2578         Some Scrollbar functions assume an attached ScrollableArea but can be called without one
2579         https://bugs.webkit.org/show_bug.cgi?id=54262
2580
2581         Make sure that all calls to the scrollable area are null checked.
2582
2583         * platform/Scrollbar.cpp:
2584         (WebCore::Scrollbar::autoscrollPressedPart):
2585         (WebCore::Scrollbar::moveThumb):
2586         (WebCore::Scrollbar::mouseMoved):
2587
2588 2011-02-13  Sam Weinig  <sam@webkit.org>
2589
2590         Roll out r78424. It broke a bunch of tests.
2591
2592         * platform/mac/ScrollAnimatorMac.h:
2593         * platform/mac/ScrollAnimatorMac.mm:
2594         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
2595         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2596         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2597         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2598         * rendering/RenderLayer.cpp:
2599         * rendering/RenderLayer.h:
2600         (WebCore::RenderLayer::contentsSize):
2601         * rendering/RenderListBox.cpp:
2602         * rendering/RenderListBox.h:
2603
2604 2011-02-12  Sam Weinig  <sam@webkit.org>
2605
2606         Reviewed by Dan Bernstein.
2607
2608         WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)
2609         <rdar://problem/8984760> 
2610
2611         When going down the smooth scroll path, constrained scrolls (such as those from a
2612         Mighty Mouse) were being correctly constrained at the ScrollView level, but the 
2613         duplicate values being stored by the animator were not being constrained correctly.
2614
2615         In order to implement the constraint at this level, more of the ScrollableArea's API
2616         needed to be filled in for RenderLayer and RenderListBox.
2617
2618         * platform/mac/ScrollAnimatorMac.h:
2619         * platform/mac/ScrollAnimatorMac.mm:
2620         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay
2621         consistent and get the desired behavior.
2622
2623         (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
2624         (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
2625         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
2626         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2627         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2628         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2629         Ensure that the scroll animators view of the current scroll position is the
2630         same as the scrollable areas by correctly clamping the value.
2631
2632         * rendering/RenderLayer.cpp:
2633         (WebCore::RenderLayer::contentsSize): Correct implementation
2634         to use the scroll size, not the visible size.
2635         (WebCore::RenderLayer::visibleHeight):
2636         (WebCore::RenderLayer::visibleWidth):
2637         * rendering/RenderLayer.h:
2638         * rendering/RenderListBox.cpp:
2639         (WebCore::RenderListBox::visibleHeight):
2640         (WebCore::RenderListBox::visibleWidth):
2641         * rendering/RenderListBox.h:
2642         Add implementations for visibleHeight/visibleWidth.
2643
2644 2011-02-12  Adam Barth  <abarth@webkit.org>
2645
2646         Reviewed by Sam Weinig.
2647
2648         crypto.getRandomValues should support all integer array types
2649         https://bugs.webkit.org/show_bug.cgi?id=54342
2650
2651         As discussed on whatwg, we should support all the integer array types.
2652
2653         Test: security/crypto-random-values-types.html
2654
2655         * page/Crypto.cpp:
2656         (WebCore::Crypto::getRandomValues):
2657
2658 2011-02-12  Adam Barth  <abarth@webkit.org>
2659
2660         Reviewed by Mark Rowe.
2661
2662         Use /dev/urandom as the OSRandomSource on OS(DARWIN)
2663         https://bugs.webkit.org/show_bug.cgi?id=54279
2664
2665         Update the ifdef.  OS(UNIX) includes OS(DARWIN), so this change is
2666         should be a NOP.
2667
2668         * config.h:
2669
2670 2011-02-11  Zhenyao Mo  <zmo@google.com>
2671
2672         Reviewed by Kenneth Russell.
2673
2674         [chromium] Allow turning off multisampling through web preference settings
2675         https://bugs.webkit.org/show_bug.cgi?id=54321
2676
2677         * html/canvas/WebGLRenderingContext.cpp:
2678         (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so.
2679         * page/Settings.cpp: Add a flag for multisampling preference.
2680         (WebCore::Settings::Settings):
2681         (WebCore::Settings::setOpenGLMultisamplingEnabled):
2682         * page/Settings.h: Ditto.
2683         (WebCore::Settings::openGLMultisamplingEnabled):
2684
2685 2011-02-12  Ryosuke Niwa  <rniwa@webkit.org>
2686
2687         Reviewed by Tony Chang.
2688
2689         Deploy EditingStyle in applyBlockStyle and applyInlineStyle
2690         https://bugs.webkit.org/show_bug.cgi?id=53911
2691
2692         Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle.
2693         Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle.
2694         Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node*
2695         so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction.
2696
2697         No new tests are added since this is a refactoring.
2698
2699         * editing/ApplyStyleCommand.cpp:
2700         (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle.
2701         (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*.
2702         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection
2703         from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction.
2704         (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*.
2705         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead.
2706         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null.
2707         (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null.
2708         * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes.
2709         * editing/EditingStyle.cpp:
2710         (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument.
2711         (WebCore::EditingStyle::init): Supports PropertiesToInclude.
2712         (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle.
2713         * editing/EditingStyle.h:
2714         (WebCore::EditingStyle::create): Supports PropertiesToInclude.
2715
2716 2011-02-12  Jochen Eisinger  <jochen@chromium.org>
2717
2718         Reviewed by Jeremy Orlow.
2719
2720         Implement IDBObjectStore::clear
2721         https://bugs.webkit.org/show_bug.cgi?id=54193
2722
2723         Test: storage/indexeddb/objectstore-clear.html
2724
2725         * storage/IDBObjectStore.cpp:
2726         (WebCore::IDBObjectStore::clear):
2727         * storage/IDBObjectStore.h:
2728         * storage/IDBObjectStore.idl:
2729         * storage/IDBObjectStoreBackendImpl.cpp:
2730         (WebCore::IDBObjectStoreBackendImpl::clear):
2731         (WebCore::doDelete):
2732         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
2733         * storage/IDBObjectStoreBackendImpl.h:
2734         * storage/IDBObjectStoreBackendInterface.h:
2735
2736 2011-02-12  Adam Barth  <abarth@webkit.org>
2737
2738         Another attempt to fix the EFL build.  Looks like we're missing one
2739         more file.
2740
2741         * CMakeLists.txt:
2742
2743 2011-02-12  Adam Barth  <abarth@webkit.org>
2744
2745         Attempt to fix the EFL build.  Apparently the CMake build had no
2746         concept of ArrayBuffers.
2747
2748         * CMakeLists.txt:
2749
2750 2011-02-12  Ryosuke Niwa  <rniwa@webkit.org>
2751
2752         Unreviewed build fix.
2753
2754         * dom/Range.cpp:
2755         (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode.
2756         (WebCore::Range::processContents):
2757         (WebCore::Range::processContentsBetweenOffsets):
2758
2759 2011-02-12  Adam Barth  <abarth@webkit.org>
2760
2761         CPP files belong in SOURCES not in HEADERS.  There are more errors like
2762         this for other disabled features, but I'm not fixing them in this
2763         patch.
2764
2765         * WebCore.pro:
2766
2767 2011-02-12  Adam Barth  <abarth@webkit.org>
2768
2769         Apparently lines in .pro files need to be \-terminated.
2770
2771         * WebCore.pro:
2772
2773 2011-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2774
2775         Reviewed by Darin Adler.
2776
2777         Extract a function to process contents for one node from Range::processContents
2778         https://bugs.webkit.org/show_bug.cgi?id=54282
2779
2780         Extracted Range::processContentsBetweenOffsets, which process contents of a node
2781         between two offsets. This function is used for the simple case where the start
2782         and the end containers are of the same node, and to process start and end containers
2783         in the complex case.
2784
2785         When the function takes a non-null fragment (simple case), it appends the processed
2786         contents to the fragment; character data and processing instruction's contents are copied
2787         between the offsets, and descendants are copied for node of other types (not node itself).
2788
2789         When the fragment is null (complex case), the function copies contents of character data,
2790         processing instruction, and node of other types (including node itself).
2791
2792         No new tests are added since this is a refactoring.
2793
2794         * dom/Range.cpp:
2795         (WebCore::highestAncestorUnderCommonRoot): Added.
2796         (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
2797         processContentsBetweenOffsets.
2798         (WebCore::Range::processContentsBetweenOffsets): Added.
2799         * dom/Range.h:
2800
2801 2011-02-12  Adam Barth  <abarth@webkit.org>
2802
2803         Attempt to fix the Qt Windows build.
2804
2805         * WebCore.pro:
2806
2807 2011-02-12  Adam Barth  <abarth@webkit.org>
2808
2809         Reviewed by Kenneth Russell.
2810
2811         Enable ArrayBuffers by default
2812         https://bugs.webkit.org/show_bug.cgi?id=54310
2813
2814         As discussed on webkit-dev, ArrayBuffers are used by a bunch of
2815         different APIs, implemented by Firefox, and appear to be stable.
2816         Keeping them conditional is a large mantainance burden than it's worth.
2817
2818         * DerivedSources.cpp:
2819         * WebCore.vcproj/WebCore.vcproj:
2820         * bindings/generic/RuntimeEnabledFeatures.h:
2821         (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
2822         * bindings/js/JSArrayBufferCustom.cpp:
2823         * bindings/js/JSBindingsAllInOne.cpp:
2824         * bindings/js/JSDOMWindowCustom.cpp:
2825         * bindings/js/JSDataViewCustom.cpp:
2826         * bindings/js/JSFloat32ArrayCustom.cpp:
2827         * bindings/js/JSInt16ArrayCustom.cpp:
2828         * bindings/js/JSInt32ArrayCustom.cpp:
2829         * bindings/js/JSInt8ArrayCustom.cpp:
2830         * bindings/js/JSUint16ArrayCustom.cpp:
2831         * bindings/js/JSUint32ArrayCustom.cpp:
2832         * bindings/js/JSUint8ArrayCustom.cpp:
2833         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2834         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2835         * bindings/v8/custom/V8DataViewCustom.cpp:
2836         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
2837         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
2838         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
2839         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
2840         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
2841         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
2842         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
2843         * html/canvas/ArrayBuffer.cpp:
2844         * html/canvas/ArrayBuffer.idl:
2845         * html/canvas/ArrayBufferView.cpp:
2846         * html/canvas/ArrayBufferView.idl:
2847         * html/canvas/DataView.cpp:
2848         * html/canvas/DataView.idl:
2849         * html/canvas/Float32Array.cpp:
2850         * html/canvas/Float32Array.idl:
2851         * html/canvas/Int16Array.cpp:
2852         * html/canvas/Int16Array.idl:
2853         * html/canvas/Int32Array.cpp:
2854         * html/canvas/Int32Array.idl:
2855         * html/canvas/Int8Array.cpp:
2856         * html/canvas/Int8Array.idl:
2857         * html/canvas/Uint16Array.cpp:
2858         * html/canvas/Uint16Array.idl:
2859         * html/canvas/Uint32Array.cpp:
2860         * html/canvas/Uint32Array.idl:
2861         * html/canvas/Uint8Array.cpp:
2862         * html/canvas/Uint8Array.idl:
2863         * page/Crypto.cpp:
2864         (WebCore::Crypto::getRandomValues):
2865         * page/Crypto.h:
2866         * page/Crypto.idl:
2867         * page/DOMWindow.idl:
2868         * workers/WorkerContext.idl:
2869
2870 2011-02-11  Yael Aharon  <yael.aharon@nokia.com>
2871
2872         Reviewed by Darin Adler.
2873
2874         Background image positioning on RTL text
2875         https://bugs.webkit.org/show_bug.cgi?id=32862
2876
2877         When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order.
2878
2879         Tests: fast/inline/inline-box-background-long-image.html
2880                fast/inline/inline-box-background-repeat-x.html
2881                fast/inline/inline-box-background-repeat-y.html
2882                fast/inline/inline-box-background.html
2883
2884         * rendering/InlineFlowBox.cpp:
2885         (WebCore::InlineFlowBox::paintFillLayer):
2886
2887 2011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2888
2889         Unreviewed, rolling out r78044.
2890         http://trac.webkit.org/changeset/78044
2891         https://bugs.webkit.org/show_bug.cgi?id=54318
2892
2893         Broke Safari extensions (Requested by eseidel on #webkit).
2894
2895         * platform/KURL.cpp:
2896         (WebCore::KURL::parse):
2897
2898 2011-02-11  Beth Dakin  <bdakin@apple.com>
2899
2900         Reviewed by Sam Weinig.
2901
2902         Fix for <rdar://problem/8976456> Scrollbars for overflow
2903         areas never appear for WKScrollbarPainter scrollers
2904
2905         Call ScrollableArea::didAddVerticalScrollbar() and 
2906         ScrollableArea::willRemoveVerticalScrollbar() when
2907         appropriate for RenderLayers.
2908         * rendering/RenderLayer.cpp:
2909         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2910         (WebCore::RenderLayer::setHasVerticalScrollbar):
2911
2912 2011-02-11  Eric Seidel  <eric@webkit.org>
2913
2914         Reviewed by Adam Barth.
2915
2916         KURL should remove default port numbers when cannonicalizing urls (to match every other browser)
2917         https://bugs.webkit.org/show_bug.cgi?id=54090
2918
2919         * platform/KURL.cpp:
2920         (WebCore::isDefaultPortForScheme):
2921         (WebCore::KURL::parse):
2922
2923 2011-02-11  Mike Reed  <reed@google.com>
2924
2925         Reviewed by James Robinson.
2926
2927         Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend
2928         is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp
2929
2930         No new tests. All existing canvas layouttests exercise this code path
2931
2932         * platform/graphics/skia/PlatformContextSkia.cpp:
2933         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
2934
2935 2011-02-11  Adam Klein  <adamk@chromium.org>
2936
2937         Reviewed by Darin Adler.
2938
2939         Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry
2940         https://bugs.webkit.org/show_bug.cgi?id=54304
2941
2942         This avoids potential crashes in HashMap, as WTF's StringHash doesn't
2943         accept empty Strings.
2944
2945         * platform/SchemeRegistry.cpp:
2946         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
2947         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
2948         (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
2949
2950 2011-02-11  Adam Klein  <adamk@chromium.org>
2951
2952         Reviewed by Darin Fisher.
2953
2954         [fileapi] Add support for filesystem: URI handling
2955         https://bugs.webkit.org/show_bug.cgi?id=53529
2956
2957         There are two major parts to this patch: one is to add an
2958         implementation of Entry.toURI to the FileSystem API.
2959         The other is to implement security origin checking for this
2960         new scheme.
2961
2962         All changes are guarded by the FILE_SYSTEM feature. An accompanying
2963         Chromium change, to support loading of filesystem: URIs, has recently
2964         been submitted as Chromium r74082.
2965
2966         Spec:
2967           http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2
2968         Proposed URI format, and discussion of security origin issues:
2969           http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html
2970
2971         Tests: fast/filesystem/directory-entry-to-uri.html
2972                fast/filesystem/file-entry-to-uri.html
2973                fast/filesystem/filesystem-uri-origin.html
2974                http/tests/security/filesystem-iframe-from-remote.html
2975
2976         * fileapi/Entry.cpp:
2977         (WebCore::Entry::toURI):
2978         * fileapi/Entry.h:
2979         * fileapi/Entry.idl:
2980         - Added toURI method to the IDL, omitting the MIME type argument
2981           specified in the spec as it will soon be removed.
2982         * page/SecurityOrigin.cpp:
2983         (WebCore::SecurityOrigin::SecurityOrigin):
2984         - crack the filesystem: URI to get at the origin of the site
2985         (WebCore::SecurityOrigin::canDisplay):
2986         - canDisplay for filesystem: URIs is equivalent to canRequest
2987         * platform/AsyncFileSystem.cpp:
2988         (WebCore::AsyncFileSystem::create):
2989         (WebCore::AsyncFileSystem::openFileSystem):
2990         * platform/AsyncFileSystem.h:
2991         (WebCore::AsyncFileSystem::type):
2992         - Exposed filesystem type to allow toURI to use it as part of the
2993           path.
2994         (WebCore::AsyncFileSystem::AsyncFileSystem):
2995         * platform/SchemeRegistry.cpp:
2996         (WebCore::canDisplayOnlyIfCanRequestSchemes):
2997         (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
2998         (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
2999         - Generalized canDisplayOnlyIfCanRequest as it applies to both
3000           filesystem: and blob: URIs.
3001         * platform/SchemeRegistry.h:
3002
3003 2011-02-11  Beth Dakin  <bdakin@apple.com>
3004
3005         Reviewed by Darin Adler.
3006
3007         Fix for <rdar://problem/8961061> CrashTracer: [USER] 
3008         1 crash at com.apple.WebCore: 
3009         -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62
3010
3011         Must check for null _animator.
3012         * platform/mac/ScrollAnimatorMac.mm:
3013         (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
3014         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
3015         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
3016         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
3017         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
3018         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3019         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
3020
3021 2011-02-11  Chris Rogers  <crogers@google.com>
3022
3023         Reviewed by Kenneth Russell.
3024
3025         Throw exception when AudioContext's createBuffer() fails to properly decode audio file data
3026         https://bugs.webkit.org/show_bug.cgi?id=54158
3027
3028         No new tests since audio API is not yet implemented.
3029
3030         * bindings/js/JSAudioContextCustom.cpp:
3031         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
3032         (WebCore::JSAudioContext::createBuffer):
3033         * bindings/v8/custom/V8AudioContextCustom.cpp:
3034         (WebCore::V8AudioContext::createBufferCallback):
3035         * platform/audio/chromium/AudioBusChromium.cpp:
3036         (WebCore::createBusFromInMemoryAudioFile):
3037         * webaudio/AudioContext.idl:
3038
3039 2011-02-11  Mike Reed  <reed@google.com>
3040
3041         Reviewed by James Robinson.
3042
3043         Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing
3044         the address returned by getPixels() (as the device may not be backed by a CPU bitmap)
3045         https://bugs.webkit.org/show_bug.cgi?id=54224
3046
3047         No new tests. Existing canvas tests exercise this...
3048         fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html
3049
3050         * platform/graphics/skia/ImageBufferSkia.cpp:
3051         (WebCore::ImageBuffer::toDataURL):
3052
3053 2011-02-11  Andrew Wason  <rectalogic@rectalogic.com>
3054
3055         Reviewed by David Levin.
3056
3057         Files missing ENABLE_VIDEO #ifdef
3058         https://bugs.webkit.org/show_bug.cgi?id=53390
3059
3060         No new tests.
3061
3062         * html/canvas/WebGLRenderingContext.cpp:
3063         * html/canvas/WebGLRenderingContext.h:
3064         * html/canvas/WebGLRenderingContext.idl:
3065           Wrap methods and declarations that use HTMLVideoElement
3066           with #if ENABLE(VIDEO).
3067
3068 2011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3069
3070         Unreviewed, rolling out r78331.
3071         http://trac.webkit.org/changeset/78331
3072         https://bugs.webkit.org/show_bug.cgi?id=54295
3073
3074         This patch broke 11 tests in GTK bots (Requested by svillar on
3075         #webkit).
3076
3077         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3078         (webkit_accessible_get_name):
3079         (webkit_accessible_detach):
3080
3081 2011-02-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3082
3083         Reviewed by Xan Lopez.
3084
3085         [GDOM] Video element needs proper wrapping
3086         https://bugs.webkit.org/show_bug.cgi?id=54231
3087
3088         Use the same strategy as the one used for the audio tag to wrap
3089         video as well. No layout tests because this only adds API.
3090
3091         * bindings/gobject/GNUmakefile.am:
3092         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3093         (WebKit::createVideoWrapper):
3094         (WebKit::createHTMLElementWrapper):
3095
3096 2011-02-11  Dirk Schulze  <krit@webkit.org>
3097
3098         Reviewed by Andreas Kling.
3099
3100         SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual)
3101         https://bugs.webkit.org/show_bug.cgi?id=54259
3102
3103         Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to
3104         avoid overloading a virtual function.
3105
3106         No change of functionality. Just fixing a build warning, so no new tests.
3107
3108         * svg/SVGAElement.cpp:
3109         (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
3110         * svg/SVGAltGlyphElement.cpp:
3111         (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
3112         * svg/SVGCircleElement.cpp:
3113         (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
3114         * svg/SVGClipPathElement.cpp:
3115         (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
3116         * svg/SVGEllipseElement.cpp:
3117         (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
3118         * svg/SVGFEBlendElement.cpp:
3119         (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
3120         * svg/SVGFEColorMatrixElement.cpp:
3121         (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
3122         * svg/SVGFEComponentTransferElement.cpp:
3123         (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
3124         * svg/SVGFECompositeElement.cpp:
3125         (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
3126         * svg/SVGFEConvolveMatrixElement.cpp:
3127         (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
3128         * svg/SVGFEDiffuseLightingElement.cpp:
3129         (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
3130         * svg/SVGFEDisplacementMapElement.cpp:
3131         (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
3132         * svg/SVGFEFloodElement.cpp:
3133         (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
3134         * svg/SVGFEGaussianBlurElement.cpp:
3135         (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
3136         * svg/SVGFEImageElement.cpp:
3137         (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
3138         * svg/SVGFEMergeElement.cpp:
3139         (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
3140         * svg/SVGFEMorphologyElement.cpp:
3141         (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
3142         * svg/SVGFEOffsetElement.cpp:
3143         (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
3144         * svg/SVGFESpecularLightingElement.cpp:
3145         (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
3146         * svg/SVGFETileElement.cpp:
3147         (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
3148         * svg/SVGFETurbulenceElement.cpp:
3149         (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
3150         * svg/SVGFilterElement.cpp:
3151         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
3152         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3153         (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap):
3154         * svg/SVGFilterPrimitiveStandardAttributes.h:
3155         * svg/SVGFontElement.cpp:
3156         (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
3157         * svg/SVGForeignObjectElement.cpp:
3158         (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
3159         * svg/SVGGlyphElement.cpp:
3160         (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
3161         * svg/SVGGradientElement.cpp:
3162         (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap):
3163         * svg/SVGGradientElement.h:
3164         * svg/SVGImageElement.cpp:
3165         (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
3166         * svg/SVGLineElement.cpp:
3167         (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
3168         * svg/SVGLinearGradientElement.cpp:
3169         (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
3170         * svg/SVGMarkerElement.cpp:
3171         (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
3172         * svg/SVGMaskElement.cpp:
3173         (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
3174         * svg/SVGMissingGlyphElement.cpp:
3175         (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
3176         * svg/SVGPathElement.cpp:
3177         (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
3178         * svg/SVGPatternElement.cpp:
3179         (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
3180         * svg/SVGPolyElement.cpp:
3181         (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
3182         * svg/SVGRadialGradientElement.cpp:
3183         (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
3184         * svg/SVGRectElement.cpp:
3185         (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
3186         * svg/SVGStopElement.cpp:
3187         (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
3188         * svg/SVGStyledElement.cpp:
3189         (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap):
3190         * svg/SVGStyledElement.h:
3191         * svg/SVGStyledTransformableElement.cpp:
3192         (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap):
3193         * svg/SVGStyledTransformableElement.h:
3194         * svg/SVGSwitchElement.cpp:
3195         (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
3196         * svg/SVGSymbolElement.cpp:
3197         (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
3198         * svg/SVGTRefElement.cpp:
3199         (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
3200         * svg/SVGTSpanElement.cpp:
3201         (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
3202         * svg/SVGTextContentElement.cpp:
3203         (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap):
3204         * svg/SVGTextContentElement.h:
3205         * svg/SVGTextElement.cpp:
3206         (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
3207         * svg/SVGTextPathElement.cpp:
3208         (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
3209         * svg/SVGTextPositioningElement.cpp:
3210         (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):
3211         * svg/SVGTextPositioningElement.h:
3212         * svg/SVGTitleElement.cpp:
3213         (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
3214         * svg/SVGUseElement.cpp:
3215         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
3216         * svg/SVGViewElement.cpp:
3217         (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
3218
3219 2011-02-11  Andrey Adaikin  <aandrey@google.com>
3220
3221         Reviewed by Pavel Feldman.
3222
3223         Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view
3224         https://bugs.webkit.org/show_bug.cgi?id=54089
3225
3226         * inspector/front-end/Drawer.js:
3227         (WebInspector.Drawer.prototype.show.animationFinished):
3228         (WebInspector.Drawer.prototype.show):
3229         (WebInspector.Drawer.prototype.hide):
3230         (WebInspector.Drawer.prototype.resize):
3231         (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
3232         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
3233         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
3234         (WebInspector.Drawer.prototype._animateDrawerHeight):
3235         (WebInspector.Drawer.prototype._statusBarDragging):
3236         * inspector/front-end/inspector.js:
3237         (WebInspector.animateStyle):
3238         (WebInspector.animateStyle.forceComplete):
3239         (WebInspector.animateStyle.cancel):
3240         (WebInspector.showSourceLine):
3241
3242 2011-02-10  Nate Chapin  <japhet@chromium.org>
3243
3244         Reviewed by Adam Barth.
3245
3246         Make DocumentWriter a member of DocumentLoader
3247         instead of FrameLoader.
3248         https://bugs.webkit.org/show_bug.cgi?id=50489
3249
3250         Refactor, no new tests.
3251
3252         * bindings/ScriptControllerBase.cpp:
3253         (WebCore::ScriptController::executeIfJavaScriptURL):
3254         * dom/Document.cpp:
3255         (WebCore::Document::Document):
3256         (WebCore::Document::explicitClose):
3257         (WebCore::Document::lastModified):
3258         (WebCore::Document::initSecurityContext):
3259         (WebCore::Document::updateURLForPushOrReplaceState):
3260         * dom/Document.h:
3261         (WebCore::Document::setDocumentLoader):
3262         (WebCore::Document::loader):
3263         * html/MediaDocument.cpp:
3264         (WebCore::MediaDocument::replaceMediaElementTimerFired):
3265         * html/PluginDocument.cpp:
3266         (WebCore::PluginDocumentParser::createDocumentStructure):
3267         * loader/DocumentLoader.cpp:
3268         (WebCore::DocumentLoader::DocumentLoader):
3269         (WebCore::DocumentLoader::finishedLoading):
3270         (WebCore::DocumentLoader::commitData):
3271         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3272         (WebCore::DocumentLoader::setFrame):
3273         * loader/DocumentLoader.h:
3274         (WebCore::DocumentLoader::writer):
3275         * loader/DocumentWriter.cpp:
3276         (WebCore::DocumentWriter::begin):
3277         * loader/DocumentWriter.h:
3278         (WebCore::DocumentWriter::setFrame):
3279         * loader/FrameLoader.cpp:
3280         (WebCore::FrameLoader::FrameLoader):
3281         (WebCore::FrameLoader::init):
3282         (WebCore::FrameLoader::clear):
3283         (WebCore::FrameLoader::receivedFirstData):
3284         (WebCore::FrameLoader::transitionToCommitted):
3285         (WebCore::FrameLoader::open):
3286         (WebCore::FrameLoader::finishedLoadingDocument):
3287         (WebCore::FrameLoader::addExtraFieldsToRequest):
3288         * loader/FrameLoader.h:
3289         (WebCore::FrameLoader::notifier):
3290         * svg/graphics/SVGImage.cpp:
3291         (WebCore::SVGImage::dataChanged):
3292
3293 2011-02-10  Pavel Feldman  <pfeldman@chromium.org>
3294
3295         Reviewed by Yury Semikhatsky.
3296
3297         Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines.
3298         https://bugs.webkit.org/show_bug.cgi?id=54227
3299
3300         * dom/Document.cpp:
3301         (WebCore::Document::finishedParsing):
3302         * inspector/InspectorAgent.cpp:
3303         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3304         (WebCore::InspectorAgent::setFrontend):
3305         (WebCore::InspectorAgent::disconnectFrontend):
3306         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
3307         (WebCore::InspectorAgent::didCommitLoad):
3308         (WebCore::InspectorAgent::domContentLoadedEventFired):
3309         (WebCore::InspectorAgent::loadEventFired):
3310         (WebCore::InspectorAgent::startTimelineProfiler):
3311         (WebCore::InspectorAgent::stopTimelineProfiler):
3312         * inspector/InspectorAgent.h:
3313         * inspector/InspectorCSSAgent.cpp:
3314         * inspector/InspectorDOMAgent.cpp:
3315         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3316         (WebCore::InspectorDOMAgent::startListening):
3317         (WebCore::InspectorDOMAgent::stopListening):
3318         (WebCore::InspectorDOMAgent::mainDOMContentLoaded):
3319         (WebCore::InspectorDOMAgent::loadEventFired):
3320         * inspector/InspectorDOMAgent.h:
3321         (WebCore::InspectorDOMAgent::create):
3322         * inspector/InspectorDOMStorageAgent.cpp:
3323         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
3324         * inspector/InspectorDOMStorageAgent.h:
3325         (WebCore::InspectorDOMStorageAgent::create):
3326         * inspector/InspectorDOMStorageResource.h:
3327         * inspector/InspectorDatabaseAgent.cpp:
3328         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
3329         (WebCore::InspectorDatabaseAgent::executeSQL):
3330         (WebCore::InspectorDatabaseAgent::selectDatabase):
3331         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3332         * inspector/InspectorDatabaseAgent.h:
3333         (WebCore::InspectorDatabaseAgent::FrontendProvider::create):
3334         (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider):
3335         (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
3336         (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend):
3337         (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
3338         (WebCore::InspectorDatabaseAgent::create):
3339         * inspector/InspectorDatabaseResource.cpp:
3340         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
3341         (WebCore::InspectorDatabaseResource::bind):
3342         * inspector/InspectorDatabaseResource.h:
3343         * inspector/InspectorInstrumentation.cpp:
3344         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3345         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3346         * inspector/InspectorInstrumentation.h:
3347         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3348         (WebCore::InspectorInstrumentation::loadEventFired):
3349         * inspector/InspectorState.cpp:
3350         (WebCore::InspectorState::InspectorState):
3351         (WebCore::InspectorState::mute):
3352         (WebCore::InspectorState::updateCookie):
3353         * inspector/InspectorState.h:
3354         (WebCore::InspectorState::~InspectorState):
3355         * inspector/InspectorTimelineAgent.cpp:
3356         (WebCore::InspectorTimelineAgent::restore):
3357         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
3358         (WebCore::InspectorTimelineAgent::didCommitLoad):
3359         (WebCore::InspectorTimelineAgent::setFrontend):
3360         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3361         * inspector/InspectorTimelineAgent.h:
3362         (WebCore::InspectorTimelineAgent::create):
3363         * page/DOMWindow.cpp:
3364         (WebCore::DOMWindow::dispatchLoadEvent):
3365
3366 2011-02-11  Pavel Feldman  <pfeldman@chromium.org>
3367
3368         Reviewed by Yury Semikhatsky.
3369
3370         Web Inspector: command line API $0 regressed.
3371         https://bugs.webkit.org/show_bug.cgi?id=54283
3372
3373         * inspector/InjectedScriptSource.js:
3374
3375 2011-02-11  Janne Koskinen  <janne.p.koskinen@digia.com>
3376
3377         Reviewed by Andreas Kling.
3378
3379         [Qt][S60] Vertical borders of buttons and frames are misaligned
3380         https://bugs.webkit.org/show_bug.cgi?id=51169
3381
3382         Force anti-aliasing for lines and rects when using OpenVG backend on Symbian.
3383         OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates
3384         without anti-aliasing. Patch idea by Laszlo Agocs.
3385
3386         * platform/graphics/qt/GraphicsContextQt.cpp:
3387         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3388
3389 2011-02-11  Mario Sanchez Prada  <msanchez@igalia.com>
3390
3391         Reviewed by Xan Lopez.
3392
3393         [GTK] events missing when a document is (re)loaded
3394         https://bugs.webkit.org/show_bug.cgi?id=25831
3395
3396         Make sure webArea returns a proper name and that a signal
3397         'state-change::defunct' is emitted when detaching the wrapper.
3398
3399         Test: platform/gtk/accessibility/document-reload-events.html
3400
3401         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3402         (webkit_accessible_get_name): Returns the current document's title
3403         as fallback mechanism for webArea objects.
3404         (webkit_accessible_detach): Emit 'state-change::defunct' function
3405         as soon as the wrapper is detached from the related core object.
3406
3407 2011-02-11  Pavel Feldman  <pfeldman@chromium.org>
3408
3409         Reviewed by Yury Semikhatsky.
3410
3411         Web Inspector: command line's API inspect() is broken.
3412         https://bugs.webkit.org/show_bug.cgi?id=54275
3413
3414         Test: inspector/command-line-api.html
3415
3416         * inspector/InjectedScriptSource.js:
3417
3418 2011-02-11  Adam Barth  <abarth@webkit.org>
3419
3420         Turns out window.crypto is supposed to be readonly.
3421
3422         * page/DOMWindow.idl:
3423
3424 2011-02-11  Adam Barth  <abarth@webkit.org>
3425
3426         Actually add Crypto.cpp to the Windows build.  I'm terrible.
3427
3428         * WebCore.vcproj/WebCore.vcproj:
3429
3430 2011-02-11  Adam Barth  <abarth@webkit.org>
3431
3432         Attempt to fix the Windows build.  Apparently we don't support
3433         conditional attributes on functions.  This patch makes the whole Crypto
3434         interface conditional on ArrayBuffer support.
3435
3436         * page/DOMWindow.idl:
3437         * page/Crypto.cpp:
3438         * page/Crypto.h:
3439         * page/Crypto.idl:
3440
3441 2011-02-10  Antti Koivisto  <antti@apple.com>
3442
3443         Reviewed by Dave Hyatt.
3444
3445         Enable ancestor identifier filtering for tree building
3446         https://bugs.webkit.org/show_bug.cgi?id=54241
3447         
3448         Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent
3449         element stack as needed.
3450         
3451         This roughly halves the remaining time in style matching over a typical page load.
3452
3453         * css/CSSStyleSelector.cpp:
3454         (WebCore::CSSStyleSelector::pushParentStackFrame):
3455         (WebCore::CSSStyleSelector::popParentStackFrame):
3456         (WebCore::CSSStyleSelector::pushParent):
3457         (WebCore::CSSStyleSelector::popParent):
3458         * css/CSSStyleSelector.h:
3459         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
3460         * dom/Document.h:
3461         (WebCore::Document::styleSelectorIfExists):
3462         * dom/Element.cpp:
3463         (WebCore::Element::beginParsingChildren):
3464         (WebCore::Element::finishParsingChildren):
3465         * dom/Element.h:
3466
3467 2011-02-10  Adam Barth  <abarth@webkit.org>
3468
3469         Reviewed by Eric Seidel.
3470
3471         WebKit should have a cryptographic RNG
3472         https://bugs.webkit.org/show_bug.cgi?id=22049
3473
3474         Add crypto.getRandomValues.  Yes, all these diffs are required to
3475         expose a single function to the DOM.
3476
3477         Test: security/crypto-random-values.html
3478
3479         * Android.mk:
3480         * CMakeLists.txt:
3481         * DerivedSources.cpp:
3482         * DerivedSources.make:
3483         * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
3484         * GNUmakefile.am:
3485         * WebCore.gypi:
3486         * WebCore.pri:
3487         * WebCore.pro:
3488         * WebCore.vcproj/WebCore.vcproj:
3489         * WebCore.xcodeproj/project.pbxproj:
3490         * bindings/js/JSDOMWindowCustom.cpp:
3491         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3492         * config.h:
3493         * page/Crypto.cpp: Added.
3494         (WebCore::Crypto::Crypto):
3495         (WebCore::Crypto::getRandomValues):
3496         * page/Crypto.h: Added.
3497         (WebCore::Crypto::create):
3498         * page/Crypto.idl: Added.
3499         * page/DOMWindow.cpp:
3500         (WebCore::DOMWindow::clear):
3501         (WebCore::DOMWindow::crypto):
3502         * page/DOMWindow.h:
3503         (WebCore::DOMWindow::optionalCrypto):
3504         * page/DOMWindow.idl:
3505
3506 2011-02-11  Ryuan Choi  <ryuan.choi@samsung.com>
3507
3508         Unreviewed build fix.
3509
3510         [GTK] Build break with 2.18.3
3511         https://bugs.webkit.org/show_bug.cgi?id=54057
3512
3513         * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h
3514
3515 2011-02-11  Cosmin Truta  <ctruta@chromium.org>
3516
3517         Reviewed by Adam Barth.
3518
3519         Templatize KURLGooglePrivate::init
3520         https://bugs.webkit.org/show_bug.cgi?id=53749
3521
3522         No new tests. Refactoring.
3523
3524         * platform/KURLGoogle.cpp:
3525         (WebCore::KURLGooglePrivate::init):
3526         * platform/KURLGooglePrivate.h:
3527
3528 2011-02-10  Andy Estes  <aestes@apple.com>
3529
3530         Reviewed by Eric Seidel.
3531
3532         Convert ContainerNode::firstElementChild() to a free function.
3533         https://bugs.webkit.org/show_bug.cgi?id=54269
3534
3535         No new tests. No change in behavior.
3536         
3537         It seemed incorrect to have a method on ContainerNode that had the
3538         concept of an Element but couldn't return an Element*, but a method on
3539         Element could not be called by holders of ContainerNodes or other
3540         non-Element ContainerNode subclasses. A free function can both return
3541         an Element* and be called by anyone with a ContainerNode*.
3542
3543         * dom/ContainerNode.h:
3544         (WebCore::ContainerNode::lastChild):
3545         (WebCore::Node::lastChild):
3546         * dom/Document.cpp:
3547         (WebCore::Document::cacheDocumentElement):
3548         * dom/Element.cpp:
3549         (WebCore::Element::firstElementChild):
3550         * dom/Element.h:
3551         (WebCore::firstElementChild):
3552         * html/parser/HTMLTreeBuilder.cpp:
3553         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
3554
3555 2011-02-10  Mads Ager  <ager@chromium.org>
3556
3557         Reviewed by Nate Chapin.
3558
3559         [V8] Don't crash on exception getting event handler function
3560         https://bugs.webkit.org/show_bug.cgi?id=54216
3561
3562         Check for exceptions when attempting to get the handleEvent property
3563         of an event-handler object.
3564
3565         Test: fast/dom/exception-getting-event-handler.html
3566
3567         * bindings/v8/V8EventListener.cpp:
3568         (WebCore::V8EventListener::getListenerFunction):
3569
3570 2011-02-10  Naoki Takano  <takano.naoki@gmail.com>
3571
3572         Reviewed by James Robinson.
3573
3574         [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
3575         https://bugs.webkit.org/show_bug.cgi?id=53857
3576
3577         globalAlpha is not applied to fillPath() and fillRect().
3578
3579         Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
3580
3581         * platform/graphics/chromium/GLES2Canvas.cpp:
3582         (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called.
3583         (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor.
3584         (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor.
3585
3586 2011-02-10  Andy Estes  <aestes@apple.com>
3587
3588         Reviewed by Adam Barth.
3589
3590         Remove an unneeded argument from HTMLDocument::create().
3591         https://bugs.webkit.org/show_bug.cgi?id=54268
3592         
3593         Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for
3594         fragment parsing, there isn't a need to explicitly specify a baseURL
3595         when constructing an HTMLDocument. We can remove the unneeded argument.
3596         
3597         Also fix some style issues in Document.h and HTMLDocument.h caught by
3598         check-webkit-style.
3599
3600         No new tests. No change in behavior.
3601
3602         * dom/Document.cpp:
3603         (WebCore::Document::Document):
3604         * dom/Document.h:
3605         * html/HTMLDocument.cpp:
3606         (WebCore::HTMLDocument::HTMLDocument):
3607         * html/HTMLDocument.h:
3608         (WebCore::HTMLDocument::create):
3609
3610 2011-02-10  Michael Saboff  <msaboff@apple.com>
3611
3612         Reviewed by Geoffrey Garen.
3613
3614         Cached JavaScript Parser Data Being Left in Memory Cache
3615         https://bugs.webkit.org/show_bug.cgi?id=54245
3616
3617         Added logic in CachedScript to clear SourceProviderCache data in
3618         destroyDecodedData().  Added and changed CachedScript timeout to
3619         act similar to CachedImage.  Changed didAddClient to call super
3620         class method instead of duplicating the logic in the derived
3621         classes.
3622
3623         * loader/cache/CachedImage.cpp:
3624         (WebCore::CachedImage::didAddClient):
3625         * loader/cache/CachedScript.cpp:
3626         (WebCore::CachedScript::didAddClient):
3627         (WebCore::CachedScript::allClientsRemoved):
3628         (WebCore::CachedScript::script):
3629         (WebCore::CachedScript::destroyDecodedData):
3630         * loader/cache/CachedScript.h:
3631
3632 2011-02-10  Cosmin Truta  <ctruta@chromium.org>
3633
3634         Reviewed by David Levin.
3635
3636         Fix style in KURLGooglePrivate
3637         https://bugs.webkit.org/show_bug.cgi?id=54228
3638
3639         Replace occurrences of NULL with 0, '\0' or null (as applicable),
3640         to appease check-webkit-style.
3641
3642         No new tests. This is a style fix.
3643
3644         * platform/KURLGoogle.cpp:
3645         * platform/KURLGooglePrivate.h:
3646
3647 2011-02-10  Andy Estes  <aestes@apple.com>
3648
3649         Reviewed by Darin Adler.
3650
3651         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3652         https://bugs.webkit.org/show_bug.cgi?id=48719
3653         
3654         The HTML5 fragment parsing algorithm specifies that a new Document
3655         should be created to serve as the temporary parent of fragment nodes
3656         during parsing. Document creation is expensive and accounts for ~38% of
3657         the Peacekeeper DOM performance regression. Avoid the cost of creating
3658         a dummy document by using the already-created DocumentFragment as the
3659         root node during fragment parsing.
3660         
3661         With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
3662         is ~24%.
3663
3664         Test: fast/parser/fragment-parser-doctype.html
3665
3666         * dom/ContainerNode.h:
3667         (WebCore::ContainerNode::firstElementChild): Add a method that returns
3668         the first element-typed child from a ContainerNode.
3669         * dom/Document.cpp:
3670         (WebCore::Document::cacheDocumentElement): Call
3671         ContainerNode::firstElementChild() to retrieve and cache the document
3672         element.
3673         * html/parser/HTMLConstructionSite.cpp:
3674         (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the
3675         root ContainerNode.
3676         (WebCore::HTMLConstructionSite::detach): Clear the reference to the
3677         root ContainerNode.
3678         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3679         Attach the new element to the root ContainerNode.
3680         (WebCore::HTMLConstructionSite::insertDoctype): Ditto.
3681         (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto.
3682         * html/parser/HTMLConstructionSite.h: Store a pointer to a
3683         ContainerNode that will be used as the root node for document parsing.
3684         This node might or might not be the same as m_document.
3685         * html/parser/HTMLTreeBuilder.cpp:
3686         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the
3687         HTMLConstructionSite with the correct root ContainerNode based on
3688         whether or not we're parsing a fragment.
3689         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3690         Remove m_dummyDocumentForFragmentParsing.
3691         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the
3692         fragment has a context element, store only the children of the root
3693         element (HTML5 Section 10.4, Step 7).
3694         * html/parser/HTMLTreeBuilder.h:
3695
3696 2011-02-10  Beth Dakin  <bdakin@apple.com>
3697
3698         Reviewed by Oliver Hunt.
3699
3700         Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes
3701         in WebProcess at com.apple.AppKit: 
3702         -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154
3703
3704         * platform/mac/ScrollAnimatorMac.mm:
3705         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
3706
3707 2011-02-09  Jeremy Orlow  <jorlow@chromium.org>
3708
3709         Reviewed by Nate Chapin.
3710
3711         IndexedDB event targets need to ensure their wrappers aren't garbage collected
3712         https://bugs.webkit.org/show_bug.cgi?id=54144
3713
3714         hasActivityPending should return true as long as it's possible that we'll
3715         fire more event listeners on our event targets. It is still possible for
3716         user generated events to run into problems, but I'm not sure how to address
3717         that yet (or how big of a deal it is).
3718
3719         There's really no way to test this deterministically. Testing by hand makes
3720         it seem like this patch works as expected though.
3721
3722         * storage/IDBCursorBackendImpl.cpp:
3723         * storage/IDBDatabase.cpp:
3724         (WebCore::IDBDatabase::IDBDatabase):
3725         (WebCore::IDBDatabase::~IDBDatabase):
3726         (WebCore::IDBDatabase::hasPendingActivity):
3727         (WebCore::IDBDatabase::stop):
3728         * storage/IDBDatabase.h:
3729         * storage/IDBRequest.cpp:
3730         (WebCore::IDBRequest::IDBRequest):
3731         (WebCore::IDBRequest::hasPendingActivity):
3732         (WebCore::IDBRequest::dispatchEvent):
3733         (WebCore::IDBRequest::enqueueEvent):
3734         * storage/IDBRequest.h:
3735         * storage/IDBTransaction.cpp:
3736         (WebCore::IDBTransaction::finished):
3737         (WebCore::IDBTransaction::hasPendingActivity):
3738         (WebCore::IDBTransaction::dispatchEvent):
3739         (WebCore::IDBTransaction::canSuspend):
3740         (WebCore::IDBTransaction::contextDestroyed):
3741         (WebCore::IDBTransaction::enqueueEvent):
3742         * storage/IDBTransaction.h:
3743
3744 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3745
3746         Reviewed by Andreas Kling.
3747
3748         [Qt] create pkg-config files for mingw
3749         https://bugs.webkit.org/show_bug.cgi?id=54238
3750
3751         (mingw is mostly the same as unix)
3752
3753         This change was applied in the Qt repository (qt/src/3rdparty/webkit),
3754         so we should do the same here in QtWebKit.
3755
3756         Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by
3757         Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
3758         45fe2dddc3a0677b9ec9fce09f07cd4129e37afa
3759
3760         * WebCore.pro:
3761
3762 2011-02-10  Andreas Kling  <kling@webkit.org>
3763
3764         Reviewed by Antti Koivisto.
3765
3766         RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform
3767         https://bugs.webkit.org/show_bug.cgi?id=54246
3768
3769         * rendering/style/RenderStyle.h:
3770
3771 2011-02-10  Dirk Schulze  <krit@webkit.org>
3772
3773         Reviewed by Andreas Kling.
3774
3775         SVG animation avoid unnecessary adjust for currentColor
3776         https://bugs.webkit.org/show_bug.cgi?id=54243
3777
3778         At the moment we try to adjust every animation value for currentColor - independent of the animation type.
3779         Since the value is a string and the target element may needs to get called by getElementById, this could
3780         be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back
3781         as a string and parse it to Color afterwards again.
3782         With the patch we just adjust an animation value, if we use color animation. The color won't get saved and
3783         parsed as a string again.
3784
3785         No change of functionality, no new tests.
3786
3787         * svg/SVGAnimateElement.cpp:
3788         (WebCore::adjustForCurrentColor):
3789         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3790         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3791         * svg/SVGAnimationElement.cpp:
3792         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
3793         (WebCore::SVGAnimationElement::startedActiveInterval):
3794
3795 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3796
3797         Reviewed by Andreas Kling.
3798
3799         [Qt] Remove the use of deprecated qFindChildren()
3800         https://bugs.webkit.org/show_bug.cgi?id=54232
3801
3802         This was applied on the Qt repository and affects QtWebKit there.
3803         (13833beb641289c45faed337848d37280195aadc)
3804
3805         The side effect of this change is that we won't be able to build
3806         QtWebKit with MSVC 6, as it doesn't support member template functions
3807         (not sure if that's possible today anyway).
3808
3809         Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
3810         review reported as being from the mailing list.
3811
3812         The changes are result of the following commands:
3813
3814             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild
3815             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild
3816             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild
3817             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild
3818             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild
3819
3820         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3821         (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon):
3822
3823 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3824
3825         Reviewed by Andreas Kling.
3826
3827         [Qt] Rename build target from "embedded" to "qpa"
3828         https://bugs.webkit.org/show_bug.cgi?id=54233
3829
3830         This flag is used by Qt's configure script to enable a QPA build
3831         ("QPA is a window system agnostic implementation of Qt" --
3832         previously known as lighthouse).
3833
3834         On the Qt repository, this was changed by two commits:
3835
3836         13a0b4935900093607f2b3b7688e1452d22770fd
3837         (from embedded to embedded_lite)
3838
3839         9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab
3840         (from embedded_lite to qpa)
3841
3842         * WebCore.pro:
3843
3844 2011-02-10  Kenneth Russell  <kbr@google.com>
3845
3846         Reviewed by James Robinson.
3847
3848         Incorporate algorithm for processing paths into GPU-renderable triangle meshes
3849         https://bugs.webkit.org/show_bug.cgi?id=45521
3850
3851         Adding an implementation of Loop and Blinn's GPU accelerated path
3852         rendering algorithm from GPU Gems 3. This implementation pays
3853         particular attention to the efficiency of the curve subdivision
3854         phase needed for correct rendering. It utilizes the OpenGL utility
3855         library tessellator for triangulation of the interior of the
3856         shape. The regions handled by Loop and Blinn's algorithm are
3857         handled by the local triangulator previously incorporated.
3858
3859         No tests yet; pixel tests will eventually be used to verify this
3860         algorithm and prevent regressions.
3861
3862         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added.
3863         (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment):
3864         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup):
3865         (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind):
3866         (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint):
3867         (WebCore::LoopBlinnPathProcessorImplementation::Segment::next):
3868         (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev):
3869         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext):
3870         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev):
3871         (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour):
3872         (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide):
3873         (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox):
3874         (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay):
3875         (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles):
3876         (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle):
3877         (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices):
3878         (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex):
3879         (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision):
3880         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision):
3881         (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString):
3882         (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox):
3883         (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour):
3884         (WebCore::LoopBlinnPathProcessorImplementation::Contour::add):
3885         (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide):
3886         (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin):
3887         (WebCore::LoopBlinnPathProcessorImplementation::Contour::end):
3888         (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise):
3889         (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise):
3890         (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox):
3891         (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide):
3892         (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide):
3893         (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate):
3894         (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor):
3895         (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor):
3896         (WebCore::LoopBlinnPathProcessor::process):
3897         (WebCore::LoopBlinnPathProcessor::buildContours):
3898         (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY):
3899         (WebCore::LoopBlinnPathProcessor::determineSidesToFill):
3900         (WebCore::LoopBlinnPathProcessor::determineOrientation):
3901         (WebCore::SweepData::SweepEvent::SweepEvent):
3902         (WebCore::SweepData::SweepEvent::setup):
3903         (WebCore::SweepData::SweepEvent::x):
3904         (WebCore::SweepData::SweepEvent::entry):
3905         (WebCore::SweepData::SweepEvent::interval):
3906         (WebCore::SweepData::SweepEvent::operator<):
3907         (WebCore::SweepData::trianglesOverlap):
3908         (WebCore::LoopBlinnPathProcessor::subdivideCurves):
3909         (WebCore::LoopBlinnPathProcessor::conditionallySubdivide):
3910         (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
3911         (WebCore::TessellationState::vertexCallback):
3912         (WebCore::TessellationState::combineCallback):
3913         (WebCore::TessellationState::edgeFlagCallback):
3914         (WebCore::LoopBlinnPathProcessor::tessellateInterior):
3915         * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added.
3916
3917 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3918
3919         Reviewed by Andreas Kling.
3920
3921         [Qt] Remove the use of deprecated qVariant*
3922         https://bugs.webkit.org/show_bug.cgi?id=54229
3923
3924         This was applied on the Qt repository and affects QtWebKit there.
3925         (633f3f45e5420663cf4ceadea79e62fea44cd2eb)
3926
3927         The side effect of this change is that we won't be able to build
3928         QtWebKit with MSVC 6, as it doesn't support member template functions
3929         (not sure if it's possible today anyway).
3930
3931         Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
3932         review reported as being from the mailing list.
3933
3934         The changes are result of the following commands:
3935
3936             git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue
3937             git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue
3938             git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue
3939             git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
3940             git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
3941             git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue
3942
3943         * bridge/qt/qt_runtime.cpp:
3944         (JSC::Bindings::convertValueToQVariant):
3945         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3946         (WebCore::MediaPlayerPrivateQt::commitLoad):
3947
3948 2011-02-10  Nico Weber  <thakis@chromium.org>
3949
3950         Reviewed by Darin Adler.
3951
3952         Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]"
3953         https://bugs.webkit.org/show_bug.cgi?id=54221
3954
3955         The method name conflicts with ContainerNode::getRect() so rename it to
3956         computeRect(). Rename getPath() to computePath() for consistency as
3957         well.
3958
3959         No intended functionality change, covered by existing tests.
3960
3961         * accessibility/AccessibilityImageMapLink.cpp:
3962         (WebCore::AccessibilityImageMapLink::elementRect):
3963         * html/HTMLAreaElement.cpp:
3964         (WebCore::HTMLAreaElement::computePath):
3965         (WebCore::HTMLAreaElement::computeRect):
3966         * html/HTMLAreaElement.h:
3967         * page/SpatialNavigation.cpp:
3968         (WebCore::virtualRectForAreaElementAndDirection):
3969         * rendering/RenderImage.cpp:
3970         (WebCore::RenderImage::paintFocusRing):
3971
3972 2011-02-10  Alexis Menard  <alexis.menard@nokia.com>
3973
3974         Reviewed by Andreas Kling.
3975
3976         [Qt] Default focus ring is too wide
3977         https://bugs.webkit.org/show_bug.cgi?id=51854
3978
3979         We now respect the outline property and html.css defines the outline of the focus
3980         ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses
3981         it as the pen size. We should ignore the size and keep a default one. I also
3982         reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia,
3983         CG Win, Haiku, WinCE ports also ignore the width.
3984
3985         * platform/graphics/qt/GraphicsContextQt.cpp:
3986         (WebCore::drawFocusRingForPath):
3987         (WebCore::GraphicsContext::drawFocusRing):
3988
3989 2011-02-10  Martin Robinson  <mrobinson@igalia.com>
3990
3991         Reviewed by Gustavo Noronha Silva.
3992
3993         [Soup] ResourceHandleSoup does not ever call didSendData for file uploads
3994         https://bugs.webkit.org/show_bug.cgi?id=52090
3995
3996         Call didSendData as body data is uploaded to the server. This is necessary
3997         for XHR upload events to function properly.
3998
3999         * platform/network/ResourceHandleInternal.h:
4000         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members.
4001         One to track the total amount of body data and one to track the total amount of
4002         body data sent so far.
4003         * platform/network/soup/ResourceHandleSoup.cpp:
4004         (WebCore::wroteBodyDataCallback): Added.
4005         (WebCore::addFormElementsToSoupMessage): Split this out into a helper function.
4006         Will now now sum the total amount of body data.
4007         (WebCore::startHttp): Attach a wrote-body-data signal handler.
4008
4009 2011-02-10  Bill Budge  <bbudge@chromium.org>
4010
4011         Reviewed by David Levin.
4012
4013         Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader.
4014         https://bugs.webkit.org/show_bug.cgi?id=53925
4015
4016         * platform/network/chromium/ResourceRequest.cpp:
4017         (WebCore::ResourceRequest::doPlatformCopyData):
4018         (WebCore::ResourceRequest::doPlatformAdopt):
4019         * platform/network/chromium/ResourceRequest.h:
4020         (WebCore::ResourceRequest::ResourceRequest):
4021         (WebCore::ResourceRequest::downloadToFile):
4022         (WebCore::ResourceRequest::setDownloadToFile):
4023         * platform/network/chromium/ResourceResponse.cpp:
4024         (WebCore::ResourceResponse::doPlatformCopyData):
4025         (WebCore::ResourceResponse::doPlatformAdopt):
4026         * platform/network/chromium/ResourceResponse.h:
4027         (WebCore::ResourceResponse::downloadFilePath):
4028         (WebCore::ResourceResponse::setDownloadFilePath):
4029
4030 2011-02-10  Dirk Schulze  <krit@webkit.org>
4031
4032         Reviewed by Nikolas Zimmermann.
4033
4034         SVGAnimateElement needs information about the animated attribute type
4035         https://bugs.webkit.org/show_bug.cgi?id=53442
4036
4037         For animations, we need to know the SVG property type for a XML attribute. A global static mapping between
4038         attribute name and a type is not possible, since one attribute name can be bound to different property types:
4039         x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports
4040         the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between
4041         the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static
4042         HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function
4043         that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons.
4044
4045         No change of functionality, so no new test cases.
4046
4047         * svg/SVGAElement.cpp:
4048         (WebCore::SVGAElement::attributeToPropertyTypeMap):
4049         (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
4050         * svg/SVGAElement.h:
4051         * svg/SVGAltGlyphElement.cpp:
4052         (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap):
4053         (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
4054         * svg/SVGAltGlyphElement.h:
4055         * svg/SVGAnimateElement.cpp:
4056         (WebCore::SVGAnimateElement::determinePropertyType):
4057         * svg/SVGCircleElement.cpp:
4058         (WebCore::SVGCircleElement::attributeToPropertyTypeMap):
4059         (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
4060         * svg/SVGCircleElement.h:
4061         * svg/SVGClipPathElement.cpp:
4062         (WebCore::SVGClipPathElement::attributeToPropertyTypeMap):
4063         (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
4064         * svg/SVGClipPathElement.h:
4065         * svg/SVGComponentTransferFunctionElement.cpp:
4066         (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap):
4067         (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap):
4068         * svg/SVGComponentTransferFunctionElement.h:
4069         * svg/SVGCursorElement.cpp:
4070         (WebCore::SVGCursorElement::attributeToPropertyTypeMap):
4071         (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap):
4072         * svg/SVGCursorElement.h:
4073         * svg/SVGElement.cpp:
4074         (WebCore::SVGElement::attributeToPropertyTypeMap):
4075         (WebCore::SVGElement::animatedPropertyTypeForAttribute):
4076         * svg/SVGElement.h:
4077         (WebCore::SVGElement::fillAttributeToPropertyTypeMap):
4078         * svg/SVGEllipseElement.cpp:
4079         (WebCore::SVGEllipseElement::attributeToPropertyTypeMap):
4080         (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
4081         * svg/SVGEllipseElement.h:
4082         * svg/SVGFEBlendElement.cpp:
4083         (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap):
4084         (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
4085         * svg/SVGFEBlendElement.h:
4086         * svg/SVGFEColorMatrixElement.cpp:
4087         (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap):
4088         (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
4089         * svg/SVGFEColorMatrixElement.h:
4090         * svg/SVGFEComponentTransferElement.cpp:
4091         (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap):
4092         (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
4093         * svg/SVGFEComponentTransferElement.h:
4094         * svg/SVGFECompositeElement.cpp:
4095         (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap):
4096         (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
4097         * svg/SVGFECompositeElement.h:
4098         * svg/SVGFEConvolveMatrixElement.cpp:
4099         (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap):
4100         (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
4101         * svg/SVGFEConvolveMatrixElement.h:
4102         * svg/SVGFEDiffuseLightingElement.cpp:
4103         (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap):
4104         (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
4105         * svg/SVGFEDiffuseLightingElement.h:
4106         * svg/SVGFEDisplacementMapElement.cpp:
4107         (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap):
4108         (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
4109         * svg/SVGFEDisplacementMapElement.h:
4110         * svg/SVGFEFloodElement.cpp:
4111         (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap):
4112         (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
4113         * svg/SVGFEFloodElement.h:
4114         * svg/SVGFEGaussianBlurElement.cpp:
4115         (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap):
4116         (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
4117         * svg/SVGFEGaussianBlurElement.h:
4118         * svg/SVGFEImageElement.cpp:
4119         (WebCore::SVGFEImageElement::attributeToPropertyTypeMap):
4120         (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
4121         * svg/SVGFEImageElement.h:
4122         * svg/SVGFELightElement.cpp:
4123         (WebCore::SVGFELightElement::attributeToPropertyTypeMap):
4124         (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap):
4125         * svg/SVGFELightElement.h:
4126         * svg/SVGFEMergeElement.cpp:
4127         (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap):
4128         (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
4129         * svg/SVGFEMergeElement.h:
4130         * svg/SVGFEMergeNodeElement.cpp:
4131         (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap):
4132         (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap):
4133         * svg/SVGFEMergeNodeElement.h:
4134         * svg/SVGFEMorphologyElement.cpp:
4135         (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap):
4136         (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
4137         * svg/SVGFEMorphologyElement.h:
4138         * svg/SVGFEOffsetElement.cpp:
4139         (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap):
4140         (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
4141         * svg/SVGFEOffsetElement.h:
4142         * svg/SVGFESpecularLightingElement.cpp:
4143         (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap):
4144         (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
4145         * svg/SVGFESpecularLightingElement.h:
4146         * svg/SVGFETileElement.cpp:
4147         (WebCore::SVGFETileElement::attributeToPropertyTypeMap):
4148         (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
4149         * svg/SVGFETileElement.h:
4150         * svg/SVGFETurbulenceElement.cpp:
4151         (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap):
4152         (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
4153         * svg/SVGFETurbulenceElement.h:
4154         * svg/SVGFilterElement.cpp:
4155         (WebCore::SVGFilterElement::attributeToPropertyTypeMap):
4156         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
4157         * svg/SVGFilterElement.h:
4158         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
4159         (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap):
4160         * svg/SVGFilterPrimitiveStandardAttributes.h:
4161         * svg/SVGFontElement.cpp:
4162         (WebCore::SVGFontElement::attributeToPropertyTypeMap):
4163         (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
4164         * svg/SVGFontElement.h:
4165         (WebCore::SVGFontElement::rendererIsNeeded):
4166         * svg/SVGForeignObjectElement.cpp:
4167         (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap):
4168         (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
4169         * svg/SVGForeignObjectElement.h:
4170         * svg/SVGGlyphElement.cpp:
4171         (WebCore::SVGGlyphElement::attributeToPropertyTypeMap):
4172         (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
4173         * svg/SVGGlyphElement.h:
4174         * svg/SVGGradientElement.cpp:
4175         (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap):
4176         * svg/SVGGradientElement.h:
4177         * svg/SVGImageElement.cpp:
4178         (WebCore::SVGImageElement::attributeToPropertyTypeMap):
4179         (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
4180         * svg/SVGImageElement.h:
4181         * svg/SVGLineElement.cpp:
4182         (WebCore::SVGLineElement::attributeToPropertyTypeMap):
4183         (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
4184         * svg/SVGLineElement.h:
4185         * svg/SVGLinearGradientElement.cpp:
4186         (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap):
4187         (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
4188         * svg/SVGLinearGradientElement.h:
4189         * svg/SVGMPathElement.cpp:
4190         (WebCore::SVGMPathElement::attributeToPropertyTypeMap):
4191         (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap):
4192         * svg/SVGMPathElement.h:
4193         * svg/SVGMarkerElement.cpp:
4194         (WebCore::SVGMarkerElement::attributeToPropertyTypeMap):
4195         (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
4196         * svg/SVGMarkerElement.h:
4197         * svg/SVGMaskElement.cpp:
4198         (WebCore::SVGMaskElement::attributeToPropertyTypeMap):
4199         (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
4200         * svg/SVGMaskElement.h:
4201         * svg/SVGMissingGlyphElement.cpp:
4202         (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap):
4203         (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
4204         * svg/SVGMissingGlyphElement.h:
4205         * svg/SVGPathElement.cpp:
4206         (WebCore::SVGPathElement::attributeToPropertyTypeMap):
4207         (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
4208         * svg/SVGPathElement.h:
4209         * svg/SVGPatternElement.cpp:
4210         (WebCore::SVGPatternElement::attributeToPropertyTypeMap):
4211         (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
4212         * svg/SVGPatternElement.h:
4213         * svg/SVGPolyElement.cpp:
4214         (WebCore::SVGPolyElement::attributeToPropertyTypeMap):
4215         (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
4216         * svg/SVGPolyElement.h:
4217         * svg/SVGRadialGradientElement.cpp:
4218         (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap):
4219         (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
4220         * svg/SVGRadialGradientElement.h:
4221         * svg/SVGRectElement.cpp:
4222         (WebCore::SVGRectElement::attributeToPropertyTypeMap):
4223         (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
4224         * svg/SVGRectElement.h:
4225         * svg/SVGSVGElement.cpp:
4226         (WebCore::SVGSVGElement::attributeToPropertyTypeMap):
4227         (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap):
4228         * svg/SVGSVGElement.h:
4229         * svg/SVGScriptElement.cpp:
4230         (WebCore::SVGScriptElement::attributeToPropertyTypeMap):
4231         (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap):
4232         * svg/SVGScriptElement.h:
4233         * svg/SVGStopElement.cpp:
4234         (WebCore::SVGStopElement::attributeToPropertyTypeMap):
4235         (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
4236         * svg/SVGStopElement.h:
4237         * svg/SVGStyledElement.cpp:
4238         (WebCore::cssPropertyToTypeMap):
4239         (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty):
4240         (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap):
4241         * svg/SVGStyledElement.h:
4242         * svg/SVGStyledTransformableElement.cpp:
4243         (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap):
4244         * svg/SVGStyledTransformableElement.h:
4245         * svg/SVGSwitchElement.cpp:
4246         (WebCore::SVGSwitchElement::attributeToPropertyTypeMap):
4247         (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
4248         * svg/SVGSwitchElement.h:
4249         * svg/SVGSymbolElement.cpp:
4250         (WebCore::SVGSymbolElement::attributeToPropertyTypeMap):
4251         (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
4252         * svg/SVGSymbolElement.h:
4253         * svg/SVGTRefElement.cpp:
4254         (WebCore::SVGTRefElement::attributeToPropertyTypeMap):
4255         (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
4256         * svg/SVGTRefElement.h:
4257         * svg/SVGTSpanElement.cpp:
4258         (WebCore::SVGTSpanElement::attributeToPropertyTypeMap):
4259         (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
4260         * svg/SVGTSpanElement.h:
4261         * svg/SVGTextContentElement.cpp:
4262         (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap):
4263         * svg/SVGTextContentElement.h:
4264         * svg/SVGTextElement.cpp:
4265         (WebCore::SVGTextElement::attributeToPropertyTypeMap):
4266         (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
4267         * svg/SVGTextElement.h:
4268         * svg/SVGTextPathElement.cpp:
4269         (WebCore::SVGTextPathElement::attributeToPropertyTypeMap):
4270         (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
4271         * svg/SVGTextPathElement.h:
4272         * svg/SVGTextPositioningElement.cpp:
4273         (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap):
4274         * svg/SVGTextPositioningElement.h:
4275         * svg/SVGTitleElement.cpp:
4276         (WebCore::SVGTitleElement::attributeToPropertyTypeMap):
4277         (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
4278         * svg/SVGTitleElement.h:
4279         * svg/SVGUseElement.cpp:
4280         (WebCore::SVGUseElement::attributeToPropertyTypeMap):
4281         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
4282         * svg/SVGUseElement.h:
4283         * svg/SVGViewElement.cpp:
4284         (WebCore::SVGViewElement::attributeToPropertyTypeMap):
4285         (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
4286         * svg/SVGViewElement.h:
4287
4288 2011-02-10  Alexis Menard  <alexis.menard@nokia.com>
4289
4290         Reviewed by Andreas Kling.
4291
4292         Fix a Warning after removing FileSystem support for the inspector.
4293
4294         * WebCore.pro:
4295
4296 2011-02-10  Chris Fleizach  <cfleizach@apple.com>
4297
4298         Reviewed by Anders Carlsson.
4299
4300         AX: AX needs to stop using WebCoreViewFactory
4301         https://bugs.webkit.org/show_bug.cgi?id=54153
4302
4303         WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
4304         to get off of it and use WebCoreSystemInterface, like other clients.
4305
4306         * WebCore.exp.in:
4307         * accessibility/AXObjectCache.h:
4308         * accessibility/mac/AXObjectCacheMac.mm:
4309         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
4310         * accessibility/mac/AccessibilityObjectWrapper.h:
4311         * accessibility/mac/AccessibilityObjectWrapper.mm:
4312         (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
4313         (CFAutoreleaseHelper):
4314         (AXObjectIsTextMarker):
4315         (AXObjectIsTextMarkerRange):
4316         (AXTextMarkerRange):
4317         (AXTextMarkerRangeStart):
4318         (AXTextMarkerRangeEnd):
4319         (textMarkerForVisiblePosition):
4320         (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
4321         (visiblePositionForTextMarker):
4322         (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
4323         (visiblePositionForStartOfTextMarkerRange):
4324         (visiblePositionForEndOfTextMarkerRange):
4325         (textMarkerRangeFromMarkers):
4326         (AXAttributeStringSetElement):
4327         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
4328         (textMarkerRangeFromVisiblePositions):
4329         (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
4330         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
4331         (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
4332         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
4333         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
4334         * editing/mac/SelectionControllerMac.mm:
4335         (WebCore::accessibilityConvertScreenRect):
4336         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4337         * platform/mac/WebCoreSystemInterface.h:
4338         * platform/mac/WebCoreSystemInterface.mm:
4339
4340 2011-02-10  Alexis Menard  <alexis.menard@nokia.com>
4341
4342         Reviewed by Andreas Kling.
4343
4344         [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
4345         https://bugs.webkit.org/show_bug.cgi?id=54201
4346
4347         Add files for the fullscreen video playback handling. It also fix
4348         a missing header.
4349
4350         * WebCore.pro:
4351
4352 2011-02-09  Pavel Feldman  <pfeldman@chromium.org>
4353
4354         Reviewed by Yury Semikhatsky.
4355
4356         Web Inspector: Remove FileSystem support from the inspector.
4357         https://bugs.webkit.org/show_bug.cgi?id=50695
4358
4359         * CMakeLists.txt:
4360         * GNUmakefile.am:
4361         * WebCore.gypi:
4362         * WebCore.pro:
4363         * WebCore.vcproj/WebCore.vcproj:
4364         * WebCore.xcodeproj/project.pbxproj:
4365         * inspector/Inspector.idl:
4366         * inspector/InspectorApplicationCacheAgent.cpp:
4367         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
4368         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
4369         * inspector/InspectorApplicationCacheAgent.h:
4370         * inspector/InspectorFileSystemAgent.cpp: Removed.
4371         * inspector/InspectorFileSystemAgent.h: Removed.
4372         * inspector/InspectorInstrumentation.cpp:
4373         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
4374         (WebCore::InspectorInstrumentation::willSendRequestImpl):
4375         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
4376         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
4377         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
4378         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
4379         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
4380         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
4381         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
4382         (WebCore::InspectorInstrumentation::scriptImportedImpl):
4383         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
4384         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
4385         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
4386         * inspector/front-end/FileSystemView.js: Removed.
4387         * inspector/front-end/WebKit.qrc:
4388         * inspector/front-end/inspector.html:
4389
4390 2011-02-10  Sheriff Bot  <webkit.review.bot@gmail.com>
4391
4392         Unreviewed, rolling out r78219.
4393         http://trac.webkit.org/changeset/78219
4394         https://bugs.webkit.org/show_bug.cgi?id=54215
4395
4396         breaks editing/style/iframe-onload-crash.html on GTK 64-bit
4397         Debug (Requested by philn-tp on #webkit).
4398
4399         * dom/Document.h:
4400         * dom/DocumentFragment.h:
4401         * dom/Element.h:
4402         * dom/Node.h:
4403         * dom/Text.h:
4404         * editing/htmlediting.cpp:
4405         (WebCore::editingIgnoresContent):
4406         (WebCore::canHaveChildrenForEditing):
4407         * editing/htmlediting.h:
4408         * html/HTMLBRElement.h:
4409         * html/HTMLButtonElement.h:
4410         * html/HTMLDataGridElement.h:
4411         * html/HTMLFormControlElement.h:
4412         * html/HTMLFrameElementBase.h:
4413         * html/HTMLHRElement.h:
4414         * html/HTMLImageElement.h:
4415         * html/HTMLMeterElement.h:
4416         * html/HTMLOutputElement.h:
4417         * html/HTMLPlugInElement.h:
4418         * html/HTMLProgressElement.h:
4419         * wml/WMLBRElement.h:
4420         * wml/WMLDoElement.h:
4421         * wml/WMLImageElement.h:
4422         * wml/WMLInputElement.h:
4423         * wml/WMLSelectElement.h:
4424
4425 2011-02-10  Andras Becsi  <abecsi@webkit.org>
4426
4427         Rubber-stamped by Csaba Osztrogonác.
4428
4429         [Qt][V8] Fix the build.
4430
4431         No new tests needed.
4432
4433         * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header.
4434         * loader/cache/CachedScript.h: do not use extra qualification for base class enum.
4435
4436 2011-02-10  Alexander Pavlov  <apavlov@chromium.org>
4437
4438         Reviewed by Yury Semikhatsky.
4439
4440         Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input
4441         https://bugs.webkit.org/show_bug.cgi?id=54205
4442
4443         * inspector/front-end/CSSCompletions.js:
4444         (WebInspector.CSSCompletions):
4445         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
4446         * inspector/front-end/CSSKeywordCompletions.js:
4447         (WebInspector.CSSKeywordCompletions.forProperty):
4448         * inspector/front-end/StylesSidebarPane.js:
4449         ():
4450         * inspector/front-end/TextPrompt.js:
4451         (WebInspector.TextPrompt.prototype.complete):
4452
4453 2011-02-10  Renata Hodovan  <reni@webkit.org>
4454
4455         Reviewed by Dirk Schulze.
4456
4457         SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change.
4458         https://bugs.webkit.org/show_bug.cgi?id=54186
4459
4460         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
4461
4462         Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html
4463                svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html
4464                svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html
4465                svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html
4466                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html
4467                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html
4468                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html
4469                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html
4470
4471         * svg/SVGFESpecularLightingElement.cpp:
4472         (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
4473         * svg/SVGFESpecularLightingElement.h:
4474
4475 2011-02-10  Andrey Adaikin  <aandrey@google.com>
4476
4477         Reviewed by Pavel Feldman.
4478
4479         Web Inspector: Error messages are not displayed for the last line in a script
4480         https://bugs.webkit.org/show_bug.cgi?id=54204
4481
4482         * inspector/front-end/SourceFrame.js:
4483         (WebInspector.SourceFrame.prototype.addMessage):
4484         (WebInspector.SourceFrame.prototype._addMessageToSource):
4485         (WebInspector.SourceFrame.prototype._createConditionElement):
4486
4487 2011-02-10  Ryosuke Niwa  <rniwa@webkit.org>
4488
4489         Reviewed by Eric Seidel.
4490
4491         Make canHaveChildrenForEditing more efficient
4492         https://bugs.webkit.org/show_bug.cgi?id=53564
4493
4494         Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
4495         canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
4496         node for a position.
4497
4498         As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
4499         and any elements except:
4500
4501         HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input,
4502               meter, object, output, progress, and select.
4503
4504         WML: br, do, img, input, and select.
4505
4506         No new tests are added since this change cannot be tested directly.
4507
4508         * dom/Document.h:
4509         (WebCore::Document::canContainRangeEndPoint): Added; returns false.
4510         * dom/DocumentFragment.h:
4511         (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
4512         * dom/Element.h:
4513         (WebCore::Element::canContainRangeEndPoint): Ditto.
4514         * dom/Node.h:
4515         (WebCore::Node::canContainRangeEndPoint): Added; returns false.
4516         * dom/Text.h:
4517         (WebCore::Text::canContainRangeEndPoint): Added; returns true.
4518         * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
4519         * editing/htmlediting.h:
4520         (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
4521         (WebCore::canHaveChildrenForEditing): Ditto.
4522         * html/HTMLBRElement.h:
4523         (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
4524         * html/HTMLButtonElement.h:
4525         (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto.
4526         * html/HTMLDataGridElement.h:
4527         (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
4528         * html/HTMLFormControlElement.h:
4529         (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
4530         * html/HTMLFrameElementBase.h:
4531         (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
4532         * html/HTMLHRElement.h:
4533         (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto.
4534         * html/HTMLImageElement.h:
4535         (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
4536         * html/HTMLMeterElement.h:
4537         (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
4538         * html/HTMLOutputElement.h:
4539         (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
4540         * html/HTMLPlugInElement.h:
4541         (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
4542         * html/HTMLProgressElement.h:
4543         (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
4544         * wml/WMLBRElement.h:
4545         (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto.
4546         * wml/WMLDoElement.h:
4547         (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto.
4548         * wml/WMLImageElement.h:
4549         (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto.
4550         * wml/WMLInputElement.h:
4551         (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto.
4552         * wml/WMLSelectElement.h:
4553         (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto.
4554
4555 2011-02-10  Pavel Feldman  <pfeldman@chromium.org>
4556
4557         Reviewed by Yury Semikhatsky.
4558
4559         Web Inspector: define interface per domain in Inspector.idl.
4560         https://bugs.webkit.org/show_bug.cgi?id=54135
4561
4562         * inspector/CodeGeneratorInspector.pm:
4563         * inspector/Inspector.idl:
4564
4565 2011-02-10  Andrey Adaikin  <aandrey@google.com>
4566
4567         Reviewed by Pavel Feldman.
4568
4569         Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left
4570         https://bugs.webkit.org/show_bug.cgi?id=54098
4571
4572         * inspector/front-end/TextViewer.js:
4573         (WebInspector.TextViewer):
4574         (WebInspector.TextViewer.prototype._updatePanelOffsets):
4575         (WebInspector.TextViewer.prototype._syncScroll):
4576         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
4577         (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
4578         (WebInspector.TextEditorChunkedPanel.prototype.resize):
4579         (WebInspector.TextEditorGutterPanel):
4580         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
4581         (WebInspector.TextEditorGutterChunk.prototype.get height):
4582         (WebInspector.TextEditorMainChunk.prototype.get height):
4583         * inspector/front-end/textViewer.css:
4584         (.webkit-line-content):
4585
4586 2011-02-10  takano takumi  <takano@apple.com>
4587
4588         Reviewed by Dan Bernstein.
4589
4590         A full-width character rotated leftward 90 degrees in text-combine
4591         https://bugs.webkit.org/show_bug.cgi?id=54169
4592
4593         * rendering/RenderCombineText.cpp:
4594         (WebCore::RenderCombineText::combineText):
4595         - Fixed by resetting font's orientation to horizontal when we decided to make combined text.
4596         Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm.
4597
4598 2011-02-10  Alexey Proskuryakov  <ap@apple.com>
4599
4600         Reviewed by Darin Adler.
4601
4602         https://bugs.webkit.org/show_bug.cgi?id=50306
4603         <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload()
4604         uses an initialized result value (breaks form submission with clang-built WebKit)
4605
4606         No new test, because I can't reproduce the observable effect with my gcc build.
4607
4608         * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an
4609         empty path check - an empty path was causing an exception in Foundation.
4610
4611 2011-02-09  Andrey Kosyakov  <caseq@chromium.org>
4612
4613         Reviewed by Pavel Feldman.
4614
4615         Web Inspector: Network & Resource panels make multiple requests for images with no content
4616         https://bugs.webkit.org/show_bug.cgi?id=54085
4617
4618         - Added success parameter to resourceContent
4619         - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors
4620
4621         * inspector/Inspector.idl:
4622         * inspector/InspectorResourceAgent.cpp:
4623         (WebCore::InspectorResourceAgent::resourceData):
4624         (WebCore::InspectorResourceAgent::resourceContent):
4625         * inspector/InspectorResourceAgent.h:
4626         * inspector/front-end/NetworkManager.js:
4627         (WebInspector.NetworkManager.prototype.requestContent):
4628         * inspector/front-end/Resource.js:
4629         (WebInspector.Resource.prototype.requestContent):
4630         (WebInspector.Resource.prototype._contentURL):
4631
4632 2011-02-10  Renata Hodovan  <reni@webkit.org>
4633
4634         Reviewed by Dirk Schulze.
4635
4636         Move the light source implementations into their own files.
4637         https://bugs.webkit.org/show_bug.cgi?id=53996
4638
4639         Splitting LightSource.cpp into 3 files.
4640
4641         No new tests are added since this is a refactoring.
4642
4643         * Android.mk:
4644         * CMakeLists.txt:
4645         * GNUmakefile.am:
4646         * WebCore.gypi:
4647         * WebCore.pro:
4648         * WebCore.vcproj/WebCore.vcproj:
4649         * WebCore.xcodeproj/project.pbxproj:
4650         * platform/graphics/filters/DistantLightSource.cpp: Added.
4651         (WebCore::DistantLightSource::initPaintingData):
4652         (WebCore::DistantLightSource::updatePaintingData):
4653         (WebCore::DistantLightSource::setAzimuth):
4654         (WebCore::DistantLightSource::setElevation):
4655         (WebCore::DistantLightSource::externalRepresentation):
4656         * platform/graphics/filters/LightSource.cpp:
4657         * platform/graphics/filters/PointLightSource.cpp: Added.
4658         (WebCore::PointLightSource::initPaintingData):
4659         (WebCore::PointLightSource::updatePaintingData):
4660         (WebCore::PointLightSource::setX):
4661         (WebCore::PointLightSource::setY):
4662         (WebCore::PointLightSource::setZ):
4663         (WebCore::operator<<):
4664         (WebCore::PointLightSource::externalRepresentation):
4665         * platform/graphics/filters/SpotLightSource.cpp: Added.
4666         (WebCore::SpotLightSource::initPaintingData):
4667         (WebCore::SpotLightSource::updatePaintingData):
4668         (WebCore::SpotLightSource::setX):
4669         (WebCore::SpotLightSource::setY):
4670         (WebCore::SpotLightSource::setZ):
4671         (WebCore::SpotLightSource::setPointsAtX):
4672         (WebCore::SpotLightSource::setPointsAtY):
4673         (WebCore::SpotLightSource::setPointsAtZ):
4674         (WebCore::SpotLightSource::setSpecularExponent):
4675         (WebCore::SpotLightSource::setLimitingConeAngle):
4676         (WebCore::operator<<):
4677         (WebCore::SpotLightSource::externalRepresentation):
4678
4679 2011-02-10  Avi Drissman  <avi@google.com>
4680
4681         Reviewed by Darin Fisher.
4682
4683         <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654.
4684         https://bugs.webkit.org/show_bug.cgi?id=50969
4685
4686         Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983.
4687
4688         * platform/chromium/PopupMenuChromium.cpp:
4689         (WebCore::PopupListBox::updateFromElement):
4690         * platform/chromium/PopupMenuChromium.h:
4691
4692 2011-02-10  Hans Wennborg  <hans@chromium.org>
4693
4694         Reviewed by Jeremy Orlow.
4695
4696         IndexedDB: Update the semantics of put()
4697         https://bugs.webkit.org/show_bug.cgi?id=54102
4698
4699         Update the semantics of put: For object stores with auto increment,
4700         it should be allowed to provide an explicit key, or an in-line key,
4701         overriding the key generator mechanism.
4702
4703         This reflects the spec changes suggested here:
4704         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976
4705
4706         Extracting key-selection logic into its own function
4707         to make it a bit easier on the eyes.
4708
4709         * storage/IDBObjectStoreBackendImpl.cpp:
4710         (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
4711         (WebCore::IDBObjectStoreBackendImpl::putInternal):
4712         * storage/IDBObjectStoreBackendImpl.h:
4713         (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache):
4714
4715 2011-02-09  Antti Koivisto  <antti@apple.com>
4716
4717         Reviewed by Darin Adler.
4718
4719         https://bugs.webkit.org/show_bug.cgi?id=54103
4720         Implement fast path for matching simple selectors
4721         
4722         Implement a fast path for single and descendant selectors consisting
4723         of id, class and tag selectors only.
4724         
4725         Selectors like this are marked on style selector initialization. When 
4726         encountered during style matching they are resolved using a fast path.
4727         
4728         Since selectors like this are very common this speeds up style matching
4729         quite a bit (up to 50% on some sites according to Shark).
4730
4731         * css/CSSStyleSelector.cpp:
4732         (WebCore::RuleData::hasFastCheckableSelector):
4733         (WebCore::RuleData::hasMultipartSelector):
4734         (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash):
4735         (WebCore::CSSStyleSelector::matchRulesForList):
4736         (WebCore::CSSStyleSelector::checkSelector):
4737         (WebCore::selectorTagMatches):
4738         (WebCore::isFastCheckableSelector):
4739         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
4740         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4741         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
4742         (WebCore::RuleData::RuleData):
4743         * css/CSSStyleSelector.h:
4744
4745 2011-02-09  Simon Fraser  <simon.fraser@apple.com>
4746
4747         Reviewed by Dan Bernstein.
4748
4749         REGRESSION (r77101) box-shadow sometimes renders incorrectly
4750         https://bugs.webkit.org/show_bug.cgi?id=54160
4751         
4752         Fix an issue when ShadowBlur had a cached image buffer
4753         that was larger than that of the current shadow being drawn,
4754         and the current shadow was partially clipped out.
4755         
4756         In that situation endShadowLayer() would clip to the image
4757         buffer, using the size of the buffer (as it must), but failed
4758         to take into account the fact that we'd only cleared and painted
4759         into a smaller section of the buffer. So we need to additionally
4760         constrain the clip to cover only the valid part of the buffer.
4761
4762         Test: fast/box-shadow/shadow-buffer-partial.html
4763
4764         * platform/graphics/ShadowBlur.cpp:
4765         (WebCore::ShadowBlur::endShadowLayer):
4766
4767 2011-02-09  Beth Dakin  <bdakin@apple.com>
4768
4769         Reviewed by Maciej Stachowiak.
4770
4771         Fix for <rdar://problem/8977051> CrashTracer: 8 crashes 
4772         in WebProcess at com.apple.WebCore: 
4773         -[ScrollbarPartAnimation setCurrentProgress:] + 364
4774
4775         The ScrollbarPartAnimation must be sent by reference!
4776         * platform/mac/ScrollAnimatorMac.mm:
4777         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
4778
4779 2011-02-09  Ryosuke Niwa  <rniwa@webkit.org>
4780
4781         Reviewed by Darin Adler.
4782
4783         REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange
4784         https://bugs.webkit.org/show_bug.cgi?id=54053
4785
4786         The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside
4787         RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming
4788         the position variable "s" is not null.
4789
4790         Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint,
4791         and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange.
4792
4793         Test: fast/forms/file-input-hit-test.html
4794
4795         * editing/VisibleSelection.cpp:
4796         (WebCore::VisibleSelection::toNormalizedRange):
4797         * rendering/RenderFileUploadControl.cpp:
4798         (WebCore::RenderFileUploadControl::positionForPoint):
4799         * rendering/RenderFileUploadControl.h:
4800
4801 2011-02-09  Sam Weinig  <sam@webkit.org>
4802
4803         Reviewed by Beth Dakin.
4804
4805         Overlay scrollbars crash used with a RenderListBox.
4806
4807         * rendering/RenderListBox.cpp:
4808         (WebCore::RenderListBox::layout):
4809         (WebCore::RenderListBox::contentsSize):
4810         (WebCore::RenderListBox::currentMousePosition):
4811         (WebCore::RenderListBox::setHasVerticalScrollbar):
4812         * rendering/RenderListBox.h:
4813         Implement enough of the ScrollableArea interface to get things generally
4814         working.
4815
4816 2011-02-09  Beth Dakin  <bdakin@apple.com>
4817
4818         Reviewed by Simon Fraser.
4819
4820         Fix for <rdar://problem/8966868> ScrollbarPainterDelegate 
4821         must return a layer if layer-backed to avoid crashing
4822
4823         New virtual function scrollbarWillRenderIntoCompositingLayer()
4824         on ScrollableArea.
4825         * page/FrameView.h:
4826         * platform/ScrollableArea.h:
4827         (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer):
4828         * rendering/RenderLayer.h:
4829         (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer):
4830         * rendering/RenderListBox.cpp:
4831         (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer):
4832         * rendering/RenderListBox.h:
4833
4834         Clean up unnecessary method declarations and call 
4835         scrollbarWillRenderIntoCompositingLayer() to deterine if 
4836         we need to return a layer.
4837         * platform/mac/ScrollAnimatorMac.mm:
4838         (-[ScrollbarPainterDelegate layer]):
4839
4840 2011-02-09  Yael Aharon  <yael.aharon@nokia.com>
4841
4842         Reviewed by Darin Adler.
4843
4844         Replace static_cast<HTMLElement*> with toHTMLElement
4845         https://bugs.webkit.org/show_bug.cgi?id=54117
4846
4847         No new tests since no new functionality was introduced.
4848
4849         * accessibility/AccessibilityListBox.cpp:
4850         (WebCore::AccessibilityListBox::addChildren):
4851         * accessibility/AccessibilityMenuListPopup.cpp:
4852         (WebCore::AccessibilityMenuListPopup::addChildren):
4853         * accessibility/AccessibilityRenderObject.cpp:
4854         (WebCore::accessibleNameForNode):
4855         (WebCore::AccessibilityRenderObject::accessibilityDescription):
4856         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
4857         (webkit_accessible_get_name):
4858         (webkit_accessible_get_description):
4859         * bindings/gobject/WebKitDOMBinding.cpp:
4860         (WebKit::createWrapper):
4861         (WebKit::kit):
4862         * bindings/js/JSElementCustom.cpp:
4863         (WebCore::toJSNewlyCreated):
4864         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4865         (WebCore::JSHTMLFrameSetElement::nameGetter):
4866         * bindings/js/JSNodeCustom.cpp:
4867         (WebCore::createWrapperInline):
4868         * bindings/v8/custom/V8ElementCustom.cpp:
4869         (WebCore::toV8):
4870         * dom/Document.cpp:
4871         (WebCore::Document::body):
4872         * dom/Element.cpp:
4873         (WebCore::Element::deprecatedCreateContextualFragment):
4874         * dom/Range.cpp:
4875         (WebCore::Range::createContextualFragment):
4876         * editing/ApplyStyleCommand.cpp:
4877         (WebCore::ApplyStyleCommand::applyBlockStyle):
4878         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
4879         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
4880         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
4881         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
4882         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
4883         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
4884         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
4885         (WebCore::ApplyStyleCommand::removeInlineStyle):
4886         (WebCore::ApplyStyleCommand::shouldSplitTextElement):
4887         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
4888         * editing/DeleteButtonController.cpp:
4889         (WebCore::enclosingDeletableElement):
4890         (WebCore::DeleteButtonController::show):
4891         * editing/Editor.cpp:
4892         (WebCore::Editor::setBaseWritingDirection):
4893         * editing/InsertListCommand.cpp:
4894         (WebCore::InsertListCommand::mergeWithNeighboringLists):
4895         * editing/ReplaceSelectionCommand.cpp:
4896         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
4897         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
4898         (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
4899         * editing/SelectionController.cpp:
4900         (WebCore::scanForForm):
4901         (WebCore::SelectionController::currentForm):
4902         * editing/htmlediting.cpp:
4903         (WebCore::enclosingList):
4904         (WebCore::enclosingListChild):
4905         (WebCore::embeddedSublist):
4906         (WebCore::appendedSublist):
4907         * editing/markup.cpp:
4908         (WebCore::StyledMarkupAccumulator::appendElement):
4909         * html/HTMLCollection.cpp:
4910         (WebCore::HTMLCollection::checkForNameMatch):
4911         (WebCore::HTMLCollection::updateNameCache):
4912         * html/HTMLElement.cpp:
4913         (WebCore::HTMLElement::setOuterHTML):
4914         (WebCore::HTMLElement::shadowAncestorOwnerForm):
4915         * html/HTMLFormElement.cpp:
4916         (WebCore::HTMLFormElement::formElementIndex):
4917         * html/HTMLSelectElement.cpp:
4918         (WebCore::HTMLSelectElement::setOption):
4919         (WebCore::HTMLSelectElement::setLength):
4920         * inspector/InspectorDOMAgent.cpp:
4921         (WebCore::InspectorDOMAgent::getOuterHTML):
4922         (WebCore::InspectorDOMAgent::setOuterHTML):
4923         * page/EventHandler.cpp:
4924         (WebCore::EventHandler::handleMouseMoveEvent):
4925         * rendering/RenderMeter.cpp:
4926         (WebCore::RenderMeter::createPart):
4927         * rendering/RenderTextControl.cpp:
4928         (WebCore::RenderTextControl::createSubtreeIfNeeded):
4929         * rendering/RenderTextControlSingleLine.cpp:
4930         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
4931
4932 2011-02-09  Mike Reed  <reed@google.com>
4933
4934         Reviewed by Kenneth Russell.
4935
4936         Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this
4937         handles the case when the device is backed by the GPU.
4938         Patch developed by bsalomon@google.com
4939
4940         No new tests. Existing canvas tests suffice
4941         e.g. LayoutTests/canvas/philip/... 
4942
4943         * platform/graphics/skia/ImageBufferSkia.cpp:
4944         (WebCore::getImageData):
4945         (WebCore::ImageBuffer::getUnmultipliedImageData):
4946         (WebCore::ImageBuffer::getPremultipliedImageData):
4947         (WebCore::putImageData):
4948         (WebCore::ImageBuffer::putUnmultipliedImageData):
4949         (WebCore::ImageBuffer::putPremultipliedImageData):
4950
4951 2011-02-09  Adam Barth  <abarth@webkit.org>
4952
4953         Reviewed by Eric Seidel.
4954
4955         document.close shouldn't affect non-script-created parsers
4956         https://bugs.webkit.org/show_bug.cgi?id=53689
4957
4958         Tests: fast/frames/document-write-in-iframe-onload-3.html
4959                fast/parser/iframe-onload-document-close-with-external-script-2.html
4960                fast/parser/iframe-onload-document-close-with-external-script-3.html
4961                fast/parser/iframe-onload-document-close-with-external-script.html
4962                fast/parser/setTimeout-open.html
4963
4964         Move our implementation of document.close closer to the spec by
4965         introducing the notion of a script-created parser.  This area of our
4966         code is somewhat hairy.  It might take a few more iterations before we
4967         fully come up to spec.
4968
4969         * dom/Document.cpp:
4970         (WebCore::Document::setContent):
4971         (WebCore::Document::open):
4972         (WebCore::Document::cancelParsing):
4973         (WebCore::Document::close):
4974             - Over time, this method should converge to the spec.
4975         (WebCore::Document::explicitClose):
4976             - I'm not in love with this name.  Somehow we want to differentiate
4977               between Document closing itself and the document.close DOM
4978               method.
4979         (WebCore::Document::removePendingSheet):
4980         * dom/Document.h:
4981         * dom/ScriptableDocumentParser.cpp:
4982         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
4983         * dom/ScriptableDocumentParser.h:
4984         (WebCore::ScriptableDocumentParser::setWasCreatedByScript):
4985         (WebCore::ScriptableDocumentParser::wasCreatedByScript):
4986             - General nonsense to keep track of whether the parser was created
4987               by script.
4988         * html/parser/HTMLDocumentParser.cpp:
4989         (WebCore::HTMLDocumentParser::hasInsertionPoint):
4990             - I'm not sure whether this part of the change is 100% correct.  I
4991               think our notion of the EOF character might be subtly different
4992               from the notion in the spec.
4993         * html/parser/HTMLInputStream.h:
4994         (WebCore::HTMLInputStream::hasInsertionPoint):
4995             - Remove FIXME because we're fixing that!
4996
4997 2011-02-09  Abhishek Arya  <inferno@chromium.org>
4998
4999         Reviewed by James Robinson.
5000
5001         [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer
5002         https://bugs.webkit.org/show_bug.cgi?id=54132
5003  
5004         * platform/graphics/chromium/LayerTilerChromium.cpp:
5005         (WebCore::LayerTilerChromium::resizeLayer):
5006
5007 2011-02-09  Xiyuan Xia  <xiyuan@chromium.org>
5008
5009         Reviewed by Tony Chang.
5010
5011         [Chromium] Use #f7f7f7 for select popup background on chromium/linux
5012         https://bugs.webkit.org/show_bug.cgi?id=54115
5013
5014         No new tests since no behavior change.
5015
5016         * css/themeChromiumLinux.css:
5017         (select[size="1"] option):
5018
5019 2011-02-09  Adam Barth  <abarth@webkit.org>
5020
5021         Reviewed by Eric Seidel.
5022
5023         REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console
5024         https://bugs.webkit.org/show_bug.cgi?id=41187
5025
5026         Wire up a basic HTML parse error message.  There's a lot of room for
5027         improvement in this area, but this is a start.
5028
5029         No tests!  See https://bugs.webkit.org/show_bug.cgi?id=54134
5030
5031         * html/parser/HTMLDocumentParser.h:
5032         * html/parser/HTMLTreeBuilder.cpp:
5033         (WebCore::HTMLTreeBuilder::parseError):
5034         * html/parser/HTMLTreeBuilder.h:
5035
5036 2011-02-09  Naoki Takano  <takano.naoki@gmail.com>
5037
5038         Reviewed by Kenneth Russell.
5039
5040         [Chromium] Issue 58536: Fix Layout Test canvas/philip/tests/2d.imageData.put.alpha.html with --accelerated-2d-canvas.
5041         https://bugs.webkit.org/show_bug.cgi?id=53757
5042
5043           This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests.
5044
5045         * platform/graphics/skia/ImageBufferSkia.cpp:
5046         (WebCore::ImageBuffer::putUnmultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
5047         (WebCore::ImageBuffer::putPremultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
5048
5049
5050 2011-02-09  Chris Rogers  <crogers@google.com>
5051
5052         Reviewed by Kenneth Russell.
5053
5054         Fix scaling and thread safety of FFTFrameFFTW
5055         https://bugs.webkit.org/show_bug.cgi?id=54045
5056
5057         No new tests since audio API is not yet implemented.
5058
5059         * platform/audio/FFTFrame.h:
5060         * platform/audio/fftw/FFTFrameFFTW.cpp:
5061         (WebCore::FFTFrame::FFTFrame):
5062         (WebCore::FFTFrame::doFFT):
5063         (WebCore::FFTFrame::doInverseFFT):
5064         (WebCore::FFTFrame::initialize):
5065         (WebCore::FFTFrame::cleanup):
5066         (WebCore::FFTFrame::realData):
5067         (WebCore::FFTFrame::imagData):
5068         (WebCore::FFTFrame::fftwPlanForSize):
5069         * platform/audio/mac/FFTFrameMac.cpp:
5070         (WebCore::FFTFrame::initialize):
5071         * platform/audio/mkl/FFTFrameMKL.cpp:
5072         (WebCore::FFTFrame::initialize):
5073         * webaudio/AudioContext.cpp:
5074         (WebCore::AudioContext::AudioContext):
5075
5076 2011-02-09  Chris Fleizach  <cfleizach@apple.com>
5077
5078         Reviewed by Darin Adler.
5079
5080         AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object
5081         https://bugs.webkit.org/show_bug.cgi?id=54126
5082
5083         This is a Mac-only accessibility API concept and doesn't belong in the core AX object.
5084
5085         * accessibility/AccessibilityObject.h:
5086         (WebCore::AccessibilityObject::node):
5087         * accessibility/mac/AccessibilityObjectWrapper.mm:
5088         (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
5089
5090 2011-02-09  Nebojsa Ciric  <cira@chromium.org>
5091
5092         Reviewed by Darin Fisher.
5093
5094         Implements Locale object of JavaScript internationalization API proposal, as an
5095         v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h})
5096         and in this patch we just provide flags, tests and build rules for chromium port.
5097         https://bugs.webkit.org/show_bug.cgi?id=49414
5098
5099         Test: fast/js/i18n-bindings-locale.html
5100
5101         * WebCore.gyp/WebCore.gyp:
5102         * bindings/generic/RuntimeEnabledFeatures.cpp:
5103         (WebCore::RuntimeEnabledFeatures::experimentalI18NAPIEnabled):
5104         * bindings/generic/RuntimeEnabledFeatures.h:
5105         (WebCore::RuntimeEnabledFeatures::setExperimentalI18NAPIEnabled):
5106         * bindings/v8/V8DOMWindowShell.cpp:
5107         (WebCore::V8DOMWindowShell::createNewContext):
5108
5109 2011-02-08  Dimitri Glazkov  <dglazkov@chromium.org>
5110
5111         Reviewed by Darin Adler.
5112
5113         REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget
5114         https://bugs.webkit.org/show_bug.cgi?id=52065
5115
5116         * dom/Node.cpp:
5117         (WebCore::pullOutOfShadow): Added a helper to move a node to the outermost
5118             boundary of shadow DOM.
5119         (WebCore::Node::dispatchMouseEvent): Changed to use pullOutOfShadow.
5120
5121 2011-02-09  Yael Aharon  <yael.aharon@nokia.com>
5122
5123         Reviewed by Darin Adler.
5124
5125         Add convenience method toHTMLElement(Node*)
5126         https://bugs.webkit.org/show_bug.cgi?id=54105
5127
5128         No new tests since no new functionality introduced.
5129
5130         * html/HTMLElement.h:
5131         (WebCore::toHTMLElement):
5132
5133 2011-02-09  Sam Weinig  <sam@webkit.org>
5134
5135         Reviewed by Dan Bernstein.
5136
5137         Fixed positioned elements at very top or bottom of page remain fixed but clip during rubber-banding
5138         <rdar://problem/7615997>
5139         https://bugs.webkit.org/show_bug.cgi?id=54054
5140
5141         Take the overhang into account when calculating position for elements with position: fixed.
5142
5143         * platform/ScrollView.cpp:
5144         (WebCore::ScrollView::scrollXForFixedPosition):
5145         (WebCore::ScrollView::scrollYForFixedPosition):
5146         (WebCore::ScrollView::scrollOffsetForFixedPosition):
5147         * platform/ScrollView.h:
5148         * rendering/RenderView.cpp:
5149         (WebCore::RenderView::mapLocalToContainer):
5150         (WebCore::RenderView::mapAbsoluteToLocalPoint):
5151         (WebCore::RenderView::computeRectForRepaint):
5152
5153 2011-02-09  Simon Fraser  <simon.fraser@apple.com>
5154
5155         Reviewed by Dirk Schulze.
5156
5157         Enhance ShadowBlur to tile inset box shadows
5158         https://bugs.webkit.org/show_bug.cgi?id=51567
5159         
5160         Add a tiling code path to ShadowBlur for rendering inset
5161         box-shadows.
5162
5163         Test: fast/box-shadow/inset-box-shadows.html
5164         
5165         * platform/graphics/ShadowBlur.cpp:
5166         (WebCore::computeSliceSizesFromRadii): Compute the slice sizes
5167         for the eight-piece shadow template.
5168         (WebCore::ShadowBlur::templateSize): Compute the size of the template,
5169         given the slice sizes.
5170         (WebCore::ShadowBlur::drawRectShadow): Bail early if layerRect is empty
5171         (which probably means we're clipped out). Call templateSize() and use
5172         the result to decide whether to tile.
5173         (WebCore::ShadowBlur::drawInsetShadow): New method for inset shadows.
5174         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): Code moved.
5175         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): The non-tiling code
5176         path for inset shadows.
5177         (WebCore::ShadowBlur::drawInsetShadowWithTiling): Fill the shadow template
5178         buffer, paint the non-blurred area of the destination, and then call drawLayerPieces()
5179         to paint the eight-piece template image.
5180         (WebCore::ShadowBlur::drawRectShadowWithTiling): Refactored code, now
5181         shares the blurring code via blurAndColorShadowBuffer(), and the tiled template
5182         drawing via drawLayerPieces().
5183         (WebCore::ShadowBlur::drawLayerPieces): Draw an eight-piece image from the
5184         shadow template to the destination.
5185         (WebCore::ShadowBlur::blurAndColorShadowBuffer): Blur the pixels in the image
5186         buffer, and colorize them using the CompositeSourceIn operation.
5187         * platform/graphics/ShadowBlur.h:
5188
5189 2011-02-09  Jochen Eisinger  <jochen@chromium.org>
5190
5191         Reviewed by Adam Barth.
5192
5193         Disable script elements when a CSP header is present
5194         https://bugs.webkit.org/show_bug.cgi?id=53867
5195
5196         Tests: http/tests/security/contentSecurityPolicy/no-policy.html
5197                http/tests/security/contentSecurityPolicy/script-src-in-iframe.html
5198                http/tests/security/contentSecurityPolicy/script-src-none.html
5199                http/tests/security/contentSecurityPolicy/script-src-redirect.html
5200
5201         * html/parser/HTMLDocumentParser.cpp:
5202         (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
5203         * html/parser/HTMLScriptRunner.cpp:
5204         (WebCore::HTMLScriptRunner::requestPendingScript):
5205         * loader/FrameLoader.cpp:
5206         (WebCore::FrameLoader::didBeginDocument):
5207         * loader/MainResourceLoader.cpp:
5208         (WebCore::MainResourceLoader::didReceiveResponse):
5209         * page/ContentSecurityPolicy.cpp:
5210         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
5211         (WebCore::ContentSecurityPolicy::didReceiveHeader):
5212         (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
5213         * page/ContentSecurityPolicy.h:
5214
5215 2011-02-09  Patrick Gansterer  <paroga@webkit.org>
5216
5217         Unreviewed WinCE build fix for r78047.
5218
5219         ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS),
5220         so they shouldn't cause problems with correct preprocessor defines.
5221
5222         * CMakeLists.txt:
5223
5224 2011-02-09  Ilya Tikhonovsky  <loislo@chromium.org>
5225
5226         Reviewed by Pavel Feldman.
5227
5228         Web Inspector: InspectorAgent should know nothing about InspectorController instance.
5229
5230         https://bugs.webkit.org/show_bug.cgi?id=54100
5231
5232         * inspector/InspectorAgent.cpp:
5233         (WebCore::InspectorAgent::InspectorAgent):
5234         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
5235         (WebCore::InspectorAgent::disconnectFrontend):
5236         * inspector/InspectorAgent.h:
5237         * inspector/InspectorController.cpp:
5238         (WebCore::InspectorController::InspectorController):
5239         (WebCore::InspectorController::disconnectFrontend):
5240         (WebCore::InspectorController::restoreInspectorStateFromCookie):
5241
5242 2011-02-09  Pavel Podivilov  <podivilov@chromium.org>
5243
5244         Reviewed by Pavel Feldman.
5245
5246         Web Inspector: source frame scroll position is not restored.
5247         https://bugs.webkit.org/show_bug.cgi?id=54101
5248
5249         * inspector/front-end/ScriptsPanel.js:
5250         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
5251         * inspector/front-end/SourceFrame.js:
5252         (WebInspector.SourceFrame.prototype.show):
5253         (WebInspector.SourceFrame.prototype.hide):
5254         (WebInspector.SourceFrame.prototype.get scrollTop):
5255         (WebInspector.SourceFrame.prototype.set scrollTop):
5256         * inspector/front-end/TextViewer.js:
5257         (WebInspector.TextViewer.prototype.get scrollTop):
5258         (WebInspector.TextViewer.prototype.set scrollTop):
5259         (WebInspector.TextViewer.prototype.get scrollLeft):
5260         (WebInspector.TextViewer.prototype.set scrollLeft):
5261
5262 2011-02-09  Pavel Feldman  <pfeldman@chromium.org>
5263
5264         Reviewed by Yury Semikhatsky.
5265
5266         Web Inspector: follow up on InspectorAgent split -
5267         removing unnecessary methods from InspectorController.
5268         https://bugs.webkit.org/show_bug.cgi?id=54093
5269
5270         * WebCore.exp.in:
5271         * inspector/InspectorAgent.cpp:
5272         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
5273         (WebCore::InspectorAgent::showAndEnableDebugger):
5274         (WebCore::InspectorAgent::enabled):
5275         (WebCore::InspectorAgent::showConsole):
5276         * inspector/InspectorAgent.h:
5277         * inspector/InspectorController.cpp:
5278         (WebCore::InspectorController::InspectorController):
5279         (WebCore::InspectorController::didClearWindowObjectInWorld):
5280         (WebCore::InspectorController::showConsole):
5281         (WebCore::InspectorController::enabled):
5282         (WebCore::InspectorController::inspectedPage):
5283         * inspector/InspectorController.h:
5284         * inspector/InspectorFrontendClientLocal.cpp:
5285
5286 2011-02-07  Chris Marrin  <cmarrin@apple.com>
5287
5288         Reviewed by Simon Fraser.
5289
5290         LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing
5291         https://bugs.webkit.org/show_bug.cgi?id=53513
5292
5293         The PlatformCAAnimation::create() function which took a pointer to another
5294         PlatformCAAnimation was supposed to make a copy of that passed object.
5295         But it was doing completely the wrong thing on Mac and was leaking an object
5296         to boot. And the notion of copying an object using a static creation function
5297         is wrong in the first place. So I changed it to a member copy() function
5298         which would create a new PlatformCAAnimation which was a copy of 'this' and
5299         return it. I changed the implementation on both Mac and Win to match.
5300
5301         This problem was not caught by DRT, even there is a specific test for it.
5302         That test just verifies that the higher level logic is working 
5303         properly, which it is. There's no practical way to find out if the
5304         layer is currently animating. There is no logic which probes that
5305         deeply into the layer mechanics.
5306         
5307         * platform/graphics/ca/GraphicsLayerCA.cpp:
5308         * platform/graphics/ca/PlatformCAAnimation.h:
5309         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
5310         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
5311
5312 2011-02-09  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
5313
5314         Unreviewed build fix.
5315
5316         [EFL] Remove double definition of ContextMenu.
5317         https://bugs.webkit.org/show_bug.cgi?id=50762
5318
5319         When building with SHARED_CORE enabled, the symbols of ContextMenu
5320         were both in webkit and webcore. This removes them from webcore and
5321         shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented
5322         in EFL port.
5323
5324         No new tests because no new functionality.
5325
5326         * CMakeLists.txt:
5327
5328 2011-02-09  Adam Roben  <aroben@apple.com>
5329
5330         Windows Production build fix
5331
5332         * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against
5333         WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we
5334         pick up the _debug variant when appropriate.
5335
5336 2011-02-09  Eric Seidel  <eric@webkit.org>
5337
5338         Reviewed by Adam Barth.
5339
5340         Hostnames should cannonicalize to lowercase (to match every other browser)
5341         https://bugs.webkit.org/show_bug.cgi?id=54084
5342
5343         * platform/KURL.cpp:
5344         (WebCore::KURL::parse):
5345
5346 2011-02-09  Peter Varga  <pvarga@webkit.org>
5347
5348
5349         Reviewed by Gavin Barraclough.
5350
5351         Replace PCRE with Yarr in WebCore
5352         https://bugs.webkit.org/show_bug.cgi?id=53496
5353
5354         No new tests needed.
5355
5356         * Android.jscbindings.mk:
5357         * CMakeLists.txt:
5358         * ForwardingHeaders/pcre/pcre.h: Removed.
5359         * ForwardingHeaders/yarr/Yarr.h: Added.
5360         * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
5361         * ForwardingHeaders/yarr/YarrPattern.h: Added.
5362         * WebCore.gyp/WebCore.gyp:
5363         * WebCore.pro:
5364         * WebCore.vcproj/WebCore.vcproj:
5365         * WebCore.vcproj/copyForwardingHeaders.cmd:
5366         * platform/text/RegularExpression.cpp:
5367         (WebCore::RegularExpression::Private::create):
5368         (WebCore::RegularExpression::Private::Private):
5369         (WebCore::RegularExpression::Private::compile):
5370         (WebCore::RegularExpression::match):
5371
5372 2011-02-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
5373
5374         Reviewed by Eric Seidel.
5375
5376         [EFL] Add dummy functions for HTML5 Video's control UI
5377         https://bugs.webkit.org/show_bug.cgi?id=53906
5378
5379         In WebKit EFL, there are no implementations for HTML5 control UI.
5380         First, dummy functions are added.
5381
5382         * platform/efl/RenderThemeEfl.cpp:
5383         (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
5384         (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
5385         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
5386         (WebCore::RenderThemeEfl::paintMediaMuteButton):
5387         (WebCore::RenderThemeEfl::paintMediaPlayButton):
5388         (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
5389         (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
5390         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
5391         (WebCore::RenderThemeEfl::paintMediaSliderThumb):
5392         (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
5393         (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
5394         (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
5395         (WebCore::RenderThemeEfl::paintMediaCurrentTime):
5396         * platform/efl/RenderThemeEfl.h:
5397
5398 2011-02-09  Eric Seidel  <eric@webkit.org>
5399
5400         Reviewed by Adam Barth.
5401
5402         Make WebKit's fragment cannonicalization match other browsers
5403         https://bugs.webkit.org/show_bug.cgi?id=53850
5404
5405         This doesn't make us match perfectly, but it brings us closer.
5406
5407         * platform/KURL.cpp:
5408         (WebCore::appendEscapingBadChars):
5409         (WebCore::escapeAndAppendFragment):
5410         (WebCore::KURL::parse):
5411
5412 2011-02-09  Hans Wennborg  <hans@chromium.org>
5413
5414         Reviewed by Jeremy Orlow.
5415
5416         IndexedDB: Cursors should skip deleted entries
5417         https://bugs.webkit.org/show_bug.cgi?id=53690
5418
5419         Add test to check that the cursor skips deleted entries.
5420
5421         Test: storage/indexeddb/cursor-skip-deleted.html
5422
5423         * storage/IDBCursorBackendImpl.cpp:
5424         (WebCore::IDBCursorBackendImpl::currentRowExists):
5425         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
5426         * storage/IDBCursorBackendImpl.h:
5427
5428 2011-02-08  Pavel Podivilov  <podivilov@chromium.org>
5429
5430         Reviewed by Yury Semikhatsky.
5431
5432         Web Inspector: script formatter should not create a worker for each script.
5433         https://bugs.webkit.org/show_bug.cgi?id=54010
5434
5435         * inspector/front-end/ScriptFormatter.js:
5436         (WebInspector.ScriptFormatter):
5437         (WebInspector.ScriptFormatter.prototype._formatScript):
5438         (WebInspector.ScriptFormatter.prototype._handleMessage):
5439         (WebInspector.ScriptFormatter.prototype._handleError):
5440
5441 2011-02-08  Pavel Podivilov  <podivilov@chromium.org>
5442
5443         Reviewed by Pavel Feldman.
5444
5445         Web Inspector: sync uglifyjs parser files.
5446         https://bugs.webkit.org/show_bug.cgi?id=54003
5447
5448         * inspector/front-end/UglifyJS/parse-js.js:
5449         * inspector/front-end/UglifyJS/process.js:
5450
5451 2011-02-08  Ryosuke Niwa  <rniwa@webkit.org>
5452
5453         Reviewed by Darin Adler.
5454
5455         REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor
5456         https://bugs.webkit.org/show_bug.cgi?id=53196
5457
5458         The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy,
5459         and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy
5460         before making the modification and not removing non-inheritable properties.
5461
5462         Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large
5463         by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles
5464         and selectionStartCSSPropertyValue.
5465
5466         Test: editing/style/query-typing-style.html
5467
5468         * editing/ApplyStyleCommand.cpp:
5469         (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles.
5470         (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that
5471         CSS values from xx-small through -webkit-xxx-large are not accounted.
5472         * editing/ApplyStyleCommand.h:
5473         * editing/Editor.cpp:
5474         (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue.
5475         (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style.
5476         No longer calls removeNonEditingProperties on the copied typing style so that background-color property
5477         is included when merged into the style.
5478
5479 2011-02-08  Sam Weinig  <sam@webkit.org>
5480
5481         Reviewed by Maciej Stachowiak.
5482
5483         REGRESSION (r76831): Subframes are printed blank
5484         <rdar://problem/8945867>
5485
5486         * page/FrameView.cpp:
5487         (WebCore::FrameView::paintOverhangAreas):
5488         Don't paint overhangs when printing.
5489
5490 2011-02-07  Jeremy Orlow  <jorlow@chromium.org>
5491
5492         Reviewed by Nate Chapin.
5493
5494         Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction)
5495         https://bugs.webkit.org/show_bug.cgi?id=53975
5496
5497         The third change in the series of overhauling IndexedDB's event model to match
5498         the spec (at least the version in our heads and bugs).
5499
5500         Test: storage/indexeddb/transaction-event-propagation.html
5501
5502         * bindings/v8/V8DOMWrapper.cpp:
5503         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
5504         * dom/Event.cpp:
5505         (WebCore::Event::isIDBAbortEvent):
5506         (WebCore::Event::isIDBCompleteEvent):
5507         * dom/Event.h:
5508         * dom/EventTarget.cpp:
5509         (WebCore::EventTarget::toIDBDatabase):
5510         * dom/EventTarget.h:
5511         * storage/IDBDatabase.cpp:
5512         (WebCore::IDBDatabase::create):
5513         (WebCore::IDBDatabase::IDBDatabase):
5514         (WebCore::IDBDatabase::scriptExecutionContext):
5515         (WebCore::IDBDatabase::eventTargetData):
5516         (WebCore::IDBDatabase::ensureEventTargetData):
5517         * storage/IDBDatabase.h:
5518         (WebCore::IDBDatabase::toIDBDatabase):
5519         (WebCore::IDBDatabase::refEventTarget):
5520         (WebCore::IDBDatabase::derefEventTarget):
5521         * storage/IDBDatabase.idl:
5522         * storage/IDBRequest.cpp:
5523         (WebCore::IDBRequest::onSuccess):
5524         (WebCore::IDBRequest::dispatchEvent):
5525         * storage/IDBTransaction.cpp:
5526         (WebCore::IDBTransaction::backend):
5527         (WebCore::IDBTransaction::db):
5528         (WebCore::IDBTransaction::objectStore):
5529         (WebCore::IDBTransaction::scriptExecutionContext):
5530         (WebCore::IDBTransaction::dispatchEvent):
5531         (WebCore::IDBTransaction::enqueueEvent):
5532         * storage/IDBTransaction.h:
5533         (WebCore::IDBTransaction::dispatchEvent):
5534
5535 2011-02-08  Kenneth Russell  <kbr@google.com>
5536
5537         Reviewed by James Robinson.
5538
5539         Add cache for GPU-accelerated path processing results
5540         https://bugs.webkit.org/show_bug.cgi?id=45519
5541
5542         Adding a cache which holds the results of processing a path into
5543         interior and exterior triangle meshes, according to the path
5544         rendering algorithm from GPU Gems 3. No tests yet; will be tested
5545         in conjunction with later code.
5546
5547         * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added.
5548         (WebCore::LoopBlinnPathCache::LoopBlinnPathCache):
5549         (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache):
5550         (WebCore::LoopBlinnPathCache::addVertex):
5551         (WebCore::LoopBlinnPathCache::clear):
5552         (WebCore::LoopBlinnPathCache::addInteriorVertex):
5553         (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices):
5554         (WebCore::LoopBlinnPathCache::interiorEdgeVertices):
5555         (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex):
5556         * platform/graphics/gpu/LoopBlinnPathCache.h: Added.
5557         (WebCore::LoopBlinnPathCache::numberOfVertices):
5558         (WebCore::LoopBlinnPathCache::vertices):
5559         (WebCore::LoopBlinnPathCache::texcoords):
5560         (WebCore::LoopBlinnPathCache::numberOfInteriorVertices):
5561         (WebCore::LoopBlinnPathCache::interiorVertices):
5562
5563 2011-02-08  Zhenyao Mo  <zmo@google.com>
5564
5565         Reviewed by Kenneth Russell.
5566
5567         Rename GraphicsContext3D::WebGLEnumType
5568         https://bugs.webkit.org/show_bug.cgi?id=45708
5569
5570         * html/canvas/WebGLProgram.cpp:
5571         (WebCore::WebGLProgram::getAttachedShader):
5572         * html/canvas/WebGLProgram.h:
5573         * platform/graphics/GraphicsContext3D.h:
5574
5575 2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
5576
5577         Unreviewed, rolling out r77980.
5578         http://trac.webkit.org/changeset/77980
5579         https://bugs.webkit.org/show_bug.cgi?id=54043
5580
5581         "Crashes on Windows and Linux..." (Requested by leviw on
5582         #webkit).
5583
5584         * WebCore.exp.in:
5585         * accessibility/AXObjectCache.cpp:
5586         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
5587         * accessibility/AccessibilityObject.cpp:
5588         (WebCore::startOfStyleRange):
5589         (WebCore::endOfStyleRange):
5590         * accessibility/AccessibilityRenderObject.cpp:
5591         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
5592         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5593         (objectAndOffsetUnignored):
5594         * dom/Position.cpp:
5595         (WebCore::Position::upstream):
5596         (WebCore::Position::downstream):
5597         * dom/Range.cpp:
5598         (WebCore::Range::editingStartPosition):
5599         * editing/Editor.cpp:
5600         (WebCore::Editor::canDeleteRange):
5601         * editing/ReplaceSelectionCommand.cpp:
5602         (WebCore::ReplaceSelectionCommand::doApply):
5603         * editing/SelectionController.cpp:
5604         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
5605         (WebCore::SelectionController::setSelectedRange):
5606         * editing/TextIterator.cpp:
5607         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
5608         * editing/TypingCommand.cpp:
5609         (WebCore::TypingCommand::deleteKeyPressed):
5610         * editing/VisiblePosition.cpp:
5611         (WebCore::VisiblePosition::VisiblePosition):
5612         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
5613         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
5614         (WebCore::VisiblePosition::canonicalPosition):
5615         (WebCore::VisiblePosition::characterAfter):
5616         (WebCore::VisiblePosition::localCaretRect):
5617         (WebCore::makeRange):
5618         (WebCore::startVisiblePosition):
5619         (WebCore::endVisiblePosition):
5620         (WebCore::setStart):
5621         (WebCore::setEnd):
5622         (WebCore::isFirstVisiblePositionInNode):
5623         (WebCore::isLastVisiblePositionInNode):
5624         * editing/VisiblePosition.h:
5625         * editing/htmlediting.cpp:
5626         (WebCore::firstInSpecialElement):
5627         (WebCore::lastInSpecialElement):
5628         (WebCore::visiblePositionBeforeNode):
5629         (WebCore::visiblePositionAfterNode):
5630         * editing/visible_units.cpp:
5631         (WebCore::startPositionForLine):
5632         (WebCore::endPositionForLine):
5633         (WebCore::previousLinePosition):
5634         (WebCore::nextLinePosition):
5635         (WebCore::startOfParagraph):
5636         (WebCore::endOfParagraph):
5637         (WebCore::endOfBlock):
5638         (WebCore::startOfDocument):
5639         (WebCore::endOfDocument):
5640         (WebCore::logicalStartPositionForLine):
5641         (WebCore::logicalEndPositionForLine):
5642         * page/DOMSelection.cpp:
5643         (WebCore::DOMSelection::collapse):
5644         (WebCore::DOMSelection::setBaseAndExtent):
5645         (WebCore::DOMSelection::setPosition):
5646         (WebCore::DOMSelection::extend):
5647         * page/EventHandler.cpp:
5648         (WebCore::EventHandler::handleMousePressEventSingleClick):
5649         * rendering/RenderObject.cpp:
5650         (WebCore::RenderObject::createVisiblePosition):
5651         * rendering/RenderTextControl.cpp:
5652         (WebCore::RenderTextControl::visiblePositionForIndex):
5653         * svg/SVGTextContentElement.cpp:
5654         (WebCore::SVGTextContentElement::selectSubString):
5655
5656 2011-02-08  Jia Pu  <jpu@apple.com>
5657
5658         Reviewed by Darin Adler.
5659
5660         VisibleSelection::setWithoutValidation() should allow caret selection.
5661         https://bugs.webkit.org/show_bug.cgi?id=53943
5662
5663         Test: editing/undo/undo-paste-when-caret-is-not-in-range.html
5664
5665         * editing/VisibleSelection.cpp:
5666         (WebCore::VisibleSelection::setWithoutValidation):
5667
5668 2011-02-08  Martin Robinson  <mrobinson@igalia.com>
5669
5670         Reviewed by Xan Lopez.
5671
5672         [GTK] Remove the last remnants of the Mozilla theme drawing code
5673         https://bugs.webkit.org/show_bug.cgi?id=54035
5674
5675         Remove all Mozilla theme drawing code.
5676
5677         No new tests. This change only removes dead code.
5678
5679         * GNUmakefile.am: Remove Mozilla files from the source list.
5680         * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods
5681         and add m_colormap to hold the current colormap of the widgets.
5682         * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code.
5683         (WebCore::RenderThemeGtk::platformInit): Ditto.
5684         (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
5685         (WebCore::RenderThemeGtk::gtkContainer): Ditto.
5686         * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto.
5687         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
5688         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto.
5689         * platform/gtk/WidgetRenderingContext.h: Ditto.
5690         * platform/gtk/gtk2drawing.c: Removed.
5691         * platform/gtk/gtkdrawing.h: Removed.
5692
5693 2011-02-08  Yael Aharon  <yael.aharon@nokia.com>
5694
5695         Reviewed by Antti Koivisto.
5696
5697         Crash when logging into gmail.com with frame flattening turned on.
5698         https://bugs.webkit.org/show_bug.cgi?id=52449
5699
5700         Frame flattening algorithm requires that layout always starts from the main frame, since layout of
5701         subframes impacts the layout of their parents. 
5702         There are places in the code that call view->layout() not on the main frame.
5703         Instead of changing all the callsites, I changed FrameView::layout()
5704         to force layout from the main frame if frame flattening is enabled.
5705         In addition, postLayoutTasks can trigger relayout, so make it use the timer even more.
5706         Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(), 
5707         because calling the from layout() leads to a crash in pages that have a selection in an iframe.
5708
5709         Tests: fast/frames/flattening/iframe-flattening-crash.html
5710                fast/frames/flattening/iframe-flattening-selection-crash.html
5711
5712         * page/FrameView.cpp:
5713         (WebCore::FrameView::layout):
5714         (WebCore::FrameView::performPostLayoutTasks):
5715
5716 2011-02-08  Andy Estes  <aestes@apple.com>
5717
5718         Reviewed by Darin Adler.
5719
5720         <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be
5721         a supported contentEditable mode.
5722         https://bugs.webkit.org/show_bug.cgi?id=54041
5723
5724         * html/HTMLElement.cpp:
5725         (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
5726         attribute to 'plaintext-only' should not throw an exception.
5727
5728 2011-02-08  Dan Bernstein  <mitz@apple.com>
5729
5730         Reviewed by Simon Fraser.
5731
5732         RenderRubyRun::m_beingDestroyed is redundant
5733         https://bugs.webkit.org/show_bug.cgi?id=54042
5734
5735         * rendering/RenderRubyRun.cpp:
5736         (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed.
5737         (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed(). 
5738         * rendering/RenderRubyRun.h:
5739
5740 2011-02-08  Levi Weintraub  <leviw@chromium.org>
5741
5742         Reviewed by Ryosuke Niwa.
5743
5744         Stop instantiating legacy editing Positions in VisiblePosition
5745         https://bugs.webkit.org/show_bug.cgi?id=52919
5746
5747         Changing VisiblePosition completely away from legacy positions.
5748
5749         No new tests since this is functionaly equivalent.
5750
5751         * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
5752         adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
5753         outside of WebCore, they should be parent anchored.
5754         * accessibility/AXObjectCache.cpp:
5755         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
5756         * accessibility/AccessibilityObject.cpp:
5757         (WebCore::startOfStyleRange):
5758         (WebCore::endOfStyleRange):
5759         * accessibility/AccessibilityRenderObject.cpp:
5760         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
5761         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5762         (objectAndOffsetUnignored):
5763         * dom/Position.cpp:
5764         (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
5765         (WebCore::Position::downstream): ditto
5766         * dom/Range.cpp:
5767         (WebCore::Range::editingStartPosition):
5768         * editing/Editor.cpp:
5769         (WebCore::Editor::canDeleteRange):
5770         * editing/ReplaceSelectionCommand.cpp:
5771         (WebCore::ReplaceSelectionCommand::doApply):
5772         * editing/SelectionController.cpp:
5773         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
5774         (WebCore::SelectionController::setSelectedRange):
5775         * editing/TextIterator.cpp:
5776         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
5777         * editing/TypingCommand.cpp:
5778         (WebCore::TypingCommand::deleteKeyPressed):
5779         * editing/VisiblePosition.cpp:
5780         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
5781         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
5782         (WebCore::VisiblePosition::canonicalPosition):
5783         (WebCore::VisiblePosition::characterAfter):
5784         (WebCore::VisiblePosition::localCaretRect):
5785         (WebCore::makeRange):
5786         (WebCore::startVisiblePosition):
5787         (WebCore::endVisiblePosition):
5788         (WebCore::setStart):
5789         (WebCore::setEnd):
5790         (WebCore::isFirstVisiblePositionInNode):
5791         (WebCore::isLastVisiblePositionInNode):
5792         * editing/VisiblePosition.h:
5793         (WebCore::VisiblePosition::VisiblePosition):
5794         * editing/htmlediting.cpp:
5795         (WebCore::firstInSpecialElement):
5796         (WebCore::lastInSpecialElement):
5797         (WebCore::visiblePositionBeforeNode):
5798         (WebCore::visiblePositionAfterNode):
5799         * editing/visible_units.cpp:
5800         (WebCore::startPositionForLine):
5801         (WebCore::endPositionForLine):
5802         (WebCore::previousLinePosition):
5803         (WebCore::nextLinePosition):
5804         (WebCore::startOfParagraph):
5805         (WebCore::endOfParagraph):
5806         (WebCore::endOfBlock):
5807         (WebCore::startOfDocument):
5808         (WebCore::endOfDocument):
5809         (WebCore::logicalStartPositionForLine):
5810         (WebCore::logicalEndPositionForLine):
5811         * page/DOMSelection.cpp:
5812         (WebCore::DOMSelection::collapse):
5813         (WebCore::DOMSelection::setBaseAndExtent):
5814         (WebCore::DOMSelection::setPosition):
5815         (WebCore::DOMSelection::extend):
5816         * page/EventHandler.cpp:
5817         (WebCore::EventHandler::handleMousePressEventSingleClick):
5818         * rendering/RenderObject.cpp:
5819         (WebCore::RenderObject::createVisiblePosition):
5820         * rendering/RenderTextControl.cpp:
5821         (WebCore::RenderTextControl::visiblePositionForIndex):
5822         * svg/SVGTextContentElement.cpp:
5823         (WebCore::SVGTextContentElement::selectSubString):
5824
5825 2011-02-08  Michael Saboff  <msaboff@apple.com>
5826
5827         JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
5828         https://bugs.webkit.org/show_bug.cgi?id=53716
5829
5830         Changed ASSERT to be an if for the case where the RuntimeObject was
5831         GC'ed before RootObject::invalidate is called.  In that case there is 
5832         no need to remove the RuntimeObject from the RootObject.  The isValid()
5833         call will be false in this case, but the RuntimeObject has already
5834         been removed from the RootObject.  Added similar defensive code
5835         in RootObject::removeRuntimeObject().
5836
5837         * bridge/jsc/BridgeJSC.cpp:
5838         (JSC::Bindings::Instance::willDestroyRuntimeObject):
5839         * bridge/runtime_root.cpp:
5840         (JSC::Bindings::RootObject::removeRuntimeObject):
5841
5842 2011-02-08  Beth Dakin  <bdakin@apple.com>
5843
5844         Reviewed by Darin Adler.
5845
5846         Fix for <rdar://problem/8953365> CrashTracer: 14 
5847         crashes in WebProcess at com.apple.WebCore: 
5848         -[ScrollKnobAnimation setCurrentProgress:] + 258
5849
5850         This crash seems to happen when the animation is running
5851         and a window is closed. If the ScrollAnimator is destroyed,
5852         delegate calls for the animation can still run, so we have 
5853         to make sure we inform the delegates when the ScrollAnimator 
5854         is gone, and then we have to null-check it before we do 
5855         anything with it.
5856
5857         Remove scrollbarPainterDelegate() since it's not used anymore.
5858         * platform/mac/ScrollAnimatorMac.h:
5859         * platform/mac/ScrollAnimatorMac.mm:
5860         
5861         Add null-checks for _animator
5862         (-[ScrollbarPartAnimation setCurrentProgress:]):
5863         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
5864         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
5865         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
5866         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
5867         
5868         New function to inform the delegates that the ScrollAnimator
5869         is being destroyed.
5870         (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
5871         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
5872
5873 2011-02-08  Adam Barth  <abarth@webkit.org>
5874
5875         Reviewed by Eric Seidel.
5876
5877         Remove orphan code from old parser
5878         https://bugs.webkit.org/show_bug.cgi?id=53984
5879
5880         This code appears to be unused.
5881
5882         * html/HTMLParserErrorCodes.cpp:
5883         * html/HTMLParserErrorCodes.h:
5884         * html/HTMLParserQuirks.h:
5885         * loader/EmptyClients.h:
5886         * page/ChromeClient.h:
5887
5888 2011-02-08  Martin Robinson  <mrobinson@igalia.com>
5889
5890         Reviewed by Gustavo Noronha Silva.
5891
5892         [GTK] Move scrollbar rendering out of gtk2drawing.c
5893         https://bugs.webkit.org/show_bug.cgi?id=52836
5894
5895         Replace gtk2drawing.c scrollbar rendering with our own version. This
5896         is the last use of the Mozilla theme drawing code.
5897
5898         No new tests. This should not change the rendering of the default
5899         theme.
5900
5901         * platform/gtk/GtkVersioning.h: Add some more backported allocation setters.
5902         * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets.
5903         * platform/gtk/RenderThemeGtk2.cpp:  Initialize and add getters for scrollbar widgets.
5904         (WebCore::RenderThemeGtk::platformInit): Ditto.
5905         (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto.
5906         (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto.
5907         * platform/gtk/ScrollbarThemeGtk.cpp: 
5908         (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled
5909         window background if we are repainting a button or the thumb. In that
5910         case also repaint the track rect.
5911         * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext.
5912         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto.
5913         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
5914         (WebCore::getWidgetForScrollbar): Ditto.
5915         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
5916         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
5917         (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
5918         (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
5919         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
5920         (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which
5921         also adjusts a widget allocation according to the paint rect. This is
5922         necessary to properly draw scrollbar buttons.
5923         * platform/gtk/WidgetRenderingContext.h: Ditto.
5924
5925 2011-02-08  Simon Fraser  <simon.fraser@apple.com>
5926
5927         Reviewed by Dan Bernstein.
5928
5929         Inset shadow with large offset renders incorrectly
5930         https://bugs.webkit.org/show_bug.cgi?id=53882
5931         
5932         Fix an issue with inset shadows, when the shadow offset
5933         was larger than the box size. In this case we'd fail to
5934         fill the box with the shadow color.
5935
5936         Test: fast/box-shadow/inset-shadow-large-offset.html
5937
5938         * rendering/RenderBoxModelObject.cpp:
5939         (WebCore::areaCastingShadowInHole): Return a rect that covers the area
5940         which contributes to the inset shadow.
5941         
5942         (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
5943         to compute the outerRect.
5944
5945 2011-02-08  Zhenyao Mo  <zmo@google.com>
5946
5947         Reviewed by Kenneth Russell.
5948
5949         drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
5950         https://bugs.webkit.org/show_bug.cgi?id=54017
5951
5952         * html/canvas/WebGLRenderingContext.cpp:
5953         (WebCore::WebGLRenderingContext::drawElements):
5954
5955 2011-01-28  Dimitri Glazkov  <dglazkov@chromium.org>
5956
5957         Reviewed by Darin Adler.
5958
5959         Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
5960         https://bugs.webkit.org/show_bug.cgi?id=53190
5961
5962         This is the second part of refactoring the HTMLMediaElement to use new
5963         shadow DOM. The changes are mainly mechanical, except for needing to
5964         add a new method to RenderTheme, which indicates whether or not status
5965         display is being used by it. Previously, we relied on existence of a cached
5966         pseudo style.
5967
5968         Refactoring, covered by existing tests.
5969
5970         * css/CSSSelector.cpp:
5971         (WebCore::CSSSelector::pseudoId): Removed now-unused enum values.
5972         (WebCore::nameToPseudoTypeMap): Ditto.
5973         (WebCore::CSSSelector::extractPseudoType): Ditto.
5974         * css/CSSSelector.h: Ditto.
5975         * html/shadow/MediaControls.cpp:
5976         (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement.
5977         (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added
5978             MediaControlCurrentTimeDisplayElement.
5979         (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added
5980                 MediaControlTimeRemainingDisplayElement.
5981         * rendering/MediaControlElements.cpp:
5982         (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the
5983             standard style resolution.
5984         (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added.
5985         (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement
5986             that is no longer necessary.
5987         (WebCore::MediaControlElement::styleForElement): Changed to use the standard
5988             style resolution.
5989         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added.
5990         (WebCore::MediaControlPanelElement::create): Added.
5991         (WebCore::MediaControlPanelElement::displayType): Added.
5992         (WebCore::MediaControlPanelElement::shadowPseudoId): Added.
5993         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
5994             Removed PseudoId constructor arg.
5995         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
5996             Changed to use the newly-plumbed usesMediaControlStatusDisplay helper.
5997         (WebCore::MediaControlTimelineContainerElement::displayType): Added.
5998         (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added.
5999         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
6000             Removed PseudoId constructor arg.
6001         (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added.
6002         (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added.
6003         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
6004             Removed PseudoId constructor arg.
6005         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to
6006             use the newly-plumbed usesMediaControlStatusDisplay helper.
6007         (WebCore::MediaControlStatusDisplayElement::displayType): Added.
6008         (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added.
6009         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
6010             Removed PseudoId constructor arg.
6011         (WebCore::MediaControlTimeRemainingDisplayElement::create): Added.
6012         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added.
6013         (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added.
6014         (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added.
6015         (WebCore::MediaControlCurrentTimeDisplayElement::create): Added.
6016         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added.
6017         (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added.
6018         (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added.
6019         * rendering/MediaControlElements.h: Added/changed defs accordingly.
6020         * rendering/RenderTheme.h:
6021         (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added.
6022         * rendering/RenderThemeMac.h: Added def.
6023         * rendering/RenderThemeMac.mm:
6024         (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added.
6025         * rendering/style/RenderStyleConstants.h: Removed now-unused enum values.
6026
6027 2011-02-08  Xiaomei Ji  <xji@chromium.org>
6028
6029         Reviewed by Dan Bernstein.
6030
6031         Fix pop-up button text not rendered correctly according to its direction
6032         in <option>.
6033         https://bugs.webkit.org/show_bug.cgi?id=53642
6034  
6035         In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi 
6036         changes, set it needs layout.
6037
6038         Test: fast/text/international/pop-up-button-text-alignment-and-direction.html
6039
6040         * rendering/RenderMenuList.cpp:
6041         (WebCore::RenderMenuList::adjustInnerStyle):
6042
6043 2011-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
6044
6045         Unreviewed build fix for Qt-minimal.
6046
6047         * inspector/InspectorInstrumentation.h:
6048         (WebCore::InspectorInstrumentation::hasFrontend):
6049
6050 2011-02-02  Ilya Tikhonovsky  <loislo@chromium.org>
6051
6052         Reviewed by Yury Semikhatsky.
6053
6054         Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
6055
6056         https://bugs.webkit.org/show_bug.cgi?id=53169
6057
6058         All the Inspector API for WebCore has two parts.
6059         The first one is InspectorInstrumentation for WebCore.
6060         The second is InspectorController for WebKit.
6061         InspectorAgent was produced by renaming original InspectorController.
6062         This patch extracts WebKit related methods from InspectorAgent to InspectorController.
6063
6064         * WebCore.exp.in:
6065         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
6066         * html/HTMLDocument.cpp:
6067         (WebCore::HTMLDocument::createParser):
6068         * inspector/InspectorAgent.cpp:
6069         (WebCore::InspectorAgent::InspectorAgent):
6070         (WebCore::InspectorAgent::~InspectorAgent):
6071         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
6072         (WebCore::InspectorAgent::inspect):
6073         (WebCore::InspectorAgent::handleMousePress):
6074         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
6075         (WebCore::InspectorAgent::setFrontend):
6076         (WebCore::InspectorAgent::disconnectFrontend):
6077         (WebCore::InspectorAgent::resourceAgent):
6078         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
6079         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
6080         (WebCore::InspectorAgent::populateScriptObjects):
6081         (WebCore::InspectorAgent::pushDataCollectedOffline):
6082         (WebCore::InspectorAgent::restoreProfiler):
6083         (WebCore::InspectorAgent::startTimelineProfiler):
6084         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
6085         (WebCore::InspectorAgent::didOpenDatabase):
6086         (WebCore::InspectorAgent::didUseDOMStorage):
6087         (WebCore::InspectorAgent::showAndEnableDebugger):
6088         (WebCore::InspectorAgent::enableDebugger):
6089         (WebCore::InspectorAgent::enabled):
6090         * inspector/InspectorAgent.h:
6091         (WebCore::InspectorAgent::frontend):
6092         * inspector/InspectorController.cpp:
6093         (WebCore::InspectorController::InspectorController):
6094         (WebCore::InspectorController::~InspectorController):
6095         (WebCore::InspectorController::setInspectorFrontendClient):
6096         (WebCore::InspectorController::hasInspectorFrontendClient):
6097         (WebCore::InspectorController::didClearWindowObjectInWorld):
6098         (WebCore::InspectorController::startTimelineProfiler):
6099         (WebCore::InspectorController::stopTimelineProfiler):
6100         (WebCore::InspectorController::connectFrontend):
6101         (WebCore::InspectorController::disconnectFrontend):
6102         (WebCore::InspectorController::disconnectFrontendImpl):
6103         (WebCore::InspectorController::show):
6104         (WebCore::InspectorController::close):
6105         (WebCore::InspectorController::restoreInspectorStateFromCookie):
6106         (WebCore::InspectorController::evaluateForTestInFrontend):
6107         (WebCore::InspectorController::drawNodeHighlight):
6108         (WebCore::InspectorController::inspect):
6109         (WebCore::InspectorController::enabled):
6110         (WebCore::InspectorController::showPanel):
6111         (WebCore::InspectorController::frontendLoaded):
6112         (WebCore::InspectorController::timelineProfilerEnabled):
6113         (WebCore::InspectorController::enableProfiler):
6114         (WebCore::InspectorController::disableProfiler):
6115         (WebCore::InspectorController::profilerEnabled):
6116         (WebCore::InspectorController::debuggerEnabled):
6117         (WebCore::InspectorController::showAndEnableDebugger):
6118         (WebCore::InspectorController::disableDebugger):
6119         (WebCore::InspectorController::startUserInitiatedProfiling):
6120         (WebCore::InspectorController::stopUserInitiatedProfiling):
6121         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
6122         (WebCore::InspectorController::setInspectorExtensionAPI):
6123         (WebCore::InspectorController::resume):
6124         (WebCore::InspectorController::hideHighlight):
6125         (WebCore::InspectorController::dispatchMessageFromFrontend):
6126         * inspector/InspectorController.h:
6127         (WebCore::InspectorController::inspectorClient):
6128         (WebCore::InspectorController::inspectedPage):
6129         (WebCore::InspectorController::hasFrontend):
6130         * inspector/InspectorFrontendClientLocal.cpp:
6131         (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
6132         * inspector/InspectorFrontendHost.cpp:
6133         (WebCore::InspectorFrontendHost::setExtensionAPI):
6134         * inspector/InspectorInstrumentation.cpp:
6135         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
6136         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
6137         * inspector/InspectorInstrumentation.h:
6138         (WebCore::InspectorInstrumentation::hasFrontend):
6139         * loader/FrameLoader.cpp:
6140         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
6141
6142 2011-02-08  George Wright  <gwright@rim.com>
6143
6144         Reviewed by Adam Barth.
6145
6146         https://bugs.webkit.org/show_bug.cgi?id=53949
6147
6148         Ensure that we pack the colour byte order correctly for Skia using
6149         Skia's SkPackARGB32 function.
6150
6151         * platform/image-decoders/ImageDecoder.h:
6152         (WebCore::ImageFrame::setRGBA):
6153
6154 2011-02-08  George Wright  <gwright@rim.com>
6155
6156         Reviewed by Darin Adler.
6157
6158         https://bugs.webkit.org/show_bug.cgi?id=53951
6159
6160         Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
6161         pass the full image dimensions.
6162
6163         * platform/graphics/GraphicsContext.cpp:
6164         (WebCore::GraphicsContext::drawImageBuffer):
6165
6166 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
6167
6168         Reviewed by Adam Roben.
6169
6170         [WIN] Add missing includes and forward declarations for DownloadBundle
6171         https://bugs.webkit.org/show_bug.cgi?id=53881
6172
6173         * platform/network/cf/DownloadBundle.h:
6174         * platform/network/win/DownloadBundleWin.cpp:
6175         (WebCore::DownloadBundle::appendResumeData):
6176
6177 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
6178
6179         Reviewed by Adam Roben.
6180
6181         [WIN] Add missing include in WKCAImageQueue
6182         https://bugs.webkit.org/show_bug.cgi?id=53890
6183
6184         * platform/graphics/win/WKCAImageQueue.cpp:
6185
6186 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
6187
6188         Reviewed by Adam Roben.
6189
6190         [WIN] Add missing includes and forward declarations for CFNetwork
6191         https://bugs.webkit.org/show_bug.cgi?id=53883
6192
6193         * platform/network/cf/DNSCFNet.cpp:
6194         * platform/network/cf/LoaderRunLoopCF.cpp:
6195         * platform/network/cf/LoaderRunLoopCF.h:
6196         * platform/network/cf/ProxyServerCFNet.cpp:
6197         * platform/network/cf/SocketStreamHandle.h:
6198         * platform/network/cf/SocketStreamHandleCFNet.cpp:
6199
6200 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
6201
6202         Unreviewed WinCE build fix for r77870.
6203
6204         * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.
6205
6206 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6207
6208         Reviewed by Yury Semikhatsky.
6209
6210         Web Inspector: open network resource url in new tab upon double click.
6211         https://bugs.webkit.org/show_bug.cgi?id=53930
6212
6213         * inspector/front-end/NetworkPanel.js:
6214         (WebInspector.NetworkDataGridNode.prototype.createCells):
6215         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
6216
6217 2011-02-08  Yonathan Randolph  <yonathan@gmail.com>
6218
6219         Reviewed by Pavel Feldman.
6220
6221         Web Inspector: $x: any node should work in optional context parameter.
6222         https://bugs.webkit.org/show_bug.cgi?id=50138
6223
6224         * inspector/InjectedScriptSource.js:
6225
6226 2011-02-08  Patrick Gansterer  <paroga@webkit.org>
6227
6228         Unreviewed WinCE build fix for r77870.
6229
6230         Remove the global namespace prefix from GlobalLock/GlobalUnlock.
6231
6232         * platform/win/ClipboardUtilitiesWin.cpp:
6233
6234 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6235
6236         Not reviewed: re-apply r77924.
6237
6238         Test: inspector/console-api-on-call-frame.html
6239
6240         * inspector/InjectedScriptSource.js:
6241         * inspector/front-end/ExtensionServer.js:
6242         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
6243
6244 2011-02-08  Andreas Kling  <kling@webkit.org>
6245
6246         Reviewed by Tor Arne Vestbø.
6247
6248         REGRESSION(r77312): Unbreak TiledBackingStore.
6249
6250         Due to an off-by-one error, we were no longer rendering the
6251         rightmost column and bottom row of tiles.
6252
6253         Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().
6254
6255         * platform/graphics/TiledBackingStore.cpp:
6256         (WebCore::TiledBackingStore::invalidate):
6257         (WebCore::TiledBackingStore::updateTileBuffers):
6258         (WebCore::TiledBackingStore::paint):
6259         (WebCore::TiledBackingStore::createTiles):
6260
6261 2011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
6262
6263         Unreviewed, rolling out r77924.
6264         http://trac.webkit.org/changeset/77924
6265         https://bugs.webkit.org/show_bug.cgi?id=53997
6266
6267         Breaks inspector tests. (Requested by pfeldman on #webkit).
6268
6269         * inspector/InjectedScriptSource.js:
6270         (.):
6271         ():
6272
6273 2011-02-08  Andrey Kosyakov  <caseq@chromium.org>
6274
6275         Reviewed by Pavel Feldman.
6276
6277         Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent
6278         https://bugs.webkit.org/show_bug.cgi?id=53789
6279          - perform UserAgent override via InspectorInstrumentation
6280          - move adding extra request headers to InspectorResourceAgent
6281          - simplified things in InspectorState
6282
6283         * inspector/Inspector.idl:
6284         * inspector/InspectorAgent.cpp:
6285         (WebCore::InspectorAgent::disconnectFrontend):
6286         (WebCore::InspectorAgent::applyUserAgentOverride):
6287         * inspector/InspectorAgent.h:
6288         * inspector/InspectorInstrumentation.cpp:
6289         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
6290         (WebCore::InspectorInstrumentation::willSendRequestImpl):
6291         * inspector/InspectorInstrumentation.h:
6292         (WebCore::InspectorInstrumentation::applyUserAgentOverride):
6293         * inspector/InspectorResourceAgent.cpp:
6294         (WebCore::InspectorResourceAgent::setExtraHeaders):
6295         (WebCore::InspectorResourceAgent::willSendRequest):
6296         * inspector/InspectorResourceAgent.h:
6297         * inspector/InspectorState.cpp:
6298         (WebCore::InspectorState::InspectorState):
6299         (WebCore::InspectorState::restoreFromInspectorCookie):
6300         (WebCore::InspectorState::updateCookie):
6301         (WebCore::InspectorState::setValue):
6302         (WebCore::InspectorState::getBoolean):
6303         (WebCore::InspectorState::getString):
6304         (WebCore::InspectorState::getLong):
6305         (WebCore::InspectorState::getObject):
6306         * inspector/InspectorState.h:
6307         (WebCore::InspectorState::setObject):
6308         * loader/FrameLoader.cpp:
6309         (WebCore::FrameLoader::userAgent):
6310
6311 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6312
6313         Reviewed by Yury Semikhatsky.
6314
6315         Web Inspector: do not hide scope variables with command line api.
6316         https://bugs.webkit.org/show_bug.cgi?id=53497
6317
6318         Test: inspector/console-api-on-call-frame.html
6319
6320         * inspector/InjectedScriptSource.js:
6321
6322 2011-02-08  Pavel Feldman  <pfeldman@chromium.org>
6323
6324         Reviewed by Yury Semikhatsky.
6325
6326         Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
6327         https://bugs.webkit.org/show_bug.cgi?id=53914
6328
6329         * inspector/Inspector.idl:
6330         * inspector/InspectorAgent.cpp:
6331         (WebCore::InspectorAgent::reloadPage):
6332         * inspector/InspectorAgent.h:
6333         * inspector/front-end/AuditsPanel.js:
6334         (WebInspector.AuditsPanel.prototype._reloadResources):
6335         * inspector/front-end/ExtensionServer.js:
6336         (WebInspector.ExtensionServer.prototype._onReload):
6337         * inspector/front-end/inspector.js:
6338         (WebInspector.documentKeyDown):
6339
6340 2011-02-08  Antti Koivisto  <antti@apple.com>
6341
6342         Reviewed by Cameron Zwarich.
6343
6344         Skip over sibling selectors when collecting descendant selector hashes 
6345         https://bugs.webkit.org/show_bug.cgi?id=53987
6346         
6347         Skip instead of bailing out. This will allow optimizing some sibling selector cases.
6348
6349         * css/CSSStyleSelector.cpp:
6350         (WebCore::RuleData::RuleData):
6351         (WebCore::RuleData::collectIdentifierHashes):
6352         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
6353         * css/CSSStyleSelector.h:
6354
6355 2011-02-07  Cris Neckar  <cdn@chromium.org>
6356
6357         Reviewed by Jian Li.
6358
6359         Fix null deref in DOMURL
6360         https://bugs.webkit.org/show_bug.cgi?id=53811
6361
6362         Test: fast/files/domurl-script-execution-context-crash.html
6363
6364         * html/DOMURL.cpp:
6365         (WebCore::DOMURL::DOMURL):
6366
6367 2011-02-07  Mark Rowe  <mrowe@apple.com>
6368
6369         Fix the 32-bit build.
6370
6371         * platform/mac/ScrollAnimatorMac.mm:
6372         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
6373         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.
6374
6375 2011-02-07  Xiyuan Xia  <xiyuan@chromium.org>
6376
6377         Reviewed by Tony Chang.
6378
6379         [Chromium] Select popup box does not align with select button when appearance is not "menulist".
6380         https://bugs.webkit.org/show_bug.cgi?id=53942
6381
6382         Added manual test select_webkit_appearance_off_popup_alignment.html.
6383
6384         * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
6385         * platform/chromium/PopupMenuChromium.cpp:
6386         (WebCore::PopupListBox::layout):
6387
6388 2011-02-07  Aparna Nandyal  <aparna.nand@wipro.com>
6389
6390         Reviewed by Andreas Kling.
6391
6392         [Qt] - Context menu needs "Copy" as well when the selected text is a link.
6393         https://bugs.webkit.org/show_bug.cgi?id=40983
6394
6395         Added copy option for Qt platform if selection is a link. 
6396         Added a test in tst_qwebpage.cpp. 
6397
6398         * page/ContextMenuController.cpp:
6399         (WebCore::ContextMenuController::populate):
6400
6401 2011-02-07  Mike Reed  <reed@google.com>
6402
6403         Reviewed by Kenneth Russell.
6404
6405         Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
6406         when drawing <canvas>. Disabled by default.
6407
6408         No new tests. existing canvas layouttests apply
6409
6410         * platform/graphics/chromium/DrawingBufferChromium.cpp:
6411         (WebCore::DrawingBuffer::publishToPlatformLayer):
6412         * platform/graphics/skia/PlatformContextSkia.cpp:
6413         (WebCore::GetGlobalGrContext):
6414         (WebCore::PlatformContextSkia::isPrinting):
6415         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
6416         (WebCore::PlatformContextSkia::syncSoftwareCanvas):
6417
6418 2011-02-07  Jay Civelli  <jcivelli@chromium.org>
6419
6420         Reviewed by Darin Fisher.
6421
6422         Removing unused code from PopupMenuChromium.
6423         https://bugs.webkit.org/show_bug.cgi?id=53866
6424
6425        * platform/chromium/PopupMenuChromium.cpp:
6426         (WebCore::PopupListBox::layout):
6427         (WebCore::PopupMenuChromium::show):
6428         * platform/chromium/PopupMenuChromium.h:
6429
6430 2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
6431
6432         Reviewed by Andreas Kling.
6433
6434         HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
6435         https://bugs.webkit.org/show_bug.cgi?id=53791
6436
6437         Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().
6438
6439         Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html
6440
6441         * html/HTMLOutputElement.cpp:
6442         (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
6443         childrenChanged().
6444
6445 2011-02-07  Benjamin Poulain  <ikipou@gmail.com>
6446
6447         Reviewed by Kenneth Rohde Christiansen.
6448
6449         [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
6450         https://bugs.webkit.org/show_bug.cgi?id=52289
6451
6452         Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
6453         in the same thread as the QNetworkAccessManager.
6454
6455         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
6456         (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
6457         (WebCore::QtNAMThreadSafeProxy::hasCookieJar):
6458         * platform/network/qt/QtNAMThreadSafeProxy.h:
6459         * platform/qt/CookieJarQt.cpp:
6460         (WebCore::cookiesEnabled):
6461
6462 2011-02-07  Alexey Marinichev  <amarinichev@chromium.org>
6463
6464         Reviewed by Kenneth Russell.
6465
6466         Hook up WebGraphicsContext3D::setContextLostCallback.
6467         https://bugs.webkit.org/show_bug.cgi?id=53722
6468
6469         Test: fast/canvas/webgl/context-lost.html, comment out the line with
6470         extension.loseContext() and kill the GPU process "Lose context"
6471         message shows up.
6472
6473         * html/canvas/WebGLRenderingContext.cpp:
6474         (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
6475         (WebCore::WebGLRenderingContextLostCallback::onContextLost):
6476         (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback):
6477         (WebCore::WebGLRenderingContext::initializeNewContext):
6478         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
6479         * platform/graphics/GraphicsContext3D.h:
6480         (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback):
6481         * platform/graphics/mac/GraphicsContext3DMac.mm:
6482         (WebCore::GraphicsContext3D::setContextLostCallback): stub
6483         * platform/graphics/qt/GraphicsContext3DQt.cpp:
6484         (WebCore::GraphicsContext3D::setContextLostCallback): stub
6485
6486 2011-02-07  Patrick Gansterer  <paroga@webkit.org>
6487
6488         Reviewed by Eric Seidel.
6489
6490         Add missing PaintInfo include in RenderThemeWin.cpp
6491         https://bugs.webkit.org/show_bug.cgi?id=53885
6492
6493         * rendering/RenderThemeWin.cpp:
6494
6495 2011-02-07  Qi Zhang  <qi.2.zhang@nokia.com>
6496
6497         Reviewed by Andreas Kling.
6498
6499         [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
6500         https://bugs.webkit.org/show_bug.cgi?id=52974
6501
6502         Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
6503
6504         * page/ContextMenuController.cpp:
6505         (WebCore::ContextMenuController::contextMenuItemSelected):
6506         (WebCore::ContextMenuController::populate):
6507         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
6508         * platform/ContextMenuItem.h:
6509         * platform/LocalizationStrategy.h:
6510         * platform/LocalizedStrings.cpp:
6511         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
6512         * platform/LocalizedStrings.h:
6513
6514 2011-02-07  Kenichi Ishibashi  <bashi@chromium.org>
6515
6516         Reviewed by Kent Tamura.
6517
6518         HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
6519         https://bugs.webkit.org/show_bug.cgi?id=53970
6520
6521         Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
6522         return the right value.
6523
6524         Test: fast/dom/HTMLObjectElement/form/nested-form-element.html
6525
6526         * html/HTMLObjectElement.cpp:
6527         (WebCore::HTMLObjectElement::virtualForm): Added.
6528         * html/HTMLObjectElement.h: Added virtualForm().
6529
6530 2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
6531
6532         Unreviewed Leopard build fix.
6533
6534         * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion.
6535         * platform/mac/DragImageMac.mm:
6536         (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat.
6537
6538 2011-02-07  Enrica Casucci  <enrica@apple.com>
6539
6540         Reviewed by Sam Weinig.
6541
6542         Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
6543
6544         When moving code from WebKit to WebCore we needed to move some additional
6545         functions previously in NSStringExtras.
6546         
6547         * WebCore.xcodeproj/project.pbxproj:
6548         * platform/mac/DragImageMac.mm:
6549         (WebCore::fontFromNSFont):
6550         (WebCore::canUseFastRenderer):
6551         (WebCore::widthWithFont):
6552         (WebCore::webkit_CGCeiling):
6553         (WebCore::drawAtPoint):
6554         (WebCore::drawDoubledAtPoint):
6555         (WebCore::createDragImageForLink):
6556
6557 2011-02-07  Lucas Forschler  <lforschler@apple.com>
6558
6559         Reviewed by Geoff Garen.
6560
6561         Tr #2, Fix the Leopard 32bit debug build.
6562         
6563         No new tests required.
6564
6565         * WebCore.xcodeproj/project.pbxproj:
6566         * accessibility/AccessibilityAllInOne.cpp:
6567
6568 2011-02-07  Beth Dakin  <bdakin@apple.com>
6569
6570         Reviewed by Sam Weinig.
6571
6572         Fix for <rdar://problem/8946961> Fix repaint problems
6573         with WKScrollbarPainter scrollers while resizing the window
6574
6575         Remove setPainterForPainterController() and 
6576         removePainterFromPainterController() since they aren't
6577         used anymore.
6578         * platform/mac/ScrollAnimatorMac.h:
6579         
6580         Return early if they alpha hasn't changed.
6581         * platform/mac/ScrollAnimatorMac.mm:
6582         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
6583         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
6584         
6585         If we're in a live resize, restore alpha to 1.
6586         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6587         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6588
6589 2011-02-07  Beth Dakin  <bdakin@apple.com>
6590
6591         Reviewed by Eric Seidel.
6592
6593         Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
6594         USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
6595         Platform.h instead
6596
6597         Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
6598         than the silly, old in-file #define.
6599
6600         * platform/mac/ScrollbarThemeMac.mm:
6601         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6602         (WebCore::updateArrowPlacement):
6603         (WebCore::ScrollbarThemeMac::registerScrollbar):
6604         (WebCore::ScrollbarThemeMac::scrollbarThickness):
6605         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
6606         (WebCore::ScrollbarThemeMac::hasThumb):
6607         (WebCore::ScrollbarThemeMac::minimumThumbLength):
6608         (WebCore::ScrollbarThemeMac::paint):
6609
6610 2011-02-07  Enrica Casucci  <enrica@apple.com>
6611
6612         Reviewed Adam Roben and Darin Adler.
6613
6614         WebKit2: drag and drop support on Windows.
6615         https://bugs.webkit.org/show_bug.cgi?id=52775
6616         <rdar://problem/8514409>
6617
6618         * loader/EmptyClients.h: Removed createDragImageFromLink.
6619         * page/DragClient.h: Ditto.
6620         * page/DragController.cpp:
6621         (WebCore::DragController::startDrag): changed call to createDragImageFromLink.
6622         * platform/DragImage.h:
6623         * platform/mac/DragImageMac.mm:
6624         (WebCore::createDragImageForLink): Moved from DragClient.
6625         * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions
6626         to de-serialize the drag data from the map into an IDataObject.
6627         (WebCore::getWebLocData):
6628         (WebCore::texthtmlFormat):
6629         (WebCore::createGlobalData):
6630         (WebCore::getFullCFHTML):
6631         (WebCore::urlWFormat):
6632         (WebCore::urlFormat):
6633         (WebCore::filenameWFormat):
6634         (WebCore::filenameFormat):
6635         (WebCore::htmlFormat):
6636         (WebCore::smartPasteFormat):
6637         (WebCore::getURL):
6638         (WebCore::getPlainText):
6639         (WebCore::getTextHTML):
6640         (WebCore::ClipboardDataItem::ClipboardDataItem):
6641         (WebCore::getStringData):
6642         (WebCore::getUtf8Data):
6643         (WebCore::getCFData):
6644         (WebCore::setUCharData):
6645         (WebCore::setCharData):
6646         (WebCore::setCFData):
6647         (WebCore::getClipboardMap):
6648         (WebCore::getClipboardData):
6649         (WebCore::setClipboardData):
6650         * platform/win/ClipboardUtilitiesWin.h:
6651         * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient
6652         to a platform specific file in WebCore. It makes a lot more sense here, since
6653         the drag image is always created in WebCore for all the other content types
6654         except for links.
6655         (WebCore::dragLabelFont):
6656         (WebCore::createDragImageForLink):
6657         * platform/win/WCDataObject.cpp: Added new way to
6658         construct a WCDataObject from a DragDataMap.
6659         (WebCore::WCDataObject::createInstance):
6660         (WebCore::WCDataObject::clearData):
6661         * platform/win/WCDataObject.h:
6662
6663 2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
6664
6665         Unreviewed, rolling out r77848.
6666         http://trac.webkit.org/changeset/77848
6667         https://bugs.webkit.org/show_bug.cgi?id=53963
6668
6669         caused 6 test failures (Requested by othermaciej on #webkit).
6670
6671         * rendering/RenderBlockLineLayout.cpp:
6672         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
6673
6674 2011-02-04  Kenneth Russell  <kbr@google.com>
6675
6676         Reviewed by James Robinson.
6677
6678         Add shaders for GPU accelerated path rendering
6679         https://bugs.webkit.org/show_bug.cgi?id=45520
6680
6681         Refactored SolidFillShader and TexShader to call new
6682         generateVertex() and generateFragment() methods on base Shader
6683         class, and added support for the Loop/Blinn shaders. Refactored
6684         Loop/Blinn shader classes to derive from Shader.
6685
6686         Tested these changes with several of the IE9 Testdrive demos with
6687         accelerated 2D canvas enabled, as well as a full layout test run
6688         with --platform chromium-gpu.
6689
6690         * platform/graphics/gpu/LoopBlinnShader.cpp: Added.
6691         (WebCore::LoopBlinnShader::LoopBlinnShader):
6692         (WebCore::LoopBlinnShader::use):
6693         * platform/graphics/gpu/LoopBlinnShader.h: Added.
6694         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added.
6695         (WebCore::LoopBlinnSolidFillShader::create):
6696         (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader):
6697         (WebCore::LoopBlinnSolidFillShader::use):
6698         * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added.
6699         * platform/graphics/gpu/Shader.cpp:
6700         (WebCore::Shader::affineTo4x4):
6701         (WebCore::Shader::loadShader):
6702         (WebCore::Shader::loadProgram):
6703         (WebCore::Shader::generateVertex):
6704         (WebCore::Shader::generateFragment):
6705         * platform/graphics/gpu/Shader.h:
6706         * platform/graphics/gpu/SolidFillShader.cpp:
6707         (WebCore::SolidFillShader::create):
6708         * platform/graphics/gpu/TexShader.cpp:
6709         (WebCore::TexShader::TexShader):
6710         (WebCore::TexShader::create):
6711
6712 2011-02-07  Dan Bernstein  <mitz@apple.com>
6713
6714         Reviewed by Oliver Hunt.
6715
6716         <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg)
6717         https://bugs.webkit.org/show_bug.cgi?id=53480
6718
6719         * WebCore.xcodeproj/project.pbxproj:
6720         * platform/graphics/mac/ComplexTextController.cpp:
6721         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an
6722         offset into m_characters, not into the run’s characters.
6723         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
6724         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
6725
6726 2011-02-07  Sam Weinig  <sam@webkit.org>
6727
6728         Reviewed by Anders Carlsson.
6729
6730         Add bundle API to get the background color of a frame
6731         <rdar://problem/8962670>
6732         https://bugs.webkit.org/show_bug.cgi?id=53952
6733
6734         * WebCore.exp.in: Add export.
6735
6736 2011-02-07  Geoffrey Garen  <ggaren@apple.com>
6737
6738         Reviewed by Darin Adler.
6739
6740         Assertion failure in ~JSGlobalObject when loading apple.com HTML5
6741         transitions demo page
6742         https://bugs.webkit.org/show_bug.cgi?id=53853
6743
6744         This was a long-standing bookkeeping bug uncovered by some heap refactoring.
6745
6746         * html/HTMLCanvasElement.cpp:
6747         (WebCore::HTMLCanvasElement::createImageBuffer):
6748         * html/HTMLImageLoader.cpp:
6749         (WebCore::HTMLImageLoader::notifyFinished):
6750         * xml/XMLHttpRequest.cpp:
6751         (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before
6752         reporting extra cost to the JavaScriptCore heap, since all use of
6753         JavaScriptCore is supposed to be guarded by JSLock.
6754
6755 2011-02-07  Jian Li  <jianli@chromium.org>
6756
6757         Reviewed by David Levin.
6758
6759         Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
6760         bots
6761         https://bugs.webkit.org/show_bug.cgi?id=53104
6762
6763         Covered by the existing tests.
6764
6765         * fileapi/FileStreamProxy.cpp:
6766         (WebCore::FileStreamProxy::startOnFileThread):
6767         * platform/network/BlobRegistryImpl.cpp:
6768         (WebCore::BlobRegistryImpl::createResourceHandle):
6769         * platform/network/BlobResourceHandle.cpp:
6770         (WebCore::BlobResourceHandle::BlobResourceHandle):
6771         (WebCore::BlobResourceHandle::cancel):
6772         (WebCore::delayedStartBlobResourceHandle):
6773         (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive
6774         till the delay function is called.
6775         (WebCore::BlobResourceHandle::doStart):
6776         (WebCore::doNotifyFinish):
6777         (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the
6778         standalone function to prevent the handle from being disposed immediately
6779         by the client which will make the calls in the stack that're still bound
6780         to the handle suffer.
6781         * platform/network/BlobResourceHandle.h:
6782         * platform/network/ResourceHandle.h: Change cancel() to virtual so that
6783         BlobResourceHandle::cancel will be called when we abort a FileReader.
6784
6785 2011-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
6786
6787         Unreviewed, rolling out r77845.
6788         http://trac.webkit.org/changeset/77845
6789         https://bugs.webkit.org/show_bug.cgi?id=53946
6790
6791         build failure (Requested by lforschler_ on #webkit).
6792
6793         * WebCore.xcodeproj/project.pbxproj:
6794         * accessibility/AccessibilityAllInOne.cpp:
6795
6796 2011-02-07  Darin Adler  <darin@apple.com>
6797
6798         https://bugs.webkit.org/show_bug.cgi?id=53939
6799         fast/css/text-overflow-ellipsis.html failure after r77818/77819
6800
6801         * platform/text/TextCodecICU.cpp:
6802         (WebCore::TextCodecICU::registerExtendedEncodingNames):
6803         Add back the "utf8" synonym for "UTF-8".
6804
6805 2011-02-07  David Hyatt  <hyatt@apple.com>
6806
6807         Reviewed by Dan Bernstein.
6808
6809         Remove an unnecessary extra computeLogicalWidth() from line layout.
6810
6811         * rendering/RenderBlockLineLayout.cpp:
6812         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
6813
6814 2011-02-07  Lucas Forschler  <lforschler@apple.com>
6815
6816         Reviewed by Geoffrey Garen.
6817
6818         Fix Leopard Intel Debug Build.
6819         <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681)
6820         This could potentially break windows, since I had to change #include <filename> to #include "filename"
6821         
6822         * WebCore.xcodeproj/project.pbxproj:
6823         * accessibility/AccessibilityAllInOne.cpp:
6824
6825 2011-02-07  Sam Weinig  <sam@webkit.org>
6826
6827         Fix build.
6828
6829         * platform/mac/ScrollAnimatorMac.mm:
6830         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6831         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
6832         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6833         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
6834
6835 2011-02-07  Sam Weinig  <sam@webkit.org>
6836
6837         Reviewed by Beth Dakin.
6838
6839         Add mechanism to inform the ScrollAnimator when Scrollbars are added 
6840         and removed.
6841
6842         * platform/ScrollAnimator.h:
6843         (WebCore::ScrollAnimator::didAddVerticalScrollbar):
6844         (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
6845         (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
6846         (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
6847         Make virtual to allow platform specific overrides.
6848
6849         * platform/ScrollView.cpp:
6850         (WebCore::ScrollView::setHasHorizontalScrollbar):
6851         (WebCore::ScrollView::setHasVerticalScrollbar):
6852         Call new ScrollableArea functions.
6853
6854         * platform/ScrollableArea.cpp:
6855         (WebCore::ScrollableArea::didAddVerticalScrollbar):
6856         (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
6857         (WebCore::ScrollableArea::didAddHorizontalScrollbar):
6858         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
6859         * platform/ScrollableArea.h:
6860         Pipe to ScrollAnimator.
6861
6862         * platform/mac/ScrollAnimatorMac.h:
6863         * platform/mac/ScrollAnimatorMac.mm:
6864         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6865         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
6866         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6867         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
6868         * platform/mac/ScrollbarThemeMac.h:
6869         * platform/mac/ScrollbarThemeMac.mm:
6870         (WebCore::ScrollbarThemeMac::registerScrollbar):
6871         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
6872         (WebCore::ScrollbarThemeMac::painterForScrollbar):
6873         Move painter delegate registration to the new didAdd/willRemove functions.
6874
6875 2011-02-07  Anders Carlsson  <andersca@apple.com>
6876
6877         Reviewed by Dan Bernstein.
6878
6879         Missing text match markers with accelerated content
6880         https://bugs.webkit.org/show_bug.cgi?id=53934
6881
6882         When doing the fake paint that recomputes the text match rects, we need to
6883         flatten compositing layers, otherwise the rects won't be updated until the next paint call.
6884
6885         (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
6886         window before asking for the text match rects).
6887
6888         * editing/Editor.cpp:
6889         (WebCore::Editor::countMatchesForText):
6890
6891 2011-02-07  Antti Koivisto  <antti@apple.com>
6892
6893         Reviewed by Andreas Kling.
6894
6895         REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
6896         https://bugs.webkit.org/show_bug.cgi?id=53900
6897         
6898         Ignore link elements in shadow trees.
6899
6900         * dom/Element.cpp:
6901         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
6902         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
6903                 
6904             Some asserts to catch cases like this.
6905
6906         (WebCore::Element::attach):
6907         (WebCore::Element::recalcStyle):
6908         * html/HTMLLinkElement.cpp:
6909         (WebCore::HTMLLinkElement::HTMLLinkElement):
6910         (WebCore::HTMLLinkElement::process):
6911         (WebCore::HTMLLinkElement::insertedIntoDocument):
6912         (WebCore::HTMLLinkElement::removedFromDocument):
6913         * html/HTMLLinkElement.h:
6914
6915 2011-02-07  Darin Adler  <darin@apple.com>
6916
6917         Turn UTF-8 decoder off for now so we can look into failing tests
6918         without leaving the tree red.
6919
6920         * platform/text/TextCodecICU.cpp:
6921         (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
6922         earlier change so this can handle UTF-8.
6923         (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
6924         (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
6925         (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
6926         * platform/text/TextCodecICU.h: Ditto.
6927         * platform/text/TextEncodingRegistry.cpp:
6928         (WebCore::buildBaseTextCodecMaps): Ditto.
6929         (WebCore::extendTextCodecMaps): Ditto.
6930         * platform/text/brew/TextCodecBrew.cpp:
6931         (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
6932         (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
6933         (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
6934         (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
6935         * platform/text/brew/TextCodecBrew.h: Ditto.
6936         * platform/text/gtk/TextCodecGtk.cpp:
6937         (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
6938         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
6939         * platform/text/wince/TextCodecWinCE.cpp:
6940         (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
6941         (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
6942         (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
6943         (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
6944         * platform/text/wince/TextCodecWinCE.h: Ditto.
6945
6946 2011-02-07  Anders Carlsson  <andersca@apple.com>
6947
6948         Reviewed by Maciej Stachowiak.
6949
6950         Don't exclude overlay scrollers from the page overlay bounds
6951         https://bugs.webkit.org/show_bug.cgi?id=53924
6952
6953         Export ScrollbarTheme::nativeTheme.
6954
6955         * WebCore.exp.in:
6956
6957 2011-02-07  Zhenyao Mo  <zmo@google.com>
6958
6959         Reviewed by Kenneth Russell.
6960
6961         Crash in glDrawArrays with NaCl crystal model
6962         https://bugs.webkit.org/show_bug.cgi?id=52831
6963
6964         * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
6965         (WebCore::WebGLRenderingContext::initVertexAttrib0):
6966         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
6967         * html/canvas/WebGLRenderingContext.h:
6968
6969 2011-02-07  Chris Fleizach  <cfleizach@apple.com>
6970
6971         Reviewed by Darin Adler.
6972
6973         WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
6974         https://bugs.webkit.org/show_bug.cgi?id=53842
6975
6976         Test: platform/mac/accessibility/aria-sort.html
6977
6978         * accessibility/AccessibilityObject.cpp:
6979         (WebCore::AccessibilityObject::sortDirection):
6980         * accessibility/AccessibilityObject.h:
6981         * accessibility/mac/AccessibilityObjectWrapper.mm:
6982         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
6983         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
6984         * html/HTMLAttributeNames.in:
6985
6986 2011-02-07  Darin Adler  <darin@apple.com>
6987
6988         Reviewed by Antti Koivisto.
6989
6990         Add built-in decoder for UTF-8 for improved performance
6991         https://bugs.webkit.org/show_bug.cgi?id=53898
6992
6993         Correct behavior is covered by existing tests.
6994
6995         * Android.mk: Added TextCodecUTF8.
6996         * CMakeLists.txt: Ditto.
6997         * GNUmakefile.am: Ditto.
6998         * WebCore.gypi: Ditto.
6999         * WebCore.pro: Ditto.
7000         * WebCore.vcproj/WebCore.vcproj: Ditto.
7001         * WebCore.xcodeproj/project.pbxproj: Ditto.
7002
7003         * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
7004         since that's now handled by the built-in UTF-8 codec.
7005         (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
7006         the word "extended" since all codecs from ICU are now extended.
7007         (WebCore::TextCodecICU::registerCodecs): Ditto.
7008         * platform/text/TextCodecICU.h: Ditto.
7009
7010         * platform/text/TextCodecUTF16.cpp:
7011         (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
7012         error handling.
7013
7014         * platform/text/TextCodecUTF8.cpp: Added.
7015         * platform/text/TextCodecUTF8.h: Added.
7016
7017         * platform/text/TextEncodingRegistry.cpp:
7018         (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
7019         removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
7020         (WebCore::extendTextCodecMaps): Updated names for
7021         TextCodecICU and TextCodecWinCE.
7022
7023         * platform/text/brew/TextCodecBrew.cpp:
7024         (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
7025         the word "extended" since all codecs from Brew are now extended.
7026         (WebCore::TextCodecBrew::registerCodecs): Ditto.
7027         * platform/text/brew/TextCodecBrew.h: Ditto.
7028
7029         * platform/text/gtk/TextCodecGtk.cpp:
7030         (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
7031         registration of UTF-8. It's questionable whether the other codecs
7032         here are really basic. If we think they qualify, then we should
7033         register them on other platforms, not just GTK.
7034         (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
7035
7036         * platform/text/wince/TextCodecWinCE.cpp:
7037         (WebCore::getCodePage): Removed special case for UTF-8 since we
7038         no longer use this codec for UTF-8.
7039         (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
7040         the word "extended" since all codecs from WinCE are now extended.
7041         (WebCore::TextCodecWinCE::registerCodecs): Ditto.
7042         * platform/text/wince/TextCodecWinCE.h: Ditto.
7043
7044 2011-02-07  Mario Sanchez Prada  <msanchez@igalia.com>
7045
7046         Reviewed by Xan Lopez.
7047
7048         [Gtk] atk_text_get_caret_offset fails for list items
7049         https://bugs.webkit.org/show_bug.cgi?id=53436
7050
7051         Consider list item markers when calculating the offset.
7052
7053         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
7054         (webkit_accessible_text_get_caret_offset): Adjust the offset
7055         with the item marker's length for list items.
7056         (webkit_accessible_text_set_caret_offset): Replace usage of
7057         g_utf8_strlen() by calling to markerText.length().
7058
7059 2011-02-07  Yi Shen  <yi.4.shen@nokia.com>
7060
7061         Reviewed by Tor Arne Vestbø.
7062
7063         [Qt] Fix LayoutTests/media/restore-from-page-cache.html
7064         https://bugs.webkit.org/show_bug.cgi?id=53621
7065
7066         Changed the networkState to MediaPlayer::Loaded when 
7067         MediaPlayerPrivateQt has enough data.
7068
7069         Test: media/restore-from-page-cache.html
7070
7071         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
7072         (WebCore::MediaPlayerPrivateQt::updateStates):
7073
7074 2011-01-31  Pavel Podivilov  <podivilov@chromium.org>
7075
7076         Reviewed by Yury Semikhatsky.
7077
7078         Web Inspector: implement beautification of scripts inlined in html documents.
7079         https://bugs.webkit.org/show_bug.cgi?id=52706
7080
7081         To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
7082         finally paste them back to html.
7083
7084         * WebCore.gypi:
7085         * WebCore.vcproj/WebCore.vcproj:
7086         * inspector/front-end/ScriptFormatter.js:
7087         (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
7088         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
7089         (WebInspector.ScriptFormatter.prototype.formatContent):
7090         (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
7091         (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
7092         (WebInspector.ScriptFormatter.prototype._formatChunks):
7093         (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
7094         (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
7095         (WebInspector.ScriptFormatter.prototype._formatScript):
7096         * inspector/front-end/ScriptFormatterWorker.js:
7097         (onmessage):
7098         (buildMapping):
7099         * inspector/front-end/SourceFrame.js:
7100         (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
7101         * inspector/front-end/SourceFrameContent.js: Added.
7102         (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
7103         (WebInspector.SourceFrameContent.prototype.get scriptRanges):
7104         (WebInspector.SourceFrameContent.prototype.locationToPosition):
7105         (WebInspector.SourceFrameContent.prototype.positionToLocation):
7106         (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
7107         (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
7108         (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
7109         (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
7110         (WebInspector):
7111         (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
7112         (WebInspector.FormattedSourceFrameContent.prototype.get text):
7113         (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
7114         (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
7115         (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
7116         * inspector/front-end/WebKit.qrc:
7117         * inspector/front-end/inspector.html:
7118
7119 2011-02-07  Pavel Feldman  <pfeldman@chromium.org>
7120
7121         Reviewed by Yury Semikhatsky.
7122
7123         Web Inspector: "Reveal in elements panel" does not always work.
7124         https://bugs.webkit.org/show_bug.cgi?id=53775
7125
7126         * inspector/front-end/ConsoleView.js:
7127         (WebInspector.ConsoleView):
7128         * inspector/front-end/ContextMenu.js:
7129         (WebInspector.ContextMenu.prototype.show):
7130         * inspector/front-end/ElementsPanel.js:
7131         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
7132         * inspector/front-end/ElementsTreeOutline.js:
7133         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
7134         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
7135         * inspector/front-end/ObjectPropertiesSection.js:
7136         (WebInspector.ObjectPropertyTreeElement.prototype.update):
7137         (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
7138         * inspector/front-end/inspector.js:
7139         (WebInspector.cancelSearch):
7140
7141 2011-02-07  Adam Barth  <abarth@webkit.org>
7142
7143         Reviewed by Eric Seidel.
7144
7145         Relative .. in URL paths shouldn't skip adjacent / characters
7146         https://bugs.webkit.org/show_bug.cgi?id=53907
7147
7148         Our new behavior matches Firefox, Chrome, and IE.
7149
7150         * platform/KURL.cpp:
7151         (WebCore::copyPathRemovingDots):
7152
7153 2011-02-07  Maciej Stachowiak  <mjs@apple.com>
7154
7155         Reviewed by Antti Koivisto.
7156
7157         WebKitTestRunner does not block remote resources or complain about them
7158         https://bugs.webkit.org/show_bug.cgi?id=42139
7159         <rdar://problem/8183942>
7160
7161         * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
7162         WebCore.
7163         * WebCore.exp.in: Export a handful of KURL symbols.
7164
7165 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
7166
7167         Reviewed by Darin Adler.
7168
7169         OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
7170         https://bugs.webkit.org/show_bug.cgi?id=52867
7171
7172         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
7173         * bindings/v8/NPV8Object.cpp:
7174         (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
7175         v8::Handle<v8::Value>*.
7176         (_NPN_Invoke): Calls createValueListFromVariantArgs.
7177         (_NPN_InvokeDefault): createValueListFromVariantArgs.
7178         (_NPN_Construct): createValueListFromVariantArgs.
7179         * bindings/v8/ScriptFunctionCall.cpp:
7180         (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
7181         (WebCore::ScriptFunctionCall::construct): Ditto.
7182         (WebCore::ScriptCallback::call):
7183         * bindings/v8/V8DOMWindowShell.cpp:
7184         (WebCore::V8DOMWindowShell::createNewContext): Ditto.
7185         * bindings/v8/V8NPObject.cpp:
7186         (WebCore::npObjectInvokeImpl): Ditto
7187         * bindings/v8/V8NodeFilterCondition.cpp:
7188         (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
7189         * html/HTMLAreaElement.cpp:
7190         (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
7191         * html/HTMLFrameSetElement.cpp:
7192         (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
7193         * html/canvas/WebGLRenderingContext.cpp:
7194         (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
7195         (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
7196         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
7197         * platform/Length.cpp:
7198         (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
7199         (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
7200         * platform/Length.h: Prototype changes.
7201         * platform/graphics/ANGLEWebKitBridge.cpp:
7202         (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
7203         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
7204         (WebCore::getDirtyRects): Ditto.
7205         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
7206         (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
7207         * platform/graphics/chromium/HarfbuzzSkia.cpp:
7208         (WebCore::glyphsToAdvances): Ditto.
7209         (WebCore::canRender): Ditto.
7210         * platform/graphics/gpu/Texture.cpp:
7211         (WebCore::Texture::updateSubRect): Ditto.
7212         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
7213         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
7214         * platform/graphics/skia/PlatformContextSkia.cpp:
7215         (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
7216         * platform/graphics/wince/SharedBitmap.cpp:
7217         (WebCore::SharedBitmap::to16bit): Ditto.
7218         * platform/win/ContextMenuWin.cpp:
7219         (WebCore::ContextMenu::getContextMenuItems): Ditto.
7220         * platform/win/LoggingWin.cpp:
7221         (WebCore::initializeWithUserDefault): Ditto.
7222         * plugins/win/PluginPackageWin.cpp:
7223         (WebCore::PluginPackage::fetchInfo): Ditto.
7224
7225 2011-02-06  Kent Tamura  <tkent@chromium.org>
7226
7227         Unreviewed.
7228
7229         * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
7230
7231 2011-02-03  Dominic Cooney  <dominicc@google.com>
7232
7233         Reviewed by Dimitri Glazkov.
7234
7235         Convert <keygen> option elements to a shadow DOM
7236         https://bugs.webkit.org/show_bug.cgi?id=51379
7237
7238         Covered by existing tests e.g. fast/html/keygen.html,
7239         html5lib/runner.html, etc.
7240
7241         * css/html.css:
7242         (form): Cleanup.
7243         (keygen, select): Border radii should match so focus ring looks good.
7244         (keygen::-webkit-keygen-select): No margin on the shadow element.
7245         (select): Hoisting border radius to keygen, select rule.
7246         * dom/SelectElement.cpp:
7247         (WebCore::toSelectElement): keygen is no longer a select element.
7248         * html/HTMLKeygenElement.cpp: Implements keygen shadow.
7249         (WebCore::KeygenSelectElement::create):
7250         (WebCore::KeygenSelectElement::shadowPseudoId):
7251         (WebCore::KeygenSelectElement::KeygenSelectElement):
7252         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
7253         (WebCore::HTMLKeygenElement::parseMappedAttribute):
7254         (WebCore::HTMLKeygenElement::appendFormData):
7255         (WebCore::HTMLKeygenElement::formControlType):
7256         (WebCore::HTMLKeygenElement::reset):
7257         (WebCore::HTMLKeygenElement::selectShadow):
7258         * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
7259         (WebCore::HTMLKeygenElement::canStartSelection):
7260         (WebCore::HTMLKeygenElement::isEnumeratable):
7261         (WebCore::HTMLKeygenElement::isResettable):
7262         * html/HTMLOptionElement.cpp:
7263         (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
7264         * html/HTMLSelectElement.cpp:
7265         (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.
7266
7267 2011-02-06  Benjamin Poulain  <ikipou@gmail.com>
7268
7269         Reviewed by Kenneth Rohde Christiansen.
7270
7271         [Qt] Fix coding style errors in ClipboardQt.h
7272         https://bugs.webkit.org/show_bug.cgi?id=43520
7273
7274         Fix coding style: order of header and indentation.
7275
7276         * platform/qt/ClipboardQt.h:
7277         (WebCore::ClipboardQt::create):
7278         (WebCore::ClipboardQt::clipboardData):
7279         (WebCore::ClipboardQt::invalidateWritableData):
7280
7281 2011-02-06  Antti Koivisto  <antti@apple.com>
7282
7283         Reviewed by Maciej Stachowiak.
7284
7285         Use bloom filter for descendant selector filtering
7286         https://bugs.webkit.org/show_bug.cgi?id=53880
7287         
7288         Bloom filter is faster than a hash set in this kind of use.
7289         
7290         Shark thinks this speeds up style matching by ~30% on sites
7291         with lots of descendant selectors.
7292
7293         * ForwardingHeaders/wtf/BloomFilter.h: Added.
7294         * css/CSSStyleSelector.cpp:
7295         (WebCore::collectElementIdentifierHashes):
7296         (WebCore::CSSStyleSelector::pushParent):
7297         (WebCore::CSSStyleSelector::popParent):
7298         (WebCore::CSSStyleSelector::fastRejectSelector):
7299         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
7300         * css/CSSStyleSelector.h:
7301
7302 2011-02-06  Maciej Stachowiak  <mjs@apple.com>
7303
7304         Reviewed by Antti Koivisto.
7305
7306         media/video-document-types.html sometimes crashes the WebProcess
7307         https://bugs.webkit.org/show_bug.cgi?id=53884
7308
7309         No new tests. Already covered by media/video-document-types.html
7310
7311         * html/HTMLMediaElement.cpp:
7312         (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
7313         when cancelling the load.
7314
7315 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
7316
7317         Reviewed by Adam Roben.
7318
7319         [WIN] Use WCHAR instead of TCHAR
7320         https://bugs.webkit.org/show_bug.cgi?id=53863
7321
7322         We always use the UNICODE versions of windows functions, so
7323         the usage of TCHAR makes no sense and mixing them is bad style.
7324
7325         * platform/graphics/win/IconWin.cpp:
7326         (WebCore::Icon::createIconForFiles):
7327         * platform/graphics/win/QTMovie.cpp:
7328         * platform/graphics/win/QTMovieGWorld.cpp:
7329         (QTMovieGWorld::fullscreenWndProc):
7330         (QTMovieGWorld::enterFullscreen):
7331         * platform/graphics/win/SimpleFontDataCGWin.cpp:
7332         (WebCore::SimpleFontData::platformInit):
7333         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
7334         * platform/graphics/win/SimpleFontDataWin.cpp:
7335         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
7336         * platform/win/BString.cpp:
7337         * platform/win/ClipboardWin.cpp:
7338         (WebCore::filesystemPathFromUrlOrTitle):
7339         (WebCore::createGlobalHDropContent):
7340         (WebCore::createGlobalImageFileDescriptor):
7341         * platform/win/ContextMenuWin.cpp:
7342         * platform/win/CursorWin.cpp:
7343         (WebCore::loadSharedCursor):
7344         * platform/win/FileChooserWin.cpp:
7345         (WebCore::FileChooser::basenameForWidth):
7346         * platform/win/PopupMenuWin.cpp:
7347         (WebCore::PopupMenuWin::popupClassName):
7348         (WebCore::PopupMenuWin::show):
7349         * platform/win/PopupMenuWin.h:
7350
7351 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
7352
7353         Reviewed by Andreas Kling.
7354
7355         Replace FLT_MAX with std::numeric_limits
7356         https://bugs.webkit.org/show_bug.cgi?id=53861
7357
7358         Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
7359
7360         * html/NumberInputType.cpp:
7361         * html/parser/HTMLParserIdioms.cpp:
7362         (WebCore::parseToDoubleForNumberType):
7363         * platform/brew/SystemTimeBrew.cpp:
7364         (WebCore::userIdleTime):
7365         * platform/efl/SystemTimeEfl.cpp:
7366         (WebCore::userIdleTime):
7367         * platform/efl/TemporaryLinkStubs.cpp:
7368         * platform/graphics/ca/GraphicsLayerCA.cpp:
7369         (WebCore::GraphicsLayerCA::setupAnimation):
7370         * platform/win/SystemTimeWin.cpp:
7371         (WebCore::userIdleTime):
7372         * platform/wx/SystemTimeWx.cpp:
7373         (WebCore::userIdleTime):
7374
7375 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
7376
7377         Reviewed by Andreas Kling.
7378
7379         [CMake] Add dependencies for Visual Studio projects
7380         https://bugs.webkit.org/show_bug.cgi?id=53773
7381
7382         Add a JavaScriptCore dependecy to WebCore, so CMake can 
7383         generate the correct build order for the solution.
7384
7385         * CMakeLists.txt:
7386
7387 2011-02-06  Patrick Gansterer  <paroga@webkit.org>
7388
7389         Reviewed by Andreas Kling.
7390
7391         [CMake] Unify ENABLE_SVG sections
7392         https://bugs.webkit.org/show_bug.cgi?id=53778
7393
7394         * CMakeLists.txt:
7395
7396 2011-02-06  Andreas Kling  <kling@webkit.org>
7397
7398         Reviewed by Dirk Schulze.
7399
7400         Refactor Font::normalizeSpaces() to avoid an extra String copy.
7401         https://bugs.webkit.org/show_bug.cgi?id=53871
7402
7403         Have normalizeSpaces() take UChar*,length arguments instead of a
7404         String, since all call sites were creating temporaries from these
7405         components anyway.
7406
7407         Font::normalizeSpaces() now always makes 1 String copy,
7408         instead of 1 in the best case and 2 in the worst case.
7409
7410         * platform/graphics/Font.cpp:
7411         (WebCore::Font::normalizeSpaces):
7412         * platform/graphics/Font.h:
7413         * platform/graphics/qt/FontQt.cpp:
7414         (WebCore::drawTextCommon):
7415         (WebCore::Font::floatWidthForSimpleText):
7416         (WebCore::Font::floatWidthForComplexText):
7417         (WebCore::Font::offsetForPositionForSimpleText):
7418         (WebCore::Font::offsetForPositionForComplexText):
7419         (WebCore::Font::selectionRectForSimpleText):
7420         (WebCore::Font::selectionRectForComplexText):
7421         * svg/SVGFont.cpp:
7422         (WebCore::SVGTextRunWalker::walk):
7423
7424 2011-02-06  Andreas Kling  <kling@webkit.org>
7425
7426         Reviewed by Dirk Schulze.
7427
7428         Fix potential buffer overrun in SVGTextRunWalker::walk()
7429         https://bugs.webkit.org/show_bug.cgi?id=53870
7430
7431         A new String was created from a UChar* with a 'length' argument
7432         that could be greater than the number of UChars available.
7433
7434         * svg/SVGFont.cpp:
7435         (WebCore::SVGTextRunWalker::walk):
7436
7437 2011-02-05  Adam Barth  <abarth@webkit.org>
7438
7439         Reviewed by Eric Seidel.
7440
7441         Remove unused parameter related to XSSAuditor
7442         https://bugs.webkit.org/show_bug.cgi?id=53862
7443
7444         * WebCore.exp.in:
7445         * bindings/ScriptControllerBase.cpp:
7446         (WebCore::ScriptController::executeScript):
7447         (WebCore::ScriptController::executeIfJavaScriptURL):
7448         * bindings/ScriptControllerBase.h:
7449         * bindings/js/ScriptController.cpp:
7450         (WebCore::ScriptController::evaluateInWorld):
7451         (WebCore::ScriptController::evaluate):
7452         (WebCore::ScriptController::executeScriptInWorld):
7453         * bindings/js/ScriptController.h:
7454         * bindings/v8/ScriptController.cpp:
7455         (WebCore::ScriptController::evaluate):
7456         * bindings/v8/ScriptController.h:
7457
7458 2011-02-05  Adam Barth  <abarth@webkit.org>
7459
7460         Fix Qt build.
7461
7462         * WebCore.pro:
7463
7464 2011-02-05  Adam Barth  <abarth@webkit.org>
7465
7466         Reviewed by Eric Seidel.
7467
7468         Delete XSSAuditor
7469         https://bugs.webkit.org/show_bug.cgi?id=53859
7470
7471         The job of the XSSAuditor is now done by the XSSFilter.  In the future,
7472         we might rename XSSFilter to XSSAuditor.
7473
7474         * Android.mk:
7475         * CMakeLists.txt:
7476         * GNUmakefile.am:
7477         * WebCore.gypi:
7478         * WebCore.vcproj/WebCore.vcproj:
7479         * WebCore.xcodeproj/project.pbxproj:
7480         * bindings/ScriptControllerBase.cpp:
7481         (WebCore::ScriptController::executeIfJavaScriptURL):
7482         * bindings/ScriptControllerBase.h:
7483         * bindings/js/ScriptController.cpp:
7484         (WebCore::ScriptController::ScriptController):
7485         (WebCore::ScriptController::evaluateInWorld):
7486         * bindings/js/ScriptController.h:
7487         * bindings/js/ScriptEventListener.cpp:
7488         (WebCore::createAttributeEventListener):
7489         * bindings/v8/ScriptController.cpp:
7490         (WebCore::ScriptController::ScriptController):
7491         (WebCore::ScriptController::evaluate):
7492         * bindings/v8/ScriptController.h:
7493         * bindings/v8/ScriptEventListener.cpp:
7494         (WebCore::createAttributeEventListener):
7495         * dom/Document.cpp:
7496         (WebCore::Document::implicitOpen):
7497         (WebCore::Document::processBaseElement):
7498         * dom/ScriptableDocumentParser.cpp:
7499         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
7500         * dom/ScriptableDocumentParser.h:
7501         * html/parser/HTMLDocumentParser.cpp:
7502         (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
7503         * loader/SubframeLoader.cpp:
7504         (WebCore::SubframeLoader::requestObject):
7505         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
7506         * page/XSSAuditor.cpp: Removed.
7507         * page/XSSAuditor.h: Removed.
7508
7509 2011-02-05  Anders Carlsson  <andersca@apple.com>
7510
7511         Reviewed by Darin Adler.
7512
7513         Need a way to resize and scroll the page at the same time
7514         https://bugs.webkit.org/show_bug.cgi?id=53814
7515         <rdar://problem/8498008>
7516
7517         Export a function needed by WebKit2.
7518
7519         * WebCore.exp.in:
7520
7521 2011-02-05  Patrick Gansterer  <paroga@webkit.org>
7522
7523         Reviewed by Alexey Proskuryakov.
7524
7525         Use Document::encoding() instead of DocumentWriter::encoding()
7526         https://bugs.webkit.org/show_bug.cgi?id=53398
7527
7528         This change makes the code more readable, when a subresource
7529         inherits the character encoding of the document.
7530
7531         * dom/ProcessingInstruction.cpp:
7532         (WebCore::ProcessingInstruction::checkStyleSheet):
7533         * dom/ScriptElement.cpp:
7534         (WebCore::ScriptElement::scriptCharset):
7535         * html/HTMLLinkElement.cpp:
7536         (WebCore::HTMLLinkElement::process):
7537         * loader/cache/CachedResourceLoader.cpp:
7538         (WebCore::CachedResourceLoader::requestPreload):
7539         * platform/network/FormDataBuilder.cpp:
7540         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
7541
7542 2011-02-05  Adam Barth  <abarth@webkit.org>
7543
7544         Reviewed by Eric Seidel.
7545
7546         Introduce URLString to represent a canonicalized URL represented by a string
7547         https://bugs.webkit.org/show_bug.cgi?id=53847
7548
7549         Instead of using String all over the codebase to represent a URL,
7550         instead we should have a type to represent a canonicalized URL in the
7551         form of a string.  This patch introduces that type.
7552
7553         * GNUmakefile.am:
7554         * WebCore.gypi:
7555         * WebCore.xcodeproj/project.pbxproj:
7556         * platform/KURL.cpp:
7557         (WebCore::KURL::KURL):
7558         * platform/KURL.h:
7559         (WebCore::KURL::urlString):
7560
7561 2011-02-05  Robert Hogan  <robert@webkit.org>
7562
7563         Reviewed by Antonio Gomes.
7564
7565         [Qt] Style widgets not rendering
7566         https://bugs.webkit.org/show_bug.cgi?id=53849
7567
7568         * html/HTMLObjectElement.cpp:
7569         (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
7570
7571 2011-02-05  Jochen Eisinger  <jochen@chromium.org>
7572
7573         Reviewed by Adam Barth.
7574
7575         Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
7576         https://bugs.webkit.org/show_bug.cgi?id=53685
7577
7578         * WebCore.xcodeproj/project.pbxproj:
7579         * dom/Document.h:
7580         (WebCore::Document::contentSecurityPolicy):
7581         * loader/MainResourceLoader.cpp:
7582         (WebCore::MainResourceLoader::didReceiveResponse):
7583         * page/ContentSecurityPolicy.cpp:
7584         (WebCore::ContentSecurityPolicy::didReceiveHeader):
7585         * page/ContentSecurityPolicy.h:
7586
7587 2011-02-05  Eric Seidel  <eric@webkit.org>
7588
7589         Reviewed by Adam Barth.
7590
7591         Safari should lowercase schemes in cannonicalized urls to match every other browser
7592         https://bugs.webkit.org/show_bug.cgi?id=53848
7593
7594         We're clearly the odd man out here.  See results from every browser at:
7595         https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt
7596
7597         * platform/KURL.cpp:
7598         (WebCore::KURL::parse):
7599          - Just lowercase the scheme when copying.
7600
7601 2011-02-05  Antti Koivisto  <antti@apple.com>
7602
7603         Reviewed by Dave Hyatt.
7604
7605         Optimize matching of descendant selectors
7606         https://bugs.webkit.org/show_bug.cgi?id=49876
7607         <rdar://problem/8772822>
7608         
7609         During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
7610         Use the filter to quickly reject descendant and child selectors when doing style matching.
7611
7612         This speeds up style recalculations 3-6x on many major web sites.
7613
7614         * css/CSSStyleSelector.cpp:
7615         (WebCore::RuleData::RuleData):
7616         (WebCore::RuleData::descendantSelectorIdentifierHashes):
7617         (WebCore::collectElementIdentifiers):
7618         (WebCore::CSSStyleSelector::pushParent):
7619         (WebCore::CSSStyleSelector::popParent):
7620         (WebCore::CSSStyleSelector::fastRejectSelector):
7621         (WebCore::CSSStyleSelector::matchRulesForList):
7622         (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
7623         * css/CSSStyleSelector.h:
7624         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
7625         * dom/Element.cpp:
7626         (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
7627         (WebCore::StyleSelectorParentPusher::push):
7628         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
7629         (WebCore::Element::attach):
7630         (WebCore::Element::recalcStyle):
7631
7632 2011-02-05  Nate Chapin  <japhet@chromium.org>
7633
7634         Reviewed by Adam Barth.
7635
7636         Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
7637         when it inherits one from ActiveDOMObject.
7638         https://bugs.webkit.org/show_bug.cgi?id=53815
7639
7640         * bindings/js/JSDesktopNotificationsCustom.cpp:
7641         (WebCore::JSNotificationCenter::requestPermission):
7642         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
7643         (WebCore::V8NotificationCenter::requestPermissionCallback):
7644         * notifications/NotificationCenter.cpp:
7645         (WebCore::NotificationCenter::NotificationCenter):
7646         (WebCore::NotificationCenter::checkPermission):
7647         (WebCore::NotificationCenter::requestPermission):
7648         (WebCore::NotificationCenter::disconnectFrame):
7649         * notifications/NotificationCenter.h:
7650         (WebCore::NotificationCenter::createHTMLNotification):
7651         (WebCore::NotificationCenter::createNotification):
7652
7653 2011-02-04  Adam Barth  <abarth@webkit.org>
7654
7655         Reviewed by Maciej Stachowiak.
7656
7657         Crash in WebCore::TextEncoding::decode below XSSFilter::init
7658         https://bugs.webkit.org/show_bug.cgi?id=53837
7659
7660         Add missing null check.
7661
7662         Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
7663
7664         * html/parser/XSSFilter.cpp:
7665         (WebCore::XSSFilter::init):
7666
7667 2011-02-04  Simon Fraser  <simon.fraser@apple.com>
7668
7669         Reviewed by Dan Bernstein.
7670
7671         Crashes in ShadowBlur via WebKit2 FindController
7672         https://bugs.webkit.org/show_bug.cgi?id=53830
7673         
7674         Fix a crash cause by re-entering ShadowBlur, and add assertions to
7675         detect when it happens.
7676         
7677         The re-entrancy occurred when drawRectShadowWithTiling() filled
7678         the interior of the shadow with fillRect() on the context
7679         which still had the shadow state set. This would make another ShadowBlur
7680         on the stack and call into the code again, potentially blowing away
7681         the image buffer.
7682         
7683         Fix by turning off shadows in the destination context while we're
7684         drawing the tiled shadow. The non-tiled code path already did this.
7685
7686         Not testable because CSS shadows clip out the inside of the rect
7687         being shadowed, and SVG uses fillPath, even for rects.
7688
7689         * platform/graphics/ShadowBlur.cpp:
7690         (WebCore::ScratchBuffer::ScratchBuffer):
7691         (WebCore::ScratchBuffer::getScratchBuffer):
7692         (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
7693         (WebCore::ShadowBlur::ShadowBlur):
7694         (WebCore::ShadowBlur::drawRectShadowWithTiling):
7695
7696 2011-02-04  Carlos Garcia Campos  <cgarcia@igalia.com>
7697
7698         Reviewed by Martin Robinson.
7699
7700         [GTK] Don't use a fixed size for search field icons
7701         https://bugs.webkit.org/show_bug.cgi?id=50624
7702
7703         Use the parent input content box to make sure the icon fits in the
7704         search field, scaling it down when needed.
7705
7706         * platform/gtk/RenderThemeGtk.cpp:
7707         (WebCore::paintGdkPixbuf):
7708         (WebCore::getIconSizeForPixelSize):
7709         (WebCore::adjustSearchFieldIconStyle):
7710         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
7711         (WebCore::centerRectVerticallyInParentInputElement):
7712         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
7713         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
7714         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
7715         (WebCore::RenderThemeGtk::paintCapsLockIndicator):
7716         (WebCore::RenderThemeGtk::paintMediaButton):
7717
7718 2011-02-04  Hironori Bono  <hbono@chromium.org>
7719
7720         Reviewed by Adam Barth.
7721
7722         [chromium] JPEG corruption
7723         https://bugs.webkit.org/show_bug.cgi?id=53250
7724
7725         Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
7726         profiles from CMYK to RGB twice and it causes color corruption. This
7727         change suppresses the color profiles for CMYK JPEGs same as gray-scale
7728         ones.
7729
7730         Test: fast/images/cmyk-jpeg-with-color-profile.html
7731
7732         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
7733         (WebCore::JPEGImageReader::decode):
7734
7735 2011-02-04  Xiyuan Xia  <xiyuan@chromium.org>
7736
7737         Reviewed by Tony Chang.
7738
7739         [Chromium] Option text in select popup does not align with menulist button text
7740         https://bugs.webkit.org/show_bug.cgi?id=53632
7741
7742         This makes clientPaddingLeft and  clientPaddingRight return
7743         the additional m_innerBlock's padding so that the popup item text
7744         aligns with the menulist button text.
7745
7746         * rendering/RenderMenuList.cpp:
7747         (WebCore::RenderMenuList::clientPaddingLeft):
7748         (WebCore::RenderMenuList::clientPaddingRight):
7749
7750 2011-02-04  Anders Carlsson  <andersca@apple.com>
7751
7752         Reviewed by Sam Weinig and Beth Dakin.
7753
7754         REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
7755         <rdar://problem/8962457>
7756
7757         * platform/ScrollView.cpp:
7758         (WebCore::ScrollView::scrollContents):
7759         Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
7760         
7761         * platform/ScrollableArea.cpp:
7762         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
7763         Make sure to invalidate both scrollbars if overlay scrollers are enabled.
7764
7765 2011-02-04  Adam Barth  <abarth@webkit.org>
7766
7767         Reviewed by Eric Seidel.
7768
7769         PluginDocuments don't create widgets for plugins on back/forward
7770         https://bugs.webkit.org/show_bug.cgi?id=53474
7771
7772         Long ago, PluginDocument always caused the HTMLEmbedElement to create
7773         its widget synchronously during a post-layout task.  Recently, however,
7774         some changes to the HistroyController caused layout on back/forward to
7775         become slightly more complicated (and added an extra level of recursion
7776         to layout).  This extra level of recursion triggered the "I've recursed
7777         too many times" condition in the post-layout task queue, causing the
7778         FrameView to run the remainder of the tasks asynchronously.
7779         Unfortunately, that broke PluginDocument because it needs its the
7780         HTMLEmbedElement's updateWidget task to run synchronously.
7781
7782         This patch adds a mechanism for "kicking off" the pending post-layout
7783         tasks synchronously (instead of waiting for the timer to fire).
7784         PluginDocument then uses that facility to ensure that the
7785         HTMLEmbedElement's updateWidget task happens.
7786
7787         Test: plugins/plugin-document-back-forward.html
7788
7789         * html/PluginDocument.cpp:
7790         (WebCore::PluginDocumentParser::appendBytes):
7791         * page/FrameView.cpp:
7792         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
7793         * page/FrameView.h:
7794
7795 2011-02-04  Charlie Reis  <creis@chromium.org>
7796
7797         Reviewed by Mihai Parparita.
7798
7799         Crash in WebCore::HistoryController::itemsAreClones
7800         https://bugs.webkit.org/show_bug.cgi?id=52819
7801
7802         Avoids deleting the current HistoryItem while it is still in use.
7803         Ensures that provisional items are committed for same document navigations.
7804         Ensures that error pages are committed on back/forward navigations.
7805         Also removes unneeded sanity checks used for diagnosing the problem.
7806
7807         * loader/HistoryController.cpp:
7808         * loader/HistoryController.h:
7809
7810 2011-02-04  Carol Szabo  <carol.szabo@nokia.com>
7811
7812         Reviewed by David Hyatt.
7813
7814         Code Changes.
7815
7816         CSS 2.1 failure: content-*
7817         https://bugs.webkit.org/show_bug.cgi?id=52126
7818
7819         Test: fast/css/counters/content-021.html
7820
7821         * rendering/CounterNode.cpp:
7822         (showCounterTree):
7823         Made parameter const because it is supposed to be so.
7824         * rendering/RenderCounter.cpp:
7825         (WebCore::previousInPreOrder):
7826         (WebCore::previousSiblingOrParent):
7827         (WebCore::parentElement):
7828         (WebCore::areRenderersElementsSiblings):
7829         (WebCore::nextInPreOrder):
7830         Added these local helper functions to help navigate the DOM tree
7831         enriched with :before and :after pseudo elements.
7832         (WebCore::planCounter):
7833         Fixed bug that would create a repeat counter for second and
7834         subsequent renderers associated with the same DOM element.
7835         (WebCore::findPlaceForCounter):
7836         (WebCore::makeCounterNode):
7837         Changed to use the new tree navigation functions described above
7838         instead of the Renderer Tree navigation functions.
7839         (WebCore::RenderCounter::rendererSubtreeAttached):
7840         (WebCore::RenderCounter::rendererStyleChanged):
7841         Optimized to not bother about counters until the renderers are
7842         finally attached.
7843         (showRendererTree):
7844         (showNodeTree):
7845         Debug helper functions used to debug Counter bugs.
7846
7847 2011-02-04  Dan Bernstein  <mitz@apple.com>
7848
7849         Typo fix.
7850
7851         * html/parser/XSSFilter.cpp:
7852         (WebCore::HTMLNames::containsJavaScriptURL):
7853
7854 2011-02-04  Dan Bernstein  <mitz@apple.com>
7855
7856         Reviewed by Anders Carlsson.
7857
7858         Make an infinite loop introduced in r77454 finite.
7859
7860         * html/parser/XSSFilter.cpp:
7861         (WebCore::HTMLNames::containsJavaScriptURL):
7862
7863 2011-02-04  Jer Noble  <jer.noble@apple.com>
7864
7865         Reviewed by Eric Carlson.
7866
7867         Frame accurate seeking isn't always accurate
7868         https://bugs.webkit.org/show_bug.cgi?id=52697
7869
7870         Test: media/video-frame-accurate-seek.html
7871
7872         Make seeking slightly more accurate by rounding instead of truncating
7873         when converting from seconds-in-float to time/timeScale.
7874
7875         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
7876         (WebCore::MediaPlayerPrivateQTKit::createQTTime):
7877         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
7878         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
7879         * platform/graphics/win/QTMovie.cpp:
7880         (QTMovie::setCurrentTime):
7881
7882 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
7883
7884         Reviewed by Nate Chapin.
7885
7886         Second IndexedDB events overhaul patch
7887         https://bugs.webkit.org/show_bug.cgi?id=53813
7888
7889         If an IDBRequest has a IDBTransaction, it should propogate
7890         events through it. In order to do this, IDBRequest needs to
7891         hold a transaction frontend object rather than a backend one.
7892
7893         Test: storage/indexeddb/request-event-propagation.html
7894
7895         * storage/IDBCursor.cpp:
7896         (WebCore::IDBCursor::IDBCursor):
7897         * storage/IDBCursor.h:
7898         (WebCore::IDBCursor::create):
7899         * storage/IDBDatabase.cpp:
7900         (WebCore::IDBDatabase::setSetVersionTransaction):
7901         (WebCore::IDBDatabase::createObjectStore):
7902         (WebCore::IDBDatabase::deleteObjectStore):
7903         * storage/IDBDatabase.h:
7904         * storage/IDBIndex.cpp:
7905         (WebCore::IDBIndex::IDBIndex):
7906         (WebCore::IDBIndex::openCursor):
7907         (WebCore::IDBIndex::openKeyCursor):
7908         (WebCore::IDBIndex::get):
7909         (WebCore::IDBIndex::getKey):
7910         * storage/IDBIndex.h:
7911         (WebCore::IDBIndex::create):
7912         * storage/IDBObjectStore.cpp:
7913         (WebCore::IDBObjectStore::IDBObjectStore):
7914         (WebCore::IDBObjectStore::get):
7915         (WebCore::IDBObjectStore::add):
7916         (WebCore::IDBObjectStore::put):
7917         (WebCore::IDBObjectStore::deleteFunction):
7918         (WebCore::IDBObjectStore::createIndex):
7919         (WebCore::IDBObjectStore::deleteIndex):
7920         (WebCore::IDBObjectStore::openCursor):
7921         * storage/IDBObjectStore.h:
7922         (WebCore::IDBObjectStore::create):
7923         * storage/IDBRequest.cpp:
7924         (WebCore::IDBRequest::create):
7925         (WebCore::IDBRequest::IDBRequest):
7926         (WebCore::IDBRequest::resetReadyState):
7927         (WebCore::IDBRequest::onSuccess):
7928         (WebCore::IDBRequest::dispatchEvent):
7929         * storage/IDBRequest.h:
7930         * storage/IDBTransaction.cpp:
7931         (WebCore::IDBTransaction::IDBTransaction):
7932         (WebCore::IDBTransaction::objectStore):
7933         (WebCore::IDBTransaction::contextDestroyed):
7934         (WebCore::IDBTransaction::enqueueEvent):
7935         * storage/IDBTransaction.h:
7936         * storage/IDBTransaction.idl:
7937
7938 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
7939
7940         Reviewed by Nate Chapin.
7941
7942         First step towards event propogation within IndexedDB
7943         https://bugs.webkit.org/show_bug.cgi?id=53795
7944
7945         This is the first step towards implementing
7946         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
7947         within IndexedDB. I've created a method that knows how
7948         to capture and bubble (based on Node's dispatchGenericEvent).
7949         I've then changed IDBRequest to use it.
7950
7951         The only functional change is that preventDefault now must
7952         be called in error events to prevent the transaction from
7953         being aborted. The tests reflect this change and there's one
7954         specific test to look at this behavior.
7955
7956         Test: storage/indexeddb/error-causes-abort-by-default.html
7957
7958         * storage/IDBAbortEvent.cpp:
7959         (WebCore::IDBAbortEvent::create):
7960         (WebCore::IDBAbortEvent::IDBAbortEvent):
7961         * storage/IDBAbortEvent.h:
7962         * storage/IDBCompleteEvent.cpp:
7963         (WebCore::IDBCompleteEvent::create):
7964         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
7965         * storage/IDBCompleteEvent.h:
7966         * storage/IDBErrorEvent.cpp:
7967         (WebCore::IDBErrorEvent::IDBErrorEvent):
7968         * storage/IDBEvent.cpp:
7969         (WebCore::IDBEvent::IDBEvent):
7970         (WebCore::IDBEvent::dispatch):
7971         * storage/IDBEvent.h:
7972         * storage/IDBRequest.cpp:
7973         (WebCore::IDBRequest::dispatchEvent):
7974         * storage/IDBRequest.h:
7975         * storage/IDBSuccessEvent.cpp:
7976         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
7977         * storage/IDBTransaction.cpp:
7978         (WebCore::IDBTransaction::onAbort):
7979         (WebCore::IDBTransaction::onComplete):
7980         * storage/IDBTransaction.h:
7981         (WebCore::IDBTransaction::backend):
7982         * storage/IDBTransactionBackendImpl.cpp:
7983         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
7984
7985 2011-02-04  Daniel Cheng  <dcheng@chromium.org>
7986
7987         Reviewed by Dmitry Titov.
7988
7989         Clone WebClipboard to be frame-specific.
7990         https://bugs.webkit.org/show_bug.cgi?id=53727
7991
7992         For drop operations, Chrome currently snapshots the data and copies it
7993         into the renderer process. As we add more supported drag data types, the
7994         copy will become increasingly expensive. Instead, we'd like to snapshot
7995         data in the browser to reduce the amount of data copied and to support
7996         Blob in DataTransferItem. In order to allow this, we associated
7997         WebClipboard with a frame so it can correctly route its IPCs to the
7998         corresponding Chromium host.
7999
8000         No new tests because no new functionality.
8001
8002         * platform/chromium/ChromiumDataObject.cpp:
8003         (WebCore::ChromiumDataObject::createReadable):
8004         * platform/chromium/ChromiumDataObject.h:
8005         * platform/chromium/ClipboardChromium.cpp:
8006         (WebCore::ClipboardChromium::create):
8007         * platform/chromium/PlatformBridge.h:
8008         * platform/chromium/ReadableDataObject.cpp:
8009         (WebCore::ReadableDataObject::create):
8010         (WebCore::ReadableDataObject::ReadableDataObject):
8011         (WebCore::ReadableDataObject::getData):
8012         (WebCore::ReadableDataObject::urlTitle):
8013         (WebCore::ReadableDataObject::htmlBaseUrl):
8014         (WebCore::ReadableDataObject::filenames):
8015         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
8016         * platform/chromium/ReadableDataObject.h:
8017
8018 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
8019
8020         Revert https://bugs.webkit.org/show_bug.cgi?id=53795
8021
8022         * storage/IDBAbortEvent.cpp:
8023         (WebCore::IDBAbortEvent::create):
8024         (WebCore::IDBAbortEvent::IDBAbortEvent):
8025         * storage/IDBAbortEvent.h:
8026         * storage/IDBCompleteEvent.cpp:
8027         (WebCore::IDBCompleteEvent::create):
8028         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
8029         * storage/IDBCompleteEvent.h:
8030         * storage/IDBErrorEvent.cpp:
8031         (WebCore::IDBErrorEvent::IDBErrorEvent):
8032         * storage/IDBEvent.cpp:
8033         (WebCore::IDBEvent::IDBEvent):
8034         * storage/IDBEvent.h:
8035         * storage/IDBRequest.cpp:
8036         (WebCore::IDBRequest::dispatchEvent):
8037         * storage/IDBRequest.h:
8038         * storage/IDBSuccessEvent.cpp:
8039         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
8040         * storage/IDBTransaction.cpp:
8041         (WebCore::IDBTransaction::onAbort):
8042         (WebCore::IDBTransaction::onComplete):
8043         * storage/IDBTransaction.h:
8044         * storage/IDBTransactionBackendImpl.cpp:
8045         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
8046
8047 2011-02-04  Martin Galpin  <martin@66laps.com>
8048
8049         Reviewed by David Levin.
8050
8051         CORS origin header not set on GET when a preflight request is required.
8052         https://bugs.webkit.org/show_bug.cgi?id=50773
8053         
8054         Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
8055
8056         * loader/DocumentThreadableLoader.cpp:
8057         (WebCore::DocumentThreadableLoader::preflightSuccess): 
8058         Explicitly set the request origin after a preflight request succeeds.
8059
8060 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
8061
8062         Reviewed by Nate Chapin.
8063
8064         First step towards event propogation within IndexedDB
8065         https://bugs.webkit.org/show_bug.cgi?id=53795
8066
8067         This is the first step towards implementing
8068         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
8069         within IndexedDB. I've created a method that knows how
8070         to capture and bubble (based on Node's dispatchGenericEvent).
8071         I've then changed IDBRequest to use it.
8072
8073         The only functional change is that preventDefault now must
8074         be called in error events to prevent the transaction from
8075         being aborted. The tests reflect this change and there's one
8076         specific test to look at this behavior.
8077
8078         Test: storage/indexeddb/error-causes-abort-by-default.html
8079
8080         * storage/IDBAbortEvent.cpp:
8081         (WebCore::IDBAbortEvent::create):
8082         (WebCore::IDBAbortEvent::IDBAbortEvent):
8083         * storage/IDBAbortEvent.h:
8084         * storage/IDBCompleteEvent.cpp:
8085         (WebCore::IDBCompleteEvent::create):
8086         (WebCore::IDBCompleteEvent::IDBCompleteEvent):
8087         * storage/IDBCompleteEvent.h:
8088         * storage/IDBErrorEvent.cpp:
8089         (WebCore::IDBErrorEvent::IDBErrorEvent):
8090         * storage/IDBEvent.cpp:
8091         (WebCore::IDBEvent::IDBEvent):
8092         (WebCore::IDBEvent::dispatch):
8093         * storage/IDBEvent.h:
8094         * storage/IDBRequest.cpp:
8095         (WebCore::IDBRequest::dispatchEvent):
8096         * storage/IDBRequest.h:
8097         * storage/IDBSuccessEvent.cpp:
8098         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
8099         * storage/IDBTransaction.cpp:
8100         (WebCore::IDBTransaction::onAbort):
8101         (WebCore::IDBTransaction::onComplete):
8102         * storage/IDBTransaction.h:
8103         (WebCore::IDBTransaction::backend):
8104         * storage/IDBTransactionBackendImpl.cpp:
8105         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
8106
8107 2011-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
8108
8109         Reviewed by Csaba Osztrogonác.
8110
8111         [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
8112         https://bugs.webkit.org/show_bug.cgi?id=53674
8113
8114         * css/mediaControlsQt.css:
8115
8116 2011-02-04  Dan Bernstein  <mitz@apple.com>
8117
8118         Reviewed by Darin Adler and Dave Hyatt.
8119
8120         <rdar://problem/8902704> Make ruby text size 50% by default
8121         https://bugs.webkit.org/show_bug.cgi?id=53723
8122
8123         * css/html.css:
8124         (ruby > rt): Changed the font-size from 60% to 50%.
8125
8126 2011-02-04  Antti Koivisto  <antti@apple.com>
8127
8128         Reviewed by Dimitri Glazkov.
8129
8130         https://bugs.webkit.org/show_bug.cgi?id=53610
8131         Regression: adjacent sibling selector not working as expected
8132         <rdar://problem/8960033>
8133         
8134         https://bugs.webkit.org/show_bug.cgi?id=53574
8135         REGRESSION (r76012): :last-child:after not working as expected
8136         <rdar://problem/8948643>
8137         
8138         Test for additional conditions in parent style that prevent sharing.
8139
8140         Tests: fast/selectors/style-sharing-adjacent-selector.html
8141                fast/selectors/style-sharing-last-child.html
8142
8143         * css/CSSStyleSelector.cpp:
8144         (WebCore::parentStylePreventsSharing):
8145         (WebCore::CSSStyleSelector::locateSharedStyle):
8146
8147 2011-02-04  Mark Mentovai  <mark@chromium.org>
8148
8149         Reviewed by Dimitri Glazkov.
8150
8151         Chromium GYP build fix.
8152
8153         When various settings were moved to webcore_prerequisites in r66364,
8154         things that should have been direct_dependent_settings were not marked
8155         as such. GYP 'defines', for example, make no sense on a 'none'-type
8156         target such as webcore_prerequisites. It appears that it was intended
8157         for these settings to be pushed to direct dependents, which would make
8158         direct_dependent_settings correct.
8159
8160         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
8161         http://crbug.com/71537, which at best causes Mac console log spew, and
8162         at worst may result in Chromium's copy of WebCore using system
8163         definitions of certain Objective-C classes at runtime, or vice-versa.
8164
8165         The build now includes a postbuild step to prevent
8166         http://crbug.com/71537 from regressing again. The build will fail upon
8167         regression.
8168
8169         https://bugs.webkit.org/show_bug.cgi?id=53630
8170
8171         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
8172           direct_dependent_settings as needed, add the check_objc_rename
8173           postbuild step.
8174         * WebCore.gyp/mac/check_objc_rename.sh: Added.
8175
8176 2011-02-04  Robert Hogan  <robert@webkit.org>
8177
8178         Reviewed by Darin Fisher.
8179
8180         Move chromium iframe shim code to cross-platform file
8181         https://bugs.webkit.org/show_bug.cgi?id=52594
8182
8183         Move Chromium code for identifying and cutting out
8184         iframe shims from plugins to cross-platform utility file
8185         IFrameShimSupport.cpp.
8186         Amend PluginViewQt to use this code to handle shims correctly.
8187
8188         * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
8189         * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
8190         * plugins/IFrameShimSupport.cpp: Added.
8191         (WebCore::getObjectStack):
8192         (WebCore::iframeIsAbovePlugin):
8193         (WebCore::getPluginOcclusions):
8194         * plugins/IFframeShimSupport.h: Added.
8195         * plugins/qt/PluginViewQt.cpp:
8196         (WebCore::PluginView::setNPWindowIfNeeded):
8197
8198 2011-02-04  Xiaomei Ji  <xji@chromium.org>
8199
8200         Reviewed by David Levin.
8201
8202         Implement "<option> should implement the dir attribute" for chromium port after r76983.
8203         https://bugs.webkit.org/show_bug.cgi?id=50969
8204
8205         Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
8206         added in r76983.
8207
8208         * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
8209         <select> drop-down setting.
8210         (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
8211         items in drop-down and pass-in bidi override flag when creating text run.
8212         * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
8213         PopupContainerSettings.
8214
8215 2011-02-04  Jeremy Orlow  <jorlow@chromium.org>
8216
8217         Build fix from merge mistake.
8218
8219         * storage/IDBTransaction.cpp:
8220         (WebCore::IDBTransaction::ensureEventTargetData):
8221
8222 2011-02-04  Levi Weintraub  <leviw@chromium.org>
8223
8224         Reviewed by Darin Adler.
8225
8226         Remove unneeded function declarations in comments in EditorClient.h
8227         https://bugs.webkit.org/show_bug.cgi?id=53745
8228
8229         Removing unused commented out function declarations. No tests since this is just cleanup.
8230
8231         * page/EditorClient.h:
8232
8233 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
8234
8235         Reviewed by Nate Chapin.
8236
8237         Refactor IDBRequest and IDBTransaction a bit
8238         https://bugs.webkit.org/show_bug.cgi?id=53565
8239
8240         There were a lot of subtle issues with the way IDBTransaction
8241         and IDBRequest used to be written. This cleans a lot of them up
8242         and largely simplifies the logic. Using EventQueue rather than
8243         timers is one example of the simplification.
8244
8245         * bindings/scripts/CodeGeneratorV8.pm:
8246         * dom/EventQueue.cpp:
8247         (WebCore::EventQueue::enqueueEvent):
8248         (WebCore::EventQueue::dispatchEvent):
8249         * storage/IDBCursor.cpp:
8250         (WebCore::IDBCursor::continueFunction):
8251         * storage/IDBRequest.cpp:
8252         (WebCore::IDBRequest::create):
8253         (WebCore::IDBRequest::IDBRequest):
8254         (WebCore::IDBRequest::resetReadyState):
8255         (WebCore::IDBRequest::onError):
8256         (WebCore::IDBRequest::onSuccess):
8257         (WebCore::IDBRequest::dispatchEvent):
8258         (WebCore::IDBRequest::enqueueEvent):
8259         (WebCore::IDBRequest::eventTargetData):
8260         (WebCore::IDBRequest::ensureEventTargetData):
8261         * storage/IDBRequest.h:
8262         (WebCore::IDBRequest::dispatchEvent):
8263         * storage/IDBTransaction.cpp:
8264         (WebCore::IDBTransaction::create):
8265         (WebCore::IDBTransaction::IDBTransaction):
8266         (WebCore::IDBTransaction::objectStore):
8267         (WebCore::IDBTransaction::abort):
8268         (WebCore::IDBTransaction::onAbort):
8269         (WebCore::IDBTransaction::onComplete):
8270         (WebCore::IDBTransaction::onTimeout):
8271         (WebCore::IDBTransaction::canSuspend):
8272         (WebCore::IDBTransaction::stop):
8273         (WebCore::IDBTransaction::enqueueEvent):
8274         (WebCore::IDBTransaction::eventTargetData):
8275         (WebCore::IDBTransaction::ensureEventTargetData):
8276         * storage/IDBTransaction.h:
8277
8278 2011-02-01  Jeremy Orlow  <jorlow@chromium.org>
8279
8280         Reviewed by Nate Chapin.
8281
8282         Remove the timeout event from IndexedDB
8283         https://bugs.webkit.org/show_bug.cgi?id=53521
8284
8285         Remove timeout and ontimeout from IDBTransaction per the spec.
8286
8287         * WebCore.gypi:
8288         * storage/IDBDatabase.cpp:
8289         (WebCore::IDBDatabase::transaction):
8290         * storage/IDBDatabase.h:
8291         (WebCore::IDBDatabase::transaction):
8292         * storage/IDBDatabase.idl:
8293         * storage/IDBDatabaseBackendImpl.cpp:
8294         (WebCore::IDBDatabaseBackendImpl::setVersion):
8295         (WebCore::IDBDatabaseBackendImpl::transaction):
8296         * storage/IDBDatabaseBackendImpl.h:
8297         * storage/IDBDatabaseBackendInterface.h:
8298         * storage/IDBTimeoutEvent.cpp: Removed.
8299         * storage/IDBTimeoutEvent.h: Removed.
8300         * storage/IDBTransaction.cpp:
8301         (WebCore::IDBTransaction::IDBTransaction):
8302         (WebCore::IDBTransaction::onAbort):
8303         (WebCore::IDBTransaction::onComplete):
8304         * storage/IDBTransaction.h:
8305         * storage/IDBTransaction.idl:
8306         * storage/IDBTransactionBackendImpl.cpp:
8307         (WebCore::IDBTransactionBackendImpl::create):
8308         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
8309         * storage/IDBTransactionBackendImpl.h:
8310         * storage/IDBTransactionCallbacks.h:
8311
8312 2011-02-04  Chris Fleizach  <cfleizach@apple.com>
8313
8314         Reviewed by Darin Adler.
8315
8316         AX: Can't set accessibility overridden attributes on web objects
8317         https://bugs.webkit.org/show_bug.cgi?id=53725
8318
8319         accessibilitySetOverriddenValue does not work on AX objects from WebCore because 
8320         the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
8321         Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
8322         attribute only when an AX client asks for it through the AX frameworks.
8323
8324         * accessibility/mac/AccessibilityObjectWrapper.mm:
8325         (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
8326
8327 2011-02-03  Dimitri Glazkov  <dglazkov@chromium.org>
8328
8329         Reviewed by Kent Tamura.
8330
8331         REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
8332         https://bugs.webkit.org/show_bug.cgi?id=53691
8333
8334         Test: fast/repaint/slider-thumb-drag-release.html
8335
8336         * html/shadow/SliderThumbElement.cpp:
8337         (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
8338             that the thumb is repainted.
8339
8340 2011-02-04  Mikhail Naganov  <mnaganov@chromium.org>
8341
8342         Reviewed by Pavel Feldman.
8343
8344         Web Inspector: Add "show more" data grid node and waiting message UI components.
8345         https://bugs.webkit.org/show_bug.cgi?id=53763
8346
8347         - "show more" data grid node is used for on-demand population of
8348         data grid contents (similar to DOM tree capability for limiting
8349         displayed nodes count);
8350
8351         - waiting message is used for informing user about long lasting
8352         operations (with a possibility to cancel them).
8353
8354         * English.lproj/localizedStrings.js:
8355         * WebCore.gypi:
8356         * WebCore.vcproj/WebCore.vcproj:
8357         * inspector/front-end/PleaseWaitMessage.js: Added.
8358         (WebInspector.PleaseWaitMessage):
8359         * inspector/front-end/ShowMoreDataGridNode.js: Added.
8360         (WebInspector.ShowMoreDataGridNode):
8361         * inspector/front-end/WebKit.qrc:
8362         * inspector/front-end/inspector.css:
8363         (.data-grid button):
8364         (.please-wait-msg):
8365         * inspector/front-end/inspector.html:
8366
8367 2011-02-04  Adele Peterson  <adele@apple.com>
8368
8369         Reviewed by Dan Bernstein.
8370
8371         Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
8372         <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
8373
8374         Tests:
8375         fast/forms/textarea-placeholder-visibility-1.html
8376         fast/forms/textarea-placeholder-visibility-2.html
8377         fast/forms/input-placeholder-visibility-1.html
8378         fast/forms/input-placeholder-visibility-2.html
8379         fast/forms/input-placeholder-visibility-3.html
8380
8381         * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
8382         Add a check for shouldShowPlaceholderWhenFocused.
8383         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
8384         Whenever the value is updated, we should also update placeholder visibility.
8385         * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
8386         Make the default the same as the existing behavior.
8387         * rendering/RenderThemeMac.h:
8388         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
8389         Show placeholder when appropriate. 
8390
8391 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
8392
8393         Reviewed by Pavel Feldman.
8394
8395         Web Inspector: evaluate on hover does not work on a breakpoint.
8396         https://bugs.webkit.org/show_bug.cgi?id=53768
8397
8398         * inspector/front-end/SourceFrame.js:
8399         (WebInspector.SourceFrame.prototype._mouseHover):
8400
8401 2011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
8402
8403         Unreviewed, rolling out r77625 and r77626.
8404         http://trac.webkit.org/changeset/77625
8405         http://trac.webkit.org/changeset/77626
8406         https://bugs.webkit.org/show_bug.cgi?id=53765
8407
8408         It broke Windows builds (Requested by Ossy_ on #webkit).
8409
8410         * Android.jscbindings.mk:
8411         * CMakeLists.txt:
8412         * ForwardingHeaders/pcre/pcre.h: Added.
8413         * ForwardingHeaders/yarr/Yarr.h: Removed.
8414         * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
8415         * ForwardingHeaders/yarr/YarrPattern.h: Removed.
8416         * WebCore.gyp/WebCore.gyp:
8417         * WebCore.pro:
8418         * WebCore.vcproj/WebCore.vcproj:
8419         * WebCore.vcproj/copyForwardingHeaders.cmd:
8420         * platform/text/RegularExpression.cpp:
8421         (WebCore::RegularExpression::Private::regexp):
8422         (WebCore::RegularExpression::Private::compile):
8423         (WebCore::RegularExpression::Private::Private):
8424         (WebCore::RegularExpression::Private::create):
8425         (WebCore::RegularExpression::Private::~Private):
8426         (WebCore::RegularExpression::match):
8427
8428 2011-02-04  Peter Varga  <pvarga@webkit.org>
8429
8430         Rubber-stamped by Csaba Osztrogonác.
8431
8432         Replace PCRE with Yarr in WebCore
8433         https://bugs.webkit.org/show_bug.cgi?id=53496
8434
8435         Speculative windows build fix.
8436
8437         No new tests needed.
8438
8439         * platform/text/RegularExpression.cpp:
8440
8441 2011-02-04  Peter Varga  <pvarga@webkit.org>
8442
8443
8444         Reviewed by Gavin Barraclough.
8445
8446         Replace PCRE with Yarr in WebCore
8447         https://bugs.webkit.org/show_bug.cgi?id=53496
8448
8449         No new tests needed.
8450
8451         * Android.jscbindings.mk:
8452         * CMakeLists.txt:
8453         * ForwardingHeaders/pcre/pcre.h: Removed.
8454         * ForwardingHeaders/yarr/Yarr.h: Added.
8455         * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
8456         * ForwardingHeaders/yarr/YarrPattern.h: Added.
8457         * WebCore.gyp/WebCore.gyp:
8458         * WebCore.pro:
8459         * WebCore.vcproj/WebCore.vcproj:
8460         * WebCore.vcproj/copyForwardingHeaders.cmd:
8461         * platform/text/RegularExpression.cpp:
8462         (WebCore::RegularExpression::Private::create):
8463         (WebCore::RegularExpression::Private::Private):
8464         (WebCore::RegularExpression::Private::compile):
8465         (WebCore::RegularExpression::match):
8466
8467 2011-02-04  Pavel Feldman  <pfeldman@chromium.org>
8468
8469         Reviewed by Yury Semikhatsky.
8470
8471         Web Inspector: Network panel filtering is broken.
8472         https://bugs.webkit.org/show_bug.cgi?id=53764
8473
8474         * inspector/front-end/NetworkPanel.js:
8475         (WebInspector.NetworkPanel.prototype._sortItems):
8476         (WebInspector.NetworkPanel.prototype._sortByTimeline):
8477         (WebInspector.NetworkPanel.prototype._filter):
8478         (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
8479         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
8480         (WebInspector.NetworkDataGridNode.prototype.get selectable):
8481         (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
8482         (WebInspector.NetworkTotalGridNode.prototype.get selectable):
8483
8484 2011-02-04  Andrey Kosyakov  <caseq@chromium.org>
8485
8486         Reviewed by Pavel Feldman.
8487
8488         Web Inspector: support overriding user agent strings
8489         https://bugs.webkit.org/show_bug.cgi?id=51485
8490
8491         Test: http/tests/inspector/extensions-useragent.html
8492
8493         * inspector/Inspector.idl:
8494         * inspector/InspectorController.cpp:
8495         (WebCore::InspectorController::disconnectFrontend):
8496         (WebCore::InspectorController::setUserAgentOverride):
8497         (WebCore::InspectorController::userAgentOverride):
8498         * inspector/InspectorController.h:
8499         * inspector/front-end/ExtensionAPI.js:
8500         (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
8501         * inspector/front-end/ExtensionServer.js:
8502         (WebInspector.ExtensionServer.prototype._onReload):
8503         * loader/FrameLoader.cpp:
8504         (WebCore::FrameLoader::userAgent):
8505         (WebCore::FrameLoader::applyUserAgent):
8506
8507 2011-02-04  Pavel Podivilov  <podivilov@chromium.org>
8508
8509         Reviewed by Pavel Feldman.
8510
8511         Web Inspector: scripts panel displays wrong file name after reload.
8512         https://bugs.webkit.org/show_bug.cgi?id=53761
8513
8514         * inspector/front-end/ScriptsPanel.js:
8515         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
8516
8517 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
8518
8519         Reviewed by Pavel Feldman.
8520
8521         Web Inspector: remove settings related methods from InspectorClient
8522         https://bugs.webkit.org/show_bug.cgi?id=53686
8523
8524         * WebCore.exp.in:
8525         * inspector/CodeGeneratorInspector.pm:
8526         * inspector/InspectorClient.h:
8527         * inspector/InspectorFrontendClientLocal.cpp:
8528         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
8529         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
8530         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
8531         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
8532         provide platform-specific settings accessor.
8533         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
8534         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
8535         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
8536         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
8537         * loader/EmptyClients.h:
8538
8539 2011-02-03  Anton Muhin  <antonm@chromium.org>
8540
8541         Reviewed by Adam Barth.
8542
8543         [v8] frame several more JS code invocations into v8::TryCatch
8544         https://bugs.webkit.org/show_bug.cgi?id=53594
8545
8546         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
8547         in v8::ThrowException---currently sometimes exceptions thrown by this method
8548         do not reach surrounding v8::TryCatch handler (see
8549         http://code.google.com/p/v8/issues/detail?id=1072 and
8550         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
8551         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
8552         one rebaseline as of now.)
8553
8554         * bindings/v8/V8Proxy.cpp:
8555         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
8556         * bindings/v8/V8WindowErrorHandler.cpp:
8557         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
8558
8559 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
8560
8561         Reviewed by Dan Bernstein.
8562
8563         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
8564         https://bugs.webkit.org/show_bug.cgi?id=52897
8565         <rdar://problem/8898294>
8566
8567         * WebCore.exp.in: Add export now needed by WebKit2
8568
8569 2011-02-03  Victoria Kirst  <vrk@google.com>
8570
8571         Reviewed by James Robinson.
8572
8573         Replaces float literals with uniform values in shader code
8574         so that buggy drivers unable to parse float values in different
8575         locales will not produce a pink video.
8576
8577         [chromium] Fix pink video bug with gpu-acceleration enabled
8578         https://bugs.webkit.org/show_bug.cgi?id=53568
8579
8580         * platform/graphics/chromium/VideoLayerChromium.cpp:
8581         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
8582         (WebCore::VideoLayerChromium::drawYUV):
8583         * platform/graphics/chromium/VideoLayerChromium.h:
8584         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
8585
8586 2011-02-03  James Kozianski  <koz@chromium.org>
8587
8588         Reviewed by Dimitri Glazkov.
8589
8590         Add navigator.registerProtocolHandler behind a flag.
8591         https://bugs.webkit.org/show_bug.cgi?id=52609
8592
8593         This method is described in the HTML5 specification here,
8594         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
8595
8596         This change is largely cribbed from B. Green's 29651 patches. It is
8597         behind a flag so as not to break JS feature detection.
8598
8599         New layout test fast/dom/registerProtocolHandler.html.
8600
8601         * Configurations/FeatureDefines.xcconfig:
8602         * loader/EmptyClients.h:
8603         (WebCore::EmptyChromeClient::registerProtocolHandler):
8604         * page/Chrome.cpp:
8605         (WebCore::Chrome::registerProtocolHandler):
8606         * page/Chrome.h:
8607         * page/ChromeClient.h:
8608         * page/Navigator.cpp:
8609         (WebCore::verifyCustomHandlerURL):
8610         (WebCore::verifyProtocolHandlerScheme):
8611         (WebCore::Navigator::registerProtocolHandler):
8612         * page/Navigator.h:
8613         * page/Navigator.idl:
8614
8615 2011-02-03  Brian Ryner  <bryner@chromium.org>
8616
8617         Reviewed by Darin Fisher.
8618
8619         Add a field to the ResourceResponse for tracking the socket address
8620         of the host that the resource was fetched from.  Patch was originally
8621         by Paul Marks.
8622         https://bugs.webkit.org/show_bug.cgi?id=53699
8623
8624         * platform/network/chromium/ResourceResponse.cpp:
8625         (WebCore::ResourceResponse::doPlatformCopyData):
8626         (WebCore::ResourceResponse::doPlatformAdopt):
8627         * platform/network/chromium/ResourceResponse.h:
8628         (WebCore::ResourceResponse::socketAddress):
8629         (WebCore::ResourceResponse::setSocketAddress):
8630
8631 2011-02-03  Adam Langley  <agl@chromium.org>
8632
8633         Reviewed by Adam Barth.
8634
8635         Plumb mixed script URL to FrameLoaderClient
8636         https://bugs.webkit.org/show_bug.cgi?id=52384
8637
8638         Regressions covered by http/tests/security/mixedContent/*
8639
8640         * loader/EmptyClients.h:
8641         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
8642         * loader/FrameLoader.cpp:
8643         (WebCore::FrameLoader::checkIfRunInsecureContent):
8644         * loader/FrameLoaderClient.h:
8645
8646 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
8647
8648         Reviewed by Dan Bernstein.
8649
8650         REGRESSION: Artifacts on box-shadow corners in some cases
8651         https://bugs.webkit.org/show_bug.cgi?id=53731
8652
8653         Fix overdrawing artifacts in ShadowBlur's tiling code path,
8654         which show up in shadows using a color with alpha.
8655         
8656         Test: fast/box-shadow/shadow-tiling-artifact.html
8657
8658         * platform/graphics/ShadowBlur.cpp:
8659         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
8660         that the inner rect that gets filled does not overlap with any
8661         of the eight tiled areas by having the corner and side dimensions
8662         be the same for contiguous areas.
8663
8664 2011-02-03  Adam Barth  <abarth@webkit.org>
8665
8666         Reviewed by Alexey Proskuryakov.
8667
8668         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
8669         percent signs in large posted data
8670         https://bugs.webkit.org/show_bug.cgi?id=53405
8671
8672         If the input string contains many non-% characters followed by a %
8673         character that is not a valid URL escape sequence, then the old
8674         algorithm would only advance the initial search by one character
8675         (instead of jumping to just after the % character).  That would cause
8676         the algorithm to take N^2 time (in the number of characters before the
8677         first % character).  This patch just advances the search past the first
8678         % character so we can start looking for next % character sooner.
8679
8680         * platform/KURL.cpp:
8681         (WebCore::decodeURLEscapeSequences):
8682
8683 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
8684
8685         Reviewed by Pavel Feldman.
8686
8687         Web Inspector: click on a breakpoint highlights wrong line in source frame.
8688         https://bugs.webkit.org/show_bug.cgi?id=53692
8689
8690         * inspector/front-end/BreakpointsSidebarPane.js:
8691         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
8692
8693 2011-02-03  Anton Muhin  <antonm@chromium.org>
8694
8695         Reviewed by Adam Barth.
8696
8697         [v8] Bail out if to string conversion returned empty handle
8698         https://bugs.webkit.org/show_bug.cgi?id=53687
8699
8700         This a temporary measure: actually one probably should never get empty handle
8701         if there was no exception.  The root cause is under investigation.
8702         The bailout though allows Chromium not to crash---attempt to convert an empty
8703         v8 hande into WebCore string crashes with invalid memory access.
8704
8705         See http://code.google.com/p/chromium/issues/detail?id=71544
8706
8707         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
8708
8709         * bindings/v8/V8Binding.cpp:
8710         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
8711         * bindings/v8/V8Binding.h:
8712         (WebCore::V8ParameterBase::prepareBase): Ditto
8713
8714 2011-02-03  Adam Barth  <abarth@webkit.org>
8715
8716         Attempt to fix Chromium build.
8717
8718         * html/parser/XSSFilter.cpp:
8719
8720 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
8721
8722         Unreviewed, rolling out r77562.
8723         http://trac.webkit.org/changeset/77562
8724         https://bugs.webkit.org/show_bug.cgi?id=53630
8725
8726         broke chromium mac build
8727
8728         * WebCore.gyp/WebCore.gyp:
8729         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
8730
8731 2011-02-03  Adam Barth  <abarth@webkit.org>
8732
8733         Reviewed by Daniel Bates.
8734
8735         XSS Auditor severely affects loading performance after submitting a large form
8736         https://bugs.webkit.org/show_bug.cgi?id=49845
8737
8738         Switch over from the XSSAuditor to the XSSFilter, improving performance
8739         on this example.
8740
8741         * html/parser/XSSFilter.cpp:
8742         (WebCore::XSSFilter::filterToken):
8743         * page/XSSAuditor.cpp:
8744         (WebCore::XSSAuditor::isEnabled):
8745
8746 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
8747
8748         Unreviewed, rolling out r77567.
8749         http://trac.webkit.org/changeset/77567
8750         https://bugs.webkit.org/show_bug.cgi?id=53468
8751
8752         broke chromium linux svg, canvas tests, possibly win also?
8753
8754         * platform/graphics/skia/ImageBufferSkia.cpp:
8755         (WebCore::getImageData):
8756         (WebCore::ImageBuffer::getUnmultipliedImageData):
8757         (WebCore::ImageBuffer::getPremultipliedImageData):
8758         (WebCore::putImageData):
8759         (WebCore::ImageBuffer::putUnmultipliedImageData):
8760         (WebCore::ImageBuffer::putPremultipliedImageData):
8761
8762 2011-02-02  MORITA Hajime  <morrita@google.com>
8763
8764         Reviewed by Dimitri Glazkov.
8765
8766         Refactoring: <progress> should not use ShadowElement
8767         https://bugs.webkit.org/show_bug.cgi?id=53583
8768
8769         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
8770           to be responsible for bar-part layout,
8771           which adopted layout logic from ShadowBlockElement.
8772         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
8773         - Remove dependency from RenderProgress to HTMLProgressElement and
8774           ShadowBlockElement.
8775         - The shadow tree is no longer removed on detach(). It becomes persistent.
8776           This is now possible because the ShadowBlockElement dependency is gone.
8777         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
8778           That didn't make sense.
8779
8780         * html/HTMLProgressElement.cpp:
8781         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
8782         * html/HTMLProgressElement.h:
8783         * html/shadow/ProgressBarValueElement.h: Added.
8784         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
8785         (WebCore::ProgressBarValueElement::shadowPseudoId):
8786         (WebCore::ProgressBarValueElement::createRenderer):
8787         (WebCore::ProgressBarValueElement::create):
8788         * rendering/RenderIndicator.cpp:
8789         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
8790         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
8791         (WebCore::RenderIndicatorPart::layout):
8792         (WebCore::RenderIndicatorPart::styleDidChange):
8793         * rendering/RenderIndicator.h: Added RenderIndicatorPart class
8794         (WebCore::RenderIndicatorPart::originalVisibility):
8795         (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
8796         (WebCore::RenderIndicatorPart::canHaveChildren):
8797         * rendering/RenderProgress.cpp:
8798         (WebCore::RenderProgressBarValuePart::preferredFrameRect):
8799         (WebCore::RenderProgressBarValuePart::shouldBeHidden):
8800         (WebCore::RenderProgress::updateFromElement):
8801         (WebCore::RenderProgress::layoutParts):
8802         (WebCore::RenderProgress::shouldHaveParts):
8803         * rendering/RenderProgress.h:
8804         (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
8805
8806 2011-02-03  Jia Pu  <jpu@apple.com>
8807
8808         Reversion should not be marked as misspelled.
8809         https://bugs.webkit.org/show_bug.cgi?id=53255
8810
8811         This patch includes fix for reported bug, and also some housekeeping changes.
8812
8813         To implement desired behavior, we need:
8814         1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
8815            that shouldn't be spellchecked and text shouldn't be autocorrected.
8816         2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
8817            Otherwise the spell checking code in that function may interfere with autocorrection. This
8818            is achieved by explicitly applying pending correction when user types space, line break or
8819            paragraph break.
8820
8821         Housekeeping code changes include:
8822         1. Change manual-tests that were broken by relocated WebCore directory.
8823         2. Use TextIterator in various DocumentMarkerController functions instead of using
8824            Node::traverseNextNode() directly.
8825         3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
8826            DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
8827         4. Fixes of minor bugs that were exposed previously.
8828
8829         * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
8830
8831         * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
8832
8833         * dom/DocumentMarkerController.cpp:
8834         (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
8835            consistent with addMarker() function. Allow passing in multiple marker types in one call.
8836            Added a boolean argument to specify the behavior when removing markers that partially
8837            overlap the specified range.
8838         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
8839            multiple marker types in one call.
8840         (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
8841            consistent with addMarker() function. Allow passing in multiple marker types in one call.
8842
8843         * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
8844            and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
8845            removing markers that partially overlap the specified range.
8846
8847         * editing/Editor.cpp:
8848         (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
8849         (WebCore::markerTypesForReplacement): Ditto.
8850         (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
8851            setSelection() to make sure there is no pending correction when entering
8852            markAllMisspellingsAndBadGrammarInRanges().
8853         (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
8854            is a top level command to improve efficiency.
8855         (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
8856         (WebCore::Editor::insertLineBreak): Ditto.
8857         (WebCore::Editor::insertParagraphSeparator): Ditto.
8858         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
8859            text carries SpellCheckingExemption marker.
8860         (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
8861            from spellchecker is an empty string.
8862         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
8863            Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
8864            efficiency and readability.
8865         (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
8866            applying correction, since it's unnecessary. Also, store pre-correction string together with
8867            the marker for reversion panel to use.
8868         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
8869         (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
8870            where we have access to EditCommand object.
8871
8872         * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
8873
8874         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
8875            were broken by relocated WebCore directory.
8876
8877         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
8878
8879         * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
8880
8881         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
8882
8883         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
8884
8885         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
8886
8887         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
8888
8889         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
8890
8891         * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
8892
8893         * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
8894
8895         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
8896            were broken by relocated WebCore directory.
8897
8898         * rendering/InlineTextBox.cpp:
8899         (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
8900
8901 2011-02-03  Abhishek Arya  <inferno@chromium.org>
8902
8903         Unreviewed, qt build fix.
8904
8905         * rendering/RenderBlock.cpp:
8906         (WebCore::RenderBlock::removeFloatingObject):
8907
8908 2011-02-03  Brian Salomon  <bsalomon@google.com>
8909
8910         Reviewed by James Robinson.
8911
8912         Handle non-raster backed images in getUnmultipliedImageData()
8913         https://bugs.webkit.org/show_bug.cgi?id=53468
8914
8915         No new tests. Existing canvas tests sufficient
8916         LayoutTests/canvas/philip/...
8917
8918         * platform/graphics/skia/ImageBufferSkia.cpp:
8919         (WebCore::getImageData):
8920         (WebCore::ImageBuffer::getUnmultipliedImageData):
8921         (WebCore::ImageBuffer::getPremultipliedImageData):
8922         (WebCore::putImageData):
8923         (WebCore::ImageBuffer::putUnmultipliedImageData):
8924         (WebCore::ImageBuffer::putPremultipliedImageData):
8925
8926 2011-02-03  Abhishek Arya  <inferno@chromium.org>
8927
8928         Reviewed by James Robinson.
8929
8930         Enforce more limits on root inline boxes height calculations.
8931         https://bugs.webkit.org/show_bug.cgi?id=53729
8932
8933         Test: fast/overflow/overflow-height-float-not-removed-crash.html
8934
8935         * rendering/RenderBlock.cpp:
8936         (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
8937         become negative when logicalTop is INT_MAX.
8938         (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
8939         is INT_MAX, we should dirty everything. So, we bail out to make
8940         afterLowest equal to the lastRootBox() or lowestDirstLine.
8941
8942 2011-02-03  David Levin  <levin@chromium.org>
8943
8944         Reviewed by Adam Barth and Oliver Hunt.
8945
8946         Worker.importScript() should clean errors for cross origin imports.
8947         https://bugs.webkit.org/show_bug.cgi?id=52871
8948
8949         Test: http/tests/workers/worker-importScriptsOnError.html
8950
8951         * bindings/js/WorkerScriptController.cpp:
8952         (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
8953         to determine when to create a clean exception.
8954         * bindings/v8/WorkerContextExecutionProxy.cpp:
8955         (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
8956         * dom/ScriptExecutionContext.cpp:
8957         (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
8958         if the error needs to be cleaned up.
8959         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
8960         sanitizeScriptError for use by other places.
8961         * dom/ScriptExecutionContext.h:
8962         * workers/WorkerContext.cpp:
8963         (WebCore::WorkerContext::importScripts): Use the reponse url when
8964         telling the evaluate where the script came fro.
8965         * workers/WorkerScriptLoader.cpp:
8966         (WebCore::WorkerScriptLoader::responseURL): Expose the url that
8967         the script was loaded from (which may be different from url() due
8968         to redirects).
8969         (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
8970         * workers/WorkerScriptLoader.h:
8971
8972 2011-02-03  Mark Mentovai  <mark@chromium.org>
8973
8974         Reviewed by Dimitri Glazkov.
8975
8976         Chromium GYP build fix.
8977
8978         When various settings were moved to webcore_prerequisites in r66364,
8979         things that should have been direct_dependent_settings were not marked
8980         as such. GYP 'defines', for example, make no sense on a 'none'-type
8981         target such as webcore_prerequisites. It appears that it was intended
8982         for these settings to be pushed to direct dependents, which would make
8983         direct_dependent_settings correct.
8984
8985         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
8986         http://crbug.com/71537, which at best causes Mac console log spew, and
8987         at worst may result in Chromium's copy of WebCore using system
8988         definitions of certain Objective-C classes at runtime, or vice-versa.
8989
8990         The build now includes a postbuild step to prevent
8991         http://crbug.com/71537 from regressing again. The build will fail upon
8992         regression.
8993
8994         https://bugs.webkit.org/show_bug.cgi?id=53630
8995
8996         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
8997           direct_dependent_settings as needed, add the check_objc_rename
8998           postbuild step.
8999         * WebCore.gyp/mac/check_objc_rename.sh: Added.
9000
9001 2011-02-03  Adam Barth  <abarth@webkit.org>
9002
9003         Reviewed by Eric Seidel.
9004
9005         Make XSSFilter go fast by adding a SuffixTree
9006         https://bugs.webkit.org/show_bug.cgi?id=53665
9007
9008         The SuffixTree lets us quickly reject snippets if the POST data is
9009         large (because we can avoid a linear scan over the POST data).
9010
9011         * html/parser/XSSFilter.cpp:
9012         (WebCore::XSSFilter::init):
9013         (WebCore::XSSFilter::isContainedInRequest):
9014         * html/parser/XSSFilter.h:
9015
9016 2011-02-03  Mihai Parparita  <mihaip@chromium.org>
9017
9018         Reviewed by Alexey Proskuryakov.
9019
9020         REGRESSION (r77355): Page cache layout tests crash
9021         https://bugs.webkit.org/show_bug.cgi?id=53648
9022
9023         Test: fast/events/pagehide-timeout.html
9024         
9025         Suspend active DOM objects after all pagehide event handlers have run,
9026         otherwise it's possible for them to create more objects that weren't
9027         getting suspended.
9028
9029         * history/CachedFrame.cpp:
9030         (WebCore::CachedFrame::CachedFrame):
9031
9032 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
9033
9034         Reviewed by Nate Chapin.
9035
9036         SerializedScriptValue should not require v8 to create undefined and null values
9037         https://bugs.webkit.org/show_bug.cgi?id=53730
9038
9039         Instead of creating a v8 type and passing that into the constructor, just use
9040         the writer class directly. While I was at it, I cleaned up the code a bit too
9041         by getting rid of the WireData/StringValue enum as I found that personally
9042         confusing.
9043
9044         This is necessary because these methods are called by IndexedDB in the browser
9045         process where v8 is not spun up.
9046
9047         No functionality changed and not possible to test.
9048
9049         * bindings/v8/SerializedScriptValue.cpp:
9050         (WebCore::SerializedScriptValue::createFromWire):
9051         (WebCore::SerializedScriptValue::create):
9052         (WebCore::SerializedScriptValue::nullValue):
9053         (WebCore::SerializedScriptValue::undefinedValue):
9054         (WebCore::SerializedScriptValue::release):
9055         (WebCore::SerializedScriptValue::SerializedScriptValue):
9056         * bindings/v8/SerializedScriptValue.h:
9057
9058 2011-02-03  Beth Dakin  <bdakin@apple.com>
9059
9060         Reviewed by Sam Weinig.
9061
9062         Fix for <rdar://problem/8944544> Ability to animate track
9063         for WKPainter scrollers
9064
9065         Two new WebKitSystemInterface functions.
9066         * WebCore.exp.in:
9067         * platform/mac/WebCoreSystemInterface.h:
9068         * platform/mac/WebCoreSystemInterface.mm:
9069
9070         Use Scrollbar::convertFromContainingView() to return the right point.
9071         * platform/mac/ScrollAnimatorMac.mm:
9072         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
9073         
9074         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
9075         now be used to animate the knob or the track.
9076         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
9077         (-[ScrollbarPartAnimation setCurrentProgress:]):
9078         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
9079         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
9080         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
9081
9082         Scrollbars need invalodating after the overlay state changes. 
9083         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
9084
9085 2011-02-03  Sam Weinig  <sam@webkit.org>
9086
9087         Reviewed by Beth Dakin.
9088
9089         Scroll thumb jumps to top when resizing horizontally.
9090
9091         * platform/ScrollView.cpp:
9092         (WebCore::ScrollView::updateScrollbars): Add call to update
9093         the scrollbar's offset in the case where we may have created
9094         a new scrollbar but have not changed the current position.
9095
9096 2011-02-03  Justin Schuh  <jschuh@chromium.org>
9097
9098         Reviewed by Dirk Schulze.
9099
9100         startAnimations should use a local, RefCounted Vector.
9101         https://bugs.webkit.org/show_bug.cgi?id=53458
9102
9103         Test: svg/custom/use-animation-in-fill.html
9104
9105         * svg/SVGDocumentExtensions.cpp:
9106         (WebCore::SVGDocumentExtensions::startAnimations):
9107
9108 2011-02-03  Adam Barth  <abarth@webkit.org>
9109
9110         Reviewed by Daniel Bates.
9111
9112         XSSFilter shouldn't bother to analyze pages without "injection"
9113         characters in the request
9114         https://bugs.webkit.org/show_bug.cgi?id=53664
9115
9116         If the request lacks these "injection" characters, then it's unlikely
9117         that there's a reflective XSS attack happening.  This hueristic lets us
9118         avoid analyzing the vast majority of responses for XSS.  Of course, the
9119         hueristic isn't perfect.  Because of this huerstic, we miss out on
9120         injections into unquoted attributes.  However, it's a trade-off that's
9121         worked well in the XSSAuditor.
9122
9123         * html/parser/XSSFilter.cpp:
9124         (WebCore::HTMLNames::isRequiredForInjection):
9125         (WebCore::XSSFilter::XSSFilter):
9126         (WebCore::XSSFilter::init):
9127         (WebCore::XSSFilter::filterToken):
9128         (WebCore::XSSFilter::isContainedInRequest):
9129         * html/parser/XSSFilter.h:
9130
9131 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
9132
9133         Reviewed by Kenneth Russell.
9134
9135         [chromium] Fixing a compositor crash occurring on layers
9136         without an associated RenderSurface.
9137         https://bugs.webkit.org/show_bug.cgi?id=53679
9138         Regression was introduced by in r77425 
9139
9140         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
9141         anymore.
9142
9143         * platform/graphics/chromium/LayerRendererChromium.cpp:
9144         (WebCore::LayerRendererChromium::drawLayer):
9145
9146 2011-02-03  Dan Bernstein  <mitz@apple.com>
9147
9148         Reviewed by Anders Carlsson.
9149
9150         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
9151         https://bugs.webkit.org/show_bug.cgi?id=53709
9152
9153         Covered by rendering of fast/text/emphasis-vertical.html
9154
9155         * platform/graphics/mac/SimpleFontDataMac.mm:
9156         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
9157         has.
9158
9159 2011-02-02  Levi Weintraub  <leviw@chromium.org>
9160
9161         Reviewed by Ryosuke Niwa.
9162
9163         Moving cursor down in table cycles at the end of a row
9164         https://bugs.webkit.org/show_bug.cgi?id=50012
9165
9166         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
9167         end of a document due to a bug in nextLeafWithSameEditability.
9168
9169         Test: editing/selection/move-by-line-cycles-in-table.html
9170
9171         * editing/visible_units.cpp:
9172         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
9173         original leaf node.
9174
9175 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
9176
9177         Reviewed by Pavel Feldman.
9178
9179         Web Inspector: remove dead code related to changes panel.
9180         https://bugs.webkit.org/show_bug.cgi?id=53688
9181
9182         * WebCore.gypi:
9183         * WebCore.vcproj/WebCore.vcproj:
9184         * inspector/front-end/ChangesView.js: Removed.
9185         * inspector/front-end/WebKit.qrc:
9186         * inspector/front-end/inspector.css:
9187         (#error-warning-count):
9188         (#error-warning-count:hover):
9189         (#error-count + #warning-count):
9190         * inspector/front-end/inspector.html:
9191         * inspector/front-end/inspector.js:
9192
9193 2011-02-02  Sam Weinig  <sam@webkit.org>
9194
9195         Reviewed by Anders Carlsson.
9196
9197         Add notification of the end of a rubber band.
9198         <rdar://problem/8940648>
9199
9200         * WebCore.exp.in:
9201         Add additional exprots.
9202
9203         * page/ChromeClient.h:
9204         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
9205         * page/FrameView.cpp:
9206         (WebCore::FrameView::didCompleteRubberBand):
9207         * page/FrameView.h:
9208         * platform/ScrollView.cpp:
9209         (WebCore::ScrollView::didCompleteRubberBand):
9210         * platform/ScrollView.h:
9211         Add hook.
9212
9213         * platform/ScrollableArea.h:
9214         (WebCore::ScrollableArea::inLiveResize):
9215         (WebCore::ScrollableArea::maximumScrollPosition):
9216         (WebCore::ScrollableArea::visibleWidth):
9217         (WebCore::ScrollableArea::overhangAmount):
9218         (WebCore::ScrollableArea::didCompleteRubberBand):
9219         Reorganize and de-virtualize live resize notifications.
9220
9221         * platform/mac/ScrollAnimatorMac.mm:
9222         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
9223         Call the new hook when the rubberband ends.
9224
9225 2011-02-02  Evan Martin  <evan@chromium.org>
9226
9227         Reviewed by Tony Chang.
9228
9229         [chromium] complex joining characters positioned in wrong place
9230         https://bugs.webkit.org/show_bug.cgi?id=53637
9231
9232         Provide the correct font metrics to Harfbuzz related to the font design space.
9233         There are used in some fonts for GPOS positioning.
9234
9235         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
9236
9237         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
9238         (WebCore::ComplexTextController::setupFontForScriptRun):
9239         (WebCore::ComplexTextController::allocHarfbuzzFont):
9240         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
9241         (WebCore::FontPlatformData::FontPlatformData):
9242         (WebCore::FontPlatformData::emSizeInFontUnits):
9243         (WebCore::FontPlatformData::operator=):
9244         * platform/graphics/chromium/FontPlatformDataLinux.h:
9245         (WebCore::FontPlatformData::FontPlatformData):
9246
9247 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
9248
9249         Reviewed by Kent Tamura.
9250
9251         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
9252         https://bugs.webkit.org/show_bug.cgi?id=53634
9253
9254         Test: fast/dom/HTMLInputElement/input-slider-update.html
9255
9256         * html/HTMLInputElement.cpp:
9257         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
9258         * html/InputType.cpp:
9259         (WebCore::InputType::valueChanged): Added empty implementation.
9260         * html/InputType.h: Added def.
9261         * html/RangeInputType.cpp:
9262         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
9263             bit on the thumb.
9264         * html/RangeInputType.h: Added def.
9265
9266 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
9267
9268         Reviewed by Pavel Feldman.
9269
9270         Web Inspector: do not share source frames between resources panel and scripts panel.
9271         https://bugs.webkit.org/show_bug.cgi?id=53584
9272
9273         Currently, we show error messages only for resources. This change will allow showing error
9274         messages in source frame even when resource is not available (eval scripts, inlined scripts).
9275
9276         * inspector/front-end/ConsoleView.js:
9277         (WebInspector.ConsoleView.prototype.addMessage):
9278         (WebInspector.ConsoleView.prototype.clearMessages):
9279         * inspector/front-end/ResourceView.js:
9280         (WebInspector.ResourceView.recreateResourceView):
9281         * inspector/front-end/ResourcesPanel.js:
9282         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
9283         * inspector/front-end/ScriptsPanel.js:
9284         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
9285         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
9286         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
9287         (WebInspector.ScriptsPanel.prototype.reset):
9288         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
9289         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
9290         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
9291
9292 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
9293
9294         Fix 32-bit builds.
9295
9296         * platform/graphics/ShadowBlur.cpp:
9297         (WebCore::ShadowBlur::blurLayerImage):
9298
9299 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
9300
9301         Reviewed by Pavel Feldman.
9302
9303         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
9304         https://bugs.webkit.org/show_bug.cgi?id=53592
9305
9306         In JSC there is no limit, thus 'undefined' value is returned.
9307         For V8, the limit reported by the VM is returned.
9308
9309         * Android.jscbindings.mk:
9310         * CMakeLists.txt:
9311         * GNUmakefile.am:
9312         * WebCore.gypi:
9313         * WebCore.pro:
9314         * WebCore.vcproj/WebCore.vcproj:
9315         * WebCore.xcodeproj/project.pbxproj:
9316         * bindings/js/JSBindingsAllInOne.cpp:
9317         * bindings/js/JSMemoryInfoCustom.cpp: Added.
9318         * bindings/js/ScriptGCEvent.cpp:
9319         (WebCore::ScriptGCEvent::getHeapSize):
9320         * bindings/js/ScriptGCEvent.h:
9321         * bindings/v8/ScriptGCEvent.cpp:
9322         (WebCore::ScriptGCEvent::getHeapSize):
9323         * bindings/v8/ScriptGCEvent.h:
9324         * inspector/InspectorTimelineAgent.cpp:
9325         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
9326         * page/MemoryInfo.cpp:
9327         (WebCore::MemoryInfo::MemoryInfo):
9328         * page/MemoryInfo.h:
9329         (WebCore::MemoryInfo::jsHeapSizeLimit):
9330         * page/MemoryInfo.idl:
9331
9332 2011-01-27  Philippe Normand  <pnormand@igalia.com>
9333
9334         Reviewed by Martin Robinson.
9335
9336         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
9337         https://bugs.webkit.org/show_bug.cgi?id=53125
9338
9339         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
9340         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
9341
9342 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
9343
9344         Reviewed by Sam Weinig.
9345
9346         ShadowBlur radius for CSS shadows is slightly too big
9347         https://bugs.webkit.org/show_bug.cgi?id=53660
9348         
9349         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
9350         shadows that extend further than the CSS "blur radius", which results
9351         in the shadows being truncated.
9352         
9353         Fix with a small fudge factor to reduce the kernel diameter slightly
9354         for CSS shadows.
9355         
9356         Also more closely follow the algorithm described in the SVG spec
9357         for computing the kernel size for different diameters, and clean up
9358         some variable naming relating to the shadow bounds.
9359
9360         * platform/graphics/ShadowBlur.cpp:
9361         (WebCore::ShadowBlur::blurLayerImage):
9362         (WebCore::ShadowBlur::drawRectShadowWithTiling):
9363
9364 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
9365
9366         Reviewed by Pavel Feldman.
9367
9368         Web Inspector: introduce new api for managing JavaScript breakpoints.
9369         https://bugs.webkit.org/show_bug.cgi?id=53235
9370
9371         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
9372         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
9373         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
9374
9375         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
9376         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
9377
9378         * bindings/js/ScriptDebugServer.cpp:
9379         (WebCore::ScriptDebugServer::setBreakpoint):
9380         (WebCore::ScriptDebugServer::removeBreakpoint):
9381         * bindings/js/ScriptDebugServer.h:
9382         * bindings/v8/DebuggerScript.js:
9383         ():
9384         * bindings/v8/ScriptDebugServer.cpp:
9385         (WebCore::ScriptDebugServer::setBreakpoint):
9386         * bindings/v8/ScriptDebugServer.h:
9387         * inspector/Inspector.idl:
9388         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
9389         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
9390         (WebCore::InspectorAgent::populateScriptObjects):
9391         (WebCore::InspectorAgent::restoreDebugger):
9392         (WebCore::InspectorAgent::showAndEnableDebugger):
9393         (WebCore::InspectorAgent::enableDebugger):
9394         * inspector/InspectorAgent.h:
9395         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
9396         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
9397         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
9398         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
9399         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
9400         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
9401         (WebCore::InspectorDebuggerAgent::continueToLocation):
9402         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
9403         (WebCore::InspectorDebuggerAgent::getScriptSource):
9404         (WebCore::InspectorDebuggerAgent::didParseSource):
9405         (WebCore::InspectorDebuggerAgent::didPause):
9406         * inspector/InspectorDebuggerAgent.h:
9407         (WebCore::InspectorDebuggerAgent::Script::Script):
9408         * inspector/InspectorValues.cpp:
9409         (WebCore::InspectorValue::asNumber):
9410         (WebCore::InspectorBasicValue::asNumber):
9411         (WebCore::InspectorObject::remove):
9412         * inspector/InspectorValues.h:
9413         (WebCore::InspectorObject::getNumber):
9414         (WebCore::InspectorObject::find):
9415         * inspector/ScriptBreakpoint.h:
9416         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
9417         * inspector/front-end/Breakpoint.js:
9418         (WebInspector.Breakpoint):
9419         (WebInspector.Breakpoint.prototype.addLocation):
9420         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
9421         (WebInspector.BreakpointManager):
9422         (WebInspector.BreakpointManager.prototype._projectChanged):
9423         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
9424         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
9425         * inspector/front-end/BreakpointsSidebarPane.js:
9426         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
9427         * inspector/front-end/DebuggerModel.js:
9428         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
9429         * inspector/front-end/Script.js:
9430         (WebInspector.Script.prototype.sourceLine):
9431         * inspector/front-end/ScriptsPanel.js:
9432         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
9433         * inspector/front-end/Settings.js:
9434         (WebInspector.Settings):
9435         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
9436         * inspector/front-end/inspector.js:
9437
9438 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
9439
9440         Reviewed by Dirk Schulze.
9441
9442         small text which is scaled to be large renders pixelated
9443         https://bugs.webkit.org/show_bug.cgi?id=12448
9444
9445         SVG <text> with font-size smaller or equal to 1 does not paint correctly
9446         https://bugs.webkit.org/show_bug.cgi?id=14242
9447
9448         misplaced text in SVG
9449         https://bugs.webkit.org/show_bug.cgi?id=17053
9450
9451         Don't render very small (but zoomed) text inside SVG
9452         https://bugs.webkit.org/show_bug.cgi?id=19393
9453
9454         Tiny fonts scaled up end up too large in Safari
9455         https://bugs.webkit.org/show_bug.cgi?id=20192
9456
9457         Stretched SVG Text has awful glyph spacing 
9458         https://bugs.webkit.org/show_bug.cgi?id=21774
9459
9460         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
9461         https://bugs.webkit.org/show_bug.cgi?id=49846
9462
9463         [Gtk] Text height in zoomed SVG is 1px too high
9464         https://bugs.webkit.org/show_bug.cgi?id=50313
9465
9466         SVG text smaller than 0.5px not displayed properly
9467         https://bugs.webkit.org/show_bug.cgi?id=50528
9468
9469         When rendering text, we're selecting a font with a size, as specified in the markup.
9470         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
9471         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
9472         problem becomes apparent.
9473
9474         Consider following two snippets, which should render exactly the same:
9475         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
9476         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
9477
9478         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
9479         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
9480         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
9481
9482         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
9483         remove any scaling from the context, draw the text using the scaled font size, then reapply
9484         the context scale. This makes the example snippets above render exactly the same and fixes
9485         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
9486         internally, depending on the scale of the document, it's very important to use the new
9487         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
9488
9489         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
9490                               svg/hixie/text/003.html (no more pixelation)
9491                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
9492                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
9493                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
9494
9495         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
9496                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
9497                svg/text/scaled-font.svg (reduction from bug 12448)
9498                svg/text/small-fonts-2.svg (reduction from bug 14242)
9499                svg/text/small-fonts-3.svg (reduction from bug 17053)
9500                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
9501                svg/text/small-fonts.svg (reduction from bug 20192))
9502
9503         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
9504         * rendering/svg/RenderSVGInlineText.h:
9505         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
9506         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
9507         * rendering/svg/SVGInlineTextBox.h:
9508         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
9509         * rendering/svg/SVGTextMetrics.cpp: Ditto.
9510         * rendering/svg/SVGTextMetrics.h: Ditto.
9511         * rendering/svg/SVGTextQuery.cpp: Ditto.
9512         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
9513         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
9514         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
9515         * svg/SVGTextPositioningElement.h: 
9516
9517 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
9518
9519         Reviewed by Yury Semikhatsky.
9520
9521         Web Inspector: resources panel doesn't show frames after reload.
9522         https://bugs.webkit.org/show_bug.cgi?id=53430
9523
9524         * inspector/front-end/ResourcesPanel.js:
9525         (WebInspector.ResourcesPanel.prototype.show):
9526         (WebInspector.ResourcesPanel.prototype.loadEventFired):
9527         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
9528         (WebInspector.ResourcesPanel.prototype.reset):
9529         (WebInspector.ResourcesPanel.prototype.clear):
9530         * inspector/front-end/inspector.js:
9531         (WebInspector.loadEventFired):
9532
9533 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
9534
9535         Reviewed by Pavel Feldman.
9536
9537         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
9538         https://bugs.webkit.org/show_bug.cgi?id=53492
9539
9540         * inspector/Inspector.idl:
9541         * inspector/InspectorCSSAgent.cpp:
9542         (WebCore::InspectorCSSAgent::getStylesForNode):
9543         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
9544         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
9545         (WebCore::InspectorCSSAgent::getAllStyles):
9546         (WebCore::InspectorCSSAgent::getStyleSheet):
9547         (WebCore::InspectorCSSAgent::getStyleSheetText):
9548         (WebCore::InspectorCSSAgent::setStyleSheetText):
9549         (WebCore::InspectorCSSAgent::setPropertyText):
9550         (WebCore::InspectorCSSAgent::toggleProperty):
9551         (WebCore::InspectorCSSAgent::setRuleSelector):
9552         (WebCore::InspectorCSSAgent::addRule):
9553         * inspector/InspectorCSSAgent.h:
9554         * inspector/front-end/AuditRules.js:
9555         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
9556         * inspector/front-end/CSSStyleModel.js:
9557         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
9558         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
9559         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
9560         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
9561         (WebInspector.CSSStyleModel.prototype.addRule):
9562         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
9563         (WebInspector.CSSStyleModel.prototype._onRevert):
9564         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
9565         (WebInspector.CSSProperty.prototype.setText):
9566         (WebInspector.CSSProperty.prototype.setDisabled):
9567         (WebInspector.CSSStyleSheet.createForId):
9568         (WebInspector.CSSStyleSheet.prototype.setText):
9569
9570 2011-02-03  Adam Barth  <abarth@webkit.org>
9571
9572         Reviewed by Daniel Bates.
9573
9574         Teach XSSFilter about data URLs
9575         https://bugs.webkit.org/show_bug.cgi?id=53662
9576
9577         The XSS filter doesn't really make sense for data URLs because
9578         everything in a "response" from a data URL was part of the request.
9579
9580         Test: http/tests/security/xssAuditor/data-urls-work.html
9581
9582         * html/parser/XSSFilter.cpp:
9583         (WebCore::XSSFilter::init):
9584         (WebCore::XSSFilter::filterToken):
9585
9586 2011-02-02  Chris Evans  <cevans@chromium.org>
9587
9588         Reviewed by Darin Fisher.
9589
9590         window.find() can fail when switching case sensitivity
9591         https://bugs.webkit.org/show_bug.cgi?id=53654
9592
9593         Reset the pattern to a safe one when done, to avoid usearch_reset()
9594         indirectly touching the old, stale text pointer.
9595
9596         Test: fast/text/find-window.html
9597
9598         * editing/TextIterator.cpp:
9599         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
9600
9601 2011-02-02  Adam Barth  <abarth@webkit.org>
9602
9603         Reviewed by Daniel Bates.
9604
9605         Teach XSSFilter that <param> elements can contain URLs
9606         https://bugs.webkit.org/show_bug.cgi?id=53652
9607
9608         When loading plugins for the <object> tag, we're "smart" enough to
9609         reach into the <param> elements and pull out the URL in some cases.
9610         This patch teaches the XSSFilter how to block injections into those
9611         sorts of param elements.
9612
9613         Fixes:
9614             http/tests/security/xssAuditor/object-*
9615
9616         * html/HTMLParamElement.cpp:
9617         (WebCore::HTMLParamElement::isURLParameter):
9618         (WebCore::HTMLParamElement::isURLAttribute):
9619         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
9620         * html/HTMLParamElement.h:
9621             - Add a helper function so that HTMLParamElement can share the
9622               ground truth for these names with the XSSFilter.
9623         * html/parser/XSSFilter.cpp:
9624         (WebCore::XSSFilter::filterTokenInitial):
9625         (WebCore::XSSFilter::filterParamToken):
9626         * html/parser/XSSFilter.h:
9627
9628 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
9629
9630         Reviewed by David Levin.
9631
9632         GCC compiler on ARM issues bogus warnings and fails to compile.
9633         https://bugs.webkit.org/show_bug.cgi?id=53620
9634
9635         Despite warnings explicitly being disallowed (-Wno-uninitialized),
9636         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
9637
9638         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
9639
9640         The fix is to add an extra condition, which somehow pacifies the compiler.
9641
9642         * css/CSSPrimitiveValue.cpp:
9643         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
9644
9645 2011-02-02  Adam Barth  <abarth@webkit.org>
9646
9647         Reviewed by Daniel Bates.
9648
9649         Teach XSSFilter about X-XSS-Protection
9650         https://bugs.webkit.org/show_bug.cgi?id=53640
9651
9652         This patch causes us to pass:
9653             http/tests/security/xssAuditor/full-block-*
9654             http/tests/security/xssAuditor/no-protection-script-tag.html
9655
9656         * html/parser/XSSFilter.cpp:
9657         (WebCore::XSSFilter::XSSFilter):
9658         (WebCore::XSSFilter::init):
9659         (WebCore::XSSFilter::filterToken):
9660         * html/parser/XSSFilter.h:
9661
9662 2011-02-02  Adam Barth  <abarth@webkit.org>
9663
9664         Reviewed by Daniel Bates.
9665
9666         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
9667         instead of the empty string
9668         https://bugs.webkit.org/show_bug.cgi?id=53643
9669
9670         In a URL context, the empty string completes to the URL of the current
9671         page, which causes these tests to go into an infinite loop.  Instead,
9672         we should use a "safe" JavaScript URL that does nothing.
9673
9674         Fixes:
9675             http/tests/security/xssAuditor/javascript-link*
9676
9677         * html/parser/XSSFilter.cpp:
9678         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
9679
9680 2011-02-02  Dan Bernstein  <mitz@apple.com>
9681
9682         Reviewed by Sam Weinig.
9683
9684         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
9685         https://bugs.webkit.org/show_bug.cgi?id=44942
9686
9687         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
9688
9689         * platform/text/BidiResolver.h:
9690         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
9691         a change to embedding levels.
9692         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
9693         the explicit embedding sequence, then runs were not added, and we should continue normally.
9694
9695 2011-02-02  Sam Weinig  <sam@webkit.org>
9696
9697         Reviewed by Dan Bernstein.
9698
9699         Fix miscalculation of the overhang area used for painting. We were
9700         not correctly accounting for scrollbars resulting in an non-negative
9701         overhang even when we weren't over the edge.
9702
9703         * platform/ScrollView.cpp:
9704         (WebCore::ScrollView::calculateOverhangAreasForPainting):
9705
9706 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
9707
9708         Reviewed by Nate Chapin.
9709
9710         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
9711         https://bugs.webkit.org/show_bug.cgi?id=52722
9712
9713         The solution is to change ScriptExecutionContext's destructor to iterate over
9714         the list in a way that handles the mutations. This new method is destructive,
9715         but that's OK since the object is going away. I've also added a several asserts.
9716
9717         There should be no behavior change.
9718
9719         * dom/ScriptExecutionContext.cpp:
9720         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
9721         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
9722         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
9723         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
9724         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
9725         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
9726         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
9727         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
9728         * dom/ScriptExecutionContext.h:
9729         * storage/IDBTransaction.cpp:
9730         (WebCore::IDBTransaction::contextDestroyed):
9731         * storage/IDBTransaction.h:
9732
9733 2011-02-02  Mark Rowe  <mrowe@apple.com>
9734
9735         Build fix.
9736
9737         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
9738         * platform/mac/ScrollbarThemeMac.mm:
9739         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
9740         up in the HashMap rather than relying on a local variable that doesn't
9741         exist.
9742
9743 2011-02-02  Adam Barth  <abarth@webkit.org>
9744
9745         Reviewed by Daniel Bates.
9746
9747         Teach XSSFilter about JavaScript URLs
9748         https://bugs.webkit.org/show_bug.cgi?id=53635
9749
9750         This patch teaches the XSSFilter to check for JavaScript URLs in
9751         attribute values.  If this approach has too many false positives, we
9752         can restrict which attribute names we examine.
9753
9754         Fixes these tests:
9755             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
9756             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
9757             http/tests/security/xssAuditor/iframe-javascript-url*
9758
9759         * html/parser/XSSFilter.cpp:
9760         (WebCore::HTMLNames::containsJavaScriptURL):
9761         (WebCore::XSSFilter::filterTokenInitial):
9762         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
9763         * html/parser/XSSFilter.h:
9764
9765 2011-02-02  Dan Bernstein  <mitz@apple.com>
9766
9767         Reviewed by Sam Weinig, even though this is just a...
9768
9769         ...build fix.
9770
9771         * platform/mac/ScrollAnimatorMac.mm:
9772         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
9773
9774 2011-02-02  Mark Rowe  <mrowe@apple.com>
9775
9776         Reviewed by Beth Dakin.
9777
9778         <rdar://problem/8952012> Crash on launch inside scrollbar code.
9779
9780         We need to ensure that we remove ourselves as the delegates of objects when we're going
9781         away as failing to do this can lead to crashes if the lifetime of the other objects
9782         is longer than ours.
9783
9784         * platform/mac/ScrollAnimatorMac.mm:
9785         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
9786         * platform/mac/ScrollbarThemeMac.mm:
9787         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
9788
9789 2011-02-02  Beth Dakin  <bdakin@apple.com>
9790
9791         Build fix.
9792
9793         * WebCore.exp.in:
9794
9795 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
9796
9797         Unreviewed WinCE build fix for r77397.
9798
9799         * page/wince/FrameWinCE.cpp:
9800         (WebCore::computePageRectsForFrame):
9801
9802 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
9803
9804         Unreviewed WinCE build fix for r77398.
9805
9806         * platform/graphics/wince/PlatformPathWinCE.cpp:
9807         (WebCore::containsPoint):
9808         (WebCore::inflateRectToContainPoint):
9809         (WebCore::PlatformPath::addRect):
9810         * platform/graphics/wince/SharedBitmap.cpp:
9811         (WebCore::SharedBitmap::drawPattern):
9812         * rendering/RenderThemeWinCE.cpp:
9813         (WebCore::RenderThemeWinCE::paintMenuListButton):
9814         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
9815         (WebCore::RenderThemeWinCE::paintSliderTrack):
9816         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
9817         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
9818         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
9819         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
9820
9821 2011-02-02  Jian Li  <jianli@chromium.org>
9822
9823         Reviewed by Kenneth Russell.
9824
9825         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
9826         https://bugs.webkit.org/show_bug.cgi?id=53559
9827
9828         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
9829
9830         * html/canvas/DataView.h:
9831         (WebCore::DataView::beyondRange):
9832
9833 2011-02-02  Sam Weinig  <sam@webkit.org>
9834
9835         Reviewed by Beth Dakin.
9836
9837         Add ChromeClient function to paint custom overhang areas.
9838         https://bugs.webkit.org/show_bug.cgi?id=53639
9839
9840         * page/Chrome.cpp:
9841         (WebCore::ChromeClient::paintCustomOverhangArea):
9842         * page/ChromeClient.h:
9843         Add ChromeClient function.
9844
9845         * page/FrameView.cpp:
9846         (WebCore::FrameView::paintOverhangAreas):
9847         * page/FrameView.h:
9848         Call out the the ChromeClient, call ScrollView base implementation
9849         if the ChromeClient returns false.
9850
9851         * platform/ScrollView.cpp:
9852         (WebCore::ScrollView::paintOverhangAreas):
9853         * platform/ScrollView.h:
9854         Add dirty rect for use when painting overhang areas.
9855
9856 2011-02-02  Peter Kasting  <pkasting@google.com>
9857
9858         Not reviewed, build fix.
9859
9860         Fix compile after r77427.
9861         https://bugs.webkit.org/show_bug.cgi?id=53455
9862
9863         * platform/graphics/qt/ImageDecoderQt.cpp:
9864         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
9865         * platform/image-decoders/ImageDecoder.cpp:
9866         (WebCore::ImageFrame::operator=):
9867         * platform/image-decoders/bmp/BMPImageReader.cpp:
9868         (WebCore::BMPImageReader::decodeBMP):
9869         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
9870         (WebCore::JPEGImageDecoder::outputScanlines):
9871         * platform/image-decoders/png/PNGImageDecoder.cpp:
9872         (WebCore::PNGImageDecoder::rowAvailable):
9873         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
9874         (WebCore::WEBPImageDecoder::decode):
9875
9876 2011-02-02  Peter Kasting  <pkasting@google.com>
9877
9878         Reviewed by David Levin.
9879
9880         Clean up ImageDecoder's comments (remove/trim/clarify).
9881         https://bugs.webkit.org/show_bug.cgi?id=53455
9882
9883         This also renames or eliminates a couple of functions for clarity, and
9884         switches a couple erroneous strncmp() calls to memcmp().
9885
9886         * platform/image-decoders/ImageDecoder.cpp:
9887         (WebCore::ImageDecoder::create):
9888         (WebCore::ImageFrame::clearPixelData):
9889         (WebCore::ImageFrame::zeroFillPixelData):
9890         (WebCore::ImageFrame::setSize):
9891         * platform/image-decoders/ImageDecoder.h:
9892         (WebCore::ImageFrame::originalFrameRect):
9893         (WebCore::ImageFrame::setOriginalFrameRect):
9894         (WebCore::ImageDecoder::ImageDecoder):
9895         (WebCore::ImageDecoder::~ImageDecoder):
9896         (WebCore::ImageDecoder::isSizeAvailable):
9897         (WebCore::ImageDecoder::size):
9898         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
9899         (WebCore::ImageDecoder::clearFrameBufferCache):
9900         (WebCore::ImageDecoder::isOverSize):
9901         * platform/image-decoders/bmp/BMPImageReader.cpp:
9902         (WebCore::BMPImageReader::processNonRLEData):
9903         * platform/image-decoders/cg/ImageDecoderCG.cpp:
9904         (WebCore::ImageFrame::setSize):
9905         * platform/image-decoders/gif/GIFImageDecoder.cpp:
9906         (WebCore::GIFImageDecoder::clearFrameBufferCache):
9907         (WebCore::GIFImageDecoder::frameComplete):
9908         (WebCore::GIFImageDecoder::initFrameBuffer):
9909         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
9910         * platform/image-decoders/qt/ImageFrameQt.cpp:
9911         (WebCore::ImageFrame::operator=):
9912         (WebCore::ImageFrame::clearPixelData):
9913         (WebCore::ImageFrame::zeroFillPixelData):
9914         (WebCore::ImageFrame::setSize):
9915         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
9916         (WebCore::ImageFrame::operator=):
9917         (WebCore::ImageFrame::clearPixelData):
9918         (WebCore::ImageFrame::zeroFillPixelData):
9919         (WebCore::ImageFrame::setSize):
9920         * platform/image-decoders/webp/WEBPImageDecoder.h:
9921
9922 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
9923
9924         [chromium] Adding support for reflections to the accelerated
9925         compositing path.
9926         https://bugs.webkit.org/show_bug.cgi?id=53179
9927
9928         All layout tests in compositing/reflections generate correct
9929         results with the exception of:
9930         1. nested-reflection-anchor-point.html : There appears to be
9931            some issue with the layer transform math that I haven't been
9932            able to track down yet.
9933         2. reflection-opacity.html : The current implementation applies
9934            opacity before doing the reflection which makes this test
9935            produce incorrect results.  This will affect reflected layers
9936            with opacity that overlap their original layer.  FIXME comment
9937            added in the code.
9938
9939         Tests: Covered by existing layout tests in compositing/reflections.
9940                Please see above for exceptions.
9941
9942         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
9943         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
9944         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
9945         * platform/graphics/chromium/GraphicsLayerChromium.h:
9946         * platform/graphics/chromium/LayerChromium.cpp:
9947         (WebCore::LayerChromium::LayerChromium):
9948         * platform/graphics/chromium/LayerChromium.h:
9949         (WebCore::LayerChromium::setReplicaLayer):
9950         (WebCore::LayerChromium::replicaLayer):
9951         * platform/graphics/chromium/LayerRendererChromium.cpp:
9952         (WebCore::LayerRendererChromium::updateLayersRecursive):
9953         (WebCore::LayerRendererChromium::drawLayer):
9954         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
9955         (WebCore::RenderSurfaceChromium::drawableContentRect):
9956         (WebCore::RenderSurfaceChromium::drawSurface):
9957         (WebCore::RenderSurfaceChromium::draw):
9958         * platform/graphics/chromium/RenderSurfaceChromium.h:
9959         (WebCore::RenderSurfaceChromium::drawTransform):
9960
9961 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
9962
9963         Reviewed by Tony Chang.
9964
9965         [Chromium] Select popup with padding has white strip on right
9966         https://bugs.webkit.org/show_bug.cgi?id=53602
9967
9968         No new tests as this change restores old behavior.
9969
9970         * platform/chromium/PopupMenuChromium.cpp:
9971         (WebCore::PopupListBox::layout):
9972
9973 2011-02-02  Beth Dakin  <bdakin@apple.com>
9974
9975         Reviewed by Mark Rowe.
9976
9977         Fix for <rdar://problem/8950343> CrashTracer: [USER]
9978         1 crash in WebProcess at com.apple.WebCore: 
9979         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
9980
9981         It is possible for a Scrollbar's ScrollableArea to be null,
9982         so we must null check.
9983         * platform/mac/ScrollbarThemeMac.mm:
9984         (WebCore::ScrollbarThemeMac::registerScrollbar):
9985         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
9986
9987 2011-02-02  Zhenyao Mo  <zmo@google.com>
9988
9989         Reviewed by Kenneth Russell.
9990
9991         bufferData and bufferSubData should generate INVALID_VALUE with negative input
9992         https://bugs.webkit.org/show_bug.cgi?id=53626
9993
9994         * html/canvas/WebGLRenderingContext.cpp:
9995         (WebCore::WebGLRenderingContext::bufferData):
9996         (WebCore::WebGLRenderingContext::bufferSubData):
9997
9998 2011-02-02  Jeff Miller  <jeffm@apple.com>
9999
10000         Reviewed by Darin Adler and Steve Falkenburg.
10001
10002         Add DerivedSources.make to some Visual Studio projects
10003         https://bugs.webkit.org/show_bug.cgi?id=53607
10004
10005         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
10006
10007 2011-02-02  Cris Neckar  <cdn@chromium.org>
10008
10009         Reviewed by James Robinson.
10010
10011         Refcount domwindows when dispatching device orientation events.
10012         https://bugs.webkit.org/show_bug.cgi?id=53623
10013
10014         Test: fast/events/device-orientation-crash.html
10015
10016         * dom/DeviceMotionController.cpp:
10017         (WebCore::DeviceMotionController::timerFired):
10018         (WebCore::DeviceMotionController::didChangeDeviceMotion):
10019         * dom/DeviceMotionController.h:
10020         * dom/DeviceOrientationController.cpp:
10021         (WebCore::DeviceOrientationController::timerFired):
10022         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
10023         * dom/DeviceOrientationController.h:
10024
10025 2011-02-02  Zhenyao Mo  <zmo@google.com>
10026
10027         Reviewed by Kenneth Russell.
10028
10029         A deleted object should never been bound again
10030         https://bugs.webkit.org/show_bug.cgi?id=53604
10031
10032         * html/canvas/WebGLRenderingContext.cpp:
10033         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
10034         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
10035         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
10036         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
10037         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
10038         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
10039         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
10040         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
10041         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
10042         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
10043         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
10044         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
10045         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
10046         * html/canvas/WebGLRenderingContext.h:
10047         * html/canvas/WebGLTexture.h:
10048         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
10049
10050 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
10051
10052         Unreviewed Efl buildfix after r77399.
10053
10054         * CMakeListsEfl.txt:
10055
10056 2011-02-02  Kenneth Russell  <kbr@google.com>
10057
10058         Reviewed by James Robinson.
10059
10060         Rename Typed Array subset to subarray
10061         https://bugs.webkit.org/show_bug.cgi?id=53618
10062
10063         * html/canvas/Float32Array.cpp:
10064         (WebCore::Float32Array::subarray):
10065         * html/canvas/Float32Array.h:
10066         * html/canvas/Float32Array.idl:
10067         * html/canvas/Int16Array.cpp:
10068         (WebCore::Int16Array::subarray):
10069         * html/canvas/Int16Array.h:
10070         * html/canvas/Int16Array.idl:
10071         * html/canvas/Int32Array.cpp:
10072         (WebCore::Int32Array::subarray):
10073         * html/canvas/Int32Array.h:
10074         * html/canvas/Int32Array.idl:
10075         * html/canvas/Int8Array.cpp:
10076         (WebCore::Int8Array::subarray):
10077         * html/canvas/Int8Array.h:
10078         * html/canvas/Int8Array.idl:
10079         * html/canvas/TypedArrayBase.h:
10080         (WebCore::TypedArrayBase::subarrayImpl):
10081         * html/canvas/Uint16Array.cpp:
10082         (WebCore::Uint16Array::subarray):
10083         * html/canvas/Uint16Array.h:
10084         * html/canvas/Uint16Array.idl:
10085         * html/canvas/Uint32Array.cpp:
10086         (WebCore::Uint32Array::subarray):
10087         * html/canvas/Uint32Array.h:
10088         * html/canvas/Uint32Array.idl:
10089         * html/canvas/Uint8Array.cpp:
10090         (WebCore::Uint8Array::subarray):
10091         * html/canvas/Uint8Array.h:
10092         * html/canvas/Uint8Array.idl:
10093
10094 2011-02-02  Adam Barth  <abarth@webkit.org>
10095
10096         Reviewed by Eric Seidel.
10097
10098         Add an empty file for Content Security Policy
10099         https://bugs.webkit.org/show_bug.cgi?id=53573
10100
10101         Posting this as a separate patch because editing the build files is so
10102         painful.
10103
10104         * Android.mk:
10105         * CMakeLists.txt:
10106         * GNUmakefile.am:
10107         * WebCore.gypi:
10108         * WebCore.pro:
10109         * WebCore.vcproj/WebCore.vcproj:
10110         * WebCore.xcodeproj/project.pbxproj:
10111
10112 2011-02-02  Dan Winship  <danw@gnome.org>
10113
10114         Reviewed by Martin Robinson.
10115
10116         [GTK] remove old data: URI handler, fix the SoupRequest-based one
10117         to pass tests
10118         https://bugs.webkit.org/show_bug.cgi?id=50885
10119
10120         * platform/network/soup/ResourceHandleSoup.cpp:
10121         (WebCore::sendRequestCallback): Do content-type sniffing here for
10122         non-HTTP requests.
10123         (WebCore::startHTTPRequest): Rename to match WebKit style.
10124         (WebCore::ResourceHandle::start): Pass everything except HTTP to
10125         startNonHTTPRequest, letting the SoupRequester decide whether it's
10126         supported or not.
10127         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
10128         code that was a no-op for file: URIs, but would break some data:
10129         URIs.
10130
10131 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
10132
10133         Update even more references to right() and bottom() in Chromium. Sheesh.
10134
10135         * platform/graphics/chromium/LayerRendererChromium.cpp:
10136         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
10137
10138 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
10139
10140         Unreviewed Gtk3 buildfix after r77286.
10141
10142         https://bugs.webkit.org/show_bug.cgi?id=53520
10143         Remove the physical terminology from IntRect and FloatRect.
10144
10145         * platform/gtk/RenderThemeGtk3.cpp:
10146         (WebCore::RenderThemeGtk::paintMenuList):
10147
10148 2011-02-02  Anders Carlsson  <andersca@apple.com>
10149
10150         Fix build.
10151
10152         * platform/mac/ScrollAnimatorMac.mm:
10153         (WebCore::ScrollAnimatorMac::pinnedInDirection):
10154
10155 2011-02-02  David Hyatt  <hyatt@apple.com>
10156
10157         Reviewed by Dan Bernstein.
10158
10159         https://bugs.webkit.org/show_bug.cgi?id=53619
10160
10161         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
10162         with maxX/maxY.  This matches IntRect.
10163
10164         * rendering/RenderBlock.cpp:
10165         (WebCore::RenderBlock::addOverflowFromFloats):
10166         (WebCore::RenderBlock::flipFloatForWritingMode):
10167         (WebCore::RenderBlock::paintFloats):
10168         (WebCore::RenderBlock::selectionGaps):
10169         (WebCore::RenderBlock::addOverhangingFloats):
10170         (WebCore::RenderBlock::addIntrudingFloats):
10171         (WebCore::RenderBlock::hitTestFloats):
10172         (WebCore::RenderBlock::adjustForBorderFit):
10173         * rendering/RenderBlock.h:
10174         (WebCore::RenderBlock::FloatingObject::x):
10175         (WebCore::RenderBlock::FloatingObject::maxX):
10176         (WebCore::RenderBlock::FloatingObject::y):
10177         (WebCore::RenderBlock::FloatingObject::maxY):
10178         (WebCore::RenderBlock::FloatingObject::setX):
10179         (WebCore::RenderBlock::FloatingObject::setY):
10180         (WebCore::RenderBlock::logicalTopForFloat):
10181         (WebCore::RenderBlock::logicalBottomForFloat):
10182         (WebCore::RenderBlock::logicalLeftForFloat):
10183         (WebCore::RenderBlock::logicalRightForFloat):
10184         (WebCore::RenderBlock::setLogicalTopForFloat):
10185         (WebCore::RenderBlock::setLogicalLeftForFloat):
10186         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
10187         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
10188
10189 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
10190
10191         Update more references to right() and bottom() in Chromium Win.
10192
10193         * platform/graphics/chromium/TransparencyWin.cpp:
10194         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
10195         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
10196         * rendering/RenderThemeChromiumWin.cpp:
10197         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
10198
10199 2011-02-02  Adam Roben  <aroben@apple.com>
10200
10201         Encode/decode FormData and FormDataElement objects consistently
10202
10203         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
10204         that contains form data fails (asserts in Debug build)
10205
10206         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
10207         now, even though we don't have an automated test for it yet. Writing a test is covered by
10208         <http://webkit.org/b/53616>.
10209
10210         Reviewed by Darin Adler.
10211
10212         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
10213         FormData objects.
10214
10215         * platform/network/FormData.cpp:
10216         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
10217         default-constructed FormDataElement. Failing to do this meant that all future uses of the
10218         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
10219         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
10220         to correctly set the FormDataElement's type based on this decoded type later in the
10221         function.
10222         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
10223         matches its type and how we decode it.
10224
10225 2011-02-02  Dan Winship  <danw@gnome.org>
10226
10227         Reviewed by Martin Robinson.
10228
10229         [GTK] drop soup cache stuff, which has been moved to libsoup
10230         https://bugs.webkit.org/show_bug.cgi?id=50747
10231
10232         Use libsoup-based cache/requester API and remove the WebCore version
10233         of this functionality. This has been pushed upstream fully.
10234
10235         No new tests because this should not change functionality.
10236
10237         * GNUmakefile.am: Update for removed files.
10238         * platform/network/ResourceHandleInternal.h:
10239         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
10240         type names, drop m_requester.
10241         * platform/network/soup/ResourceHandleSoup.cpp:
10242         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
10243         session.
10244         (WebCore::parseDataUrl):
10245         (WebCore::startHttp): Get the requester from the session rather
10246         than using m_requester.
10247         (WebCore::sendRequestCallback):
10248         (WebCore::ResourceHandle::platformSetDefersLoading):
10249         (WebCore::readCallback):
10250         (WebCore::startGio): Update type names.
10251         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
10252         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
10253         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
10254         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
10255         * platform/network/soup/cache/soup-request-data.c: Removed.
10256         * platform/network/soup/cache/soup-request-data.h: Removed.
10257         * platform/network/soup/cache/soup-request-file.c: Removed.
10258         * platform/network/soup/cache/soup-request-file.h: Removed.
10259         * platform/network/soup/cache/soup-request-http.c: Removed.
10260         * platform/network/soup/cache/soup-request-http.h: Removed.
10261         * platform/network/soup/cache/soup-request.c: Removed.
10262         * platform/network/soup/cache/soup-request.h: Removed.
10263         * platform/network/soup/cache/soup-requester.c: Removed.
10264         * platform/network/soup/cache/soup-requester.h: Removed.
10265         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
10266         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
10267         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
10268
10269 2011-02-02  David Hyatt  <hyatt@apple.com>
10270
10271         Reviewed by Darin Adler.
10272
10273         https://bugs.webkit.org/show_bug.cgi?id=53520
10274
10275         Remove physical accessors from IntRect and FloatRect.
10276
10277         * page/FrameView.cpp:
10278         (WebCore::FrameView::adjustPageHeightDeprecated):
10279         * platform/graphics/FloatRect.h:
10280         * platform/graphics/IntRect.h:
10281
10282 2011-02-02  David Hyatt  <hyatt@apple.com>
10283
10284         Reviewed by Dan Bernstein.
10285
10286         https://bugs.webkit.org/show_bug.cgi?id=53614
10287
10288         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
10289
10290         * rendering/InlineFlowBox.cpp:
10291         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
10292         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
10293         * rendering/InlineFlowBox.h:
10294         (WebCore::InlineFlowBox::minYLayoutOverflow):
10295         (WebCore::InlineFlowBox::maxYLayoutOverflow):
10296         (WebCore::InlineFlowBox::minXLayoutOverflow):
10297         (WebCore::InlineFlowBox::maxXLayoutOverflow):
10298         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
10299         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
10300         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
10301         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
10302         (WebCore::InlineFlowBox::minYVisualOverflow):
10303         (WebCore::InlineFlowBox::maxYVisualOverflow):
10304         (WebCore::InlineFlowBox::minXVisualOverflow):
10305         (WebCore::InlineFlowBox::maxXVisualOverflow):
10306         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
10307         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
10308         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
10309         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
10310         * rendering/RenderBlock.cpp:
10311         (WebCore::RenderBlock::adjustLinePositionForPagination):
10312         * rendering/RenderBlockLineLayout.cpp:
10313         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
10314         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
10315         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
10316         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
10317         * rendering/RenderBox.cpp:
10318         (WebCore::RenderBox::scrollWidth):
10319         (WebCore::RenderBox::scrollHeight):
10320         * rendering/RenderBox.h:
10321         (WebCore::RenderBox::minYLayoutOverflow):
10322         (WebCore::RenderBox::maxYLayoutOverflow):
10323         (WebCore::RenderBox::minXLayoutOverflow):
10324         (WebCore::RenderBox::maxXLayoutOverflow):
10325         (WebCore::RenderBox::logicalLeftLayoutOverflow):
10326         (WebCore::RenderBox::logicalRightLayoutOverflow):
10327         (WebCore::RenderBox::minYVisualOverflow):
10328         (WebCore::RenderBox::maxYVisualOverflow):
10329         (WebCore::RenderBox::minXVisualOverflow):
10330         (WebCore::RenderBox::maxXVisualOverflow):
10331         (WebCore::RenderBox::logicalLeftVisualOverflow):
10332         (WebCore::RenderBox::logicalRightVisualOverflow):
10333         * rendering/RenderInline.cpp:
10334         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
10335         * rendering/RenderLayerCompositor.cpp:
10336         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
10337         * rendering/RenderLineBoxList.cpp:
10338         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
10339         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
10340         (WebCore::RenderLineBoxList::paint):
10341         (WebCore::RenderLineBoxList::hitTest):
10342         * rendering/RenderMarquee.cpp:
10343         (WebCore::RenderMarquee::computePosition):
10344         * rendering/RenderOverflow.h:
10345         (WebCore::RenderOverflow::RenderOverflow):
10346         (WebCore::RenderOverflow::minYLayoutOverflow):
10347         (WebCore::RenderOverflow::maxYLayoutOverflow):
10348         (WebCore::RenderOverflow::minXLayoutOverflow):
10349         (WebCore::RenderOverflow::maxXLayoutOverflow):
10350         (WebCore::RenderOverflow::minYVisualOverflow):
10351         (WebCore::RenderOverflow::maxYVisualOverflow):
10352         (WebCore::RenderOverflow::minXVisualOverflow):
10353         (WebCore::RenderOverflow::maxXVisualOverflow):
10354         (WebCore::RenderOverflow::setminYVisualOverflow):
10355         (WebCore::RenderOverflow::visualOverflowRect):
10356         (WebCore::RenderOverflow::move):
10357         (WebCore::RenderOverflow::addVisualOverflow):
10358         (WebCore::RenderOverflow::setVisualOverflow):
10359         * rendering/RenderReplaced.cpp:
10360         (WebCore::RenderReplaced::shouldPaint):
10361         * rendering/RenderTable.cpp:
10362         (WebCore::RenderTable::layout):
10363         (WebCore::RenderTable::paint):
10364         * rendering/RenderTableCell.cpp:
10365         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
10366         * rendering/RenderTreeAsText.cpp:
10367         (WebCore::writeLayers):
10368         * rendering/RenderView.cpp:
10369         (WebCore::RenderView::docTop):
10370
10371 2011-02-02  Steve Lacey  <sjl@chromium.org>
10372
10373         Reviewed by Eric Carlson.
10374
10375         Implement basic media statistics on media elements.
10376         https://bugs.webkit.org/show_bug.cgi?id=53322
10377
10378         * Configurations/FeatureDefines.xcconfig:
10379         * GNUmakefile.am:
10380         * features.pri:
10381         * html/HTMLMediaElement.cpp:
10382         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
10383         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
10384         * html/HTMLMediaElement.h:
10385         * html/HTMLMediaElement.idl:
10386         * html/HTMLVideoElement.cpp:
10387         (WebCore::HTMLVideoElement::webkitDecodedFrames):
10388         (WebCore::HTMLVideoElement::webkitDroppedFrames):
10389         * html/HTMLVideoElement.h:
10390         * html/HTMLVideoElement.idl:
10391         * platform/graphics/MediaPlayer.cpp:
10392         (WebCore::MediaPlayer::decodedFrames):
10393         (WebCore::MediaPlayer::droppedFrames):
10394         (WebCore::MediaPlayer::audioBytesDecoded):
10395         (WebCore::MediaPlayer::videoBytesDecoded):
10396         * platform/graphics/MediaPlayer.h:
10397         * platform/graphics/MediaPlayerPrivate.h:
10398         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
10399         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
10400         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
10401         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
10402
10403 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
10404
10405         Reviewed by David Hyatt.
10406
10407         More conversion from right()/bottom() to maxX()/maxY().
10408
10409         * page/qt/FrameQt.cpp:
10410         (WebCore::Frame::dragImageForSelection):
10411         * platform/graphics/qt/GraphicsContextQt.cpp:
10412         (WebCore::GraphicsContext::roundToDevicePixels):
10413
10414 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
10415
10416         [wx] Build fixes for wxWebKit.
10417
10418         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
10419         (documentWrite):
10420         * bindings/scripts/CodeGeneratorCPP.pm:
10421         * page/wx/DragControllerWx.cpp:
10422         (WebCore::DragController::dragOperation):
10423         * platform/graphics/wx/FontCustomPlatformData.h:
10424         * platform/graphics/wx/FontPlatformData.h:
10425         (WebCore::FontPlatformData::widthVariant):
10426         * platform/graphics/wx/FontPlatformDataWx.cpp:
10427         (WebCore::FontPlatformData::computeHash):
10428         * platform/graphics/wx/FontWx.cpp:
10429         * platform/graphics/wx/GraphicsContextWx.cpp:
10430         (WebCore::GraphicsContext::fillPath):
10431         (WebCore::GraphicsContext::strokePath):
10432         * platform/wx/RenderThemeWx.cpp:
10433
10434 2011-02-02  David Hyatt  <hyatt@apple.com>
10435
10436         Reviewed by Darin Adler.
10437
10438         More right()/bottom() to maxX()/maxY() conversion.
10439
10440         * page/chromium/FrameChromium.cpp:
10441         (WebCore::Frame::nodeImage):
10442         (WebCore::Frame::dragImageForSelection):
10443
10444 2011-02-02  Sam Weinig  <sam@webkit.org>
10445
10446         Fix windows clean build.
10447
10448         * DerivedSources.make:
10449
10450 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
10451
10452         Reviewed by Pavel Feldman.
10453
10454         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
10455
10456         https://bugs.webkit.org/show_bug.cgi?id=53606
10457
10458         Display progress while taking a snapshot, and hints while loading
10459         and parsing. This is needed because taking detailed heap snapshots
10460         takes time.
10461
10462         * English.lproj/localizedStrings.js:
10463         * inspector/front-end/DetailedHeapshotView.js:
10464         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
10465         * inspector/front-end/ProfilesPanel.js:
10466         (WebInspector.ProfilesPanel.prototype._reset):
10467         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
10468         (WebInspector.ProfilesPanel.prototype.getProfiles):
10469         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
10470         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
10471         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
10472         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
10473         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
10474         * inspector/front-end/SidebarTreeElement.js:
10475         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
10476
10477 2011-02-02  David Hyatt  <hyatt@apple.com>
10478
10479         Reviewed by Darin Adler.
10480
10481         More conversion from right()/bottom() to maxX()/maxY().
10482
10483         * platform/win/PopupMenuWin.cpp:
10484         (WebCore::PopupMenuWin::calculatePositionAndSize):
10485         (WebCore::PopupMenuWin::paint):
10486
10487 2011-02-02  David Hyatt  <hyatt@apple.com>
10488
10489         Reviewed by Darin Adler.
10490
10491         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
10492
10493         * platform/chromium/PopupMenuChromium.cpp:
10494         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
10495         (WebCore::PopupListBox::scrollToRevealRow):
10496         (WebCore::PopupListBox::layout):
10497         * platform/graphics/FloatRect.h:
10498         * platform/graphics/IntRect.h:
10499         * platform/graphics/cairo/ImageBufferCairo.cpp:
10500         (WebCore::getImageData):
10501         (WebCore::putImageData):
10502         * platform/graphics/chromium/GLES2Canvas.cpp:
10503         (WebCore::GLES2Canvas::drawTexturedRect):
10504         * platform/graphics/chromium/LayerRendererChromium.cpp:
10505         (WebCore::LayerRendererChromium::verticalScrollbarRect):
10506         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
10507         (WebCore::LayerRendererChromium::setScissorToRect):
10508         (WebCore::LayerRendererChromium::setDrawViewportRect):
10509         * platform/graphics/chromium/LayerTilerChromium.cpp:
10510         (WebCore::LayerTilerChromium::contentRectToTileIndices):
10511         (WebCore::LayerTilerChromium::growLayerToContain):
10512         * platform/graphics/gpu/TilingData.cpp:
10513         (WebCore::TilingData::tileBoundsWithBorder):
10514         (WebCore::TilingData::overlappedTileIndices):
10515         * platform/graphics/qt/ImageBufferQt.cpp:
10516         (WebCore::getImageData):
10517         (WebCore::putImageData):
10518         * platform/graphics/skia/FloatRectSkia.cpp:
10519         (WebCore::FloatRect::operator SkRect):
10520         * platform/graphics/skia/ImageBufferSkia.cpp:
10521         (WebCore::getImageData):
10522         (WebCore::putImageData):
10523         * platform/graphics/skia/IntRectSkia.cpp:
10524         (WebCore::IntRect::operator SkIRect):
10525         (WebCore::IntRect::operator SkRect):
10526         * platform/graphics/skia/PlatformContextSkia.cpp:
10527         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
10528         * platform/graphics/win/GraphicsContextWin.cpp:
10529         (WebCore::GraphicsContextPlatformPrivate::clip):
10530         * platform/graphics/win/IntRectWin.cpp:
10531         (WebCore::IntRect::operator RECT):
10532         * platform/graphics/win/UniscribeController.cpp:
10533         (WebCore::UniscribeController::shapeAndPlaceItem):
10534         * platform/graphics/wince/GraphicsContextWinCE.cpp:
10535         (WebCore::roundRect):
10536         (WebCore::mapRect):
10537         (WebCore::TransparentLayerDC::TransparentLayerDC):
10538         (WebCore::GraphicsContext::drawRect):
10539         (WebCore::GraphicsContext::drawEllipse):
10540         (WebCore::GraphicsContext::strokeArc):
10541         (WebCore::GraphicsContext::clip):
10542         (WebCore::GraphicsContext::clipOut):
10543         (WebCore::GraphicsContext::strokeRect):
10544         * platform/image-decoders/gif/GIFImageDecoder.cpp:
10545         (WebCore::GIFImageDecoder::initFrameBuffer):
10546         * platform/win/PopupMenuWin.cpp:
10547         (WebCore::PopupMenuWin::calculatePositionAndSize):
10548         (WebCore::PopupMenuWin::paint):
10549         * plugins/win/PluginViewWin.cpp:
10550         (WebCore::PluginView::updatePluginWidget):
10551         (WebCore::PluginView::invalidateRect):
10552         * rendering/RenderThemeSafari.cpp:
10553         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
10554         (WebCore::RenderThemeSafari::paintMenuListButton):
10555         (WebCore::RenderThemeSafari::paintSliderTrack):
10556         * rendering/RenderThemeWin.cpp:
10557         (WebCore::RenderThemeWin::paintInnerSpinButton):
10558         (WebCore::RenderThemeWin::paintMenuListButton):
10559
10560 2011-02-02  Antti Koivisto  <antti@apple.com>
10561
10562         Reviewed by Maciej Stachowiak.
10563
10564         Use Vector instead of a linked list for rules in CSSStyleSelector
10565         https://bugs.webkit.org/show_bug.cgi?id=53581
10566         
10567         - eliminate CSSRuleDataList, replace with Vector<RuleData>
10568         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
10569           (these are selector internal classes, CSS prefix is better reserved for public ones).
10570         - constify a bit
10571         - shrink the vectors to fit after collecting the rules
10572
10573         * css/CSSStyleSelector.cpp:
10574         (WebCore::RuleData::RuleData):
10575         (WebCore::RuleData::position):
10576         (WebCore::RuleData::rule):
10577         (WebCore::RuleData::selector):
10578         (WebCore::RuleSet::disableAutoShrinkToFit):
10579         (WebCore::RuleSet::getIDRules):
10580         (WebCore::RuleSet::getClassRules):
10581         (WebCore::RuleSet::getTagRules):
10582         (WebCore::RuleSet::getPseudoRules):
10583         (WebCore::RuleSet::getUniversalRules):
10584         (WebCore::RuleSet::getPageRules):
10585         (WebCore::collectSiblingRulesInDefaultStyle):
10586         (WebCore::CSSStyleSelector::CSSStyleSelector):
10587         (WebCore::loadFullDefaultStyle):
10588         (WebCore::loadSimpleDefaultStyle):
10589         (WebCore::loadViewSourceStyle):
10590         (WebCore::CSSStyleSelector::matchRules):
10591         (WebCore::CSSStyleSelector::matchRulesForList):
10592         (WebCore::operator >):
10593         (WebCore::operator <=):
10594         (WebCore::CSSStyleSelector::sortMatchedRules):
10595         (WebCore::CSSStyleSelector::matchUARules):
10596         (WebCore::RuleSet::RuleSet):
10597         (WebCore::RuleSet::~RuleSet):
10598         (WebCore::RuleSet::addToRuleSet):
10599         (WebCore::RuleSet::addRule):
10600         (WebCore::RuleSet::addPageRule):
10601         (WebCore::RuleSet::addRulesFromSheet):
10602         (WebCore::RuleSet::addStyleRule):
10603         (WebCore::collectIdsAndSiblingRulesFromList):
10604         (WebCore::RuleSet::collectIdsAndSiblingRules):
10605         (WebCore::shrinkMapVectorsToFit):
10606         (WebCore::RuleSet::shrinkToFit):
10607         (WebCore::CSSStyleSelector::matchPageRules):
10608         (WebCore::CSSStyleSelector::matchPageRulesForList):
10609         * css/CSSStyleSelector.h:
10610         (WebCore::CSSStyleSelector::addMatchedRule):
10611
10612 2011-02-02  Andrey Adaikin  <aandrey@google.com>
10613
10614         Reviewed by Pavel Feldman.
10615
10616         Web Inspector: Use DIVs instead of TABLE in TextViewer
10617         https://bugs.webkit.org/show_bug.cgi?id=53299
10618
10619         * inspector/front-end/SourceFrame.js:
10620         (WebInspector.SourceFrame.prototype._createTextViewer):
10621         (WebInspector.SourceFrame.prototype._mouseDown):
10622         * inspector/front-end/TextViewer.js:
10623         (WebInspector.TextViewer):
10624         (WebInspector.TextViewer.prototype.set mimeType):
10625         (WebInspector.TextViewer.prototype.revealLine):
10626         (WebInspector.TextViewer.prototype.addDecoration):
10627         (WebInspector.TextViewer.prototype.removeDecoration):
10628         (WebInspector.TextViewer.prototype.markAndRevealRange):
10629         (WebInspector.TextViewer.prototype.highlightLine):
10630         (WebInspector.TextViewer.prototype.clearLineHighlight):
10631         (WebInspector.TextViewer.prototype.freeCachedElements):
10632         (WebInspector.TextViewer.prototype._handleKeyDown):
10633         (WebInspector.TextViewer.prototype.editLine.finishEditing):
10634         (WebInspector.TextViewer.prototype.editLine):
10635         (WebInspector.TextViewer.prototype.beginUpdates):
10636         (WebInspector.TextViewer.prototype.endUpdates):
10637         (WebInspector.TextViewer.prototype.resize):
10638         (WebInspector.TextViewer.prototype._textChanged):
10639         (WebInspector.TextViewer.prototype._updatePanelOffsets):
10640         (WebInspector.TextViewer.prototype._syncScroll):
10641         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
10642         (WebInspector.TextEditorChunkedPanel):
10643         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
10644         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
10645         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
10646         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
10647         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
10648         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
10649         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
10650         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
10651         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
10652         (WebInspector.TextEditorChunkedPanel.prototype.resize):
10653         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
10654         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
10655         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
10656         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
10657         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
10658         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
10659         (WebInspector.TextEditorGutterPanel):
10660         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
10661         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
10662         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
10663         (WebInspector.TextEditorGutterChunk):
10664         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
10665         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
10666         (WebInspector.TextEditorGutterChunk.prototype.get height):
10667         (WebInspector.TextEditorGutterChunk.prototype._createRow):
10668         (WebInspector.TextEditorMainPanel):
10669         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
10670         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
10671         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
10672         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
10673         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
10674         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
10675         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
10676         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
10677         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
10678         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
10679         (WebInspector.TextEditorMainPanel.prototype._paintLines):
10680         (WebInspector.TextEditorMainPanel.prototype._paintLine):
10681         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
10682         (WebInspector.TextEditorMainPanel.prototype._getSelection):
10683         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
10684         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
10685         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
10686         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
10687         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
10688         (WebInspector.TextEditorMainChunk):
10689         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
10690         (WebInspector.TextEditorMainChunk.prototype.set expanded):
10691         (WebInspector.TextEditorMainChunk.prototype.get height):
10692         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
10693         (WebInspector.TextEditorMainChunk.prototype._createRow):
10694         (WebInspector):
10695         * inspector/front-end/textViewer.css:
10696         (.text-editor-lines):
10697         (.text-editor-contents):
10698         (.text-editor-editable):
10699         (.webkit-line-decorations):
10700         (.webkit-line-number):
10701         (.webkit-execution-line.webkit-line-content):
10702         (.diff-container .webkit-added-line.webkit-line-content):
10703         (.diff-container .webkit-removed-line.webkit-line-content):
10704         (.diff-container .webkit-changed-line.webkit-line-content):
10705         (.webkit-highlighted-line.webkit-line-content):
10706
10707 2011-02-02  Hans Wennborg  <hans@chromium.org>
10708
10709         Reviewed by Jeremy Orlow.
10710
10711         IndexedDB: Implement support for cursor updates
10712         https://bugs.webkit.org/show_bug.cgi?id=53421
10713
10714         Implement support for cursor updates using the same pattern as cursor
10715         deletes: forward the calls to the IDBObjectStoreBackend::put().
10716         The put() function's signature needs to be changed to allow for a
10717         "cursor update mode". This makes the signature more clear anyway,
10718         since it replaces the boolean parameter.
10719
10720         Test: storage/indexeddb/cursor-update.html
10721
10722         * storage/IDBCursor.idl:
10723         * storage/IDBCursorBackendImpl.cpp:
10724         (WebCore::IDBCursorBackendImpl::key):
10725         (WebCore::IDBCursorBackendImpl::update):
10726         * storage/IDBCursorBackendImpl.h:
10727         * storage/IDBObjectStore.cpp:
10728         (WebCore::IDBObjectStore::add):
10729         (WebCore::IDBObjectStore::put):
10730         * storage/IDBObjectStoreBackendImpl.cpp:
10731         (WebCore::IDBObjectStoreBackendImpl::put):
10732         (WebCore::IDBObjectStoreBackendImpl::putInternal):
10733         * storage/IDBObjectStoreBackendImpl.h:
10734         * storage/IDBObjectStoreBackendInterface.h:
10735
10736 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
10737
10738         Reviewed by Kent Tamura.
10739
10740         Fix popup menu RTL bug introduced by Changeset 75982.
10741         https://bugs.webkit.org/show_bug.cgi?id=53567
10742
10743         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
10744
10745         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
10746
10747         * platform/chromium/PopupMenuChromium.cpp:
10748         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
10749         (WebCore::PopupContainer::showPopup): Change the passing parameter.
10750         (WebCore::PopupContainer::refresh): Change the passing parameter.
10751         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
10752
10753 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
10754
10755         Reviewed by Martin Robinson.
10756
10757         [GTK] Fix dist compilation
10758         https://bugs.webkit.org/show_bug.cgi?id=53579
10759
10760         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
10761         added in r77153.
10762
10763 2011-02-02  Dai Mikurube  <dmikurube@google.com>
10764
10765         Reviewed by David Levin.
10766
10767         Make mime type lookup in File::create(path) thread-safe
10768         https://bugs.webkit.org/show_bug.cgi?id=47700
10769
10770         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
10771         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
10772         both FILE_SYSTEM and WORKERS are enabled.
10773
10774         No tests for this patch. This patch itself doesn't change the behaviors.
10775         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
10776         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
10777         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
10778         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
10779
10780         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
10781         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10782         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
10783         * platform/android/TemporaryLinkStubs.cpp:
10784         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10785         * platform/brew/MIMETypeRegistryBrew.cpp:
10786         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10787         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
10788         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
10789         * platform/efl/MIMETypeRegistryEfl.cpp:
10790         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10791         * platform/gtk/MIMETypeRegistryGtk.cpp:
10792         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10793         * platform/haiku/MIMETypeRegistryHaiku.cpp:
10794         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10795         * platform/mac/MIMETypeRegistryMac.mm:
10796         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10797         * platform/qt/MIMETypeRegistryQt.cpp:
10798         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10799         * platform/win/MIMETypeRegistryWin.cpp:
10800         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10801         * platform/wince/MIMETypeRegistryWinCE.cpp:
10802         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10803         * platform/wx/MimeTypeRegistryWx.cpp:
10804         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10805
10806 2011-02-01  Adam Barth  <abarth@webkit.org>
10807
10808         Reviewed by Alexey Proskuryakov.
10809
10810         Improve readability of updateWidget by converting bool parameter to an enum
10811         https://bugs.webkit.org/show_bug.cgi?id=53576
10812
10813         As requested on webkit-dev.
10814
10815         * html/HTMLEmbedElement.cpp:
10816         (WebCore::HTMLEmbedElement::updateWidget):
10817         * html/HTMLEmbedElement.h:
10818         * html/HTMLMediaElement.cpp:
10819         (WebCore::HTMLMediaElement::updateWidget):
10820         * html/HTMLMediaElement.h:
10821         * html/HTMLObjectElement.cpp:
10822         (WebCore::HTMLObjectElement::updateWidget):
10823         * html/HTMLObjectElement.h:
10824         * html/HTMLPlugInImageElement.cpp:
10825         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
10826         * html/HTMLPlugInImageElement.h:
10827         * page/FrameView.cpp:
10828         (WebCore::FrameView::updateWidget):
10829
10830 2011-02-01  James Robinson  <jamesr@chromium.org>
10831
10832         Reviewed by Adam Barth.
10833
10834         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
10835         https://bugs.webkit.org/show_bug.cgi?id=53566
10836
10837         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
10838         Other than being large enough for this one test case, this limit is arbitrary.
10839
10840         * bindings/v8/V8Proxy.h:
10841
10842 2011-02-01  Adam Barth  <abarth@webkit.org>
10843
10844         Reviewed by Andreas Kling.
10845
10846         Remove useless comment
10847         https://bugs.webkit.org/show_bug.cgi?id=53549
10848
10849         The reason for this parameter is captured in
10850         plugins/netscape-plugin-setwindow-size.html, which is a better place to
10851         capture it than in this comment (which otherwise just re-iterates the
10852         name of the parameter).
10853
10854         * html/HTMLPlugInImageElement.cpp:
10855         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
10856
10857 2011-02-01  James Simonsen  <simonjam@chromium.org>
10858
10859         Reviewed by Tony Gentilcore.
10860
10861         [WebTiming] Remove asserts that verify timestamp order
10862         https://bugs.webkit.org/show_bug.cgi?id=53548
10863
10864         Covered by existing tests.
10865
10866         * loader/FrameLoader.cpp:
10867         (WebCore::FrameLoader::stopLoading): Remove assert.
10868         * page/DOMWindow.cpp:
10869         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
10870
10871 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
10872
10873         Add the 'default_targets' enclosure to the flags.
10874
10875         * WebCore.gyp/WebCore.gyp: Did it.
10876
10877 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
10878
10879         Reviewed by James Robinson.
10880
10881         Async event handlers should not fire within a modal dialog
10882         https://bugs.webkit.org/show_bug.cgi?id=53202
10883
10884         Asychronous events that use EventQueue would currently fire while a
10885         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
10886         SuspendableTimer (which automatically gets suspended while dialogs are
10887         up and in other cases where JS execution is not allowed).
10888         
10889         Test: fast/events/scroll-event-during-modal-dialog.html
10890
10891         * dom/Document.cpp:
10892         (WebCore::Document::Document):
10893         * dom/EventQueue.cpp:
10894         (WebCore::EventQueueTimer::EventQueueTimer):
10895         (WebCore::EventQueueTimer::fired):
10896         (WebCore::EventQueue::EventQueue):
10897         (WebCore::EventQueue::enqueueEvent):
10898         (WebCore::EventQueue::pendingEventTimerFired):
10899         * dom/EventQueue.h:
10900         (WebCore::EventQueue::create):
10901         * page/SuspendableTimer.cpp:
10902         (WebCore::SuspendableTimer::SuspendableTimer):
10903         (WebCore::SuspendableTimer::suspend):
10904         (WebCore::SuspendableTimer::resume):
10905         * page/SuspendableTimer.h:
10906
10907 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
10908
10909         Reviewed by Andreas Kling.
10910
10911         Change wrong PLATFORM(WIN) to USE(WININET)
10912         https://bugs.webkit.org/show_bug.cgi?id=53547
10913
10914         * platform/network/ResourceHandle.h:
10915
10916 2011-02-01  Beth Dakin  <bdakin@apple.com>
10917
10918         32-bit build fix.
10919
10920         * platform/mac/ScrollAnimatorMac.mm:
10921         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
10922
10923 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
10924
10925         Reviewed by Gustavo Noronha Silva.
10926
10927         [GTK] Two tests crash after r76555
10928         https://bugs.webkit.org/show_bug.cgi?id=53057
10929
10930         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
10931         This ensures that ::start() is not called when there is a scheduled failure and also
10932         reduces code duplication.
10933
10934         * platform/network/soup/ResourceHandleSoup.cpp:
10935         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
10936
10937 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
10938
10939         Reviewed by Eric Seidel.
10940
10941         [GTK] GObject DOM bindings do no support the CallWith attribute
10942         https://bugs.webkit.org/show_bug.cgi?id=53331
10943
10944         Disable building GObject DOM bindings for IndexedDB because we do not support
10945         the CallWith attribute at this time.
10946
10947         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
10948
10949 2011-02-01  Darin Adler  <darin@apple.com>
10950
10951         Reviewed by Brady Eidson.
10952
10953         Fix a couple loose ends from the back/forward tree encode/decode work
10954         https://bugs.webkit.org/show_bug.cgi?id=53537
10955
10956         * history/HistoryItem.cpp:
10957         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
10958         original URL string; no need to encode it twice.
10959         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
10960         * history/HistoryItem.h: Removed declaration for function that is no
10961         longer defined nor used.
10962
10963 2011-02-01  Tony Chang  <tony@chromium.org>
10964
10965         Reviewed by Kent Tamura.
10966
10967         [chromium] disable arm uninitialized variable warnings
10968         https://bugs.webkit.org/show_bug.cgi?id=53553
10969
10970         We just got another error:
10971         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
10972         'colorTransparent.unstatic.4879' may be used uninitialized in this
10973         function
10974
10975         * WebCore.gyp/WebCore.gyp:
10976
10977 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
10978
10979         Reviewed by Adam Barth.
10980
10981         Self-replicating code makes Safari hang and eventually crash
10982         https://bugs.webkit.org/show_bug.cgi?id=15123
10983
10984        
10985         Here we are replicating the Firefox safeguard against
10986         recursive document.write( ) 's.
10987
10988         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
10989         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
10990             a) imposes a recursion limit of 20 on document.write( ) and
10991             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
10992         To see why this is necessary, consider the script : 
10993
10994         <script>
10995            var t = document.body.innerHTML;
10996            document.write(t);
10997         </script> 
10998
10999         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
11000         we just return one level after the recursion limit is reached, we still allow millions of copies to 
11001         duplicate (and execute).   
11002
11003         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
11004         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
11005
11006         Test: fast/dom/Document/document-write-recursion.html        
11007         Test: fast/dom/Document/document-close-iframe-load.html
11008         Test: fast/dom/Document/document-close-nested-iframe-load.html
11009
11010
11011         * dom/Document.cpp:
11012         (WebCore::Document::Document):
11013         (WebCore::Document::write):
11014         * dom/Document.h:
11015
11016 2011-02-01  Johnny Ding  <jnd@chromium.org>
11017
11018         Reviewed by Darin Adler.
11019
11020         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
11021         https://bugs.webkit.org/show_bug.cgi?id=53424
11022
11023         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
11024
11025         * html/HTMLAnchorElement.cpp:
11026         (WebCore::handleLinkClick):
11027
11028 2011-02-01  Csaba Osztrogonác  <ossy@webkit.org>
11029
11030         Unreviewed Qt buildfix after r77286.
11031
11032         https://bugs.webkit.org/show_bug.cgi?id=53520 
11033         Remove the physical terminology from IntRect and FloatRect.
11034
11035         * platform/graphics/TiledBackingStore.cpp:
11036         (WebCore::TiledBackingStore::createTiles):
11037
11038 2011-02-01  Sam Weinig  <sam@webkit.org>
11039
11040         Fix Mac production builds.
11041
11042         * DerivedSources.make:
11043         * WebCore.xcodeproj/project.pbxproj:
11044         * platform/mac/ScrollAnimatorMac.h:
11045         * platform/mac/ScrollbarThemeMac.h:
11046
11047 2011-02-01  Darin Adler  <darin@apple.com>
11048
11049         Reviewed by Chris Fleizach.
11050
11051         REGRESSION: Removing focus from area element causes unwanted scrolling
11052         https://bugs.webkit.org/show_bug.cgi?id=50169
11053
11054         Test: fast/images/imagemap-scroll.html
11055
11056         * html/HTMLAreaElement.cpp:
11057         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
11058         RenderImage::areaElementFocusChanged function.
11059         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
11060         here that calls setNeedsLayout on the image's renderer. This was an
11061         attempt to cause repaint of the renderer, but this function does not
11062         need to do that. Also changed this to use the imageElement function
11063         to avoid repeating code.
11064
11065         * html/HTMLAreaElement.h: Updated for above changes.
11066
11067         * rendering/RenderImage.cpp:
11068         (WebCore::RenderImage::paint): Updated for name change.
11069         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
11070         paintFocusRing, because it only paints area focus rings, and should
11071         not be confused with paintFocusRing functions in other classes. Also
11072         removed the unused style argument. Removed the code that used an
11073         HTMLCollection to see if the focused area element is for this image
11074         and instead just call imageElement on the area element.
11075         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
11076
11077         * rendering/RenderImage.h: Added a public areaElementFocusChanged
11078         function for HTMLAreaElement to call. Made the paintFocusRing function
11079         private, renamed it to paintAreaElementFocusRing, and removed its
11080         unused style argument.
11081
11082 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
11083
11084         Unreviewed WinCE build fix for r77286.
11085
11086         * platform/graphics/wince/GraphicsContextWinCE.cpp:
11087         (WebCore::TransparentLayerDC::TransparentLayerDC):
11088
11089 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
11090
11091         Reviewed by Darin Adler.
11092
11093         AX: AXPosition of AXScrollArea is wrong
11094         https://bugs.webkit.org/show_bug.cgi?id=53511
11095
11096         AccessibilityScrollView needed to return a valid documentFrameView() object.
11097         At the same time, the code from document() should be consolidated in 
11098         AccessibilityObject, so all objects can use it.
11099
11100         Test: platform/mac/accessibility/webkit-scrollarea-position.html
11101
11102         * accessibility/AccessibilityObject.cpp:
11103         (WebCore::AccessibilityObject::document):
11104         * accessibility/AccessibilityObject.h:
11105         * accessibility/AccessibilityScrollView.cpp:
11106         (WebCore::AccessibilityScrollView::accessibilityHitTest):
11107         (WebCore::AccessibilityScrollView::documentFrameView):
11108         * accessibility/AccessibilityScrollView.h:
11109
11110 2011-02-01  Zhenyao Mo  <zmo@google.com>
11111
11112         Reviewed by Kenneth Russell.
11113
11114         getUniform should support SAMPLER_2D or SAMPLER_CUBE
11115         https://bugs.webkit.org/show_bug.cgi?id=52190
11116
11117         * html/canvas/WebGLRenderingContext.cpp:
11118         (WebCore::WebGLRenderingContext::getUniform):
11119
11120 2011-02-01  Zhenyao Mo  <zmo@google.com>
11121
11122         Reviewed by Darin Adler.
11123
11124         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
11125         https://bugs.webkit.org/show_bug.cgi?id=53531
11126
11127         With this fix, running WebGL conformance tests should no longer crash randomly.
11128
11129         * platform/graphics/cg/GraphicsContext3DCG.cpp:
11130         (WebCore::GraphicsContext3D::getImageData):
11131
11132 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
11133
11134         One more Chromium build fix after r77286.
11135
11136         * platform/chromium/ScrollbarThemeChromiumMac.mm:
11137         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
11138
11139 2011-02-01  Sam Weinig  <sam@webkit.org>
11140
11141         Fix the build for Beth.
11142
11143         * platform/mac/ScrollAnimatorMac.mm:
11144         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
11145
11146 2011-02-01  Sam Weinig  <sam@webkit.org>
11147
11148         Reviewed by Beth Dakin.
11149
11150         Part 2 for <rdar://problem/8492788>
11151         Adopt WKScrollbarPainterController
11152
11153         Use header detection to define scrollbar painting controller #define.
11154
11155         * WebCore.exp.in:
11156         * platform/mac/ScrollAnimatorMac.h:
11157         * platform/mac/ScrollbarThemeMac.h:
11158         * platform/mac/WebCoreSystemInterface.h:
11159         * platform/mac/WebCoreSystemInterface.mm:
11160
11161 2011-02-01  David Hyatt  <hyatt@apple.com>
11162
11163         Reviewed by Oliver Hunt.
11164
11165         https://bugs.webkit.org/show_bug.cgi?id=53520
11166         
11167         Remove the physical terminology from IntRect and FloatRect.
11168         
11169         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
11170         we need to update our terminology to be more accurate.
11171
11172         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
11173         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
11174         even for flipped rectangles.
11175
11176         * accessibility/AccessibilityRenderObject.cpp:
11177         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
11178         * accessibility/mac/AccessibilityObjectWrapper.mm:
11179         (-[AccessibilityObjectWrapper position]):
11180         * dom/ClientRect.h:
11181         (WebCore::ClientRect::right):
11182         (WebCore::ClientRect::bottom):
11183         * html/HTMLCanvasElement.cpp:
11184         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
11185         * html/canvas/CanvasRenderingContext2D.cpp:
11186         (WebCore::normalizeRect):
11187         * inspector/InspectorAgent.cpp:
11188         (WebCore::InspectorAgent::drawElementTitle):
11189         * page/DOMWindow.cpp:
11190         (WebCore::DOMWindow::adjustWindowRect):
11191         * page/DragController.cpp:
11192         (WebCore::dragLocForSelectionDrag):
11193         * page/EventHandler.cpp:
11194         (WebCore::EventHandler::sendContextMenuEventForKey):
11195         * page/PrintContext.cpp:
11196         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
11197         (WebCore::PrintContext::pageNumberForElement):
11198         * page/SpatialNavigation.cpp:
11199         (WebCore::end):
11200         (WebCore::areRectsFullyAligned):
11201         (WebCore::areRectsMoreThanFullScreenApart):
11202         (WebCore::below):
11203         (WebCore::rightOf):
11204         (WebCore::isRectInDirection):
11205         (WebCore::entryAndExitPointsForDirection):
11206         (WebCore::virtualRectForDirection):
11207         * page/WindowFeatures.cpp:
11208         (WebCore::WindowFeatures::WindowFeatures):
11209         * platform/ScrollView.cpp:
11210         (WebCore::ScrollView::wheelEvent):
11211         * platform/Scrollbar.cpp:
11212         (WebCore::Scrollbar::setFrameRect):
11213         * platform/ScrollbarThemeComposite.cpp:
11214         (WebCore::ScrollbarThemeComposite::splitTrack):
11215         * platform/chromium/ScrollbarThemeChromium.cpp:
11216         (WebCore::ScrollbarThemeChromium::paintTickmarks):
11217         * platform/graphics/FloatQuad.h:
11218         (WebCore::FloatQuad::FloatQuad):
11219         * platform/graphics/FloatRect.cpp:
11220         (WebCore::FloatRect::intersects):
11221         (WebCore::FloatRect::contains):
11222         (WebCore::FloatRect::intersect):
11223         (WebCore::FloatRect::unite):
11224         (WebCore::enclosingIntRect):
11225         * platform/graphics/FloatRect.h:
11226         (WebCore::FloatRect::maxX):
11227         (WebCore::FloatRect::maxY):
11228         (WebCore::FloatRect::contains):
11229         * platform/graphics/IntRect.cpp:
11230         (WebCore::IntRect::intersects):
11231         (WebCore::IntRect::contains):
11232         (WebCore::IntRect::intersect):
11233         (WebCore::IntRect::unite):
11234         * platform/graphics/IntRect.h:
11235         (WebCore::IntRect::maxX):
11236         (WebCore::IntRect::maxY):
11237         (WebCore::IntRect::shiftXEdgeTo):
11238         (WebCore::IntRect::shiftMaxXEdgeTo):
11239         (WebCore::IntRect::shiftYEdgeTo):
11240         (WebCore::IntRect::shiftMaxYEdgeTo):
11241         (WebCore::IntRect::contains):
11242         * platform/graphics/WidthIterator.cpp:
11243         (WebCore::WidthIterator::advance):
11244         * platform/graphics/cg/GraphicsContextCG.cpp:
11245         (WebCore::GraphicsContext::drawRect):
11246         (WebCore::GraphicsContext::fillPath):
11247         (WebCore::GraphicsContext::fillRect):
11248         * platform/graphics/cg/ImageBufferCG.cpp:
11249         (WebCore::getImageData):
11250         (WebCore::putImageData):
11251         * platform/graphics/cg/ImageCG.cpp:
11252         (WebCore::BitmapImage::draw):
11253         * platform/graphics/filters/FilterEffect.cpp:
11254         (WebCore::FilterEffect::copyImageBytes):
11255         * platform/graphics/mac/ComplexTextController.cpp:
11256         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
11257         * platform/graphics/mac/SimpleFontDataMac.mm:
11258         (WebCore::SimpleFontData::platformBoundsForGlyph):
11259         * platform/graphics/transforms/AffineTransform.cpp:
11260         (WebCore::AffineTransform::mapRect):
11261         * platform/graphics/win/FontCGWin.cpp:
11262         (WebCore::drawGDIGlyphs):
11263         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
11264         (WebCore::MediaPlayerPrivate::paint):
11265         * platform/gtk/RenderThemeGtk.cpp:
11266         (WebCore::centerRectVerticallyInParentInputElement):
11267         * platform/mac/WidgetMac.mm:
11268         (WebCore::Widget::paint):
11269         * rendering/InlineFlowBox.cpp:
11270         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
11271         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
11272         * rendering/InlineTextBox.cpp:
11273         (WebCore::InlineTextBox::selectionRect):
11274         (WebCore::InlineTextBox::paint):
11275         (WebCore::InlineTextBox::positionForOffset):
11276         * rendering/RenderBlock.cpp:
11277         (WebCore::RenderBlock::addOverflowFromChildren):
11278         (WebCore::RenderBlock::paintChildren):
11279         (WebCore::RenderBlock::paintEllipsisBoxes):
11280         (WebCore::RenderBlock::inlineSelectionGaps):
11281         (WebCore::RenderBlock::adjustPointToColumnContents):
11282         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
11283         (WebCore::RenderBlock::adjustForColumns):
11284         * rendering/RenderBlock.h:
11285         (WebCore::RenderBlock::FloatingObject::right):
11286         (WebCore::RenderBlock::FloatingObject::bottom):
11287         * rendering/RenderBox.cpp:
11288         (WebCore::RenderBox::reflectedRect):
11289         (WebCore::RenderBox::localCaretRect):
11290         (WebCore::RenderBox::addShadowOverflow):
11291         (WebCore::RenderBox::addLayoutOverflow):
11292         (WebCore::RenderBox::visualOverflowRectForPropagation):
11293         (WebCore::RenderBox::layoutOverflowRectForPropagation):
11294         (WebCore::RenderBox::flipForWritingMode):
11295         * rendering/RenderFrameSet.cpp:
11296         (WebCore::RenderFrameSet::paintColumnBorder):
11297         (WebCore::RenderFrameSet::paintRowBorder):
11298         * rendering/RenderInline.cpp:
11299         (WebCore::RenderInline::paintOutlineForLine):
11300         * rendering/RenderLayer.cpp:
11301         (WebCore::RenderLayer::getRectToExpose):
11302         (WebCore::cornerRect):
11303         (WebCore::RenderLayer::positionOverflowControls):
11304         (WebCore::RenderLayer::overflowBottom):
11305         (WebCore::RenderLayer::overflowRight):
11306         (WebCore::RenderLayer::paintResizer):
11307         * rendering/RenderLineBoxList.cpp:
11308         (WebCore::RenderLineBoxList::rangeIntersectsRect):
11309         (WebCore::RenderLineBoxList::paint):
11310         * rendering/RenderListItem.cpp:
11311         (WebCore::RenderListItem::positionListMarker):
11312         * rendering/RenderListMarker.cpp:
11313         (WebCore::RenderListMarker::paint):
11314         * rendering/RenderObject.cpp:
11315         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
11316         * rendering/RenderOverflow.h:
11317         (WebCore::RenderOverflow::RenderOverflow):
11318         (WebCore::RenderOverflow::addLayoutOverflow):
11319         (WebCore::RenderOverflow::addVisualOverflow):
11320         (WebCore::RenderOverflow::setLayoutOverflow):
11321         (WebCore::RenderOverflow::setVisualOverflow):
11322         (WebCore::RenderOverflow::resetLayoutOverflow):
11323         * rendering/RenderReplaced.cpp:
11324         (WebCore::RenderReplaced::shouldPaint):
11325         * rendering/RenderScrollbarTheme.cpp:
11326         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
11327         * rendering/RenderTable.cpp:
11328         (WebCore::RenderTable::paint):
11329         * rendering/RenderTableCell.cpp:
11330         (WebCore::RenderTableCell::paint):
11331         * rendering/RenderTableSection.cpp:
11332         (WebCore::RenderTableSection::paintObject):
11333         * rendering/RenderText.cpp:
11334         (WebCore::RenderText::absoluteQuads):
11335         * rendering/RenderTextControlSingleLine.cpp:
11336         (WebCore::RenderTextControlSingleLine::forwardEvent):
11337         * rendering/RenderThemeMac.mm:
11338         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
11339         (WebCore::RenderThemeMac::paintMenuListButton):
11340         (WebCore::RenderThemeMac::paintSliderTrack):
11341         * rendering/RenderView.cpp:
11342         (WebCore::RenderView::computeRectForRepaint):
11343         (WebCore::RenderView::docBottom):
11344         (WebCore::RenderView::docRight):
11345         * rendering/RootInlineBox.cpp:
11346         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
11347         * rendering/svg/RenderSVGInlineText.cpp:
11348         (WebCore::RenderSVGInlineText::localCaretRect):
11349
11350 2011-02-01  Beth Dakin  <bdakin@apple.com>
11351
11352         Reviewed by Sam Weinig.
11353
11354         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
11355
11356         Lots of new WebCoreSystemInterface functions to export.
11357         * WebCore.exp.in:
11358         * platform/mac/WebCoreSystemInterface.h:
11359         * platform/mac/WebCoreSystemInterface.mm:
11360
11361         Let the scrollAnimator know when the mouse has
11362         moved anywhere inside the page, and when the mouse 
11363         has moved in or out of the window. 
11364         * page/EventHandler.cpp:
11365         (WebCore::EventHandler::mouseMoved):
11366         (WebCore::EventHandler::updateMouseEventTargetNode):
11367
11368         Let the scrollAnimator know when the window has become
11369         active or inactive.
11370         * page/FocusController.cpp:
11371         (WebCore::FocusController::setActive):
11372         
11373         Let the scrollAnimator know when all of these things
11374         are happening.
11375         * page/FrameView.cpp:
11376         (WebCore::FrameView::setContentsSize):
11377         (WebCore::FrameView::didMoveOnscreen):
11378         (WebCore::FrameView::willMoveOffscreen):
11379         (WebCore::FrameView::currentMousePosition):
11380         (WebCore::FrameView::contentsResized):
11381         
11382         New functions called through WebKit2 that allow the
11383         scrollAnimator to know when a live resize starts and ends.
11384         (WebCore::FrameView::willStartLiveResize):
11385         (WebCore::FrameView::willEndLiveResize):
11386         * page/FrameView.h:
11387         
11388         New functions on ScrollAnimator that pass information
11389         to the WKPainterController when we're using one.
11390         * platform/ScrollAnimator.h:
11391         (WebCore::ScrollAnimator::scrollableArea):
11392         (WebCore::ScrollAnimator::contentAreaWillPaint):
11393         (WebCore::ScrollAnimator::mouseEnteredContentArea):
11394         (WebCore::ScrollAnimator::mouseExitedContentArea):
11395         (WebCore::ScrollAnimator::mouseMovedInContentArea):
11396         (WebCore::ScrollAnimator::willStartLiveResize):
11397         (WebCore::ScrollAnimator::contentsResized):
11398         (WebCore::ScrollAnimator::willEndLiveResize):
11399         (WebCore::ScrollAnimator::contentAreaDidShow):
11400         (WebCore::ScrollAnimator::contentAreaDidHide):
11401         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
11402         (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
11403         (WebCore::ScrollAnimatorMac::setPainterForPainterController):
11404         (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
11405         (WebCore::ScrollAnimatorMac::notityPositionChanged):
11406         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
11407         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
11408         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
11409         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
11410         (WebCore::ScrollAnimatorMac::willStartLiveResize):
11411         (WebCore::ScrollAnimatorMac::contentsResized):
11412         (WebCore::ScrollAnimatorMac::willEndLiveResize):
11413         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
11414         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
11415         
11416         Let the scrollAnimator know when this is happening.
11417         * platform/ScrollView.cpp:
11418         (WebCore::ScrollView::paint):
11419         
11420         New function lets the scrollAnimator get the current 
11421         mouse position.
11422         * platform/ScrollView.h:
11423         (WebCore::ScrollView::currentMousePosition):
11424         
11425         New function that returns the scrollAnimator when needed.
11426         * platform/ScrollableArea.h:
11427         (WebCore::ScrollableArea::scrollAnimator):
11428         
11429         Keep track of if we're in a live resize using a new memeber
11430         variable.
11431         * platform/mac/ScrollAnimatorMac.h:
11432         (WebCore::ScrollAnimatorMac::inLiveResize):
11433         * platform/mac/ScrollAnimatorMac.mm:
11434         (WebCore::view):
11435         
11436         New delegates for the WKPainter and WKPainterController
11437         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
11438         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
11439         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
11440         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
11441         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
11442         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
11443         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
11444         (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
11445         (-[ScrollKnobAnimation setCurrentProgress:]):
11446         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
11447         (-[ScrollbarPainterDelegate convertRectToBacking:]):
11448         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
11449         (-[ScrollbarPainterDelegate layer]):
11450         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
11451         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
11452         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
11453         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
11454
11455         Get the WKScrollbarPainterRefs to synch up with the 
11456         WKScrollbarPainterControllerRefs when appropriate
11457         * platform/mac/ScrollbarThemeMac.h:
11458         * platform/mac/ScrollbarThemeMac.mm:
11459         (WebCore::ScrollbarThemeMac::registerScrollbar):
11460         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
11461         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
11462         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
11463
11464         Implement ScrollableArea's virtual function contentsSize() for access
11465         through the scrollAnimator.
11466         * rendering/RenderLayer.h:
11467         (WebCore::RenderLayer::contentsSize):
11468
11469 2011-02-01  Carol Szabo  <carol.szabo@nokia.com>
11470
11471         Reviewed by David Hyatt.
11472
11473         layoutTestController.counterValueForElementById does not return the correct value
11474         https://bugs.webkit.org/show_bug.cgi?id=53037
11475
11476         Test: fast/css/counters/deep-before.html
11477
11478         * rendering/RenderTreeAsText.cpp:
11479         (WebCore::counterValueForElement):
11480         Modified to use the newly available RenderObject::beforePseudoElement()
11481         and RenderObject::afterPseudoElement() instead of the old imperfect
11482         algorithm to find the before and after pseudo elements.
11483
11484 2011-02-01  Anton Muhin  <antonm@chromium.org>
11485
11486         Reviewed by Adam Barth.
11487
11488         Allow access for security origin same as this.
11489         https://bugs.webkit.org/show_bug.cgi?id=53440
11490
11491         Hard to test as newly added path currently is never hit.
11492
11493         * page/SecurityOrigin.cpp:
11494         (WebCore::SecurityOrigin::canAccess): allow access if this == other
11495
11496 2011-01-31  Oliver Hunt  <oliver@apple.com>
11497
11498         Reviewed by Geoffrey Garen.
11499
11500         Update JSObject storage for new marking API
11501         https://bugs.webkit.org/show_bug.cgi?id=53467
11502
11503         Update WebCore to handle new anonymous slot behaviour.
11504
11505         * bindings/js/JSDOMWindowShell.cpp:
11506         (WebCore::JSDOMWindowShell::setWindow):
11507         * bindings/js/WorkerScriptController.cpp:
11508         (WebCore::WorkerScriptController::initScript):
11509         * bindings/scripts/CodeGeneratorJS.pm:
11510
11511 2011-02-01  Xiaomei Ji  <xji@chromium.org>
11512
11513         Reviewed by David Hyatt.
11514
11515         Fix a text rendering problem when enclosing block is RTL and text runs
11516         are in different directionality.
11517         https://bugs.webkit.org/show_bug.cgi?id=34176
11518
11519         The problem happens in the following example scenario (ABC represents 
11520         Hebrew characters):
11521         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
11522
11523         The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
11524         TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
11525         TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
11526
11527         The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
11528
11529         Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
11530         creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
11531         the run's render object's ancestor (not only its parent) has already 
11532         been constructed or has something following it on the line, in which 
11533         case, create a new box for TextRun2 instead of sharing the same box with
11534         TextRun3.
11535
11536         In other words, the following 2 div should render the same results
11537         (ABC represents Hebrew characters).
11538         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
11539         <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
11540
11541         Test: fast/dom/34176.html
11542
11543         * rendering/RenderBlockLineLayout.cpp:
11544         (WebCore::parentIsConstructedOrHaveNext):
11545         (WebCore::RenderBlock::createLineBoxes):
11546
11547 2011-02-01  Abhishek Arya  <inferno@chromium.org>
11548
11549         Reviewed by Dan Bernstein.
11550
11551         Do not add a node in the document's stylesheet candidate node list if the
11552         node is already removed from document.
11553         https://bugs.webkit.org/show_bug.cgi?id=53441
11554
11555         Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
11556
11557         * dom/Document.cpp:
11558         (WebCore::Document::addStyleSheetCandidateNode):
11559
11560 2011-02-01  Dave Hyatt  <hyatt@apple.com>
11561
11562         Reviewed by Darin Adler.
11563
11564         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
11565         with vertical text.
11566
11567         Change printing functions to check writing-mode and properly swap width and height
11568         as needed.
11569         
11570         Fix the setScrollOrigin function so that the origin doesn't cause
11571         scroll spasming during printing (this is only partially successful, but it's better
11572         than it was).
11573
11574         Rewrite computePageRects to handle both RTL documents properly as well as vertical
11575         text documents properly.
11576
11577         * WebCore.exp.in:
11578         * page/FrameView.cpp:
11579         (WebCore::FrameView::adjustViewSize):
11580         (WebCore::FrameView::forceLayoutForPagination):
11581         * page/PrintContext.cpp:
11582         (WebCore::PrintContext::computePageRects):
11583         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
11584         (WebCore::PrintContext::computeAutomaticScaleFactor):
11585         (WebCore::PrintContext::spoolPage):
11586         (WebCore::PrintContext::spoolRect):
11587         * page/PrintContext.h:
11588         * page/mac/WebCoreFrameView.h:
11589         * platform/ScrollView.cpp:
11590         (WebCore::ScrollView::wheelEvent):
11591         * platform/ScrollView.h:
11592         * platform/mac/ScrollViewMac.mm:
11593         (WebCore::ScrollView::platformSetScrollOrigin):
11594         * rendering/RenderView.cpp:
11595         (WebCore::RenderView::layout):
11596
11597 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
11598
11599         Reviewed by Pavel Feldman.
11600
11601         Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
11602
11603         https://bugs.webkit.org/show_bug.cgi?id=53500
11604
11605         * inspector/InspectorProfilerAgent.cpp:
11606         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
11607
11608 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
11609
11610         Reviewed by Pavel Feldman.
11611
11612         Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
11613
11614         https://bugs.webkit.org/show_bug.cgi?id=53173
11615
11616         Adding code for accessing heap snapshot data and
11617         performing graph calculations.
11618
11619         * English.lproj/localizedStrings.js:
11620         * inspector/front-end/HeapSnapshot.js:
11621         (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
11622         (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
11623         (WebInspector.HeapSnapshotEdgeIterator):
11624         (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
11625         (WebInspector.HeapSnapshotNodeIterator):
11626         (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
11627         (WebInspector.HeapSnapshotFilteredOrderedIterator):
11628         (WebInspector.HeapSnapshotEdgesProvider):
11629         (WebInspector.HeapSnapshotNodesProvider):
11630         (WebInspector.HeapSnapshotPathFinder):
11631         * inspector/front-end/HeapSnapshotView.js:
11632         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
11633
11634 2011-02-01  Adam Roben  <aroben@apple.com>
11635
11636         Fix linker warnings in Release_LTCG builds
11637
11638         * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
11639         configurations, since they get pulled in via DOMAllInOne.cpp.
11640
11641 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
11642
11643         Reviewed by Yury Semikhatsky.
11644
11645         Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
11646         https://bugs.webkit.org/show_bug.cgi?id=53482
11647
11648         * English.lproj/localizedStrings.js:
11649         * inspector/front-end/ElementsPanel.js:
11650         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
11651         * inspector/front-end/inspector.js:
11652         (WebInspector.resourceForURL):
11653         (WebInspector.openLinkExternallyLabel):
11654
11655 2011-02-01  Anton Muhin  <antonm@chromium.org>
11656
11657         Reviewed by Adam Barth.
11658
11659         Propagate parent document security origin to newly create Document XML response
11660         https://bugs.webkit.org/show_bug.cgi?id=53444
11661
11662         Covered by the existing tests.
11663
11664         * xml/XMLHttpRequest.cpp:
11665         (WebCore::XMLHttpRequest::responseXML):
11666
11667 2011-02-01  Yury Semikhatsky  <yurys@chromium.org>
11668
11669         Unreviewed. Rollout r77230 which caused many layout tests
11670         crashes on Chromium Debug bots.
11671
11672         Async event handlers should not fire within a modal dialog
11673         https://bugs.webkit.org/show_bug.cgi?id=53202
11674
11675         * dom/Document.cpp:
11676         (WebCore::Document::Document):
11677         * dom/EventQueue.cpp:
11678         (WebCore::EventQueue::EventQueue):
11679         (WebCore::EventQueue::enqueueEvent):
11680         (WebCore::EventQueue::pendingEventTimerFired):
11681         * dom/EventQueue.h:
11682
11683 2011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
11684
11685         Reviewed by Dirk Schulze.
11686
11687         LightElement changes does not require relayout.
11688         https://bugs.webkit.org/show_bug.cgi?id=53232
11689
11690         When an attribute of a LightElement changes, it
11691         send an update message to the lighting filters
11692         to update its corresponding LightSource objects,
11693         and repaint the filters.
11694
11695         Duplicated 'id' attributes removed from svg-filter-animation.svg.
11696
11697         Existing dynamic-update tests covers this feature.
11698
11699         5x speedup on manual-tests/svg-filter-animation.svg
11700
11701         * manual-tests/svg-filter-animation.svg:
11702         * platform/graphics/filters/DistantLightSource.h:
11703         * platform/graphics/filters/FEDiffuseLighting.cpp:
11704         (WebCore::FEDiffuseLighting::setLightingColor):
11705         (WebCore::FEDiffuseLighting::setSurfaceScale):
11706         (WebCore::FEDiffuseLighting::setDiffuseConstant):
11707         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
11708         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
11709         * platform/graphics/filters/FEDiffuseLighting.h:
11710         * platform/graphics/filters/LightSource.cpp:
11711         (WebCore::PointLightSource::setX):
11712         (WebCore::PointLightSource::setY):
11713         (WebCore::PointLightSource::setZ):
11714         (WebCore::SpotLightSource::setX):
11715         (WebCore::SpotLightSource::setY):
11716         (WebCore::SpotLightSource::setZ):
11717         (WebCore::SpotLightSource::setPointsAtX):
11718         (WebCore::SpotLightSource::setPointsAtY):
11719         (WebCore::SpotLightSource::setPointsAtZ):
11720         (WebCore::SpotLightSource::setSpecularExponent):
11721         (WebCore::SpotLightSource::setLimitingConeAngle):
11722         (WebCore::DistantLightSource::setAzimuth):
11723         (WebCore::DistantLightSource::setElevation):
11724         (WebCore::LightSource::setAzimuth):
11725         (WebCore::LightSource::setElevation):
11726         (WebCore::LightSource::setX):
11727         (WebCore::LightSource::setY):
11728         (WebCore::LightSource::setZ):
11729         (WebCore::LightSource::setPointsAtX):
11730         (WebCore::LightSource::setPointsAtY):
11731         (WebCore::LightSource::setPointsAtZ):
11732         (WebCore::LightSource::setSpecularExponent):
11733         (WebCore::LightSource::setLimitingConeAngle):
11734         * platform/graphics/filters/LightSource.h:
11735         * platform/graphics/filters/PointLightSource.h:
11736         * platform/graphics/filters/SpotLightSource.h:
11737         * rendering/svg/RenderSVGResourceFilter.cpp:
11738         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
11739         * svg/SVGFEDiffuseLightingElement.cpp:
11740         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
11741         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
11742         (WebCore::SVGFEDiffuseLightingElement::build):
11743         (WebCore::SVGFEDiffuseLightingElement::findLightElement):
11744         (WebCore::SVGFEDiffuseLightingElement::findLight):
11745         * svg/SVGFEDiffuseLightingElement.h:
11746         * svg/SVGFELightElement.cpp:
11747         (WebCore::SVGFELightElement::svgAttributeChanged):
11748         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
11749         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
11750         * svg/SVGFilterPrimitiveStandardAttributes.h:
11751
11752 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
11753
11754         Reviewed by Dimitri Glazkov.
11755
11756         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
11757         https://bugs.webkit.org/show_bug.cgi?id=53289
11758
11759         Moving the nested class DocumentOrderedMap from Document into separate files,
11760         updating code where necessary.
11761
11762         No new tests. (refactoring)
11763
11764         * Android.mk:
11765         * CMakeLists.txt:
11766         * GNUMakefile.am:
11767         * WebCore.gypi:
11768         * WebCore.pro:
11769         * WebCore.vcproj/WebCore.vcproj:
11770         * WebCore.xcodeproj/project.pbxproj:
11771         * dom/Document.cpp:
11772         (WebCore::Document::getElementById):
11773         (WebCore::Document::getImageMap):
11774         * dom/Document.h:
11775         * dom/DocumentOrderedMap.cpp: Added.
11776         (WebCore::keyMatchesId):
11777         (WebCore::keyMatchesMapName):
11778         (WebCore::keyMatchesLowercasedMapName):
11779         (WebCore::DocumentOrderedMap::clear):
11780         (WebCore::DocumentOrderedMap::add):
11781         (WebCore::DocumentOrderedMap::remove):
11782         (WebCore::DocumentOrderedMap::get):
11783         (WebCore::DocumentOrderedMap::getElementById):
11784         (WebCore::DocumentOrderedMap::getElementByMapName):
11785         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
11786         * dom/DocumentOrderedMap.h: Added.
11787         (WebCore::DocumentOrderedMap::contains):
11788         (WebCore::DocumentOrderedMap::containsMultiple):
11789         * dom/DOMAllInOne.cpp:
11790
11791 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
11792
11793         Reviewed by Martin Robinson.
11794
11795         [Gtk] atk_text_set_caret_offset fails for list items
11796         https://bugs.webkit.org/show_bug.cgi?id=53388
11797
11798         Allow using text ranges across list items.
11799
11800         * accessibility/gtk/AccessibilityObjectAtk.cpp:
11801         (WebCore::AccessibilityObject::allowsTextRanges): Add list items
11802         to the list of accessibility objects supporting text ranges.
11803
11804 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
11805
11806         Reviewed by Martin Robinson.
11807
11808         [GTK] character range extents is off when the end of a wrapped line is included
11809         https://bugs.webkit.org/show_bug.cgi?id=53323
11810
11811         Fixed wrong calculation getting the range extents.
11812
11813         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11814         (webkit_accessible_text_get_range_extents): Removed '+1' since the
11815         requested interval shouldn't include the last character.
11816
11817 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
11818
11819         Reviewed by Martin Robinson.
11820
11821         [GTK] Caret Offset is one off at the end of wrapped lines
11822         https://bugs.webkit.org/show_bug.cgi?id=53300
11823
11824         Consider linebreaks as special cases.
11825
11826         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11827         (objectAndOffsetUnignored): In order to avoid getting wrong values
11828         when around linebreaks, we need to workaround this by explicitly
11829         avoiding those '\n' text nodes from affecting the result of
11830         calling to TextIterator:rangeLength().
11831
11832 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
11833
11834         Unreviewed, rolling out r77229.
11835         http://trac.webkit.org/changeset/77229
11836         https://bugs.webkit.org/show_bug.cgi?id=53289
11837
11838         revert mysterious build breakage
11839
11840         * Android.mk:
11841         * CMakeLists.txt:
11842         * GNUmakefile.am:
11843         * WebCore.gypi:
11844         * WebCore.pro:
11845         * WebCore.vcproj/WebCore.vcproj:
11846         * WebCore.xcodeproj/project.pbxproj:
11847         * dom/DOMAllInOne.cpp:
11848         * dom/Document.cpp:
11849         (WebCore::Document::DocumentOrderedMap::clear):
11850         (WebCore::Document::DocumentOrderedMap::add):
11851         (WebCore::Document::DocumentOrderedMap::remove):
11852         (WebCore::Document::DocumentOrderedMap::get):
11853         (WebCore::keyMatchesId):
11854         (WebCore::Document::getElementById):
11855         (WebCore::keyMatchesMapName):
11856         (WebCore::keyMatchesLowercasedMapName):
11857         (WebCore::Document::getImageMap):
11858         * dom/Document.h:
11859         (WebCore::Document::DocumentOrderedMap::contains):
11860         (WebCore::Document::DocumentOrderedMap::containsMultiple):
11861         * dom/DocumentOrderedMap.cpp: Removed.
11862         * dom/DocumentOrderedMap.h: Removed.
11863
11864 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
11865
11866         Reviewed by James Robinson.
11867
11868         Async event handlers should not fire within a modal dialog
11869         https://bugs.webkit.org/show_bug.cgi?id=53202
11870
11871         Asychronous events that use EventQueue would currently fire while a
11872         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
11873         SuspendableTimer (which automatically gets suspended while dialogs are
11874         up and in other cases where JS execution is not allowed).
11875         
11876         Test: fast/events/scroll-event-during-modal-dialog.html
11877
11878         * dom/Document.cpp:
11879         (WebCore::Document::Document):
11880         * dom/EventQueue.cpp:
11881         (WebCore::EventQueueTimer::EventQueueTimer):
11882         (WebCore::EventQueueTimer::fired):
11883         (WebCore::EventQueue::EventQueue):
11884         (WebCore::EventQueue::enqueueEvent):
11885         (WebCore::EventQueue::pendingEventTimerFired):
11886         * dom/EventQueue.h:
11887         (WebCore::EventQueue::create):
11888
11889 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
11890
11891         Reviewed by Dimitri Glazkov.
11892
11893         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
11894         https://bugs.webkit.org/show_bug.cgi?id=53289
11895
11896         Moving the nested class DocumentOrderedMap from Document into separate files,
11897         updating code where necessary.
11898
11899         No new tests. (refactoring)
11900
11901         * Android.mk:
11902         * CMakeLists.txt:
11903         * GNUMakefile.am:
11904         * WebCore.gypi:
11905         * WebCore.pro:
11906         * WebCore.vcproj/WebCore.vcproj:
11907         * WebCore.xcodeproj/project.pbxproj:
11908         * dom/Document.cpp:
11909         (WebCore::Document::getElementById):
11910         (WebCore::Document::getImageMap):
11911         * dom/Document.h:
11912         * dom/DocumentOrderedMap.cpp: Added.
11913         (WebCore::keyMatchesId):
11914         (WebCore::keyMatchesMapName):
11915         (WebCore::keyMatchesLowercasedMapName):
11916         (WebCore::DocumentOrderedMap::clear):
11917         (WebCore::DocumentOrderedMap::add):
11918         (WebCore::DocumentOrderedMap::remove):
11919         (WebCore::DocumentOrderedMap::get):
11920         (WebCore::DocumentOrderedMap::getElementById):
11921         (WebCore::DocumentOrderedMap::getElementByMapName):
11922         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
11923         * dom/DocumentOrderedMap.h: Added.
11924         (WebCore::DocumentOrderedMap::contains):
11925         (WebCore::DocumentOrderedMap::containsMultiple):
11926         * dom/DOMAllInOne.cpp:
11927
11928 2011-02-01  Naoki Takano  <takano.naoki@gmail.com>
11929
11930         Reviewed by Darin Fisher.
11931
11932         [Chromium] Autofill should work with HTML5 form elements
11933         https://bugs.webkit.org/show_bug.cgi?id=51809
11934         http://crbug.com/65654
11935
11936         No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
11937
11938         * html/InputType.h: Insert comment for canSetSuggestedValue().
11939         * html/TextFieldInputType.cpp:
11940         (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
11941         * html/TextFieldInputType.h: Declare canSetSuggestedValue().
11942         * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
11943         * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
11944
11945 2011-02-01  Kent Tamura  <tkent@chromium.org>
11946
11947         Reviewed by Dan Bernstein.
11948
11949         REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
11950         https://bugs.webkit.org/show_bug.cgi?id=53272
11951
11952         * editing/TextIterator.cpp:
11953         (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
11954
11955 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
11956
11957         Reviewed by Maciej Stachowiak.
11958
11959         https://bugs.webkit.org/show_bug.cgi?id=53466
11960         Move WebKit2 to printing via API methods
11961
11962         * WebCore.exp.in: Export IntRect::scale().
11963
11964 2011-01-31  Patrick Gansterer  <paroga@webkit.org>
11965
11966         Reviewed by Adam Barth.
11967
11968         Remove obsolete comment after r41871
11969         https://bugs.webkit.org/show_bug.cgi?id=53406
11970
11971         * dom/Document.h:
11972
11973 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
11974
11975         Fix according to reviewer comments: can just use Color::black now.
11976
11977         * platform/graphics/ShadowBlur.cpp:
11978         (WebCore::ShadowBlur::drawInsetShadow):
11979         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
11980
11981 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
11982
11983         Reviewed by Sam Weinig.
11984
11985         Clean up ShadowBlur
11986         https://bugs.webkit.org/show_bug.cgi?id=53472
11987
11988         Some minor ShadowBlur cleanup.
11989
11990         * platform/graphics/ShadowBlur.h:
11991         * platform/graphics/ShadowBlur.cpp:
11992         (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
11993         paramter.
11994         (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
11995         (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
11996         layerRect. Make frameSize a float.
11997         (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
11998         layerRect rather than calling calculateLayerBoundingRect() to compute
11999         it itself, since we were calling calculateLayerBoundingRect() twice.
12000         (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
12001         only once. The shadowRect variable was unused, so two return paths could be
12002         collapsed into one.
12003         (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
12004         beginShadowLayer() now.
12005         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
12006         We always used alpha=1, so no need to pass that in.
12007         (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
12008         pass that in. Move shadowRect down to first use.
12009         ShadowBlur::clipBounds() was unused.
12010
12011 2011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
12012
12013         Reviewed by Kenneth Rohde Christiansen.
12014
12015         [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
12016         https://bugs.webkit.org/show_bug.cgi?id=46748
12017
12018         This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
12019         Added a regression test to tst_QWebFrame.
12020
12021         * bridge/qt/qt_instance.cpp:
12022         (JSC::Bindings::QtInstance::QtInstance):
12023
12024 2011-01-27  MORITA Hajime  <morrita@google.com>
12025
12026         Reviewed by Dimitri Glazkov.
12027         
12028         Convert <progress> shadow DOM to a DOM-based shadow.
12029         https://bugs.webkit.org/show_bug.cgi?id=50660
12030
12031         * Removed RenderProgress::m_valuePart, moved the shadow node
12032           to the shadow root of HTMLProgressElement.
12033         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
12034           ProgressBarValueElement is defined only for overriding
12035           shadowPseudoId().
12036         
12037         No new tests. No behavioral change.
12038
12039         * css/CSSSelector.cpp:
12040         (WebCore::CSSSelector::pseudoId):
12041         (WebCore::nameToPseudoTypeMap):
12042         (WebCore::CSSSelector::extractPseudoType):
12043         * css/CSSSelector.h:
12044         * html/HTMLProgressElement.cpp:
12045         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
12046         (WebCore::ProgressBarValueElement::shadowPseudoId):
12047         (WebCore::ProgressBarValueElement::create):
12048         (WebCore::ProgressBarValueElement::detach):
12049         (WebCore::HTMLProgressElement::parseMappedAttribute):
12050         (WebCore::HTMLProgressElement::attach):
12051         (WebCore::HTMLProgressElement::valuePart):
12052         (WebCore::HTMLProgressElement::didElementStateChange):
12053         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
12054         * html/HTMLProgressElement.h:
12055         * rendering/RenderProgress.cpp:
12056         (WebCore::RenderProgress::~RenderProgress):
12057         (WebCore::RenderProgress::updateFromElement):
12058         (WebCore::RenderProgress::layoutParts):
12059         (WebCore::RenderProgress::shouldHaveParts):
12060         (WebCore::RenderProgress::valuePart):
12061         * rendering/RenderProgress.h:
12062         * rendering/style/RenderStyleConstants.h:
12063
12064 2011-01-31  Charlie Reis  <creis@chromium.org>
12065
12066         Reviewed by Mihai Parparita.
12067
12068         Add sanity check to help diagnose bug 52819
12069         https://bugs.webkit.org/show_bug.cgi?id=53402
12070
12071         Crash early if the children of fromItem look invalid.
12072
12073         * loader/HistoryController.cpp:
12074
12075 2011-01-31  Kalle Vahlman  <kalle.vahlman@movial.com>
12076
12077         Reviewed by Andreas Kling.
12078
12079         [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
12080         https://bugs.webkit.org/show_bug.cgi?id=53325
12081
12082         Reimplement paintCurrentFrameInContext() rather than delegate the
12083         rendering to paint() to make sure we really do get the video frame
12084         content into the GraphicsContext, regardless of accelerated
12085         compositing and the video scene state.
12086
12087         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
12088         (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
12089         * platform/graphics/qt/MediaPlayerPrivateQt.h:
12090
12091 2011-01-31  Emil A Eklund  <eae@chromium.org>
12092
12093         Reviewed by Darin Adler.
12094
12095         Setting "selected" attribute to false should have no effect in single line <select>
12096         https://bugs.webkit.org/show_bug.cgi?id=52436
12097
12098         Change SelectElement::setSelectedIndex to select the first selectable
12099         option when the select state of all options is set to false as required
12100         by the HTML5 specification.
12101
12102         Test: fast/dom/HTMLSelectElement/selected-false.html
12103
12104         * dom/SelectElement.cpp:
12105         (WebCore::SelectElement::setSelectedIndex):
12106
12107 2011-01-31  Alexander Pavlov  <apavlov@chromium.org>
12108
12109         Reviewed by Yury Semikhatsky.
12110
12111         Web Inspector: Console source references need a left-margin
12112         https://bugs.webkit.org/show_bug.cgi?id=53308
12113
12114         * inspector/front-end/inspector.css:
12115         (.console-message-url): Added a 4px margin on the left.
12116
12117 2011-01-31  Carol Szabo  <carol.szabo@nokia.com>
12118
12119         Reviewed by David Hyatt.
12120
12121         Code Changes only.
12122
12123         It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
12124         https://bugs.webkit.org/show_bug.cgi?id=53024
12125
12126         No new tests. No change in functionality
12127
12128         * rendering/RenderObject.h:
12129         (WebCore::RenderObject::before):
12130         (WebCore::RenderObject::after):
12131         (WebCore::RenderObject::generatingNode):
12132         Added new accessors for the use of the CSS 2.1 counters code
12133         (mainlyly)
12134         * rendering/RenderObjectChildList.cpp:
12135         (WebCore::beforeAfterContainer):
12136         (WebCore::RenderObjectChildList::invalidateCounters):
12137         (WebCore::RenderObjectChildList::before):
12138         (WebCore::RenderObjectChildList::after):
12139         Refactored the code to take advantage of the new accessors.
12140         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
12141         Changed to store the generating node in the :before and :after
12142         renderers.
12143         * rendering/RenderObjectChildList.h:
12144
12145 2011-01-31  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>
12146
12147         Reviewed by David Hyatt.
12148
12149         Add background-clip to background shorthand
12150         https://bugs.webkit.org/show_bug.cgi?id=52080
12151
12152         Added background-clip to background-shorthand. Also made changes to
12153         include webkitMaskClip to the mask shorthand to keep both in sync.
12154
12155         * css/CSSParser.cpp:
12156         (WebCore::CSSParser::parseValue):
12157         (WebCore::CSSParser::parseFillShorthand):
12158
12159 2011-01-31  Darin Adler  <darin@apple.com>
12160
12161         Reviewed by Adele Peterson.
12162
12163         WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
12164         https://bugs.webkit.org/show_bug.cgi?id=53460
12165
12166         * editing/EditorCommand.cpp:
12167         (WebCore::executeScrollPageBackward): Added.
12168         (WebCore::executeScrollPageForward): Added.
12169         (WebCore::executeScrollToBeginningOfDocument): Added.
12170         (WebCore::executeScrollToEndOfDocument): Added.
12171         (WebCore::createCommandMap): Added the four commands above to the map.
12172
12173 2011-01-31  Dan Bernstein  <mitz@apple.com>
12174
12175         Reviewed by Adele Peterson.
12176
12177         Inter-ideograph justification should apply to hiragana and katakana as well
12178         https://bugs.webkit.org/show_bug.cgi?id=53464
12179
12180         Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
12181
12182         * platform/graphics/Font.cpp:
12183         (WebCore::Font::expansionOpportunityCount):
12184         * platform/graphics/WidthIterator.cpp:
12185         (WebCore::WidthIterator::advance):
12186         * platform/graphics/mac/ComplexTextController.cpp:
12187         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
12188
12189 2011-01-31  Dimitri Glazkov  <dglazkov@chromium.org>
12190
12191         Reviewed by James Robinson.
12192
12193         REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
12194         https://bugs.webkit.org/show_bug.cgi?id=53314
12195
12196         Fixes media/controls-strict.html on Chromium.
12197
12198         * css/mediaControlsChromium.css:
12199         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
12200             Added proper box-sizing to avoid differences between strict/quirks mode.
12201
12202 2011-01-31  Kent Tamura  <tkent@chromium.org>
12203
12204         Reviewed by Dimitri Glazkov.
12205
12206         Validation message bubble shouldn't inherit text-security style
12207         https://bugs.webkit.org/show_bug.cgi?id=53457
12208
12209         No new tests because the validation message feature depends on timers
12210         and is enabled only in Chromium port.
12211
12212         * css/html.css:
12213         (::-webkit-validation-bubble): Reset -webkit-text-security.
12214
12215 2011-01-31  Michael Saboff  <msaboff@apple.com>
12216
12217         Reviewed by Geoffrey Garen.
12218
12219         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
12220         https://bugs.webkit.org/show_bug.cgi?id=53271
12221
12222         Reapplying this patch again. 
12223         The removal of this patch in <http://trac.webkit.org/changeset/77125>
12224         as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
12225         removed the both the first (failing) patch (r76893) and this fixed 
12226         patch (r76969).  This patch includes slight changes necessitated by
12227         r77151.
12228
12229         Reapplying this patch with the change that the second ASSERT in 
12230         RootObject::removeRuntimeObject was changed to use
12231         .uncheckedGet() instead of the failing .get().  The object in question
12232         could be in the process of being GC'ed.  The get() call will not return
12233         such an object while the uncheckedGet() call will return the (unsafe) 
12234         object.  This is the behavior we want.
12235
12236         Precautionary change.
12237         Changed RootObject to use WeakGCMap instead of HashSet.
12238         Found will looking for another issue, but can't produce a test case
12239         that is problematic.  THerefore there aren't any new tests.
12240
12241         * bridge/runtime_root.cpp:
12242         (JSC::Bindings::RootObject::invalidate):
12243         (JSC::Bindings::RootObject::addRuntimeObject):
12244         (JSC::Bindings::RootObject::removeRuntimeObject):
12245         * bridge/runtime_root.h:
12246
12247 2011-01-31  Andreas Kling  <kling@webkit.org>
12248
12249         Unbreak Qt build after r77151.
12250
12251         * bridge/qt/qt_instance.cpp:
12252         (JSC::Bindings::QtInstance::removeCachedMethod):
12253         (JSC::Bindings::QtInstance::markAggregate):
12254
12255 2011-01-31  takano takumi  <takano@apple.com>
12256
12257         Reviewed by Dave Hyatt.
12258
12259         Implement text-combine rendering code
12260         https://bugs.webkit.org/show_bug.cgi?id=50621
12261
12262         Test: fast/text/international/text-combine-image-test.html
12263
12264         * Android.mk: Added RenderCombineText.cpp/h
12265         * CMakeLists.txt: Added RenderCombineText.cpp/h
12266         * GNUmakefile.am: Added RenderCombineText.cpp/h
12267         * WebCore.exp.in:
12268         * WebCore.gypi: Added RenderCombineText.cpp/h
12269         * WebCore.pro: Added RenderCombineText.cpp/h
12270         * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
12271         * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
12272         * css/CSSFontFaceSource.cpp:
12273         (WebCore::CSSFontFaceSource::getFontData):
12274         - Added fontDescription.widthVariant to SimpleFontData creation.
12275         * css/CSSStyleSelector.cpp:
12276         (WebCore::CSSStyleSelector::applyProperty):
12277         - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
12278         * dom/Text.cpp:
12279         (WebCore::Text::createRenderer):
12280         - Changed to create RenderCombineText in case of TextCombine.
12281         * loader/cache/CachedFont.cpp:
12282         (WebCore::CachedFont::platformDataFromCustomData):
12283         - Added FontWidthVariant as an argument for FontPlatformData creation.
12284         * loader/cache/CachedFont.h:
12285         - Ditto.
12286         * platform/graphics/Font.h:
12287         (WebCore::Font::widthVariant):
12288         - The accessor to FontWidthVariant member variable.
12289         * platform/graphics/FontCache.cpp:
12290         - Made cache to incorporate FontWidthVariant value.
12291         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
12292         (WebCore::FontPlatformDataCacheKey::operator==):
12293         (WebCore::computeHash):
12294         (WebCore::FontCache::getCachedFontPlatformData):
12295         * platform/graphics/FontDescription.h:
12296         - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
12297         (WebCore::FontDescription::FontDescription):
12298         (WebCore::FontDescription::widthVariant):
12299         (WebCore::FontDescription::setWidthVariant):
12300         (WebCore::FontDescription::operator==):
12301         * platform/graphics/FontWidthVariant.h: Added.
12302         * platform/graphics/cairo/FontCustomPlatformData.h:
12303         - Changed to carry FontWidthVariant value.
12304         * platform/graphics/cocoa/FontPlatformData.h:
12305         - Changed to carry FontWidthVariant value.
12306         (WebCore::FontPlatformData::FontPlatformData):
12307         (WebCore::FontPlatformData::widthVariant):
12308         (WebCore::FontPlatformData::hash):
12309         (WebCore::FontPlatformData::operator==):
12310         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
12311         (WebCore::FontPlatformData::FontPlatformData):
12312         - Changed to carry FontWidthVariant value.
12313         (WebCore::FontPlatformData::operator=):
12314         - Ditto.
12315         (WebCore::mapFontWidthVariantToCTFeatureSelector):
12316         - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
12317         (WebCore::FontPlatformData::ctFont):
12318         - Changed to create CTFont with text spacing variant based on FontWidthVariant.
12319         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
12320         (WebCore::FontCustomPlatformData::fontPlatformData):
12321         - Changed to carry FontWidthVariant value.
12322         * platform/graphics/haiku/FontCustomPlatformData.cpp:
12323         (WebCore::FontCustomPlatformData::fontPlatformData):
12324         - Changed to carry FontWidthVariant value.
12325         * platform/graphics/haiku/FontCustomPlatformData.h:
12326         * platform/graphics/mac/FontCacheMac.mm:
12327         (WebCore::FontCache::createFontPlatformData):
12328         - Changed to carry FontWidthVariant value.
12329         * platform/graphics/mac/FontCustomPlatformData.cpp:
12330         (WebCore::FontCustomPlatformData::fontPlatformData):
12331         - Changed to carry FontWidthVariant value.
12332         * platform/graphics/mac/FontCustomPlatformData.h:
12333         - Ditto.
12334         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
12335         (WebCore::shouldUseCoreText):
12336         - Changed to skip CT path when width variant is specified.
12337         * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
12338         (WebCore::FontCustomPlatformData::fontPlatformData):
12339         - Ditto.
12340         * platform/graphics/qt/FontCustomPlatformData.h:
12341         - Ditto.
12342         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
12343         (WebCore::FontCustomPlatformData::fontPlatformData):
12344         - Ditto.
12345         * platform/graphics/skia/FontCustomPlatformData.cpp:
12346         (WebCore::FontCustomPlatformData::fontPlatformData):
12347         - Ditto.
12348         * platform/graphics/skia/FontCustomPlatformData.h:
12349         - Ditto.
12350         * platform/graphics/win/FontCustomPlatformData.cpp:
12351         (WebCore::FontCustomPlatformData::fontPlatformData):
12352         - Ditto.
12353         * platform/graphics/win/FontCustomPlatformData.h:
12354         - Ditto.
12355         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
12356         - Ditto.
12357         (WebCore::FontCustomPlatformData::fontPlatformData):
12358         - Ditto.
12359         * platform/graphics/win/FontCustomPlatformDataCairo.h:
12360         - Ditto.
12361         * platform/graphics/wince/FontCustomPlatformData.cpp:
12362         (WebCore::FontCustomPlatformData::fontPlatformData):
12363         - Ditto.
12364         * platform/graphics/wince/FontCustomPlatformData.h:
12365         - Ditto.
12366         * platform/graphics/wx/FontCustomPlatformData.cpp:
12367         (WebCore::FontCustomPlatformData::fontPlatformData):
12368         - Ditto.
12369         * platform/graphics/wx/FontCustomPlatformData.h:
12370         - Ditto.
12371         * rendering/InlineTextBox.cpp:
12372         (WebCore::InlineTextBox::paint):
12373         - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
12374         instead of text returned from text().
12375         * rendering/RenderBlock.cpp:
12376         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
12377         - Made to call RenderCombinedText's prepareTextCombine() here.
12378         * rendering/RenderBlockLineLayout.cpp:
12379         (WebCore::textWidth):
12380         - Made to always use the render object's width() in case of TextCombine.
12381         (WebCore::RenderBlock::findNextLineBreak):
12382         - Made to call RenderCombinedText's prepareTextCombine() here.
12383         * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
12384         (WebCore::RenderCombineText::RenderCombineText):
12385         (WebCore::RenderCombineText::styleDidChange):
12386         - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
12387         the next call of RenderBlock::findNextLineBreak().
12388         (WebCore::RenderCombineText::setTextInternal):
12389         - Ditto.
12390         (WebCore::RenderCombineText::width):
12391         - Returns 1-em width in case of font combine.
12392         (WebCore::RenderCombineText::adjustTextOrigin):
12393         - Adjust drawing origin point in case of font combine.
12394         (WebCore::RenderCombineText::charactersToRender):
12395         - Return original text instead of current text in case of font combine.
12396         (WebCore::RenderCombineText::combineText):
12397         - This function tries to pack passed text with; 1) the current font as is, 2) the font created
12398         from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
12399         with quarter-width variant.
12400         - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
12401         we give up text-combine as the CSS spec describes.
12402         - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
12403         behave like a single character against text decorations.
12404         * rendering/RenderCombineText.h: Added.
12405         (WebCore::RenderCombineText::isCombined):
12406         (WebCore::RenderCombineText::combinedTextWidth):
12407         - Returns 1-em width in case of font combine.
12408         (WebCore::RenderCombineText::renderName):
12409         (WebCore::toRenderCombineText):
12410         * rendering/RenderText.cpp:
12411         (WebCore::RenderText::widthFromCache):
12412         - Made to call RenderCombineText's combinedTextWidth when the text is combined.
12413         * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
12414         * rendering/style/RenderStyle.h:
12415         (WebCore::InheritedFlags::hasTextCombine):
12416         - Added for a quick test of TextCombine.
12417
12418 2011-01-31  Oliver Hunt  <oliver@apple.com>
12419
12420         Convert markstack to a slot visitor API
12421         https://bugs.webkit.org/show_bug.cgi?id=53219
12422
12423         rolling r77098, r77099, r77100, r77109, and
12424         r77111 back in, along with a few more Qt fix attempts.
12425
12426         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
12427         * WebCore.exp.in:
12428         * bindings/js/DOMWrapperWorld.h:
12429         (WebCore::DOMWrapperWorld::globalData):
12430         * bindings/js/JSAudioConstructor.cpp:
12431         (WebCore::JSAudioConstructor::JSAudioConstructor):
12432         * bindings/js/JSDOMBinding.cpp:
12433         (WebCore::markDOMNodesForDocument):
12434         (WebCore::markDOMObjectWrapper):
12435         (WebCore::markDOMNodeWrapper):
12436         * bindings/js/JSDOMGlobalObject.cpp:
12437         (WebCore::JSDOMGlobalObject::markChildren):
12438         (WebCore::JSDOMGlobalObject::setInjectedScript):
12439         (WebCore::JSDOMGlobalObject::injectedScript):
12440         * bindings/js/JSDOMGlobalObject.h:
12441         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
12442         (WebCore::getDOMConstructor):
12443         * bindings/js/JSDOMWindowCustom.cpp:
12444         (WebCore::JSDOMWindow::setLocation):
12445         (WebCore::DialogHandler::dialogCreated):
12446         * bindings/js/JSDOMWindowShell.cpp:
12447         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
12448         (WebCore::JSDOMWindowShell::setWindow):
12449         (WebCore::JSDOMWindowShell::markChildren):
12450         (WebCore::JSDOMWindowShell::unwrappedObject):
12451         * bindings/js/JSDOMWindowShell.h:
12452         (WebCore::JSDOMWindowShell::window):
12453         (WebCore::JSDOMWindowShell::setWindow):
12454         * bindings/js/JSDeviceMotionEventCustom.cpp:
12455         (WebCore::createAccelerationObject):
12456         (WebCore::createRotationRateObject):
12457         * bindings/js/JSEventListener.cpp:
12458         (WebCore::JSEventListener::JSEventListener):
12459         (WebCore::JSEventListener::markJSFunction):
12460         * bindings/js/JSEventListener.h:
12461         (WebCore::JSEventListener::jsFunction):
12462         * bindings/js/JSHTMLDocumentCustom.cpp:
12463         (WebCore::JSHTMLDocument::setAll):
12464         * bindings/js/JSImageConstructor.cpp:
12465         (WebCore::JSImageConstructor::JSImageConstructor):
12466         * bindings/js/JSImageDataCustom.cpp:
12467         (WebCore::toJS):
12468         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
12469         (WebCore::JSJavaScriptCallFrame::scopeChain):
12470         (WebCore::JSJavaScriptCallFrame::scopeType):
12471         * bindings/js/JSNodeFilterCondition.cpp:
12472         (WebCore::JSNodeFilterCondition::markAggregate):
12473         (WebCore::JSNodeFilterCondition::acceptNode):
12474         * bindings/js/JSNodeFilterCondition.h:
12475         * bindings/js/JSNodeFilterCustom.cpp:
12476         * bindings/js/JSOptionConstructor.cpp:
12477         (WebCore::JSOptionConstructor::JSOptionConstructor):
12478         * bindings/js/JSSQLResultSetRowListCustom.cpp:
12479         (WebCore::JSSQLResultSetRowList::item):
12480         * bindings/js/ScriptCachedFrameData.cpp:
12481         (WebCore::ScriptCachedFrameData::restore):
12482         * bindings/js/ScriptObject.cpp:
12483         (WebCore::ScriptGlobalObject::set):
12484         * bindings/js/SerializedScriptValue.cpp:
12485         (WebCore::CloneDeserializer::putProperty):
12486         * bindings/scripts/CodeGeneratorJS.pm:
12487         * bridge/qt/qt_class.cpp:
12488         (JSC::Bindings::QtClass::fallbackObject):
12489         * bridge/qt/qt_instance.cpp:
12490         (JSC::Bindings::QtInstance::QtInstance):
12491         (JSC::Bindings::QtInstance::removeCachedMethod):
12492         (JSC::Bindings::QtInstance::markAggregate):
12493         * bridge/qt/qt_instance.h:
12494         * bridge/qt/qt_runtime.cpp:
12495         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
12496         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
12497         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
12498         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
12499         * bridge/qt/qt_runtime.h:
12500         * dom/Document.h:
12501
12502 2011-01-31  Dan Winship  <danw@gnome.org>
12503
12504         Reviewed by Gustavo Noronha Silva.
12505
12506         wss (websockets ssl) support for gtk via new gio TLS support
12507         https://bugs.webkit.org/show_bug.cgi?id=50344
12508
12509         Update to use GPollableOutputStream and GTlsConnection to
12510         implement wss URLs
12511
12512         * platform/network/soup/SocketStreamHandle.h:
12513         * platform/network/soup/SocketStreamHandleSoup.cpp:
12514         (WebCore::SocketStreamHandle::SocketStreamHandle):
12515         (WebCore::SocketStreamHandle::connected):
12516         (WebCore::SocketStreamHandle::platformSend):
12517         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
12518         (WebCore::writeReadyCallback):
12519
12520 2011-01-31  Abhishek Arya  <inferno@chromium.org>
12521
12522         Reviewed by Dimitri Glazkov.
12523
12524         Check the textarea node still exists in document before casting
12525         it to HTMLTextAreaElement.
12526         https://bugs.webkit.org/show_bug.cgi?id=53429
12527
12528         Test: fast/forms/textarea-node-removed-from-document-crash.html
12529
12530         * rendering/RenderTextControlMultiLine.cpp:
12531         (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
12532
12533 2011-01-27  Abhishek Arya  <inferno@chromium.org>
12534
12535         Reviewed by Dave Hyatt.
12536
12537         If beforeChild is wrapped in an anonymous table section, we need to
12538         go the parent to find it and use it before adding childs to table.
12539         https://bugs.webkit.org/show_bug.cgi?id=53276
12540
12541         We need to make sure that beforeChild's parent is "this" before calling
12542         RenderBox::addChild. The previous condition in while is too restrictive
12543         and fails to calculate the right beforeChild value when its display
12544         style is table caption.
12545         Test: fast/table/before-child-non-table-section-add-table-crash.html
12546
12547         * rendering/RenderTable.cpp:
12548         (WebCore::RenderTable::addChild):
12549
12550 2011-01-31  Shane Stephens  <shanestephens@google.com>
12551
12552         Reviewed by Simon Fraser.
12553
12554         AffineTransform::translateRight incorrectly computes a translateLeft.
12555         https://bugs.webkit.org/show_bug.cgi?id=52551
12556
12557         Removed translateRight and converted all uses to perform standard
12558         matrix multiplication.
12559
12560         No new tests because patch doesn't modify functionality.
12561
12562         * platform/graphics/transforms/AffineTransform.cpp:
12563         * platform/graphics/transforms/AffineTransform.h:
12564         (WebCore::AffineTransform::translation):
12565         * rendering/svg/RenderSVGResourceMarker.cpp:
12566         (WebCore::RenderSVGResourceMarker::localToParentTransform):
12567         * rendering/svg/RenderSVGRoot.cpp:
12568         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
12569         (WebCore::RenderSVGRoot::localToParentTransform):
12570         * rendering/svg/RenderSVGViewportContainer.cpp:
12571         (WebCore::RenderSVGViewportContainer::localToParentTransform):
12572         * rendering/svg/SVGTextLayoutEngine.cpp:
12573         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
12574
12575 2011-01-31  Mario Sanchez Prada  <msanchez@igalia.com>
12576
12577         Reviewed by Martin Robinson.
12578
12579         [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
12580         https://bugs.webkit.org/show_bug.cgi?id=53389
12581
12582         Return FALSE when not able to set the caret at the specified offset.
12583
12584         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12585         (webkit_accessible_text_set_caret_offset): Return FALSE when the
12586         range created is NULL and adjust offset to account for list markers.
12587
12588 2011-01-28  Pavel Feldman  <pfeldman@chromium.org>
12589
12590         Reviewed by Yury Semikhatsky.
12591
12592         Web Inspector: copy HAR to clipboard instead of saving blob on export.
12593         https://bugs.webkit.org/show_bug.cgi?id=53328
12594
12595         * inspector/front-end/NetworkPanel.js:
12596         (WebInspector.NetworkPanel.prototype._exportAll):
12597         (WebInspector.NetworkPanel.prototype._exportResource):
12598
12599 2011-01-30  Pavel Feldman  <pfeldman@chromium.org>
12600
12601         Reviewed by Timothy Hatcher.
12602
12603         Web Inspector: speed up network panel rendering.
12604         https://bugs.webkit.org/show_bug.cgi?id=53397
12605
12606         * inspector/front-end/DataGrid.js:
12607         (WebInspector.DataGrid.prototype.get scrollContainer):
12608         * inspector/front-end/NetworkPanel.js:
12609         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
12610         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
12611         (WebInspector.NetworkPanel.prototype._createTable):
12612         (WebInspector.NetworkPanel.prototype._exportResource):
12613         (WebInspector.NetworkPanel.prototype._onScroll):
12614         * inspector/front-end/networkPanel.css:
12615         (.network-sidebar .data-grid.small tr.offscreen):
12616         (.network-sidebar .data-grid tr.offscreen):
12617         (.network-sidebar .data-grid tr.offscreen td):
12618
12619 2011-01-31  Peter Varga  <pvarga@webkit.org>
12620
12621         Reviewed by Andreas Kling.
12622
12623         Remove wrec from WebCore
12624         https://bugs.webkit.org/show_bug.cgi?id=53298
12625
12626         No new tests needed.
12627
12628         * Android.jscbindings.mk:
12629         * ForwardingHeaders/wrec/WREC.h: Removed.
12630         * WebCore.vcproj/WebCore.vcproj:
12631         * WebCore.vcproj/copyForwardingHeaders.cmd:
12632
12633 2011-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
12634
12635         Unreviewed, rolling out r76969.
12636         http://trac.webkit.org/changeset/76969
12637         https://bugs.webkit.org/show_bug.cgi?id=53418
12638
12639         "It is causing crashes in GTK+ and Leopard bots" (Requested by
12640         alexg__ on #webkit).
12641
12642         * bridge/runtime_root.cpp:
12643         (JSC::Bindings::RootObject::invalidate):
12644         (JSC::Bindings::RootObject::addRuntimeObject):
12645         (JSC::Bindings::RootObject::removeRuntimeObject):
12646         * bridge/runtime_root.h:
12647
12648 2011-01-31  Antti Koivisto  <antti@apple.com>
12649
12650         Not reviewed.
12651
12652         Spelling.
12653
12654         * css/CSSSelectorList.h:
12655         (WebCore::CSSSelectorList::next):
12656
12657 2011-01-31  Yury Semikhatsky  <yurys@chromium.org>
12658
12659         Unreviewed. Fix Chromium compilation on Linux.
12660
12661         * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
12662         * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
12663
12664 2011-01-31  Yury Semikhatsky  <yurys@chromium.org>
12665
12666         Unreviewed. Fix Chromium compilation on Mac broken by r77101.
12667
12668         * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
12669
12670 2011-01-31  Mikhail Naganov  <mnaganov@chromium.org>
12671
12672         Reviewed by Yury Semikhatsky.
12673
12674         WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
12675
12676         https://bugs.webkit.org/show_bug.cgi?id=53309
12677
12678         * English.lproj/localizedStrings.js:
12679         * inspector/front-end/ProfilesPanel.js:
12680         (WebInspector.ProfilesPanel):
12681
12682 2011-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
12683
12684         Unreviewed, fix the build with current GTK+ 3.x.
12685
12686         * plugins/gtk/gtk2xtbin.c:
12687         * plugins/gtk/gtk2xtbin.h:
12688
12689 2011-01-30  Kenichi Ishibashi  <bashi@google.com>
12690
12691         Reviewed by Kent Tamura.
12692
12693         Dangling form associated elements should not be registered on the document
12694         https://bugs.webkit.org/show_bug.cgi?id=53223
12695
12696         Adds insertedIntoDocument() and remvoedFromDocument() to
12697         FormAssociatedElement class to register the element on the document
12698         if and only if it actually inserted into (removed from) the document.
12699
12700         Test: fast/forms/dangling-form-element-crash.html
12701
12702         * html/FormAssociatedElement.cpp:
12703         (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
12704         (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
12705         (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
12706         the element to a document.
12707         (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
12708         the element from a document.
12709         * html/FormAssociatedElement.h:
12710         * html/HTMLFormControlElement.cpp:
12711         (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
12712         (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
12713         * html/HTMLFormControlElement.h:
12714         * html/HTMLObjectElement.cpp:
12715         (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
12716         FormAssociatedElement::insertedIntoDocument().
12717         (WebCore::HTMLObjectElement::removedFromDocument): Calls
12718         FormAssociatedElement::removedFromDocument().
12719
12720 2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
12721
12722         Unreviewed, rolling out r77098, r77099, r77100, r77109, and
12723         r77111.
12724         http://trac.webkit.org/changeset/77098
12725         http://trac.webkit.org/changeset/77099
12726         http://trac.webkit.org/changeset/77100
12727         http://trac.webkit.org/changeset/77109
12728         http://trac.webkit.org/changeset/77111
12729         https://bugs.webkit.org/show_bug.cgi?id=53219
12730
12731         Qt build is broken
12732
12733         * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
12734         * WebCore.exp.in:
12735         * bindings/js/DOMWrapperWorld.h:
12736         * bindings/js/JSAudioConstructor.cpp:
12737         (WebCore::JSAudioConstructor::JSAudioConstructor):
12738         * bindings/js/JSDOMBinding.cpp:
12739         (WebCore::markDOMNodesForDocument):
12740         (WebCore::markDOMObjectWrapper):
12741         (WebCore::markDOMNodeWrapper):
12742         * bindings/js/JSDOMGlobalObject.cpp:
12743         (WebCore::JSDOMGlobalObject::markChildren):
12744         (WebCore::JSDOMGlobalObject::setInjectedScript):
12745         (WebCore::JSDOMGlobalObject::injectedScript):
12746         * bindings/js/JSDOMGlobalObject.h:
12747         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
12748         (WebCore::getDOMConstructor):
12749         * bindings/js/JSDOMWindowCustom.cpp:
12750         (WebCore::JSDOMWindow::setLocation):
12751         (WebCore::DialogHandler::dialogCreated):
12752         * bindings/js/JSDOMWindowShell.cpp:
12753         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
12754         (WebCore::JSDOMWindowShell::setWindow):
12755         (WebCore::JSDOMWindowShell::markChildren):
12756         (WebCore::JSDOMWindowShell::unwrappedObject):
12757         * bindings/js/JSDOMWindowShell.h:
12758         (WebCore::JSDOMWindowShell::window):
12759         (WebCore::JSDOMWindowShell::setWindow):
12760         * bindings/js/JSDeviceMotionEventCustom.cpp:
12761         (WebCore::createAccelerationObject):
12762         (WebCore::createRotationRateObject):
12763         * bindings/js/JSEventListener.cpp:
12764         (WebCore::JSEventListener::JSEventListener):
12765         (WebCore::JSEventListener::markJSFunction):
12766         * bindings/js/JSEventListener.h:
12767         (WebCore::JSEventListener::jsFunction):
12768         * bindings/js/JSHTMLDocumentCustom.cpp:
12769         (WebCore::JSHTMLDocument::setAll):
12770         * bindings/js/JSImageConstructor.cpp:
12771         (WebCore::JSImageConstructor::JSImageConstructor):
12772         * bindings/js/JSImageDataCustom.cpp:
12773         (WebCore::toJS):
12774         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
12775         (WebCore::JSJavaScriptCallFrame::scopeChain):
12776         (WebCore::JSJavaScriptCallFrame::scopeType):
12777         * bindings/js/JSNodeFilterCondition.cpp:
12778         (WebCore::JSNodeFilterCondition::markAggregate):
12779         (WebCore::JSNodeFilterCondition::acceptNode):
12780         * bindings/js/JSNodeFilterCondition.h:
12781         * bindings/js/JSNodeFilterCustom.cpp:
12782         * bindings/js/JSOptionConstructor.cpp:
12783         (WebCore::JSOptionConstructor::JSOptionConstructor):
12784         * bindings/js/JSSQLResultSetRowListCustom.cpp:
12785         (WebCore::JSSQLResultSetRowList::item):
12786         * bindings/js/ScriptCachedFrameData.cpp:
12787         (WebCore::ScriptCachedFrameData::restore):
12788         * bindings/js/ScriptObject.cpp:
12789         (WebCore::ScriptGlobalObject::set):
12790         * bindings/js/SerializedScriptValue.cpp:
12791         (WebCore::CloneDeserializer::putProperty):
12792         * bindings/scripts/CodeGeneratorJS.pm:
12793         * bridge/qt/qt_instance.cpp:
12794         (JSC::Bindings::QtInstance::QtInstance):
12795         (JSC::Bindings::QtInstance::removeCachedMethod):
12796         (JSC::Bindings::QtInstance::markAggregate):
12797         * bridge/qt/qt_instance.h:
12798         * bridge/qt/qt_runtime.cpp:
12799         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
12800         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
12801         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
12802         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
12803         * bridge/qt/qt_runtime.h:
12804         * bridge/runtime_root.cpp:
12805         (JSC::Bindings::RootObject::invalidate):
12806         * bridge/runtime_root.h:
12807         * dom/Document.h:
12808
12809 2011-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
12810
12811         Unreviewed, rolling out r77107.
12812         http://trac.webkit.org/changeset/77107
12813         https://bugs.webkit.org/show_bug.cgi?id=53412
12814
12815         Caused 5 new form-related test crashes (Requested by smfr on
12816         #webkit).
12817
12818         * css/CSSSelector.cpp:
12819         (WebCore::CSSSelector::pseudoId):
12820         (WebCore::nameToPseudoTypeMap):
12821         (WebCore::CSSSelector::extractPseudoType):
12822         * css/CSSSelector.h:
12823         * html/HTMLProgressElement.cpp:
12824         (WebCore::HTMLProgressElement::parseMappedAttribute):
12825         (WebCore::HTMLProgressElement::attach):
12826         * html/HTMLProgressElement.h:
12827         * rendering/RenderProgress.cpp:
12828         (WebCore::RenderProgress::~RenderProgress):
12829         (WebCore::RenderProgress::updateFromElement):
12830         (WebCore::RenderProgress::layoutParts):
12831         (WebCore::RenderProgress::shouldHaveParts):
12832         * rendering/RenderProgress.h:
12833         * rendering/style/RenderStyleConstants.h:
12834
12835 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
12836
12837         Reviewed by Sam Weinig.
12838
12839         Enhance ShadowBlur to render inset box shadows
12840         https://bugs.webkit.org/show_bug.cgi?id=51567
12841         
12842         Use ShadowBlur for inset box-shadows with CG. It 
12843         currently lacks a tiled version, but is still much
12844         faster than CG shadows.
12845
12846         Test: fast/box-shadow/inset-box-shadow-radius.html
12847
12848         * platform/graphics/ShadowBlur.cpp:
12849         * platform/graphics/ShadowBlur.h: New method for inset
12850         shadows.
12851         (WebCore::ShadowBlur::drawInsetShadow): 
12852
12853         * platform/graphics/GraphicsContext.cpp: #ifdef out
12854         fillRectWithRoundedHole() for CG.
12855
12856         * platform/graphics/cg/GraphicsContextCG.cpp:
12857         (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
12858         a shadow with a radius > 0, use ShadowBlur.
12859
12860 2011-01-28  Kenneth Russell  <kbr@google.com>
12861
12862         Reviewed by Chris Marrin.
12863
12864         WebGL shows PNG Textures with indexed colors too dark
12865         https://bugs.webkit.org/show_bug.cgi?id=47477
12866
12867         Properly handle indexed PNG images by re-rendering them as RGBA
12868         images before upload. Verified with this layout test and the test
12869         cases from bugs 47477 and 53269.
12870
12871         * platform/graphics/cg/GraphicsContext3DCG.cpp:
12872         (WebCore::GraphicsContext3D::getImageData):
12873
12874 2011-01-27  MORITA Hajime  <morrita@google.com>
12875
12876         Reviewed by Dimitri Glazkov.
12877         
12878         Convert <progress> shadow DOM to a DOM-based shadow.
12879         https://bugs.webkit.org/show_bug.cgi?id=50660
12880
12881         * Removed RenderProgress::m_valuePart, moved the shadow node
12882           to the shadow root of HTMLProgressElement.
12883         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
12884           ProgressBarValueElement is defined only for overriding
12885           shadowPseudoId().
12886         
12887         No new tests. No behavioral change.
12888
12889         * css/CSSSelector.cpp:
12890         (WebCore::CSSSelector::pseudoId):
12891         (WebCore::nameToPseudoTypeMap):
12892         (WebCore::CSSSelector::extractPseudoType):
12893         * css/CSSSelector.h:
12894         * html/HTMLProgressElement.cpp:
12895         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
12896         (WebCore::ProgressBarValueElement::shadowPseudoId):
12897         (WebCore::ProgressBarValueElement::create):
12898         (WebCore::HTMLProgressElement::parseMappedAttribute):
12899         (WebCore::HTMLProgressElement::attach):
12900         (WebCore::HTMLProgressElement::valuePart):
12901         (WebCore::HTMLProgressElement::didElementStateChange):
12902         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
12903         * html/HTMLProgressElement.h:
12904         * rendering/RenderProgress.cpp:
12905         (WebCore::RenderProgress::~RenderProgress):
12906         (WebCore::RenderProgress::updateFromElement):
12907         (WebCore::RenderProgress::layoutParts):
12908         (WebCore::RenderProgress::shouldHaveParts):
12909         (WebCore::RenderProgress::valuePart):
12910         * rendering/RenderProgress.h:
12911         * rendering/style/RenderStyleConstants.h:
12912
12913 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
12914
12915         Reviewed by Ariya Hidayat.
12916
12917         Enhance ShadowBlur to render inset box shadows; Part 1.
12918         https://bugs.webkit.org/show_bug.cgi?id=51567
12919         
12920         Add a new method to GraphicsContext to render a rect with a rounded hole,
12921         for use by inset box-shadow code. Knowledge that we're rendering a rounded
12922         hole will enable ShadowBlur to be used here in future.
12923
12924         * platform/graphics/GraphicsContext.cpp:
12925         (WebCore::GraphicsContext::fillRectWithRoundedHole):
12926         * platform/graphics/GraphicsContext.h:
12927         * rendering/RenderBoxModelObject.cpp:
12928         (WebCore::RenderBoxModelObject::paintBoxShadow):
12929
12930 2011-01-23  MORITA Hajime  <morrita@google.com>
12931
12932         Reviewed by Eric Seidel.
12933
12934         REGRESSION: Inset shadow with too large border radius misses rounded corner.
12935         https://bugs.webkit.org/show_bug.cgi?id=52800
12936
12937         The refactoring on r76083 broke the invariant between border
12938         IntRect and its radii because RoundedIntRect::setRect() is called
12939         after getRoundedInnerBorderWithBorderWidths(), which enforces the
12940         invariant. Th rounded-rect clipping code verifies the invariant,
12941         and discard the invalid radii, that results broken paintings.
12942         
12943         This change moved setRect() before
12944         getRoundedInnerBorderWithBorderWidths() not to modify the valid
12945         RoundedIntRect value.
12946         
12947         Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
12948
12949         * rendering/RenderBoxModelObject.cpp:
12950         (WebCore::RenderBoxModelObject::paintBoxShadow):
12951
12952 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
12953
12954         Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
12955         vcproj.
12956
12957         * WebCore.vcproj/WebCore.vcproj:
12958
12959 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
12960
12961         Reviewed by Dan Bernstein.
12962
12963         -webkit-box-shadow causes awful scroll/resize/redraw performance
12964         https://bugs.webkit.org/show_bug.cgi?id=22102
12965         
12966         Use ShadowBlur for CG, whe rendering shadows on rects and
12967         rounded rects outside of canvas.
12968         
12969         CG shadows with a radius of more than 8px do not render
12970         correctly. We preserve this incorrect rendering by compensating
12971         for it when rending -webkit-box-shadow. Calls that should use
12972         this deprecated radius behavior now use setLegacyShadow().
12973
12974         Test: fast/box-shadow/box-shadow-transformed.html
12975         
12976         * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
12977         for canvas, to indicate that it should use the deprecated radius
12978         behavior.
12979         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
12980         (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
12981         (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
12982         
12983         * platform/graphics/GraphicsContext.cpp:
12984         (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
12985         
12986         * platform/graphics/GraphicsContext.h:
12987         (WebCore::GraphicsContextState::GraphicsContextState): Add a 
12988         shadowsUseLegacyRadius bit to the state.
12989         
12990         * platform/graphics/cg/GraphicsContextCG.cpp:
12991         (WebCore::radiusToLegacyRadius): Map from the actual radius to one
12992         that approximates CG behavior.
12993         (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
12994         with a non-zero blur radius.
12995         (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
12996         (WebCore::GraphicsContext::fillRoundedRect): Ditto.
12997         (WebCore::GraphicsContext::setPlatformShadow): Comment.
12998
12999         * rendering/RenderBoxModelObject.cpp:
13000         (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
13001         for -webkit-box-shadow.
13002
13003         * platform/graphics/ShadowBlur.cpp: 
13004         (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
13005         by rounding up the blur radius.
13006         (WebCore::ShadowBlur::drawRectShadow): Ditto
13007         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
13008
13009 2011-01-30  Oliver Hunt  <oliver@apple.com>
13010
13011         Try to fix Qt build (again).
13012
13013         * bridge/qt/qt_runtime.cpp:
13014         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13015         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13016
13017 2011-01-30  Oliver Hunt  <oliver@apple.com>
13018
13019         Try to fix Qt build.
13020
13021         * bridge/qt/qt_instance.cpp:
13022         (JSC::Bindings::QtInstance::QtInstance):
13023         (JSC::Bindings::QtInstance::removeCachedMethod):
13024         (JSC::Bindings::QtInstance::markAggregate):
13025         * bridge/qt/qt_instance.h:
13026
13027 2011-01-30  Oliver Hunt  <oliver@apple.com>
13028
13029         Convert markstack to a slot visitor API
13030         https://bugs.webkit.org/show_bug.cgi?id=53219
13031
13032         rolling r77006 and r77020 back in.
13033
13034         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
13035         * WebCore.exp.in:
13036         * bindings/js/DOMWrapperWorld.h:
13037         (WebCore::DOMWrapperWorld::globalData):
13038         * bindings/js/JSAudioConstructor.cpp:
13039         (WebCore::JSAudioConstructor::JSAudioConstructor):
13040         * bindings/js/JSDOMBinding.cpp:
13041         (WebCore::markDOMNodesForDocument):
13042         (WebCore::markDOMObjectWrapper):
13043         (WebCore::markDOMNodeWrapper):
13044         * bindings/js/JSDOMGlobalObject.cpp:
13045         (WebCore::JSDOMGlobalObject::markChildren):
13046         (WebCore::JSDOMGlobalObject::setInjectedScript):
13047         (WebCore::JSDOMGlobalObject::injectedScript):
13048         * bindings/js/JSDOMGlobalObject.h:
13049         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
13050         (WebCore::getDOMConstructor):
13051         * bindings/js/JSDOMWindowCustom.cpp:
13052         (WebCore::JSDOMWindow::setLocation):
13053         (WebCore::DialogHandler::dialogCreated):
13054         * bindings/js/JSDOMWindowShell.cpp:
13055         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
13056         (WebCore::JSDOMWindowShell::setWindow):
13057         (WebCore::JSDOMWindowShell::markChildren):
13058         (WebCore::JSDOMWindowShell::unwrappedObject):
13059         * bindings/js/JSDOMWindowShell.h:
13060         (WebCore::JSDOMWindowShell::window):
13061         (WebCore::JSDOMWindowShell::setWindow):
13062         * bindings/js/JSDeviceMotionEventCustom.cpp:
13063         (WebCore::createAccelerationObject):
13064         (WebCore::createRotationRateObject):
13065         * bindings/js/JSEventListener.cpp:
13066         (WebCore::JSEventListener::JSEventListener):
13067         (WebCore::JSEventListener::markJSFunction):
13068         * bindings/js/JSEventListener.h:
13069         (WebCore::JSEventListener::jsFunction):
13070         * bindings/js/JSHTMLDocumentCustom.cpp:
13071         (WebCore::JSHTMLDocument::setAll):
13072         * bindings/js/JSImageConstructor.cpp:
13073         (WebCore::JSImageConstructor::JSImageConstructor):
13074         * bindings/js/JSImageDataCustom.cpp:
13075         (WebCore::toJS):
13076         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13077         (WebCore::JSJavaScriptCallFrame::scopeChain):
13078         (WebCore::JSJavaScriptCallFrame::scopeType):
13079         * bindings/js/JSNodeFilterCondition.cpp:
13080         (WebCore::JSNodeFilterCondition::markAggregate):
13081         (WebCore::JSNodeFilterCondition::acceptNode):
13082         * bindings/js/JSNodeFilterCondition.h:
13083         * bindings/js/JSNodeFilterCustom.cpp:
13084         * bindings/js/JSOptionConstructor.cpp:
13085         (WebCore::JSOptionConstructor::JSOptionConstructor):
13086         * bindings/js/JSSQLResultSetRowListCustom.cpp:
13087         (WebCore::JSSQLResultSetRowList::item):
13088         * bindings/js/ScriptCachedFrameData.cpp:
13089         (WebCore::ScriptCachedFrameData::restore):
13090         * bindings/js/ScriptObject.cpp:
13091         (WebCore::ScriptGlobalObject::set):
13092         * bindings/js/SerializedScriptValue.cpp:
13093         (WebCore::CloneDeserializer::putProperty):
13094         * bindings/scripts/CodeGeneratorJS.pm:
13095         * bridge/qt/qt_runtime.cpp:
13096         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
13097         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
13098         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13099         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13100         * bridge/qt/qt_runtime.h:
13101         * bridge/runtime_root.cpp:
13102         (JSC::Bindings::RootObject::invalidate):
13103         * bridge/runtime_root.h:
13104         * dom/Document.h:
13105
13106 2011-01-30  Simon Fraser  <simon.fraser@apple.com>
13107
13108         Reviewed by Sam Weinig.
13109
13110         Make ContextShadow code cross-platform
13111         https://bugs.webkit.org/show_bug.cgi?id=51312
13112
13113         Add a new class, ShadowBlur, that contains most of the
13114         code from ContextShadow, but is fully cross-platform.
13115         It depends on one new method, GraphicsContext::clipBounds(),
13116         which platforms will have to implement.
13117         
13118         Add ShadowBlur to the Mac Xcode project, but don't use it
13119         anywhere yet.
13120
13121         * WebCore.xcodeproj/project.pbxproj:
13122         * platform/graphics/GraphicsContext.cpp:
13123         (WebCore::GraphicsContext::clipBounds):
13124         * platform/graphics/GraphicsContext.h:
13125         * platform/graphics/ShadowBlur.cpp: Added.
13126         (WebCore::roundUpToMultipleOf32):
13127         (WebCore::ScratchBuffer::ScratchBuffer):
13128         (WebCore::ScratchBuffer::getScratchBuffer):
13129         (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
13130         (WebCore::ScratchBuffer::timerFired):
13131         (WebCore::ScratchBuffer::clearScratchBuffer):
13132         (WebCore::ScratchBuffer::shared):
13133         (WebCore::ShadowBlur::ShadowBlur):
13134         (WebCore::ShadowBlur::blurLayerImage):
13135         (WebCore::ShadowBlur::adjustBlurDistance):
13136         (WebCore::ShadowBlur::calculateLayerBoundingRect):
13137         (WebCore::ShadowBlur::beginShadowLayer):
13138         (WebCore::ShadowBlur::endShadowLayer):
13139         (WebCore::ShadowBlur::drawRectShadow):
13140         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
13141         (WebCore::ShadowBlur::drawRectShadowWithTiling):
13142         (WebCore::ShadowBlur::clipBounds):
13143         * platform/graphics/ShadowBlur.h: Added.
13144         (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
13145         (WebCore::ShadowBlur::shadowsIgnoreTransforms):
13146         * platform/graphics/cg/GraphicsContextCG.cpp:
13147         (WebCore::GraphicsContext::clipBounds):
13148
13149 2011-01-29  Simon Fraser  <simon.fraser@apple.com>
13150
13151         Reviewed by Dan Bernstein.
13152
13153         CSS3 gradients with em-based stops fail to repaint when font size changes
13154         https://bugs.webkit.org/show_bug.cgi?id=51845
13155         
13156         Mark as uncacheable gradidients whose color stops depend on font size,
13157         and don't attempt to put these into CSSImageGeneratorValue's image cache.
13158         This means we return a new gradient each time, which is fairly cheap, and
13159         fixes repaint issues under changing font size.
13160
13161         Test: fast/repaint/gradients-em-stops-repaint.html
13162
13163         * css/CSSGradientValue.cpp:
13164         (WebCore::CSSGradientValue::image):
13165         (WebCore::CSSGradientValue::isCacheable):
13166         * css/CSSGradientValue.h:
13167
13168 2011-01-29  Geoffrey Garen  <ggaren@apple.com>
13169
13170         Undo try to fix the Qt build.
13171         
13172         My guess didn't work.
13173
13174         * WebCore.pro:
13175
13176 2011-01-29  Geoffrey Garen  <ggaren@apple.com>
13177
13178         Try to fix the Qt build.
13179
13180         * WebCore.pro: Added platform/text/CharacterNames.h.
13181
13182 2011-01-28  Geoffrey Garen  <ggaren@apple.com>
13183
13184         Reviewed by Maciej Stachowiak.
13185
13186         Some more Heap cleanup.
13187         https://bugs.webkit.org/show_bug.cgi?id=53357
13188         
13189         Updated for JavaScriptCore changes.
13190
13191         * bindings/js/ScriptGCEvent.cpp:
13192         (WebCore::ScriptGCEvent::getHeapSize):
13193
13194 2011-01-29  Adam Barth  <abarth@webkit.org>
13195
13196         Reviewed by Daniel Bates.
13197
13198         Fix XSSFilter crash when extracting the source for a token twice
13199         https://bugs.webkit.org/show_bug.cgi?id=53368
13200
13201         Previously, it was unsafe to extract the source for the same token
13202         twice because the HTMLSourceTracker would advance its internal
13203         representation of the SegmentedString.  This patch introduces a cache
13204         to make calling HTMLSourceTracker::sourceForToken multiple times safe.
13205
13206         * html/parser/HTMLSourceTracker.cpp:
13207         (WebCore::HTMLSourceTracker::end):
13208         (WebCore::HTMLSourceTracker::sourceForToken):
13209         * html/parser/HTMLSourceTracker.h:
13210
13211 2011-01-29  Maciej Stachowiak  <mjs@apple.com>
13212
13213         Reviewed by Dan Bernstein.
13214
13215         Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
13216         https://bugs.webkit.org/show_bug.cgi?id=53386
13217
13218         * platform/mac/ScrollAnimatorMac.mm:
13219         (WebCore::elasticDeltaForReboundDelta):
13220         (WebCore::scrollWheelMultiplier):
13221         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
13222         (WebCore::ScrollAnimatorMac::beginScrollGesture):
13223         (WebCore::roundTowardZero):
13224         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
13225
13226 2011-01-29  Daniel Bates  <dbates@rim.com>
13227
13228         Reviewed by Maciej Stachowiak.
13229
13230         Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
13231         https://bugs.webkit.org/show_bug.cgi?id=53382
13232
13233         Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
13234         So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
13235         Therefore, we should remove such references.
13236
13237         * CMakeLists.txt:
13238
13239 2011-01-29  Sam Weinig  <sam@webkit.org>
13240
13241         Reviewed by Jon Honeycutt.
13242
13243         Fix 32-bit build on the Mac.
13244
13245         * platform/mac/ScrollAnimatorMac.mm:
13246         (WebCore::roundTowardZero):
13247         (WebCore::roundToDevicePixelTowardZero):
13248         Use floats instead of doubles to avoid double-to-float conversion
13249         issues.
13250
13251 2011-01-29  Simon Fraser  <simon.fraser@apple.com>
13252
13253         Reviewed by Adam Barth.
13254
13255         Use clampToInteger() functions in a few places
13256         https://bugs.webkit.org/show_bug.cgi?id=53363
13257         
13258         * css/CSSStyleSelector.cpp:
13259         (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
13260         (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
13261         * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
13262         (WebCore::PerspectiveTransformOperation::blend): Ditto.
13263
13264 2011-01-29  Patrick Gansterer  <paroga@webkit.org>
13265
13266         Reviewed by David Kilzer.
13267
13268         Move CharacterNames.h into WTF directory
13269         https://bugs.webkit.org/show_bug.cgi?id=49618
13270
13271         * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
13272         * GNUmakefile.am:
13273         * WebCore.gypi:
13274         * WebCore.vcproj/WebCore.vcproj:
13275         * WebCore.xcodeproj/project.pbxproj:
13276         * accessibility/AccessibilityObject.cpp:
13277         * accessibility/AccessibilityRenderObject.cpp:
13278         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
13279         * bindings/js/JSHTMLDocumentCustom.cpp:
13280         * dom/Position.cpp:
13281         * dom/SelectElement.cpp:
13282         * editing/CompositeEditCommand.cpp:
13283         * editing/Editor.cpp:
13284         * editing/HTMLInterchange.cpp:
13285         * editing/InsertTextCommand.cpp:
13286         * editing/MarkupAccumulator.cpp:
13287         * editing/TextIterator.cpp:
13288         * editing/VisibleSelection.cpp:
13289         * editing/htmlediting.cpp:
13290         * editing/htmlediting.h:
13291         * editing/markup.cpp:
13292         * html/FTPDirectoryDocument.cpp:
13293         * html/HTMLFormControlElement.cpp:
13294         * html/parser/HTMLTreeBuilder.cpp:
13295         * loader/appcache/ManifestParser.cpp:
13296         * platform/chromium/PopupMenuChromium.cpp:
13297         * platform/graphics/Font.h:
13298         * platform/graphics/FontFastPath.cpp:
13299         * platform/graphics/GlyphPageTreeNode.cpp:
13300         * platform/graphics/StringTruncator.cpp:
13301         * platform/graphics/mac/ComplexTextController.cpp:
13302         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
13303         * platform/graphics/wince/GraphicsContextWinCE.cpp:
13304         * platform/mac/PasteboardMac.mm:
13305         * platform/text/TextCodecICU.cpp:
13306         * platform/text/mac/TextCodecMac.cpp:
13307         * platform/text/transcoder/FontTranscoder.cpp:
13308         * rendering/RenderBlockLineLayout.cpp:
13309         * rendering/RenderFlexibleBox.cpp:
13310         * rendering/RenderListMarker.cpp:
13311         * rendering/RenderText.cpp:
13312         * rendering/RenderTextControl.cpp:
13313         * rendering/RenderTreeAsText.cpp:
13314         * rendering/break_lines.cpp:
13315         * rendering/mathml/RenderMathMLOperator.h:
13316         * websockets/WebSocketHandshake.cpp:
13317         * wml/WMLTableElement.cpp:
13318
13319 2011-01-29  Dan Winship  <danw@gnome.org>
13320
13321         Reviewed by Xan Lopez.
13322
13323         [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
13324         libsoup 2.33.1 now.
13325         https://bugs.webkit.org/show_bug.cgi?id=50675
13326
13327         * platform/network/soup/CookieJarSoup.cpp:
13328         (WebCore::defaultCookieJar):
13329         (WebCore::setCookies):
13330         * platform/network/soup/ResourceHandleSoup.cpp:
13331         (WebCore::ResourceHandle::prepareForURL):
13332         (WebCore::restartedCallback):
13333         (WebCore::startHttp):
13334         * platform/network/soup/ResourceRequestSoup.cpp:
13335         (WebCore::ResourceRequest::updateSoupMessage):
13336         (WebCore::ResourceRequest::toSoupMessage):
13337         (WebCore::ResourceRequest::updateFromSoupMessage):
13338
13339 2011-01-29  Adam Barth  <abarth@webkit.org>
13340
13341         Reviewed by Daniel Bates.
13342
13343         XSSFilter should replace URLs with about:blank instead of the empty string
13344         https://bugs.webkit.org/show_bug.cgi?id=53370
13345
13346         Using the empty string will make the URL complete to the current
13347         document's URL, which isn't really what we want.  Instead, we want to
13348         use about:blank, which is safe.
13349
13350         * html/parser/XSSFilter.cpp:
13351         (WebCore::XSSFilter::filterObjectToken):
13352         (WebCore::XSSFilter::filterEmbedToken):
13353
13354 2011-01-29  Adam Barth  <abarth@webkit.org>
13355
13356         Reviewed by Daniel Bates.
13357
13358         XSSFilter should pass xssAuditor/script-tag-addslashes*
13359         https://bugs.webkit.org/show_bug.cgi?id=53365
13360
13361         We need to canonicalize strings to avoid being tricked by addslashes.
13362
13363         * html/parser/XSSFilter.cpp:
13364         (WebCore::HTMLNames::isNonCanonicalCharacter):
13365             - This function is copied from the XSSAuditor (with some tweaks).
13366               We'll eventually remove the XSSAuditor once we've got XSSFilter
13367               working properly.
13368         (WebCore::HTMLNames::canonicalize):
13369         (WebCore::HTMLNames::decodeURL):
13370         (WebCore::XSSFilter::isContainedInRequest):
13371
13372 2011-01-29  Adam Barth  <abarth@webkit.org>
13373
13374         Reviewed by Daniel Bates.
13375
13376         XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
13377         and xssAuditor/script-tag-post-*
13378         https://bugs.webkit.org/show_bug.cgi?id=53364
13379
13380         We're supposed to allow loading same-origin resources even if they
13381         appear as part of the request.
13382
13383         Also, we're supposed to look at the POST data too.  :)
13384
13385         * html/parser/XSSFilter.cpp:
13386         (WebCore::XSSFilter::eraseAttributeIfInjected):
13387         (WebCore::XSSFilter::isSameOriginResource):
13388             - Copy/paste from XSSAuditor::isSameOriginResource.  We'll
13389               eventually remove the XSSAuditor version when XSSFilter is done.
13390         * html/parser/XSSFilter.h:
13391
13392 2011-01-29  Adam Barth  <abarth@webkit.org>
13393
13394         Reviewed by Daniel Bates.
13395
13396         XSSFilter should pass 16 of the xssAuditor/script-tag* tests
13397         https://bugs.webkit.org/show_bug.cgi?id=53362
13398
13399         Turns out we need to replace the src attribute of script tags with
13400         about:blank to avoid loading the main document URL as a script.  Also,
13401         move misplaced return statement that was triggering the console message
13402         too often.
13403
13404         * html/parser/HTMLToken.h:
13405         (WebCore::HTMLToken::appendToAttributeValue):
13406         * html/parser/XSSFilter.cpp:
13407         (WebCore::XSSFilter::filterScriptToken):
13408         (WebCore::XSSFilter::eraseAttributeIfInjected):
13409         * html/parser/XSSFilter.h:
13410
13411 2011-01-28  Jon Honeycutt  <jhoneycutt@apple.com>
13412
13413         Downloads in WK2 on Windows should write resume data to bundle
13414         https://bugs.webkit.org/show_bug.cgi?id=53282
13415         <rdar://problem/8753077>
13416
13417         Reviewed by Alice Liu.
13418
13419         * WebCore.vcproj/WebCore.vcproj:
13420         Added new files to project.
13421
13422         * platform/network/cf/DownloadBundle.h: Added.
13423         * platform/network/win/DownloadBundleWin.cpp: Added.
13424         (WebCore::DownloadBundle::magicNumber):
13425         Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
13426         it.
13427         (WebCore::DownloadBundle::fileExtension):
13428         Ditto.
13429         (WebCore::DownloadBundle::appendResumeData):
13430         Ditto - but modified to return bool rather than HRESULT and to clean up
13431         whitespace.
13432         (WebCore::DownloadBundle::extractResumeData):
13433         Ditto - modified to clean up whitespace.
13434
13435 2011-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
13436
13437         Unreviewed, rolling out r77050.
13438         http://trac.webkit.org/changeset/77050
13439         https://bugs.webkit.org/show_bug.cgi?id=53371
13440
13441         Caused a crash in Chromium's test_shell_tests (Requested by
13442         rniwa on #webkit).
13443
13444         * html/parser/HTMLTreeBuilder.cpp:
13445         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
13446         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
13447         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
13448         * html/parser/HTMLTreeBuilder.h:
13449
13450 2011-01-28  Eric Seidel  <eric@webkit.org>
13451
13452         Reviewed by Darin Adler.
13453
13454         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
13455         https://bugs.webkit.org/show_bug.cgi?id=48719
13456
13457         It's unclear exactly what the Peacekeeper benchmark is testing,
13458         because I haven't found a way to run it myself.
13459
13460         However, I constructed a benchmark which shows at least one possible slow point.
13461         The HTML5 spec talks about creating a new document for every time we use
13462         the fragment parsing algorithm.  Document() it turns out, it a huge bloated
13463         mess, and the constructor and destructor do a huge amount of work.
13464         To avoid constructing (or destructing) documents for each innerHTML call,
13465         this patch adds a shared dummy document used by all innerHTML calls.
13466
13467         This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
13468         to only 1.5x slower than Safari 5.  I'm sure there is more work to do here.
13469
13470         Saving a shared Document like this is error prone.  Currently
13471         DummyDocumentFactory::releaseDocument() calls removeAllChildren()
13472         in an attempt to clear the Document's state. However it's possible
13473         that that call is not sufficient and we'll have future bugs here.
13474
13475         * html/parser/HTMLTreeBuilder.cpp:
13476         (WebCore::DummyDocumentFactory::createDummyDocument):
13477         (WebCore::DummyDocumentFactory::releaseDocument):
13478         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
13479         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
13480         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
13481         * html/parser/HTMLTreeBuilder.h:
13482
13483 2011-01-28  Johnny Ding  <jnd@chromium.org>
13484
13485         Reviewed by Adam Barth.
13486
13487         Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
13488         The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
13489         https://bugs.webkit.org/show_bug.cgi?id=53244
13490
13491         Test: fast/events/popup-blocked-from-iframe-src.html
13492
13493         * bindings/ScriptControllerBase.cpp:
13494         (WebCore::ScriptController::executeIfJavaScriptURL):
13495
13496 2011-01-28  Simon Fraser  <simon.fraser@apple.com>
13497
13498         Reviewed by Gavin Barraclough.
13499
13500         Add various clampToInt() methods to MathExtras.h
13501         https://bugs.webkit.org/show_bug.cgi?id=52910
13502
13503         Use clampToInteger() from MathExtras.h
13504
13505         * css/CSSParser.cpp:
13506         (WebCore::CSSParser::parseCounter):
13507
13508 2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
13509
13510         Unreviewed, rolling out r77006 and r77020.
13511         http://trac.webkit.org/changeset/77006
13512         http://trac.webkit.org/changeset/77020
13513         https://bugs.webkit.org/show_bug.cgi?id=53360
13514
13515         "Broke Windows tests" (Requested by rniwa on #webkit).
13516
13517         * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
13518         * WebCore.exp.in:
13519         * bindings/js/DOMWrapperWorld.h:
13520         * bindings/js/JSAudioConstructor.cpp:
13521         (WebCore::JSAudioConstructor::JSAudioConstructor):
13522         * bindings/js/JSDOMBinding.cpp:
13523         (WebCore::markDOMNodesForDocument):
13524         (WebCore::markDOMObjectWrapper):
13525         (WebCore::markDOMNodeWrapper):
13526         * bindings/js/JSDOMGlobalObject.cpp:
13527         (WebCore::JSDOMGlobalObject::markChildren):
13528         (WebCore::JSDOMGlobalObject::setInjectedScript):
13529         (WebCore::JSDOMGlobalObject::injectedScript):
13530         * bindings/js/JSDOMGlobalObject.h:
13531         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
13532         (WebCore::getDOMConstructor):
13533         * bindings/js/JSDOMWindowCustom.cpp:
13534         (WebCore::JSDOMWindow::setLocation):
13535         (WebCore::DialogHandler::dialogCreated):
13536         * bindings/js/JSDOMWindowShell.cpp:
13537         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
13538         (WebCore::JSDOMWindowShell::setWindow):
13539         (WebCore::JSDOMWindowShell::markChildren):
13540         (WebCore::JSDOMWindowShell::unwrappedObject):
13541         * bindings/js/JSDOMWindowShell.h:
13542         (WebCore::JSDOMWindowShell::window):
13543         (WebCore::JSDOMWindowShell::setWindow):
13544         * bindings/js/JSDeviceMotionEventCustom.cpp:
13545         (WebCore::createAccelerationObject):
13546         (WebCore::createRotationRateObject):
13547         * bindings/js/JSEventListener.cpp:
13548         (WebCore::JSEventListener::JSEventListener):
13549         (WebCore::JSEventListener::markJSFunction):
13550         * bindings/js/JSEventListener.h:
13551         (WebCore::JSEventListener::jsFunction):
13552         * bindings/js/JSHTMLDocumentCustom.cpp:
13553         (WebCore::JSHTMLDocument::setAll):
13554         * bindings/js/JSImageConstructor.cpp:
13555         (WebCore::JSImageConstructor::JSImageConstructor):
13556         * bindings/js/JSImageDataCustom.cpp:
13557         (WebCore::toJS):
13558         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13559         (WebCore::JSJavaScriptCallFrame::scopeChain):
13560         (WebCore::JSJavaScriptCallFrame::scopeType):
13561         * bindings/js/JSNodeFilterCondition.cpp:
13562         (WebCore::JSNodeFilterCondition::markAggregate):
13563         (WebCore::JSNodeFilterCondition::acceptNode):
13564         * bindings/js/JSNodeFilterCondition.h:
13565         * bindings/js/JSNodeFilterCustom.cpp:
13566         * bindings/js/JSOptionConstructor.cpp:
13567         (WebCore::JSOptionConstructor::JSOptionConstructor):
13568         * bindings/js/JSSQLResultSetRowListCustom.cpp:
13569         (WebCore::JSSQLResultSetRowList::item):
13570         * bindings/js/ScriptCachedFrameData.cpp:
13571         (WebCore::ScriptCachedFrameData::restore):
13572         * bindings/js/ScriptObject.cpp:
13573         (WebCore::ScriptGlobalObject::set):
13574         * bindings/js/SerializedScriptValue.cpp:
13575         (WebCore::CloneDeserializer::putProperty):
13576         * bindings/scripts/CodeGeneratorJS.pm:
13577         * bridge/qt/qt_runtime.cpp:
13578         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
13579         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
13580         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13581         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13582         * bridge/qt/qt_runtime.h:
13583         * bridge/runtime_root.cpp:
13584         (JSC::Bindings::RootObject::invalidate):
13585         * bridge/runtime_root.h:
13586         * dom/Document.h:
13587
13588 2011-01-28  Adam Barth  <abarth@webkit.org>
13589
13590         Reviewed by Eric Seidel.
13591
13592         XSSFilter should log to the console when it blocks something
13593         https://bugs.webkit.org/show_bug.cgi?id=53354
13594
13595         This patch refactors a bunch of methods in XSSFilter to return a bool
13596         indicating whether they blocked anything.  Using this bool, we decide
13597         whether to log to the console.  We're using the same log message as the
13598         XSSAuditor, but it seems likely we can improve this message in the
13599         future (especially by piping in the correct line number, which is now
13600         accessible via the parser).
13601
13602         * html/parser/XSSFilter.cpp:
13603         (WebCore::HTMLNames::isNameOfInlineEventHandler):
13604         (WebCore::XSSFilter::filterToken):
13605         (WebCore::XSSFilter::filterTokenInitial):
13606         (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
13607         (WebCore::XSSFilter::filterScriptToken):
13608         (WebCore::XSSFilter::filterObjectToken):
13609         (WebCore::XSSFilter::filterEmbedToken):
13610         (WebCore::XSSFilter::filterAppletToken):
13611         (WebCore::XSSFilter::filterMetaToken):
13612         (WebCore::XSSFilter::filterBaseToken):
13613         (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
13614         * html/parser/XSSFilter.h:
13615
13616 2011-01-28  Adam Barth  <abarth@webkit.org>
13617
13618         Reviewed by Daniel Bates.
13619
13620         Wire up settings->xssAuditorEnabled to XSSFilter
13621         https://bugs.webkit.org/show_bug.cgi?id=53345
13622
13623         * html/parser/XSSFilter.cpp:
13624         (WebCore::XSSFilter::XSSFilter):
13625         (WebCore::XSSFilter::filterToken):
13626         * html/parser/XSSFilter.h:
13627
13628 2011-01-28  Adam Barth  <abarth@webkit.org>
13629
13630         Reviewed by Daniel Bates.
13631
13632         Teach XSSFilter about <meta> and <base> tags
13633         https://bugs.webkit.org/show_bug.cgi?id=53339
13634
13635         I'm not 100% sure we need to block <meta http-equiv>, but it seems
13636         prudent given how powerful that attribute is.  We definitely need to
13637         block injection of <base href> because that can redirect script tags
13638         that use relative URLs.
13639
13640         * html/parser/XSSFilter.cpp:
13641         (WebCore::XSSFilter::filterToken):
13642         (WebCore::XSSFilter::filterMetaToken):
13643         (WebCore::XSSFilter::filterBaseToken):
13644         * html/parser/XSSFilter.h:
13645
13646 2011-01-28  Adam Barth  <abarth@webkit.org>
13647
13648         Reviewed by Daniel Bates.
13649
13650         Teach XSSFilter about <applet>
13651         https://bugs.webkit.org/show_bug.cgi?id=53338
13652
13653         HTML5 is pretty light on information about how the <applet> tag works.
13654         According to this site:
13655
13656         http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
13657
13658         The "code" and "object" attributes are the essential attributes for
13659         determining which piece of Java to run.  We might need to expand to the
13660         codebase and archive attributes at some point, but hopefully code and
13661         object will be sufficient.
13662
13663         * html/parser/XSSFilter.cpp:
13664         (WebCore::XSSFilter::filterToken):
13665         (WebCore::XSSFilter::filterAppletToken):
13666         * html/parser/XSSFilter.h:
13667
13668 2011-01-28  Adam Barth  <abarth@webkit.org>
13669
13670         Reviewed by Daniel Bates.
13671
13672         Teach the XSSFilter about object and embed tags
13673         https://bugs.webkit.org/show_bug.cgi?id=53336
13674
13675         For <object> and <embed>, we filter out attribute values that either
13676         indicate which piece of media to load or which plugin to load.  In a
13677         perfect world, we'd only need to filter out the URLs of the media, but
13678         some plug-ins (like Flash) have lots of fun places you can hide the
13679         URL (e.g., the "movie" <param>).
13680
13681         * html/parser/XSSFilter.cpp:
13682         (WebCore::XSSFilter::filterToken):
13683         (WebCore::XSSFilter::filterScriptToken):
13684         (WebCore::XSSFilter::filterObjectToken):
13685         (WebCore::XSSFilter::filterEmbedToken):
13686         (WebCore::XSSFilter::eraseAttributeIfInjected):
13687         * html/parser/XSSFilter.h:
13688
13689 2011-01-28  Oliver Hunt  <oliver@apple.com>
13690
13691         Fix Qt build.
13692
13693         * bridge/qt/qt_runtime.cpp:
13694         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
13695         (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
13696         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13697         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13698         * bridge/qt/qt_runtime.h:
13699
13700 2011-01-28  Antti Koivisto  <antti@apple.com>
13701
13702         Reviewed by Simon Fraser.
13703
13704         CSS styles are shared based on uninitialized property values
13705         https://bugs.webkit.org/show_bug.cgi?id=53285
13706         
13707         Null test.
13708
13709         * dom/NamedNodeMap.cpp:
13710         (WebCore::NamedNodeMap::mappedMapsEquivalent):
13711
13712 2011-01-27  Oliver Hunt  <oliver@apple.com>
13713
13714         Reviewed by Geoffrey Garen.
13715
13716         Convert markstack to a slot visitor API
13717         https://bugs.webkit.org/show_bug.cgi?id=53219
13718
13719         Update WebCore to the new marking apis, correct bindings
13720         codegen. 
13721
13722         * ForwardingHeaders/runtime/WriteBarrier.h: Added.
13723         * WebCore.exp.in:
13724         * bindings/js/DOMWrapperWorld.h:
13725         (WebCore::DOMWrapperWorld::globalData):
13726         * bindings/js/JSAudioConstructor.cpp:
13727         (WebCore::JSAudioConstructor::JSAudioConstructor):
13728         * bindings/js/JSDOMBinding.cpp:
13729         (WebCore::markDOMNodesForDocument):
13730         (WebCore::markDOMObjectWrapper):
13731         (WebCore::markDOMNodeWrapper):
13732         * bindings/js/JSDOMGlobalObject.cpp:
13733         (WebCore::JSDOMGlobalObject::markChildren):
13734         (WebCore::JSDOMGlobalObject::setInjectedScript):
13735         (WebCore::JSDOMGlobalObject::injectedScript):
13736         * bindings/js/JSDOMGlobalObject.h:
13737         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
13738         (WebCore::getDOMConstructor):
13739         * bindings/js/JSDOMWindowCustom.cpp:
13740         (WebCore::JSDOMWindow::setLocation):
13741         (WebCore::DialogHandler::dialogCreated):
13742         * bindings/js/JSDOMWindowShell.cpp:
13743         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
13744         (WebCore::JSDOMWindowShell::setWindow):
13745         (WebCore::JSDOMWindowShell::markChildren):
13746         (WebCore::JSDOMWindowShell::unwrappedObject):
13747         * bindings/js/JSDOMWindowShell.h:
13748         (WebCore::JSDOMWindowShell::window):
13749         (WebCore::JSDOMWindowShell::setWindow):
13750         * bindings/js/JSEventListener.cpp:
13751         (WebCore::JSEventListener::JSEventListener):
13752         (WebCore::JSEventListener::markJSFunction):
13753         * bindings/js/JSEventListener.h:
13754         (WebCore::JSEventListener::jsFunction):
13755         * bindings/js/JSHTMLDocumentCustom.cpp:
13756         (WebCore::JSHTMLDocument::setAll):
13757         * bindings/js/JSImageConstructor.cpp:
13758         (WebCore::JSImageConstructor::JSImageConstructor):
13759         * bindings/js/JSImageDataCustom.cpp:
13760         (WebCore::toJS):
13761         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13762         (WebCore::JSJavaScriptCallFrame::scopeChain):
13763         (WebCore::JSJavaScriptCallFrame::scopeType):
13764         * bindings/js/JSNodeFilterCondition.cpp:
13765         (WebCore::JSNodeFilterCondition::markAggregate):
13766         (WebCore::JSNodeFilterCondition::acceptNode):
13767         * bindings/js/JSNodeFilterCondition.h:
13768         * bindings/js/JSNodeFilterCustom.cpp:
13769         * bindings/js/JSOptionConstructor.cpp:
13770         (WebCore::JSOptionConstructor::JSOptionConstructor):
13771         * bindings/js/JSSQLResultSetRowListCustom.cpp:
13772         (WebCore::JSSQLResultSetRowList::item):
13773         * bindings/js/ScriptCachedFrameData.cpp:
13774         (WebCore::ScriptCachedFrameData::restore):
13775         * bindings/js/ScriptObject.cpp:
13776         (WebCore::ScriptGlobalObject::set):
13777         * bindings/js/SerializedScriptValue.cpp:
13778         (WebCore::CloneDeserializer::putProperty):
13779         * bindings/scripts/CodeGeneratorJS.pm:
13780         * dom/Document.h:
13781
13782 2011-01-28  Sam Weinig  <sam@webkit.org>
13783
13784         Reviewed by Anders Carlsson.
13785
13786         Keyboard scrolling doesn’t work in WebKit2
13787         <rdar://problem/8909672>
13788
13789         * platform/mac/ScrollAnimatorMac.mm:
13790         (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
13791         (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
13792         Add additional necessary delegate methods.
13793
13794 2011-01-29  Darin Adler  <darin@apple.com>
13795
13796         Reviewed by Dan Bernstein.
13797
13798         Re-land this patch with the missing null check that caused crashes in layout tests.
13799
13800         Changing cursor style has no effect until the mouse moves
13801         https://bugs.webkit.org/show_bug.cgi?id=14344
13802         rdar://problem/7563712
13803
13804         No tests added because we don't have infrastructure for testing actual cursor
13805         changes (as opposed to cursor style computation) at this time. We might add it later.
13806
13807         * page/EventHandler.cpp:
13808         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
13809         * page/EventHandler.h: Ditto.
13810
13811         * rendering/RenderObject.cpp:
13812         (WebCore::areNonIdenticalCursorListsEqual): Added.
13813         (WebCore::areCursorsEqual): Added.
13814         (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
13815         cursor styles changed.
13816
13817 2011-01-28  Justin Schuh  <jschuh@chromium.org>
13818
13819         Reviewed by Eric Seidel.
13820
13821         We should hold RefPtrs to SVG font faces
13822         https://bugs.webkit.org/show_bug.cgi?id=53270
13823
13824         Test: svg/custom/use-multiple-on-nested-disallowed-font.html
13825
13826         * css/CSSFontFaceSource.cpp:
13827         (WebCore::CSSFontFaceSource::getFontData):
13828         * css/CSSFontFaceSource.h:
13829         * svg/SVGFontFaceElement.cpp:
13830         (WebCore::SVGFontFaceElement::associatedFontElement):
13831         * svg/SVGFontFaceElement.h:
13832
13833 2011-01-28  Zhenyao Mo  <zmo@google.com>
13834
13835         Reviewed by Kenneth Russell.
13836
13837         uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N
13838         https://bugs.webkit.org/show_bug.cgi?id=53306
13839
13840         * html/canvas/WebGLRenderingContext.cpp:
13841         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
13842
13843 2011-01-28  Tom Sepez  <tsepez@chromium.org>
13844
13845         Reviewed by Eric Seidel.
13846
13847         NULL pointer crash in TextIterator::handleTextBox()
13848         https://bugs.webkit.org/show_bug.cgi?id=53267
13849
13850         Test: fast/css/rtl-nth-child-first-letter-crash.html
13851
13852         * editing/TextIterator.cpp:
13853         (WebCore::TextIterator::handleTextBox):
13854
13855 2011-01-28  Adrienne Walker  <enne@google.com>
13856
13857         Reviewed by Kenneth Russell.
13858
13859         [chromium] Remove a spurious diagnostic CRASH check.
13860         https://bugs.webkit.org/show_bug.cgi?id=52379
13861
13862         * platform/graphics/chromium/LayerTilerChromium.cpp:
13863         (WebCore::LayerTilerChromium::invalidateRect):
13864
13865 2011-01-28  Dan Bernstein  <mitz@apple.com>
13866
13867         Reviewed by Sam Weinig.
13868
13869         <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
13870         https://bugs.webkit.org/show_bug.cgi?id=19785
13871
13872         Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the
13873         direction corresponding to the writing direction of the <select> element, with the checkmarks
13874         on the "start" side, and use the <option>'s writing direction rather than "natural". Made the
13875         pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(),
13876         which returns true for this pop-up behavior.
13877
13878         * loader/EmptyClients.h:
13879         (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
13880         * manual-tests/pop-up-alignment-and-direction.html: Added.
13881         * page/Chrome.cpp:
13882         (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
13883         client.
13884         * page/Chrome.h:
13885         * page/ChromeClient.h:
13886         * platform/PopupMenuStyle.h:
13887         (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member
13888         variable initialization.
13889         (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor.
13890         * platform/mac/PopupMenuMac.mm:
13891         (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment
13892         to match the menu's writing direction. Set items' writing direction and direction override
13893         according to their styles.
13894         * rendering/RenderMenuList.cpp:
13895         (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer.
13896         (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the
13897         menu's writing direction, use that alignment for the button as well. Also in this mode, use the
13898         item's writing direction and override setting.
13899         (WebCore::RenderMenuList::setTextFromOption): Store the option element's style.
13900         (WebCore::RenderMenuList::itemStyle): Pass the text direction override value.
13901         (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's.
13902         * rendering/RenderMenuList.h:
13903         * rendering/RenderTextControlSingleLine.cpp:
13904         (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value.
13905
13906 2011-01-28  Adam Barth  <abarth@webkit.org>
13907
13908         Reviewed by Daniel Bates.
13909
13910         Teach XSSFilter how to filter <script> elements
13911         https://bugs.webkit.org/show_bug.cgi?id=53279
13912
13913         This patch adds the ability for the XSSFilter to block injected
13914         <script> elements.  Handling script elements is slightly subtle because
13915         these elements act very differently depending on whether they have a
13916         src attribute.
13917         
13918         In the "src case", which check whether the src attribute was present in
13919         the request.  In the "non-src case", we check whether the start tag and
13920         the body of the script element was included in the request.  Checking
13921         for the whole start tag means we miss out on some attribute splitting
13922         attacks inside of script tags, but that doesn't seem like that big a
13923         deal.
13924
13925         This patch also introduces some amount of state into the XSSFilter
13926         because inline script elements span multiple tokens.  There's a lot of
13927         tuning and optimization left in these cases, some of which I've noted
13928         with FIXMEs.
13929
13930         To test this patch, I played around with some of the existing
13931         XSSAuditor tests.  Hopefully I'll be able to run the test suite more
13932         systematically in the future.
13933
13934         * html/parser/HTMLToken.h:
13935         (WebCore::HTMLToken::eraseCharacters):
13936         (WebCore::HTMLToken::eraseValueOfAttribute):
13937         * html/parser/XSSFilter.cpp:
13938         (WebCore::HTMLNames::hasName):
13939         (WebCore::HTMLNames::findAttributeWithName):
13940         (WebCore::HTMLNames::isNameOfScriptCarryingAttribute):
13941         (WebCore::XSSFilter::XSSFilter):
13942         (WebCore::XSSFilter::filterToken):
13943         (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
13944         (WebCore::XSSFilter::filterScriptToken):
13945         (WebCore::XSSFilter::snippetForRange):
13946         (WebCore::XSSFilter::snippetForAttribute):
13947         * html/parser/XSSFilter.h:
13948
13949 2011-01-28  Adam Barth  <abarth@webkit.org>
13950
13951         Reviewed by Daniel Bates.
13952
13953         Sketch out new XSS filter design (disabled by default)
13954         https://bugs.webkit.org/show_bug.cgi?id=53205
13955
13956         This patch adds a basic sketch of the new XSS filter design.  Rather
13957         than watching scripts as they execute, in this design, we watch tokens
13958         emitted by the tokenizer.  We then map the tokens directly back into
13959         input characters, which lets us skip all the complicated logic related
13960         to HTML entities and double-decoding of JavaScript URLs.
13961
13962         This patch contains only the bare essentially machinery.  I'll add more
13963         in future patches and eventually remove the previous code once this
13964         code is up and running correctly.
13965
13966         * Android.mk:
13967         * CMakeLists.txt:
13968         * GNUmakefile.am:
13969         * WebCore.gypi:
13970         * WebCore.pro:
13971         * WebCore.vcproj/WebCore.vcproj:
13972         * WebCore.xcodeproj/project.pbxproj:
13973         * html/parser/HTMLDocumentParser.cpp:
13974         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
13975         (WebCore::HTMLDocumentParser::pumpTokenizer):
13976         (WebCore::HTMLDocumentParser::sourceForToken):
13977         * html/parser/HTMLDocumentParser.h:
13978         * html/parser/XSSFilter.cpp: Added.
13979         * html/parser/XSSFilter.h: Added.
13980
13981 2011-01-28  Michael Saboff  <msaboff@apple.com>
13982
13983         Reviewed by Geoffrey Garen.
13984
13985         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
13986         https://bugs.webkit.org/show_bug.cgi?id=53271
13987
13988         Reapplying this patch with the change that the second ASSERT in 
13989         RootObject::removeRuntimeObject was changed to use
13990         .uncheckedGet() instead of the failing .get().  The object in question
13991         could be in the process of being GC'ed.  The get() call will not return
13992         such an object while the uncheckedGet() call will return the (unsafe) 
13993         object.  This is the behavior we want.
13994
13995         Precautionary change.
13996         Changed RootObject to use WeakGCMap instead of HashSet.
13997         Found will looking for another issue, but can't produce a test case
13998         that is problematic.  THerefore there aren't any new tests.
13999
14000         * bridge/runtime_root.cpp:
14001         (JSC::Bindings::RootObject::invalidate):
14002         (JSC::Bindings::RootObject::addRuntimeObject):
14003         (JSC::Bindings::RootObject::removeRuntimeObject):
14004         * bridge/runtime_root.h:
14005
14006 2011-01-28  Adam Roben  <aroben@apple.com>
14007
14008         Notify CACFLayerTreeHost when the context is flushed
14009
14010         LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
14011         timers were never starting.
14012
14013         Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
14014         76858 broke ~36 animations, compositing, and transitions tests
14015
14016         Reviewed by Sam Weinig.
14017
14018         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
14019         (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
14020         start our render timer.
14021
14022 2011-01-28  Antti Koivisto  <antti@apple.com>
14023
14024         Reviewed by Dan Bernstein.
14025
14026         Remove dead code that tried to map from CSS values to parser values
14027         https://bugs.webkit.org/show_bug.cgi?id=53318
14028
14029         * css/CSSFunctionValue.cpp:
14030         * css/CSSFunctionValue.h:
14031         * css/CSSPrimitiveValue.cpp:
14032         * css/CSSPrimitiveValue.h:
14033         * css/CSSValue.h:
14034         * css/CSSValueList.cpp:
14035         * css/CSSValueList.h:
14036
14037 2011-01-28  Enrica Casucci  <enrica@apple.com>
14038
14039         Reviewed by Adam Roben.
14040
14041         Some drag and drop tests fail since r76824
14042         https://bugs.webkit.org/show_bug.cgi?id=53304
14043
14044         There were '||' instead of '&&' in the checks for valid
14045         clipboard content.
14046         
14047         * platform/win/ClipboardWin.cpp:
14048         (WebCore::ClipboardWin::getData):
14049         (WebCore::ClipboardWin::types):
14050         (WebCore::ClipboardWin::files):
14051
14052 2011-01-28  Martin Robinson  <mrobinson@igalia.com>
14053
14054         [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
14055         https://bugs.webkit.org/show_bug.cgi?id=52889
14056
14057         Build fix for WebAudio. Include WebAudio source files on the source
14058         list when WebAudio is enabled.
14059
14060         * GNUmakefile.am: Include missing source files.
14061
14062 2011-01-28  Sam Weinig  <sam@webkit.org>
14063
14064         Reviewed by Maciej Stachowiak.
14065
14066         Add basic rubber banding support
14067         <rdar://problem/8219429>
14068         https://bugs.webkit.org/show_bug.cgi?id=53277
14069
14070         * page/EventHandler.cpp:
14071         (WebCore::EventHandler::handleGestureEvent):
14072         Pass gesture events to the FrameView.
14073
14074         * platform/ScrollAnimator.cpp:
14075         (WebCore::ScrollAnimator::handleGestureEvent):
14076         * platform/ScrollAnimator.h:
14077         Add stubbed out implementation.
14078
14079         * platform/ScrollView.cpp:
14080         (WebCore::ScrollView::ScrollView):
14081         (WebCore::ScrollView::overhangAmount):
14082         (WebCore::ScrollView::wheelEvent):
14083         * platform/ScrollView.h:
14084         * platform/ScrollableArea.cpp:
14085         (WebCore::ScrollableArea::ScrollableArea):
14086         (WebCore::ScrollableArea::handleGestureEvent):
14087         * platform/ScrollableArea.h:
14088         (WebCore::ScrollableArea::constrainsScrollingToContentEdge):
14089         (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge):
14090         Move constrains scrolling bit to ScrollableArea from ScrollView.
14091
14092         (WebCore::ScrollableArea::contentsSize):
14093         (WebCore::ScrollableArea::overhangAmount):
14094         Add additional virtual functions for information needed by the animator.
14095
14096         * platform/mac/ScrollAnimatorMac.h:
14097         * platform/mac/ScrollAnimatorMac.mm:
14098         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
14099         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
14100         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
14101         (WebCore::elasticDeltaForTimeDelta):
14102         (WebCore::elasticDeltaForReboundDelta):
14103         (WebCore::reboundDeltaForElasticDelta):
14104         (WebCore::scrollWheelMultiplier):
14105         (WebCore::ScrollAnimatorMac::handleWheelEvent):
14106         (WebCore::ScrollAnimatorMac::handleGestureEvent):
14107         (WebCore::ScrollAnimatorMac::pinnedInDirection):
14108         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
14109         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
14110         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
14111         (WebCore::ScrollAnimatorMac::beginScrollGesture):
14112         (WebCore::ScrollAnimatorMac::endScrollGesture):
14113         (WebCore::ScrollAnimatorMac::snapRubberBand):
14114         (WebCore::roundTowardZero):
14115         (WebCore::roundToDevicePixelTowardZero):
14116         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
14117         Implement basic rubber banding.
14118
14119 2011-01-28  Dan Bernstein  <mitz@apple.com>
14120
14121         Reviewed by Anders Carlsson.
14122
14123         Changing unicode-bidi doesn’t force layout
14124         https://bugs.webkit.org/show_bug.cgi?id=53311
14125
14126         Test: fast/dynamic/unicode-bidi.html
14127
14128         * rendering/style/RenderStyle.cpp:
14129         (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.
14130
14131 2011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
14132
14133         Reviewed by Kent Tamura.
14134
14135         Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
14136         https://bugs.webkit.org/show_bug.cgi?id=53122
14137
14138         This is the first step in converting HTMLMediaElement to the new shadow DOM.
14139
14140         Should not regress any existing tests. No observable change in behavior.
14141
14142         * css/CSSSelector.cpp:
14143         (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
14144         (WebCore::nameToPseudoTypeMap): Ditto.
14145         (WebCore::CSSSelector::extractPseudoType): Ditto.
14146         * css/CSSSelector.h: Ditto.
14147         * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
14148         * rendering/MediaControlElements.cpp:
14149         (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
14150             which is now replaced with virtual shadowPseudoId on each corresponding class.
14151         (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
14152         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
14153             display type in constructor.
14154         (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
14155             constructor argument.
14156         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
14157         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
14158             to disambiguate from the MediaControlMuteButtonElement.
14159         (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
14160         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
14161         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
14162             constructor argument.
14163         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
14164         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
14165             constructor argument.
14166         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
14167         (WebCore::MediaControlSeekForwardButtonElement::create): Added.
14168         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
14169         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
14170         (WebCore::MediaControlSeekBackButtonElement::create): Added.
14171         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
14172         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
14173         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
14174         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
14175             constructor argument.
14176         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
14177         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
14178             constructor argument.
14179         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
14180         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
14181             constructor argument.
14182         (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
14183         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
14184             constructor argument.
14185         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
14186         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
14187             constructor argument.
14188         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
14189         * rendering/MediaControlElements.h:
14190         (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
14191         (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
14192         * rendering/RenderMedia.cpp:
14193         (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
14194         (WebCore::RenderMedia::createSeekBackButton): Ditto.
14195         (WebCore::RenderMedia::createSeekForwardButton): Ditto.
14196         (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
14197         * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
14198
14199 2011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
14200
14201         Reviewed by Eric Carlson.
14202
14203         Split MediaControls out of RenderMedia.
14204         https://bugs.webkit.org/show_bug.cgi?id=53252
14205
14206         Near-mechanical moving of stuff, no change in behavior, thus no new tests.
14207
14208         * Android.mk: Added MediaControls to build system.
14209         * CMakeLists.txt: Ditto.
14210         * GNUmakefile.am: Ditto.
14211         * WebCore.gypi: Ditto.
14212         * WebCore.pro: Ditto.
14213         * WebCore.vcproj/WebCore.vcproj: Ditto.
14214         * WebCore.xcodeproj/project.pbxproj: Ditto.
14215         * html/HTMLMediaElement.cpp:
14216         (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls.
14217         * html/shadow/MediaControls.cpp: Copied all controls-related methods from
14218             Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls. 
14219         * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h.
14220         * rendering/MediaControlElements.cpp:
14221         (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls.
14222         * rendering/RenderMedia.cpp:
14223         (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls.
14224         (WebCore::RenderMedia::destroy): Changed to use MediaControls.
14225         (WebCore::RenderMedia::styleDidChange): Ditto.
14226         (WebCore::RenderMedia::layout): Ditto.
14227         (WebCore::RenderMedia::updateFromElement): Ditto.
14228         * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which
14229             is only used by sub-class RenderVideo.
14230         (WebCore::RenderMedia::controls): Added.
14231         * rendering/RenderVideo.cpp:
14232         (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement().
14233         (WebCore::RenderVideo::calculateIntrinsicSize): Ditto.
14234         (WebCore::RenderVideo::paintReplaced): Ditto.
14235         (WebCore::RenderVideo::updatePlayer): Ditto.
14236         (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto.
14237         (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto.
14238
14239 2011-01-28  Pavel Feldman  <pfeldman@chromium.org>
14240
14241         Reviewed by Yury Semikhatsky.
14242
14243         Web Inspector: allow remote debugging with front-end
14244         served from the cloud.
14245         https://bugs.webkit.org/show_bug.cgi?id=53303
14246
14247         * inspector/front-end/inspector.js:
14248
14249 2011-01-28  Aparna Nandyal  <aparna.nand@wipro.com>
14250
14251         Reviewed by Andreas Kling.
14252
14253         Setting value of m_PressedPos to make scrolling smooth
14254
14255         Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler.
14256         https://bugs.webkit.org/show_bug.cgi?id=51349
14257
14258         The value of m_PressedPos was getting set before moveThumb() call
14259         in all other scenarios except when "Scroll Here" option is used.
14260         Hence scrolling with this option was not as expected even in cases
14261         where scrolling was happening. The thumb would move in unexpected
14262         direction. m_PressedPos is now set to pressed position so delta is
14263         calculated.
14264         Unable to write a test case as the test needs to click on "Scroll
14265         Here" option of context sensitive menu and QTest is unable to do it.
14266         Besides no new functionality introduced.
14267
14268         * platform/qt/ScrollbarQt.cpp:
14269         (WebCore::Scrollbar::contextMenu):
14270
14271 2011-01-28  Andrey Kosyakov  <caseq@chromium.org>
14272
14273         Reviewed by Pavel Feldman.
14274
14275         Web Inspector: [Extensions API] add JSON schema for extensions API
14276         https://bugs.webkit.org/show_bug.cgi?id=53236
14277
14278         * inspector/front-end/ExtensionAPISchema.json: Added.
14279
14280 2011-01-27  Zhenyao Mo  <zmo@google.com>
14281
14282         Reviewed by Kenneth Russell.
14283
14284         Remove _LENGTH enumerants
14285         https://bugs.webkit.org/show_bug.cgi?id=53259
14286
14287         * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
14288         (WebCore::WebGLRenderingContext::getProgramParameter):
14289         (WebCore::WebGLRenderingContext::getShaderParameter):
14290         * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.
14291
14292 2011-01-28  Alexander Pavlov  <apavlov@chromium.org>
14293
14294         Reviewed by Yury Semikhatsky.
14295
14296         Web Inspector: syntax highlight inline JS and CSS in HTML resources
14297         https://bugs.webkit.org/show_bug.cgi?id=30831
14298
14299         * inspector/front-end/SourceHTMLTokenizer.js:
14300         (WebInspector.SourceHTMLTokenizer):
14301         (WebInspector.SourceHTMLTokenizer.prototype.set line):
14302         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
14303         * inspector/front-end/SourceHTMLTokenizer.re2js:
14304
14305 2011-01-28  Alexander Pavlov  <apavlov@chromium.org>
14306
14307         Reviewed by Yury Semikhatsky.
14308
14309         Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
14310         https://bugs.webkit.org/show_bug.cgi?id=53295
14311
14312         Select the current word suffix before switching to the next suggestion.
14313
14314         * inspector/front-end/StylesSidebarPane.js:
14315         ():
14316
14317 2011-01-28  Alejandro G. Castro  <alex@igalia.com>
14318
14319         Reviewed by Xan Lopez.
14320
14321         [GTK] Fix dist compilation for the release
14322         https://bugs.webkit.org/show_bug.cgi?id=53290
14323
14324         * GNUmakefile.am: Added inspector files to the extra dist.
14325
14326 2011-01-28  Ilya Sherman  <isherman@chromium.org>
14327
14328         Reviewed by Andreas Kling.
14329
14330         Const-correct HTMLSelectElement and WebSelectElement
14331         https://bugs.webkit.org/show_bug.cgi?id=53293
14332
14333         * html/HTMLSelectElement.cpp:
14334         (WebCore::HTMLSelectElement::value): const.
14335         * html/HTMLSelectElement.h:
14336
14337 2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
14338
14339         Unreviewed, rolling out r76893.
14340         http://trac.webkit.org/changeset/76893
14341         https://bugs.webkit.org/show_bug.cgi?id=53287
14342
14343         It made some tests crash on GTK and Qt debug bots (Requested
14344         by Ossy on #webkit).
14345
14346         * bridge/runtime_root.cpp:
14347         (JSC::Bindings::RootObject::invalidate):
14348         (JSC::Bindings::RootObject::addRuntimeObject):
14349         (JSC::Bindings::RootObject::removeRuntimeObject):
14350         * bridge/runtime_root.h:
14351
14352 2011-01-27  Greg Coletta  <greg.coletta@nokia.com>
14353
14354         Reviewed by Laszlo Gombos.
14355
14356         Get rid of prefix header dependency for WebKit2 build system
14357         https://bugs.webkit.org/show_bug.cgi?id=50174
14358
14359         Guard EmptyProtocalDefinitions.h to make sure it's not included twice.
14360
14361         * platform/mac/EmptyProtocolDefinitions.h:
14362
14363 2011-01-27  Abhishek Arya  <inferno@chromium.org>
14364
14365         Reviewed by Dan Bernstein.
14366
14367         Recalc table sections if needed before calculating the first line
14368         box baseline.
14369         https://bugs.webkit.org/show_bug.cgi?id=53265
14370
14371         When we try to calculate the baseline position of a table cell,
14372         we recurse through all the child sibling boxes (when children are
14373         non inline) and add their first linebox baseline values. If one of
14374         the children is a table with pending section recalc, we will access
14375         wrong table section values. We recalc table sections if it is needed.
14376
14377         Test: fast/table/recalc-section-first-body-crash-main.html
14378
14379         * rendering/RenderTable.cpp:
14380         (WebCore::RenderTable::firstLineBoxBaseline):
14381
14382 2011-01-27  Adrienne Walker  <enne@google.com>
14383
14384         Reviewed by Kenneth Russell.
14385
14386         [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
14387         https://bugs.webkit.org/show_bug.cgi?id=52379
14388
14389         Test: LayoutTests/compositing (to verify these weren't triggered)
14390
14391         * platform/graphics/chromium/LayerTilerChromium.cpp:
14392         (WebCore::LayerTilerChromium::invalidateRect):
14393         (WebCore::LayerTilerChromium::update):
14394
14395 2011-01-27  Alexander Pavlov  <apavlov@chromium.org>
14396
14397         Reviewed by Pavel Feldman.
14398
14399         Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact
14400         https://bugs.webkit.org/show_bug.cgi?id=53242
14401
14402         * inspector/front-end/StylesSidebarPane.js:
14403         (WebInspector.StylePropertyTreeElement.prototype):
14404
14405 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
14406
14407         Unreviewed, rolling out r76891.
14408         http://trac.webkit.org/changeset/76891
14409         https://bugs.webkit.org/show_bug.cgi?id=53280
14410
14411         Makes every layout test crash (Requested by othermaciej on
14412         #webkit).
14413
14414         * page/EventHandler.cpp:
14415         * page/EventHandler.h:
14416         * rendering/RenderObject.cpp:
14417         (WebCore::RenderObject::styleDidChange):
14418
14419 2011-01-27  Ryosuke Niwa  <rniwa@webkit.org>
14420
14421         Unreviewed, rolling out r76839.
14422         http://trac.webkit.org/changeset/76839
14423         https://bugs.webkit.org/show_bug.cgi?id=49744
14424
14425         broke pixel tests
14426
14427         * rendering/RenderBox.cpp:
14428         (WebCore::RenderBox::localCaretRect):
14429
14430 2011-01-27  Emil A Eklund  <eae@chromium.org>
14431
14432         Reviewed by Darin Adler.
14433
14434         contentEditable formatBlock crashes on divs with contenteditable="false"
14435         https://bugs.webkit.org/show_bug.cgi?id=53263
14436
14437         Check if editableRootForPosition returns null for position.
14438
14439         Test: editing/execCommand/format-block-contenteditable-false.html
14440
14441         * editing/FormatBlockCommand.cpp:
14442         (WebCore::FormatBlockCommand::formatRange):
14443
14444 2011-01-27  Dimitri Glazkov  <dglazkov@chromium.org>
14445
14446         Reviewed by Darin Adler.
14447
14448         Remove RenderMedia members that aren't used.
14449         https://bugs.webkit.org/show_bug.cgi?id=53245
14450
14451         Refactoring, no change in behavior, so no new tests.
14452
14453         * rendering/RenderMedia.h: Removed unused member variables.
14454
14455 2011-01-27  Michael Saboff  <msaboff@apple.com>
14456
14457         Reviewed by Darin Adler.
14458
14459         Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
14460         https://bugs.webkit.org/show_bug.cgi?id=53271
14461
14462         Precautionary change.
14463         Changed RootObject to use WeakGCMap instead of HashSet.
14464         Found will looking for another issue, but can't produce a test case
14465         that is problematic.  THerefore there aren't any new tests.
14466
14467         * bridge/runtime_root.cpp:
14468         (JSC::Bindings::RootObject::invalidate):
14469         (JSC::Bindings::RootObject::addRuntimeObject):
14470         (JSC::Bindings::RootObject::removeRuntimeObject):
14471         * bridge/runtime_root.h:
14472
14473 2011-01-27  Kenneth Russell  <kbr@google.com>
14474
14475         Reviewed by James Robinson.
14476
14477         Rename Typed Array slice() to subset()
14478         https://bugs.webkit.org/show_bug.cgi?id=53273
14479
14480         * bindings/js/JSArrayBufferViewHelper.h:
14481         (WebCore::constructArrayBufferView):
14482         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
14483         (WebCore::constructWebGLArray):
14484         * html/canvas/Float32Array.cpp:
14485         (WebCore::Float32Array::subset):
14486         * html/canvas/Float32Array.h:
14487         * html/canvas/Float32Array.idl:
14488         * html/canvas/Int16Array.cpp:
14489         (WebCore::Int16Array::subset):
14490         * html/canvas/Int16Array.h:
14491         * html/canvas/Int16Array.idl:
14492         * html/canvas/Int32Array.cpp:
14493         (WebCore::Int32Array::subset):
14494         * html/canvas/Int32Array.h:
14495         * html/canvas/Int32Array.idl:
14496         * html/canvas/Int8Array.cpp:
14497         (WebCore::Int8Array::subset):
14498         * html/canvas/Int8Array.h:
14499         * html/canvas/Int8Array.idl:
14500         * html/canvas/TypedArrayBase.h:
14501         (WebCore::TypedArrayBase::subsetImpl):
14502         * html/canvas/Uint16Array.cpp:
14503         (WebCore::Uint16Array::subset):
14504         * html/canvas/Uint16Array.h:
14505         * html/canvas/Uint16Array.idl:
14506         * html/canvas/Uint32Array.cpp:
14507         (WebCore::Uint32Array::subset):
14508         * html/canvas/Uint32Array.h:
14509         * html/canvas/Uint32Array.idl:
14510         * html/canvas/Uint8Array.cpp:
14511         (WebCore::Uint8Array::subset):
14512         * html/canvas/Uint8Array.h:
14513         * html/canvas/Uint8Array.idl:
14514
14515 2011-01-27  Darin Adler  <darin@apple.com>
14516
14517         Reviewed by Dan Bernstein.
14518
14519         Changing cursor style has no effect until the mouse moves
14520         https://bugs.webkit.org/show_bug.cgi?id=14344
14521         rdar://problem/7563712
14522
14523         No tests added because we don't have infrastructure for testing actual cursor
14524         changes (as opposed to cursor style computation) at this time. We might add it later.
14525
14526         * page/EventHandler.cpp:
14527         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
14528         * page/EventHandler.h: Ditto.
14529
14530         * rendering/RenderObject.cpp:
14531         (WebCore::areNonIdenticalCursorListsEqual): Added.
14532         (WebCore::areCursorsEqual): Added.
14533         (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
14534         cursor styles changed.
14535
14536 2011-01-27  Leo Yang  <leo.yang@torchmobile.com.cn>
14537
14538         Reviewed by Dirk Schulze.
14539
14540         SVG Use Cycle is not detected
14541         https://bugs.webkit.org/show_bug.cgi?id=52544
14542
14543         We should check if SVGUseElement::buildInstanceTree finds problem
14544         for every child node. If it finds problem for any children we must
14545         return immediately because otherwise the foundProblem variable may
14546         be rewritten to false.
14547
14548         Test: svg/custom/recursive-use2.svg
14549
14550         * svg/SVGUseElement.cpp:
14551         (WebCore::SVGUseElement::buildInstanceTree):
14552
14553 2011-01-27  Zhenyao Mo  <zmo@google.com>
14554
14555         Reviewed by Kenneth Russell.
14556
14557         texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call
14558         https://bugs.webkit.org/show_bug.cgi?id=53054
14559
14560         Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html
14561
14562         * html/canvas/WebGLRenderingContext.cpp:
14563         (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.
14564
14565 2011-01-27  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
14566
14567         Reviewed by Andreas Kling.
14568
14569         [Qt] Add fullscreen media control button for html video
14570         https://bugs.webkit.org/show_bug.cgi?id=51543
14571
14572         Implement media control fullscreen button for QtWebKit html5 video.
14573
14574         * css/mediaControlsQt.css:
14575         (video::-webkit-media-controls-fullscreen-button):
14576         * platform/qt/RenderThemeQt.cpp:
14577         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
14578
14579 2011-01-27  Nate Chapin  <japhet@chromium.org>
14580
14581         Reviewed by Adam Barth.
14582
14583         Remove FrameLoader::url() and update callers to use
14584         Document::url().
14585         https://bugs.webkit.org/show_bug.cgi?id=41165
14586
14587         Refactor, no new tests.
14588
14589         * WebCore.exp.in:
14590         * dom/Document.cpp:
14591         (WebCore::Document::processHttpEquiv):
14592         (WebCore::Document::removePendingSheet):
14593         * history/CachedFrame.cpp:
14594         (WebCore::CachedFrameBase::CachedFrameBase):
14595         * history/PageCache.cpp:
14596         (WebCore::logCanCacheFrameDecision):
14597         (WebCore::PageCache::canCachePageContainingThisFrame):
14598         * html/HTMLFrameElementBase.cpp:
14599         (WebCore::HTMLFrameElementBase::isURLAllowed):
14600         * html/HTMLPlugInImageElement.cpp:
14601         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
14602         * inspector/InspectorAgent.cpp:
14603         (WebCore::InspectorAgent::inspectedURL):
14604         * inspector/InspectorResourceAgent.cpp:
14605         (WebCore::buildObjectForFrame):
14606         * loader/DocumentWriter.cpp:
14607         (WebCore::DocumentWriter::replaceDocument):
14608         (WebCore::DocumentWriter::deprecatedFrameEncoding):
14609         * loader/FrameLoader.cpp:
14610         * loader/FrameLoader.h:
14611         * loader/HistoryController.cpp:
14612         (WebCore::HistoryController::updateForStandardLoad):
14613         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
14614         (WebCore::HistoryController::updateForSameDocumentNavigation):
14615         * loader/NavigationScheduler.cpp:
14616         (WebCore::ScheduledHistoryNavigation::fire):
14617         (WebCore::NavigationScheduler::scheduleLocationChange):
14618         (WebCore::NavigationScheduler::scheduleRefresh):
14619         * page/FrameView.cpp:
14620         (WebCore::FrameView::updateControlTints):
14621         * page/Location.cpp:
14622         (WebCore::Location::url):
14623         (WebCore::Location::setProtocol):
14624         (WebCore::Location::setHost):
14625         (WebCore::Location::setHostname):
14626         (WebCore::Location::setPort):
14627         (WebCore::Location::setPathname):
14628         (WebCore::Location::setSearch):
14629         (WebCore::Location::setHash):
14630         (WebCore::Location::reload):
14631         * page/Page.cpp:
14632         (WebCore::Page::goToItem):
14633
14634 2011-01-27  Stephen White  <senorblanco@chromium.org>
14635
14636         Reviewed by Darin Adler.
14637
14638         Fix performance regression in ImageQualityController::objectDestroyed().
14639         https://bugs.webkit.org/show_bug.cgi?id=52645
14640
14641         In r72282, I inadvertently introduced this regression by using a
14642         linear search through the hash map on object destruction.  This was
14643         because the hash key consisted of both object pointer and layer id,
14644         but on object destruction we only know the object pointer, requiring
14645         a search to find all the layers. 
14646         By replacing the hash map with two nested hash maps, where the outer key
14647         is the object and the inner key is the layer, we can find all the
14648         relevant data for an object in one hash lookup.
14649
14650         * rendering/RenderBoxModelObject.cpp:
14651         Replace the (object,layer)->size HashMap with object->layer and
14652         layer->size HashMaps.
14653         (WebCore::ImageQualityController::isEmpty):
14654         Implement isEmpty() for the outer HashMap.
14655         (WebCore::ImageQualityController::removeLayer):
14656         When a layer is removed, remove it from the inner hash map.
14657         (WebCore::ImageQualityController::set):
14658         Implement set():  if the inner map exists, set the layer->size tuple
14659         directly.  If not, create a new inner map, set the tuple, and insert
14660         it in the outer map.
14661         (WebCore::ImageQualityController::objectDestroyed):
14662         Look up the object in the outer map only.
14663         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
14664         Cosmetic changes for the renamed now-outer hash map.
14665         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
14666         Do both outer and inner hash map lookups.  Call set() to add/update
14667         entries to the hash maps.  keyDestroyed() is now removeLayer().
14668         (WebCore::imageQualityController):
14669         Make the ImageQualityController a file-static global, so it can be
14670         created and destroyed on the fly.
14671         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
14672         If there is no ImageQualityController, don't call objectDestroyed().
14673         If it's empty, delete it.
14674         * rendering/RenderImage.cpp:
14675         (WebCore::RenderImage::paintIntoRect):
14676         Also pass the Image* as the (void*) layer, since 0 is not a valid
14677         HashMap key.
14678
14679 2011-01-27  Adrienne Walker  <enne@google.com>
14680
14681         Reviewed by James Robinson.
14682
14683         [chromium] Tiled compositor crashes if compositing turned off mid-paint
14684         https://bugs.webkit.org/show_bug.cgi?id=53198
14685
14686         * platform/graphics/chromium/LayerRendererChromium.cpp:
14687         (WebCore::LayerRendererChromium::drawLayers):
14688         * platform/graphics/chromium/LayerTilerChromium.cpp:
14689         (WebCore::LayerTilerChromium::update):
14690         (WebCore::LayerTilerChromium::draw):
14691
14692 2011-01-27  Carol Szabo <carol.szabo@nokia.com>
14693
14694         Reviewed by David Hyatt.
14695
14696         A corrupted counter tree is created when renderers are added to the
14697         tree bypassing RenderObject::addChild
14698         https://bugs.webkit.org/show_bug.cgi?id=51270
14699
14700         No new tests. This patch reimplements the fix for bugs 43812 and
14701         51637 and hence all tests are already there as part of the original
14702         fixes for those bugs.
14703
14704         * rendering/RenderCounter.cpp:
14705         (WebCore::findPlaceForCounter):
14706         Removed old workaround as this patch hopefully fixes the real
14707         problem.
14708         * rendering/RenderObject.cpp:
14709         (WebCore::RenderObject::addChild):
14710         Removed call to counter updater as it was moved to a lower level.
14711         (WebCore::RenderObject::destroy):
14712         Moved attached counter nodes destruction to after the node is
14713         removed from the tree.
14714         * rendering/RenderObjectChildList.cpp:
14715         (WebCore::RenderObjectChildList::removeChildNode):
14716         (WebCore::RenderObjectChildList::appendChildNode):
14717         (WebCore::RenderObjectChildList::insertChildNode):
14718         Added notifications to the Counter system such that the
14719         CounterForest reflects the changes to the RendererTree.
14720         * rendering/RenderWidget.cpp:
14721         (WebCore::RenderWidget::destroy):
14722         Applied the same changes as for RenderObject::destroy()
14723         since RenderObject::destroy() is not called from here.
14724
14725 2011-01-27  Adam Roben  <aroben@apple.com>
14726
14727         Add WKCACFViewLayerTreeHost
14728
14729         This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.
14730
14731         Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
14732         WKCACFView for rendering
14733
14734         * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.
14735
14736         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
14737         (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a
14738         non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window,
14739         so we need a non-empty window to perform a valid test.
14740         (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then
14741         fall back to a LegacyCACFLayerTreeHost.
14742         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the
14743         context flush from here...
14744         (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to
14745         call this function whenever changes are flushed to the context.
14746
14747         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.
14748
14749         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
14750         (WebCore::LegacyCACFLayerTreeHost::createRenderer):
14751         (WebCore::LegacyCACFLayerTreeHost::resize):
14752         Changed to use flushContext instead of flushing the context manually so that we will always
14753         notify the base class when the context gets flushed.
14754
14755         (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the
14756         base class will know what happened. Moved code to schedule a render from here...
14757         (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here.
14758
14759         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.
14760
14761         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added.
14762         (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides
14763         WKCACFView, isn't present, bail. Otherwise allocate and return a new host.
14764         (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members.
14765         (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously
14766         marked that we needed to do so, and flush the context if our layer's bounds have changed.
14767         (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to
14768         contextDidChange.
14769         (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering
14770         (if we didn't already), then call up to the base class.
14771         (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the
14772         view's layer, and hook up our "context did change" callback.
14773         (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next
14774         time we paint.
14775         (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is
14776         able to render or not.
14777         (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down
14778         to the view.
14779         (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view.
14780         (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto.
14781         (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right
14782         size, then call up to the base class.
14783         (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty
14784         rects, then ask it to draw.
14785
14786         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.
14787
14788 2011-01-27  Adam Roben  <aroben@apple.com>
14789
14790         Move LegacyCACFLayerTreeHost into its own files
14791
14792         More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
14793         should use WKCACFView for rendering
14794
14795         Reviewed by Simon Fraser.
14796
14797         * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.
14798
14799         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.
14800
14801         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
14802         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.
14803
14804 2011-01-27  Patrick Gansterer  <paroga@webkit.org>
14805
14806         Unreviewed WinCE build fix for r76824.
14807
14808         * platform/wince/DragDataWinCE.cpp:
14809         (WebCore::DragData::dragDataMap):
14810
14811 2011-01-27  Adam Roben  <aroben@apple.com>
14812
14813         Split CACFLayerTreeHost into base and derived classes
14814
14815         The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch
14816         will add a new derived class that replaces the D3D code with a different rendering API.
14817
14818         For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a
14819         little smaller. A later patch will move it to its own source files.
14820
14821         Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
14822         should use WKCACFView for rendering
14823
14824         Reviewed by Simon Fraser.
14825
14826         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
14827         (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before
14828         destroying the host, as that is now the API contract that clients must fulfill.
14829         (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator.
14830         (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the
14831         new initialize function to perform initialization that has to happen after the vtable has
14832         been set up.
14833
14834         (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
14835         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
14836         (WebCore::LegacyCACFLayerTreeHost::initializeContext):
14837         (WebCore::CACFLayerTreeHost::initialize):
14838         Moved some initialization code from the CACFLayerTreeHost constructor into these new
14839         functions.
14840
14841         (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from
14842         ~CACFLayerTreeHost.
14843         (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this
14844         point (which would be too late, since we won't be able to call into the derived class's
14845         virtual functions), just assert that it has already been cleared (or was never set in the
14846         first place).
14847         (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
14848         CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
14849         CACFLayerTreeHost's data members directly.
14850
14851         (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
14852         (WebCore::CACFLayerTreeHost::destroyRenderer):
14853         Moved some code to the new LegacyCACFLayerTreeHost function.
14854
14855         (WebCore::LegacyCACFLayerTreeHost::resize):
14856         (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
14857         Moved these functions to LegacyCACFLayerTreeHost.
14858
14859         (WebCore::LegacyCACFLayerTreeHost::paint):
14860         (WebCore::CACFLayerTreeHost::paint):
14861         Moved some code to the new LegacyCACFLayerTreeHost function.
14862
14863         (WebCore::LegacyCACFLayerTreeHost::render):
14864         (WebCore::LegacyCACFLayerTreeHost::renderSoon):
14865         Moved these functions to LegacyCACFLayerTreeHost.
14866
14867         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
14868         from here...
14869         (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.
14870
14871         (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
14872         to this new function...
14873         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.
14874
14875         (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
14876         (WebCore::LegacyCACFLayerTreeHost::resetDevice):
14877         Moved these functions to LegacyCACFLayerTreeHost.
14878
14879         * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some
14880         members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more
14881         logically, and added some getters used by LegacyCACFLayerTreeHost.
14882
14883 2011-01-27  Adam Roben  <aroben@apple.com>
14884
14885         Move CACFLayerTreeHostClient to its own header file
14886
14887         Rubber-stamped by Steve Falkenburg.
14888
14889         * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
14890         with the file.
14891
14892         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.
14893
14894         * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.
14895
14896         * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added.
14897
14898         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
14899         from the header file.
14900
14901         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
14902         with more specific ones, plus a forward-declaration.
14903
14904 2011-01-27  James Simonsen  <simonjam@chromium.org>
14905
14906         Reviewed by Tony Chang.
14907
14908         [Chromium] Simplify small caps logic in complex text on linux
14909         https://bugs.webkit.org/show_bug.cgi?id=53207
14910
14911         Test: fast/text/atsui-multiple-renderers.html
14912               fast/text/atsui-small-caps-punctuation-size.html
14913
14914         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
14915         (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes.
14916         (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above.
14917
14918 2011-01-27  Adam Barth  <abarth@webkit.org>
14919
14920         In which I attempt to fix the EFL build.
14921
14922         * CMakeLists.txt:
14923
14924 2011-01-25  Levi Weintraub  <leviw@chromium.org>
14925
14926         Reviewed by Darin Adler.
14927
14928         Adding border and padding to the calculation of the local caret rect for RenderBoxes.
14929         Corrected for mistake in r76625
14930
14931         Undo moves caret to invalid position
14932         https://bugs.webkit.org/show_bug.cgi?id=49744
14933
14934         Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
14935                editing/selection/caret-painting-after-paste-undo.html
14936
14937         * rendering/RenderBox.cpp:
14938         (WebCore::RenderBox::localCaretRect):
14939
14940 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
14941
14942         Unreviewed, rolling out r76825.
14943         http://trac.webkit.org/changeset/76825
14944         https://bugs.webkit.org/show_bug.cgi?id=53256
14945
14946         "caused crashes on GTK and chromium" (Requested by rniwa on
14947         #webkit).
14948
14949         * rendering/RenderBoxModelObject.cpp:
14950         (WebCore::ImageQualityController::keyDestroyed):
14951         (WebCore::ImageQualityController::objectDestroyed):
14952         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
14953         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
14954         (WebCore::imageQualityController):
14955         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
14956
14957 2011-01-27  Adam Barth  <abarth@webkit.org>
14958
14959         Reviewed by Eric Seidel.
14960
14961         Generalize the mechanism view-source uses to remember the source for an HTMLToken
14962         https://bugs.webkit.org/show_bug.cgi?id=53200
14963
14964         Currently view-source tracks the source associated with each HTMLToken.
14965         We want to re-use this mechanism for the new XSS auditor.  This patch
14966         moves this code into its own class so it can be shared between the
14967         view-source parser and the general HTML parser.  This patch also add
14968         support for tracking the source of tokens that span document.write
14969         boundaries.
14970
14971         No functional change.  This code change is somewhat tested by our
14972         view-source layout tests.
14973
14974         * Android.mk:
14975         * GNUmakefile.am:
14976         * WebCore.gypi:
14977         * WebCore.pro:
14978         * WebCore.vcproj/WebCore.vcproj:
14979         * WebCore.xcodeproj/project.pbxproj:
14980             - Fun with updating build files.
14981         * html/parser/HTMLDocumentParser.cpp:
14982         (WebCore::HTMLDocumentParser::pumpTokenizer):
14983             - Teach HTMLDocumentParser to track the source for HTMLTokens.
14984               Currently, this information isn't used, but it will be shortly.
14985               I ran the HTML parser benchmark and this change didn't have a
14986               measurable effect.
14987         * html/parser/HTMLDocumentParser.h:
14988             - Composite in the HTMLSourceTracker.
14989         * html/parser/HTMLSourceTracker.cpp: Added.
14990         (WebCore::HTMLSourceTracker::HTMLSourceTracker):
14991         (WebCore::HTMLSourceTracker::start):
14992         (WebCore::HTMLSourceTracker::end):
14993             - This function should eventualy be folded into HTMLTokenizer.
14994         (WebCore::HTMLSourceTracker::sourceForToken):
14995         * html/parser/HTMLSourceTracker.h: Added.
14996         * html/parser/HTMLToken.h:
14997             - Now HTMLTokens always have a start index of zero.  To do the job
14998               of the old start index, this patch introduces the notion of a
14999               baseOffset.  Unlike the start index (which was used as the base
15000               offset for all the other indicies), the baseOffset can change
15001               over the lifetime of the token.  We need the flexibility to
15002               change the offset for tokens that span document.write boundaries.
15003               Values are now normalized to zero-offset when stored.
15004         (WebCore::HTMLToken::clear):
15005         (WebCore::HTMLToken::setBaseOffset):
15006         (WebCore::HTMLToken::end):
15007         (WebCore::HTMLToken::beginAttributeName):
15008         (WebCore::HTMLToken::endAttributeName):
15009         (WebCore::HTMLToken::beginAttributeValue):
15010         (WebCore::HTMLToken::endAttributeValue):
15011         * html/parser/HTMLViewSourceParser.cpp:
15012             - Updates the HTMLViewSourceParser to use the new
15013               HTMLSourceTracker.
15014         (WebCore::HTMLViewSourceParser::pumpTokenizer):
15015         (WebCore::HTMLViewSourceParser::append):
15016         (WebCore::HTMLViewSourceParser::sourceForToken):
15017             - This function now just calls through to HTMLSourceTracker.
15018         * html/parser/HTMLViewSourceParser.h:
15019         * platform/text/SegmentedString.cpp:
15020         (WebCore::SegmentedString::currentColumn):
15021         (WebCore::SegmentedString::setCurrentPosition):
15022         * platform/text/SegmentedString.h:
15023         (WebCore::SegmentedString::numberOfCharactersConsumed):
15024             - We need to handle the general case now.  The "slow" version
15025               doesn't turn out to be any slower in practice anyway.
15026
15027 2011-01-27  Sam Weinig  <sam@webkit.org>
15028
15029         Fix all the builds.
15030
15031         * platform/ScrollView.cpp:
15032         (WebCore::ScrollView::paintOverhangAreas): Add parameters.
15033
15034 2011-01-27  Sam Weinig  <sam@webkit.org>
15035
15036         Reviewed by Dave Hyatt.
15037
15038         Add ability to do an unconstrained scroll on a ScrollView
15039         https://bugs.webkit.org/show_bug.cgi?id=53249
15040
15041         * platform/ScrollView.cpp:
15042         (WebCore::ScrollView::ScrollView):
15043         Initialize m_constrainsScrollingToContentEdge to true.
15044
15045         (WebCore::ScrollView::setScrollOffset):
15046         Only constrain the offset if the m_constrainsScrollingToContentEdge is set.
15047
15048         (WebCore::ScrollView::updateScrollbars):
15049         Simplify expression converting an IntSize to an IntPoint.
15050         
15051         (WebCore::ScrollView::paint):
15052         Paint the overhang if there is any.
15053         
15054         (WebCore::ScrollView::calculateOverhangAreasForPainting):
15055         Calculate the overhang in viewport coordinates for painting.
15056
15057         * platform/ScrollView.h:
15058         (WebCore::ScrollView::constrainsScrollingToContentEdge):
15059         (WebCore::ScrollView::setConstrainsScrollingToContentEdge):
15060         Add bit to control whether the scroll position should be constrained
15061         to the content edge when set.
15062
15063         * platform/ScrollbarThemeComposite.cpp:
15064         (WebCore::usedTotalSize):
15065         (WebCore::ScrollbarThemeComposite::thumbPosition):
15066         (WebCore::ScrollbarThemeComposite::thumbLength):
15067         * platform/mac/ScrollbarThemeMac.mm:
15068         (WebCore::ScrollbarThemeMac::paint):
15069         Improve calculations of thumb size and position to take overhang into account.
15070
15071 2011-01-27  Dirk Schulze  <krit@webkit.org>
15072
15073         Reviewed by Nikolas Zimmermann.
15074
15075         SVG animation of Paths with segments of different coordinate modes on begin and end
15076         https://bugs.webkit.org/show_bug.cgi?id=52984
15077
15078         At the moment we just support SVG path animations, if the number of segments on the given start path
15079         is the same as the number of segments on the given end path. But a segment on a given position must be identical
15080         on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical.
15081         If MoveToRel is on the second position on the start path a MoveToRel must be on the second position
15082         of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel
15083         in the start path, we can use MoveToAbs on the same position in the end path.
15084
15085         This patch fixes the blending code to follow the spec here. It was necessary to track the current position of
15086         both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back
15087         to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the
15088         animation.
15089
15090         Tests: svg/animations/animate-path-animation-Cc-Ss.html
15091                svg/animations/animate-path-animation-Ll-Vv-Hh.html
15092                svg/animations/animate-path-animation-Qq-Tt.html
15093                svg/animations/animate-path-animation-cC-sS-inverse.html
15094                svg/animations/animate-path-animation-lL-vV-hH-inverse.html
15095                svg/animations/animate-path-animation-qQ-tT-inverse.html
15096
15097         * svg/SVGPathBlender.cpp:
15098         (WebCore::blendFloatPoint):
15099         (WebCore::blendAnimatedFloat):
15100         (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat):
15101         (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
15102         (WebCore::SVGPathBlender::blendMoveToSegment):
15103         (WebCore::SVGPathBlender::blendLineToSegment):
15104         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
15105         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
15106         (WebCore::SVGPathBlender::blendCurveToCubicSegment):
15107         (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
15108         (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
15109         (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
15110         (WebCore::SVGPathBlender::blendArcToSegment):
15111         (WebCore::coordinateModeOfCommand):
15112         (WebCore::isSegmentEqual):
15113         (WebCore::SVGPathBlender::blendAnimatedPath):
15114         (WebCore::SVGPathBlender::cleanup):
15115         * svg/SVGPathBlender.h:
15116
15117 2011-01-27  Cris Neckar  <cdn@chromium.org>
15118
15119         Reviewed by Dimitri Glazkov.
15120
15121         Clear the parent on a css keyframe's m_style when removing it from the stylesheet.
15122         https://bugs.webkit.org/show_bug.cgi?id=52320
15123
15124         Test: fast/css/css-keyframe-style-crash.html
15125
15126         * css/CSSRuleList.cpp:
15127         (WebCore::CSSRuleList::deleteRule):
15128         * css/WebKitCSSKeyframesRule.cpp:
15129         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
15130
15131 2011-01-27  Rob Buis  <rwlbuis@gmail.com>
15132
15133         Reviewed by Kent Tamura.
15134
15135         Color changes to option elements in a select multiple aren't drawn immediately
15136         https://bugs.webkit.org/show_bug.cgi?id=49790
15137
15138         Redirect style changes on <option> element to the owner <select> element.
15139
15140         Test: fast/repaint/select-option-background-color.html
15141
15142         * html/HTMLOptionElement.cpp:
15143         (WebCore::HTMLOptionElement::setRenderStyle):
15144
15145 2011-01-19  Stephen White  <senorblanco@chromium.org>
15146
15147         Reviewed by Darin Adler.
15148
15149         Fix performance regression in ImageQualityController::objectDestroyed().
15150         https://bugs.webkit.org/show_bug.cgi?id=52645
15151
15152         In r72282, I inadvertently introduced this regression by using a
15153         linear search through the hash map on object destruction.  This was
15154         because the hash key consisted of both object pointer and layer id,
15155         but on object destruction we only know the object pointer, requiring
15156         a search to find all the layers. 
15157         By replacing the hash map with two nested hash maps, where the outer key
15158         is the object and the inner key is the layer, we can find all the
15159         relevant data for an object in one hash lookup.
15160
15161         * rendering/RenderBoxModelObject.cpp:
15162         Replace the (object,layer)->size HashMap with object->layer and
15163         layer->size HashMaps.
15164         (WebCore::ImageQualityController::isEmpty):
15165         Implement isEmpty() for the outer HashMap.
15166         (WebCore::ImageQualityController::removeLayer):
15167         When a layer is removed, remove it from the inner hash map.
15168         (WebCore::ImageQualityController::set):
15169         Implement set():  if the inner map exists, set the layer->size tuple
15170         directly.  If not, create a new inner map, set the tuple, and insert
15171         it in the outer map.
15172         (WebCore::ImageQualityController::objectDestroyed):
15173         Look up the object in the outer map only.
15174         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
15175         Cosmetic changes for the renamed now-outer hash map.
15176         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
15177         Do both outer and inner hash map lookups.  Call set() to add/update
15178         entries to the hash maps.  keyDestroyed() is now removeLayer().
15179         (WebCore::imageQualityController):
15180         Make the ImageQualityController a file-static global, so it can be
15181         created and destroyed on the fly.
15182         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
15183         If there is no ImageQualityController, don't call objectDestroyed().
15184         If it's empty, delete it.
15185
15186
15187 2011-01-26  Enrica Casucci  <enrica@apple.com>
15188
15189         Reviewed by Darin Adler and Adam Roben.
15190
15191         WebKit2: add support for drag and drop on Windows
15192         https://bugs.webkit.org/show_bug.cgi?id=52775
15193         <rdar://problem/8514409>
15194         
15195         On Windows the access to the content being dragged is
15196         provided via the IDataObject interface that is made available
15197         to the window that registers itself as drop target.
15198         Since this interface cannot be accessed from the WebProcess,
15199         in every call to one of the methods of the IDropTarget interface
15200         we serialize the content of the drag clipboard and send it over to
15201         the WebProcess.
15202         The bulk of this patch consists in the refactoring needed in DragData
15203         and ClipboardWin classes to extract the data from the serialized object.
15204         
15205         * platform/DragData.cpp:
15206         * platform/DragData.h:
15207         * platform/win/ClipboardUtilitiesWin.cpp:
15208         (WebCore::getWebLocData):
15209         (WebCore::getURL):
15210         (WebCore::getPlainText):
15211         (WebCore::getTextHTML):
15212         (WebCore::getCFHTML):
15213         (WebCore::fragmentFromFilenames):
15214         (WebCore::containsFilenames):
15215         (WebCore::fragmentFromHTML):
15216         (WebCore::containsHTML):
15217         (WebCore::getClipboardData):
15218         * platform/win/ClipboardUtilitiesWin.h:
15219         * platform/win/ClipboardWin.cpp:
15220         (WebCore::Clipboard::create):
15221         (WebCore::ClipboardWin::ClipboardWin):
15222         (WebCore::ClipboardWin::getData):
15223         (WebCore::ClipboardWin::types):
15224         (WebCore::ClipboardWin::files):
15225         (WebCore::ClipboardWin::hasData):
15226         * platform/win/ClipboardWin.h:
15227         (WebCore::ClipboardWin::create):
15228         * platform/win/DragDataWin.cpp:
15229         (WebCore::DragData::DragData):
15230         (WebCore::DragData::containsURL):
15231         (WebCore::DragData::dragDataMap):
15232         (WebCore::DragData::asURL):
15233         (WebCore::DragData::containsFiles):
15234         (WebCore::DragData::asFilenames):
15235         (WebCore::DragData::containsPlainText):
15236         (WebCore::DragData::asPlainText):
15237         (WebCore::DragData::canSmartReplace):
15238         (WebCore::DragData::containsCompatibleContent):
15239         (WebCore::DragData::asFragment):
15240
15241 2011-01-27  Mario Sanchez Prada  <msanchez@igalia.com>
15242
15243         Reviewed by Martin Robinson.
15244
15245         [GTK] Space characters in source document interfere with reported caret offset
15246         https://bugs.webkit.org/show_bug.cgi?id=53033
15247
15248         Calculate caret offset from rendered text instead of from node contents.
15249
15250         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
15251         (objectAndOffsetUnignored): Calculate the caret offset based only
15252         on positions and ranges, instead of using the computed offset in
15253         the container node.
15254
15255 2011-01-26  Alexey Proskuryakov  <ap@apple.com>
15256
15257         Reviewed by Darin Adler.
15258
15259         https://bugs.webkit.org/show_bug.cgi?id=53197
15260         <rdar://problem/8895682> Make WebKit2 printing asynchronous
15261
15262         * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
15263
15264         * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
15265         transformation as spoolPages does for consistency.
15266
15267 2011-01-27  David Grogan  <dgrogan@google.com>
15268
15269         Reviewed by Jeremy Orlow.
15270
15271         initial support for close() in indexeddb backend
15272         https://bugs.webkit.org/show_bug.cgi?id=53150
15273
15274         Test: storage/indexeddb/transaction-after-close.html
15275
15276         * storage/IDBDatabase.cpp:
15277         (WebCore::IDBDatabase::IDBDatabase):
15278         (WebCore::IDBDatabase::transaction):
15279         (WebCore::IDBDatabase::close):
15280         * storage/IDBDatabase.h:
15281         * storage/IDBDatabase.idl:
15282         * storage/IDBDatabaseBackendImpl.cpp:
15283         (WebCore::IDBDatabaseBackendImpl::transaction):
15284         (WebCore::IDBDatabaseBackendImpl::close):
15285
15286 2011-01-27  Dirk Schulze  <krit@webkit.org>
15287
15288         Reviewed by Nikolas Zimmermann.
15289
15290         SVG animation doesn't support calcMode discrete for number and color values.
15291         https://bugs.webkit.org/show_bug.cgi?id=53189
15292
15293         Add support for calcMode discrete on number and color animation.
15294
15295         Tests: svg/animations/animate-color-calcMode-discrete.html
15296                svg/animations/animate-number-calcMode-discrete.html
15297
15298         * svg/SVGAnimateElement.cpp:
15299         (WebCore::SVGAnimateElement::calculateAnimatedValue):
15300
15301 2011-01-26  Zhenyao Mo  <zmo@google.com>
15302
15303         Reviewed by Kenneth Russell.
15304
15305         shaderSource needs to preserve original source
15306         https://bugs.webkit.org/show_bug.cgi?id=52833
15307
15308         Test: fast/canvas/webgl/gl-getshadersource.html
15309
15310         * html/canvas/WebGLRenderingContext.cpp:
15311         (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
15312         (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
15313         (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
15314         * html/canvas/WebGLShader.cpp: Cache shader source.
15315         (WebCore::WebGLShader::WebGLShader):
15316         * html/canvas/WebGLShader.h: Ditto.
15317         (WebCore::WebGLShader::getSource):
15318         (WebCore::WebGLShader::setSource):
15319
15320 2011-01-27  Patrick Gansterer  <paroga@webkit.org>
15321
15322         Unreviewed WinCE build fix for r76743.
15323
15324         * platform/graphics/wince/FontWinCE.cpp:
15325         (WebCore::TextRunComponent::TextRunComponent):
15326
15327 2011-01-27  Pavel Podivilov  <podivilov@chromium.org>
15328
15329         Reviewed by Pavel Feldman.
15330
15331         Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
15332         https://bugs.webkit.org/show_bug.cgi?id=53234
15333
15334         * inspector/front-end/ScopeChainSidebarPane.js:
15335         (WebInspector.ScopeChainSidebarPane):
15336         (WebInspector.ScopeChainSidebarPane.prototype.update):
15337
15338 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
15339
15340         Unreviewed, rolling out r76789.
15341         http://trac.webkit.org/changeset/76789
15342         https://bugs.webkit.org/show_bug.cgi?id=53238
15343
15344         Broke GTK layout tests (Requested by podivilov on #webkit).
15345
15346         * inspector/front-end/ScopeChainSidebarPane.js:
15347         (WebInspector.ScopeChainSidebarPane):
15348         (WebInspector.ScopeChainSidebarPane.prototype.update):
15349
15350 2011-01-27  Yury Semikhatsky  <yurys@chromium.org>
15351
15352         Reviewed by Pavel Feldman.
15353
15354         Web Inspector: store all settings related to the agents on the frontend side
15355         https://bugs.webkit.org/show_bug.cgi?id=53174
15356
15357         * CMakeLists.txt:
15358         * GNUmakefile.am:
15359         * WebCore.exp.in:
15360         * WebCore.gypi:
15361         * WebCore.pro:
15362         * WebCore.vcproj/WebCore.vcproj:
15363         * WebCore.xcodeproj/project.pbxproj:
15364         * bindings/js/ScriptDebugServer.cpp:
15365         * bindings/js/ScriptDebugServer.h:
15366         * bindings/js/ScriptProfiler.cpp:
15367         * bindings/js/ScriptProfiler.h:
15368         * bindings/v8/ScriptDebugServer.cpp:
15369         * bindings/v8/ScriptDebugServer.h:
15370         * bindings/v8/ScriptProfiler.cpp:
15371         * bindings/v8/ScriptProfiler.h:
15372         * inspector/Inspector.idl:
15373         * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
15374         on the front-end side and will be pushed to the backend when the frontend is loaded.
15375         (WebCore::InspectorAgent::InspectorAgent):
15376         (WebCore::InspectorAgent::disconnectFrontend):
15377         (WebCore::InspectorAgent::restoreDebugger):
15378         (WebCore::InspectorAgent::restoreProfiler):
15379         (WebCore::InspectorAgent::enableProfiler):
15380         (WebCore::InspectorAgent::disableProfiler):
15381         (WebCore::InspectorAgent::showAndEnableDebugger):
15382         (WebCore::InspectorAgent::enableDebugger):
15383         (WebCore::InspectorAgent::disableDebugger):
15384         * inspector/InspectorAgent.h:
15385         * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
15386         if the front-end was opened during current browser session and XHR logging is turned on
15387         there.
15388         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
15389         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
15390         * inspector/InspectorDebuggerAgent.cpp:
15391         * inspector/InspectorDebuggerAgent.h:
15392         * inspector/InspectorInstrumentation.cpp:
15393         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
15394         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
15395         * inspector/InspectorProfilerAgent.cpp:
15396         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
15397         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
15398         * inspector/InspectorSettings.cpp: Removed.
15399         * inspector/InspectorSettings.h: Removed.
15400         * inspector/InspectorState.cpp:
15401         (WebCore::InspectorState::InspectorState):
15402         * inspector/InspectorState.h:
15403         * inspector/front-end/ConsoleView.js:
15404         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
15405         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
15406         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
15407         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
15408         * inspector/front-end/ProfilesPanel.js:
15409         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
15410         * inspector/front-end/ScriptsPanel.js:
15411         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
15412         * inspector/front-end/Settings.js:
15413         (WebInspector.Settings):
15414         * inspector/front-end/inspector.js:
15415
15416 2011-01-27  Pavel Podivilov  <podivilov@chromium.org>
15417
15418         Reviewed by Pavel Feldman.
15419
15420         Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
15421         https://bugs.webkit.org/show_bug.cgi?id=53234
15422
15423         * inspector/front-end/ScopeChainSidebarPane.js:
15424         (WebInspector.ScopeChainSidebarPane):
15425         (WebInspector.ScopeChainSidebarPane.prototype.update):
15426
15427 2011-01-27  Alexander Pavlov  <apavlov@chromium.org>
15428
15429         Reviewed by Pavel Feldman.
15430
15431         Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
15432         https://bugs.webkit.org/show_bug.cgi?id=53171
15433
15434         * inspector/front-end/inspector.js:
15435         (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
15436
15437 2011-01-27  Yury Semikhatsky  <yurys@chromium.org>
15438
15439         Reviewed by Pavel Feldman.
15440
15441         [V8] Crash in WebCore::addMessageToConsole
15442         https://bugs.webkit.org/show_bug.cgi?id=53227
15443
15444         * bindings/v8/V8Proxy.cpp: check that the Frame where the error
15445         occured still has a page before getting a console object from it.
15446         (WebCore::V8Proxy::reportUnsafeAccessTo):
15447
15448 2011-01-27  Hans Wennborg  <hans@chromium.org>
15449
15450         Reviewed by Jeremy Orlow.
15451
15452         IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
15453         https://bugs.webkit.org/show_bug.cgi?id=53178
15454
15455         Remove the IDBCallbacks::onSuccess() function that was used for
15456         null values, and replace such calls with calls to
15457         IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
15458         instead.
15459
15460         No new functionality, so no new tests.
15461
15462         * storage/IDBCallbacks.h:
15463         * storage/IDBCursorBackendImpl.cpp:
15464         (WebCore::IDBCursorBackendImpl::updateInternal):
15465         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
15466         * storage/IDBIndexBackendImpl.cpp:
15467         (WebCore::IDBIndexBackendImpl::openCursorInternal):
15468         * storage/IDBObjectStoreBackendImpl.cpp:
15469         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
15470         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
15471         * storage/IDBRequest.cpp:
15472         * storage/IDBRequest.h:
15473
15474 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
15475
15476         Unreviewed, rolling out r76773.
15477         http://trac.webkit.org/changeset/76773
15478         https://bugs.webkit.org/show_bug.cgi?id=53230
15479
15480         breaks multiple GTK media tests (Requested by philn-tp on
15481         #webkit).
15482
15483         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
15484         (WebCore::mimeTypeCache):
15485
15486 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
15487
15488         Unreviewed, rolling out r76770.
15489         http://trac.webkit.org/changeset/76770
15490         https://bugs.webkit.org/show_bug.cgi?id=53229
15491
15492         Some inspector tests fail (Requested by yurys on #webkit).
15493
15494         * CMakeLists.txt:
15495         * GNUmakefile.am:
15496         * WebCore.exp.in:
15497         * WebCore.gypi:
15498         * WebCore.pro:
15499         * WebCore.vcproj/WebCore.vcproj:
15500         * WebCore.xcodeproj/project.pbxproj:
15501         * bindings/js/ScriptDebugServer.cpp:
15502         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
15503         * bindings/js/ScriptDebugServer.h:
15504         * bindings/js/ScriptProfiler.cpp:
15505         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
15506         * bindings/js/ScriptProfiler.h:
15507         * bindings/v8/ScriptDebugServer.cpp:
15508         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
15509         * bindings/v8/ScriptDebugServer.h:
15510         * bindings/v8/ScriptProfiler.cpp:
15511         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
15512         * bindings/v8/ScriptProfiler.h:
15513         * inspector/Inspector.idl:
15514         * inspector/InspectorAgent.cpp:
15515         (WebCore::InspectorAgent::InspectorAgent):
15516         (WebCore::InspectorAgent::disconnectFrontend):
15517         (WebCore::InspectorAgent::restoreDebugger):
15518         (WebCore::InspectorAgent::restoreProfiler):
15519         (WebCore::InspectorAgent::ensureSettingsLoaded):
15520         (WebCore::InspectorAgent::enableProfiler):
15521         (WebCore::InspectorAgent::disableProfiler):
15522         (WebCore::InspectorAgent::showAndEnableDebugger):
15523         (WebCore::InspectorAgent::enableDebugger):
15524         (WebCore::InspectorAgent::disableDebugger):
15525         * inspector/InspectorAgent.h:
15526         (WebCore::InspectorAgent::settings):
15527         * inspector/InspectorConsoleAgent.cpp:
15528         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
15529         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
15530         * inspector/InspectorDebuggerAgent.cpp:
15531         (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
15532         * inspector/InspectorDebuggerAgent.h:
15533         * inspector/InspectorInstrumentation.cpp:
15534         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
15535         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
15536         * inspector/InspectorProfilerAgent.cpp:
15537         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
15538         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
15539         * inspector/InspectorSettings.cpp: Added.
15540         (WebCore::InspectorSettings::InspectorSettings):
15541         (WebCore::InspectorSettings::getBoolean):
15542         (WebCore::InspectorSettings::setBoolean):
15543         (WebCore::InspectorSettings::getLong):
15544         (WebCore::InspectorSettings::setLong):
15545         (WebCore::InspectorSettings::registerBoolean):
15546         (WebCore::InspectorSettings::registerLong):
15547         * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
15548         * inspector/InspectorState.cpp:
15549         (WebCore::InspectorState::InspectorState):
15550         * inspector/InspectorState.h:
15551         * inspector/front-end/ConsoleView.js:
15552         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
15553         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
15554         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
15555         * inspector/front-end/ProfilesPanel.js:
15556         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
15557         * inspector/front-end/ScriptsPanel.js:
15558         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
15559         * inspector/front-end/Settings.js:
15560         (WebInspector.Settings):
15561         * inspector/front-end/inspector.js:
15562
15563 2011-01-26  Philippe Normand  <pnormand@igalia.com>
15564
15565         Reviewed by Martin Robinson.
15566
15567         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
15568         https://bugs.webkit.org/show_bug.cgi?id=53125
15569
15570         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
15571         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
15572
15573 2011-01-26  Yury Semikhatsky  <yurys@chromium.org>
15574
15575         Reviewed by Pavel Feldman.
15576
15577         Web Inspector: store all settings related to the agents on the frontend side
15578         https://bugs.webkit.org/show_bug.cgi?id=53174
15579
15580         * CMakeLists.txt:
15581         * GNUmakefile.am:
15582         * WebCore.exp.in:
15583         * WebCore.gypi:
15584         * WebCore.pro:
15585         * WebCore.vcproj/WebCore.vcproj:
15586         * WebCore.xcodeproj/project.pbxproj:
15587         * inspector/Inspector.idl:
15588         * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
15589         on the front-end side and will be pushed to the backend when the frontend is loaded.
15590         (WebCore::InspectorAgent::InspectorAgent):
15591         (WebCore::InspectorAgent::disconnectFrontend):
15592         (WebCore::InspectorAgent::restoreDebugger):
15593         (WebCore::InspectorAgent::restoreProfiler):
15594         (WebCore::InspectorAgent::enableProfiler):
15595         (WebCore::InspectorAgent::disableProfiler):
15596         (WebCore::InspectorAgent::showAndEnableDebugger):
15597         (WebCore::InspectorAgent::enableDebugger):
15598         (WebCore::InspectorAgent::disableDebugger):
15599         * inspector/InspectorAgent.h:
15600         * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
15601         if the front-end was opened during current browser session and XHR logging is turned on
15602         there.
15603         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
15604         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
15605         * inspector/InspectorInstrumentation.cpp:
15606         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
15607         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
15608         * inspector/InspectorProfilerAgent.cpp:
15609         (WebCore::InspectorProfilerAgent::enable):
15610         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
15611         * inspector/InspectorProfilerAgent.h:
15612         * inspector/InspectorSettings.cpp: Removed.
15613         * inspector/InspectorSettings.h: Removed.
15614         * inspector/InspectorState.cpp:
15615         (WebCore::InspectorState::InspectorState):
15616         * inspector/InspectorState.h:
15617         * inspector/front-end/ConsoleView.js:
15618         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
15619         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
15620         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
15621         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
15622         * inspector/front-end/ProfilesPanel.js:
15623         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
15624         * inspector/front-end/ScriptsPanel.js:
15625         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
15626         * inspector/front-end/Settings.js:
15627         (WebInspector.Settings):
15628         * inspector/front-end/inspector.js:
15629
15630 2011-01-27  Dan Bernstein  <mitz@apple.com>
15631
15632         Reviewed by Sam Weinig.
15633
15634         REGRESSION (r76743): Uneven spacing in right-to-left justified text
15635         https://bugs.webkit.org/show_bug.cgi?id=53225
15636
15637         Fixes failure in fast/text/atsui-spacing-features.html
15638
15639         There was an inconsistency between rendering code and font code in the interpretation of
15640         'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
15641         visual order rather than logical.
15642
15643         * platform/graphics/Font.cpp:
15644         (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
15645         iterate in visual order accordingly.
15646         * platform/graphics/Font.h:
15647         * platform/graphics/WidthIterator.cpp:
15648         (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
15649         (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
15650         condition with respect to the first character, which is the trailing character in visual order.
15651         * platform/graphics/mac/ComplexTextController.cpp:
15652         (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
15653         expansionOpportunityCount().
15654         * rendering/RenderBlockLineLayout.cpp:
15655         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
15656
15657 2011-01-26  Adam Roben  <aroben@apple.com>
15658
15659         Don't create the Direct3D device before it's first needed
15660
15661         We only need the device once we decide to render. There's no point in creating it before
15662         then.
15663
15664         Reviewed by Sam Weinig.
15665
15666         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
15667         (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
15668         We already have code to create it when we first try to draw.
15669         (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
15670         bounds so that the bounds will take effect the next time we render (which could be just
15671         after this function returns).
15672
15673 2011-01-26  Adam Roben  <aroben@apple.com>
15674
15675         Add assertions that CACFLayerTreeHost gains and loses an HWND only once
15676
15677         CACFLayerTreeHost doesn't support any other use pattern.
15678
15679         Reviewed by Sam Weinig.
15680
15681         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
15682         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
15683         (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
15684         to having a window, to not having a window just once over the lifetime of this object.
15685
15686         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
15687
15688 2011-01-26  Adam Roben  <aroben@apple.com>
15689
15690         Notify layers that their animations have started when we flush the context, not when we
15691         render
15692
15693         r76372 separated context flushing from rendering, but this bit of code got left behind.
15694
15695         Reviewed by Sam Weinig.
15696
15697         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
15698         (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
15699         notifyAnimationsStarted.
15700         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
15701         notifyAnimationsStarted after we flush the context.
15702         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
15703         to call PlatformCALayer::animationStarted rather than calling through to the client
15704         directly.
15705
15706         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
15707
15708 2011-01-26  Adam Roben  <aroben@apple.com>
15709
15710         Small cleanup in MediaPlayerPrivateFullscreenWindow
15711
15712         Reviewed by Sam Weinig.
15713
15714         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
15715         (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
15716         code here from close(), since this was the only place that called it after the following
15717         change to createWindow.
15718         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
15719         case where we had already created the window with an assertion that we have not already done
15720         so. Our single caller (FullscreenVideoController) did not require this behavior.
15721
15722         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
15723
15724 2011-01-26  Sam Weinig  <sam@webkit.org>
15725
15726         Reviewed by Adam Roben.
15727
15728         Move ScrollView scroll wheel code to ScrollAnimator.
15729
15730         * platform/ScrollAnimator.cpp:
15731         (WebCore::ScrollAnimator::handleWheelEvent):
15732         * platform/ScrollAnimator.h:
15733         Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
15734
15735         * platform/ScrollView.cpp:
15736         (WebCore::ScrollView::wheelEvent):
15737         Call down to the ScrollableArea.
15738
15739         * platform/ScrollableArea.cpp:
15740         (WebCore::ScrollableArea::handleWheelEvent):
15741         Call down to the ScrollAnimator.
15742
15743         * platform/ScrollableArea.h:
15744         (WebCore::ScrollableArea::scrollPosition):
15745         (WebCore::ScrollableArea::minimumScrollPosition):
15746         (WebCore::ScrollableArea::maximumScrollPosition):
15747         (WebCore::ScrollableArea::visibleContentRect):
15748         (WebCore::ScrollableArea::visibleHeight):
15749         (WebCore::ScrollableArea::visibleWidth):
15750         Add functions needed to implement wheel event in the animator.
15751
15752 2011-01-26  David Kilzer  <ddkilzer@apple.com>
15753
15754         <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
15755         <rdar://problem/8821760>
15756
15757         Reviewed by Antti Koivisto.
15758
15759         This adds support for HTTP pipelining in CFNetwork, but does not
15760         enable it.  To enable it post-SnowLeopard, use this command:
15761
15762             defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
15763
15764         Once enabled, it is possible to force the same load priority
15765         (high) to be sent to CFNetwork to allow WebCore to handle the
15766         scheduling:
15767
15768             defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
15769
15770         * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
15771         _wkSetHTTPPipeliningPriority.
15772
15773         * loader/DocumentThreadableLoader.cpp:
15774         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
15775         Copy the priority to preflightRequest.
15776
15777         * loader/ResourceLoadScheduler.cpp:
15778         (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
15779         at the end of the method to use an early return.
15780
15781         * loader/cache/CachedResourceRequest.cpp:
15782         (WebCore::CachedResourceRequest::load): Set the priority on the
15783         ResourceRequest object based on the priority of the
15784         CachedResourceRequest before calling
15785         ResourceLoadScheduler::scheduleSubresourceLoad().
15786
15787         * loader/icon/IconLoader.cpp:
15788         (WebCore::IconLoader::startLoading): Create a ResourceRequest
15789         object and set its priority to ResourceLoadPriorityLow before
15790         passing it to ResourceLoadScheduler::scheduleSubresourceLoad().
15791
15792         * platform/mac/WebCoreSystemInterface.h:
15793         (wkGetHTTPPipeliningPriority): Added.
15794         (wkSetHTTPPipeliningPriority): Added.
15795         * platform/mac/WebCoreSystemInterface.mm:
15796         (wkGetHTTPPipeliningPriority): Added.
15797         (wkSetHTTPPipeliningPriority): Added.
15798
15799         * platform/network/ResourceRequestBase.cpp:
15800         (WebCore::ResourceRequestBase::adopt): Set m_priority when
15801         adopting a CrossThreadResourceRequestData.
15802         (WebCore::ResourceRequestBase::copyData): Set m_priority when
15803         creating a CrossThreadResourceRequestData.
15804         (WebCore::ResourceRequestBase::priority): Added.
15805         (WebCore::ResourceRequestBase::setPriority): Added.
15806         (WebCore::equalIgnoringHeaderFields): Priorities must match when
15807         comparing two ResourceRequest objects.
15808
15809         * platform/network/ResourceRequestBase.h:
15810         (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
15811         priority of new objects to ResourceLoadPriorityLow.
15812         (WebCore::ResourceRequestBase::priority): Added declaration.
15813         (WebCore::ResourceRequestBase::setPriority): Added declaration.
15814         (WebCore::isHTTPPipeliningEnabled): Added.
15815         (WebCore::shouldUseHTTPPipeliningPriority): Added.
15816
15817         * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
15818         Mac OS X and Windows share code.
15819         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
15820         set the HTTP connection count per host, but return an
15821         'unlimited' value when using HTTP pipelining.  This method used
15822         to be defined in ResourceRequestMac.mm for Mac OS X.
15823         (WebCore::readBooleanPreference): Added.  Helper method for
15824         reading boolean user defaults.
15825         (WebCore::isHTTPPipeliningEnabled): Returns value of user
15826         default key WebKitEnableHTTPPipelining, or false if not set.
15827         (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
15828         user default key WebKitForceHTTPPipeliningPriorityHigh, or false
15829         if not set.
15830         * platform/network/cf/ResourceRequestCFNet.h: Updated so that
15831         Mac OS X and Windows share code.  Fixed indentation.
15832         (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
15833         (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.
15834
15835         * platform/network/mac/ResourceRequestMac.mm:
15836         (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
15837         HTTP pipelining priority on NSMutableFURLRequest object.
15838         (WebCore::ResourceRequest::doUpdateResourceRequest): Update
15839         m_priority from the NSURLRequest object.
15840         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
15841         Code is now shared with Windows in ResourceRequestCFNet.cpp.
15842
15843 2011-01-26  Beth Dakin  <bdakin@apple.com>
15844
15845         Reviewed by Darin Adler.
15846
15847         Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
15848         when using WKScrollbars.
15849
15850         New WebKitSystemInterface Functionality.
15851         * WebCore.exp.in:
15852         * platform/mac/WebCoreSystemInterface.h:
15853         * platform/mac/WebCoreSystemInterface.mm:
15854
15855         Some of the terrible static arrays are now only needed in the 
15856         old non-WK code, so they are if-def'd now.
15857         * platform/mac/ScrollbarThemeMac.mm:
15858         
15859         Just patching this function in a better way than I did
15860         before.
15861         (WebCore::updateArrowPlacement):
15862         
15863         Call into WK for the right values.
15864         (WebCore::ScrollbarThemeMac::scrollbarThickness):
15865         (WebCore::ScrollbarThemeMac::hasThumb):
15866         (WebCore::ScrollbarThemeMac::minimumThumbLength):
15867         
15868         Return false if there are no buttons.
15869         (WebCore::ScrollbarThemeMac::hasButtons):
15870
15871         Return an empty IntRect if there are not buttons.
15872         (WebCore::buttonRepaintRect):
15873
15874 2011-01-26  Sam Weinig  <sam@webkit.org>
15875
15876         Reviewed by Maciej Stachowiak.
15877
15878         Add events to represent the start/end of a gesture scroll
15879         https://bugs.webkit.org/show_bug.cgi?id=53215
15880
15881         * WebCore.exp.in: 
15882         Add new file.
15883
15884         * WebCore.xcodeproj/project.pbxproj:
15885         Add new file.
15886
15887         * page/EventHandler.cpp:
15888         (WebCore::EventHandler::handleGestureEvent):
15889         * page/EventHandler.h:
15890         Add entry point for handling gesture events.
15891
15892         * platform/PlatformGestureEvent.h: Added.
15893         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
15894         (WebCore::PlatformGestureEvent::type):
15895         (WebCore::PlatformGestureEvent::position):
15896         (WebCore::PlatformGestureEvent::globalPosition):
15897         (WebCore::PlatformGestureEvent::timestamp):
15898         Add platform agnostic representation of a gesture event.
15899
15900 2011-01-26  Dan Bernstein  <mitz@apple.com>
15901
15902         Reviewed by Dave Hyatt.
15903
15904         <rdar://problem/8446709> Allow inter-ideograph justification for CJK
15905         https://bugs.webkit.org/show_bug.cgi?id=53184
15906
15907         Tests: fast/text/justify-ideograph-complex.html
15908                fast/text/justify-ideograph-simple.html
15909                fast/text/justify-ideograph-vertical.html
15910
15911         * html/canvas/CanvasRenderingContext2D.cpp:
15912         (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
15913         passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
15914         * platform/graphics/Font.cpp:
15915         (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
15916         for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
15917         before the first character. On return, isAfterExpansion says whether an expansion opportunity
15918         exists after the last character.
15919         * platform/graphics/Font.h: 
15920         * platform/graphics/GlyphBuffer.h:
15921         (WebCore::GlyphBuffer::expandLastAdvance): Added.
15922         * platform/graphics/TextRun.h:
15923         (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
15924         Renamed padding to expansion.
15925         (WebCore::TextRun::expansion): Renamed padding() to this.
15926         (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
15927         * platform/graphics/WidthIterator.cpp:
15928         (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
15929         and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
15930         expansion.
15931         (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
15932         (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
15933         can expand the last advance if it is followed by a CJK ideograph.
15934         * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
15935         to m_expansionPerOpportunity.
15936         * platform/graphics/chromium/FontChromiumWin.cpp:
15937         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15938         * platform/graphics/chromium/FontLinux.cpp:
15939         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15940         * platform/graphics/efl/FontEfl.cpp:
15941         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15942         * platform/graphics/gtk/FontGtk.cpp:
15943         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15944         * platform/graphics/haiku/FontHaiku.cpp:
15945         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15946         * platform/graphics/mac/ComplexTextController.cpp:
15947         (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
15948         Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
15949         opportunity but the run disallows trailing expansion.
15950         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
15951         of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
15952         * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
15953         to m_expansionPerOpportunity.
15954         * platform/graphics/mac/FontMac.mm:
15955         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15956         * platform/graphics/qt/FontQt.cpp:
15957         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15958         * platform/graphics/win/FontWin.cpp:
15959         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15960         * platform/graphics/win/UniscribeController.cpp:
15961         (WebCore::UniscribeController::UniscribeController): Updated for rename.
15962         * platform/graphics/wince/FontWinCE.cpp:
15963         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15964         * platform/graphics/wx/FontWx.cpp:
15965         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
15966         * rendering/EllipsisBox.cpp:
15967         (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
15968         (WebCore::EllipsisBox::selectionRect): Ditto.
15969         (WebCore::EllipsisBox::paintSelection): Ditto.
15970         * rendering/InlineBox.h:
15971         (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
15972         (WebCore::InlineBox::expansion): Renamed toAdd() to this.
15973         * rendering/InlineTextBox.cpp:
15974         (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
15975         (WebCore::InlineTextBox::paint): Ditto.
15976         (WebCore::InlineTextBox::paintSelection): Ditto.
15977         (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
15978         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
15979         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
15980         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
15981         (WebCore::InlineTextBox::offsetForPosition): Ditto.
15982         (WebCore::InlineTextBox::positionForOffset): Ditto.
15983         * rendering/InlineTextBox.h:
15984         (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
15985         (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
15986         is not the last leaf box on the line.
15987         * rendering/RenderBlockLineLayout.cpp:
15988         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
15989         in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
15990         last text box.
15991         * rendering/RenderFileUploadControl.cpp:
15992         (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
15993         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
15994         * rendering/RenderListBox.cpp:
15995         (WebCore::RenderListBox::updateFromElement): Ditto.
15996         (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
15997         * rendering/RenderTextControl.cpp:
15998         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
15999         (WebCore::RenderTextControl::paintPlaceholder): Ditto.
16000         * rendering/svg/SVGInlineTextBox.cpp:
16001         (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
16002
16003 2011-01-26  Andy Estes  <aestes@apple.com>
16004
16005         Rubber-stamped by Darin Adler.
16006
16007         Inline HTMLObjectElement::hasValidClassId().
16008
16009         * html/HTMLObjectElement.cpp:
16010         (WebCore::HTMLObjectElement::hasValidClassId):
16011
16012 2011-01-26  Evan Martin  <evan@chromium.org>
16013
16014         Reviewed by Tony Chang.
16015
16016         [chromium] crash on getBoundingClientRect in complex text
16017         https://bugs.webkit.org/show_bug.cgi?id=53199
16018
16019         Use the correct array bound; we want the number of characters processed by
16020         the shaper, not the longest continuous script run length.
16021
16022         Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
16023
16024         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
16025         (WebCore::ComplexTextController::nextScriptRun):
16026         * platform/graphics/chromium/ComplexTextControllerLinux.h:
16027         (WebCore::ComplexTextController::numCodePoints):
16028
16029 2011-01-26  Emil A Eklund  <eae@chromium.org>
16030
16031         Reviewed by Alexey Proskuryakov.
16032
16033         Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
16034         https://bugs.webkit.org/show_bug.cgi?id=52084
16035
16036         Test: fast/dom/css-delete-doc.html
16037
16038         * css/CSSMediaRule.cpp:
16039         (WebCore::CSSMediaRule::insertRule):
16040         (WebCore::CSSMediaRule::deleteRule):
16041         * css/CSSStyleSheet.cpp:
16042         (WebCore::CSSStyleSheet::CSSStyleSheet):
16043         (WebCore::CSSStyleSheet::document):
16044         * css/CSSStyleSheet.h:
16045         * xml/XSLStyleSheet.h:
16046         (WebCore::XSLStyleSheet::parentStyleSheet):
16047         * xml/XSLStyleSheetLibxslt.cpp:
16048         (WebCore::XSLStyleSheet::XSLStyleSheet):
16049         (WebCore::XSLStyleSheet::cachedResourceLoader):
16050         (WebCore::XSLStyleSheet::setParentStyleSheet):
16051         (WebCore::XSLStyleSheet::ownerDocument):
16052         * xml/XSLStyleSheetQt.cpp:
16053         (WebCore::XSLStyleSheet::XSLStyleSheet):
16054         (WebCore::XSLStyleSheet::cachedResourceLoader):
16055         (WebCore::XSLStyleSheet::ownerDocument):
16056
16057 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
16058
16059         Reviewed by Kent Tamura.
16060
16061         Reduce ref-count churn in shadowPseudoId.
16062         https://bugs.webkit.org/show_bug.cgi?id=53136
16063
16064         Refactoring, so no new tests.
16065
16066         * dom/Element.h:
16067         (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
16068         * html/ValidationMessage.cpp:
16069         (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
16070         * html/shadow/SliderThumbElement.cpp:
16071         (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
16072         * html/shadow/SliderThumbElement.h: Ditto.
16073         * rendering/MediaControlElements.cpp:
16074         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
16075         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
16076         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
16077         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
16078         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
16079         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
16080         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
16081         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
16082         (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
16083         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
16084         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
16085         * rendering/MediaControlElements.h: Ditto.
16086
16087 2011-01-26  Dave Hyatt  <hyatt@apple.com>
16088
16089         Reviewed by Dan Bernstein.
16090
16091         https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
16092
16093         Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
16094
16095         * css/html.css:
16096         Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
16097         elements work properly.
16098
16099         * rendering/InlineFlowBox.cpp:
16100         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
16101         Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
16102         in some cases (causing lines to all stack on top of one another).
16103
16104         * rendering/InlineTextBox.h:
16105         (WebCore::InlineTextBox::calculateBoundaries):
16106         Fix calculateBoundaries to be physical rather than logical.
16107
16108         * rendering/LayoutState.cpp:
16109         (WebCore::LayoutState::addForcedColumnBreak):
16110         * rendering/LayoutState.h:
16111         Rename childY to childLogicalOffset.
16112
16113         * rendering/RenderBlock.cpp:
16114         (WebCore::RenderBlock::layoutBlock):
16115         (WebCore::RenderBlock::addOverflowFromChildren):
16116         (WebCore::RenderBlock::addOverflowFromFloats):
16117         (WebCore::RenderBlock::collapseMargins):
16118         (WebCore::RenderBlock::estimateLogicalTopPosition):
16119         (WebCore::RenderBlock::layoutBlockChild):
16120         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
16121         (WebCore::RenderBlock::paintColumnRules):
16122         (WebCore::RenderBlock::paintColumnContents):
16123         (WebCore::RenderBlock::paintFloats):
16124         (WebCore::RenderBlock::selectionGaps):
16125         (WebCore::RenderBlock::removeFloatingObjectsBelow):
16126         (WebCore::RenderBlock::addOverhangingFloats):
16127         (WebCore::RenderBlock::hitTestFloats):
16128         (WebCore::RenderBlock::hitTestColumns):
16129         (WebCore::RenderBlock::calcColumnWidth):
16130         (WebCore::RenderBlock::desiredColumnWidth):
16131         (WebCore::RenderBlock::columnRectAt):
16132         (WebCore::RenderBlock::layoutColumns):
16133         (WebCore::RenderBlock::adjustPointToColumnContents):
16134         (WebCore::RenderBlock::adjustRectForColumns):
16135         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
16136         (WebCore::RenderBlock::adjustForColumns):
16137         (WebCore::RenderBlock::adjustForBorderFit):
16138         (WebCore::RenderBlock::nextPageLogicalTop):
16139         (WebCore::RenderBlock::applyBeforeBreak):
16140         (WebCore::RenderBlock::applyAfterBreak):
16141         (WebCore::RenderBlock::adjustForUnsplittableChild):
16142         (WebCore::RenderBlock::adjustLinePositionForPagination):
16143         * rendering/RenderBlock.h:
16144         (WebCore::RenderBlock::logicalRightOffsetForContent):
16145         (WebCore::RenderBlock::logicalLeftOffsetForContent):
16146         (WebCore::RenderBlock::leftForFloatIncludingMargin):
16147         (WebCore::RenderBlock::topForFloatIncludingMargin):
16148         * rendering/RenderBlockLineLayout.cpp:
16149         (WebCore::RenderBlock::layoutInlineChildren):
16150         (WebCore::RenderBlock::determineStartPosition):
16151         Reworking of all the RenderBlock column functions to support flipping and vertical modes.
16152
16153         * rendering/RenderBox.cpp:
16154         (WebCore::RenderBox::offsetFromContainer):
16155         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
16156         Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
16157
16158         * rendering/RenderBox.h:
16159         (WebCore::RenderBox::clientLogicalBottom):
16160         Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
16161         
16162         * rendering/RenderFlexibleBox.cpp:
16163         (WebCore::RenderFlexibleBox::layoutBlock):
16164         Better terminology for pagination.
16165
16166         * rendering/RenderInline.cpp:
16167         (WebCore::RenderInline::offsetFromContainer):
16168         (WebCore::RenderInline::mapLocalToContainer):
16169         * rendering/RenderLayer.cpp:
16170         (WebCore::RenderLayer::paintChildLayerIntoColumns):
16171         (WebCore::RenderLayer::hitTestChildLayerColumns):
16172         (WebCore::RenderLayer::localBoundingBox):
16173         (WebCore::RenderLayer::boundingBox):
16174         Patch painting in RenderLayers to be vertical-text-aware.
16175     
16176         * rendering/RenderObject.cpp:
16177         (WebCore::RenderObject::mapLocalToContainer):
16178         Add code to be flipped block-aware with columns.
16179
16180         * rendering/RenderTable.cpp:
16181         (WebCore::RenderTable::layout):
16182         * rendering/RenderTableRow.cpp:
16183         (WebCore::RenderTableRow::layout):
16184         * rendering/RenderTableSection.cpp:
16185         (WebCore::RenderTableSection::layoutRows):
16186         Fix pagination to use better terminology.
16187         
16188         * rendering/RenderText.cpp:
16189         (WebCore::RenderText::absoluteQuads):
16190         (WebCore::RenderText::absoluteQuadsForRange):
16191         Fix a bug where vertical text wasn't taken into account.
16192
16193 2011-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
16194
16195         Unreviewed, rolling out r76719.
16196         http://trac.webkit.org/changeset/76719
16197         https://bugs.webkit.org/show_bug.cgi?id=53122
16198
16199         Broke a bunch of media tests in Chromium/Qt/GTK.
16200
16201 2011-01-26  Tony Chang  <tony@chromium.org>
16202
16203         Reviewed by Ryosuke Niwa.
16204
16205         [gtk] strip NUL characters when copying text/html on GTK+
16206         https://bugs.webkit.org/show_bug.cgi?id=52508
16207
16208         Putting NUL characters in the text/html clipboard doesn't work in
16209         WebKit GTK+ (the pasted value is truncated at the NUL).  Since we're
16210         already stripping this character for plain text (for Windows), strip
16211         it in text/html too.
16212
16213         * editing/MarkupAccumulator.h: mark function as virtual
16214         * editing/markup.cpp:
16215         (WebCore::StyledMarkupAccumulator::appendString):
16216         (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
16217
16218 2011-01-26  Mario Sanchez Prada  <msanchez@igalia.com>
16219
16220         Reviewed by Martin Robinson.
16221
16222         [GTK] Reliable crash with getTextAtOffset()
16223         https://bugs.webkit.org/show_bug.cgi?id=53131
16224
16225         Properly calculate length in bytes for a UTF8 substring.
16226
16227         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
16228         (utf8Substr): Use character instead of bytes as units to
16229         calculate the length in bytes for the UTF8 string.
16230
16231 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
16232
16233         Reviewed by Kent Tamura.
16234
16235         Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
16236         https://bugs.webkit.org/show_bug.cgi?id=53122
16237
16238         This is the first step in converting HTMLMediaElement to the new shadow DOM.
16239
16240         Should not regress any existing tests. No observable change in behavior.
16241
16242         * css/CSSSelector.cpp:
16243         (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
16244         (WebCore::nameToPseudoTypeMap): Ditto.
16245         (WebCore::CSSSelector::extractPseudoType): Ditto.
16246         * css/CSSSelector.h: Ditto.
16247         * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
16248         * rendering/MediaControlElements.cpp:
16249         (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
16250             which is now replaced with virtual shadowPseudoId on each corresponding class.
16251         (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
16252         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
16253             display type in constructor.
16254         (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
16255             constructor argument.
16256         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
16257         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
16258             to disambiguate from the MediaControlMuteButtonElement.
16259         (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
16260         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
16261         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
16262             constructor argument.
16263         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
16264         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
16265             constructor argument.
16266         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
16267         (WebCore::MediaControlSeekForwardButtonElement::create): Added.
16268         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
16269         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
16270         (WebCore::MediaControlSeekBackButtonElement::create): Added.
16271         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
16272         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
16273         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
16274         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
16275             constructor argument.
16276         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
16277         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
16278             constructor argument.
16279         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
16280         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
16281             constructor argument.
16282         (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
16283         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
16284             constructor argument.
16285         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
16286         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
16287             constructor argument.
16288         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
16289         * rendering/MediaControlElements.h:
16290         (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
16291         (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
16292         * rendering/RenderMedia.cpp:
16293         (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
16294         (WebCore::RenderMedia::createSeekBackButton): Ditto.
16295         (WebCore::RenderMedia::createSeekForwardButton): Ditto.
16296         (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
16297         * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
16298
16299 2011-01-26  Kenneth Russell  <kbr@google.com>
16300
16301         Reviewed by James Robinson.
16302
16303         Fix multisampling support in DrawingBuffer
16304         https://bugs.webkit.org/show_bug.cgi?id=53154
16305
16306         In DrawingBuffer's multisampling code path, fixed enum usage and a
16307         bug where it would incorrectly redefine the depth and stencil
16308         buffers. Hooked up multisampling code path in Chromium port.
16309
16310         Tested manually with some accelerated 2D canvas content.
16311         Multisampling isn't being switched on for the accelerated 2D
16312         canvas at the current time because it will increase fill rate
16313         requirements and cause a large number of rebaselines.
16314
16315         * platform/graphics/Extensions3D.h:
16316         * platform/graphics/chromium/DrawingBufferChromium.cpp:
16317         (WebCore::DrawingBuffer::publishToPlatformLayer):
16318         * platform/graphics/chromium/Extensions3DChromium.h:
16319         * platform/graphics/gpu/DrawingBuffer.cpp:
16320         (WebCore::DrawingBuffer::create):
16321         (WebCore::DrawingBuffer::reset):
16322         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
16323         (WebCore::Extensions3DOpenGL::supports):
16324
16325 2011-01-26  Tony Chang  <tony@chromium.org>
16326
16327         Unreviewed.
16328
16329         [chromium] revert r68310 because of race conditions detected by tsans
16330         https://bugs.webkit.org/show_bug.cgi?id=53185
16331
16332         Causes stability problems for Chromium, http://crbug.com/70589
16333
16334         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
16335         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
16336
16337 2011-01-26  Justin Schuh  <jschuh@chromium.org>
16338
16339         Reviewed by Adam Barth.
16340
16341         Make fireEventsAndUpdateStyle use stack local vectors. 
16342         https://bugs.webkit.org/show_bug.cgi?id=46760
16343
16344         Test: animations/animation-add-events-in-handler.html
16345
16346         * page/animation/AnimationController.cpp:
16347         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
16348
16349 2011-01-26  Nate Chapin  <japhet@chromium.org>
16350
16351         Reviewed by Adam Barth.
16352
16353         Remove m_URL from FrameLoader and depend on Document::url()
16354         instead. FrameLoader::url() will be removed in a followup patch.
16355         https://bugs.webkit.org/show_bug.cgi?id=41165
16356
16357         Refactor only, no new tests.
16358
16359         * WebCore.exp.in:
16360         * dom/Document.cpp:
16361         (WebCore::Document::Document):
16362         (WebCore::Document::updateURLForPushOrReplaceState):
16363         * loader/DocumentWriter.cpp:
16364         (WebCore::DocumentWriter::begin):
16365         * loader/FrameLoader.cpp:
16366         (WebCore::FrameLoader::iconURL):
16367         (WebCore::FrameLoader::didOpenURL):
16368         (WebCore::FrameLoader::didExplicitOpen):
16369         (WebCore::FrameLoader::receivedFirstData):
16370         (WebCore::FrameLoader::url):
16371         (WebCore::FrameLoader::setOutgoingReferrer):
16372         (WebCore::FrameLoader::startIconLoader):
16373         (WebCore::FrameLoader::commitIconURLToIconDatabase):
16374         (WebCore::FrameLoader::finishedParsing):
16375         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
16376         (WebCore::FrameLoader::checkIfRunInsecureContent):
16377         (WebCore::FrameLoader::updateFirstPartyForCookies):
16378         (WebCore::FrameLoader::loadInSameDocument):
16379         (WebCore::FrameLoader::commitProvisionalLoad):
16380         (WebCore::FrameLoader::open):
16381         (WebCore::FrameLoader::shouldScrollToAnchor):
16382         * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
16383
16384 2011-01-25  Brian Weinstein  <bweinstein@apple.com>
16385
16386         Reviewed by Antti Koivisto.
16387
16388         Crashes loading pages when cancelling subresource loads through WebKit
16389         https://bugs.webkit.org/show_bug.cgi?id=53123
16390         <rdar://problem/8914361>
16391         
16392         Fix a crash that happened when cancelling subresource loads through WebKit.
16393         
16394         When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 
16395         can be called recursively on the same function, either leading to infinite recursion, or deleting 
16396         an object when it is not done being used.
16397         
16398         The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 
16399         CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
16400
16401         Test: fast/loader/willSendRequest-null-for-preload.html
16402
16403         * loader/DocumentLoader.cpp:
16404         (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 
16405             if our new URL is non-null.
16406         * loader/cache/CachedResourceLoader.cpp:
16407         (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
16408         (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 
16409             function was called synchronously
16410             from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 
16411             so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
16412         (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
16413         (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 
16414             so use Deque methods.
16415         * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
16416
16417 2011-01-25  Pavel Podivilov  <podivilov@chromium.org>
16418
16419         Reviewed by Pavel Feldman.
16420
16421         Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
16422         https://bugs.webkit.org/show_bug.cgi?id=53072
16423
16424         Test: inspector/console-substituted.html
16425
16426         * inspector/InjectedScriptSource.js:
16427         (.):
16428
16429 2011-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
16430
16431         Reviewed by Martin Robinson.
16432
16433         [cairo] Use CAIRO_OPERATOR_DARKEN when available
16434         https://bugs.webkit.org/show_bug.cgi?id=53084
16435
16436         Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
16437         CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
16438
16439         * platform/graphics/cairo/CairoUtilities.cpp:
16440         (WebCore::toCairoOperator):
16441
16442 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
16443
16444         Reviewed by Yury Semikhatsky.
16445
16446         Web Inspector: visualize \n in strings as unicode cr
16447         symbol in stack variables sidebar.
16448         https://bugs.webkit.org/show_bug.cgi?id=53162
16449
16450         * inspector/front-end/ObjectPropertiesSection.js:
16451         (WebInspector.ObjectPropertyTreeElement.prototype.update):
16452
16453 2011-01-26  Andrey Kosyakov  <caseq@chromium.org>
16454
16455         Reviewed by Pavel Feldman.
16456
16457         Web Inspector: size is wrong for cached resources in Network panel
16458         - Set the size for 304/not modified resources from cached resource.
16459         - Add response headers size to resource transfer size.
16460         https://bugs.webkit.org/show_bug.cgi?id=52886
16461
16462         * inspector/InspectorResourceAgent.cpp:
16463         (WebCore::InspectorResourceAgent::didReceiveResponse):
16464         * inspector/front-end/Resource.js:
16465         (WebInspector.Resource):
16466         (WebInspector.Resource.prototype.get transferSize):
16467         (WebInspector.Resource.prototype.set responseHeaders):
16468         (WebInspector.Resource.prototype._headersSize):
16469         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
16470
16471 2011-01-26  Carol Szabo  <carol.szabo@nokia.com>
16472
16473         Reviewed by Simon Hausmann.
16474
16475         Fixed TiledBacking store to take into account new dirty regions caused by
16476         paint time layouts.
16477
16478         Flawed rendering design for QtWebKit resulting in artifacts being displayed
16479         https://bugs.webkit.org/show_bug.cgi?id=49184
16480
16481         There are no new tests as this patch aims at fixing flicker that
16482         happen randomly, mostly on slow hardware, thus are hard to reproduce
16483         consistently in an automated test.
16484
16485         This patch does not fully address the said bug but it is a step in the
16486         right direction. A full solution to the bug, as currently perceived,
16487         requires either a Qt GUI API change, a performance hit for QtWebKit,
16488         or a hack, until a full solution is provided this patch is progress.
16489
16490         * platform/graphics/TiledBackingStore.cpp:
16491         (WebCore::TiledBackingStore::updateTileBuffers):
16492         Changed to take into account newly dirtied areas created during
16493         tile update initiated layouts during the same update.
16494
16495 2011-01-26  Patrick Gansterer  <paroga@webkit.org>
16496
16497         Reviewed by Andreas Kling.
16498
16499         [SKIA] Remove "current path" of GraphicsContext
16500         https://bugs.webkit.org/show_bug.cgi?id=53124
16501
16502         * platform/graphics/GraphicsContext.h:
16503         * platform/graphics/skia/GraphicsContextSkia.cpp:
16504         (WebCore::GraphicsContext::clipPath):
16505         (WebCore::GraphicsContext::fillPath):
16506         (WebCore::GraphicsContext::strokePath):
16507         * platform/graphics/skia/PathSkia.cpp:
16508         (WebCore::Path::strokeBoundingRect):
16509         * platform/graphics/skia/PlatformContextSkia.cpp:
16510         * platform/graphics/skia/PlatformContextSkia.h:
16511
16512 2011-01-26  Zalan Bujtas <zbujtas@gmail.com>
16513
16514         Reviewed by Andreas Kling.
16515
16516         [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
16517
16518         QPainterPath returns angle values with the origo being at the top left corner,
16519         we need to account for this in normalAngleAtLength().
16520         This Regressed with r66979.
16521
16522         No new tests as this is already covered by ACID3.
16523
16524         * platform/graphics/qt/PathQt.cpp:
16525         (WebCore::Path::normalAngleAtLength):
16526
16527 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
16528
16529         Reviewed by Yury Semikhatsky.
16530
16531         Web Inspector: live edit does not update source snippet.
16532         https://bugs.webkit.org/show_bug.cgi?id=53097
16533
16534         * inspector/front-end/ScriptsPanel.js:
16535         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
16536
16537 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
16538
16539         Reviewed by Yury Semikhatsky.
16540
16541         Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
16542         https://bugs.webkit.org/show_bug.cgi?id=53018
16543
16544         * inspector/InjectedScript.cpp:
16545         (WebCore::InjectedScript::evaluate):
16546         (WebCore::InjectedScript::evaluateOnCallFrame):
16547         (WebCore::InjectedScript::getCompletions):
16548         (WebCore::InjectedScript::getCompletionsOnCallFrame):
16549         * inspector/InjectedScript.h:
16550         * inspector/InjectedScriptSource.js:
16551         (.):
16552         * inspector/Inspector.idl:
16553         * inspector/InspectorDebuggerAgent.cpp:
16554         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
16555         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
16556         * inspector/InspectorDebuggerAgent.h:
16557         * inspector/InspectorRuntimeAgent.cpp:
16558         (WebCore::InspectorRuntimeAgent::evaluate):
16559         (WebCore::InspectorRuntimeAgent::getCompletions):
16560         * inspector/InspectorRuntimeAgent.h:
16561         * inspector/front-end/ConsoleView.js:
16562         (WebInspector.ConsoleView.prototype.completions):
16563         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
16564         (WebInspector.ConsoleView.prototype._enterKeyPressed):
16565         * inspector/front-end/ScriptsPanel.js:
16566         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
16567         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
16568         * inspector/front-end/SourceFrame.js:
16569         (WebInspector.SourceFrame.prototype._showPopup):
16570         * inspector/front-end/WatchExpressionsSidebarPane.js:
16571         (WebInspector.WatchExpressionsSection.prototype.update):
16572
16573 2011-01-26  Hironori Bono  <hbono@chromium.org>
16574
16575         Reviewed by Kent Tamura.
16576
16577         A speculative fix for Bug 52422 - [chromium] More crash in
16578         FontFallbackList::determinePitch(const Font* font)
16579         https://bugs.webkit.org/show_bug.cgi?id=52422
16580
16581         My previous change may not work on non-US Windows whose system fonts
16582         have localized aliases matching to the system locale because of a
16583         font-name mismatch in createFontIndirectAndGetWinName(). This change
16584         tries all the fonts installed in a PC and returns the first font that we
16585         can create without errors.
16586
16587         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
16588         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
16589         Added a struct used for getLastResortFallbackFontProc().
16590         (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
16591         (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
16592
16593 2011-01-26  James Robinson  <jamesr@chromium.org>
16594
16595         Reviewed by Nate Chapin.
16596
16597         Add a DOMTimeStamp parameter to the requestAnimationFrame callback
16598         https://bugs.webkit.org/show_bug.cgi?id=53142
16599
16600         This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
16601         closely match mozilla's proposal.  This is useful if the page has multiple imperative animations
16602         and wants to ensure that they all remain synchronized.  If each callback used Date.now() to
16603         update its animation state, they would potentially be out of sync with each other.  If they use
16604         the timestamp then all callbacks for the same "frame" will update to the same state.
16605
16606         Test: fast/animation/request-animation-frame-timestamps.html
16607
16608         * bindings/scripts/CodeGeneratorV8.pm:
16609         * bindings/scripts/test/V8/V8TestCallback.cpp:
16610         (WebCore::V8TestCallback::callbackWithClass2Param):
16611         * dom/Document.cpp:
16612         (WebCore::Document::serviceScriptedAnimations):
16613         * dom/Document.h:
16614         * dom/RequestAnimationFrameCallback.h:
16615         * dom/RequestAnimationFrameCallback.idl:
16616         * page/FrameView.cpp:
16617         (WebCore::FrameView::serviceScriptedAnimations):
16618         * page/FrameView.h:
16619
16620 2011-01-25  Yuzo Fujishima  <yuzo@google.com>
16621
16622         Unreviewed attempt to fix compilation error for Chromium Clang.
16623
16624         * platform/graphics/mac/ComplexTextController.cpp:
16625         (WebCore::ComplexTextController::advance):
16626
16627 2011-01-25  Ned Holbrook  <nholbrook@apple.com>
16628
16629         Reviewed by Dan Bernstein.
16630
16631         ComplexTextController incorrectly conflates string length and range of indexes
16632         https://bugs.webkit.org/show_bug.cgi?id=52760
16633
16634         Test: fast/text/offsetForPosition-complex-fallback.html
16635
16636         * platform/graphics/mac/ComplexTextController.cpp:
16637         (WebCore::ComplexTextController::offsetForPosition):
16638         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16639         (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
16640         (WebCore::ComplexTextController::advance):
16641         * platform/graphics/mac/ComplexTextController.h:
16642         (WebCore::ComplexTextController::ComplexTextRun::create):
16643         (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
16644         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
16645         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16646         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
16647         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
16648         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
16649
16650 2011-01-25  Sam Weinig  <sam@webkit.org>
16651
16652         Reviewed by David Hyatt.
16653
16654         Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
16655         https://bugs.webkit.org/show_bug.cgi?id=53048
16656
16657         Test: fast/overflow/overflow-rtl-vertical-origin.html
16658
16659         * rendering/RenderLayer.cpp:
16660         (WebCore::RenderLayer::scrollPosition):
16661         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
16662         Take the scroll origin into account when calculating scrollbars in more places.
16663
16664 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
16665
16666         Windows production build fix.
16667         Use correct configuration-specific path in makefile.
16668
16669         * WebCore.vcproj/WebCore.make:
16670
16671 2011-01-25  Kent Tamura  <tkent@chromium.org>
16672
16673         Reviewed by Dimitri Glazkov.
16674
16675         Radio button group state is not restored correctly
16676         https://bugs.webkit.org/show_bug.cgi?id=50442
16677
16678         Fixes a bug that radio button states are not restored correctly in
16679         a case that non-first radio button in a group is checked.
16680
16681         If "checked" attribute is present, the radio button is checked and
16682         other radio buttons in the group are unchecked. This behavior
16683         disturbs form state restoring. This patch changes this behavior so
16684         that the "checked" attribute handling is delayed after form state
16685         restoring.
16686
16687         Test: fast/forms/state-restore-radio-group.html
16688
16689         * html/HTMLFormControlElement.h:
16690          Make finishParsingChildren() protected so that HTMLInpuElement can call it.
16691         * html/HTMLInputElement.cpp:
16692         (WebCore::HTMLInputElement::HTMLInputElement):
16693          - Add createdByParser parameter.
16694          - Initialize m_stateRestored and m_parsingInProgress.
16695         (WebCore::HTMLInputElement::create): Sync with the constructor.
16696         (WebCore::HTMLInputElement::restoreFormControlState):
16697          Set m_stateRestored in order to refer it in finishParsingChildren().
16698         (WebCore::HTMLInputElement::parseMappedAttribute):
16699          Don't call setChecked() during parsing. Move setNeedsValidityCheck()
16700          to setChecked().
16701         (WebCore::HTMLInputElement::finishParsingChildren):
16702          Call setChecked() if form state is not restored.
16703         (WebCore::HTMLInputElement::setChecked):
16704          Move setNeedsValidityCheck() from parseMappedAttribute() because
16705          finishParsingChildren() also needs to call setNeedsValidityCheck().
16706         * html/HTMLInputElement.h:
16707          - Remove the default value of HTMLFormElement* of the HTMLInputElement
16708            constructor, and add createdByParser parameter.
16709          - Introduce m_parsingInProgress and m_stateRestored.
16710         * html/HTMLIsIndexElement.cpp:
16711         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
16712          Sync with the HTMLInputElement constructor change.
16713         * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
16714         * rendering/MediaControlElements.cpp:
16715         (WebCore::MediaControlInputElement::MediaControlInputElement):
16716          Sync with the HTMLInputElement constructor change.
16717         * rendering/ShadowElement.cpp:
16718         (WebCore::ShadowInputElement::ShadowInputElement): ditto.
16719         * rendering/ShadowElement.h:
16720         (WebCore::ShadowElement::ShadowElement): ditto.
16721
16722 2011-01-25  Kent Tamura  <tkent@chromium.org>
16723
16724         Reviewed by Dimitri Glazkov.
16725
16726         HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
16727         https://bugs.webkit.org/show_bug.cgi?id=52565
16728
16729         * html/HTMLFormElement.cpp:
16730         (WebCore::HTMLFormElement::validateInteractively):
16731           Check checkInvalidControlsAndCollectUnhandled() result instead of
16732           checking emptiness of unhandled invalid controls list.
16733         (WebCore::HTMLFormElement::checkValidity): ditto.
16734         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
16735           Renamed from collectUnhandledInvalidControls().
16736           Returns true if there is any invalid control regardless of event canceling.
16737         * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
16738           checkInvalidControlsAndCollectUnhandled().
16739
16740 2011-01-25  Kent Tamura  <tkent@chromium.org>
16741
16742         Reviewed by Dimitri Glazkov.
16743
16744         Range and number inputs should reject increment and decrement by
16745         keyboard or mouse wheel if they are disabled or read-only
16746         https://bugs.webkit.org/show_bug.cgi?id=53151
16747
16748         * html/RangeInputType.cpp:
16749         (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
16750         * html/TextFieldInputType.cpp:
16751         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
16752         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
16753
16754 2011-01-25  Kent Tamura  <tkent@chromium.org>
16755
16756         Reviewed by Dimitri Glazkov.
16757
16758         API to support localized numbers for <input type=number>
16759         https://bugs.webkit.org/show_bug.cgi?id=45730
16760
16761         Introduce platform/text/LocalizedNumber.h, and
16762         LocalizedNumberNone.cpp, which is an empty implementation of the
16763         functions in LocalizedNumber.h.  We use LocalizedNumberNone.cpp in
16764         all platforms for now.
16765
16766         A string in a type=number field is parsed as a localized number
16767         first. If the parsing fails, it is parsed as the HTML5 number.
16768
16769         We introduce HTMLInputElement::visibleValue(). It represents a value
16770         which should be drawn by a renderer. HTMLInputElement::value() always
16771         returns a number formatted for HTML5, and visibleValue() may return a
16772         localized number.
16773
16774         No new tests because this doesn't change any behavior.
16775
16776         * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
16777         * CMakeLists.txt: ditto.
16778         * GNUmakefile.am: ditto.
16779         * WebCore.gypi: ditto.
16780         * WebCore.pro: ditto.
16781         * WebCore.vcproj/WebCore.vcproj: ditto.
16782         * WebCore.xcodeproj/project.pbxproj: ditto.
16783         * dom/InputElement.h: Add visibleValue().
16784         * html/HTMLInputElement.cpp:
16785         (WebCore::HTMLInputElement::visibleValue): Added.  Just call InputType::visibleValue().
16786         * html/HTMLInputElement.h: Declare visibleValue().
16787         * html/InputType.cpp:
16788         (WebCore::InputType::visibleValue): Add the default implementation of
16789           visibleValue(), which returns HTMLInputElement::value().
16790         * html/InputType.h: Add declarations.
16791         * html/NumberInputType.cpp:
16792         (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
16793         (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
16794         (WebCore::NumberInputType::visibleValue):
16795           Returns a localized number string produced by formatLocalizedNumber().
16796         (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
16797         (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
16798         * html/NumberInputType.h: Add declarations.
16799         * platform/text/LocalizedNumber.h: Added.
16800         * platform/text/LocalizedNumberNone.cpp: Added.
16801         (WebCore::parseLocalizedNumber):
16802         (WebCore::formatLocalizedNumber):
16803         (WebCore::isLocalizedNumberCharacter):
16804         * rendering/RenderTextControlSingleLine.cpp:
16805         (WebCore::RenderTextControlSingleLine::updateFromElement):
16806           Calls InputElement::visibleValue() instead of value().
16807         * wml/WMLInputElement.h:
16808         (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
16809
16810 2011-01-25  Alexey Proskuryakov  <ap@apple.com>
16811
16812         Reviewed by Darin Adler.
16813
16814         https://bugs.webkit.org/show_bug.cgi?id=53143
16815         Add IntRectHash
16816
16817         * WebCore.xcodeproj/project.pbxproj:
16818         * platform/graphics/IntRectHash.h: Added.
16819
16820         * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
16821
16822 2011-01-25  Ilya Sherman  <isherman@chromium.org>
16823
16824         Reviewed by Ryosuke Niwa.
16825
16826         Remove trailing whitespace in HTMLInputElement.cpp
16827         https://bugs.webkit.org/show_bug.cgi?id=53152
16828
16829         * html/HTMLInputElement.cpp:
16830         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
16831         (WebCore::HTMLInputElement::applyStep):
16832         (WebCore::HTMLInputElement::updateFocusAppearance):
16833         (WebCore::HTMLInputElement::mapToEntry):
16834         (WebCore::HTMLInputElement::setAutofilled):
16835         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
16836         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
16837
16838 2011-01-25  Mike Reed  <reed@google.com>
16839
16840         Reviewed by James Robinson.
16841
16842         DrawingBufer::reset() today checks if the new size is the same as its
16843         m_size, and if so, returns immediately. This does not match the
16844         semantics of <canvas>, which wants to clear its contents anytime the
16845         size is specified.
16846         https://bugs.webkit.org/show_bug.cgi?id=53149
16847
16848         Test: Covered by existing <canvas> tests using gpu.
16849
16850         * platform/graphics/chromium/DrawingBufferChromium.cpp:
16851         (WebCore::DrawingBuffer::DrawingBuffer):
16852         * platform/graphics/gpu/DrawingBuffer.cpp:
16853         (WebCore::DrawingBuffer::reset):
16854
16855 2011-01-25  Cris Neckar  <cdn@chromium.org>
16856
16857         Reviewed by Adam Barth.
16858
16859         Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
16860         https://bugs.webkit.org/show_bug.cgi?id=53038
16861
16862         Test: fast/dom/window-domurl-crash.html
16863
16864         * dom/ScriptExecutionContext.cpp:
16865         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
16866         (WebCore::ScriptExecutionContext::createdDomUrl):
16867         (WebCore::ScriptExecutionContext::destroyedDomUrl):
16868         * dom/ScriptExecutionContext.h:
16869         (WebCore::ScriptExecutionContext::domUrls):
16870         * html/DOMURL.cpp:
16871         (WebCore::DOMURL::DOMURL):
16872         (WebCore::DOMURL::~DOMURL):
16873         (WebCore::DOMURL::contextDestroyed):
16874         * html/DOMURL.h:
16875         (WebCore::DOMURL::scriptExecutionContext):
16876
16877 2011-01-23  Antti Koivisto  <antti@apple.com>
16878
16879         Reviewed by Darin Adler.
16880
16881         https://bugs.webkit.org/show_bug.cgi?id=52983
16882         Eliminate m_tagHistory pointer from CSSSelector
16883
16884         Keep the component selectors in the array in CSSSelectorList instead
16885         of maintaining a linked list between them. This allows eliminating
16886         m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
16887         seems to improve some too due to better locality).
16888
16889         * WebCore.xcodeproj/project.pbxproj:
16890         
16891             Make CSSSelector.h a private header.
16892         
16893         * css/CSSGrammar.y:
16894         
16895             Use CSSParserSelector during parsing to keep the tag history in 
16896             a linked list. This is flattened to an array after parsing.
16897             Use accessors for setting selector values.
16898             Use OwnPtr in selector vector.
16899             
16900         * css/CSSPageRule.cpp:
16901         (WebCore::CSSPageRule::CSSPageRule):
16902         * css/CSSPageRule.h:
16903         (WebCore::CSSPageRule::create):
16904         
16905             Simplify.
16906     
16907         * css/CSSParser.cpp:
16908         (WebCore::CSSParser::~CSSParser):
16909         (WebCore::CSSParser::createFloatingSelector):
16910         (WebCore::CSSParser::sinkFloatingSelector):
16911         (WebCore::CSSParser::createStyleRule):
16912         (WebCore::CSSParser::updateSpecifiersWithElementName):
16913         (WebCore::CSSParser::createPageRule):
16914         * css/CSSParser.h:
16915         (WebCore::CSSParser::reusableSelectorVector):
16916         
16917             CSSSelector -> CSSParserSelector.
16918             Use OwnPtr in selector vector.
16919             
16920         * css/CSSParserValues.cpp:
16921         (WebCore::CSSParserSelector::CSSParserSelector):
16922         (WebCore::CSSParserSelector::~CSSParserSelector):
16923         * css/CSSParserValues.h:
16924         (WebCore::CSSParserSelector::releaseSelector):
16925         (WebCore::CSSParserSelector::setTag):
16926         (WebCore::CSSParserSelector::setValue):
16927         (WebCore::CSSParserSelector::setAttribute):
16928         (WebCore::CSSParserSelector::setArgument):
16929         (WebCore::CSSParserSelector::setSimpleSelector):
16930         (WebCore::CSSParserSelector::setMatch):
16931         (WebCore::CSSParserSelector::setRelation):
16932         (WebCore::CSSParserSelector::setForPage):
16933         (WebCore::CSSParserSelector::pseudoType):
16934         (WebCore::CSSParserSelector::isUnknownPseudoElement):
16935         (WebCore::CSSParserSelector::isSimple):
16936         (WebCore::CSSParserSelector::tagHistory):
16937         (WebCore::CSSParserSelector::setTagHistory):
16938         
16939             Linked list used during parsing.
16940             Avoid recursive destruction.
16941
16942         * css/CSSSelector.cpp:
16943         (WebCore::CSSSelector::extractPseudoType):
16944         (WebCore::CSSSelector::operator==):
16945         (WebCore::CSSSelector::selectorText):
16946         (WebCore::CSSSelector::setSimpleSelector):
16947         * css/CSSSelector.h:
16948         (WebCore::CSSSelector::CSSSelector):
16949         (WebCore::CSSSelector::~CSSSelector):
16950         (WebCore::CSSSelector::tagHistory):
16951         (WebCore::CSSSelector::tag):
16952         (WebCore::CSSSelector::value):
16953         (WebCore::CSSSelector::setTag):
16954         (WebCore::CSSSelector::isLastInTagHistory):
16955         (WebCore::CSSSelector::setNotLastInTagHistory):
16956         (WebCore::CSSSelector::RareData::RareData):
16957         (WebCore::CSSSelector::RareData::~RareData):
16958         (WebCore::CSSSelector::createRareData):
16959         (WebCore::CSSSelector::setValue):
16960         
16961             Remove m_tagHistory.
16962             Keep m_value in the union with the rare data pointer instead.
16963             Make m_value and m_tag private, implement accessors.
16964             Add a new bit to indicate end of the tag history (multipart selector).
16965             Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
16966             
16967         * css/CSSSelectorList.cpp:
16968         (WebCore::CSSSelectorList::adoptSelectorVector):
16969         
16970             Flatten everything to an array.
16971         
16972         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
16973         * css/CSSSelectorList.h:
16974         (WebCore::CSSSelectorList::hasOneSelector):
16975         (WebCore::CSSSelectorList::next):
16976         
16977             Skip over the subparts of multipart selectors to find the next selector.
16978     
16979         * css/CSSStyleRule.h:
16980         (WebCore::CSSStyleRule::adoptSelectorVector):
16981         
16982             CSSSelector -> CSSParserSelector.
16983             
16984         * css/CSSStyleSelector.cpp:
16985         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
16986         (WebCore::CSSRuleSet::addRule):
16987         (WebCore::collectIdsAndSiblingRulesFromList):
16988         (WebCore::CSSStyleSelector::matchPageRulesForList):
16989         * dom/Node.cpp:
16990         (WebCore::Node::querySelector):
16991         * dom/SelectorNodeList.cpp:
16992         (WebCore::createSelectorNodeList):
16993         
16994             Use accessors.
16995
16996 2011-01-25  James Simonsen  <simonjam@chromium.org>
16997
16998         Reviewed by Tony Chang.
16999
17000         [Chromium] Support small caps in complex text on linux
17001         https://bugs.webkit.org/show_bug.cgi?id=53051
17002
17003         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
17004         (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
17005         (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
17006         * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
17007
17008 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
17009
17010         Rubber-stamped by Adam Roben.
17011
17012         Windows production build fix.
17013         Use correct environment variable escaping
17014
17015         * WebCore.vcproj/WebCore.make:
17016
17017 2011-01-25  Adam Barth  <abarth@webkit.org>
17018
17019         Reviewed by Eric Seidel.
17020
17021         Empty URLs are never display isolated
17022         https://bugs.webkit.org/show_bug.cgi?id=53053
17023
17024         This check mirrors the check in the local case.  There isn't a good way
17025         to test this with a LayoutTest, but it is tested in Chromium (where
17026         this registry is used).
17027
17028         * platform/SchemeRegistry.cpp:
17029         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
17030
17031 2011-01-25  Sam Weinig  <sam@webkit.org>
17032
17033         Reviewed by Anders Carlsson.
17034
17035         Pipe a timestamp down into the PlatformWheelEvent for the Mac.
17036         https://bugs.webkit.org/show_bug.cgi?id=53111
17037
17038         * platform/PlatformWheelEvent.h:
17039         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17040         (WebCore::PlatformWheelEvent::timestamp):
17041         Add timestamp member.
17042
17043         * platform/mac/WheelEventMac.mm:
17044         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17045         Initialize the timestamp from the event.
17046
17047 2011-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
17048
17049         Unreviewed, rolling out r76625.
17050         http://trac.webkit.org/changeset/76625
17051         https://bugs.webkit.org/show_bug.cgi?id=53119
17052
17053         "incorrect pixel test results" (Requested by rniwa on
17054         #webkit).
17055
17056         * rendering/RenderBox.cpp:
17057         (WebCore::RenderBox::localCaretRect):
17058
17059 2011-01-25  Patrick Gansterer  <paroga@webkit.org>
17060
17061         Unreviewed WinCE build fix for r76614.
17062
17063         * platform/FileSystem.h:
17064
17065 2011-01-21  Levi Weintraub  <leviw@chromium.org>
17066
17067         Reviewed by Darin Adler.
17068
17069         Adding border and padding to the calculation of the local caret rect for RenderBoxes.
17070
17071         Undo moves caret to invalid position
17072         https://bugs.webkit.org/show_bug.cgi?id=49744
17073
17074         Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
17075                editing/selection/caret-painting-after-paste-undo.html
17076
17077         * rendering/RenderBox.cpp:
17078         (WebCore::RenderBox::localCaretRect):
17079
17080 2011-01-25  Sam Weinig  <sam@webkit.org>
17081
17082         Reviewed by Anders Carlsson.
17083
17084         Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
17085         https://bugs.webkit.org/show_bug.cgi?id=53107
17086
17087         * platform/PlatformWheelEvent.h:
17088         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17089         (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
17090         * platform/mac/WheelEventMac.mm:
17091         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17092
17093 2011-01-20  Jer Noble  <jer.noble@apple.com>
17094
17095         Reviewed by Eric Carlson.
17096
17097         REGRESSION (r72119): Audio never plays on Star Wars intro animation
17098         https://bugs.webkit.org/show_bug.cgi?id=52467
17099         
17100         QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
17101         type which it supports, though it handles .m4a files just fine.  Change the way
17102         we build the list of supported MIME Types through a new WebKitSystemInterface
17103         function.
17104         
17105         Caused by r72119, which adds system-specific extension->MIME entries to the cache
17106         before global entries, and the system-specific entries include QuickTime's registry 
17107         entries which contain the audio/m4a MIME type, while its components do not.
17108
17109         Test: media/audio-mpeg4-supported.html
17110
17111         * WebCore.vcproj/QTMovieWinCommon.vsprops:
17112         * platform/graphics/win/QTMovie.cpp:
17113         (getMIMETypeCallBack):
17114         (initializeSupportedTypes):
17115         (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
17116         (QTMovie::getSupportedType): Ditto.
17117
17118 2011-01-25  Hans Wennborg  <hans@chromium.org>
17119
17120         Reviewed by Jeremy Orlow.
17121
17122         IndexedDB: Remove PlatformBridge::idbShutdown()
17123         https://bugs.webkit.org/show_bug.cgi?id=53077
17124
17125         Since Chromium r72157, this is not used anymore. The previous use was
17126         to signal to the embedder that IndexedDB was shutting down, but we
17127         agreed it is better if the embedder keeps track of that itself.
17128
17129         No new tests: this does not change any functionality.
17130
17131         * platform/chromium/PlatformBridge.h:
17132         * storage/IDBFactoryBackendInterface.cpp:
17133         * storage/IDBFactoryBackendInterface.h:
17134         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
17135         * storage/chromium/IDBFactoryBackendInterface.cpp:
17136
17137 2011-01-25  Darin Adler  <darin@apple.com>
17138
17139         Reviewed by Anders Carlsson.
17140
17141         WebKit is using CSBackupSetItemExcluded incorrectly
17142         https://bugs.webkit.org/show_bug.cgi?id=53095
17143         rdar://problem/8790540
17144
17145         * loader/icon/IconDatabase.cpp:
17146         (WebCore::IconDatabase::performOpenInitialization): Added code to
17147         exclude the database from backup one time, and record inside the
17148         database that this has been done.
17149         (WebCore::IconDatabase::wasExcludedFromBackup): Added.
17150         (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
17151         * loader/icon/IconDatabase.h: Added new functions above.
17152
17153         * platform/FileSystem.cpp:
17154         (WebCore::canExcludeFromBackup): Added.
17155         (WebCore::excludeFromBackup): Added.
17156
17157         * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
17158         and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
17159         things alphabetically, particularly platform-specific sections.
17160
17161         * platform/cf/FileSystemCF.cpp:
17162         (WebCore::pathAsURL): Added.
17163
17164         * platform/mac/FileSystemMac.mm:
17165         (WebCore::canExcludeFromBackup): Added.
17166         (WebCore::excludeFromBackup): Added.
17167
17168         * platform/network/cf/FormDataStreamCFNet.cpp:
17169         (WebCore::advanceCurrentStream): Changed to call pathAsURL.
17170         * platform/network/mac/FormDataStreamMac.mm:
17171         (WebCore::advanceCurrentStream): Ditto.
17172
17173 2011-01-25  Helder Correia  <helder@sencha.com>
17174
17175         Reviewed by Dirk Schulze.
17176
17177         REGRESSION(75139): SVG gradients are not applied to texts
17178         https://bugs.webkit.org/show_bug.cgi?id=52531
17179
17180         CGContextConcatCTM should use the CGLayer context, not the
17181         GraphicsContext. Also, the CTM needs to be adjusted (translated).
17182         This fixes SVG text gradient fill.
17183
17184         Test: svg/css/composite-shadow-text.svg
17185
17186         * platform/graphics/cg/GraphicsContextCG.cpp:
17187         (WebCore::GraphicsContext::fillRect):
17188
17189 2011-01-25  Benjamin Kalman  <kalman@chromium.org>
17190
17191         Reviewed by Ryosuke Niwa.
17192
17193         Cannot extend or modify forward by word over a non-contenteditable region
17194         https://bugs.webkit.org/show_bug.cgi?id=53070
17195
17196         Test: editing/selection/extend-forward-by-word-over-non-editable.html
17197
17198         Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
17199         functions which determine the end/start of words/lines/sentences in visible_units.cpp.
17200
17201         This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
17202         inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
17203         The cursor is now moved to the end of the region (which is effectively a noop in this case).
17204
17205         * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
17206         honorEditableBoundaryAtOrBefore and vice versa.
17207         (WebCore::previousWordPosition):
17208         (WebCore::nextWordPosition):
17209         (WebCore::startOfLine):
17210         (WebCore::endOfLine):
17211         (WebCore::previousSentencePosition):
17212         (WebCore::nextSentencePosition):
17213         (WebCore::logicalStartOfLine):
17214         (WebCore::logicalEndOfLine):
17215
17216 2011-01-25  Yael Aharon  <yael.aharon@nokia.com>
17217
17218         Unreviewed build fix.
17219         After r76466, efsrv.lib is used unconditionally.
17220         Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
17221
17222         * WebCore.pro:
17223
17224 2011-01-24  Zhenyao Mo  <zmo@google.com>
17225
17226         Reviewed by Kenneth Russell.
17227
17228         Style cleanup for WebGLRenderingContext
17229         https://bugs.webkit.org/show_bug.cgi?id=52352
17230
17231         * html/canvas/WebGLBuffer.cpp:
17232         * html/canvas/WebGLBuffer.h:
17233         * html/canvas/WebGLObject.cpp:
17234         * html/canvas/WebGLProgram.cpp:
17235         * html/canvas/WebGLRenderbuffer.cpp:
17236         * html/canvas/WebGLRenderingContext.cpp:
17237         (WebCore::WebGLRenderingContext::create):
17238         (WebCore::WebGLRenderingContext::blendFunc):
17239         (WebCore::WebGLRenderingContext::createShader):
17240         (WebCore::WebGLRenderingContext::deleteBuffer):
17241         (WebCore::WebGLRenderingContext::deleteShader):
17242         (WebCore::WebGLRenderingContext::deleteTexture):
17243         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
17244         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
17245         (WebCore::WebGLRenderingContext::validateRenderingState):
17246         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
17247         (WebCore::WebGLRenderingContext::getUniform):
17248         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
17249         * html/canvas/WebGLRenderingContext.h:
17250         * html/canvas/WebGLShader.cpp:
17251         * html/canvas/WebGLTexture.cpp:
17252         * html/canvas/WebGLUniformLocation.cpp:
17253         * html/canvas/WebGLUniformLocation.h:
17254
17255 2011-01-24  Chris Marrin  <cmarrin@apple.com>
17256
17257         Reviewed by Eric Seidel.
17258
17259         Change ENABLE_3D_CANVAS to ENABLE_WEBGL
17260         https://bugs.webkit.org/show_bug.cgi?id=53041
17261
17262         * Configurations/FeatureDefines.xcconfig:
17263         * DerivedSources.cpp:
17264         * GNUmakefile.am:
17265         * WebCore.pro:
17266         * bindings/generic/RuntimeEnabledFeatures.h:
17267         * bindings/js/JSArrayBufferCustom.cpp:
17268         * bindings/js/JSCanvasRenderingContextCustom.cpp:
17269         (WebCore::toJS):
17270         * bindings/js/JSDOMWindowCustom.cpp:
17271         * bindings/js/JSDataViewCustom.cpp:
17272         * bindings/js/JSDocumentCustom.cpp:
17273         * bindings/js/JSFloat32ArrayCustom.cpp:
17274         * bindings/js/JSHTMLCanvasElementCustom.cpp:
17275         (WebCore::JSHTMLCanvasElement::getContext):
17276         * bindings/js/JSInt16ArrayCustom.cpp:
17277         * bindings/js/JSInt32ArrayCustom.cpp:
17278         * bindings/js/JSInt8ArrayCustom.cpp:
17279         * bindings/js/JSUint16ArrayCustom.cpp:
17280         * bindings/js/JSUint32ArrayCustom.cpp:
17281         * bindings/js/JSUint8ArrayCustom.cpp:
17282         * bindings/js/JSWebGLRenderingContextCustom.cpp:
17283         * bindings/js/JSXMLHttpRequestCustom.cpp:
17284         (WebCore::JSXMLHttpRequest::markChildren):
17285         (WebCore::JSXMLHttpRequest::send):
17286         (WebCore::JSXMLHttpRequest::response):
17287         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
17288         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
17289         * bindings/v8/custom/V8DataViewCustom.cpp:
17290         * bindings/v8/custom/V8DocumentCustom.cpp:
17291         (WebCore::V8Document::getCSSCanvasContextCallback):
17292         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
17293         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
17294         (WebCore::V8HTMLCanvasElement::getContextCallback):
17295         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
17296         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
17297         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
17298         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
17299         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
17300         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
17301         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
17302         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
17303         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
17304         (WebCore::V8XMLHttpRequest::sendCallback):
17305         * features.pri:
17306         * html/HTMLCanvasElement.cpp:
17307         (WebCore::HTMLCanvasElement::getContext):
17308         (WebCore::HTMLCanvasElement::reset):
17309         * html/HTMLCanvasElement.h:
17310         * html/canvas/ArrayBuffer.cpp:
17311         * html/canvas/ArrayBuffer.idl:
17312         * html/canvas/ArrayBufferView.cpp:
17313         * html/canvas/ArrayBufferView.idl:
17314         * html/canvas/DataView.cpp:
17315         * html/canvas/DataView.idl:
17316         * html/canvas/Float32Array.cpp:
17317         * html/canvas/Float32Array.idl:
17318         * html/canvas/Int16Array.cpp:
17319         * html/canvas/Int16Array.idl:
17320         * html/canvas/Int32Array.cpp:
17321         * html/canvas/Int32Array.idl:
17322         * html/canvas/Int8Array.cpp:
17323         * html/canvas/Int8Array.idl:
17324         * html/canvas/OESStandardDerivatives.cpp:
17325         * html/canvas/OESStandardDerivatives.idl:
17326         * html/canvas/OESTextureFloat.cpp:
17327         * html/canvas/OESTextureFloat.idl:
17328         * html/canvas/Uint16Array.cpp:
17329         * html/canvas/Uint16Array.idl:
17330         * html/canvas/Uint32Array.cpp:
17331         * html/canvas/Uint32Array.idl:
17332         * html/canvas/Uint8Array.cpp:
17333         * html/canvas/Uint8Array.idl:
17334         * html/canvas/WebGLActiveInfo.idl:
17335         * html/canvas/WebGLBuffer.cpp:
17336         * html/canvas/WebGLBuffer.idl:
17337         * html/canvas/WebGLContextAttributes.cpp:
17338         * html/canvas/WebGLContextAttributes.idl:
17339         * html/canvas/WebGLContextEvent.idl:
17340         * html/canvas/WebGLExtension.cpp:
17341         * html/canvas/WebGLFramebuffer.cpp:
17342         * html/canvas/WebGLFramebuffer.idl:
17343         * html/canvas/WebGLGetInfo.cpp:
17344         * html/canvas/WebGLObject.cpp:
17345         * html/canvas/WebGLProgram.cpp:
17346         * html/canvas/WebGLProgram.idl:
17347         * html/canvas/WebGLRenderbuffer.cpp:
17348         * html/canvas/WebGLRenderbuffer.idl:
17349         * html/canvas/WebGLRenderingContext.cpp:
17350         * html/canvas/WebGLRenderingContext.idl:
17351         * html/canvas/WebGLShader.cpp:
17352         * html/canvas/WebGLShader.idl:
17353         * html/canvas/WebGLTexture.cpp:
17354         * html/canvas/WebGLTexture.idl:
17355         * html/canvas/WebGLUniformLocation.cpp:
17356         * html/canvas/WebGLUniformLocation.idl:
17357         * html/canvas/WebKitLoseContext.cpp:
17358         * html/canvas/WebKitLoseContext.idl:
17359         * page/DOMWindow.idl:
17360         * platform/graphics/ANGLEWebKitBridge.cpp:
17361         * platform/graphics/GraphicsContext3D.cpp:
17362         * platform/graphics/cg/GraphicsContext3DCG.cpp:
17363         * platform/graphics/gpu/DrawingBuffer.cpp:
17364         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
17365         * platform/graphics/mac/GraphicsContext3DMac.mm:
17366         * platform/graphics/mac/WebGLLayer.mm:
17367         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
17368         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
17369         * platform/graphics/qt/Extensions3DQt.cpp:
17370         * platform/graphics/qt/GraphicsContext3DQt.cpp:
17371         * platform/graphics/qt/GraphicsLayerQt.cpp:
17372         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
17373         (WebCore::GraphicsLayerQtImpl::paint):
17374         (WebCore::GraphicsLayerQtImpl::flushChanges):
17375         * platform/graphics/qt/GraphicsLayerQt.h:
17376         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
17377         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
17378         * rendering/RenderLayerBacking.cpp:
17379         (WebCore::isAcceleratedCanvas):
17380         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
17381         (WebCore::RenderLayerBacking::containsPaintedContent):
17382         (WebCore::RenderLayerBacking::contentChanged):
17383         * webaudio/AudioBuffer.cpp:
17384         * webaudio/AudioBuffer.idl:
17385         * webaudio/RealtimeAnalyser.cpp:
17386         * webaudio/RealtimeAnalyser.h:
17387         * webaudio/RealtimeAnalyserNode.h:
17388         * webaudio/RealtimeAnalyserNode.idl:
17389         * xml/XMLHttpRequest.cpp:
17390         (WebCore::XMLHttpRequest::setResponseType):
17391         (WebCore::XMLHttpRequest::clearResponse):
17392         (WebCore::XMLHttpRequest::didReceiveData):
17393         * xml/XMLHttpRequest.h:
17394
17395 2011-01-25  Mikhail Naganov  <mnaganov@chromium.org>
17396
17397         Reviewed by Pavel Feldman.
17398
17399         Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
17400
17401         - Introduce Preferences.detailedHeapProfiles flag for controlling
17402           querying of detailed heap snapshots.
17403         - Add boilerplate code for the new view.
17404         - Factor out common code.
17405
17406         https://bugs.webkit.org/show_bug.cgi?id=52624
17407
17408         * WebCore.gypi:
17409         * WebCore.vcproj/WebCore.vcproj:
17410         * bindings/js/ScriptProfiler.h:
17411         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
17412         (WebCore::ScriptProfiler::takeHeapSnapshot):
17413         * bindings/v8/ScriptProfiler.cpp:
17414         (WebCore::ScriptProfiler::takeHeapSnapshot):
17415         * bindings/v8/ScriptProfiler.h:
17416         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
17417         * inspector/Inspector.idl:
17418         * inspector/InspectorProfilerAgent.cpp:
17419         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
17420         * inspector/InspectorProfilerAgent.h:
17421         * inspector/front-end/DetailedHeapshotView.js: Added.
17422         (WebInspector.DetailedHeapshotView):
17423         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
17424         (WebInspector.DetailedHeapshotView.prototype.get profile):
17425         (WebInspector.DetailedHeapshotView.prototype.set profile):
17426         (WebInspector.DetailedHeapshotView.prototype.show):
17427         (WebInspector.DetailedHeapshotView.prototype.hide):
17428         (WebInspector.DetailedHeapshotProfileType):
17429         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
17430         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
17431         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
17432         (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
17433         (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
17434         (WebInspector.DetailedHeapshotProfileType.prototype.createView):
17435         * inspector/front-end/HeapSnapshot.js: Added.
17436         (WebInspector.HeapSnapshotEdgesIterator):
17437         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
17438         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
17439         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
17440         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
17441         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
17442         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
17443         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
17444         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
17445         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
17446         (WebInspector.HeapSnapshotNodeWrapper):
17447         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
17448         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
17449         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
17450         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
17451         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
17452         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
17453         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
17454         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
17455         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
17456         (WebInspector.HeapSnapshot):
17457         (WebInspector.HeapSnapshot.prototype._init):
17458         (WebInspector.HeapSnapshot.prototype.get rootEdges):
17459         * inspector/front-end/HeapSnapshotView.js:
17460         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
17461         * inspector/front-end/ProfilesPanel.js:
17462         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
17463         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
17464         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
17465         (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
17466         * inspector/front-end/Settings.js:
17467         * inspector/front-end/WebKit.qrc:
17468         * inspector/front-end/inspector.html:
17469         * inspector/front-end/inspector.js:
17470         (WebInspector._createPanels):
17471
17472 2011-01-25  Yury Semikhatsky  <yurys@chromium.org>
17473
17474         Reviewed by Pavel Feldman.
17475
17476         Web Inspector: remove "attached" state related methods from InspectorAgent
17477         https://bugs.webkit.org/show_bug.cgi?id=53086
17478
17479         * WebCore.exp.in:
17480         * inspector/InspectorAgent.cpp:
17481         * inspector/InspectorAgent.h:
17482         * inspector/InspectorFrontendClientLocal.cpp:
17483         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
17484         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
17485         * inspector/InspectorSettings.cpp:
17486         (WebCore::InspectorSettings::InspectorSettings):
17487         * inspector/InspectorSettings.h:
17488
17489 2011-01-25  Qi Zhang  <qi.2.zhang@nokia.com>
17490
17491         Reviewed by Laszlo Gombos.
17492
17493         [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
17494         https://bugs.webkit.org/show_bug.cgi?id=51873
17495         
17496         Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
17497         No new functionality so no new tests.
17498
17499         * html/canvas/Int32Array.h:
17500         (WebCore::Int32Array::set):
17501         * html/canvas/Int8Array.h:
17502         (WebCore::Int8Array::set):
17503         * html/canvas/Uint16Array.h:
17504         (WebCore::Uint16Array::set):
17505         * html/canvas/Uint32Array.h:
17506         (WebCore::Uint32Array::set):
17507         * html/canvas/Uint8Array.h:
17508         (WebCore::Uint8Array::set):
17509
17510 2011-01-25  Zoltan Herczeg  <zherczeg@webkit.org>
17511
17512         Reviewed by Dirk Schulze.
17513
17514         Repaint SVG elements with filter instead of relayout where possible
17515         https://bugs.webkit.org/show_bug.cgi?id=52200
17516
17517         This patch allows repainting of filters, when their
17518         attribute changes does not require relayout.
17519
17520         Existing dynamic-update tests cover this feature.
17521
17522         * platform/graphics/filters/FilterEffect.cpp:
17523         (WebCore::FilterEffect::clearResult): Clearing the currently stored image
17524         before repainting.
17525         * platform/graphics/filters/FilterEffect.h:
17526         * rendering/RenderObject.h:
17527         (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
17528         but filters should also be detected to allow safe testing and casting.
17529         * rendering/svg/RenderSVGResourceFilter.cpp:
17530         (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
17531         (WebCore::RenderSVGResourceFilter::applyResource):
17532         determineFilterPrimitiveSubregion does not require the filter anymore.
17533         (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
17534         if lastEffect->hasResult() is false.
17535         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
17536         Searching for all FilterEffects, whose created by the current FilterElement,
17537         and clearing all resulting images depending on those FilterEffects.
17538         * rendering/svg/RenderSVGResourceFilter.h:
17539         (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
17540         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
17541         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
17542         The filter argument is unnecessary anymore. But is is still kept as a static
17543         member, since the primitive renderer still does not know about the
17544         FilterEffect objects.
17545         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
17546         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
17547         (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
17548         Calls RenderSVGResourceFilter::primitiveAttributeChanged.
17549         * svg/SVGFEDiffuseLightingElement.cpp:
17550         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
17551         Setting the new attribute value for each FilterEffect.
17552         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
17553         * svg/SVGFEDiffuseLightingElement.h:
17554         Calling primitiveAttributeChanged.
17555         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
17556         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
17557         This function will be removed when all FilterElement implements
17558         their setFilterEffectAttribute
17559         * svg/SVGFilterPrimitiveStandardAttributes.h:
17560         (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
17561         * svg/graphics/filters/SVGFilterBuilder.cpp:
17562         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
17563         renderers are assigned to the filter effects.
17564         (WebCore::SVGFilterBuilder::clearEffects):
17565         (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
17566         clearing the result images for those filters, whose depend on
17567         the starting filter.
17568         * svg/graphics/filters/SVGFilterBuilder.h:
17569         (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
17570         (WebCore::SVGFilterBuilder::effectByRenderer): returns the
17571         FilterEffect belongs to this RenderObject.
17572
17573 2011-01-25  Dirk Schulze  <krit@webkit.org>
17574
17575         Reviewed by Nikolas Zimmermann.
17576
17577         SVG is missing to-animation support for Path
17578         https://bugs.webkit.org/show_bug.cgi?id=52982
17579
17580         SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
17581         animation did not work and an assert was thrown, because of the missing m_fromPath.
17582         This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
17583
17584         Test: svg/animations/animate-path-to-animation.html
17585
17586         * svg/SVGAnimateElement.cpp:
17587         (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
17588         m_fromPath, since 'to' animations are accumulative.
17589         (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
17590         (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
17591         * svg/SVGPathByteStream.h:
17592         (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
17593
17594 2011-01-25  Pavel Feldman  <pfeldman@chromium.org>
17595
17596         Reviewed by Yury Semikhatsky.
17597
17598         Web Inspector: bind resources to URLs upon adding them into the tree.
17599         https://bugs.webkit.org/show_bug.cgi?id=53013
17600
17601         * inspector/front-end/AuditRules.js:
17602         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
17603         * inspector/front-end/CSSStyleModel.js:
17604         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
17605         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
17606         * inspector/front-end/DebuggerModel.js:
17607         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
17608         * inspector/front-end/NetworkManager.js:
17609         (WebInspector.NetworkManager.prototype._processCachedResources):
17610         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
17611         (WebInspector.NetworkDispatcher):
17612         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
17613         (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
17614         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
17615         (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
17616         (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
17617         (WebInspector.NetworkDispatcher.prototype.didFailLoading):
17618         (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
17619         (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
17620         (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
17621         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
17622         (WebInspector.NetworkDispatcher.prototype._startResource):
17623         (WebInspector.NetworkDispatcher.prototype._finishResource):
17624         (WebInspector.NetworkDispatcher.prototype._createResource):
17625         * inspector/front-end/ResourceTreeModel.js:
17626         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
17627         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
17628         (WebInspector.ResourceTreeModel.prototype._clearResources):
17629         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
17630         * inspector/front-end/ResourcesPanel.js:
17631         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
17632         (WebInspector.ResourcesPanel.prototype.showSourceLine):
17633         * inspector/front-end/ScriptsPanel.js:
17634         (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
17635         (WebInspector.ScriptsPanel.prototype._addScript):
17636
17637 2011-01-25  Nikolas Zimmermann  <nzimmermann@rim.com>
17638
17639         Reviewed by Dirk Schulze.
17640
17641         Introduce FontMetrics abstraction
17642         https://bugs.webkit.org/show_bug.cgi?id=51456
17643
17644         Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
17645         This hopefully fixes differences between 32/64 bit bots.
17646
17647         Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
17648
17649         * platform/graphics/SimpleFontData.cpp:
17650         (WebCore::SimpleFontData::SimpleFontData):
17651         (WebCore::SimpleFontData::initCharWidths):
17652
17653 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
17654
17655         Reviewed by Pavel Feldman.
17656
17657         Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
17658         https://bugs.webkit.org/show_bug.cgi?id=52999
17659
17660         * inspector/Inspector.idl:
17661         * inspector/InspectorAgent.cpp:
17662         (WebCore::InspectorAgent::didCommitLoad):
17663         (WebCore::InspectorAgent::enableDebugger):
17664         (WebCore::InspectorAgent::inspectedURLWithoutFragment):
17665         * inspector/InspectorAgent.h:
17666         * inspector/InspectorBrowserDebuggerAgent.cpp:
17667         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
17668         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
17669         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
17670         * inspector/InspectorBrowserDebuggerAgent.h:
17671         * inspector/InspectorDebuggerAgent.cpp:
17672         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
17673         (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
17674         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
17675         (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
17676         * inspector/InspectorDebuggerAgent.h:
17677         * inspector/InspectorState.cpp:
17678         (WebCore::InspectorState::InspectorState):
17679         * inspector/InspectorState.h:
17680         * inspector/front-end/BreakpointManager.js:
17681         (WebInspector.BreakpointManager):
17682         (WebInspector.BreakpointManager.prototype._projectChanged):
17683         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
17684         (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
17685
17686 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
17687
17688         Reviewed by Martin Robinson.
17689
17690         [GTK] Crash in some pages containing flash
17691         https://bugs.webkit.org/show_bug.cgi?id=53016
17692
17693         Flash plugin can produce X errors that are handled by the GDK X
17694         error handler, which exits the process. Since we don't want to
17695         crash due to flash bugs, we install a custom error handler to show
17696         a warning when a X error happens without aborting.
17697
17698         * plugins/gtk/PluginPackageGtk.cpp:
17699         (WebCore::webkitgtkXError):
17700         (WebCore::PluginPackage::load):
17701
17702 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
17703
17704         Reviewed by Martin Robinson.
17705
17706         [GTK] Implement spin buttons in RenderThemeGtk
17707         https://bugs.webkit.org/show_bug.cgi?id=51454
17708
17709         Paint inner up/down buttons for spin button elements when building
17710         with GTK+ 3.x.
17711
17712         Test results will land with the GTK+ 2.x version of this patch.
17713
17714         * platform/gtk/RenderThemeGtk.h:
17715         * platform/gtk/RenderThemeGtk2.cpp:
17716         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
17717         (WebCore::RenderThemeGtk::paintInnerSpinButton):
17718         * platform/gtk/RenderThemeGtk3.cpp:
17719         (WebCore::spinButtonArrowSize):
17720         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
17721         (WebCore::paintSpinArrowButton):
17722         (WebCore::RenderThemeGtk::paintInnerSpinButton):
17723
17724 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
17725
17726         Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
17727         in r76575.
17728
17729         * loader/cache/CachedResource.cpp:
17730         (WebCore::CachedResource::~CachedResource):
17731
17732 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
17733
17734         Reviewed by Tony Chang.
17735
17736         Add runtime checks for invariants in memory cache
17737         https://bugs.webkit.org/show_bug.cgi?id=53059
17738         
17739         To help track down bug 53045, add some CRASH calls in addition to
17740         ASSERTs, so that we can track down failures in reliability bots.
17741
17742         Just some checks, no new tests necessary.
17743         
17744         * css/CSSImageValue.cpp:
17745         (WebCore::CSSImageValue::cachedImage):
17746         * loader/cache/CachedResource.h:
17747         * loader/cache/CachedResource.cpp:
17748         (WebCore::CachedResource::~CachedResource):
17749
17750 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
17751
17752         Reviewed by Dan Bernstein.
17753
17754         Leaking CSSRuleDataList objects
17755         https://bugs.webkit.org/show_bug.cgi?id=53062
17756
17757         Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
17758
17759         * css/CSSStyleSelector.cpp:
17760         (WebCore::CSSRuleSet::~CSSRuleSet):
17761
17762 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
17763
17764         Reviewed by Eric Seidel.
17765
17766         Refcount Images used in rendering code
17767         https://bugs.webkit.org/show_bug.cgi?id=52701
17768
17769         Change StyleImage::image(RenderObject*, const IntSize&) and
17770         CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
17771         return PassRefPtr<Image>, and adjust other code accordingly.
17772         
17773         This allows us to return one-time images, for example for CSS gradients
17774         whose appearance may change depending on factors other than the renderer
17775         and the destination size.
17776
17777         * css/CSSCanvasValue.cpp:
17778         (WebCore::CSSCanvasValue::image):
17779         * css/CSSCanvasValue.h:
17780         * css/CSSGradientValue.cpp:
17781         (WebCore::CSSGradientValue::image):
17782         * css/CSSGradientValue.h:
17783         * css/CSSImageGeneratorValue.h:
17784         * rendering/RenderBoxModelObject.cpp:
17785         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
17786         (WebCore::RenderBoxModelObject::paintNinePieceImage):
17787         * rendering/RenderImage.cpp:
17788         (WebCore::RenderImage::paintReplaced):
17789         (WebCore::RenderImage::paintIntoRect):
17790         * rendering/RenderImageResource.h:
17791         (WebCore::RenderImageResource::image):
17792         * rendering/RenderImageResourceStyleImage.h:
17793         (WebCore::RenderImageResourceStyleImage::image):
17794         * rendering/RenderListMarker.cpp:
17795         (WebCore::RenderListMarker::paint):
17796         * rendering/style/StyleCachedImage.cpp:
17797         (WebCore::StyleCachedImage::image):
17798         * rendering/style/StyleCachedImage.h:
17799         * rendering/style/StyleGeneratedImage.cpp:
17800         (WebCore::StyleGeneratedImage::image):
17801         * rendering/style/StyleGeneratedImage.h:
17802         * rendering/style/StyleImage.h:
17803         * rendering/style/StylePendingImage.h:
17804         (WebCore::StylePendingImage::image):
17805         * rendering/svg/RenderSVGImage.cpp:
17806         (WebCore::RenderSVGImage::paint):
17807
17808 2011-01-24  Tony Chang  <tony@chromium.org>
17809
17810         Unreviewed, round ascent and descent to match old code.
17811
17812         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
17813         (WebCore::SimpleFontData::platformInit):
17814
17815 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
17816
17817         Reviewed by Chris Marrin.
17818
17819         perspective() transform function should take lengths
17820         https://bugs.webkit.org/show_bug.cgi?id=52683
17821         
17822         The argument to the perspective() transform function should
17823         be a Length, rather than a bare number. Bare numbers are still
17824         accepted (and treated as px), but this behavior is deprecated.
17825
17826         Test: animations/3d/transform-perspective.html
17827               transforms/3d/general/3dtransform-values.html
17828
17829         * css/CSSParser.cpp:
17830         (WebCore::CSSParser::parseTransform): Check the units for the perspective()
17831         function. Allow bare numbers for backwards compatibility.
17832         * css/CSSStyleSelector.cpp:
17833         (WebCore::CSSStyleSelector::createTransformOperations): Convert
17834         value to Length.
17835         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
17836         (WebCore::clampToPostiveInteger): Helper.
17837         (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
17838         * platform/graphics/transforms/PerspectiveTransformOperation.h:
17839         (WebCore::PerspectiveTransformOperation::create): double -> Length.
17840         (WebCore::PerspectiveTransformOperation::perspective): Ditto.
17841         (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
17842         (WebCore::PerspectiveTransformOperation::apply): Ditto.
17843         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
17844         that the Length is a fixed type.
17845
17846 2011-01-24  Kent Tamura  <tkent@chromium.org>
17847
17848         Reviewed by Dimitri Glazkov.
17849
17850         [Windows] Textfield <input>s have different widths.
17851         https://bugs.webkit.org/show_bug.cgi?id=48405
17852
17853         - Apply the padding override for type=text to other textfield types too.
17854         - Reset margin value of outer spin button, which is not used in Windows.
17855         - Don't add inner spin button width to the preferred text field width.
17856           Text fields should have the identical widths regardless of the
17857           existence of spin buttons.
17858
17859         Test: fast/forms/input-widths.html
17860
17861         * css/themeWin.css:
17862         (input[type="week"]):
17863         (input[type="week"]:disabled):
17864         (input[type="search"]::-webkit-search-cancel-button):
17865         (input::-webkit-outer-spin-button):
17866         * rendering/RenderTextControlSingleLine.cpp:
17867         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
17868         Don't add inner spin button width to the preferred width.
17869
17870 2011-01-24  Kent Tamura  <tkent@chromium.org>
17871
17872         Reviewed by Dimitri Glazkov.
17873
17874         Some bugs of search cancel button and spin button about state change in
17875         an event handler.
17876         https://bugs.webkit.org/show_bug.cgi?id=46950
17877
17878         Fix the following problems:
17879          * Type=search field didn't release event capturing
17880          * Assertion failure when an input field with spin buttons was changed
17881            to another type on focus event.
17882          * A input field with spin button didn't release event capturing when it
17883            was changed to another type on focus event.
17884
17885         Tests: fast/forms/input-number-change-type-on-focus.html
17886                fast/forms/search-hide-cancel-on-cancel.html
17887
17888         * rendering/TextControlInnerElements.cpp:
17889         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
17890          - Make the variable 'input' RefPtr.  It makes the code simpler.
17891          - Remove visibility check on mouseup event. We should release capturing
17892            anyway because the cancel button may be invisible if JavaScript code
17893            called by the focus event removes the input value.
17894         (WebCore::SpinButtonElement::detach):
17895          - Release capturing on detach because it is possible that a spin button
17896            node is detached while it is capturing events.
17897         (WebCore::SpinButtonElement::defaultEventHandler):
17898           Take a reference to this and check renderer() after some functions which
17899           may run JavaScript code.
17900         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
17901           Make the variable 'input' RefPtr to align other functions in this file.
17902         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
17903         * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().
17904
17905 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
17906
17907         Reviewed by Ojan Vafai.
17908
17909         Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
17910         https://bugs.webkit.org/show_bug.cgi?id=52781
17911
17912         The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
17913         and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
17914         non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.
17915
17916         Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
17917         multiple times but instead it traverses through the string and replaces a space that immediately follows
17918         another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.
17919
17920         * editing/CompositeEditCommand.cpp:
17921         * editing/htmlediting.cpp:
17922         (WebCore::stringWithRebalancedWhitespace): Written.
17923         * editing/htmlediting.h:
17924         (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
17925
17926 2011-01-24  Kenneth Russell  <kbr@google.com>
17927
17928         Reviewed by James Robinson.
17929
17930         Web Audio API: port FFTFrame to FFTW
17931         https://bugs.webkit.org/show_bug.cgi?id=52989
17932
17933         Ported FFTFrame class to the open-source FFTW library. Tested with
17934         unit tests from Chris Rogers. Made preliminary changes to GYP
17935         files for conditional compilation of these files; will need to be
17936         adjusted once FFTW is integrated as third-party source.
17937
17938         * WebCore.gyp/WebCore.gyp:
17939         * WebCore.gypi:
17940         * platform/audio/FFTFrame.h:
17941         * platform/audio/fftw: Added.
17942         * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
17943         (WebCore::FFTFrame::FFTFrame):
17944         (WebCore::FFTFrame::~FFTFrame):
17945         (WebCore::FFTFrame::multiply):
17946         (WebCore::FFTFrame::doFFT):
17947         (WebCore::FFTFrame::doInverseFFT):
17948         (WebCore::FFTFrame::cleanup):
17949         (WebCore::FFTFrame::realData):
17950         (WebCore::FFTFrame::imagData):
17951         (WebCore::FFTFrame::fftwPlanForSize):
17952
17953 2011-01-24  Anders Carlsson  <andersca@apple.com>
17954
17955         Reviewed by Dan Bernstein.
17956
17957         Reset the page scale factor on standard frame loads
17958         https://bugs.webkit.org/show_bug.cgi?id=53058
17959         <rdar://problem/8908844>
17960
17961         Add a symbol needed by WebKit2.
17962
17963         * WebCore.exp.in:
17964
17965 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
17966
17967         Reviewed by Eric Seidel.
17968
17969         Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
17970         ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
17971         https://bugs.webkit.org/show_bug.cgi?id=52676
17972
17973         Stop instantiating legacy editing positions in the following files.
17974
17975         * editing/InsertTextCommand.cpp:
17976         (WebCore::InsertTextCommand::prepareForTextInsertion):
17977         (WebCore::InsertTextCommand::performTrivialReplace):
17978         (WebCore::InsertTextCommand::input):
17979         (WebCore::InsertTextCommand::insertTab):
17980         * editing/MoveSelectionCommand.cpp:
17981         (WebCore::MoveSelectionCommand::doApply):
17982         * editing/ReplaceSelectionCommand.cpp:
17983         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
17984         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
17985         (WebCore::ReplaceSelectionCommand::doApply):
17986         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
17987         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
17988         * editing/SelectionController.cpp:
17989         (WebCore::SelectionController::setSelectionFromNone):
17990         * editing/SpellChecker.cpp:
17991         (WebCore::SpellChecker::didCheck):
17992         * editing/TypingCommand.cpp:
17993         (WebCore::TypingCommand::makeEditableRootEmpty):
17994         (WebCore::TypingCommand::deleteKeyPressed):
17995         (WebCore::TypingCommand::forwardDeleteKeyPressed):
17996         * editing/markup.cpp:
17997         (WebCore::StyledMarkupAccumulator::appendText):
17998         (WebCore::StyledMarkupAccumulator::serializeNodes):
17999         (WebCore::highestAncestorToWrapMarkup):
18000         (WebCore::createMarkup):
18001
18002 2011-01-24  Peter Kasting  <pkasting@google.com>
18003
18004         Reviewed by Darin Adler.
18005
18006         Roll back r67261 ("Don't fire onclick on middle clicks") due to
18007         regressions.
18008         https://bugs.webkit.org/show_bug.cgi?id=46733
18009
18010         * html/HTMLAnchorElement.cpp:
18011         (WebCore::isLinkClick):
18012         * html/HTMLInputElement.cpp:
18013         (WebCore::HTMLInputElement::preDispatchEventHandler):
18014         (WebCore::HTMLInputElement::postDispatchEventHandler):
18015         (WebCore::HTMLInputElement::defaultEventHandler):
18016         * page/EventHandler.cpp:
18017         (WebCore::EventHandler::handleMouseDoubleClickEvent):
18018         (WebCore::EventHandler::handleMouseReleaseEvent):
18019
18020 2011-01-24  Martin Robinson  <mrobinson@igalia.com>
18021
18022         Reviewed by Eric Seidel.
18023
18024         [GTK] Many DOM XHTML tests time out
18025         https://bugs.webkit.org/show_bug.cgi?id=52553
18026
18027         Properly handle the situation where a synchronous load fails before the inner
18028         event loop has started. In this case, we simply do not run the inner event loop,
18029         or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
18030
18031         * platform/network/soup/ResourceHandleSoup.cpp:
18032         (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
18033         load if it fails up front.
18034
18035 2011-01-24  Zhenyao Mo  <zmo@google.com>
18036
18037         Reviewed by Eric Seidel.
18038
18039         Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
18040         https://bugs.webkit.org/show_bug.cgi?id=52338
18041
18042         Removed the long/unsigned long types and corresponding get functions
18043         and use int/unsigned int instead.
18044
18045         * bindings/js/JSWebGLRenderingContextCustom.cpp:
18046         (WebCore::toJS):
18047         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
18048         (WebCore::toV8Object):
18049         * html/canvas/WebGLGetInfo.cpp:
18050         (WebCore::WebGLGetInfo::WebGLGetInfo):
18051         (WebCore::WebGLGetInfo::getInt):
18052         (WebCore::WebGLGetInfo::getUnsignedInt):
18053         * html/canvas/WebGLGetInfo.h:
18054         * html/canvas/WebGLRenderingContext.cpp:
18055         (WebCore::WebGLRenderingContext::getBufferParameter):
18056         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
18057         (WebCore::WebGLRenderingContext::getParameter):
18058         (WebCore::WebGLRenderingContext::getProgramParameter):
18059         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
18060         (WebCore::WebGLRenderingContext::getShaderParameter):
18061         (WebCore::WebGLRenderingContext::getTexParameter):
18062         (WebCore::WebGLRenderingContext::getUniform):
18063         (WebCore::WebGLRenderingContext::getVertexAttrib):
18064         (WebCore::WebGLRenderingContext::getIntParameter):
18065         (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
18066         * html/canvas/WebGLRenderingContext.h:
18067
18068 2011-01-24  Zhenyao Mo  <zmo@google.com>
18069
18070         Reviewed by Darin Adler.
18071
18072         Remove sizeInBytes from GraphicsContext3D's various implementations
18073         https://bugs.webkit.org/show_bug.cgi?id=52339
18074
18075         * html/canvas/WebGLRenderingContext.cpp:
18076         (WebCore::WebGLRenderingContext::sizeInBytes):
18077         * platform/graphics/GraphicsContext3D.h:
18078         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
18079         * platform/graphics/qt/GraphicsContext3DQt.cpp:
18080
18081 2011-01-24  Adam Roben  <aroben@apple.com>
18082
18083         Windows Production build fix
18084
18085         * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
18086
18087 2011-01-24  Anton Muhin  <antonm@chromium.org>
18088
18089         Reviewed by Nate Chapin.
18090
18091         [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
18092         https://bugs.webkit.org/show_bug.cgi?id=52911
18093
18094         Plain refactoring, covered by the existing tests.
18095
18096         * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
18097         * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
18098         * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
18099         * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
18100         (WebCore::ChunkedTable::ChunkedTable):
18101         (WebCore::ChunkedTable::add):
18102         (WebCore::ChunkedTable::remove):
18103         (WebCore::ChunkedTable::clear):
18104         (WebCore::ChunkedTable::visit):
18105         (WebCore::ChunkedTable::Chunk::Chunk):
18106         (WebCore::ChunkedTable::clearEntries):
18107         (WebCore::ChunkedTable::visitEntries):
18108         (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
18109         (WebCore::IntrusiveDOMWrapperMap::get):
18110         (WebCore::IntrusiveDOMWrapperMap::set):
18111         (WebCore::IntrusiveDOMWrapperMap::contains):
18112         (WebCore::IntrusiveDOMWrapperMap::visit):
18113         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
18114         (WebCore::IntrusiveDOMWrapperMap::clear):
18115         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
18116         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
18117         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
18118         * bindings/v8/StaticDOMDataStore.h: include added.
18119
18120 2011-01-24  Shane Stephens  <shanestephens@google.com>
18121
18122         Reviewed by Chris Marrin.
18123
18124         TransformationMatrix multiply operations apply operands in wrong order.
18125         https://bugs.webkit.org/show_bug.cgi?id=52780
18126
18127         Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
18128         not a multLeft).
18129
18130         Remove TransformationMatrix::multiply, which was actually doing a multLeft.
18131
18132         Fix TransformationMatrix::operator* and operator*= such that the operand is
18133         applied to the right-hand side of the matrix that the method is called on.
18134         i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
18135         "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
18136         "a *= b" stores "a * b" in "a".
18137
18138         Convert all call sites for these methods to provide operands in the correct order.
18139
18140         No new tests as patch adds no new functionality.
18141
18142         * css/WebKitCSSMatrix.cpp:
18143         (WebCore::WebKitCSSMatrix::multiply):
18144         * platform/graphics/transforms/Matrix3DTransformOperation.h:
18145         (WebCore::Matrix3DTransformOperation::apply):
18146         * platform/graphics/transforms/MatrixTransformOperation.h:
18147         (WebCore::MatrixTransformOperation::apply):
18148         * platform/graphics/transforms/TransformationMatrix.cpp:
18149         (WebCore::TransformationMatrix::scaleNonUniform):
18150         (WebCore::TransformationMatrix::scale3d):
18151         (WebCore::TransformationMatrix::rotate3d):
18152         (WebCore::TransformationMatrix::skew):
18153         (WebCore::TransformationMatrix::applyPerspective):
18154         (WebCore::TransformationMatrix::multiply):
18155         (WebCore::TransformationMatrix::recompose):
18156         * platform/graphics/transforms/TransformationMatrix.h:
18157         (WebCore::TransformationMatrix::operator*=):
18158         (WebCore::TransformationMatrix::operator*):
18159         * rendering/RenderLayer.cpp:
18160         (WebCore::transparencyClipBox):
18161         * rendering/RenderObject.cpp:
18162         (WebCore::RenderObject::getTransformFromContainer):
18163         * rendering/TransformState.cpp:
18164         (WebCore::TransformState::applyTransform):
18165         (WebCore::HitTestingTransformState::applyTransform):
18166
18167 2011-01-24  Andrei Popescu  <andreip@google.com>
18168
18169         Reviewed by Nate Chapin.
18170
18171         IndexedDatabase methods should not take arguments of type OptionsObject
18172         https://bugs.webkit.org/show_bug.cgi?id=53012
18173
18174         This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
18175         IDBObjectStore::createIndex, to using a plain list of arguments instead of
18176         grouping the various parameters inside a single OptionsObject argument.
18177         This decision was made on public-webapps@w3.org mailing list.
18178
18179         We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
18180         methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
18181         in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
18182         use it.
18183
18184         * bindings/scripts/CodeGeneratorV8.pm:
18185         * bindings/v8/V8Binding.cpp:
18186         (WebCore::v8ValueToWebCoreDOMStringList):
18187         * bindings/v8/V8Binding.h:
18188         * storage/IDBDatabase.cpp:
18189         (WebCore::IDBDatabase::transaction):
18190         * storage/IDBDatabase.h:
18191         (WebCore::IDBDatabase::transaction):
18192         * storage/IDBDatabase.idl:
18193         * storage/IDBIndex.cpp:
18194         (WebCore::IDBIndex::openCursor):
18195         (WebCore::IDBIndex::openKeyCursor):
18196         * storage/IDBIndex.h:
18197         (WebCore::IDBIndex::openCursor):
18198         (WebCore::IDBIndex::openKeyCursor):
18199         * storage/IDBIndex.idl:
18200         * storage/IDBObjectStore.cpp:
18201         (WebCore::IDBObjectStore::openCursor):
18202         * storage/IDBObjectStore.h:
18203         (WebCore::IDBObjectStore::openCursor):
18204         * storage/IDBObjectStore.idl:
18205
18206 2011-01-24  Pavel Feldman  <pfeldman@chromium.org>
18207
18208         Reviewed by Yury Semikhatsky.
18209
18210         Web Inspector: extract dispatch API from network manager.
18211         https://bugs.webkit.org/show_bug.cgi?id=53009
18212
18213         * WebCore.xcodeproj/project.pbxproj:
18214         * inspector/front-end/NetworkManager.js:
18215         (WebInspector.NetworkManager):
18216         (WebInspector.NetworkManager.prototype.reset):
18217         (WebInspector.NetworkManager.prototype.requestContent):
18218         (WebInspector.NetworkManager.prototype._processCachedResources):
18219         (WebInspector.NetworkDispatcher):
18220         (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
18221         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
18222         (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
18223         (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
18224         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
18225         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
18226         (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
18227         (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
18228         (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
18229         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
18230         (WebInspector.NetworkDispatcher.prototype._startResource):
18231         (WebInspector.NetworkDispatcher.prototype._updateResource):
18232         (WebInspector.NetworkDispatcher.prototype._finishResource):
18233         (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
18234         (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
18235         (WebInspector.NetworkDispatcher.prototype._createResource):
18236         * inspector/front-end/Resource.js:
18237         (WebInspector.Resource.prototype._innerRequestContent):
18238         * inspector/front-end/ResourceTreeModel.js:
18239         (WebInspector.ResourceTreeModel):
18240         (WebInspector.ResourceTreeModel.prototype.reset):
18241         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
18242
18243 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
18244
18245         Reviewed by Pavel Feldman.
18246
18247         Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
18248         https://bugs.webkit.org/show_bug.cgi?id=53007
18249
18250         It's impossible to create "provisional" inspector for pages which are
18251         not yet created so there is no need to listen for page creation in ScriptDebugServer.
18252
18253         * bindings/js/ScriptDebugServer.cpp:
18254         * bindings/js/ScriptDebugServer.h:
18255         * page/Page.cpp:
18256         (WebCore::Page::Page):
18257
18258 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18259
18260         Reviewed by Pavel Feldman.
18261
18262         Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
18263         https://bugs.webkit.org/show_bug.cgi?id=53002
18264
18265
18266         * inspector/front-end/ApplicationCacheItemsView.js:
18267         (WebInspector.ApplicationCacheItemsView.prototype._update):
18268         * inspector/front-end/DOMAgent.js:
18269         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
18270
18271 2011-01-24  Andreas Kling  <kling@webkit.org>
18272
18273         Reviewed by Kenneth Rohde Christiansen.
18274
18275         [Qt] Fix warnings about unregistering an invalid timer
18276         https://bugs.webkit.org/show_bug.cgi?id=53006
18277
18278         The ShadowBuffer's purge timer ID was initialized with 0 which lead
18279         to us calling QObject::killTimer(0), causing some qWarnings.
18280
18281         * platform/graphics/qt/ContextShadowQt.cpp:
18282         (WebCore::ShadowBuffer::ShadowBuffer):
18283         (WebCore::ShadowBuffer::schedulePurge):
18284
18285 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
18286
18287         Reviewed by Pavel Feldman.
18288
18289         Web Inspector: [Chromium] Fix heap snapshot table sorting.
18290
18291         Fix table sorting to avoid qsort instability artefacts.
18292
18293         https://bugs.webkit.org/show_bug.cgi?id=52914
18294
18295         * inspector/front-end/HeapSnapshotView.js:
18296         (WebInspector.HeapSnapshotView.prototype._sortData):
18297         (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
18298         (WebInspector.HeapSnapshotDataGridList.propertyComparator):
18299
18300 2011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
18301
18302         Reviewed by Yury Semikhatsky.
18303
18304         Web Inspector: Find duplicate strings in localizedStrings.js, update it.
18305
18306         https://bugs.webkit.org/show_bug.cgi?id=53005
18307
18308         * English.lproj/localizedStrings.js:
18309
18310 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18311
18312         Unreviewed, build fix  for r76509.
18313
18314         * inspector/InspectorDebuggerAgent.cpp:
18315         (WebCore::InspectorDebuggerAgent::setBreakpoint):
18316
18317 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18318
18319         Unreviewed, build fix  for r76509.
18320
18321         * bindings/js/ScriptDebugServer.h:
18322
18323 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18324
18325         Reviewed by Yury Semikhatsky.
18326
18327         Web Inspector: set breakpoints by line:column.
18328         https://bugs.webkit.org/show_bug.cgi?id=52615
18329
18330         * CMakeLists.txt:
18331         * GNUmakefile.am:
18332         * WebCore.gypi:
18333         * WebCore.pro:
18334         * WebCore.vcproj/WebCore.vcproj:
18335         * WebCore.xcodeproj/project.pbxproj:
18336         * bindings/js/ScriptDebugServer.cpp:
18337         (WebCore::ScriptDebugServer::setBreakpoint):
18338         (WebCore::ScriptDebugServer::removeBreakpoint):
18339         (WebCore::ScriptDebugServer::hasBreakpoint):
18340         (WebCore::ScriptDebugServer::clearBreakpoints):
18341         * bindings/js/ScriptDebugServer.h:
18342         * bindings/v8/DebuggerScript.js:
18343         ():
18344         * bindings/v8/ScriptDebugServer.cpp:
18345         (WebCore::ScriptDebugServer::setBreakpoint):
18346         * bindings/v8/ScriptDebugServer.h:
18347         * inspector/Inspector.idl:
18348         * inspector/InspectorBrowserDebuggerAgent.cpp:
18349         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
18350         * inspector/InspectorDebuggerAgent.cpp:
18351         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
18352         (WebCore::InspectorDebuggerAgent::setBreakpoint):
18353         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
18354         (WebCore::InspectorDebuggerAgent::didParseSource):
18355         * inspector/InspectorDebuggerAgent.h:
18356         * inspector/ScriptBreakpoint.cpp: Removed.
18357         * inspector/ScriptBreakpoint.h:
18358         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
18359         * inspector/front-end/Breakpoint.js:
18360         (WebInspector.Breakpoint):
18361         (WebInspector.Breakpoint.prototype.get url):
18362         * inspector/front-end/BreakpointManager.js:
18363         (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
18364         * inspector/front-end/DebuggerModel.js:
18365         (WebInspector.DebuggerModel.prototype.continueToLine):
18366         (WebInspector.DebuggerModel.prototype.setBreakpoint):
18367         (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
18368         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
18369
18370 2011-01-24  Peter Beverloo  <peter@chromium.org>
18371
18372         Reviewed by Pavel Feldman.
18373
18374         Web Inspector: recognize application/x-font-woff as a valid mime-type.
18375         https://bugs.webkit.org/show_bug.cgi?id=52977
18376
18377         No new tests.
18378
18379         * inspector/front-end/inspector.js:
18380
18381 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18382
18383         Unreviewed, fix for r76497.
18384
18385         * inspector/front-end/ResourcesPanel.js:
18386         (WebInspector.ResourcesPanel.prototype.show):
18387
18388 2011-01-24  Andreas Kling  <kling@webkit.org>
18389
18390         Reviewed by Tor Arne Vestbø.
18391
18392         [Qt] Use rad2deg() from WTF instead of rolling our own.
18393         https://bugs.webkit.org/show_bug.cgi?id=52993
18394
18395         * platform/graphics/qt/GraphicsContextQt.cpp:
18396         (WebCore::GraphicsContext::rotate):
18397         * platform/graphics/qt/PathQt.cpp:
18398         (WebCore::Path::addArc):
18399
18400 2011-01-24  Sergio Villar Senin  <svillar@igalia.com>
18401
18402         Reviewed by Martin Robinson.
18403
18404         [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
18405         https://bugs.webkit.org/show_bug.cgi?id=52885
18406
18407         No new tests as it does not change functionality. We will not wait for
18408         the the input stream to close to issue didFinishLoading to
18409         WebCore. We expect a subtle performance improvement with this
18410         patch when loading complex web pages, as we wouldn't have to wait
18411         for the stream to close (which involves creating a thread among
18412         other things).
18413
18414         * platform/network/soup/ResourceHandleSoup.cpp:
18415         (WebCore::closeCallback):
18416         (WebCore::readCallback):
18417
18418 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
18419
18420         Reviewed by Pavel Feldman.
18421
18422         Web Inspector: eliminate SourceView and ScriptView classes.
18423         https://bugs.webkit.org/show_bug.cgi?id=52896
18424
18425         SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
18426
18427         * WebCore.gypi:
18428         * WebCore.vcproj/WebCore.vcproj:
18429         * inspector/front-end/GoToLineDialog.js:
18430         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
18431         * inspector/front-end/ResourceView.js:
18432         (WebInspector.ResourceView.createResourceView):
18433         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
18434         (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
18435         * inspector/front-end/ResourcesPanel.js:
18436         (WebInspector.ResourcesPanel.prototype.show):
18437         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
18438         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
18439         * inspector/front-end/ScriptView.js: Removed.
18440         * inspector/front-end/ScriptsPanel.js:
18441         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
18442         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
18443         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
18444         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
18445         (WebInspector.ScriptsPanel.prototype._formatScript):
18446         (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
18447         * inspector/front-end/SourceFrame.js:
18448         (WebInspector.SourceFrame):
18449         (WebInspector.SourceFrame.prototype.show):
18450         (WebInspector.SourceFrame.prototype.hide):
18451         (WebInspector.SourceFrame.prototype.hasContent):
18452         (WebInspector.SourceFrame.prototype._createTextViewer):
18453         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
18454         (WebInspector.SourceFrame.prototype.performSearch):
18455         * inspector/front-end/SourceView.js: Removed.
18456         * inspector/front-end/WebKit.qrc:
18457         * inspector/front-end/inspector.html:
18458
18459 2011-01-24  Andras Becsi  <abecsi@webkit.org>
18460
18461         Reviewed by Csaba Osztrogonác.
18462
18463         [Qt] Move project files into Source
18464         https://bugs.webkit.org/show_bug.cgi?id=52891
18465
18466         No new tests needed.
18467
18468         * WebCore.pri:
18469         * WebCore.pro:
18470
18471 2011-01-24  Kent Tamura  <tkent@chromium.org>
18472
18473         Unreviewed, trivial fix.
18474
18475         Fix a Chromium-only assertion failure by r76491.
18476         https://bugs.webkit.org/show_bug.cgi?id=38982
18477
18478         Separate icon loading from the FileChooser constructor in order to avoid
18479         ref() before adoptRef().
18480
18481         * platform/FileChooser.cpp:
18482         (WebCore::FileChooser::FileChooser):
18483         (WebCore::FileChooser::initialize):
18484         (WebCore::FileChooser::create):
18485         * platform/FileChooser.h:
18486
18487 2011-01-24  MORITA Hajime  <morrita@google.com>
18488
18489         Reviewed by Kent Tamura.
18490
18491         TextControlInnerElement::m_shadowParent should be removed.
18492         https://bugs.webkit.org/show_bug.cgi?id=52998
18493
18494         No new tests. No behavioral change.
18495
18496         * rendering/TextControlInnerElements.cpp:
18497         (WebCore::TextControlInnerElement::TextControlInnerElement):
18498         * rendering/TextControlInnerElements.h:
18499
18500 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
18501
18502         Reviewed by Pavel Feldman.
18503
18504         REGRESSION (r72895): console.trace crashes
18505         https://bugs.webkit.org/show_bug.cgi?id=52981
18506
18507         - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
18508         non-null value.
18509         - Use PassRefPtr for objects whos ownership is passed to the inspector.
18510
18511         * GNUmakefile.am:
18512         * WebCore.gypi:
18513         * WebCore.pro:
18514         * WebCore.vcproj/WebCore.vcproj:
18515         * WebCore.xcodeproj/project.pbxproj:
18516         * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
18517         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
18518         (WebCore::InspectorInstrumentation::addMessageToConsole):
18519         (WebCore::InspectorInstrumentation::consoleCount):
18520         (WebCore::InspectorInstrumentation::startConsoleTiming):
18521         (WebCore::InspectorInstrumentation::stopConsoleTiming):
18522         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
18523         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
18524         (WebCore::InspectorInstrumentation::addProfile):
18525         (WebCore::InspectorInstrumentation::profilerEnabled):
18526         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
18527         * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
18528         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
18529         (WebCore::InspectorInstrumentation::didOpenDatabase):
18530         * inspector/InspectorInstrumentation.cpp:
18531         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
18532         (WebCore::InspectorInstrumentation::consoleCountImpl):
18533         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
18534         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
18535         (WebCore::InspectorInstrumentation::addProfileImpl):
18536         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
18537         * inspector/InspectorInstrumentation.h:
18538         * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
18539         (WebCore::Console::addMessage):
18540         (WebCore::Console::trace):
18541         (WebCore::Console::count):
18542         (WebCore::Console::markTimeline):
18543         (WebCore::Console::profileEnd):
18544         (WebCore::Console::timeEnd):
18545         (WebCore::Console::group):
18546         (WebCore::Console::groupCollapsed):
18547         * storage/Database.cpp:
18548         (WebCore::Database::openDatabase):
18549
18550 2010-01-24  Kent Tamura  <tkent@chromium.org>
18551
18552         Reviewed by Darin Fisher.
18553
18554         [Chromium] Support icon loading for <input type=file>
18555         https://bugs.webkit.org/show_bug.cgi?id=38982
18556
18557         An icon data in Chromium port is represented as WebCore::Image. We
18558         don't need OS-specific code anymore.
18559
18560         * WebCore.gypi:
18561         * platform/graphics/Icon.h:
18562         (WebCore::Icon::create): Add Chromium-specific factory.
18563         * platform/graphics/chromium/IconChromium.cpp: Added.
18564         * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
18565         * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
18566         * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
18567         * platform/graphics/chromium/PlatformIcon.h:
18568
18569 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
18570
18571         Reviewed by Pavel Feldman.
18572
18573         Web Inspector: move search functions from SourceView to SourceFrame.
18574         https://bugs.webkit.org/show_bug.cgi?id=52895
18575
18576         This is the last step before eliminating SourceView and ScriptView since
18577         this classes just delegate everything to SourceFrame.
18578
18579         * inspector/front-end/SourceFrame.js:
18580         (WebInspector.SourceFrame.prototype.set visible):
18581         (WebInspector.SourceFrame.prototype._clearLineHighlight):
18582         (WebInspector.SourceFrame.prototype._createTextViewer):
18583         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
18584         (WebInspector.SourceFrame.prototype.performSearch):
18585         (WebInspector.SourceFrame.prototype.searchCanceled):
18586         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
18587         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
18588         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
18589         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
18590         (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
18591         (WebInspector.SourceFrame.prototype.showingLastSearchResult):
18592         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
18593         * inspector/front-end/SourceView.js:
18594         (WebInspector.SourceView.prototype.hide):
18595         (WebInspector.SourceView.prototype.searchCanceled):
18596         (WebInspector.SourceView.prototype.performSearch):
18597         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
18598         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
18599         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
18600         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
18601         (WebInspector.SourceView.prototype.showingFirstSearchResult):
18602         (WebInspector.SourceView.prototype.showingLastSearchResult):
18603         (WebInspector.SourceView.prototype.clearMessages):
18604
18605 2011-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
18606
18607         Unreviewed, rolling out r76463.
18608         http://trac.webkit.org/changeset/76463
18609         https://bugs.webkit.org/show_bug.cgi?id=52993
18610
18611         It broke canvas/philip/tests/2d.path.stroke.skew.html
18612         (Requested by Ossy on #webkit).
18613
18614         * platform/graphics/qt/GraphicsContextQt.cpp:
18615         (WebCore::GraphicsContext::rotate):
18616         * platform/graphics/qt/PathQt.cpp:
18617         (WebCore::Path::addArc):
18618
18619 2011-01-23  Andrey Kosyakov  <caseq@chromium.org>
18620
18621         Reviewed by Pavel Feldman.
18622
18623         Web Inspector: summary bar is not resized properly with the rest of network panel
18624         https://bugs.webkit.org/show_bug.cgi?id=52881
18625
18626         * inspector/front-end/NetworkPanel.js:
18627         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
18628         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
18629         (WebInspector.NetworkPanel.prototype._toggleGridMode):
18630
18631 2011-01-19  MORITA Hajime  <morrita@google.com>
18632
18633         Reviewed by Ryosuke Niwa.
18634
18635         Space and tab characters "sent" by an input method give totally different results than typing them directly
18636         https://bugs.webkit.org/show_bug.cgi?id=5241
18637         
18638         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
18639           distinguish text input which is originated by composition.
18640         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
18641           range of string on text node, instead of surrounding part of that.
18642
18643         Test: editing/inserting/insert-composition-whitespace.html
18644
18645         * dom/TextEvent.h:
18646         (WebCore::TextEvent::isComposition):
18647         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
18648         * editing/CompositeEditCommand.cpp:
18649         (WebCore::containsOnlyWhitespace):
18650         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
18651         (WebCore::CompositeEditCommand::canRebalance):
18652         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
18653         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
18654         * editing/CompositeEditCommand.h:
18655         * editing/Editor.cpp:
18656         (WebCore::Editor::insertTextForConfirmedComposition): Added.
18657         (WebCore::Editor::insertTextWithoutSendingTextEvent):
18658         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
18659         (WebCore::Editor::setComposition):
18660         * editing/Editor.h:
18661         * editing/InsertTextCommand.cpp:
18662         (WebCore::InsertTextCommand::input):
18663         * editing/InsertTextCommand.h:
18664         * editing/TypingCommand.cpp:
18665         (WebCore::TypingCommand::TypingCommand):
18666         (WebCore::TypingCommand::insertText):
18667         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
18668         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
18669         (WebCore::TypingCommand::setCompositionType): Added.
18670         (WebCore::TypingCommand::create):
18671
18672 2011-01-23  Mark Rowe  <mrowe@apple.com>
18673
18674         Follow-up to r76477.
18675
18676         Fix the scripts that detect problematic code such as static initializers
18677         and destructors, weak vtables, inappropriate files in the framework wrappers,
18678         and public headers including private headers. These had all been broken
18679         since the projects were moved in to the Source directory as the paths to the
18680         scripts were not updated at that time.
18681
18682         Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
18683
18684         * WebCore.xcodeproj/project.pbxproj:
18685
18686 2011-01-23  Mark Rowe  <mrowe@apple.com>
18687
18688         Build fix after r76459.
18689
18690         Static member variables or globals of types that have constructors or destructors are bad as
18691         they generate static initializers and destructors. This is code that is run either at link time
18692         when the library is loaded in to memory or at application termination time. Both of these are
18693         terrible for performance and are thus outlawed in WebKit code.
18694
18695         The typical solution is to replace the static member or global with a function that allocates
18696         the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
18697         at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
18698         package, but sadly fails to work in this case due to the type containing multiple template
18699         parameters.
18700         
18701         * inspector/InspectorInstrumentation.cpp:
18702         (WebCore::InspectorInstrumentation::inspectorAgents):
18703         * inspector/InspectorInstrumentation.h:
18704         (WebCore::InspectorInstrumentation::bindInspectorAgent):
18705         (WebCore::InspectorInstrumentation::unbindInspectorAgent):
18706         (WebCore::InspectorInstrumentation::inspectorAgentForPage):
18707
18708 2011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>
18709
18710         Reviewed by Kenneth Russell.
18711
18712         [chromium] Add support for -webkit-mask properties to the
18713         accelerated compositing path.
18714         https://bugs.webkit.org/show_bug.cgi?id=49780
18715          
18716         Tests: Existing tests in LayoutTests/compositing/masks
18717
18718         * platform/graphics/chromium/ContentLayerChromium.cpp:
18719         (WebCore::ContentLayerChromium::draw):
18720         (WebCore::ContentLayerChromium::unreserveContentsTexture):
18721         (WebCore::ContentLayerChromium::bindContentsTexture):
18722         * platform/graphics/chromium/ContentLayerChromium.h:
18723         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
18724         (WebCore::GraphicsLayerChromium::setMaskLayer):
18725         * platform/graphics/chromium/GraphicsLayerChromium.h:
18726         * platform/graphics/chromium/LayerChromium.cpp:
18727         (WebCore::LayerChromium::LayerChromium):
18728         * platform/graphics/chromium/LayerChromium.h:
18729         (WebCore::LayerChromium::setMaskLayer):
18730         (WebCore::LayerChromium::maskLayer):
18731         (WebCore::LayerChromium::unreserveContentsTexture):
18732         (WebCore::LayerChromium::bindContentsTexture):
18733         * platform/graphics/chromium/LayerRendererChromium.cpp:
18734         (WebCore::LayerRendererChromium::updateLayersRecursive):
18735         * platform/graphics/chromium/LayerTexture.cpp:
18736         (WebCore::LayerTexture::bindTexture):
18737         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
18738         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
18739         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
18740         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
18741         (WebCore::RenderSurfaceChromium::draw):
18742         * platform/graphics/chromium/RenderSurfaceChromium.h:
18743         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
18744         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
18745         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
18746         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
18747         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
18748
18749 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
18750
18751         Reviewed by Darin Adler.
18752
18753         Use WTF::StringHasher in WebCore
18754         https://bugs.webkit.org/show_bug.cgi?id=52934
18755
18756         * loader/appcache/ApplicationCacheStorage.cpp:
18757         (WebCore::urlHostHash):
18758         * platform/LinkHash.cpp:
18759         (WebCore::visitedLinkHashInline):
18760         * platform/cf/BinaryPropertyList.cpp:
18761         (WebCore::IntegerArrayHash::hash):
18762         * platform/graphics/wx/FontPlatformDataWx.cpp:
18763         (WebCore::FontPlatformData::computeHash):
18764         * platform/network/ProtectionSpaceHash.h:
18765         (WebCore::ProtectionSpaceHash::hash):
18766
18767 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
18768
18769         Reviewed by David Kilzer.
18770
18771         Add an overload to base64Encode with String output
18772         https://bugs.webkit.org/show_bug.cgi?id=50122
18773
18774         This change removes duplicated code.
18775
18776         * inspector/InspectorResourceAgent.cpp:
18777         (WebCore::InspectorResourceAgent::resourceContentBase64):
18778         * page/DOMWindow.cpp:
18779         (WebCore::DOMWindow::btoa):
18780         * platform/graphics/skia/FontCustomPlatformData.cpp:
18781         (WebCore::createUniqueFontName):
18782         * platform/graphics/win/FontCustomPlatformData.cpp:
18783         (WebCore::createUniqueFontName):
18784         * platform/graphics/wince/FontCustomPlatformData.cpp:
18785         (WebCore::createUniqueFontName):
18786         * platform/network/cf/ResourceHandleCFNet.cpp:
18787         (WebCore::encodeBasicAuthorization):
18788         * platform/network/mac/ResourceHandleMac.mm:
18789         (WebCore::encodeBasicAuthorization):
18790         * platform/text/Base64.cpp:
18791         (WebCore::base64Encode):
18792         * platform/text/Base64.h:
18793         (WebCore::base64Encode):
18794         * platform/wince/KeygenWinCE.cpp:
18795         (WebCore::WebCore::signedPublicKeyAndChallengeString):
18796
18797 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
18798
18799         Reviewed by David Kilzer.
18800
18801         Add String::containsOnlyLatin1()
18802         https://bugs.webkit.org/show_bug.cgi?id=52979
18803
18804         Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
18805
18806         * page/DOMWindow.cpp:
18807         (WebCore::DOMWindow::btoa):
18808         (WebCore::DOMWindow::atob):
18809
18810 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
18811
18812         Reviewed by Andreas Kling.
18813
18814         [CMake] Add missing CodeGenerator dependencies
18815         https://bugs.webkit.org/show_bug.cgi?id=52976
18816
18817         * CMakeLists.txt:
18818
18819 2011-01-23  Yael Aharon  <yael.aharon@nokia.com>
18820
18821         Reviewed by Kenneth Rohde Christiansen.
18822
18823         [Qt][Symbian] Fix --minimal build
18824         https://bugs.webkit.org/show_bug.cgi?id=52839
18825
18826         Some of the plugins' functionality is reimplemented in
18827         Symbian specific files.
18828         Some of this functionality should be compiled in even if 
18829         the guard NETSCAPE_PLUGIN_API is turned off.
18830         This patch moves that functionality out of the
18831         NETSCAPE_PLUGIN_API guard.
18832
18833         Build fix so no new tests.
18834
18835         * WebCore.pro:
18836         * plugins/symbian/PluginPackageSymbian.cpp:
18837
18838 2011-01-23  Andreas Kling  <kling@webkit.org>
18839
18840         Reviewed by Tor Arne Vestbø.
18841
18842         [Qt] Use rad2deg() from WTF instead of rolling our own.
18843
18844         * platform/graphics/qt/GraphicsContextQt.cpp:
18845         (WebCore::GraphicsContext::rotate):
18846         * platform/graphics/qt/PathQt.cpp:
18847         (WebCore::Path::addArc):
18848
18849 2011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>
18850
18851         Reviewed by Andreas Kling.
18852
18853         Viewport meta: Always adjust device dimensions to the device pixel ratio.
18854
18855         * dom/ViewportArguments.cpp:
18856         (WebCore::computeViewportAttributes):
18857
18858 2011-01-23  Andreas Kling  <kling@webkit.org>
18859
18860         Reviewed by Kenneth Rohde Christiansen.
18861
18862         Don't scale absolute geometry specified by viewport meta tag.
18863
18864         * dom/ViewportArguments.cpp:
18865         (WebCore::computeViewportAttributes):
18866
18867 2011-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
18868
18869         Unreviewed build fix.
18870
18871         Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
18872
18873         Touch Inspector.idl.
18874
18875         * inspector/Inspector.idl:
18876
18877 2011-01-22  Ilya Tikhonovsky  <loislo@chromium.org>
18878
18879         Reviewed by Pavel Feldman.
18880
18881         Web Inspector: next step in splitting InspectorController.
18882
18883         Splitting InspectorController is a bit tricky process.
18884
18885         As a first step I'll do the next things:
18886         1) rename existing InspectorController to InspectorAgent;
18887         2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
18888         3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
18889
18890         The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
18891
18892         As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
18893
18894         https://bugs.webkit.org/show_bug.cgi?id=52955
18895
18896         * CMakeLists.txt:
18897         * GNUmakefile.am:
18898         * WebCore.exp.in:
18899         * WebCore.gypi:
18900         * WebCore.pro:
18901         * WebCore.vcproj/WebCore.vcproj:
18902         * WebCore.xcodeproj/project.pbxproj:
18903         * bindings/js/JSInjectedScriptHostCustom.cpp:
18904         (WebCore::JSInjectedScriptHost::nodeForId):
18905         (WebCore::JSInjectedScriptHost::selectDOMStorage):
18906         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
18907         (WebCore::V8InjectedScriptHost::nodeForIdCallback):
18908         * inspector/CodeGeneratorInspector.pm:
18909         * inspector/InjectedScriptHost.cpp:
18910         (WebCore::InjectedScriptHost::InjectedScriptHost):
18911         (WebCore::InjectedScriptHost::clearConsoleMessages):
18912         (WebCore::InjectedScriptHost::databaseForId):
18913         (WebCore::InjectedScriptHost::selectDatabase):
18914         (WebCore::InjectedScriptHost::selectDOMStorage):
18915         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
18916         (WebCore::InjectedScriptHost::inspectorDOMAgent):
18917         (WebCore::InjectedScriptHost::frontend):
18918         (WebCore::InjectedScriptHost::didCreateWorker):
18919         (WebCore::InjectedScriptHost::didDestroyWorker):
18920         * inspector/InjectedScriptHost.h:
18921         (WebCore::InjectedScriptHost::create):
18922         (WebCore::InjectedScriptHost::inspectorAgent):
18923         (WebCore::InjectedScriptHost::disconnectController):
18924         * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
18925         (WebCore::InspectorAgent::InspectorAgent):
18926         (WebCore::InspectorAgent::~InspectorAgent):
18927         (WebCore::InspectorAgent::inspectedPageDestroyed):
18928         (WebCore::InspectorAgent::enabled):
18929         (WebCore::InspectorAgent::inspectorStartsAttached):
18930         (WebCore::InspectorAgent::setInspectorStartsAttached):
18931         (WebCore::InspectorAgent::setInspectorAttachedHeight):
18932         (WebCore::InspectorAgent::inspectorAttachedHeight):
18933         (WebCore::InspectorAgent::searchingForNodeInPage):
18934         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
18935         (WebCore::InspectorAgent::inspect):
18936         (WebCore::InspectorAgent::focusNode):
18937         (WebCore::InspectorAgent::highlight):
18938         (WebCore::InspectorAgent::highlightDOMNode):
18939         (WebCore::InspectorAgent::highlightFrame):
18940         (WebCore::InspectorAgent::hideHighlight):
18941         (WebCore::InspectorAgent::mouseDidMoveOverElement):
18942         (WebCore::InspectorAgent::handleMousePress):
18943         (WebCore::InspectorAgent::setInspectorFrontendClient):
18944         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
18945         (WebCore::InspectorAgent::setSearchingForNode):
18946         (WebCore::InspectorAgent::connectFrontend):
18947         (WebCore::InspectorAgent::show):
18948         (WebCore::InspectorAgent::showPanel):
18949         (WebCore::InspectorAgent::close):
18950         (WebCore::InspectorAgent::disconnectFrontend):
18951         (WebCore::InspectorAgent::resourceAgent):
18952         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
18953         (WebCore::InspectorAgent::populateScriptObjects):
18954         (WebCore::InspectorAgent::pushDataCollectedOffline):
18955         (WebCore::InspectorAgent::restoreDebugger):
18956         (WebCore::InspectorAgent::restoreProfiler):
18957         (WebCore::InspectorAgent::unbindAllResources):
18958         (WebCore::InspectorAgent::didCommitLoad):
18959         (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
18960         (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
18961         (WebCore::InspectorAgent::isMainResourceLoader):
18962         (WebCore::InspectorAgent::willSendRequest):
18963         (WebCore::InspectorAgent::ensureSettingsLoaded):
18964         (WebCore::InspectorAgent::startTimelineProfiler):
18965         (WebCore::InspectorAgent::stopTimelineProfiler):
18966         (WebCore::PostWorkerNotificationToFrontendTask::create):
18967         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
18968         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
18969         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
18970         (WebCore::InspectorAgent::didCreateWorker):
18971         (WebCore::InspectorAgent::didDestroyWorker):
18972         (WebCore::InspectorAgent::didOpenDatabase):
18973         (WebCore::InspectorAgent::getCookies):
18974         (WebCore::InspectorAgent::buildArrayForCookies):
18975         (WebCore::InspectorAgent::buildObjectForCookie):
18976         (WebCore::InspectorAgent::deleteCookie):
18977         (WebCore::InspectorAgent::didUseDOMStorage):
18978         (WebCore::InspectorAgent::didCreateWebSocket):
18979         (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
18980         (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
18981         (WebCore::InspectorAgent::didCloseWebSocket):
18982         (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
18983         (WebCore::InspectorAgent::startUserInitiatedProfiling):
18984         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
18985         (WebCore::InspectorAgent::profilerEnabled):
18986         (WebCore::InspectorAgent::enableProfiler):
18987         (WebCore::InspectorAgent::disableProfiler):
18988         (WebCore::InspectorAgent::showAndEnableDebugger):
18989         (WebCore::InspectorAgent::enableDebugger):
18990         (WebCore::InspectorAgent::disableDebugger):
18991         (WebCore::InspectorAgent::resume):
18992         (WebCore::InspectorAgent::setAllBrowserBreakpoints):
18993         (WebCore::InspectorAgent::evaluateForTestInFrontend):
18994         (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
18995         (WebCore::quadToPath):
18996         (WebCore::drawOutlinedQuad):
18997         (WebCore::drawOutlinedQuadWithClip):
18998         (WebCore::drawHighlightForBox):
18999         (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
19000         (WebCore::convertFromFrameToMainFrame):
19001         (WebCore::frameToMainFrameOffset):
19002         (WebCore::InspectorAgent::drawNodeHighlight):
19003         (WebCore::InspectorAgent::drawElementTitle):
19004         (WebCore::InspectorAgent::openInInspectedWindow):
19005         (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
19006         (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
19007         (WebCore::InspectorAgent::setInspectorExtensionAPI):
19008         (WebCore::InspectorAgent::inspectedURL):
19009         (WebCore::InspectorAgent::reloadPage):
19010         (WebCore::InspectorAgent::setExtraHeaders):
19011         * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
19012         (WebCore::InspectorAgent::inspectorBackendDispatcher):
19013         (WebCore::InspectorAgent::inspectorClient):
19014         (WebCore::InspectorAgent::injectedScriptHost):
19015         (WebCore::InspectorAgent::inspectedPage):
19016         (WebCore::InspectorAgent::hideDOMNodeHighlight):
19017         (WebCore::InspectorAgent::hideFrameHighlight):
19018         (WebCore::InspectorAgent::frontend):
19019         (WebCore::InspectorAgent::inspectorController):
19020         (WebCore::InspectorAgent::inspectorAgent):
19021         (WebCore::InspectorAgent::consoleAgent):
19022         (WebCore::InspectorAgent::cssAgent):
19023         (WebCore::InspectorAgent::domAgent):
19024         (WebCore::InspectorAgent::injectedScriptAgent):
19025         (WebCore::InspectorAgent::runtimeAgent):
19026         (WebCore::InspectorAgent::timelineAgent):
19027         (WebCore::InspectorAgent::databaseAgent):
19028         (WebCore::InspectorAgent::domStorageAgent):
19029         (WebCore::InspectorAgent::fileSystemAgent):
19030         (WebCore::InspectorAgent::browserDebuggerAgent):
19031         (WebCore::InspectorAgent::debuggerAgent):
19032         (WebCore::InspectorAgent::profilerAgent):
19033         (WebCore::InspectorAgent::applicationCacheAgent):
19034         (WebCore::InspectorAgent::hasInspectorFrontendClient):
19035         (WebCore::InspectorAgent::hasFrontend):
19036         (WebCore::InspectorAgent::startProfiling):
19037         (WebCore::InspectorAgent::stopProfiling):
19038         (WebCore::InspectorAgent::debuggerEnabled):
19039         (WebCore::InspectorAgent::state):
19040         (WebCore::InspectorAgent::settings):
19041         * inspector/InspectorApplicationCacheAgent.cpp:
19042         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
19043         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
19044         * inspector/InspectorApplicationCacheAgent.h:
19045         * inspector/InspectorBrowserDebuggerAgent.cpp:
19046         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
19047         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
19048         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
19049         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
19050         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
19051         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
19052         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
19053         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
19054         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
19055         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
19056         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
19057         * inspector/InspectorBrowserDebuggerAgent.h:
19058         (WebCore::InspectorBrowserDebuggerAgent::create):
19059         * inspector/InspectorConsoleAgent.cpp:
19060         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
19061         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
19062         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
19063         (WebCore::InspectorConsoleAgent::addMessageToConsole):
19064         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
19065         (WebCore::InspectorConsoleAgent::didReceiveResponse):
19066         (WebCore::InspectorConsoleAgent::didFailLoading):
19067         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
19068         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
19069         (WebCore::InspectorConsoleAgent::addConsoleMessage):
19070         * inspector/InspectorConsoleAgent.h:
19071         * inspector/InspectorController.cpp:
19072         (WebCore::InspectorController::InspectorController):
19073         * inspector/InspectorController.h:
19074         * inspector/InspectorDatabaseAgent.cpp:
19075         * inspector/InspectorDebuggerAgent.cpp:
19076         (WebCore::InspectorDebuggerAgent::create):
19077         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
19078         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
19079         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
19080         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
19081         (WebCore::InspectorDebuggerAgent::currentCallFrames):
19082         * inspector/InspectorDebuggerAgent.h:
19083         * inspector/InspectorFileSystemAgent.cpp:
19084         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
19085         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
19086         (WebCore::InspectorFileSystemAgent::stop):
19087         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
19088         (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
19089         (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
19090         * inspector/InspectorFileSystemAgent.h:
19091         (WebCore::InspectorFileSystemAgent::create):
19092         * inspector/InspectorFrontendHost.cpp:
19093         (WebCore::InspectorFrontendHost::setExtensionAPI):
19094         * inspector/InspectorProfilerAgent.cpp:
19095         (WebCore::InspectorProfilerAgent::create):
19096         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
19097         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
19098         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
19099         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
19100         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
19101         * inspector/InspectorProfilerAgent.h:
19102
19103 2011-01-22  Chris Rogers  <crogers@google.com>
19104
19105         Rubber-stamped by Anders Carlsson.
19106
19107         Fix FFTFrameStub to compile properly
19108         https://bugs.webkit.org/show_bug.cgi?id=52969
19109
19110         No new tests since this is a build fix.
19111
19112         * platform/audio/FFTFrameStub.cpp:
19113         (WebCore::FFTFrame::FFTFrame):
19114
19115 2011-01-22  Andrei Popescu  <andreip@google.com>
19116
19117         Reviewed by Jeremy Orlow.
19118
19119         IndexedDB corrupts data on disk
19120         https://bugs.webkit.org/show_bug.cgi?id=52890
19121
19122         We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
19123         Test: storage/indexeddb/data-corruption.html
19124
19125         * platform/sql/SQLiteStatement.cpp:
19126         (WebCore::SQLiteStatement::bindBlob):
19127         (WebCore::SQLiteStatement::getColumnBlobAsString):
19128         (WebCore::SQLiteStatement::getColumnBlobAsVector):
19129         * platform/sql/SQLiteStatement.h:
19130         * storage/IDBCursorBackendImpl.cpp:
19131         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
19132         * storage/IDBFactoryBackendImpl.cpp:
19133         (WebCore::runCommands):
19134         (WebCore::createTables):
19135         (WebCore::createMetaDataTable):
19136         (WebCore::migrateDatabase):
19137         * storage/IDBObjectStoreBackendImpl.cpp:
19138         (WebCore::IDBObjectStoreBackendImpl::getInternal):
19139         (WebCore::putObjectStoreData):
19140
19141 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
19142
19143         Not reviewed. Fix WinCE build.
19144
19145         * platform/graphics/wince/GraphicsContextWinCE.cpp:
19146         (WebCore::GraphicsContext::drawText):
19147         * rendering/RenderThemeWinCE.cpp:
19148         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
19149
19150 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
19151
19152         Reviewed by Dirk Schulze.
19153
19154         REGRESSION: Vertical line metrics incorrect
19155         https://bugs.webkit.org/show_bug.cgi?id=52960
19156
19157         SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
19158         That didn't influence the lineSpacing so far, but does now, causing regressions.
19159
19160         Restore old line spacing behaviour to fix the regression.
19161         Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
19162
19163         * platform/graphics/FontMetrics.h:
19164         (WebCore::FontMetrics::FontMetrics):
19165         (WebCore::FontMetrics::floatLineSpacing):
19166         (WebCore::FontMetrics::setLineSpacing):
19167         (WebCore::FontMetrics::lineSpacing):
19168         (WebCore::FontMetrics::reset):
19169         * platform/graphics/SimpleFontData.cpp:
19170         (WebCore::SimpleFontData::SimpleFontData):
19171         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
19172         (WebCore::SimpleFontData::platformInit):
19173         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
19174         (WebCore::SimpleFontData::platformInit):
19175         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
19176         (WebCore::SimpleFontData::platformInit):
19177         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
19178         (WebCore::SimpleFontData::platformInit):
19179         * platform/graphics/mac/SimpleFontDataMac.mm:
19180         (WebCore::SimpleFontData::platformInit):
19181         * platform/graphics/pango/SimpleFontDataPango.cpp:
19182         (WebCore::SimpleFontData::platformInit):
19183         * platform/graphics/qt/SimpleFontDataQt.cpp:
19184         (WebCore::SimpleFontData::platformInit):
19185         * platform/graphics/win/SimpleFontDataCGWin.cpp:
19186         (WebCore::SimpleFontData::platformInit):
19187         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
19188         (WebCore::SimpleFontData::platformInit):
19189         * platform/graphics/win/SimpleFontDataWin.cpp:
19190         (WebCore::SimpleFontData::initGDIFont):
19191         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
19192         (WebCore::SimpleFontData::platformInit):
19193         * platform/graphics/wx/SimpleFontDataWx.cpp:
19194         (WebCore::SimpleFontData::platformInit):
19195
19196 2011-01-22  Andreas Kling  <kling@webkit.org>
19197
19198         Reviewed by Kenneth Rohde Christiansen.
19199
19200         [Qt] fast/backgrounds/svg-as-mask.html fails
19201         https://bugs.webkit.org/show_bug.cgi?id=52906
19202
19203         Transparency layers should start out with in SourceOver mode with
19204         alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
19205
19206         * platform/graphics/qt/TransparencyLayer.h:
19207         (WebCore::TransparencyLayer::TransparencyLayer):
19208
19209 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
19210
19211         Not reviewed.
19212
19213         Introduce FontMetrics abstraction
19214         https://bugs.webkit.org/show_bug.cgi?id=51456
19215
19216         Fix Chromium/Win build.
19217
19218         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
19219         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
19220
19221 2011-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
19222
19223         Reviewed by Dirk Schulze.
19224
19225         Introduce FontMetrics abstraction
19226         https://bugs.webkit.org/show_bug.cgi?id=51456
19227
19228         Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
19229         having to define them in both Font & SimpleFontData. Changed to store floating point values
19230         as default, in order to get accurate information for small sized fonts. All these methods
19231         now have floating-point and integer versions. Whenever an integer variant of these functions
19232         is called, lroundf() is used to round the value.
19233
19234         This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
19235         as fixing rounding issues when using SVG Fonts.
19236         
19237         Shouldn't affect existing tests.
19238
19239         * GNUmakefile.am: Add FontMetrics.h to build. 
19240         * WebCore.gypi: Ditto.
19241         * WebCore.pro: Ditto.
19242         * WebCore.vcproj/WebCore.vcproj: Ditto.
19243         * WebCore.xcodeproj/project.pbxproj: Ditto.
19244         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19245         (baselinePositionForAccessibilityRenderObject):
19246         * css/CSSPrimitiveValue.cpp:         
19247         (WebCore::CSSPrimitiveValue::computeLengthDouble):
19248         * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
19249         (WebCore::CanvasRenderingContext2D::drawTextInternal):
19250         * inspector/InspectorController.cpp: Ditto.
19251         (WebCore::InspectorController::drawElementTitle):
19252         * platform/chromium/PopupMenuChromium.cpp: Ditto.
19253         (WebCore::PopupListBox::paintRow):
19254         (WebCore::PopupListBox::getRowHeight):
19255         * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
19256         (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
19257         * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
19258         (WebCore::Font::emphasisMarkAscent):
19259         (WebCore::Font::emphasisMarkDescent):
19260         (WebCore::Font::emphasisMarkHeight):
19261         (WebCore::Font::floatWidthForSimpleText):
19262         * platform/graphics/FontMetrics.h: Added.
19263         (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
19264         (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
19265         (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
19266         (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
19267         (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
19268         (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
19269         (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
19270         (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
19271         (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
19272         (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
19273         (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
19274         (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
19275         (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
19276         (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
19277         (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
19278         (WebCore::FontMetrics::descent): Ditto (for descent).
19279         (WebCore::FontMetrics::height): Returns ascent() + descent().
19280         (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
19281         (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
19282         (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
19283         * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
19284         (WebCore::SimpleFontData::SimpleFontData):
19285         (WebCore::SimpleFontData::initCharWidths):
19286         * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
19287         (WebCore::SimpleFontData::fontMetrics):
19288         (WebCore::SimpleFontData::avgCharWidth):
19289         * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
19290         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
19291         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
19292         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
19293         (WebCore::Font::drawComplexText):
19294         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
19295         (WebCore::SimpleFontData::platformInit):
19296         * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
19297         (WebCore::SimpleFontData::platformInit):
19298         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
19299         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
19300         (WebCore::UniscribeHelperTextRun::nextWinFontData):
19301         * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
19302         (WebCore::SimpleFontData::platformInit):
19303         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
19304         (WebCore::SimpleFontData::platformInit):
19305         * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
19306         (WebCore::Font::floatWidthForComplexText):
19307         * platform/graphics/mac/FontMac.mm: Ditto.
19308         (WebCore::showGlyphsWithAdvances):
19309         * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
19310         (WebCore::SimpleFontData::platformInit):
19311         (WebCore::SimpleFontData::platformCharWidthInit):
19312         * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
19313         (WebCore::SimpleFontData::platformInit):
19314         * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
19315         (WebCore::SimpleFontData::platformInit):
19316         * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
19317         (WebCore::drawGDIGlyphs):
19318         * platform/graphics/win/FontWin.cpp: Ditto.
19319         (WebCore::Font::floatWidthForComplexText):
19320         * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
19321         (WebCore::SimpleFontData::platformInit):
19322         (WebCore::SimpleFontData::platformBoundsForGlyph):
19323         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
19324         (WebCore::SimpleFontData::platformInit):
19325         * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
19326         (WebCore::SimpleFontData::initGDIFont):
19327         * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
19328         (WebCore::GraphicsContext::drawText):
19329         * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
19330         (WebCore::SimpleFontData::platformInit):
19331         * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
19332         (WebCore::SimpleFontData::platformInit):
19333         * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19334         (WebCore::PopupMenuWin::calculatePositionAndSize): 
19335         (WebCore::PopupMenuWin::paint):
19336         * rendering/EllipsisBox.cpp: Ditto.
19337         (WebCore::EllipsisBox::paint):
19338         (WebCore::EllipsisBox::nodeAtPoint):
19339         * rendering/InlineBox.cpp: Ditto.
19340         (WebCore::InlineBox::logicalHeight):
19341         * rendering/InlineFlowBox.cpp: Ditto.
19342         (WebCore::verticalPositionForBox):
19343         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
19344         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
19345         * rendering/InlineTextBox.cpp: Ditto.
19346         (WebCore::InlineTextBox::paint):
19347         (WebCore::InlineTextBox::paintDecoration):
19348         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
19349         (WebCore::InlineTextBox::paintCompositionUnderline):
19350         * rendering/RenderBlock.cpp: Ditto.
19351         (WebCore::RenderBlock::baselinePosition):
19352         (WebCore::RenderBlock::firstLineBoxBaseline):
19353         (WebCore::RenderBlock::lastLineBoxBaseline):
19354         * rendering/RenderBox.cpp: Ditto.
19355         (WebCore::RenderBox::localCaretRect):
19356         * rendering/RenderEmbeddedObject.cpp: Ditto.
19357         (WebCore::RenderEmbeddedObject::paintReplaced):
19358         * rendering/RenderImage.cpp: Ditto.
19359         (WebCore::RenderImage::setImageSizeForAltText):
19360         (WebCore::RenderImage::paintReplaced):
19361         * rendering/RenderInline.cpp: Ditto.
19362         (WebCore::RenderInline::baselinePosition):
19363         * rendering/RenderListBox.cpp: Ditto.
19364         (WebCore::RenderListBox::paintItemForeground):
19365         (WebCore::RenderListBox::itemHeight):
19366         * rendering/RenderListMarker.cpp: Ditto.
19367         (WebCore::RenderListMarker::paint):
19368         (WebCore::RenderListMarker::layout):
19369         (WebCore::RenderListMarker::computePreferredLogicalWidths):
19370         (WebCore::RenderListMarker::updateMargins):
19371         (WebCore::RenderListMarker::getRelativeMarkerRect):
19372         * rendering/RenderTextControl.cpp: Ditto.
19373         (WebCore::RenderTextControl::paintPlaceholder):
19374         * rendering/RenderTextControlSingleLine.cpp: Ditto.
19375         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
19376         * rendering/RenderThemeWin.cpp: Ditto.
19377         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
19378         * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
19379         (WebCore::RenderMathMLFraction::baselinePosition):
19380         * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
19381         (WebCore::InheritedFlags::fontMetrics):
19382         (WebCore::InheritedFlags::computedLineHeight):
19383         * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19384         (WebCore::RenderSVGInlineText::positionForPoint):
19385         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
19386         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
19387         (WebCore::positionOffsetForDecoration):
19388         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
19389         (WebCore::SVGInlineTextBox::paintTextWithShadows):
19390         (WebCore::SVGInlineTextBox::calculateBoundaries):
19391         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
19392         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
19393         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
19394         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
19395         * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
19396         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
19397         * rendering/svg/SVGTextMetrics.cpp: Ditto.
19398         (WebCore::SVGTextMetrics::SVGTextMetrics):
19399         * rendering/svg/SVGTextQuery.cpp: Ditto.
19400         (WebCore::calculateGlyphBoundaries):
19401         * svg/SVGFontFaceElement.cpp: 
19402         (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
19403         * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
19404         (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
19405         (WebCore::SVGLength::convertValueFromEXSToUserUnits):
19406
19407 2011-01-22  Ryosuke Niwa  <rniwa@webkit.org>
19408
19409         Reviewed by Eric Seidel.
19410
19411         Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
19412         https://bugs.webkit.org/show_bug.cgi?id=52759
19413
19414         Stopped instantiating legacy editing positions in the following files.
19415
19416         * editing/VisibleSelection.cpp:
19417         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
19418         * editing/visible_units.cpp:
19419         (WebCore::previousBoundary):
19420         (WebCore::previousLinePosition):
19421         (WebCore::nextLinePosition):
19422         (WebCore::startOfBlock):
19423         * page/Frame.cpp:
19424         (WebCore::Frame::visiblePositionForPoint):
19425         * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
19426         * rendering/RenderBlock.h: Ditto.
19427
19428 2011-01-22  Adrienne Walker  <enne@google.com>
19429
19430         Reviewed by James Robinson.
19431
19432         [chromium] Fix compositor repaints for offscreen fixed elements
19433         https://bugs.webkit.org/show_bug.cgi?id=52681
19434
19435         The fast path scrolling was clipping offscreen invalidations.
19436         Additionally, the compositor was ignoring all invalidations that were
19437         entirely out of the content rect.
19438
19439         Test: compositing/ to verify this caused no regressions.
19440         Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.
19441
19442         * page/FrameView.cpp:
19443         (WebCore::FrameView::scrollContentsFastPath):
19444         * platform/graphics/chromium/LayerRendererChromium.cpp:
19445         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
19446
19447 2011-01-22  Alexey Proskuryakov  <ap@apple.com>
19448
19449         Reviewed by Dan Bernstein.
19450
19451         https://bugs.webkit.org/show_bug.cgi?id=52951
19452         WebKit2 generates a bad PDF for cross process messaging
19453
19454         * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
19455         draw inside the requested rectangle.
19456
19457 2011-01-21  Yury Semikhatsky  <yurys@chromium.org>
19458
19459         Reviewed by Adam Barth.
19460
19461         Regression: new window.onerror() implementation leaks cross-origin Javascript errors
19462         https://bugs.webkit.org/show_bug.cgi?id=52903
19463
19464         In case of an exception in a script from different domain only generic message
19465         will be passed to window.onerror hander.
19466
19467         Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
19468                http/tests/security/cross-origin-script-window-onerror.html
19469
19470         * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
19471         cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
19472         of redirects to different domains.
19473         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
19474         * bindings/v8/ScriptSourceCode.h: same for v8.
19475         (WebCore::ScriptSourceCode::url):
19476         * dom/ScriptExecutionContext.cpp:
19477         (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
19478         access provide concise "Script error." message without any information about the error source. This is
19479         what Firefox does in this case.
19480
19481 2011-01-21  Andreas Kling  <kling@webkit.org>
19482
19483         Reviewed by Kenneth Rohde Christiansen.
19484
19485         [Qt] Always set composition mode through GraphicsContext
19486         https://bugs.webkit.org/show_bug.cgi?id=52940
19487
19488         GraphicsContext tracks the current composition mode so we should
19489         never call through to the QPainter directly.
19490
19491         * platform/graphics/GraphicsContext.h:
19492         * platform/graphics/qt/GraphicsContextQt.cpp:
19493         (WebCore::toQtCompositionMode): Changed this method to a static inline
19494         since it's only used by GraphicsContextQt.cpp now.
19495
19496         * platform/graphics/qt/ImageQt.cpp:
19497         (WebCore::Image::drawPattern):
19498         (WebCore::BitmapImage::draw):
19499
19500 2011-01-21  Dan Bernstein  <mitz@apple.com>
19501
19502         Reviewed by Adele Peterson.
19503
19504         Inconsistent handling of no-break space in justification logic
19505         https://bugs.webkit.org/show_bug.cgi?id=52938
19506
19507         Test: fast/text/justify-nbsp.html
19508
19509         * rendering/RenderBlockLineLayout.cpp:
19510         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
19511         space when computing the distribution of space between text boxes on the line.
19512
19513 2011-01-21  Charlie Reis  <creis@chromium.org>
19514
19515         Reviewed by Darin Fisher.
19516
19517         Crash in WebCore::HistoryController::itemsAreClones
19518         https://bugs.webkit.org/show_bug.cgi?id=52819
19519
19520         Adds sanity checks to help diagnose the crash.
19521
19522         * loader/HistoryController.cpp:
19523
19524 2011-01-21  Andreas Kling  <kling@webkit.org>
19525
19526         Reviewed by Ariya Hidayat.
19527
19528         [Qt] Let QPainter decide whether a composition mode is supported or not
19529
19530         Lacking Porter-Duff support in the paint engine shouldn't exclude the
19531         Source and Source-Over modes (and has nothing to do with the blend
19532         and raster-op modes.)
19533
19534         Delegate this decision to QPainter instead (this will cause warnings
19535         if an unsupported mode is used, but that's a good thing.)
19536
19537         * platform/graphics/qt/GraphicsContextQt.cpp:
19538         (WebCore::GraphicsContext::clearRect):
19539         (WebCore::GraphicsContext::setPlatformCompositeOperation):
19540         * platform/graphics/qt/TransparencyLayer.h:
19541         (WebCore::TransparencyLayer::TransparencyLayer):
19542
19543 2011-01-21  Chris Rogers  <crogers@google.com>
19544
19545         Reviewed by Kenneth Russell.
19546
19547         fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
19548         https://bugs.webkit.org/show_bug.cgi?id=52933
19549
19550         No new tests since this just fixes the build
19551
19552         * webaudio/RealtimeAnalyser.h:
19553
19554 2011-01-21  Chris Rogers  <crogers@google.com>
19555
19556         Reviewed by Kenneth Russell.
19557
19558         Fix audio build: change ChromiumBridge to PlatformBridge
19559         https://bugs.webkit.org/show_bug.cgi?id=52928
19560
19561         No new tests since audio API is not yet implemented.
19562
19563         * platform/audio/chromium/AudioBusChromium.cpp:
19564         (WebCore::AudioBus::loadPlatformResource):
19565
19566 2011-01-21  Chris Rogers  <crogers@google.com>
19567
19568         Reviewed by Kenneth Russell.
19569
19570         Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation
19571         https://bugs.webkit.org/show_bug.cgi?id=52922
19572
19573         No new tests since audio API is not yet implemented.
19574
19575         * WebCore.gypi:
19576         * platform/audio/FFTFrameStub.cpp: Added.
19577         (WebCore::FFTFrame::FFTFrame):
19578         (WebCore::FFTFrame::~FFTFrame):
19579         (WebCore::FFTFrame::multiply):
19580         (WebCore::FFTFrame::doFFT):
19581         (WebCore::FFTFrame::doInverseFFT):
19582         (WebCore::FFTFrame::cleanup):
19583         (WebCore::FFTFrame::realData):
19584         (WebCore::FFTFrame::imagData):
19585
19586 2011-01-21  Tony Chang  <tony@chromium.org>
19587
19588         Reviewed by Sam Weinig.
19589
19590         reduce number of FrameLoaderClient::didChangeScrollOffset calls
19591         https://bugs.webkit.org/show_bug.cgi?id=52915
19592
19593         Only notify of changes in scroll offset when there actually is a change.
19594         This regressed in r76291.
19595
19596         Covered by Chromium browser_tests.
19597
19598         * platform/ScrollAnimator.cpp:
19599         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
19600
19601 2011-01-21  Pavel Feldman  <pfeldman@chromium.org>
19602
19603         Reviewed by Yury Semikhatsky.
19604
19605         Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
19606         https://bugs.webkit.org/show_bug.cgi?id=52900
19607
19608         * inspector/InspectorController.cpp:
19609         (WebCore::InspectorController::~InspectorController):
19610         (WebCore::InspectorController::inspectedPageDestroyed):
19611
19612 2011-01-21  Chris Rogers  <crogers@google.com>
19613
19614         Reviewed by Darin Fisher.
19615
19616         Add run-time enable support for the web audio API
19617         https://bugs.webkit.org/show_bug.cgi?id=52741
19618
19619         No new tests since audio API is not yet implemented.
19620
19621         * WebCore.exp.in:
19622         * bindings/generic/RuntimeEnabledFeatures.cpp:
19623         * bindings/generic/RuntimeEnabledFeatures.h:
19624         (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled):
19625         (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled):
19626         * page/DOMWindow.idl:
19627         * page/Settings.cpp:
19628         (WebCore::Settings::Settings):
19629         (WebCore::Settings::setWebAudioEnabled):
19630         * page/Settings.h:
19631         (WebCore::Settings::webAudioEnabled):
19632
19633 2011-01-21  Martin Robinson  <mrobinson@igalia.com>
19634
19635         Reviewed by Xan Lopez.
19636
19637         [GTK] Menulist text often collides with separator
19638         https://bugs.webkit.org/show_bug.cgi?id=51155
19639
19640         Move menulist rendering to RenderThemeGtk and correct padding code
19641         for separators in menulists.
19642
19643         * platform/gtk/RenderThemeGtk.cpp:
19644         (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members.
19645         (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added.
19646         (WebCore::RenderThemeGtk::comboBoxArrowSize): Added.
19647         (WebCore::getButtonInnerBorder): Added.
19648         (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using
19649         Mozilla code.
19650         (WebCore::RenderThemeGtk::paintMenuList): Ditto.
19651         (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer
19652         out to handle child widgets of comboboxes.
19653         (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget.
19654         (WebCore::RenderThemeGtk::gtkContainer): Added.
19655         (WebCore::getGtkComboBoxButton): Added.
19656         (WebCore::getGtkComboBoxPieces): Added.
19657         (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here.
19658         (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added.
19659         (WebCore::RenderThemeGtk::gtkComboBoxButton): Added.
19660         (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added.
19661         (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added.
19662         * platform/gtk/RenderThemeGtk.h: Added new members and methods.
19663         * platform/gtk/WidgetRenderingContext.h: Added new members and methods.
19664         * platform/gtk/WidgetRenderingContextGtk2.cpp:
19665         (WebCore::WidgetRenderingContext::gtkPaintArrow):
19666         (WebCore::WidgetRenderingContext::gtkPaintVLine):
19667         * platform/gtk/WidgetRenderingContextGtk3.cpp:
19668         (WebCore::WidgetRenderingContext::gtkPaintArrow):
19669         (WebCore::WidgetRenderingContext::gtkPaintVLine):
19670         * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons.
19671         (moz_gtk_init):
19672         (moz_gtk_get_widget_border):
19673         (moz_gtk_widget_paint):
19674         * platform/gtk/gtk3drawing.c:
19675         (moz_gtk_init):
19676         (moz_gtk_get_widget_border):
19677         (moz_gtk_widget_paint):
19678         * platform/gtk/gtkdrawing.h:
19679
19680 2011-01-21  Sam Weinig  <sam@webkit.org>
19681
19682         Fix chromium mac build.
19683
19684         * platform/chromium/ScrollbarThemeChromiumMac.mm:
19685         (WebCore::scrollbarStateToThemeState):
19686         (WebCore::ScrollbarThemeChromiumMac::paint):
19687
19688 2011-01-21  Sam Weinig  <sam@webkit.org>
19689
19690         Fix the windows build.
19691
19692         * platform/ScrollbarThemeComposite.cpp:
19693         (WebCore::ScrollbarThemeComposite::paint):
19694
19695 2011-01-21  Chris Rogers  <crogers@google.com>
19696
19697         Reviewed by Kenneth Russell.
19698
19699         Add chromium bundled audio spatialization resources to WebAudio.grd
19700         https://bugs.webkit.org/show_bug.cgi?id=52651
19701
19702         No new tests since audio API is not yet implemented.
19703
19704         * WebCore.gyp/WebCore.gyp:
19705         * platform/audio/chromium/AudioBusChromium.cpp:
19706         (WebCore::AudioBus::loadPlatformResource):
19707
19708 2011-01-21  Xiyuan Xia  <xiyuan@chromium.org>
19709
19710         Reviewed by Tony Chang.
19711
19712         Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
19713         https://bugs.webkit.org/show_bug.cgi?id=52826
19714
19715         * platform/chromium/ChromiumBridge.h:
19716         * rendering/RenderThemeChromiumLinux.cpp:
19717         (WebCore::getWebThemeState):
19718         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
19719         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
19720         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
19721         (WebCore::RenderThemeChromiumLinux::paintRadio):
19722         (WebCore::RenderThemeChromiumLinux::setRadioSize):
19723         (WebCore::RenderThemeChromiumLinux::paintButton):
19724         (WebCore::RenderThemeChromiumLinux::paintTextField):
19725         (WebCore::RenderThemeChromiumLinux::paintMenuList):
19726         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
19727         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
19728         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
19729         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
19730         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
19731         * rendering/RenderThemeChromiumLinux.h:
19732         * rendering/RenderThemeChromiumSkia.cpp:
19733         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
19734         (WebCore::RenderThemeChromiumSkia::setSizeIfAuto):
19735         (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
19736         * rendering/RenderThemeChromiumSkia.h:
19737
19738 2011-01-21  Sam Weinig  <sam@webkit.org>
19739
19740         Reviewed by Anders Carlsson.
19741
19742         Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
19743         https://bugs.webkit.org/show_bug.cgi?id=52779
19744
19745         Rename ScrollbarClient -> ScrollableArea.
19746
19747         - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
19748           since that was its only use case.
19749
19750         * CMakeLists.txt:
19751         * GNUmakefile.am:
19752         * WebCore.gypi:
19753         * WebCore.pro:
19754         * WebCore.vcproj/WebCore.vcproj:
19755         * WebCore.xcodeproj/project.pbxproj:
19756         * accessibility/AccessibilityScrollbar.cpp:
19757         (WebCore::AccessibilityScrollbar::setValue):
19758         * css/CSSStyleSelector.cpp:
19759         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
19760         * page/FrameView.h:
19761         * platform/PopupMenuClient.h:
19762         * platform/ScrollAnimator.cpp:
19763         (WebCore::ScrollAnimator::create):
19764         (WebCore::ScrollAnimator::ScrollAnimator):
19765         (WebCore::ScrollAnimator::scroll):
19766         (WebCore::ScrollAnimator::notityPositionChanged):
19767         * platform/ScrollAnimator.h:
19768         * platform/ScrollAnimatorWin.cpp:
19769         (WebCore::ScrollAnimator::create):
19770         (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
19771         (WebCore::ScrollAnimatorWin::scroll):
19772         * platform/ScrollAnimatorWin.h:
19773         * platform/ScrollView.cpp:
19774         (WebCore::ScrollView::scroll):
19775         (WebCore::ScrollView::updateScrollbars):
19776         (WebCore::ScrollView::wheelEvent):
19777         * platform/ScrollView.h:
19778         * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp.
19779         (WebCore::ScrollableArea::ScrollableArea):
19780         (WebCore::ScrollableArea::~ScrollableArea):
19781         (WebCore::ScrollableArea::scroll):
19782         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
19783         (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
19784         (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
19785         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
19786         * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h.
19787         * platform/Scrollbar.cpp:
19788         (WebCore::Scrollbar::createNativeScrollbar):
19789         (WebCore::Scrollbar::Scrollbar):
19790         (WebCore::Scrollbar::offsetDidChange):
19791         (WebCore::Scrollbar::autoscrollPressedPart):
19792         (WebCore::Scrollbar::moveThumb):
19793         (WebCore::Scrollbar::mouseMoved):
19794         (WebCore::Scrollbar::isWindowActive):
19795         (WebCore::Scrollbar::invalidateRect):
19796         (WebCore::Scrollbar::convertToContainingView):
19797         (WebCore::Scrollbar::convertFromContainingView):
19798         * platform/Scrollbar.h:
19799         (WebCore::Scrollbar::disconnectFromScrollableArea):
19800         (WebCore::Scrollbar::scrollableArea):
19801         * platform/ScrollbarClient.cpp: Removed.
19802         * platform/ScrollbarClient.h: Removed.
19803         * platform/ScrollbarThemeComposite.cpp:
19804         * platform/chromium/FramelessScrollView.h:
19805         * platform/chromium/ScrollbarThemeChromium.cpp:
19806         (WebCore::ScrollbarThemeChromium::paintTickmarks):
19807         * platform/efl/ScrollbarEfl.cpp:
19808         (Scrollbar::createNativeScrollbar):
19809         (ScrollbarEfl::ScrollbarEfl):
19810         (scrollbarEflEdjeMessage):
19811         * platform/efl/ScrollbarEfl.h:
19812         * platform/gtk/MainFrameScrollbarGtk.cpp:
19813         (MainFrameScrollbarGtk::create):
19814         (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
19815         (MainFrameScrollbarGtk::gtkValueChanged):
19816         * platform/gtk/MainFrameScrollbarGtk.h:
19817         * platform/mac/ScrollAnimatorMac.h:
19818         * platform/mac/ScrollAnimatorMac.mm:
19819         (WebCore::ScrollAnimator::create):
19820         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
19821         (WebCore::ScrollAnimatorMac::scroll):
19822         * platform/mac/ScrollbarThemeMac.mm:
19823         (WebCore::ScrollbarThemeMac::paint):
19824         * platform/qt/ScrollbarQt.cpp:
19825         (WebCore::Scrollbar::contextMenu):
19826         * platform/win/PopupMenuWin.cpp:
19827         (WebCore::PopupMenuWin::scrollToRevealSelection):
19828         (WebCore::PopupMenuWin::wndProc):
19829         * platform/win/PopupMenuWin.h:
19830         * platform/win/ScrollbarThemeSafari.cpp:
19831         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
19832         (WebCore::ScrollbarThemeSafari::paintButton):
19833         (WebCore::ScrollbarThemeSafari::paintThumb):
19834         * platform/wx/ScrollbarThemeWx.cpp:
19835         (WebCore::ScrollbarThemeWx::paint):
19836         * rendering/RenderDataGrid.h:
19837         * rendering/RenderLayer.cpp:
19838         (WebCore::RenderLayer::scrollToOffset):
19839         (WebCore::RenderLayer::destroyScrollbar):
19840         (WebCore::RenderLayer::scroll):
19841         * rendering/RenderLayer.h:
19842         * rendering/RenderListBox.cpp:
19843         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
19844         (WebCore::RenderListBox::scroll):
19845         (WebCore::RenderListBox::logicalScroll):
19846         (WebCore::RenderListBox::setScrollTop):
19847         (WebCore::RenderListBox::destroyScrollbar):
19848         * rendering/RenderListBox.h:
19849         * rendering/RenderMenuList.cpp:
19850         (WebCore::RenderMenuList::createScrollbar):
19851         * rendering/RenderMenuList.h:
19852         * rendering/RenderScrollbar.cpp:
19853         (WebCore::RenderScrollbar::createCustomScrollbar):
19854         (WebCore::RenderScrollbar::RenderScrollbar):
19855         * rendering/RenderScrollbar.h:
19856         * rendering/RenderTextControlSingleLine.cpp:
19857         (WebCore::RenderTextControlSingleLine::createScrollbar):
19858         * rendering/RenderTextControlSingleLine.h:
19859
19860 2011-01-21  Darin Adler  <darin@apple.com>
19861
19862         Fix Leopard build.
19863
19864         * rendering/mathml/RenderMathMLFraction.cpp:
19865         (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.
19866
19867 2011-01-21  Anton Muhin  <antonm@chromium.org>
19868
19869         Reviewed by Nate Chapin.
19870
19871         [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors
19872         https://bugs.webkit.org/show_bug.cgi?id=52901
19873
19874         Test: fast/dom/htmlcollection-conversion-throws-exception.html
19875
19876         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
19877         (WebCore::getItem):
19878
19879 2011-01-21  Adam Roben  <aroben@apple.com>
19880
19881         Separate flushing layer changes from rendering in CACFLayerTreeHost
19882
19883         Old model:
19884           1) A change is made to a GraphicsLayer.
19885           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
19886              render timer.
19887           3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
19888              flush and then renders.
19889
19890         New model:
19891           1) A change is made to a GraphicsLayer.
19892           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new
19893              LayerChangesFlusher singleton that this host has changes that need to be flushed.
19894           3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration
19895              of the message loop.
19896           4) LayerChangesFlusher's hook is called, which calls through to
19897              CACFLayerTreeHost::flushPendingLayerChangesNow.
19898           5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes
19899              that were just flushed to the context will be rendered.
19900
19901         When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer
19902         (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of
19903         scheduling the flush.
19904
19905         This change has three advantages:
19906           1) Whenever we flush layer changes, we first update layout. This can cause the page to
19907              leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost
19908              to be dropped. By separating flushing (and thus updating layout) from rendering, we no
19909              longer have to worry about this happen during rendering.
19910           2) The new model is much more similar to how things work on the Mac, so will hopefully
19911              reduce the number of platform-specific bugs.
19912           3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a
19913              layout was pending, is no longer needed. It actually hasn't been needed since at least
19914              r75987, but removing it before now would have resulted in a crash whenever a page came
19915              out of compositing mode due to (1).
19916
19917         Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
19918         CACFLayerTreeHost, but shouldn't be
19919
19920         Reviewed by Simon Fraser.
19921
19922         * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.
19923
19924         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
19925         #includes.
19926         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
19927         (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes,
19928         schedule a flush. Removed the call to renderSoon(), which now happens when the flush is
19929         finished.
19930         (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also
19931         fixed a bug where we'd fail to clear the context's layer.
19932         (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which
19933         is no longer needed. Moved code to flush layer changes from here to
19934         flushPendingLayerChangesNow, which is called via the above-described mechanism.
19935         (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed
19936         code to schedule a render, which now happens after we've flushed.
19937         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from
19938         render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying
19939         PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we
19940         schedule a render so that the changes will be rendered to the screen.
19941
19942         * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
19943         CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
19944         m_isFlushingLayerChanges.
19945
19946         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
19947         (WebCore::LayerChangesFlusher::shared):
19948         (WebCore::LayerChangesFlusher::LayerChangesFlusher):
19949         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
19950         (WebCore::LayerChangesFlusher::cancelPendingFlush):
19951         (WebCore::LayerChangesFlusher::hookCallback):
19952         (WebCore::LayerChangesFlusher::hookFired):
19953         (WebCore::LayerChangesFlusher::setHook):
19954         (WebCore::LayerChangesFlusher::removeHook):
19955
19956         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
19957         (WebCore::LayerChangesFlusher::shared): Returns the singleton.
19958         (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members.
19959         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of
19960         hosts with changes that need to be flushed, and set up our hook if we haven't already.
19961         (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts
19962         with changes that need to be flushed. If we have no more such hosts, remove our hook, unless
19963         we're currently in the process of calling out to our hosts, in which case we'll take care of
19964         the hook once we're done calling out.
19965         (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when
19966         our hook fires. Just calls through to hookFired on the singleton.
19967         (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be
19968         flushed that it's time to flush. If no hosts re-added themselves to our set during this
19969         process, remove our hook.
19970         (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW.
19971         (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx.
19972
19973         * platform/graphics/ca/win/LayerChangesFlusher.h: Added.
19974
19975 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
19976
19977         Reviewed by Sam Weinig.
19978
19979         GraphicsLayer should be non-copyable
19980         https://bugs.webkit.org/show_bug.cgi?id=52909
19981
19982         Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
19983         on that and KeyframeValueList.
19984         
19985         * platform/graphics/GraphicsLayer.h:
19986
19987 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
19988
19989         Reviewed by Sam Weinig.
19990
19991         Report the sized used by canvases and types arrays
19992         https://bugs.webkit.org/show_bug.cgi?id=52856
19993
19994         Report the memory cost associated with canvas elements,
19995         and typed arrays to JavaScript as extraCost, so that it
19996         can figure this into its GC behavior.
19997
19998         * bindings/js/JSArrayBufferViewHelper.h:
19999         (WebCore::toJSArrayBufferView): New templatized function, similar
20000         to getDOMObjectWrapper() but calls reportExtraMemoryCost() with
20001         the byteLength of the array.
20002         
20003         * bindings/js/JSFloat32ArrayCustom.cpp:
20004         (WebCore::toJS): Use toJSArrayBufferView.
20005         * bindings/js/JSInt16ArrayCustom.cpp:
20006         (WebCore::toJS): Use toJSArrayBufferView.
20007         * bindings/js/JSInt32ArrayCustom.cpp:
20008         (WebCore::toJS): Use toJSArrayBufferView.
20009         * bindings/js/JSInt8ArrayCustom.cpp:
20010         (WebCore::toJS): Use toJSArrayBufferView.
20011         * bindings/js/JSUint16ArrayCustom.cpp:
20012         (WebCore::toJS): Use toJSArrayBufferView.
20013         * bindings/js/JSUint32ArrayCustom.cpp:
20014         (WebCore::toJS): Use toJSArrayBufferView.
20015         * bindings/js/JSUint8ArrayCustom.cpp:
20016         (WebCore::toJS): Use toJSArrayBufferView.
20017
20018         * html/HTMLCanvasElement.cpp:
20019         (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
20020         with the size of the canvas backing store.
20021         
20022         * html/canvas/TypedArrayBase.h:
20023         (WebCore::TypedArrayBase::byteLength): byteLength needs to
20024         be public.
20025         
20026         * platform/graphics/ImageBuffer.h: Add dataSize() method.
20027         
20028         * platform/graphics/cairo/ImageBufferCairo.cpp:
20029         (WebCore::ImageBuffer::dataSize): Implement dataSize().
20030         * platform/graphics/cg/ImageBufferCG.cpp:
20031         (WebCore::ImageBuffer::dataSize): Implement dataSize().
20032         * platform/graphics/haiku/ImageBufferHaiku.cpp:
20033         (WebCore::ImageBuffer::dataSize): Implement dataSize().
20034         * platform/graphics/qt/ImageBufferQt.cpp:
20035         (WebCore::ImageBuffer::dataSize): Implement dataSize().
20036         * platform/graphics/skia/ImageBufferSkia.cpp:
20037         (WebCore::ImageBuffer::dataSize): Implement dataSize().
20038         * platform/graphics/wince/ImageBufferWinCE.cpp:
20039         (WebCore::ImageBuffer::dataSize): Implement dataSize().
20040         * platform/graphics/wx/ImageBufferWx.cpp:
20041         (WebCore::ImageBuffer::dataSize): Implement dataSize().
20042
20043 2011-01-21  Adam Roben  <aroben@apple.com>
20044
20045         Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]
20046
20047         Also renamed a few functions and data members to match.
20048
20049         Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
20050
20051         Reviewed by Simon Fraser.
20052
20053         * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.
20054
20055         * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
20056         path.
20057
20058         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.
20059
20060         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp.
20061         * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h.
20062
20063         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
20064         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
20065         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
20066         Updated for renames.
20067
20068 2011-01-21  Patrick Gansterer  <paroga@paroga.com>
20069
20070         Original patch from François Sausset  <sausset@gmail.com>
20071
20072         Reviewed by Darin Adler.
20073
20074         Code cleaning in rendering/mathml/RenderMathMLFraction.cpp
20075         https://bugs.webkit.org/show_bug.cgi?id=52201
20076
20077         Replace unneeded doubles by floats and remove unneeded casts.
20078
20079         * rendering/mathml/RenderMathMLFraction.cpp:
20080         (WebCore::RenderMathMLFraction::paint):
20081         * rendering/mathml/RenderMathMLFraction.h:
20082
20083 2011-01-21  Dimitri Glazkov  <dglazkov@chromium.org>
20084
20085         Reviewed by Darin Adler.
20086
20087         REGRESSION(r73618): Clicking on a search input causes a crash.
20088         https://bugs.webkit.org/show_bug.cgi?id=52905
20089
20090         The problem is caused by TextControlInnerElement being used both as
20091         shadow root and an element in a shadow subtree. The code assumed it is
20092         only used as a shadow root.
20093
20094         Since this code is all just workaround for in-progress conversion to
20095         new shadow DOM, I am just adding a check. This code will disappear
20096         completely once bug 52788 is fixed.
20097
20098         Test: fast/dom/search-shadow-host-crash.html
20099
20100         * dom/Node.cpp:
20101         (WebCore::Node::setShadowHost): Added an ASSERT for early detection
20102             of attempting to stomp on the parentNode.
20103         * rendering/TextControlInnerElements.cpp:
20104         (WebCore::TextControlInnerElement::detach): Added a check to only
20105             clear shadow host if we have one.
20106
20107 2011-01-21  Adam Roben  <aroben@apple.com>
20108
20109         Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes"
20110
20111         This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as
20112         opposed to just "layer" because there are cases where we flush changes to CACFLayers that
20113         don't have a corresponding GraphicsLayer.
20114
20115         Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in
20116         WKCACFLayerRenderer and friends is confusing
20117
20118         Reviewed by Simon Fraser.
20119
20120         * platform/graphics/win/WKCACFLayerRenderer.cpp:
20121         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
20122         (WebCore::WKCACFLayerRenderer::render):
20123         Updated for renames.
20124
20125         (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from
20126         syncCompositingStateSoon, and updated for other renames.
20127
20128         * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to
20129         * m_shouldFlushPendingGraphicsLayerChanges.
20130         (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from
20131         syncCompositingState.
20132
20133 2011-01-21  Adam Roben  <aroben@apple.com>
20134
20135         Clean up PlatformCAAnimationWin
20136
20137         Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient
20138
20139         Reviewed by Simon Fraser.
20140
20141         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
20142         (toCACFFillModeType):
20143         (fromCACFFillModeType):
20144         (toCACFValueFunctionType):
20145         (fromCACFValueFunctionType):
20146         Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just
20147         so we can later convert back to CFStringRef.
20148
20149         (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the
20150         results of CACFTimingFunctionCreate.
20151         (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through
20152         WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED().
20153
20154         (PlatformCAAnimation::setFillMode):
20155         (PlatformCAAnimation::setTimingFunction):
20156         (PlatformCAAnimation::setValueFunction):
20157         (PlatformCAAnimation::setTimingFunctions):
20158         Updated for changes to the above conversion functions.
20159
20160 2011-01-21  Charlie Reis  <creis@chromium.org>
20161
20162         Reviewed by Darin Fisher.
20163
20164         FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
20165         https://bugs.webkit.org/show_bug.cgi?id=48812
20166
20167         Most calls to stopAllLoaders now clear the history's provisional item(s).
20168         We can now avoid resetting the back/forward state if a new navigation
20169         is in progress.
20170
20171         Test: http/tests/navigation/back-twice-without-commit.html
20172         Test: http/tests/navigation/forward-and-cancel.html
20173
20174         * loader/FrameLoader.cpp:
20175         * loader/FrameLoader.h:
20176         * loader/FrameLoaderTypes.h:
20177         * WebCore.exp.in: Update stopAllLoaders signature.
20178
20179 2011-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
20180
20181         Reviewed by Martin Robinson.
20182
20183         [GTK] Show caps lock indicator in password fields
20184         https://bugs.webkit.org/show_bug.cgi?id=52878
20185
20186         Test: manual-tests/password-caps-lock.html
20187
20188         * platform/gtk/KeyEventGtk.cpp:
20189         (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement
20190         currentCapsLockState() using GDK API.
20191         * platform/gtk/RenderThemeGtk.cpp:
20192         (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon
20193         in the password field when the caps lock modifier is locked.
20194         * platform/gtk/RenderThemeGtk.h:
20195
20196 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
20197
20198         Reviewed by Pavel Feldman.
20199
20200         Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
20201         https://bugs.webkit.org/show_bug.cgi?id=52874
20202
20203         This is the first step of debugger api refactoring (see bug 52879).
20204         JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent.
20205         The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent.
20206
20207         * inspector/Inspector.idl:
20208         * inspector/InspectorBrowserDebuggerAgent.cpp:
20209         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
20210         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
20211         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
20212         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
20213         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
20214         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
20215         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
20216         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
20217         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
20218         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
20219         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
20220         * inspector/InspectorBrowserDebuggerAgent.h:
20221         * inspector/InspectorController.cpp:
20222         (WebCore::InspectorController::restoreInspectorStateFromCookie):
20223         (WebCore::InspectorController::connectFrontend):
20224         (WebCore::InspectorController::didCommitLoad):
20225         (WebCore::InspectorController::enableDebugger):
20226         (WebCore::InspectorController::resume):
20227         (WebCore::InspectorController::inspectedURL):
20228         * inspector/InspectorController.h:
20229         * inspector/InspectorState.cpp:
20230         (WebCore::InspectorState::InspectorState):
20231         * inspector/InspectorState.h:
20232         * inspector/front-end/BreakpointManager.js:
20233         (WebInspector.BreakpointManager):
20234         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
20235
20236 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
20237
20238         Reviewed by Jeremy Orlow.
20239
20240         Turn off uninitialized errors for ARM linux build.
20241         https://bugs.webkit.org/show_bug.cgi?id=52893
20242
20243         Fix ARM compiler breakage.
20244
20245         * WebCore.gyp/WebCore.gyp:
20246
20247 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
20248
20249         Reviewed by Yury Semikhatsky.
20250
20251         Web Inspector: [Chromium] REGRESSION: Using the "Back" button
20252         while profiling causes renderer crash.
20253
20254         https://bugs.webkit.org/show_bug.cgi?id=52808
20255
20256         * inspector/InspectorProfilerAgent.cpp:
20257         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
20258         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
20259
20260 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
20261
20262         Reviewed by Pavel Feldman.
20263
20264         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
20265
20266         There are some places in WebCore where we still using direct InspectorController calls.
20267         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
20268         Inspector facade for WebCore.
20269
20270         https://bugs.webkit.org/show_bug.cgi?id=52869
20271
20272         * inspector/InspectorController.cpp:
20273         * inspector/InspectorController.h:
20274         * inspector/InspectorInstrumentation.cpp:
20275         (WebCore::InspectorInstrumentation::addProfileImpl):
20276         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
20277         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
20278         * inspector/InspectorInstrumentation.h:
20279         (WebCore::InspectorInstrumentation::addProfile):
20280         (WebCore::InspectorInstrumentation::profilerEnabled):
20281         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
20282         * page/Console.cpp:
20283         (WebCore::Console::profile):
20284         (WebCore::Console::profileEnd):
20285
20286 2011-01-12  Pavel Podivilov  <podivilov@chromium.org>
20287
20288         Reviewed by Pavel Feldman.
20289
20290         Web Inspector: breakpoints are restored incorrectly when reverting live edit.
20291         https://bugs.webkit.org/show_bug.cgi?id=52300
20292
20293         Fix breakpoints restoring when reverting to old revision by using text diff.
20294         Move live edit logic from ScriptsPanel to DebuggerModel.
20295         Eliminate unnecessary editLine delegate in TextViewer.
20296
20297         * inspector/front-end/DebuggerModel.js:
20298         (WebInspector.DebuggerModel):
20299         (WebInspector.DebuggerModel.prototype.reset):
20300         (WebInspector.DebuggerModel.prototype.editScriptSource):
20301         (WebInspector.DebuggerModel.prototype._updateScriptSource):
20302         (WebInspector.DebuggerModel.prototype.get callFrames):
20303         (WebInspector.DebuggerModel.prototype.pausedScript):
20304         (WebInspector.DebuggerModel.prototype.resumedScript):
20305         * inspector/front-end/Script.js:
20306         (WebInspector.Script.prototype.get source):
20307         * inspector/front-end/ScriptView.js:
20308         (WebInspector.ScriptView):
20309         * inspector/front-end/ScriptsPanel.js:
20310         (WebInspector.ScriptsPanel):
20311         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
20312         * inspector/front-end/SourceFrame.js:
20313         (WebInspector.SourceFrame):
20314         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
20315         (WebInspector.SourceFrame.prototype._doubleClick.didEditLine):
20316         (WebInspector.SourceFrame.prototype._doubleClick):
20317         * inspector/front-end/SourceView.js:
20318         (WebInspector.SourceView):
20319         * inspector/front-end/TextViewer.js:
20320         (WebInspector.TextViewer):
20321         (WebInspector.TextViewer.prototype._handleKeyDown):
20322         (WebInspector.TextViewer.prototype.editLine.finishEditing):
20323         (WebInspector.TextViewer.prototype.editLine):
20324         (WebInspector.TextChunk.prototype._createRow):
20325
20326 2011-01-21  Adam Klein  <adamk@chromium.org>
20327
20328         Reviewed by Eric Seidel.
20329
20330         [chromium] Rename ChromiumBridge to PlatformBridge
20331         https://bugs.webkit.org/show_bug.cgi?id=52471
20332
20333         No tests added as this is a rename; no change in behavior.
20334
20335         * WebCore.gypi:
20336         * bindings/v8/V8DOMWindowShell.cpp:
20337         (WebCore::reportFatalErrorInV8):
20338         * page/PageGroup.cpp:
20339         (WebCore::PageGroup::isLinkVisited):
20340         * platform/android/PlatformBridge.h:
20341         * platform/audio/chromium/AudioBusChromium.cpp:
20342         (WebCore::createBusFromInMemoryAudioFile):
20343         * platform/chromium/ChromiumBridge.h: Removed.
20344         * platform/chromium/ChromiumDataObjectLegacy.cpp:
20345         (WebCore::ChromiumDataObjectLegacy::getData):
20346         * platform/chromium/DragDataChromium.cpp:
20347         (WebCore::DragData::asURL):
20348         * platform/chromium/FileSystemChromium.cpp:
20349         (WebCore::deleteFile):
20350         (WebCore::deleteEmptyDirectory):
20351         (WebCore::getFileSize):
20352         (WebCore::getFileModificationTime):
20353         (WebCore::revealFolderInOS):
20354         (WebCore::directoryName):
20355         (WebCore::pathByAppendingComponent):
20356         (WebCore::makeAllDirectories):
20357         (WebCore::fileExists):
20358         (WebCore::openFile):
20359         (WebCore::closeFile):
20360         (WebCore::seekFile):
20361         (WebCore::truncateFile):
20362         (WebCore::readFromFile):
20363         (WebCore::writeToFile):
20364         * platform/chromium/LanguageChromium.cpp:
20365         (WebCore::platformDefaultLanguage):
20366         * platform/chromium/LinkHashChromium.cpp:
20367         (WebCore::visitedLinkHash):
20368         * platform/chromium/MIMETypeRegistryChromium.cpp:
20369         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
20370         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
20371         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
20372         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
20373         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
20374         * platform/chromium/PasteboardChromium.cpp:
20375         (WebCore::Pasteboard::writeSelection):
20376         (WebCore::Pasteboard::writePlainText):
20377         (WebCore::Pasteboard::writeURL):
20378         (WebCore::Pasteboard::writeImage):
20379         (WebCore::Pasteboard::canSmartReplace):
20380         (WebCore::Pasteboard::plainText):
20381         (WebCore::Pasteboard::documentFragment):
20382         * platform/chromium/PlatformBridge.h:
20383         * platform/chromium/PlatformScreenChromium.cpp:
20384         (WebCore::screenDepth):
20385         (WebCore::screenDepthPerComponent):
20386         (WebCore::screenIsMonochrome):
20387         (WebCore::screenRect):
20388         (WebCore::screenAvailableRect):
20389         * platform/chromium/ReadableDataObject.cpp:
20390         (WebCore::ReadableDataObject::getData):
20391         (WebCore::ReadableDataObject::urlTitle):
20392         (WebCore::ReadableDataObject::htmlBaseUrl):
20393         (WebCore::ReadableDataObject::filenames):
20394         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
20395         * platform/chromium/SSLKeyGeneratorChromium.cpp:
20396         (WebCore::signedPublicKeyAndChallengeString):
20397         * platform/chromium/ScrollbarThemeChromium.cpp:
20398         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
20399         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
20400         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
20401         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
20402         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
20403         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
20404         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
20405         * platform/chromium/ScrollbarThemeChromiumMac.mm:
20406         (WebCore::scrollbarStateToThemeState):
20407         (WebCore::ScrollbarThemeChromiumMac::paint):
20408         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
20409         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
20410         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
20411         (WebCore::ScrollbarThemeChromiumWin::paintButton):
20412         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
20413         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
20414         * platform/chromium/SharedTimerChromium.cpp:
20415         (WebCore::setSharedTimerFiredFunction):
20416         (WebCore::setSharedTimerFireTime):
20417         (WebCore::stopSharedTimer):
20418         * platform/chromium/SuddenTerminationChromium.cpp:
20419         (WebCore::disableSuddenTermination):
20420         (WebCore::enableSuddenTermination):
20421         * platform/chromium/SystemTimeChromium.cpp:
20422         (WebCore::currentTime):
20423         * platform/chromium/WritableDataObject.cpp:
20424         (WebCore::WritableDataObject::setData):
20425         * platform/graphics/chromium/CrossProcessFontLoading.mm:
20426         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
20427         (WebCore::fontContainsCharacter):
20428         (WebCore::FillLogFont):
20429         * platform/graphics/chromium/FontCacheLinux.cpp:
20430         (WebCore::FontCache::getFontDataForCharacters):
20431         * platform/graphics/chromium/FontChromiumWin.cpp:
20432         (WebCore::Font::drawGlyphs):
20433         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
20434         (WebCore::FontPlatformData::scriptFontProperties):
20435         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
20436         (WebCore::FontPlatformData::querySystemForRenderStyle):
20437         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
20438         (WebCore::fillBMPGlyphs):
20439         * platform/graphics/chromium/ImageChromium.cpp:
20440         (WebCore::Image::loadPlatformResource):
20441         * platform/graphics/chromium/ImageChromiumMac.mm:
20442         (WebCore::Image::loadPlatformResource):
20443         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
20444         (WebCore::SimpleFontData::platformInit):
20445         (WebCore::SimpleFontData::determinePitch):
20446         (WebCore::SimpleFontData::platformWidthForGlyph):
20447         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
20448         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
20449         * platform/graphics/skia/FontCustomPlatformData.cpp:
20450         (WebCore::FontCustomPlatformData::fontPlatformData):
20451         * platform/network/chromium/CookieJarChromium.cpp:
20452         (WebCore::setCookies):
20453         (WebCore::cookies):
20454         (WebCore::cookieRequestHeaderFieldValue):
20455         (WebCore::cookiesEnabled):
20456         (WebCore::getRawCookies):
20457         (WebCore::deleteCookie):
20458         * platform/network/chromium/DNSChromium.cpp:
20459         (WebCore::prefetchDNS):
20460         * platform/qt/PlatformBridge.h:
20461         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
20462         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
20463         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
20464         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
20465         (chromiumOpen):
20466         (chromiumDelete):
20467         (chromiumAccess):
20468         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
20469         * plugins/chromium/PluginDataChromium.cpp:
20470         (WebCore::PluginCache::plugins):
20471         * rendering/RenderThemeChromiumMac.mm:
20472         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
20473         * rendering/RenderThemeChromiumSkia.cpp:
20474         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
20475         * rendering/RenderThemeChromiumWin.cpp:
20476         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
20477         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
20478         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
20479         (WebCore::RenderThemeChromiumWin::systemColor):
20480         (WebCore::RenderThemeChromiumWin::paintButton):
20481         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
20482         (WebCore::menuListButtonWidth):
20483         (WebCore::RenderThemeChromiumWin::paintMenuList):
20484         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
20485         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
20486         (WebCore::RenderThemeChromiumWin::paintProgressBar):
20487         * storage/chromium/IDBFactoryBackendInterface.cpp:
20488         (WebCore::IDBFactoryBackendInterface::create):
20489         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
20490         * storage/chromium/IDBKeyPathBackendImpl.cpp:
20491         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
20492
20493 2011-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
20494
20495         Unreviewed, rolling out r76335.
20496         http://trac.webkit.org/changeset/76335
20497         https://bugs.webkit.org/show_bug.cgi?id=52875
20498
20499         profiler tests were broken (Requested by loislo on #webkit).
20500
20501         * inspector/InspectorController.cpp:
20502         (WebCore::InspectorController::addProfile):
20503         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
20504         * inspector/InspectorController.h:
20505         * inspector/InspectorInstrumentation.cpp:
20506         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
20507         * inspector/InspectorInstrumentation.h:
20508         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
20509         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
20510         * page/Console.cpp:
20511         (WebCore::Console::profile):
20512         (WebCore::Console::profileEnd):
20513
20514 2011-01-21  Ilya Tikhonovsky  <loislo@chromium.org>
20515
20516         Reviewed by Yury Semikhatsky.
20517
20518         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
20519
20520         There are some places in WebCore where we still using direct InspectorController calls.
20521         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
20522         Inspector facade for WebCore.
20523
20524         https://bugs.webkit.org/show_bug.cgi?id=52869
20525
20526         * inspector/InspectorController.cpp:
20527         * inspector/InspectorController.h:
20528         * inspector/InspectorInstrumentation.cpp:
20529         (WebCore::InspectorInstrumentation::addProfileImpl):
20530         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
20531         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
20532         * inspector/InspectorInstrumentation.h:
20533         (WebCore::InspectorInstrumentation::addProfile):
20534         (WebCore::InspectorInstrumentation::profilerEnabled):
20535         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
20536         * page/Console.cpp:
20537         (WebCore::Console::profile):
20538         (WebCore::Console::profileEnd):
20539
20540 2011-01-20  Sam Weinig  <sam@webkit.org>
20541
20542         Reviewed by Gavin Barraclough.
20543
20544         Fix failing tests from r76291.
20545
20546         * platform/ScrollView.cpp:
20547         (WebCore::ScrollView::scrollPosition):
20548         (WebCore::ScrollView::updateScrollbars):
20549         Take the scroll origin into account in more places.
20550
20551 2011-01-20  Kent Tamura  <tkent@chromium.org>
20552
20553         Unreviewed, sorting an Xcode project file.
20554
20555         * WebCore.xcodeproj/project.pbxproj:
20556
20557 2011-01-20  Ben Vanik  <ben.vanik@gmail.com>
20558
20559         Reviewed by Kenneth Russell.
20560
20561         Implementation of the OES_standard_derivatives WebGL extension.
20562         https://bugs.webkit.org/show_bug.cgi?id=51678
20563
20564         Changes are modeled off of the existing OESTextureFloat extension. New files,
20565         extension retrieval, etc all match the existing code.
20566
20567         Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler
20568         options. This supports the enabling of the standard derivatives flag when the
20569         extension is enabled. Refactored the cleanup code to make the destruction of the
20570         compilers (if they had been created) cleaner.
20571
20572         Tested with the WebGL conformance test:
20573         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html
20574         Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows.
20575
20576         * CMakeLists.txt:
20577         * DerivedSources.make:
20578         * GNUmakefile.am:
20579         * WebCore.gypi:
20580         * WebCore.pri:
20581         * WebCore.pro:
20582         * WebCore.xcodeproj/project.pbxproj:
20583         * bindings/js/JSWebGLRenderingContextCustom.cpp:
20584         (WebCore::toJS):
20585         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
20586         (WebCore::toV8Object):
20587         * html/canvas/OESStandardDerivatives.cpp: Added.
20588         (WebCore::OESStandardDerivatives::OESStandardDerivatives):
20589         (WebCore::OESStandardDerivatives::~OESStandardDerivatives):
20590         (WebCore::OESStandardDerivatives::getName):
20591         (WebCore::OESStandardDerivatives::create):
20592         * html/canvas/OESStandardDerivatives.h: Added.
20593         * html/canvas/OESStandardDerivatives.idl: Added.
20594         * html/canvas/WebGLExtension.h:
20595         * html/canvas/WebGLRenderingContext.cpp:
20596         (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension.
20597         (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled.
20598         (WebCore::WebGLRenderingContext::getSupportedExtensions): 
20599         (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled.
20600         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
20601         (WebCore::WebGLRenderingContext::getExtensionNumber):
20602         * html/canvas/WebGLRenderingContext.h:
20603         * platform/graphics/ANGLEWebKitBridge.cpp:
20604         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup.
20605         (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers.
20606         (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing
20607         ANGLE settings.
20608         (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error.
20609         * platform/graphics/ANGLEWebKitBridge.h:
20610         (WebCore::ANGLEWebKitBridge::getResources):
20611         * platform/graphics/Extensions3D.h: Added enumeration for the extension.
20612         * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D.
20613         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
20614         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the
20615         GraphicsContext3D to handle resetting the shader compilers.
20616         (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension,
20617         so always return true.
20618         (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required.
20619         * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D.
20620         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
20621         (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to
20622         Extensions3DOpenGL.
20623
20624 2011-01-20  Xiaomei Ji  <xji@chromium.org>
20625
20626         Reviewed by Dan Bernstein.
20627
20628         Fix regression(r71566): PDF in RTL block might messes up text directionality.
20629         https://bugs.webkit.org/show_bug.cgi?id=52776
20630
20631         Test: fast/dom/52776.html
20632
20633         * platform/text/BidiResolver.h:
20634         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
20635         (WebCore::::lowerExplicitEmbeddingLevel):
20636         (WebCore::::raiseExplicitEmbeddingLevel):
20637         (WebCore::::createBidiRunsForLine):
20638
20639 2011-01-20  Beth Dakin  <bdakin@apple.com>
20640
20641         Reviewed by Anders Carlsson.
20642
20643         Follow-on for <rdar://problem/8890255>
20644
20645         This fixes a painting error with ScrollbarPainter scrollers
20646         and the new drawing area code path.
20647         * platform/mac/ScrollbarThemeMac.mm:
20648         (WebCore::updateArrowPlacement):
20649
20650 2011-01-20  Levi Weintraub  <leviw@chromium.org>
20651
20652         Unreviewed.
20653
20654         Fixing build breakage.
20655
20656         * editing/SelectionController.cpp:
20657         (WebCore::SelectionController::willBeModified):
20658
20659 2011-01-20  Levi Weintraub  <leviw@chromium.org>
20660
20661         Reviewed by Ryosuke Niwa.
20662
20663         RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
20664         https://bugs.webkit.org/show_bug.cgi?id=49511
20665
20666         Test: editing/selection/rtl-move-selection-right-left.html
20667
20668         * editing/SelectionController.cpp:
20669         (WebCore::SelectionController::willBeModified):
20670         Respecting the direction of the containing block when switching selection base and extent in
20671         RTL content.
20672
20673         (WebCore::SelectionController::modifyMovingRight):
20674         (WebCore::SelectionController::modifyMovingLeft):
20675         Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
20676         correct thing for RTL.
20677
20678 2011-01-20  Nate Chapin  <japhet@chromium.org>
20679
20680         Reviewed by Adam Barth.
20681
20682         Null-check m_frame in DOMWindow::setLocation(), since it's
20683         possible to reach this point without it having been checked
20684         already.
20685         https://bugs.webkit.org/show_bug.cgi?id=52769
20686
20687         Test: fast/dom/Window/Location/set-location-after-close.html
20688
20689         * page/DOMWindow.cpp:
20690         (WebCore::DOMWindow::setLocation):
20691
20692 2011-01-20  Chang Shu  <chang.shu@nokia.com>
20693
20694         Reviewed by Darin Adler.
20695
20696         setContentEditable with invalid string should throw exception.
20697         https://bugs.webkit.org/show_bug.cgi?id=52057
20698
20699         Implemented exception throwing for setContentEditable according to the following spec:
20700         http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
20701         Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 
20702         string 'inherit' then the content attribute must be removed, if the new value is an ASCII 
20703         case-insensitive match for the string 'true' then the content attribute must be set to the 
20704         string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 
20705         then the content attribute must be set to the string 'false', and otherwise the attribute 
20706         setter must raise a SYNTAX_ERR exception."
20707
20708         * html/HTMLElement.cpp:
20709         (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec.
20710         * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
20711         * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.
20712
20713 2011-01-19  Adrienne Walker  <enne@google.com>
20714
20715         Reviewed by James Robinson.
20716
20717         [chromium] Composited render surfaces should allow writes to alpha channel.
20718         https://bugs.webkit.org/show_bug.cgi?id=52766
20719
20720         Test: LayoutTests/platform/chromium/compositing
20721
20722         * platform/graphics/chromium/LayerRendererChromium.cpp:
20723         (WebCore::LayerRendererChromium::drawLayers):
20724
20725 2011-01-14  Jer Noble  <jer.noble@apple.com>
20726
20727         Reviewed by Eric Carlson.
20728
20729         REGRESSION (r71842): Compass video is not playing in Safari welcome page
20730         https://bugs.webkit.org/show_bug.cgi?id=52506
20731
20732         New test: LayoutTests/media/video-currentTime-delay.html
20733
20734         Call invalidateCachedTime() every time one of the cached property dependencies changes,
20735         i.e. m_paused and m_playbackRate.
20736
20737         * html/HTMLMediaElement.cpp:
20738         (WebCore::HTMLMediaElement::prepareForLoad):
20739         (WebCore::HTMLMediaElement::setReadyState):
20740         (WebCore::HTMLMediaElement::setPlaybackRate):
20741         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
20742
20743 2011-01-20  Beth Dakin  <bdakin@apple.com>
20744
20745         Reviewed by Geoffrey Garen.
20746
20747         Fix for <rdar://problem/8890255>
20748
20749         Allow WebKitSystemInterface to draw scrollbars 
20750         when appropriate.
20751         * WebCore.exp.in:
20752         * platform/mac/ScrollbarThemeMac.mm:
20753         (WebCore::scrollbarMap):
20754         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
20755         (WebCore::ScrollbarThemeMac::registerScrollbar):
20756         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
20757         (WebCore::ScrollbarThemeMac::paint):
20758         * platform/mac/WebCoreSystemInterface.h:
20759         * platform/mac/WebCoreSystemInterface.mm:
20760
20761 2011-01-20  Sam Weinig  <sam@webkit.org>
20762
20763         Reviewed by Dave Hyatt.
20764
20765         Cleanup Scrollbar/ScrollbarClient relationship
20766         https://bugs.webkit.org/show_bug.cgi?id=52779
20767
20768         Pipe all scrolling through the ScrollbarClient/ScrollAnimator
20769         rather than through the Scrollbar. The Scrollbar now is just
20770         a "view" on the scroll position of the scrollable area it is
20771         attached to.
20772
20773         There are now two ways to scroll a scrollable area:
20774         - ScrollbarClient::scroll()
20775         - ScrollbarClient::scrollToOffsetWithoutAnimation()
20776
20777         Both of these go through the ScrollAnimator (updating its state
20778         or starting an animation). The ScrollAnimator, in turn, now calls
20779         ScrollbarClient::setScrollOffsetFromAnimation, which tells the
20780         Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
20781         and tells the class that derives from ScrollbarClient to scroll
20782         its contents (via ScrollbarClient::setScrollOffset).
20783
20784         * WebCore.xcodeproj/project.pbxproj:
20785         Move Scrollbar.cpp to the right place.
20786
20787         * accessibility/AccessibilityScrollbar.cpp:
20788         (WebCore::AccessibilityScrollbar::setValue):
20789         Initiate the scroll through the scrollbar client, rather than the
20790         scrollbar itself.
20791
20792         * page/FrameView.cpp:
20793         (WebCore::FrameView::scrollTo):
20794         * page/FrameView.h:
20795         Condense the two valueChanged overrides to a single override of the
20796         scrollTo function.
20797
20798         * platform/ScrollAnimator.cpp:
20799         (WebCore::ScrollAnimator::scroll):
20800         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
20801         (WebCore::ScrollAnimator::currentPosition):
20802         (WebCore::ScrollAnimator::notityPositionChanged):
20803         * platform/ScrollAnimator.h:
20804         * platform/ScrollAnimatorWin.cpp:
20805         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
20806         (WebCore::ScrollAnimatorWin::animateScroll):
20807         * platform/ScrollAnimatorWin.h:
20808         * platform/mac/ScrollAnimatorMac.h:
20809         * platform/mac/ScrollAnimatorMac.mm:
20810         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
20811         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
20812         Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
20813         and bottleneck all client notification of changed position through a new
20814         notityPositionChanged() function.
20815
20816         * platform/ScrollView.cpp:
20817         (WebCore::ScrollView::setScrollOffset):
20818         (WebCore::ScrollView::scrollTo):
20819         (WebCore::ScrollView::scrollPosition):
20820         (WebCore::ScrollView::scroll):
20821         (WebCore::ScrollView::updateScrollbars):
20822         (WebCore::ScrollView::wheelEvent):
20823         * platform/ScrollView.h:
20824         (WebCore::ScrollView::horizontalScrollbar):
20825         (WebCore::ScrollView::verticalScrollbar):
20826         Update to scroll via the ScrollbarClient rather than the Scrollbar.
20827
20828         * platform/Scrollbar.cpp:
20829         (WebCore::Scrollbar::offsetDidChange):
20830         (WebCore::Scrollbar::autoscrollPressedPart):
20831         (WebCore::Scrollbar::moveThumb):
20832         (WebCore::Scrollbar::mouseMoved):
20833         * platform/Scrollbar.h:
20834         (WebCore::Scrollbar::setPressedPos):
20835         Change the scrollbar to only updates its offset in response to
20836         an offsetDidChange call.
20837
20838         * platform/ScrollbarClient.cpp:
20839         (WebCore::ScrollbarClient::scroll):
20840         (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
20841         (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
20842         (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
20843         (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
20844         * platform/ScrollbarClient.h:
20845         (WebCore::ScrollbarClient::horizontalScrollbar):
20846         (WebCore::ScrollbarClient::verticalScrollbar):
20847         Make the increasingly misnamed ScrollbarClient responsible for
20848         scrolling.
20849
20850         * platform/efl/ScrollbarEfl.cpp:
20851         (scrollbarEflEdjeMessage):
20852         * platform/gtk/MainFrameScrollbarGtk.cpp:
20853         (MainFrameScrollbarGtk::gtkValueChanged):
20854         * platform/qt/ScrollbarQt.cpp:
20855         (WebCore::Scrollbar::contextMenu):
20856         Update to move scrolling through the client.
20857
20858         * platform/win/PopupMenuWin.cpp:
20859         (WebCore::PopupMenuWin::scrollToRevealSelection):
20860         (WebCore::PopupMenuWin::scrollPosition):
20861         (WebCore::PopupMenuWin::setScrollOffset):
20862         (WebCore::PopupMenuWin::scrollTo):
20863         (WebCore::PopupMenuWin::wndProc):
20864         * platform/win/PopupMenuWin.h:
20865         (WebCore::PopupMenuWin::verticalScrollbar):
20866         * rendering/RenderLayer.cpp:
20867         (WebCore::RenderLayer::scrollToOffset):
20868         (WebCore::RenderLayer::scrollTo):
20869         (WebCore::RenderLayer::setScrollOffset):
20870         (WebCore::RenderLayer::scrollPosition):
20871         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
20872         (WebCore::RenderLayer::scroll):
20873         * rendering/RenderLayer.h:
20874         * rendering/RenderListBox.cpp:
20875         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
20876         (WebCore::RenderListBox::scroll):
20877         (WebCore::RenderListBox::logicalScroll):
20878         (WebCore::RenderListBox::scrollPosition):
20879         (WebCore::RenderListBox::setScrollOffset):
20880         (WebCore::RenderListBox::scrollTo):
20881         (WebCore::RenderListBox::setScrollTop):
20882         * rendering/RenderListBox.h:
20883         (WebCore::RenderListBox::verticalScrollbar):
20884         Update to scroll via the ScrollbarClient rather than the Scrollbar.
20885
20886         * rendering/RenderMarquee.cpp:
20887         (WebCore::RenderMarquee::start):
20888         Simplify initial paint to just do an immediate scroll to the position.
20889
20890 2011-01-20  Patrick Gansterer  <paroga@webkit.org>
20891
20892         Unreviewed WinCE build fix for r76170.
20893
20894         * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
20895         * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
20896
20897 2011-01-20  James Robinson  <jamesr@chromium.org>
20898
20899         Reviewed by Darin Fisher.
20900
20901         Implement mozilla's requestAnimationFrame API
20902         https://bugs.webkit.org/show_bug.cgi?id=51218
20903
20904         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
20905         an author driving an animation from script could use window.requestAnimationFrame(callback)
20906         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
20907         decide when to update the animations.  This avoids doing unnecessary work when the page content
20908         is offscreen or is being displayed at a different framerate than what the page author expects.
20909
20910         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
20911         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
20912         following changes:
20913         *) Only the callback syntax is supported, there is no before paint event
20914         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
20915             what content they intend to animate.  That way if the page is being displayed but the element
20916             in question is offscreen, we can avoid invoking the callback.
20917         *) No timestamp is provided to the caller and there is no window.animationStartTime property
20918             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
20919         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
20920             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
20921
20922         The implementation depends on the embedder scheduling the callbacks since the callback invocation
20923         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
20924         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
20925         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
20926         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
20927         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
20928         rendering loop.
20929
20930         Tests: fast/animation/request-animation-frame-cancel.html
20931                fast/animation/request-animation-frame-cancel2.html
20932                fast/animation/request-animation-frame-display.html
20933                fast/animation/request-animation-frame-within-callback.html
20934                fast/animation/request-animation-frame.html
20935
20936         * WebCore.gypi:
20937         * dom/Document.cpp:
20938         (WebCore::Document::Document):
20939         (WebCore::Document::webkitRequestAnimationFrame):
20940         (WebCore::Document::webkitCancelRequestAnimationFrame):
20941         (WebCore::Document::serviceScriptedAnimations):
20942         * dom/Document.h:
20943         * dom/RequestAnimationFrameCallback.h: Added.
20944         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
20945         * dom/RequestAnimationFrameCallback.idl: Added.
20946         * loader/EmptyClients.h:
20947         (WebCore::EmptyChromeClient::scheduleAnimation):
20948         * page/Chrome.cpp:
20949         (WebCore::Chrome::scheduleAnimation):
20950         * page/Chrome.h:
20951         * page/ChromeClient.h:
20952         * page/DOMWindow.cpp:
20953         (WebCore::DOMWindow::webkitRequestAnimationFrame):
20954         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
20955         * page/DOMWindow.h:
20956         * page/DOMWindow.idl:
20957         * page/FrameView.cpp:
20958         (WebCore::FrameView::scheduleAnimation):
20959         (WebCore::FrameView::serviceScriptedAnimations):
20960         * page/FrameView.h:
20961         * platform/HostWindow.h:
20962
20963 2011-01-20  James Robinson  <jamesr@chromium.org>
20964
20965         Reviewed by Nate Chapin.
20966
20967         [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
20968         https://bugs.webkit.org/show_bug.cgi?id=52837
20969
20970         When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
20971         v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio.  Instead, if the argument count
20972         is 0, we can just pass a NULL pointer for the argv parameter.
20973
20974         Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests.  This
20975         patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
20976         because the old golden files were out of date.
20977
20978         * bindings/scripts/CodeGeneratorV8.pm:
20979         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
20980         (WebDOMTestCallback::callbackWithNoParam):
20981         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
20982         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
20983         (webkit_dom_test_callback_callback_with_no_param):
20984         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
20985         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
20986         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
20987         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
20988         * bindings/scripts/test/JS/JSTestCallback.cpp:
20989         (WebCore::JSTestCallback::callbackWithNoParam):
20990         * bindings/scripts/test/JS/JSTestCallback.h:
20991         * bindings/scripts/test/JS/JSTestInterface.cpp:
20992         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
20993         * bindings/scripts/test/JS/JSTestObj.cpp:
20994         * bindings/scripts/test/ObjC/DOMTestCallback.h:
20995         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
20996         (-[DOMTestCallback callbackWithNoParam]):
20997         * bindings/scripts/test/TestCallback.idl:
20998         * bindings/scripts/test/V8/V8TestCallback.cpp:
20999         (WebCore::V8TestCallback::callbackWithNoParam):
21000         * bindings/scripts/test/V8/V8TestCallback.h:
21001         * bindings/scripts/test/V8/V8TestObj.cpp:
21002         (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):
21003
21004 2011-01-20  James Robinson  <jamesr@chromium.org>
21005
21006         Reviewed by Eric "Baller" Seidel.
21007
21008         RenderTableSection's setNeedsCellRecalc needs to null check table()
21009         https://bugs.webkit.org/show_bug.cgi?id=52770
21010
21011         Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
21012         This can be null during detach().  Test constructed by Eric Seidel.
21013
21014         Test: fast/css-generated-content/table-with-scrollbar-corner.html
21015
21016         * rendering/RenderTableSection.cpp:
21017         (WebCore::RenderTableSection::setNeedsCellRecalc):
21018         * rendering/RenderTableSection.h:
21019
21020 2011-01-20  Dirk Schulze  <krit@webkit.org>
21021
21022         Reviewed by Rob Buis.
21023
21024         SVG Pattern doesn't take preserveAspectRatio of references Pattern
21025         https://bugs.webkit.org/show_bug.cgi?id=52802
21026
21027         SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
21028         in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.
21029
21030         Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
21031
21032         * rendering/svg/RenderSVGResourcePattern.cpp:
21033         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
21034         * svg/PatternAttributes.h:
21035         (WebCore::PatternAttributes::PatternAttributes):
21036         (WebCore::PatternAttributes::preserveAspectRatio):
21037         (WebCore::PatternAttributes::setPreserveAspectRatio):
21038         (WebCore::PatternAttributes::hasPreserveAspectRatio):
21039         * svg/SVGPatternElement.cpp:
21040         (WebCore::SVGPatternElement::collectPatternAttributes):
21041
21042 2011-01-20  Dan Bernstein  <mitz@apple.com>
21043
21044         Reviewed by Adele Peterson.
21045
21046         <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
21047
21048         <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
21049         https://bugs.webkit.org/show_bug.cgi?id=52765
21050
21051         <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
21052         https://bugs.webkit.org/show_bug.cgi?id=52265
21053
21054         Test: fast/block/line-layout/negative-max-height.html
21055
21056         Integer overflow detection led to a block having a huge height. This manifested as broken layout
21057         in the first bug and as extreme slowness in the latter bugs because of
21058         https://bugs.webkit.org/show_bug.cgi?id=52832
21059
21060         * rendering/RootInlineBox.cpp:
21061         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
21062         cannot start above this line. The negative maxHeight also caused the integer overflow detection
21063         logic to give the block a huge height.
21064
21065 2011-01-20  Yi Shen  <yi.4.shen@nokia.com>
21066
21067         Reviewed by Eric Carlson.
21068
21069         Clean up the Media Controls CSS for Qt
21070         https://bugs.webkit.org/show_bug.cgi?id=52822
21071
21072         Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 
21073         in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
21074         rules from mediaControlsQtFullscreen.css.
21075
21076         * css/mediaControlsQt.css:
21077         (audio::-webkit-media-controls-panel):
21078         (video::-webkit-media-controls-panel):
21079         (audio::-webkit-media-controls-mute-button):
21080         (video::-webkit-media-controls-mute-button):
21081         (audio::-webkit-media-controls-play-button):
21082         (video::-webkit-media-controls-play-button):
21083         (audio::-webkit-media-controls-timeline-container):
21084         (video::-webkit-media-controls-timeline-container):
21085         (audio::-webkit-media-controls-current-time-display):
21086         (video::-webkit-media-controls-current-time-display):
21087         (audio::-webkit-media-controls-time-remaining-display):
21088         (video::-webkit-media-controls-time-remaining-display):
21089         (audio::-webkit-media-controls-timeline):
21090         (video::-webkit-media-controls-timeline):
21091         (audio::-webkit-media-controls-volume-slider-container):
21092         (video::-webkit-media-controls-volume-slider-container):
21093         (audio::-webkit-media-controls-volume-slider):
21094         (video::-webkit-media-controls-volume-slider):
21095         (audio::-webkit-media-controls-seek-back-button):
21096         (video::-webkit-media-controls-seek-back-button):
21097         (audio::-webkit-media-controls-seek-forward-button):
21098         (video::-webkit-media-controls-seek-forward-button):
21099         (audio::-webkit-media-controls-fullscreen-button):
21100         (video::-webkit-media-controls-fullscreen-button):
21101         (audio::-webkit-media-controls-rewind-button):
21102         (video::-webkit-media-controls-rewind-button):
21103         (audio::-webkit-media-controls-return-to-realtime-button):
21104         (video::-webkit-media-controls-return-to-realtime-button):
21105         (audio::-webkit-media-controls-toggle-closed-captions-button):
21106         (video::-webkit-media-controls-toggle-closed-captions-button):
21107         * css/mediaControlsQtFullscreen.css:
21108         (video::-webkit-media-controls-time-remaining-display):
21109         (video::-webkit-media-controls-seek-back-button):
21110         (video::-webkit-media-controls-seek-forward-button):
21111         (video::-webkit-media-controls-rewind-button):
21112         (video::-webkit-media-controls-return-to-realtime-button):
21113         (video::-webkit-media-controls-toggle-closed-captions-button):
21114
21115 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
21116
21117         Reviewed by Pavel Feldman.
21118
21119         Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
21120         https://bugs.webkit.org/show_bug.cgi?id=52816
21121
21122         * inspector/front-end/StylesSidebarPane.js:
21123         (WebInspector.StylePropertyTreeElement.prototype):
21124
21125 2011-01-20  Dawit Alemayehu  <adawit@kde.org>
21126
21127         Reviewed by Andreas Kling.
21128
21129         [Qt] Fix Layering violation in MediaPlayerPrivateQt.
21130         https://bugs.webkit.org/show_bug.cgi?id=52733
21131
21132         No new tests. no behavioral change.
21133
21134        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
21135         (WebCore::MediaPlayerPrivateQt::commitLoad):
21136
21137 2011-01-20  Nate Chapin  <japhet@chromium.org>
21138
21139         Reviewed by Darin Fisher.
21140
21141         [V8] Call malloc and memcpy directly instead of
21142         of strdup in convertV8ObjectToNPVariant() when
21143         converting strings. If there is a null character
21144         in the string, our use of strdup causes us to allocate
21145         too little memory, leading to out of bounds reads.
21146
21147         https://bugs.webkit.org/show_bug.cgi?id=52631
21148
21149         * bindings/v8/V8NPUtils.cpp:
21150         (WebCore::convertV8ObjectToNPVariant):
21151
21152 2011-01-20  Andreas Kling  <kling@webkit.org>
21153
21154         Reviewed by Ariya Hidayat.
21155
21156         [Qt] Fill shadow scratch buffer with proper transparent pixels
21157
21158         QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
21159         so doing QImage::fill(Qt::transparent) will actually fill all pixels with
21160         the RGBA value 0x00000013.
21161
21162         * platform/graphics/qt/ContextShadowQt.cpp:
21163         (WebCore::ShadowBuffer::scratchImage):
21164
21165 2011-01-19  Adam Roben  <aroben@apple.com>
21166
21167         Remove WKCACFContextFlusher
21168
21169         It wasn't doing anything.
21170
21171         Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
21172
21173         Reviewed by Simon Fraser.
21174
21175         * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
21176         the file.
21177
21178         * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
21179         * platform/graphics/win/WKCACFContextFlusher.h: Removed.
21180
21181         * platform/graphics/win/WKCACFLayerRenderer.cpp:
21182         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
21183         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
21184         Stop telling WKCACFContextFlusher about our context, since it never did anything with it.
21185
21186 2011-01-19  Adam Roben  <aroben@apple.com>
21187
21188         Only flush our own context when we get resized
21189
21190         Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
21191         changes get flushed whenever any composited page is resized
21192
21193         Reviewed by Simon Fraser.
21194
21195         * platform/graphics/win/WKCACFLayerRenderer.cpp:
21196         (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
21197         WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!
21198
21199 2011-01-19  Adam Roben  <aroben@apple.com>
21200
21201         Make WKCACFLayerRenderer ref-counted
21202
21203         This will be needed to handle cases where the client might release its reference to us while
21204         we're calling out to it.
21205
21206         WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
21207         client to create(). This allows clients to null out the client pointer when they're done
21208         with the renderer.
21209
21210         Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
21211         ref-counted
21212
21213         Reviewed by Simon Fraser.
21214
21215         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
21216         (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
21217         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
21218         Updated for WKCACFLayerRenderer changes.
21219
21220         * platform/graphics/win/WKCACFLayerRenderer.cpp:
21221         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
21222         create().
21223         (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
21224         returns a PassOwnPtr.
21225         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
21226         WKCACFLayerRendererClient.
21227
21228         * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
21229         RefCounted.
21230         (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
21231
21232 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
21233
21234         [Qt][V8] Unreviewed buildfix after r76248.
21235
21236         * bindings/v8/ScriptCachedFrameData.h: Add missing include.
21237
21238 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21239
21240         Reviewed by Yury Semikhatsky.
21241
21242         Web Inspector: enable resource agent upon request.
21243         https://bugs.webkit.org/show_bug.cgi?id=52815
21244
21245         We should not send network-related notifications unless front-end
21246         is interested.
21247
21248         * inspector/Inspector.idl:
21249         * inspector/InspectorController.cpp:
21250         (WebCore::InspectorController::restoreInspectorStateFromCookie):
21251         (WebCore::InspectorController::connectFrontend):
21252         (WebCore::InspectorController::resourceAgent):
21253         * inspector/InspectorController.h:
21254         (WebCore::InspectorController::consoleAgent):
21255         (WebCore::InspectorController::cssAgent):
21256         (WebCore::InspectorController::domAgent):
21257         (WebCore::InspectorController::injectedScriptAgent):
21258         (WebCore::InspectorController::runtimeAgent):
21259         (WebCore::InspectorController::databaseAgent):
21260         (WebCore::InspectorController::domStorageAgent):
21261         (WebCore::InspectorController::fileSystemAgent):
21262         * inspector/InspectorInstrumentation.cpp:
21263         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
21264         * inspector/InspectorResourceAgent.cpp:
21265         (WebCore::InspectorResourceAgent::restore):
21266         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
21267         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
21268         * inspector/InspectorResourceAgent.h:
21269         (WebCore::InspectorResourceAgent::create):
21270         * inspector/InspectorState.cpp:
21271         (WebCore::InspectorState::InspectorState):
21272         * inspector/InspectorState.h:
21273
21274 2011-01-20  Zoltan Horvath  <zoltan@webkit.org>
21275
21276         Reviewed by Csaba Osztrogonác.
21277
21278         Refactoring of the custom allocation framework
21279         https://bugs.webkit.org/show_bug.cgi?id=49897
21280
21281         Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
21282         The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
21283         equivalent macro implementation at the necessary places.
21284
21285 2011-01-20  Mikhail Naganov  <mnaganov@chromium.org>
21286
21287         Reviewed by Pavel Feldman.
21288
21289         Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
21290
21291         Profiles are now not cleared unless renderer instance was changed.
21292
21293         https://bugs.webkit.org/show_bug.cgi?id=52807
21294
21295         * inspector/InspectorController.cpp:
21296         (WebCore::InspectorController::restoreProfiler):
21297         * inspector/InspectorProfilerAgent.cpp:
21298         (WebCore::InspectorProfilerAgent::resetState):
21299         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
21300         * inspector/InspectorProfilerAgent.h:
21301
21302 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
21303
21304         Unreviewed, add new JS file refs missing from r76116.
21305
21306         * WebCore.gypi:
21307         * WebCore.vcproj/WebCore.vcproj:
21308         * inspector/front-end/WebKit.qrc:
21309
21310 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
21311
21312         Reviewed by Pavel Feldman.
21313
21314         Web Inspector: Crash when adding a rule for an ImageDocument
21315         https://bugs.webkit.org/show_bug.cgi?id=52811
21316
21317         * inspector/InspectorCSSAgent.cpp:
21318         (WebCore::InspectorCSSAgent::addRule2):
21319         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
21320
21321 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
21322
21323         Reviewed by Pavel Feldman.
21324
21325         Web Inspector: cleanup InspectorController's friends list.
21326         We have a plan to extract InspectorAgent from InspectorController.
21327         InspectorAgent will be accessible only from InspectorController.
21328         As result we can simply made some methods public and remove long
21329         friends list.
21330
21331         https://bugs.webkit.org/show_bug.cgi?id=52806
21332
21333         * inspector/InjectedScriptHost.cpp:
21334         (WebCore::InjectedScriptHost::databaseForId):
21335         (WebCore::InjectedScriptHost::selectDatabase):
21336         (WebCore::InjectedScriptHost::selectDOMStorage):
21337         (WebCore::InjectedScriptHost::inspectorDOMAgent):
21338         (WebCore::InjectedScriptHost::frontend):
21339         * inspector/InspectorBrowserDebuggerAgent.cpp:
21340         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
21341         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
21342         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
21343         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
21344         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
21345         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
21346         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
21347         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
21348         * inspector/InspectorController.h:
21349         (WebCore::InspectorController::frontend):
21350         * inspector/InspectorInstrumentation.cpp:
21351         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
21352         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
21353         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
21354         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
21355         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
21356         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
21357         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
21358         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
21359         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
21360         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
21361         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
21362         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
21363         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
21364         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
21365         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
21366         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
21367
21368 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
21369
21370         Reviewed by Yury Semikhatsky.
21371
21372         Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
21373         https://bugs.webkit.org/show_bug.cgi?id=52723
21374
21375         Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
21376
21377         * inspector/front-end/Breakpoint.js:
21378         (WebInspector.Breakpoint):
21379         (WebInspector.Breakpoint.prototype.get data):
21380         (WebInspector.Breakpoint.prototype.remove):
21381         * inspector/front-end/BreakpointsSidebarPane.js:
21382         (WebInspector.JavaScriptBreakpointsSidebarPane):
21383         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
21384         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
21385         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
21386         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
21387         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
21388         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
21389         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
21390         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
21391         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
21392         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
21393         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
21394         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
21395         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
21396         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
21397         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
21398         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
21399         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
21400         (WebInspector.NativeBreakpointsSidebarPane):
21401         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
21402         * inspector/front-end/DebuggerModel.js:
21403         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
21404         (WebInspector.DebuggerModel.prototype.breakpointForId):
21405         (WebInspector.DebuggerModel.prototype._pausedScript):
21406         (WebInspector.DebuggerModel.prototype._resumedScript):
21407         * inspector/front-end/ScriptsPanel.js:
21408         (WebInspector.ScriptsPanel):
21409         * inspector/front-end/inspector.js:
21410
21411 2011-01-20  Dirk Schulze  <krit@webkit.org>
21412
21413         Reviewed by Andreas Kling.
21414
21415         SVG Pattern doesn't take the viewBox of a referenced Pattern
21416         https://bugs.webkit.org/show_bug.cgi?id=52804
21417         
21418         SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
21419         by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
21420         SVGPattern element as well, if the attribute was set.
21421         This gets checked by a W3C SVG test case.        
21422
21423         Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
21424
21425         * rendering/svg/RenderSVGResourcePattern.cpp:
21426         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
21427         * svg/PatternAttributes.h:
21428         (WebCore::PatternAttributes::PatternAttributes):
21429         (WebCore::PatternAttributes::viewBox):
21430         (WebCore::PatternAttributes::setViewBox):
21431         (WebCore::PatternAttributes::hasViewBox):
21432         * svg/SVGPatternElement.cpp:
21433         (WebCore::SVGPatternElement::collectPatternAttributes):
21434
21435 2011-01-19  Stephen White  <senorblanco@chromium.org>
21436
21437         [Re-land of r76159 with a compile fix for the Chromium linux shlib
21438         build.]
21439
21440         Reviewed by James Robinson.
21441
21442         Implement accelerated path drawing and clipping for the Canvas2D GPU
21443         path.
21444         https://bugs.webkit.org/show_bug.cgi?id=52627
21445         
21446         This is done with a simple curve interpolator and the GLU tesselator,
21447         which is good enough for a 3-5X speedup on
21448         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
21449
21450         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
21451         All tests canvas/philip and fast/canvas paths pass with no
21452         regressions, although two have minor pixel differences which require
21453         rebaselining.
21454
21455         * WebCore.gyp/WebCore.gyp:
21456         Add internal_glu include path to chromium build.
21457         * WebCore.gypi:
21458         Add internal_glu files to chromium build.
21459         * html/canvas/CanvasRenderingContext2D.cpp:
21460         (WebCore::CanvasRenderingContext2D::reset):
21461         (WebCore::CanvasRenderingContext2D::platformLayer):
21462         Make CanvasRenderingContext2D more robust against failure to create
21463         a DrawingBuffer.
21464         * platform/graphics/chromium/DrawingBufferChromium.cpp:
21465         (WebCore::DrawingBuffer::DrawingBuffer):
21466         As in DrawingBufferMac.cpp, call reset() from the constructor.
21467         Also initialize size to (-1, -1), so reset() doesn't early-out.
21468         Add initializers for depthBuffer and stencilBuffer, and remove
21469         multisampleDepthStencilBuffer.
21470         * platform/graphics/chromium/GLES2Canvas.cpp:
21471         Remove some unused #includes.
21472         (WebCore::GLES2Canvas::State::State):
21473         Add clipping state, and implement save/restore via the copy constructor.
21474         (WebCore::operator*):
21475         (WebCore::Quadratic::Quadratic):
21476         (WebCore::Quadratic::fromBezier):
21477         (WebCore::Quadratic::evaluate):
21478         Quadratic Bezier curve class.
21479         (WebCore::Cubic::Cubic):
21480         (WebCore::Cubic::fromBezier):
21481         (WebCore::Cubic::evaluate):
21482         Cubic Bezier curve class.
21483         (WebCore::GLES2Canvas::clearRect):
21484         Add clipping support to clearRect().
21485         (WebCore::GLES2Canvas::fillPath):
21486         Implement fillPath().
21487         (WebCore::GLES2Canvas::fillRect):
21488         Add clipping support to fillRect().
21489         (WebCore::GLES2Canvas::clipPath):
21490         Implement clipPath().
21491         (WebCore::GLES2Canvas::clipOut):
21492         Stub out clipOut() (not called by Canvas 2D).
21493         (WebCore::GLES2Canvas::restore):
21494         When restoring, draw any remaining clipping paths to the stencil buffer.
21495         (WebCore::GLES2Canvas::drawTexturedRect):
21496         Add clipping support.
21497         (WebCore::interpolateQuadratic):
21498         (WebCore::interpolateCubic):
21499         Simple curve interpolation, using the Cubic and Quadratic classes.
21500         (WebCore::PolygonData::PolygonData):
21501         A struct to hold the tesselation data for callbacks.
21502         (WebCore::beginData):
21503         (WebCore::edgeFlagData):
21504         (WebCore::vertexData):
21505         (WebCore::endData):
21506         (WebCore::combineData):
21507         internal_glu tesselation callbacks.
21508         (WebCore::GLES2Canvas::createVertexBufferFromPath):
21509         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
21510         (WebCore::GLES2Canvas::beginStencilDraw):
21511         Enable stencilling, and disable draws to the color buffer.
21512         (WebCore::GLES2Canvas::applyClipping):
21513         If clipping is enabled, set the appropriate GL state.
21514         * platform/graphics/chromium/GLES2Canvas.h:
21515         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
21516         * platform/graphics/gpu/DrawingBuffer.cpp:
21517         (WebCore::DrawingBuffer::clear):
21518         (WebCore::DrawingBuffer::createSecondaryBuffers):
21519         (WebCore::DrawingBuffer::resizeDepthStencil):
21520         (WebCore::DrawingBuffer::reset):
21521         * platform/graphics/gpu/DrawingBuffer.h:
21522         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
21523         Implement separate depth and stencil buffers for when
21524         OES_packed_depth_stencil is not available.  Refactor creation of
21525         multisampled and non-multisampled depth and stencil buffers into
21526         resizeDepthStencil().
21527         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
21528         (WebCore::SharedGraphicsContext3D::create):
21529         Turn on stencil, turn off depth, turn off antialiasing (for now).
21530         (WebCore::SharedGraphicsContext3D::enableStencil):
21531         * platform/graphics/gpu/SharedGraphicsContext3D.h:
21532         Implement stencil enable/disable.
21533         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
21534         (WebCore::DrawingBuffer::DrawingBuffer):
21535         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
21536         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
21537         and m_stencilBuffer.
21538         * platform/graphics/skia/GraphicsContextSkia.cpp:
21539         (WebCore::GraphicsContext::canvasClip):
21540         (WebCore::GraphicsContext::clipOut):
21541         (WebCore::GraphicsContext::clipPath):
21542         (WebCore::GraphicsContext::fillPath):
21543         Put in GPU hooks for path clipping, and path drawing.
21544         * platform/graphics/skia/PlatformContextSkia.cpp:
21545         (WebCore::PlatformContextSkia::canAccelerate):
21546         Don't check for clipping paths in canAccelerate() (since we can
21547         now accelerate them).
21548         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
21549         Don't do clipping when uploading software draws to hardware.
21550         * thirdparty/glu/README.webkit:
21551         * thirdparty/glu/gluos.h:
21552         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
21553         * thirdparty/glu/libtess/geom.c:
21554         * thirdparty/glu/libtess/priorityq.c:
21555         * thirdparty/glu/libtess/render.c:
21556         Use do{}while(0) instead of if(1)else construct in macro.
21557         * thirdparty/glu/libtess/sweep.c:
21558         (IsWindingInside):
21559         (DoneEdgeDict):
21560         Fix some warnings treated as errors for the Linux Release build.
21561
21562
21563 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21564
21565         Web Inspector: move releaseObjectGroup to the new Runtime agent.
21566         https://bugs.webkit.org/show_bug.cgi?id=52803
21567         (accedentally landed as r76231)
21568
21569         * inspector/InspectorContorller.h:
21570         * inspector/InspectorContorller.cpp:
21571         * inspector/InspectorRuntimeAgent.h:
21572         * inspector/InspectorRuntimeAgent.cpp:
21573
21574 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21575
21576         Not reviewed: build fix.
21577
21578         * inspector/InspectorState.h:
21579         (WebCore::InspectorState::setBoolean):
21580         (WebCore::InspectorState::setString):
21581         (WebCore::InspectorState::setLong):
21582
21583 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
21584
21585         Reviewed by Yury Semikhatsky.
21586
21587         Web Inspector: further simplify InspectorState.
21588         https://bugs.webkit.org/show_bug.cgi?id=52731
21589
21590         This change moves XHR logging flag into console agent,
21591         removes InspectorState pushing to the front-end.
21592
21593         * inspector/Inspector.idl:
21594         * inspector/InspectorConsoleAgent.cpp:
21595         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
21596         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
21597         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
21598         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
21599         (WebCore::InspectorConsoleAgent::addConsoleMessage):
21600         * inspector/InspectorConsoleAgent.h:
21601         * inspector/InspectorController.cpp:
21602         (WebCore::InspectorController::InspectorController):
21603         * inspector/InspectorController.h:
21604         (WebCore::InspectorController::state):
21605         (WebCore::InspectorController::settings):
21606         * inspector/InspectorState.cpp:
21607         (WebCore::InspectorState::InspectorState):
21608         (WebCore::InspectorState::registerBoolean):
21609         (WebCore::InspectorState::registerString):
21610         (WebCore::InspectorState::registerLong):
21611         (WebCore::InspectorState::registerObject):
21612         (WebCore::InspectorState::Property::create):
21613         * inspector/InspectorState.h:
21614         * inspector/front-end/ConsoleView.js:
21615         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
21616         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
21617         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
21618         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
21619         * inspector/front-end/inspector.js:
21620
21621 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
21622
21623         Unreviewed buildfix.
21624
21625         [Qt][V8] Remove unnecessary files after r76224.
21626
21627         * WebCore.pro:
21628
21629 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
21630
21631         Reviewed by Yury Semikhatsky.
21632
21633         Web Inspector: prepare for extracting InspectorAgent from InspectorController.
21634         https://bugs.webkit.org/show_bug.cgi?id=52797
21635
21636         * inspector/CodeGeneratorInspector.pm:
21637         * inspector/InspectorController.h:
21638         (WebCore::InspectorController::inspectorAgent):
21639         (WebCore::InspectorController::cssAgent):
21640         (WebCore::InspectorController::injectedScriptAgent):
21641         (WebCore::InspectorController::resourceAgent):
21642         (WebCore::InspectorController::runtimeAgent):
21643         (WebCore::InspectorController::timelineAgent):
21644         (WebCore::InspectorController::databaseAgent):
21645         (WebCore::InspectorController::domStorageAgent):
21646         (WebCore::InspectorController::fileSystemAgent):
21647         (WebCore::InspectorController::browserDebuggerAgent):
21648         (WebCore::InspectorController::debuggerAgent):
21649         (WebCore::InspectorController::profilerAgent):
21650         (WebCore::InspectorController::applicationCacheAgent):
21651
21652 2011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
21653
21654         Unreviewed, rolling out r76215.
21655         http://trac.webkit.org/changeset/76215
21656         https://bugs.webkit.org/show_bug.cgi?id=52799
21657
21658         Caused regressions in Chromium; morrita is going to look at it
21659         tomrorow (Requested by jorlow on #webkit).
21660
21661         * dom/TextEvent.h:
21662         * dom/TextEventInputType.h:
21663         * editing/CompositeEditCommand.cpp:
21664         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
21665         * editing/CompositeEditCommand.h:
21666         * editing/Editor.cpp:
21667         (WebCore::Editor::insertTextWithoutSendingTextEvent):
21668         (WebCore::Editor::confirmComposition):
21669         (WebCore::Editor::setComposition):
21670         * editing/Editor.h:
21671         * editing/InsertTextCommand.cpp:
21672         (WebCore::InsertTextCommand::input):
21673         * editing/InsertTextCommand.h:
21674         * editing/TypingCommand.cpp:
21675         (WebCore::TypingCommand::TypingCommand):
21676         (WebCore::TypingCommand::insertText):
21677         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
21678         * editing/TypingCommand.h:
21679         (WebCore::TypingCommand::create):
21680
21681 2010-12-14  Yury Semikhatsky  <yurys@chromium.org>
21682
21683         Reviewed by Adam Barth.
21684
21685         [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
21686         https://bugs.webkit.org/show_bug.cgi?id=51044
21687
21688         * WebCore.gypi:
21689         * bindings/v8/V8ConsoleMessage.cpp: Removed.
21690         * bindings/v8/V8ConsoleMessage.h: Removed.
21691         * bindings/v8/V8DOMWindowShell.cpp:
21692         (WebCore::v8UncaughtExceptionHandler):
21693         (WebCore::reportUnsafeJavaScriptAccess):
21694         (WebCore::V8DOMWindowShell::initContextIfNeeded):
21695         * bindings/v8/V8Proxy.cpp:
21696         (WebCore::addMessageToConsole):
21697         (WebCore::logInfo):
21698         (WebCore::V8Proxy::reportUnsafeAccessTo):
21699         (WebCore::V8Proxy::runScript):
21700         (WebCore::V8Proxy::callFunction):
21701         (WebCore::V8Proxy::newInstance):
21702         * bindings/v8/V8Proxy.h:
21703         * bindings/v8/WorkerContextExecutionProxy.cpp:
21704         * bindings/v8/specialization/V8BindingState.cpp:
21705         (WebCore::::immediatelyReportUnsafeAccessTo):
21706
21707 2011-01-19  MORITA Hajime  <morrita@google.com>
21708
21709         Reviewed by Eric Seidel.
21710
21711         ShadowElement::m_shadowParent should be removed
21712         https://bugs.webkit.org/show_bug.cgi?id=52558
21713
21714         No new tests. No behavioral change.
21715
21716         * rendering/ShadowElement.h:
21717         (WebCore::ShadowElement::ShadowElement):
21718
21719 2011-01-20  Hans Wennborg  <hans@chromium.org>
21720
21721         Reviewed by Jeremy Orlow.
21722
21723         IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
21724         https://bugs.webkit.org/show_bug.cgi?id=52725
21725
21726         Let IDBObjectStore.get() fire the onsuccess handler with the value
21727         'undefined' for when an object does not exist in the store.
21728
21729         Update SerializedScriptValue to provide such an undefined value.
21730
21731         * bindings/v8/SerializedScriptValue.cpp:
21732         (WebCore::SerializedScriptValue::nullValue):
21733         (WebCore::SerializedScriptValue::undefinedValue):
21734         * bindings/v8/SerializedScriptValue.h:
21735         * storage/IDBObjectStoreBackendImpl.cpp:
21736         (WebCore::IDBObjectStoreBackendImpl::getInternal):
21737
21738 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
21739
21740         Reviewed by Pavel Feldman.
21741
21742         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
21743         https://bugs.webkit.org/show_bug.cgi?id=8519
21744
21745         Uncaught exceptions are propagated to window.onerror hander if one is present.
21746         The handler is expected to be a function accepting three arguments: error message,
21747         resource url and line number where the exception occured.
21748
21749         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
21750         were created in the same isolated world where the exception occured or not.
21751
21752         Tests: fast/events/window-onerror1.html
21753                fast/events/window-onerror10.html
21754                fast/events/window-onerror11.html
21755                fast/events/window-onerror12.html
21756                fast/events/window-onerror2.html
21757                fast/events/window-onerror3.html
21758                fast/events/window-onerror4.html
21759                fast/events/window-onerror5.html
21760                fast/events/window-onerror6.html
21761                fast/events/window-onerror7.html
21762                fast/events/window-onerror8.html
21763                fast/events/window-onerror9.html
21764                http/tests/security/window-onerror-exception-in-iframe.html
21765                userscripts/window-onerror-for-isolated-world-1.html
21766                userscripts/window-onerror-for-isolated-world-2.html
21767
21768         * Android.jscbindings.mk:
21769         * CMakeLists.txt:
21770         * GNUmakefile.am:
21771         * WebCore.gypi:
21772         * WebCore.order:
21773         * WebCore.pro:
21774         * WebCore.vcproj/WebCore.vcproj:
21775         * WebCore.xcodeproj/project.pbxproj:
21776         * bindings/js/JSBindingsAllInOne.cpp:
21777         * bindings/js/JSDOMBinding.cpp:
21778         (WebCore::reportException):
21779         * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
21780         (WebCore::JSErrorHandler::JSErrorHandler):
21781         (WebCore::JSErrorHandler::~JSErrorHandler):
21782         (WebCore::JSErrorHandler::handleEvent):
21783         * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
21784         (WebCore::JSErrorHandler::create):
21785         (WebCore::createJSErrorHandler):
21786         * bindings/js/JSEventListener.h:
21787         * bindings/scripts/CodeGeneratorJS.pm:
21788         * bindings/scripts/CodeGeneratorV8.pm:
21789         * bindings/v8/V8ConsoleMessage.cpp:
21790         (WebCore::V8ConsoleMessage::dispatchNow):
21791         (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
21792         reporting mechanism which is also used by JSC bindings.
21793         * bindings/v8/V8ConsoleMessage.h:
21794         * bindings/v8/V8EventListener.h:
21795         * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
21796         (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
21797         (WebCore::V8WindowErrorHandler::callListenerFunction):
21798         * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
21799         (WebCore::V8WindowErrorHandler::create):
21800         * bindings/v8/WorkerContextExecutionProxy.cpp:
21801         (WebCore::v8MessageHandler):
21802         * bindings/v8/WorkerScriptController.cpp:
21803         (WebCore::WorkerScriptController::evaluate):
21804         * dom/Document.cpp:
21805         (WebCore::Document::errorEventTarget):
21806         (WebCore::Document::logExceptionToConsole):
21807         (WebCore::Document::addMessage):
21808         * dom/Document.h:
21809         * dom/ErrorEvent.cpp:
21810         * dom/ErrorEvent.h:
21811         * dom/Event.cpp:
21812         (WebCore::Event::isErrorEvent):
21813         * dom/Event.h:
21814         * dom/ScriptExecutionContext.cpp:
21815         (WebCore::ScriptExecutionContext::PendingException::PendingException):
21816         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
21817         (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
21818         ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
21819         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
21820         * dom/ScriptExecutionContext.h:
21821         * websockets/WebSocket.cpp:
21822         (WebCore::WebSocket::connect):
21823         * websockets/WebSocketChannel.cpp:
21824         (WebCore::WebSocketChannel::didOpen):
21825         (WebCore::WebSocketChannel::didFail):
21826         (WebCore::WebSocketChannel::appendToBuffer):
21827         * websockets/WebSocketHandshake.cpp:
21828         (WebCore::WebSocketHandshake::readServerHandshake):
21829         (WebCore::WebSocketHandshake::readStatusLine):
21830         (WebCore::WebSocketHandshake::readHTTPHeaders):
21831         (WebCore::WebSocketHandshake::checkResponseHeaders):
21832         * workers/DefaultSharedWorkerRepository.cpp:
21833         (WebCore::postExceptionTask):
21834         (WebCore::postConsoleMessageTask):
21835         * workers/WorkerContext.cpp:
21836         (WebCore::WorkerContext::WorkerContext):
21837         (WebCore::WorkerContext::errorEventTarget):
21838         (WebCore::WorkerContext::logExceptionToConsole):
21839         (WebCore::WorkerContext::addMessage):
21840         * workers/WorkerContext.h:
21841         * workers/WorkerMessagingProxy.cpp:
21842         (WebCore::WorkerExceptionTask::performTask):
21843         (WebCore::postConsoleMessageTask):
21844         * xml/XMLHttpRequest.cpp:
21845         (WebCore::reportUnsafeUsage):
21846
21847 2011-01-19  MORITA Hajime  <morrita@google.com>
21848
21849         Reviewed by Ryosuke Niwa.
21850
21851         Space and tab characters "sent" by an input method give totally different results than typing them directly
21852         https://bugs.webkit.org/show_bug.cgi?id=5241
21853         
21854         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
21855           distinguish text input which is originated by composition.
21856         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
21857           range of string on text node, instead of surrounding part of that.
21858
21859         Test: editing/inserting/insert-composition-whitespace.html
21860
21861         * dom/TextEvent.h:
21862         (WebCore::TextEvent::isComposition):
21863         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
21864         * editing/CompositeEditCommand.cpp:
21865         (WebCore::containsOnlyWhitespace):
21866         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
21867         (WebCore::CompositeEditCommand::canRebalance):
21868         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
21869         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
21870         * editing/CompositeEditCommand.h:
21871         * editing/Editor.cpp:
21872         (WebCore::Editor::insertTextForConfirmedComposition): Added.
21873         (WebCore::Editor::insertTextWithoutSendingTextEvent):
21874         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
21875         (WebCore::Editor::setComposition):
21876         * editing/Editor.h:
21877         * editing/InsertTextCommand.cpp:
21878         (WebCore::InsertTextCommand::input):
21879         * editing/InsertTextCommand.h:
21880         * editing/TypingCommand.cpp:
21881         (WebCore::TypingCommand::TypingCommand):
21882         (WebCore::TypingCommand::insertText):
21883         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
21884         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
21885         (WebCore::TypingCommand::setCompositionType): Added.
21886         (WebCore::TypingCommand::create):
21887
21888 2011-01-19  Dominic Cooney  <dominicc@google.com>
21889
21890         Reviewed by Kent Tamura.
21891
21892         Make <keygen> no longer appear to be a <select> element to script.
21893         https://bugs.webkit.org/show_bug.cgi?id=52557
21894
21895         The intent is to put <keygen> options into shadow DOM. This change
21896         takes the first step by hiding the <select> element from
21897         JavaScript.
21898
21899         Test: fast/dom/HTMLKeygenElement/keygen.html
21900
21901         * CMakeLists.txt: Adds new IDL-derived wrapper.
21902         * DerivedSources.cpp:
21903         * DerivedSources.make:
21904         * GNUmakefile.am:
21905         * WebCore.gypi:
21906         * WebCore.pri:
21907         * WebCore.vcproj/WebCore.vcproj:
21908         * WebCore.xcodeproj/project.pbxproj:
21909         * bindings/gobject/GNUmakefile.am:
21910         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
21911         (WebKit::createKeygenWrapper):
21912         (WebKit::createHTMLElementWrapper):
21913         * bindings/objc/DOM.mm:
21914         (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
21915         * html/HTMLKeygenElement.h:
21916         (WebCore::HTMLKeygenElement::willValidate): Now public.
21917         * html/HTMLKeygenElement.idl: Added.
21918         * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
21919         * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
21920
21921 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
21922
21923         Unreviewed, rolling out r76203.
21924         http://trac.webkit.org/changeset/76203
21925         https://bugs.webkit.org/show_bug.cgi?id=52784
21926
21927         Broke Win compile on Chromium bots (Requested by dimich on
21928         #webkit).
21929
21930         * WebCore.gypi:
21931         * bindings/v8/V8DOMWindowShell.cpp:
21932         (WebCore::reportFatalErrorInV8):
21933         * page/PageGroup.cpp:
21934         (WebCore::PageGroup::isLinkVisited):
21935         * platform/android/PlatformBridge.h:
21936         * platform/audio/chromium/AudioBusChromium.cpp:
21937         (WebCore::createBusFromInMemoryAudioFile):
21938         * platform/chromium/ChromiumBridge.h: Added.
21939         * platform/chromium/ChromiumDataObjectLegacy.cpp:
21940         (WebCore::ChromiumDataObjectLegacy::getData):
21941         * platform/chromium/DragDataChromium.cpp:
21942         (WebCore::DragData::asURL):
21943         * platform/chromium/FileSystemChromium.cpp:
21944         (WebCore::deleteFile):
21945         (WebCore::deleteEmptyDirectory):
21946         (WebCore::getFileSize):
21947         (WebCore::getFileModificationTime):
21948         (WebCore::revealFolderInOS):
21949         (WebCore::directoryName):
21950         (WebCore::pathByAppendingComponent):
21951         (WebCore::makeAllDirectories):
21952         (WebCore::fileExists):
21953         (WebCore::openFile):
21954         (WebCore::closeFile):
21955         (WebCore::seekFile):
21956         (WebCore::truncateFile):
21957         (WebCore::readFromFile):
21958         (WebCore::writeToFile):
21959         * platform/chromium/LanguageChromium.cpp:
21960         (WebCore::platformDefaultLanguage):
21961         * platform/chromium/LinkHashChromium.cpp:
21962         (WebCore::visitedLinkHash):
21963         * platform/chromium/MIMETypeRegistryChromium.cpp:
21964         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
21965         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
21966         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
21967         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
21968         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
21969         * platform/chromium/PasteboardChromium.cpp:
21970         (WebCore::Pasteboard::writeSelection):
21971         (WebCore::Pasteboard::writePlainText):
21972         (WebCore::Pasteboard::writeURL):
21973         (WebCore::Pasteboard::writeImage):
21974         (WebCore::Pasteboard::canSmartReplace):
21975         (WebCore::Pasteboard::plainText):
21976         (WebCore::Pasteboard::documentFragment):
21977         * platform/chromium/PlatformBridge.h:
21978         * platform/chromium/PlatformScreenChromium.cpp:
21979         (WebCore::screenDepth):
21980         (WebCore::screenDepthPerComponent):
21981         (WebCore::screenIsMonochrome):
21982         (WebCore::screenRect):
21983         (WebCore::screenAvailableRect):
21984         * platform/chromium/ReadableDataObject.cpp:
21985         (WebCore::ReadableDataObject::getData):
21986         (WebCore::ReadableDataObject::urlTitle):
21987         (WebCore::ReadableDataObject::htmlBaseUrl):
21988         (WebCore::ReadableDataObject::filenames):
21989         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
21990         * platform/chromium/SSLKeyGeneratorChromium.cpp:
21991         (WebCore::signedPublicKeyAndChallengeString):
21992         * platform/chromium/ScrollbarThemeChromium.cpp:
21993         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
21994         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
21995         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
21996         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
21997         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
21998         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
21999         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
22000         * platform/chromium/ScrollbarThemeChromiumMac.mm:
22001         (WebCore::scrollbarStateToThemeState):
22002         (WebCore::ScrollbarThemeChromiumMac::paint):
22003         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
22004         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
22005         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
22006         (WebCore::ScrollbarThemeChromiumWin::paintButton):
22007         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
22008         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
22009         * platform/chromium/SharedTimerChromium.cpp:
22010         (WebCore::setSharedTimerFiredFunction):
22011         (WebCore::setSharedTimerFireTime):
22012         (WebCore::stopSharedTimer):
22013         * platform/chromium/SuddenTerminationChromium.cpp:
22014         (WebCore::disableSuddenTermination):
22015         (WebCore::enableSuddenTermination):
22016         * platform/chromium/SystemTimeChromium.cpp:
22017         (WebCore::currentTime):
22018         * platform/chromium/WritableDataObject.cpp:
22019         (WebCore::WritableDataObject::setData):
22020         * platform/graphics/chromium/CrossProcessFontLoading.mm:
22021         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
22022         (WebCore::fontContainsCharacter):
22023         (WebCore::FillLogFont):
22024         * platform/graphics/chromium/FontCacheLinux.cpp:
22025         (WebCore::FontCache::getFontDataForCharacters):
22026         * platform/graphics/chromium/FontChromiumWin.cpp:
22027         (WebCore::Font::drawGlyphs):
22028         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
22029         (WebCore::FontPlatformData::scriptFontProperties):
22030         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
22031         (WebCore::FontPlatformData::querySystemForRenderStyle):
22032         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
22033         (WebCore::fillBMPGlyphs):
22034         * platform/graphics/chromium/ImageChromium.cpp:
22035         (WebCore::Image::loadPlatformResource):
22036         * platform/graphics/chromium/ImageChromiumMac.mm:
22037         (WebCore::Image::loadPlatformResource):
22038         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
22039         (WebCore::SimpleFontData::platformInit):
22040         (WebCore::SimpleFontData::determinePitch):
22041         (WebCore::SimpleFontData::platformWidthForGlyph):
22042         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
22043         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
22044         * platform/graphics/skia/FontCustomPlatformData.cpp:
22045         (WebCore::FontCustomPlatformData::fontPlatformData):
22046         * platform/network/chromium/CookieJarChromium.cpp:
22047         (WebCore::setCookies):
22048         (WebCore::cookies):
22049         (WebCore::cookieRequestHeaderFieldValue):
22050         (WebCore::cookiesEnabled):
22051         (WebCore::getRawCookies):
22052         (WebCore::deleteCookie):
22053         * platform/network/chromium/DNSChromium.cpp:
22054         (WebCore::prefetchDNS):
22055         * platform/qt/PlatformBridge.h:
22056         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
22057         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
22058         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
22059         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
22060         (chromiumOpen):
22061         (chromiumDelete):
22062         (chromiumAccess):
22063         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
22064         * plugins/chromium/PluginDataChromium.cpp:
22065         (WebCore::PluginCache::plugins):
22066         * rendering/RenderThemeChromiumMac.mm:
22067         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
22068         * rendering/RenderThemeChromiumSkia.cpp:
22069         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
22070         * rendering/RenderThemeChromiumWin.cpp:
22071         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
22072         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
22073         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
22074         (WebCore::RenderThemeChromiumWin::systemColor):
22075         (WebCore::RenderThemeChromiumWin::paintButton):
22076         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
22077         (WebCore::menuListButtonWidth):
22078         (WebCore::RenderThemeChromiumWin::paintMenuList):
22079         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
22080         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
22081         (WebCore::RenderThemeChromiumWin::paintProgressBar):
22082         * storage/chromium/IDBFactoryBackendInterface.cpp:
22083         (WebCore::IDBFactoryBackendInterface::create):
22084         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
22085         * storage/chromium/IDBKeyPathBackendImpl.cpp:
22086         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
22087
22088 2011-01-19  Helder Correia  <helder@sencha.com>
22089
22090         Reviewed by Andreas Kling.
22091
22092         [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
22093         https://bugs.webkit.org/show_bug.cgi?id=52705
22094
22095         This is related to bug 52611. The shadow color alpha must be multiplied
22096         by the context pen alpha. Fixing this results in correct behavior for
22097         Canvas path stroke() and strokeRect() [which relies on stroke()].
22098
22099         Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
22100                fast/canvas/canvas-strokeRect-alpha-shadow.html
22101
22102         * platform/graphics/qt/GraphicsContextQt.cpp:
22103         (WebCore::GraphicsContext::strokePath):
22104
22105 2011-01-19  Darin Fisher  <darin@chromium.org>
22106
22107         Reviewed by Mihai Parparita.
22108
22109         Re-initialize the HistoryItem fully when navigating to a HistoryItem,
22110         or replacing a HistoryItem, results in a different URL.
22111
22112         https://bugs.webkit.org/show_bug.cgi?id=49654
22113
22114         This patch also forces all HistoryItems to record the post-redirect
22115         URL.  Previously, frames would remember the pre-redirect URL.  This is
22116         problematic since other members of the HistoryItem correspond to the
22117         post-redirect URL.
22118
22119         Tests: fast/history/history-replace-updates-current-item.html
22120                http/tests/navigation/redirect-on-back-updates-history-item.html
22121                http/tests/navigation/redirect-on-reload-updates-history-item.html
22122
22123         * history/HistoryItem.cpp:
22124         (WebCore::HistoryItem::HistoryItem):
22125         (WebCore::HistoryItem::reset):
22126         * history/HistoryItem.h:
22127         * loader/HistoryController.cpp:
22128         (WebCore::HistoryController::updateForBackForwardNavigation):
22129         (WebCore::HistoryController::updateForReload):
22130         (WebCore::HistoryController::updateForStandardLoad):
22131         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
22132         (WebCore::HistoryController::initializeItem):
22133         (WebCore::HistoryController::createItem):
22134         (WebCore::HistoryController::createItemTree):
22135         (WebCore::HistoryController::updateCurrentItem):
22136         * loader/HistoryController.h:
22137
22138 2011-01-19  Adam Klein  <adamk@chromium.org>
22139
22140         Reviewed by Darin Fisher.
22141
22142         [chromium] Rename ChromiumBridge to PlatformBridge
22143         https://bugs.webkit.org/show_bug.cgi?id=52471
22144
22145         No tests added as this is a rename; no change in behavior.
22146
22147         * WebCore.gypi:
22148         * bindings/v8/V8DOMWindowShell.cpp:
22149         (WebCore::reportFatalErrorInV8):
22150         * page/PageGroup.cpp:
22151         (WebCore::PageGroup::isLinkVisited):
22152         * platform/android/PlatformBridge.h:
22153         * platform/audio/chromium/AudioBusChromium.cpp:
22154         (WebCore::createBusFromInMemoryAudioFile):
22155         * platform/chromium/ChromiumBridge.h: Removed.
22156         * platform/chromium/ChromiumDataObjectLegacy.cpp:
22157         (WebCore::ChromiumDataObjectLegacy::getData):
22158         * platform/chromium/DragDataChromium.cpp:
22159         (WebCore::DragData::asURL):
22160         * platform/chromium/FileSystemChromium.cpp:
22161         (WebCore::deleteFile):
22162         (WebCore::deleteEmptyDirectory):
22163         (WebCore::getFileSize):
22164         (WebCore::getFileModificationTime):
22165         (WebCore::revealFolderInOS):
22166         (WebCore::directoryName):
22167         (WebCore::pathByAppendingComponent):
22168         (WebCore::makeAllDirectories):
22169         (WebCore::fileExists):
22170         (WebCore::openFile):
22171         (WebCore::closeFile):
22172         (WebCore::seekFile):
22173         (WebCore::truncateFile):
22174         (WebCore::readFromFile):
22175         (WebCore::writeToFile):
22176         * platform/chromium/LanguageChromium.cpp:
22177         (WebCore::platformDefaultLanguage):
22178         * platform/chromium/LinkHashChromium.cpp:
22179         (WebCore::visitedLinkHash):
22180         * platform/chromium/MIMETypeRegistryChromium.cpp:
22181         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
22182         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
22183         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
22184         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
22185         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
22186         * platform/chromium/PasteboardChromium.cpp:
22187         (WebCore::Pasteboard::writeSelection):
22188         (WebCore::Pasteboard::writePlainText):
22189         (WebCore::Pasteboard::writeURL):
22190         (WebCore::Pasteboard::writeImage):
22191         (WebCore::Pasteboard::canSmartReplace):
22192         (WebCore::Pasteboard::plainText):
22193         (WebCore::Pasteboard::documentFragment):
22194         * platform/chromium/PlatformBridge.h:
22195         * platform/chromium/PlatformScreenChromium.cpp:
22196         (WebCore::screenDepth):
22197         (WebCore::screenDepthPerComponent):
22198         (WebCore::screenIsMonochrome):
22199         (WebCore::screenRect):
22200         (WebCore::screenAvailableRect):
22201         * platform/chromium/ReadableDataObject.cpp:
22202         (WebCore::ReadableDataObject::getData):
22203         (WebCore::ReadableDataObject::urlTitle):
22204         (WebCore::ReadableDataObject::htmlBaseUrl):
22205         (WebCore::ReadableDataObject::filenames):
22206         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
22207         * platform/chromium/SSLKeyGeneratorChromium.cpp:
22208         (WebCore::signedPublicKeyAndChallengeString):
22209         * platform/chromium/ScrollbarThemeChromium.cpp:
22210         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
22211         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
22212         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
22213         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
22214         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
22215         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
22216         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
22217         * platform/chromium/ScrollbarThemeChromiumMac.mm:
22218         (WebCore::scrollbarStateToThemeState):
22219         (WebCore::ScrollbarThemeChromiumMac::paint):
22220         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
22221         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
22222         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
22223         (WebCore::ScrollbarThemeChromiumWin::paintButton):
22224         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
22225         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
22226         * platform/chromium/SharedTimerChromium.cpp:
22227         (WebCore::setSharedTimerFiredFunction):
22228         (WebCore::setSharedTimerFireTime):
22229         (WebCore::stopSharedTimer):
22230         * platform/chromium/SuddenTerminationChromium.cpp:
22231         (WebCore::disableSuddenTermination):
22232         (WebCore::enableSuddenTermination):
22233         * platform/chromium/SystemTimeChromium.cpp:
22234         (WebCore::currentTime):
22235         * platform/chromium/WritableDataObject.cpp:
22236         (WebCore::WritableDataObject::setData):
22237         * platform/graphics/chromium/CrossProcessFontLoading.mm:
22238         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
22239         (WebCore::fontContainsCharacter):
22240         (WebCore::FillLogFont):
22241         * platform/graphics/chromium/FontCacheLinux.cpp:
22242         (WebCore::FontCache::getFontDataForCharacters):
22243         * platform/graphics/chromium/FontChromiumWin.cpp:
22244         (WebCore::Font::drawGlyphs):
22245         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
22246         (WebCore::FontPlatformData::scriptFontProperties):
22247         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
22248         (WebCore::FontPlatformData::querySystemForRenderStyle):
22249         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
22250         (WebCore::fillBMPGlyphs):
22251         * platform/graphics/chromium/ImageChromium.cpp:
22252         (WebCore::Image::loadPlatformResource):
22253         * platform/graphics/chromium/ImageChromiumMac.mm:
22254         (WebCore::Image::loadPlatformResource):
22255         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
22256         (WebCore::SimpleFontData::platformInit):
22257         (WebCore::SimpleFontData::determinePitch):
22258         (WebCore::SimpleFontData::platformWidthForGlyph):
22259         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
22260         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
22261         * platform/graphics/skia/FontCustomPlatformData.cpp:
22262         (WebCore::FontCustomPlatformData::fontPlatformData):
22263         * platform/network/chromium/CookieJarChromium.cpp:
22264         (WebCore::setCookies):
22265         (WebCore::cookies):
22266         (WebCore::cookieRequestHeaderFieldValue):
22267         (WebCore::cookiesEnabled):
22268         (WebCore::getRawCookies):
22269         (WebCore::deleteCookie):
22270         * platform/network/chromium/DNSChromium.cpp:
22271         (WebCore::prefetchDNS):
22272         * platform/qt/PlatformBridge.h:
22273         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
22274         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
22275         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
22276         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
22277         (chromiumOpen):
22278         (chromiumDelete):
22279         (chromiumAccess):
22280         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
22281         * plugins/chromium/PluginDataChromium.cpp:
22282         (WebCore::PluginCache::plugins):
22283         * rendering/RenderThemeChromiumMac.mm:
22284         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
22285         * rendering/RenderThemeChromiumSkia.cpp:
22286         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
22287         * rendering/RenderThemeChromiumWin.cpp:
22288         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
22289         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
22290         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
22291         (WebCore::RenderThemeChromiumWin::systemColor):
22292         (WebCore::RenderThemeChromiumWin::paintButton):
22293         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
22294         (WebCore::menuListButtonWidth):
22295         (WebCore::RenderThemeChromiumWin::paintMenuList):
22296         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
22297         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
22298         (WebCore::RenderThemeChromiumWin::paintProgressBar):
22299         * storage/chromium/IDBFactoryBackendInterface.cpp:
22300         (WebCore::IDBFactoryBackendInterface::create):
22301         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
22302         * storage/chromium/IDBKeyPathBackendImpl.cpp:
22303         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
22304
22305 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
22306
22307         Unreviewed, rolling out r76187.
22308         http://trac.webkit.org/changeset/76187
22309         https://bugs.webkit.org/show_bug.cgi?id=52778
22310
22311         Broke caret-showing tests on SnowLeopard and Chromium
22312         (Requested by dimich on #webkit).
22313
22314         * rendering/RenderText.cpp:
22315         (WebCore::RenderText::localCaretRect):
22316
22317 2011-01-19  Yuzo Fujishima  <yuzo@google.com>
22318
22319         Reviewed by Kent Tamura.
22320
22321         Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
22322         https://bugs.webkit.org/show_bug.cgi?id=52279
22323
22324         In constructing text fragments to handle first-letter rule, first add
22325         the text for the non-first letters and then remove the original text,
22326         rather than the other way around. Otherwise, the text can be added to
22327         an anoymous block that is different from the original one. This breaks
22328         the assumption that a first letter render object has a non-null sibling
22329         for the non-first letters and causes a crash.
22330
22331         Test: fast/css/first-letter-anonymous-block-crash.html
22332
22333         * rendering/RenderBlock.cpp:
22334         (WebCore::RenderBlock::updateFirstLetter):
22335
22336 2011-01-19  James Robinson  <jamesr@chromium.org>
22337
22338         Unreviewed, rolling out r76194.
22339         http://trac.webkit.org/changeset/76194
22340         https://bugs.webkit.org/show_bug.cgi?id=51218
22341
22342         Caused mysterious compile failure on the chromium win
22343         build.webkit.org bots
22344
22345         * WebCore.gypi:
22346         * dom/Document.cpp:
22347         (WebCore::Document::Document):
22348         * dom/Document.h:
22349         * dom/RequestAnimationFrameCallback.h: Removed.
22350         * dom/RequestAnimationFrameCallback.idl: Removed.
22351         * loader/EmptyClients.h:
22352         * page/Chrome.cpp:
22353         * page/Chrome.h:
22354         * page/ChromeClient.h:
22355         * page/DOMWindow.cpp:
22356         * page/DOMWindow.h:
22357         * page/DOMWindow.idl:
22358         * page/FrameView.cpp:
22359         * page/FrameView.h:
22360         * platform/HostWindow.h:
22361
22362 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
22363
22364         Reviewed by Sam Weinig.
22365
22366         GraphicsLayers in subframes can get sync'd multiple times
22367         https://bugs.webkit.org/show_bug.cgi?id=52489
22368
22369         Some cleanup that will work towards fixing this bug.
22370         
22371         Tested by existing iframe compositing tests.
22372
22373         * WebCore.exp.in: syncCompositingStateRecursive()
22374         was renamed to syncCompositingStateIncludingSubframes().
22375
22376         * page/FrameView.h:
22377         * page/FrameView.cpp:
22378         (WebCore::FrameView::syncCompositingStateForThisFrame): Some
22379         code cleanup: do all the word we need to do for this frame,
22380         including the needsLayout() check.
22381         (WebCore::FrameView::syncCompositingStateIncludingSubframes):
22382         This is no longer recursive; instead, it iterates over descendant
22383         frames via the frame tree, calling syncCompositingStateForThisFrame()
22384         on each Frame's view.
22385
22386         * rendering/RenderLayerCompositor.h:
22387         (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
22388         * rendering/RenderLayerCompositor.cpp: 
22389         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
22390         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
22391         a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
22392         (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
22393         Add the ability to get the rootmost compositor that is in the middle
22394         of a flush.
22395
22396 2011-01-19  James Robinson  <jamesr@chromium.org>
22397
22398         Reviewed by Darin Fisher.
22399
22400         Implement mozilla's requestAnimationFrame API
22401         https://bugs.webkit.org/show_bug.cgi?id=51218
22402
22403         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
22404         an author driving an animation from script could use window.requestAnimationFrame(callback)
22405         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
22406         decide when to update the animations.  This avoids doing unnecessary work when the page content
22407         is offscreen or is being displayed at a different framerate than what the page author expects.
22408
22409         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
22410         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
22411         following changes:
22412         *) Only the callback syntax is supported, there is no before paint event
22413         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
22414             what content they intend to animate.  That way if the page is being displayed but the element
22415             in question is offscreen, we can avoid invoking the callback.
22416         *) No timestamp is provided to the caller and there is no window.animationStartTime property
22417             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
22418         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
22419             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
22420
22421         The implementation depends on the embedder scheduling the callbacks since the callback invocation
22422         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
22423         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
22424         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
22425         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
22426         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
22427         rendering loop.
22428
22429         Tests: fast/animation/request-animation-frame-cancel.html
22430                fast/animation/request-animation-frame-cancel2.html
22431                fast/animation/request-animation-frame-display.html
22432                fast/animation/request-animation-frame-within-callback.html
22433                fast/animation/request-animation-frame.html
22434
22435         * WebCore.gypi:
22436         * dom/Document.cpp:
22437         (WebCore::Document::Document):
22438         (WebCore::Document::webkitRequestAnimationFrame):
22439         (WebCore::Document::webkitCancelRequestAnimationFrame):
22440         (WebCore::Document::serviceScriptedAnimations):
22441         * dom/Document.h:
22442         * dom/RequestAnimationFrameCallback.h: Added.
22443         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
22444         * dom/RequestAnimationFrameCallback.idl: Added.
22445         * loader/EmptyClients.h:
22446         (WebCore::EmptyChromeClient::scheduleAnimation):
22447         * page/Chrome.cpp:
22448         (WebCore::Chrome::scheduleAnimation):
22449         * page/Chrome.h:
22450         * page/ChromeClient.h:
22451         * page/DOMWindow.cpp:
22452         (WebCore::DOMWindow::webkitRequestAnimationFrame):
22453         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
22454         * page/DOMWindow.h:
22455         * page/DOMWindow.idl:
22456         * page/FrameView.cpp:
22457         (WebCore::FrameView::scheduleAnimation):
22458         (WebCore::FrameView::serviceScriptedAnimations):
22459         * page/FrameView.h:
22460         * platform/HostWindow.h:
22461
22462 2011-01-13  Martin Robinson  <mrobinson@igalia.com>
22463
22464         Reviewed by Daniel Bates.
22465
22466         [GTK] Move progress bar painting out of gtk2drawing.c
22467         https://bugs.webkit.org/show_bug.cgi?id=52385
22468
22469         Move progress bar painting to RenderThemeGtk2 and share some animation
22470         logic between the GTK+ 2.x and GTK+ 3.x port.
22471
22472         No new tests. This should not change functionality.
22473
22474         * platform/gtk/RenderThemeGtk.cpp:
22475         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
22476         (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
22477         (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
22478         progress indicator given the rect for the maximum size of the indicator.
22479         * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
22480         a new widget member for GTK+ 2.x
22481         * platform/gtk/RenderThemeGtk2.cpp:
22482         (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
22483         (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
22484         calling the old Mozilla code.
22485         (WebCore::RenderThemeGtk::gtkProgressBar): Added.
22486         * platform/gtk/RenderThemeGtk3.cpp:
22487         (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
22488         the area of the progress indicator.
22489         * platform/gtk/gtk2drawing.c: Remove unused code.
22490         (moz_gtk_get_widget_border):
22491         (moz_gtk_widget_paint):
22492         * platform/gtk/gtkdrawing.h: Ditto.
22493
22494 2011-01-19  Dmitry Titov  <dimich@chromium.org>
22495
22496         [Chromium] Not reviewed, reverts the following changes:
22497         http://trac.webkit.org/changeset/76164 (build fix)
22498         http://trac.webkit.org/changeset/76159 (main change)
22499
22500         The change broke Chromium Linux-shlib build.
22501
22502         Original issue:
22503         Accelerated canvas2D has bad clipping performance.
22504         https://bugs.webkit.org/show_bug.cgi?id=52627
22505
22506         * WebCore.gyp/WebCore.gyp:
22507         * WebCore.gypi:
22508         * html/canvas/CanvasRenderingContext2D.cpp:
22509         (WebCore::CanvasRenderingContext2D::reset):
22510         (WebCore::CanvasRenderingContext2D::platformLayer):
22511         * platform/graphics/chromium/DrawingBufferChromium.cpp:
22512         (WebCore::DrawingBuffer::DrawingBuffer):
22513         * platform/graphics/chromium/GLES2Canvas.cpp:
22514         (WebCore::GLES2Canvas::State::State):
22515         (WebCore::GLES2Canvas::clearRect):
22516         (WebCore::GLES2Canvas::fillRect):
22517         (WebCore::GLES2Canvas::restore):
22518         (WebCore::GLES2Canvas::drawTexturedRect):
22519         * platform/graphics/chromium/GLES2Canvas.h:
22520         * platform/graphics/gpu/DrawingBuffer.cpp:
22521         (WebCore::DrawingBuffer::clear):
22522         (WebCore::DrawingBuffer::createSecondaryBuffers):
22523         (WebCore::DrawingBuffer::reset):
22524         * platform/graphics/gpu/DrawingBuffer.h:
22525         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
22526         (WebCore::SharedGraphicsContext3D::create):
22527         * platform/graphics/gpu/SharedGraphicsContext3D.h:
22528         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
22529         (WebCore::DrawingBuffer::DrawingBuffer):
22530         * platform/graphics/skia/GraphicsContextSkia.cpp:
22531         (WebCore::GraphicsContext::canvasClip):
22532         (WebCore::GraphicsContext::clipOut):
22533         (WebCore::GraphicsContext::clipPath):
22534         (WebCore::GraphicsContext::fillPath):
22535         * platform/graphics/skia/PlatformContextSkia.cpp:
22536         (WebCore::PlatformContextSkia::canAccelerate):
22537         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
22538         * thirdparty/glu/README.webkit:
22539         * thirdparty/glu/gluos.h:
22540         * thirdparty/glu/libtess/geom.c:
22541         * thirdparty/glu/libtess/priorityq.c:
22542         * thirdparty/glu/libtess/render.c:
22543         * thirdparty/glu/libtess/sweep.c:
22544         (IsWindingInside):
22545         (DoneEdgeDict):
22546
22547 2011-01-19  Levi Weintraub  <leviw@google.com>
22548
22549         Reviewed by Darin Adler.
22550
22551         Re-committing this with the proper expected results.
22552
22553         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
22554         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
22555         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
22556
22557         Long lines in non-white-space-pre editable documents show cursor in wrong place
22558         https://bugs.webkit.org/show_bug.cgi?id=48132
22559
22560         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
22561
22562         * rendering/RenderText.cpp:
22563         (WebCore::RenderText::localCaretRect):
22564
22565 2011-01-18 MORITA Hajime <morrita@google.com>
22566
22567         Reviewed by David Levin.
22568
22569         ElementRareData::m_shadowRoot should not be RefPtr.
22570         https://bugs.webkit.org/show_bug.cgi?id=51914
22571
22572         Makes ElementRareData::m_shadowRoot a raw pointer because
22573         ElementRareData::m_shadowRoot should be like a
22574         ContaineNode::m_firstChild, which is also a raw pointer.
22575         pointer. Which also means that both the shadow root and the shadow
22576         host reference each other as a parent-and-child relationship, via
22577         a raw pointer.
22578         
22579         Note that it is safe not to manipulate the ref-count of
22580         m_shadowRoot because Node::m_parent of the shadow root points its
22581         shadow host, and the object isn't deleted even if the refcount is
22582         zero, as long as the node has non-null m_parent. (See TreeShared.)
22583         
22584         The shadow root node is finally destroyed inside
22585         removeShadowRoot(), where we store the root node into a local
22586         RefPtr, then make the node's m_parent null, which results the
22587         destroy the node, at the end of the function, by RefPtr::~RefPtr.
22588         
22589         No new tests. No behavioral change.
22590
22591         * dom/Element.cpp:
22592         (WebCore::Element::~Element):
22593         (WebCore::Element::shadowRoot):
22594         (WebCore::Element::setShadowRoot):
22595         (WebCore::Element::removeShadowRoot):
22596         * dom/ElementRareData.h:
22597         (WebCore::ElementRareData::ElementRareData):
22598         (WebCore::ElementRareData::~ElementRareData):
22599
22600 2011-01-12  Martin Robinson  <mrobinson@igalia.com>
22601
22602         Reviewed by Gustavo Noronha Silva.
22603
22604         [GTK] Move text field painting out of gtk2drawing.c
22605         https://bugs.webkit.org/show_bug.cgi?id=52327
22606
22607         No new tests. This should not change behavior.
22608
22609         * platform/gtk/RenderThemeGtk2.cpp:
22610         (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
22611         (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
22612         of calling into the Mozilla code.
22613         * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
22614         for GTK+ theme functions.
22615         (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
22616         (WebCore::WidgetRenderingContext::gtkPaintShadow):
22617         * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
22618         * platform/gtk/gtk2drawing.c: Remove unused code.
22619         (moz_gtk_get_widget_border):
22620         (moz_gtk_widget_paint):
22621         * platform/gtk/gtkdrawing.h:
22622
22623 2011-01-19  Antti Koivisto  <antti@apple.com>
22624
22625         Reviewed by Oliver Hunt.
22626
22627         Cache function offsets to speed up javascript parsing
22628         https://bugs.webkit.org/show_bug.cgi?id=52622
22629         
22630         Use cache to save function offsets and some other info.
22631         This avoids quite a bit of work when reparsing the source.
22632
22633         * bindings/js/CachedScriptSourceProvider.h:
22634         (WebCore::CachedScriptSourceProvider::cache):
22635         (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
22636         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
22637         * bindings/js/ScriptSourceProvider.h:
22638         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
22639         * loader/cache/CachedScript.cpp:
22640         (WebCore::CachedScript::destroyDecodedData):
22641         (WebCore::CachedScript::sourceProviderCache):
22642         (WebCore::CachedScript::sourceProviderCacheSizeChanged):
22643         * loader/cache/CachedScript.h:
22644
22645 2011-01-11  Martin Robinson  <mrobinson@igalia.com>
22646
22647         Reviewed by Gustavo Noronha Silva.
22648
22649         [GTK] Move toggle button rendering out of gtk2drawing.c
22650         https://bugs.webkit.org/show_bug.cgi?id=52258
22651
22652         * platform/gtk/RenderThemeGtk.h:
22653         * platform/gtk/RenderThemeGtk2.cpp:
22654         (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
22655         (WebCore::adjustRectForFocus): Added this function which inflates a rect based
22656         on a widget's exterior focus.
22657         (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
22658         (WebCore::setToggleSize): Only listen to indicator-size to properly size
22659         checkboxes and radio buttons.
22660         (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
22661         (WebCore::paintToggle): Added.
22662         (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
22663         (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
22664         (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
22665         (WebCore::RenderThemeGtk::gtkRadioButton): Added.
22666         (WebCore::RenderThemeGtk::gtkCheckButton): Added.
22667         * platform/gtk/WidgetRenderingContext.cpp:
22668         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
22669         variable. This is good enough for all themes that I've tested and prevents having to
22670         pass information from RenderThemeGtk about every single type of widget.
22671         (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
22672         to draw instead of m_paintRect. This is important when we're painting
22673         something that isn't the size of the total rect.
22674         (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
22675         (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
22676         * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
22677         * platform/gtk/gtkdrawing.h: Remove newly unused code.
22678         * platform/gtk/gtk2drawing.c: Ditto.
22679
22680 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
22681
22682         Unreviewed build fix.
22683
22684         Build fix for r76170
22685         https://bugs.webkit.org/show_bug.cgi?id=52758
22686
22687         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
22688
22689 2011-01-19  David D. Kilzer  <ddkilzer@apple.com>
22690
22691         <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
22692
22693         Reviewed by Eric Carlson.
22694
22695         * loader/FrameLoader.cpp: Declare the methods here.
22696         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
22697         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
22698         * loader/FrameLoader.cpp: Moved methods to here...
22699         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
22700         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
22701         * loader/SubframeLoader.cpp: ...from here.
22702         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
22703         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
22704
22705 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
22706
22707         Reviewed by Mihai Parparita.
22708
22709         Perform some forward declaration
22710         https://bugs.webkit.org/show_bug.cgi?id=52522
22711
22712         No new tests because no new functionality.
22713
22714         * accessibility/AccessibilityObject.h:
22715         * css/WebKitCSSMatrix.cpp:
22716         * html/HTMLAreaElement.cpp:
22717         * html/canvas/CanvasRenderingContext2D.cpp:
22718         * inspector/InspectorController.cpp:
22719         * platform/graphics/FloatPoint.cpp:
22720         * platform/graphics/Font.cpp:
22721         * platform/graphics/Font.h:
22722         * platform/graphics/FontFastPath.cpp:
22723         * platform/graphics/GraphicsContext.cpp:
22724         * platform/graphics/ImageBuffer.h:
22725         * platform/graphics/StringTruncator.cpp:
22726         * platform/graphics/WidthIterator.cpp:
22727         * platform/graphics/mac/ComplexTextController.cpp:
22728         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
22729         * platform/graphics/mac/FontComplexTextMac.cpp:
22730         * platform/graphics/transforms/TransformationMatrix.cpp:
22731         * platform/graphics/transforms/TransformationMatrix.h:
22732         * rendering/EllipsisBox.cpp:
22733         * rendering/InlineTextBox.cpp:
22734         * rendering/RenderBlock.cpp:
22735         * rendering/RenderBlockLineLayout.cpp:
22736         * rendering/RenderEmbeddedObject.cpp:
22737         * rendering/RenderFileUploadControl.cpp:
22738         * rendering/RenderFlexibleBox.cpp:
22739         * rendering/RenderImage.cpp:
22740         * rendering/RenderListBox.cpp:
22741         * rendering/RenderListMarker.cpp:
22742         * rendering/RenderMenuList.cpp:
22743         * rendering/RenderObject.h:
22744         * rendering/RenderText.cpp:
22745         * rendering/RenderTextControl.cpp:
22746         * rendering/svg/SVGInlineTextBox.cpp:
22747         * rendering/svg/SVGMarkerLayoutInfo.h:
22748         * rendering/svg/SVGTextMetrics.cpp:
22749         * svg/SVGFont.cpp:
22750
22751 2011-01-19  Adrienne Walker  <enne@google.com>
22752
22753         Reviewed by Kenneth Russell.
22754
22755         [chromium] Tiled compositor should use texture manager
22756         https://bugs.webkit.org/show_bug.cgi?id=52418
22757
22758         Test: compositing/
22759
22760         * platform/graphics/chromium/LayerRendererChromium.cpp:
22761         (WebCore::LayerRendererChromium::~LayerRendererChromium):
22762         (WebCore::LayerRendererChromium::cleanupSharedObjects):
22763         * platform/graphics/chromium/LayerTilerChromium.cpp:
22764         (WebCore::LayerTilerChromium::LayerTilerChromium):
22765         (WebCore::LayerTilerChromium::reset):
22766         (WebCore::LayerTilerChromium::createTile):
22767         (WebCore::LayerTilerChromium::update):
22768         (WebCore::LayerTilerChromium::draw):
22769         * platform/graphics/chromium/LayerTilerChromium.h:
22770         (WebCore::LayerTilerChromium::Tile::Tile):
22771         (WebCore::LayerTilerChromium::Tile::texture):
22772
22773 2011-01-19  Stephen White  <senorblanco@chromium.org>
22774
22775         Unreviewed; build fix for chromium.
22776
22777         * platform/graphics/chromium/GLES2Canvas.cpp:
22778         (WebCore::GLES2Canvas::fillPath):
22779
22780 2011-01-18  Stephen White  <senorblanco@chromium.org>
22781
22782         Reviewed by James Robinson.
22783
22784         Implement accelerated path drawing and clipping for the Canvas2D GPU
22785         path.
22786         https://bugs.webkit.org/show_bug.cgi?id=52627
22787         
22788         This is done with a simple curve interpolator and the GLU tesselator,
22789         which is good enough for a 3-5X speedup on
22790         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
22791
22792         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
22793         All tests canvas/philip and fast/canvas paths pass with no
22794         regressions, although two have minor pixel differences which require
22795         rebaselining.
22796
22797         * WebCore.gyp/WebCore.gyp:
22798         Add internal_glu include path to chromium build.
22799         * WebCore.gypi:
22800         Add internal_glu files to chromium build.
22801         * html/canvas/CanvasRenderingContext2D.cpp:
22802         (WebCore::CanvasRenderingContext2D::reset):
22803         (WebCore::CanvasRenderingContext2D::platformLayer):
22804         Make CanvasRenderingContext2D more robust against failure to create
22805         a DrawingBuffer.
22806         * platform/graphics/chromium/DrawingBufferChromium.cpp:
22807         (WebCore::DrawingBuffer::DrawingBuffer):
22808         As in DrawingBufferMac.cpp, call reset() from the constructor.
22809         Also initialize size to (-1, -1), so reset() doesn't early-out.
22810         Add initializers for depthBuffer and stencilBuffer, and remove
22811         multisampleDepthStencilBuffer.
22812         * platform/graphics/chromium/GLES2Canvas.cpp:
22813         Remove some unused #includes.
22814         (WebCore::GLES2Canvas::State::State):
22815         Add clipping state, and implement save/restore via the copy constructor.
22816         (WebCore::operator*):
22817         (WebCore::Quadratic::Quadratic):
22818         (WebCore::Quadratic::fromBezier):
22819         (WebCore::Quadratic::evaluate):
22820         Quadratic Bezier curve class.
22821         (WebCore::Cubic::Cubic):
22822         (WebCore::Cubic::fromBezier):
22823         (WebCore::Cubic::evaluate):
22824         Cubic Bezier curve class.
22825         (WebCore::GLES2Canvas::clearRect):
22826         Add clipping support to clearRect().
22827         (WebCore::GLES2Canvas::fillPath):
22828         Implement fillPath().
22829         (WebCore::GLES2Canvas::fillRect):
22830         Add clipping support to fillRect().
22831         (WebCore::GLES2Canvas::clipPath):
22832         Implement clipPath().
22833         (WebCore::GLES2Canvas::clipOut):
22834         Stub out clipOut() (not called by Canvas 2D).
22835         (WebCore::GLES2Canvas::restore):
22836         When restoring, draw any remaining clipping paths to the stencil buffer.
22837         (WebCore::GLES2Canvas::drawTexturedRect):
22838         Add clipping support.
22839         (WebCore::interpolateQuadratic):
22840         (WebCore::interpolateCubic):
22841         Simple curve interpolation, using the Cubic and Quadratic classes.
22842         (WebCore::PolygonData::PolygonData):
22843         A struct to hold the tesselation data for callbacks.
22844         (WebCore::beginData):
22845         (WebCore::edgeFlagData):
22846         (WebCore::vertexData):
22847         (WebCore::endData):
22848         (WebCore::combineData):
22849         internal_glu tesselation callbacks.
22850         (WebCore::GLES2Canvas::createVertexBufferFromPath):
22851         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
22852         (WebCore::GLES2Canvas::beginStencilDraw):
22853         Enable stencilling, and disable draws to the color buffer.
22854         (WebCore::GLES2Canvas::applyClipping):
22855         If clipping is enabled, set the appropriate GL state.
22856         * platform/graphics/chromium/GLES2Canvas.h:
22857         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
22858         * platform/graphics/gpu/DrawingBuffer.cpp:
22859         (WebCore::DrawingBuffer::clear):
22860         (WebCore::DrawingBuffer::createSecondaryBuffers):
22861         (WebCore::DrawingBuffer::resizeDepthStencil):
22862         (WebCore::DrawingBuffer::reset):
22863         * platform/graphics/gpu/DrawingBuffer.h:
22864         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
22865         Implement separate depth and stencil buffers for when
22866         OES_packed_depth_stencil is not available.  Refactor creation of
22867         multisampled and non-multisampled depth and stencil buffers into
22868         resizeDepthStencil().
22869         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
22870         (WebCore::SharedGraphicsContext3D::create):
22871         Turn on stencil, turn off depth, turn off antialiasing (for now).
22872         (WebCore::SharedGraphicsContext3D::enableStencil):
22873         * platform/graphics/gpu/SharedGraphicsContext3D.h:
22874         Implement stencil enable/disable.
22875         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
22876         (WebCore::DrawingBuffer::DrawingBuffer):
22877         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
22878         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
22879         and m_stencilBuffer.
22880         * platform/graphics/skia/GraphicsContextSkia.cpp:
22881         (WebCore::GraphicsContext::canvasClip):
22882         (WebCore::GraphicsContext::clipOut):
22883         (WebCore::GraphicsContext::clipPath):
22884         (WebCore::GraphicsContext::fillPath):
22885         Put in GPU hooks for path clipping, and path drawing.
22886         * platform/graphics/skia/PlatformContextSkia.cpp:
22887         (WebCore::PlatformContextSkia::canAccelerate):
22888         Don't check for clipping paths in canAccelerate() (since we can
22889         now accelerate them).
22890         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
22891         Don't do clipping when uploading software draws to hardware.
22892         * thirdparty/glu/README.webkit:
22893         * thirdparty/glu/gluos.h:
22894         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
22895         * thirdparty/glu/libtess/geom.c:
22896         * thirdparty/glu/libtess/priorityq.c:
22897         * thirdparty/glu/libtess/render.c:
22898         Use do{}while(0) instead of if(1)else construct in macro.
22899         * thirdparty/glu/libtess/sweep.c:
22900         (IsWindingInside):
22901         (DoneEdgeDict):
22902         Fix some warnings treated as errors for the Linux Release build.
22903
22904 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
22905
22906         Unreviewed, rolling out r76144.
22907         http://trac.webkit.org/changeset/76144
22908         https://bugs.webkit.org/show_bug.cgi?id=52737
22909
22910         Broke tests on multiple bots, mostly Chromium Canaries
22911         (Requested by dimich on #webkit).
22912
22913         * rendering/RenderText.cpp:
22914         (WebCore::RenderText::localCaretRect):
22915
22916 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
22917
22918         Reviewed by Adam Roben.
22919
22920         [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
22921         https://bugs.webkit.org/show_bug.cgi?id=52732
22922         
22923         When repeating gradient stops, make sure that the first and last stops are not at the same
22924         place, otherwise we'll add stops indefinitely and run out of memory.
22925
22926         Test: fast/gradients/zero-range-repeating-gradient-hang.html
22927
22928         * css/CSSGradientValue.cpp:
22929         (WebCore::CSSGradientValue::addStops):
22930
22931 2011-01-14  Dimitri Glazkov  <dglazkov@chromium.org>
22932
22933         Reviewed by Darin Adler.
22934
22935         Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
22936         https://bugs.webkit.org/show_bug.cgi?id=52464
22937
22938         This change has two parts:
22939
22940         1) Utilize shadow DOM event retargeting to get rid of forwarding events
22941            via render tree;
22942         2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
22943
22944         These two are highly co-dependent. It looked ugly when I tried to
22945         separate them.
22946
22947         No change in behavior, covered by existing tests.
22948
22949         * html/HTMLInputElement.cpp:
22950         (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
22951             InputType::handleMouseDownEvent.
22952         * html/InputType.cpp:
22953         (WebCore::InputType::handleMouseDownEvent): Added empty decl.
22954         * html/InputType.h: Added def.
22955         * html/RangeInputType.cpp:
22956         (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
22957             when the user clicks on the track of the slider. Also removed the
22958             forwardEvent method.
22959         * html/RangeInputType.h: Added/removed defs.
22960         * html/shadow/SliderThumbElement.cpp:
22961         (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
22962             dragging from any position.
22963         (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
22964             specified position.
22965         (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
22966             logic in RenderSlider into this method, which is now a simple calculation
22967             and adjusting of thumb position based on supplied coordinates.
22968         (WebCore::SliderThumbElement::startDragging): Added.
22969         (WebCore::SliderThumbElement::stopDragging): Added.
22970         (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
22971             old position-sniffing logic and replaced with simple calls to start,
22972             stop, and drag the thumb.
22973         * html/shadow/SliderThumbElement.h: Added defs.
22974         * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
22975             necessary.
22976         * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
22977
22978 2011-01-19  Shane Stephens  <shanestephens@google.com>
22979
22980         Reviewed by Chris Marrin.
22981
22982         Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
22983         https://bugs.webkit.org/show_bug.cgi?id=48031
22984
22985         Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
22986         operator*= usage and switched operand order.
22987
22988         No new tests as this refactor doesn't add functionality.
22989
22990         * html/HTMLCanvasElement.cpp:
22991         (WebCore::HTMLCanvasElement::baseTransform):
22992         * html/canvas/CanvasRenderingContext2D.cpp:
22993         (WebCore::CanvasRenderingContext2D::transform):
22994         (WebCore::CanvasRenderingContext2D::setTransform):
22995         * platform/graphics/cg/PatternCG.cpp:
22996         (WebCore::Pattern::createPlatformPattern):
22997         * platform/graphics/chromium/GLES2Canvas.cpp:
22998         (WebCore::GLES2Canvas::fillRect):
22999         (WebCore::GLES2Canvas::concatCTM):
23000         (WebCore::GLES2Canvas::drawQuad):
23001         * platform/graphics/chromium/TransparencyWin.cpp:
23002         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
23003         (WebCore::TransparencyWin::setupTransformForKeepTransform):
23004         * platform/graphics/transforms/AffineTransform.cpp:
23005         (WebCore::AffineTransform::multiply):
23006         (WebCore::AffineTransform::rotate):
23007         * platform/graphics/transforms/AffineTransform.h:
23008         (WebCore::AffineTransform::operator*=):
23009         (WebCore::AffineTransform::operator*):
23010         * platform/graphics/wince/GraphicsContextWinCE.cpp:
23011         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
23012         * platform/graphics/wince/SharedBitmap.cpp:
23013         (WebCore::SharedBitmap::drawPattern):
23014         * rendering/svg/RenderSVGResourceContainer.cpp:
23015         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
23016         * rendering/svg/RenderSVGResourceGradient.cpp:
23017         (WebCore::clipToTextMask):
23018         (WebCore::RenderSVGResourceGradient::applyResource):
23019         * rendering/svg/RenderSVGResourcePattern.cpp:
23020         (WebCore::RenderSVGResourcePattern::applyResource):
23021         * rendering/svg/RenderSVGRoot.cpp:
23022         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
23023         * rendering/svg/SVGImageBufferTools.cpp:
23024         (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
23025         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
23026         * rendering/svg/SVGTextLayoutEngine.cpp:
23027         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
23028         * svg/SVGLocatable.cpp:
23029         (WebCore::SVGLocatable::computeCTM):
23030         (WebCore::SVGLocatable::getTransformToElement):
23031         * svg/SVGMatrix.h:
23032         (WebCore::SVGMatrix::multiply):
23033         * svg/SVGSVGElement.cpp:
23034         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
23035         (WebCore::SVGSVGElement::viewBoxToViewTransform):
23036         * svg/SVGStyledTransformableElement.cpp:
23037         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
23038         * svg/SVGTextElement.cpp:
23039         (WebCore::SVGTextElement::animatedLocalTransform):
23040         * svg/SVGTransformList.cpp:
23041         (WebCore::SVGTransformList::concatenate):
23042
23043 2011-01-19  Chang Shu  <chang.shu@nokia.com>
23044
23045         Reviewed by Darin Adler.
23046
23047         The return value of contentEditable() function should depend on the DOM attribute
23048         instead of render style userModify. The code change fixed test cases in the bug
23049         and partially fixed test cases in other contentEditable bugs;
23050
23051         https://bugs.webkit.org/show_bug.cgi?id=52056
23052
23053         * html/HTMLElement.cpp:
23054         (WebCore::HTMLElement::contentEditable):
23055
23056 2011-01-19  Levi Weintraub  <leviw@chromium.org>
23057
23058         Reviewed by Darin Adler.
23059
23060         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
23061         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
23062         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
23063
23064         Long lines in non-white-space-pre editable documents show cursor in wrong place
23065         https://bugs.webkit.org/show_bug.cgi?id=48132
23066
23067         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
23068
23069         * rendering/RenderText.cpp:
23070         (WebCore::RenderText::localCaretRect):
23071
23072 2011-01-19  Chris Marrin  <cmarrin@apple.com>
23073
23074         Reviewed by Simon Fraser.
23075
23076         WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
23077         https://bugs.webkit.org/show_bug.cgi?id=52695
23078
23079         Added ASSERTs to the places we assume a non-null superlayer.
23080
23081         * platform/graphics/ca/GraphicsLayerCA.cpp:
23082         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
23083         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
23084
23085 2011-01-18  Beth Dakin  <bdakin@apple.com>
23086
23087         Reviewed by Maciej Stachowiak.
23088
23089         Fix for <rdar://problem/8882916> Overlay scrollers require 
23090         content to layout underneath the scrollbar area
23091
23092         The render tree should not include scrollbar size for
23093         overlay scrollers. This patch will allow scrollers on
23094         the WebView to behave like overflow:overlay.
23095
23096         Treat overlay scrollers the same way as the !includeScrollbars
23097         case.
23098         * platform/ScrollView.cpp:
23099         (WebCore::ScrollView::visibleContentRect):
23100
23101         No corner rect for overlay scrollers.
23102         (WebCore::ScrollView::scrollCornerRect):
23103
23104         usesOverlayScrollbars() currently always returns no.
23105         * platform/ScrollbarTheme.h:
23106         (WebCore::ScrollbarTheme::usesOverlayScrollbars):
23107         * platform/mac/ScrollbarThemeMac.h:
23108         * platform/mac/ScrollbarThemeMac.mm:
23109         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
23110
23111         includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
23112         should return false for overlay scrollers. They already return
23113         false for overflow:overlay.
23114         * rendering/RenderBox.cpp:
23115         (WebCore::RenderBox::includeVerticalScrollbarSize):
23116         (WebCore::RenderBox::includeHorizontalScrollbarSize):
23117         * rendering/RenderBox.h:
23118
23119         In the render tree, always treat overlay scrollers like
23120         they have a width and height of 0.
23121         * rendering/RenderLayer.cpp:
23122         (WebCore::RenderLayer::verticalScrollbarWidth):
23123         (WebCore::RenderLayer::horizontalScrollbarHeight):
23124         * rendering/RenderListBox.cpp:
23125         (WebCore::RenderListBox::verticalScrollbarWidth):
23126
23127 2011-01-18  Evan Martin  <evan@chromium.org>
23128
23129         Reviewed by Tony Chang.
23130
23131         [chromium] simplify complex text code, fixing a handful of layout tests
23132         https://bugs.webkit.org/show_bug.cgi?id=52661
23133
23134         Change ComplexTextControllerLinux to lay out RTL text to the left from
23135         the starting point.  (Previously it always went to the right.)  This allows
23136         us to map pixel offsets more directly into offsets within the text runs,
23137         simplifying a few of the text-fiddling functions (they no longer need to
23138         track the current position, as ComplexTextController now does it).
23139
23140         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
23141         (WebCore::ComplexTextController::ComplexTextController):
23142         (WebCore::ComplexTextController::reset):
23143         (WebCore::ComplexTextController::setGlyphXPositions):
23144         * platform/graphics/chromium/ComplexTextControllerLinux.h:
23145         (WebCore::ComplexTextController::offsetX):
23146         * platform/graphics/chromium/FontLinux.cpp:
23147         (WebCore::Font::drawComplexText):
23148         (WebCore::Font::floatWidthForComplexText):
23149         (WebCore::glyphIndexForXPositionInScriptRun):
23150         (WebCore::Font::offsetForPositionForComplexText):
23151         (WebCore::Font::selectionRectForComplexText):
23152
23153 2011-01-19  Pavel Feldman  <pfeldman@chromium.org>
23154
23155         Reviewed by Yury Semikhatsky.
23156
23157         Web Inspector: move methods from InjectedScript domain into DOM,
23158         Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
23159         https://bugs.webkit.org/show_bug.cgi?id=52717
23160
23161         * CMakeLists.txt:
23162         * GNUmakefile.am:
23163         * WebCore.gypi:
23164         * WebCore.pro:
23165         * WebCore.vcproj/WebCore.vcproj:
23166         * WebCore.xcodeproj/project.pbxproj:
23167         * inspector/CodeGeneratorInspector.pm:
23168         * inspector/InjectedScript.cpp:
23169         (WebCore::InjectedScript::evaluateOnCallFrame):
23170         (WebCore::InjectedScript::getCompletions):
23171         (WebCore::InjectedScript::getCompletionsOnCallFrame):
23172         * inspector/InjectedScript.h:
23173         * inspector/InjectedScriptHost.cpp:
23174         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
23175         * inspector/InjectedScriptHost.h:
23176         * inspector/InjectedScriptSource.js:
23177         (.):
23178         ():
23179         * inspector/Inspector.idl:
23180         * inspector/InspectorController.cpp:
23181         (WebCore::InspectorController::connectFrontend):
23182         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
23183         * inspector/InspectorController.h:
23184         * inspector/InspectorDOMAgent.cpp:
23185         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
23186         (WebCore::InspectorDOMAgent::resolveNode):
23187         (WebCore::InspectorDOMAgent::getNodeProperties):
23188         (WebCore::InspectorDOMAgent::getNodePrototypes):
23189         (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
23190         * inspector/InspectorDOMAgent.h:
23191         (WebCore::EventListenerInfo::EventListenerInfo):
23192         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
23193         (WebCore::InspectorDOMAgent::create):
23194         (WebCore::InspectorDOMAgent::cast):
23195         (WebCore::InspectorDOMAgent::documents):
23196         * inspector/InspectorDebuggerAgent.cpp:
23197         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
23198         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
23199         (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
23200         * inspector/InspectorDebuggerAgent.h:
23201         * inspector/InspectorRuntimeAgent.cpp: Added.
23202         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
23203         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
23204         (WebCore::InspectorRuntimeAgent::evaluate):
23205         (WebCore::InspectorRuntimeAgent::getCompletions):
23206         (WebCore::InspectorRuntimeAgent::getProperties):
23207         (WebCore::InspectorRuntimeAgent::setPropertyValue):
23208         (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
23209         (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
23210         * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
23211         (WebCore::InspectorRuntimeAgent::create):
23212         * inspector/front-end/ConsoleView.js:
23213         (WebInspector.ConsoleView.prototype.completions):
23214         * inspector/front-end/ScriptsPanel.js:
23215         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
23216
23217 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
23218
23219         Reviewed by Yury Semikhatsky.
23220
23221         Web Inspector: add UglifyJS parser and formatter files
23222         https://bugs.webkit.org/show_bug.cgi?id=51702
23223
23224         * WebCore.gypi:
23225         * WebCore.vcproj/WebCore.vcproj:
23226         * inspector/front-end/ScriptFormatter.js:
23227         (WebInspector.ScriptFormatter.positionToLocation):
23228         (WebInspector.ScriptFormatter.prototype.format.messageHandler):
23229         (WebInspector.ScriptFormatter.prototype.format):
23230         (WebInspector.ScriptFormatter.prototype._buildMapping):
23231         (WebInspector.ScriptFormatter.prototype._convertPosition):
23232         * inspector/front-end/SourceFrame.js:
23233         (WebInspector.SourceFrame.prototype.formatSource.didFormat):
23234         (WebInspector.SourceFrame.prototype.formatSource):
23235         * inspector/front-end/WebKit.qrc:
23236         * inspector/front-end/parse-js.js: Added. UglifyJS parser.
23237         * inspector/front-end/process.js: Added. UglifyJS formatter.
23238         * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
23239         (onmessage):
23240         (beautify):
23241         (loadModule):
23242         (require):
23243         * inspector/front-end/utilities.js:
23244         ():
23245
23246 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
23247
23248         Reviewed by Yury Semikhatsky.
23249
23250         Web Inspector: [JSC] scripts have incorrect starting line (always 1).
23251         https://bugs.webkit.org/show_bug.cgi?id=52721
23252
23253         Test: inspector/debugger-scripts.html
23254
23255         * bindings/js/ScriptDebugServer.cpp:
23256         (WebCore::ScriptDebugServer::dispatchDidParseSource):
23257         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
23258         (WebCore::ScriptDebugServer::sourceParsed):
23259         * bindings/js/ScriptDebugServer.h:
23260         * bindings/js/ScriptSourceCode.h:
23261         (WebCore::ScriptSourceCode::ScriptSourceCode):
23262         * bindings/js/StringSourceProvider.h:
23263         (WebCore::StringSourceProvider::create):
23264         (WebCore::StringSourceProvider::startPosition):
23265         (WebCore::StringSourceProvider::StringSourceProvider):
23266
23267 2011-01-19  Satish Sampath  <satish@chromium.org>
23268
23269         Reviewed by Jeremy Orlow.
23270
23271         Send origin/url as part of speech input requests to the embedder.
23272         https://bugs.webkit.org/show_bug.cgi?id=52718
23273
23274         * page/SpeechInput.cpp:
23275         (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
23276         * page/SpeechInput.h:
23277         * page/SpeechInputClient.h:
23278         * platform/mock/SpeechInputClientMock.cpp:
23279         (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
23280         * platform/mock/SpeechInputClientMock.h:
23281         * rendering/TextControlInnerElements.cpp:
23282         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.
23283
23284 2011-01-19  Hans Wennborg  <hans@chromium.org>
23285
23286         Reviewed by Jeremy Orlow.
23287
23288         IndexedDB: Support auto-increment keys
23289         https://bugs.webkit.org/show_bug.cgi?id=52576
23290
23291         Add support for auto-increment keys.
23292
23293         Test: storage/indexeddb/objectstore-autoincrement.html
23294
23295         * storage/IDBDatabase.cpp:
23296         (WebCore::IDBDatabase::createObjectStore):
23297         * storage/IDBObjectStoreBackendImpl.cpp:
23298         (WebCore::genAutoIncrementKey):
23299         (WebCore::IDBObjectStoreBackendImpl::putInternal):
23300
23301 2011-01-19  Csaba Osztrogonác  <ossy@webkit.org>
23302
23303         Reviewed by Laszlo Gombos and Tor Arne Vestbø.
23304
23305         [Qt] Remove unnecessary "../Source" from paths
23306         after moving source files into Source is finished.
23307
23308         * WebCore.pri:
23309         * WebCore.pro:
23310
23311 2011-01-19  Alexander Pavlov  <apavlov@chromium.org>
23312
23313         Reviewed by Pavel Feldman.
23314
23315         Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
23316         https://bugs.webkit.org/show_bug.cgi?id=52212
23317
23318         WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
23319         for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
23320         editing styles, in place of the old custom suggestion code.
23321
23322         * inspector/front-end/CSSCompletions.js:
23323         (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
23324         * inspector/front-end/CSSKeywordCompletions.js: Added.
23325         (WebInspector.CSSKeywordCompletions.forProperty):
23326         * inspector/front-end/StylesSidebarPane.js:
23327         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
23328         (WebInspector.StylePropertyTreeElement.prototype):
23329         ():
23330         * inspector/front-end/TextPrompt.js:
23331         (WebInspector.TextPrompt):
23332         (WebInspector.TextPrompt.prototype.removeFromElement):
23333         (WebInspector.TextPrompt.prototype._onKeyDown):
23334         (WebInspector.TextPrompt.prototype.tabKeyPressed):
23335         (WebInspector.TextPrompt.prototype.upKeyPressed):
23336         (WebInspector.TextPrompt.prototype.downKeyPressed):
23337         (WebInspector.TextPrompt.prototype._moveBackInHistory):
23338         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
23339         * inspector/front-end/inspector.css:
23340         (.auto-complete-text, .editing .auto-complete-text):
23341         * inspector/front-end/inspector.html:
23342
23343 2011-01-19  Dai Mikurube  <dmikurube@google.com>
23344
23345         Reviewed by Kent Tamura.
23346
23347         Implement onformchange and onforminput event handlers
23348         https://bugs.webkit.org/show_bug.cgi?id=26141
23349
23350         Tests: fast/forms/formchange-event.html
23351                fast/forms/forminput-event.html
23352
23353         * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
23354         * dom/Document.h: Added event definitions.
23355         * dom/Document.idl: Added event definitions.
23356         * dom/Element.h: Added event definitions.
23357         * dom/Element.idl: Added event definitions.
23358         * dom/Event.cpp:
23359         (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
23360         * dom/EventNames.h: Added event definitions.
23361         * dom/InputElement.cpp:
23362         (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
23363         * dom/Node.cpp:
23364         (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
23365         (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
23366         (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
23367         * dom/Node.h:
23368         * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
23369         * html/HTMLAttributeNames.in: Added event names.
23370         * html/HTMLElement.cpp:
23371         (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
23372         (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
23373         (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
23374         (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
23375         * html/HTMLElement.h:
23376         * html/HTMLFormControlElement.cpp:
23377         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
23378         (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
23379         * html/HTMLFormControlElement.h: Added isResettable().
23380         * html/HTMLFormElement.cpp:
23381         (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
23382         (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
23383         (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
23384         * html/HTMLFormElement.h:
23385         * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
23386         * html/HTMLInputElement.cpp:
23387         (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
23388         * html/HTMLInputElement.h: Added isResettable().
23389         * html/HTMLKeygenElement.h: Added isResettable().
23390         * html/HTMLObjectElement.h: Added isResettable().
23391         * html/HTMLOutputElement.h: Added isResettable().
23392         * html/HTMLSelectElement.h: Added isResettable().
23393         * html/HTMLTextAreaElement.h: Added isResettable().
23394         * page/DOMWindow.h: Added event definitions.
23395         * page/DOMWindow.idl: Added event definitions.
23396         * rendering/TextControlInnerElements.cpp:
23397         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
23398
23399 2011-01-19  Andrey Kosyakov  <caseq@chromium.org>
23400
23401         Reviewed by Pavel Feldman.
23402
23403         Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
23404         https://bugs.webkit.org/show_bug.cgi?id=52707
23405
23406         * inspector/front-end/ExtensionAPI.js:
23407         (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
23408
23409 2011-01-19  Levi Weintraub  <leviw@google.com>
23410
23411         Reviewed by Ryosuke Niwa.
23412
23413         Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
23414         and simplified the logic a bit. Unfortunately, Tables and some legacy
23415         editing positions still need to be handled specifically.
23416
23417         remove rangeCompliantEquivalent and replace it with Position methods
23418         https://bugs.webkit.org/show_bug.cgi?id=25057
23419
23420         No new tests as this is a refactor that doesn't change behavior.
23421
23422         * WebCore.exp.in:
23423         * dom/Document.cpp:
23424         (WebCore::Document::caretRangeFromPoint):
23425         * dom/Position.cpp:
23426         (WebCore::Position::parentAnchoredEquivalent):
23427         * dom/Position.h:
23428         * editing/ApplyStyleCommand.cpp:
23429         (WebCore::ApplyStyleCommand::applyBlockStyle):
23430         * editing/CompositeEditCommand.cpp:
23431         (WebCore::CompositeEditCommand::insertNodeAt):
23432         (WebCore::CompositeEditCommand::moveParagraphs):
23433         * editing/DeleteSelectionCommand.cpp:
23434         (WebCore::DeleteSelectionCommand::initializePositionData):
23435         (WebCore::DeleteSelectionCommand::mergeParagraphs):
23436         * editing/Editor.cpp:
23437         (WebCore::Editor::textDirectionForSelection):
23438         (WebCore::Editor::advanceToNextMisspelling):
23439         * editing/InsertLineBreakCommand.cpp:
23440         (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
23441         * editing/InsertParagraphSeparatorCommand.cpp:
23442         (WebCore::InsertParagraphSeparatorCommand::doApply):
23443         * editing/ReplaceSelectionCommand.cpp:
23444         (WebCore::handleStyleSpansBeforeInsertion):
23445         * editing/VisiblePosition.cpp:
23446         (WebCore::makeRange):
23447         (WebCore::setStart):
23448         (WebCore::setEnd):
23449         * editing/VisibleSelection.cpp:
23450         (WebCore::VisibleSelection::firstRange):
23451         (WebCore::VisibleSelection::toNormalizedRange):
23452         (WebCore::makeSearchRange):
23453         * editing/htmlediting.cpp:
23454         (WebCore::indexForVisiblePosition):
23455         * editing/htmlediting.h:
23456         * editing/visible_units.cpp:
23457         (WebCore::previousBoundary):
23458         (WebCore::nextBoundary):
23459         * page/DOMSelection.cpp:
23460         (WebCore::anchorPosition):
23461         (WebCore::focusPosition):
23462         (WebCore::basePosition):
23463         (WebCore::extentPosition):
23464
23465 2011-01-19  Peter Rybin  <peter.rybin@gmail.com>
23466
23467         Reviewed by Yury Semikhatsky.
23468
23469         Web Inspector: script column offset is incorrect
23470         https://bugs.webkit.org/show_bug.cgi?id=52580
23471
23472         Column is updated in 3 places, 2 less probable places contained error.
23473         Fixed now.
23474
23475         * platform/text/SegmentedString.cpp:
23476         (WebCore::SegmentedString::advanceSlowCase):
23477         * platform/text/SegmentedString.h:
23478         (WebCore::SegmentedString::advancePastNewline):
23479
23480 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
23481
23482         Reviewed by Yury Semikhatsky.
23483
23484         Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
23485         https://bugs.webkit.org/show_bug.cgi?id=52652
23486
23487         Calls served by the InjectedScript should be first class protocol
23488         citizens, not dispatched via single protocol message.
23489
23490         * WebCore.gypi:
23491         * WebCore.vcproj/WebCore.vcproj:
23492         * inspector/CodeGeneratorInspector.pm:
23493         * inspector/InjectedScript.cpp:
23494         (WebCore::InjectedScript::evaluate):
23495         (WebCore::InjectedScript::evaluateInCallFrame):
23496         (WebCore::InjectedScript::evaluateOnSelf):
23497         (WebCore::InjectedScript::getCompletions):
23498         (WebCore::InjectedScript::getProperties):
23499         (WebCore::InjectedScript::pushNodeToFrontend):
23500         (WebCore::InjectedScript::resolveNode):
23501         (WebCore::InjectedScript::getNodeProperties):
23502         (WebCore::InjectedScript::getNodePrototypes):
23503         (WebCore::InjectedScript::setPropertyValue):
23504         (WebCore::InjectedScript::makeCall):
23505         * inspector/InjectedScript.h:
23506         * inspector/InjectedScriptHost.cpp:
23507         (WebCore::InjectedScriptHost::evaluate):
23508         (WebCore::InjectedScriptHost::evaluateInCallFrame):
23509         (WebCore::InjectedScriptHost::evaluateOnSelf):
23510         (WebCore::InjectedScriptHost::getCompletions):
23511         (WebCore::InjectedScriptHost::getProperties):
23512         (WebCore::InjectedScriptHost::pushNodeToFrontend):
23513         (WebCore::InjectedScriptHost::resolveNode):
23514         (WebCore::InjectedScriptHost::getNodeProperties):
23515         (WebCore::InjectedScriptHost::getNodePrototypes):
23516         (WebCore::InjectedScriptHost::setPropertyValue):
23517         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
23518         (WebCore::InjectedScriptHost::injectedScriptForNodeId):
23519         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
23520         * inspector/InjectedScriptHost.h:
23521         * inspector/InjectedScriptSource.js:
23522         (.):
23523         * inspector/Inspector.idl:
23524         * inspector/InspectorController.cpp:
23525         * inspector/InspectorController.h:
23526         * inspector/InspectorValues.cpp:
23527         (WebCore::InspectorObject::getNumber):
23528         * inspector/InspectorValues.h:
23529         * inspector/front-end/AuditRules.js:
23530         (WebInspector.AuditRules.evaluateInTargetWindow):
23531         * inspector/front-end/ConsoleView.js:
23532         (WebInspector.ConsoleView.prototype.completions):
23533         (WebInspector.ConsoleView.prototype.doEvalInWindow):
23534         * inspector/front-end/ElementsTreeOutline.js:
23535         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
23536         * inspector/front-end/ExtensionPanel.js:
23537         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
23538         * inspector/front-end/ExtensionServer.js:
23539         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
23540         * inspector/front-end/InjectedScriptAccess.js: Removed.
23541         * inspector/front-end/PropertiesSidebarPane.js:
23542         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
23543         (WebInspector.PropertiesSidebarPane.prototype.update):
23544         * inspector/front-end/RemoteObject.js:
23545         (WebInspector.RemoteObject.resolveNode):
23546         (WebInspector.RemoteObject.prototype.getProperties):
23547         (WebInspector.RemoteObject.prototype.setPropertyValue):
23548         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
23549         * inspector/front-end/ScriptsPanel.js:
23550         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
23551         * inspector/front-end/WebKit.qrc:
23552         * inspector/front-end/inspector.html:
23553
23554 2011-01-18  Anton Muhin  <antonm@chromium.org>
23555
23556         Reviewed by Adam Barth.
23557
23558         [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
23559         https://bugs.webkit.org/show_bug.cgi?id=51683
23560
23561         Covered by the existing tests.
23562
23563         * bindings/v8/DOMDataStore.cpp:
23564         (WebCore::DOMDataStore::weakNodeCallback):
23565         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
23566         * bindings/v8/DOMDataStore.h:
23567         * bindings/v8/V8DOMMap.h:
23568         (WebCore::WeakReferenceMap::removeIfPresent):
23569
23570 2011-01-18 MORITA Hajime  <morrita@google.com>
23571
23572         Reviewed by Ryosuke Niwa.
23573         
23574         Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
23575         https://bugs.webkit.org/show_bug.cgi?id=52608
23576
23577         No new tests. no behavioral change.
23578
23579         * GNUmakefile.am:
23580         * WebCore.gypi:
23581         * WebCore.pro:
23582         * WebCore.vcproj/WebCore.vcproj:
23583         * WebCore.xcodeproj/project.pbxproj:
23584         * dom/TextEvent.cpp:
23585         (WebCore::TextEvent::create):
23586         (WebCore::TextEvent::createForDrop):
23587         (WebCore::TextEvent::TextEvent):
23588         * dom/TextEvent.h:
23589         (WebCore::TextEvent::isLineBreak):
23590         (WebCore::TextEvent::isBackTab):
23591         (WebCore::TextEvent::isPaste):
23592         (WebCore::TextEvent::isDrop):
23593         * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
23594         * editing/EditorCommand.cpp:
23595         (WebCore::executeInsertBacktab):
23596         (WebCore::executeInsertLineBreak):
23597         (WebCore::executeInsertNewline):
23598         (WebCore::executeInsertTab):
23599         * page/EventHandler.cpp:
23600         (WebCore::EventHandler::handleTextInputEvent):
23601         * page/EventHandler.h:
23602
23603 2011-01-18  Ben Vanik  <ben.vanik@gmail.com>
23604
23605         Reviewed by Kenneth Russell.
23606
23607         Updating ANGLE in WebKit to r533.
23608         https://bugs.webkit.org/show_bug.cgi?id=47194
23609
23610         * platform/graphics/ANGLEWebKitBridge.cpp:
23611         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
23612         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
23613         (WebCore::ANGLEWebKitBridge::validateShaderSource):
23614         Update to new ANGLE API for shader validation.
23615         * platform/graphics/ANGLEWebKitBridge.h:
23616         (WebCore::ANGLEWebKitBridge::setResources): 
23617         Renaming types to new names.
23618         * platform/graphics/mac/GraphicsContext3DMac.mm:
23619         (WebCore::GraphicsContext3D::GraphicsContext3D):
23620         Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables.
23621
23622 2011-01-18  MORITA Hajime  <morrita@google.com>
23623
23624         Reviewed by Simon Fraser.
23625
23626         Refactoring: Extract RoundedIntRect class
23627         https://bugs.webkit.org/show_bug.cgi?id=51664
23628
23629         RoundedIntRect is a pair of rect and four IntSize objects which represent
23630         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
23631         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
23632         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
23633         and other functions accept RoundedIntRect as an argument.
23634
23635         * Android.mk:
23636         * CMakeLists.txt:
23637         * GNUmakefile.am:
23638         * WebCore.gypi:
23639         * WebCore.pro:
23640         * WebCore.vcproj/WebCore.vcproj:
23641         * WebCore.xcodeproj/project.pbxproj:
23642         * platform/graphics/GraphicsContext.cpp:
23643         (WebCore::GraphicsContext::addRoundedRectClip):
23644         (WebCore::GraphicsContext::clipOutRoundedRect):
23645         (WebCore::GraphicsContext::fillRoundedRect):
23646         * platform/graphics/GraphicsContext.h:
23647         * platform/graphics/RoundedIntRect.cpp: Added.
23648         (WebCore::RoundedIntRect::Radii::isZero):
23649         (WebCore::RoundedIntRect::Radii::scale):
23650         (WebCore::RoundedIntRect::Radii::expand):
23651         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
23652         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
23653         (WebCore::RoundedIntRect::RoundedIntRect):
23654         (WebCore::RoundedIntRect::includeLogicalEdges):
23655         (WebCore::RoundedIntRect::excludeLogicalEdges):
23656         * platform/graphics/RoundedIntRect.h: Added.
23657         (WebCore::RoundedIntRect::Radii::Radii):
23658         (WebCore::RoundedIntRect::Radii::setTopLeft):
23659         (WebCore::RoundedIntRect::Radii::setTopRight):
23660         (WebCore::RoundedIntRect::Radii::setBottomLeft):
23661         (WebCore::RoundedIntRect::Radii::setBottomRight):
23662         (WebCore::RoundedIntRect::Radii::topLeft):
23663         (WebCore::RoundedIntRect::Radii::topRight):
23664         (WebCore::RoundedIntRect::Radii::bottomLeft):
23665         (WebCore::RoundedIntRect::Radii::bottomRight):
23666         (WebCore::RoundedIntRect::Radii::expand):
23667         (WebCore::RoundedIntRect::Radii::shrink):
23668         (WebCore::RoundedIntRect::rect):
23669         (WebCore::RoundedIntRect::radii):
23670         (WebCore::RoundedIntRect::isRounded):
23671         (WebCore::RoundedIntRect::isEmpty):
23672         (WebCore::RoundedIntRect::setRect):
23673         (WebCore::RoundedIntRect::setRadii):
23674         (WebCore::RoundedIntRect::move):
23675         (WebCore::RoundedIntRect::inflate):
23676         (WebCore::RoundedIntRect::inflateWithRadii):
23677         (WebCore::RoundedIntRect::expandRadii):
23678         (WebCore::RoundedIntRect::shrinkRadii):
23679         * rendering/RenderBox.cpp:
23680         (WebCore::RenderBox::pushContentsClip):
23681         * rendering/RenderBoxModelObject.cpp:
23682         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
23683         (WebCore::RenderBoxModelObject::paintBorder):
23684         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
23685         (WebCore::RenderBoxModelObject::paintBoxShadow):
23686         * rendering/RenderBoxModelObject.h:
23687         * rendering/RenderObject.cpp:
23688         (WebCore::RenderObject::drawBoxSideFromPath):
23689         * rendering/RenderReplaced.cpp:
23690         (WebCore::RenderReplaced::paint):
23691         * rendering/RenderThemeChromiumWin.cpp:
23692         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
23693         * rendering/RenderThemeMac.mm:
23694         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
23695         (WebCore::RenderThemeMac::paintSliderTrack):
23696         * rendering/RenderThemeSafari.cpp:
23697         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
23698         (WebCore::RenderThemeSafari::paintSliderTrack):
23699         * rendering/RenderThemeWinCE.cpp:
23700         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
23701         * rendering/RenderWidget.cpp:
23702         (WebCore::RenderWidget::paint):
23703         * rendering/style/BorderData.h:
23704         * rendering/style/RenderStyle.cpp:
23705         (WebCore::calcRadiiFor):
23706         (WebCore::calcConstraintScaleFor):
23707         (WebCore::RenderStyle::getRoundedBorderFor):
23708         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
23709         * rendering/style/RenderStyle.h:
23710         (WebCore::InheritedFlags::setBorderRadius):
23711
23712 2011-01-18  MORITA Hajime  <morrita@google.com>
23713
23714         Reviewed by Simon Fraser.
23715
23716         Refactoring: Extract RoundedIntRect class
23717         https://bugs.webkit.org/show_bug.cgi?id=51664
23718
23719         RoundedIntRect is a pair of rect and four IntSize objects which represent
23720         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
23721         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
23722         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
23723         and other functions accept RoundedIntRect as an argument.
23724
23725         No new tests. No behavioral change.
23726
23727         * Android.mk:
23728         * CMakeLists.txt:
23729         * WebCore.gypi:
23730         * WebCore.pro:
23731         * WebCore.xcodeproj/project.pbxproj:
23732         * platform/graphics/GraphicsContext.cpp:
23733         (WebCore::GraphicsContext::addRoundedRectClip):
23734         (WebCore::GraphicsContext::clipOutRoundedRect):
23735         (WebCore::GraphicsContext::fillRoundedRect):
23736         * platform/graphics/GraphicsContext.h:
23737         * platform/graphics/RoundedIntRect.cpp: Added.
23738         (WebCore::RoundedIntRect::Radii::isZero):
23739         (WebCore::RoundedIntRect::Radii::scale):
23740         (WebCore::RoundedIntRect::Radii::expand):
23741         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
23742         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
23743         (WebCore::RoundedIntRect::RoundedIntRect):
23744         (WebCore::RoundedIntRect::includeLogicalEdges):
23745         (WebCore::RoundedIntRect::excludeLogicalEdges):
23746         * platform/graphics/RoundedIntRect.h: Added.
23747         (WebCore::RoundedIntRect::Radii::Radii):
23748         (WebCore::RoundedIntRect::Radii::setTopLeft):
23749         (WebCore::RoundedIntRect::Radii::setTopRight):
23750         (WebCore::RoundedIntRect::Radii::setBottomLeft):
23751         (WebCore::RoundedIntRect::Radii::setBottomRight):
23752         (WebCore::RoundedIntRect::Radii::topLeft):
23753         (WebCore::RoundedIntRect::Radii::topRight):
23754         (WebCore::RoundedIntRect::Radii::bottomLeft):
23755         (WebCore::RoundedIntRect::Radii::bottomRight):
23756         (WebCore::RoundedIntRect::Radii::expand):
23757         (WebCore::RoundedIntRect::Radii::shrink):
23758         (WebCore::RoundedIntRect::rect):
23759         (WebCore::RoundedIntRect::radii):
23760         (WebCore::RoundedIntRect::isRounded):
23761         (WebCore::RoundedIntRect::isEmpty):
23762         (WebCore::RoundedIntRect::setRect):
23763         (WebCore::RoundedIntRect::setRadii):
23764         (WebCore::RoundedIntRect::move):
23765         (WebCore::RoundedIntRect::inflate):
23766         (WebCore::RoundedIntRect::inflateWithRadii):
23767         (WebCore::RoundedIntRect::expandRadii):
23768         (WebCore::RoundedIntRect::shrinkRadii):
23769         * rendering/RenderBox.cpp:
23770         (WebCore::RenderBox::pushContentsClip):
23771         * rendering/RenderBoxModelObject.cpp:
23772         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
23773         (WebCore::RenderBoxModelObject::paintBorder):
23774         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
23775         (WebCore::RenderBoxModelObject::paintBoxShadow):
23776         * rendering/RenderBoxModelObject.h:
23777         * rendering/RenderObject.cpp:
23778         (WebCore::RenderObject::drawBoxSideFromPath):
23779         * rendering/RenderReplaced.cpp:
23780         (WebCore::RenderReplaced::paint):
23781         * rendering/RenderThemeChromiumWin.cpp:
23782         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
23783         * rendering/RenderThemeMac.mm:
23784         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
23785         (WebCore::RenderThemeMac::paintSliderTrack):
23786         * rendering/RenderThemeSafari.cpp:
23787         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
23788         (WebCore::RenderThemeSafari::paintSliderTrack):
23789         * rendering/RenderThemeWinCE.cpp:
23790         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
23791         * rendering/RenderWidget.cpp:
23792         (WebCore::RenderWidget::paint):
23793         * rendering/style/BorderData.h:
23794         * rendering/style/RenderStyle.cpp:
23795         (WebCore::calcRadiiFor):
23796         (WebCore::calcConstraintScaleFor):
23797         (WebCore::RenderStyle::getRoundedBorderFor):
23798         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
23799         * rendering/style/RenderStyle.h:
23800         (WebCore::InheritedFlags::setBorderRadius):
23801
23802 2011-01-18  Victoria Kirst  <vrk@chromium.org>
23803
23804         Reviewed by Kenneth Russell.
23805
23806         [chromium] Adding support for YV16 video frame formats.
23807         https://bugs.webkit.org/show_bug.cgi?id=52345
23808
23809         * platform/graphics/chromium/VideoLayerChromium.cpp:
23810         (WebCore::VideoLayerChromium::determineTextureFormat):
23811         (WebCore::VideoLayerChromium::draw):
23812
23813 2011-01-18  David Hyatt  <hyatt@apple.com>
23814
23815         Reviewed by Dan Bernstein.
23816
23817         <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
23818         
23819         Exclude floating objects from shrinking to avoid floats.  They should never do this.  Timing-related bugs could
23820         occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they
23821         got encountered on the correct line exposed this issue.
23822
23823         Added /fast/block/float/float-overflow-hidden-containing-block-width.html.
23824
23825         * rendering/RenderBox.cpp:
23826         (WebCore::RenderBox::shrinkToAvoidFloats):
23827
23828 2011-01-18  Zhenyao Mo  <zmo@google.com>
23829
23830         Reviewed by Kenneth Russell.
23831
23832         Make CheckedInt<long> and CheckedInt<unsigned long> work
23833         https://bugs.webkit.org/show_bug.cgi?id=52401
23834
23835         * html/canvas/CheckedInt.h:
23836         (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob.
23837         * html/canvas/WebGLBuffer.cpp:
23838         (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>.
23839         (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto.
23840
23841 2011-01-18  Kenneth Russell  <kbr@google.com>
23842
23843         Reviewed by David Levin.
23844
23845         Must strip comments from WebGL shaders before enforcing character set
23846         https://bugs.webkit.org/show_bug.cgi?id=52390
23847
23848         Strip comments from incoming shaders, preserving line numbers,
23849         before validating that they conform to the ESSL character set.
23850         Revert changes from http://trac.webkit.org/changeset/75735 which
23851         allowed invalid characters to be passed to certain APIs.
23852
23853         Tested with WebGL layout tests, conformance test suite and several
23854         WebGL demos in both Safari and Chromium.
23855
23856         * html/canvas/WebGLRenderingContext.cpp:
23857         (WebCore::StripComments::StripComments::process):
23858         (WebCore::WebGLRenderingContext::shaderSource):
23859
23860 2011-01-18  Ryosuke Niwa  <rniwa@webkit.org>
23861
23862         Reviewed by Eric Seidel.
23863
23864         Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand,
23865         InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp
23866         https://bugs.webkit.org/show_bug.cgi?id=52644
23867
23868         This is a cleanup to stop instantiating legacy editing positions in the following tests.
23869         firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated
23870         because doing so requires significant code changes. They are tracked on the bug 52642.
23871
23872         * editing/DeleteSelectionCommand.cpp:
23873         (WebCore::DeleteSelectionCommand::initializeStartEnd):
23874         (WebCore::updatePositionForNodeRemoval):
23875         (WebCore::DeleteSelectionCommand::removeNode):
23876         (WebCore::updatePositionForTextRemoval):
23877         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
23878         * editing/IndentOutdentCommand.cpp:
23879         (WebCore::IndentOutdentCommand::outdentParagraph):
23880         * editing/InsertLineBreakCommand.cpp:
23881         (WebCore::InsertLineBreakCommand::doApply):
23882         * editing/InsertListCommand.cpp:
23883         (WebCore::InsertListCommand::doApplyForSingleParagraph):
23884         (WebCore::InsertListCommand::unlistifyParagraph):
23885         (WebCore::InsertListCommand::listifyParagraph):
23886         * editing/InsertParagraphSeparatorCommand.cpp:
23887         (WebCore::InsertParagraphSeparatorCommand::doApply):
23888         * editing/htmlediting.cpp:
23889         (WebCore::enclosingBlock):
23890         (WebCore::enclosingList):
23891         (WebCore::enclosingListChild):
23892         (WebCore::indexForVisiblePosition):
23893         (WebCore::isNodeVisiblyContainedWithin):
23894         (WebCore::avoidIntersectionWithNode):
23895
23896 2011-01-18  Benjamin Kalman  <kalman@chromium.org>
23897
23898         Reviewed by Ryosuke Niwa.
23899
23900         Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch
23901         https://bugs.webkit.org/show_bug.cgi?id=52610
23902
23903         This is a purely aesthetic change.
23904
23905         * editing/TextIterator.cpp:
23906         (WebCore::SimplifiedBackwardsTextIterator::advance):
23907         * editing/visible_units.cpp:
23908         (WebCore::previousBoundary):
23909
23910 2011-01-18  Adam Klein  <adamk@chromium.org>
23911
23912         Reviewed by Darin Fisher.
23913
23914         [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
23915         https://bugs.webkit.org/show_bug.cgi?id=42236
23916
23917         * platform/chromium/ChromiumBridge.h:
23918         * platform/chromium/WidgetChromium.cpp:
23919         (WebCore::Widget::setCursor):
23920
23921 2011-01-18  Chris Fleizach  <cfleizach@apple.com>
23922
23923         Reviewed by Darin Adler.
23924
23925         REGRESSION: A problem with Voiceover and finding links
23926         https://bugs.webkit.org/show_bug.cgi?id=52324
23927
23928         Fallout from recent change to make WebCore return its own scroll view.
23929            1) There were two scroll views in the hierarchy, one which no needed to be ignored.
23930            2) Hit tests for sub frames needed to be offset.
23931            3) The check for whether an attachment is ignored must happen earlier than using
23932               the helpText to determine if an element should be ignored.
23933
23934         Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html
23935
23936         * accessibility/AccessibilityObject.cpp:
23937         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
23938         * accessibility/AccessibilityRenderObject.cpp:
23939         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
23940         * accessibility/mac/AccessibilityObjectWrapper.mm:
23941         (-[AccessibilityObjectWrapper scrollViewParent]):
23942
23943 2011-01-18  Adam Roben  <aroben@apple.com>
23944
23945         Call alternate CFHTTPCookie functions if available
23946
23947         Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.
23948
23949         Reviewed by Darin Adler.
23950
23951         * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
23952         pull in the alternate CFHTTPCookie functions.
23953
23954         (WebCore::cookieDomain):
23955         (WebCore::cookieExpirationTime):
23956         (WebCore::cookieName):
23957         (WebCore::cookiePath):
23958         (WebCore::cookieValue):
23959         Added these wrappers around the CFHTTPCookie functions. We call the
23960         alternate functions if they exist, otherwise fall back to the current
23961         functions.
23962
23963         (WebCore::filterCookies):
23964         (WebCore::getRawCookies):
23965         (WebCore::deleteCookie):
23966         Changed to use the wrapper functions.
23967
23968 2011-01-18  Martin Robinson  <mrobinson@igalia.com>
23969
23970         Reviewed by Eric Seidel.
23971
23972         [GTK] Filenames are converted to URLs during edit drags
23973         https://bugs.webkit.org/show_bug.cgi?id=52096
23974
23975         * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the
23976         conversion policy allows it.
23977         (WebCore::DragData::containsURL): Ditto.
23978         (WebCore::DragData::asURL): Ditto.
23979
23980 2011-01-18  Helder Correia  <helder@sencha.com>
23981
23982         Reviewed by Kenneth Rohde Christiansen.
23983
23984         [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
23985         https://bugs.webkit.org/show_bug.cgi?id=52611
23986
23987         This is related to bug 52559. The shadow color alpha must be multiplied
23988         by the context brush alpha.
23989
23990         Test: fast/canvas/canvas-fillPath-alpha-shadow.html
23991
23992         * platform/graphics/qt/GraphicsContextQt.cpp:
23993         (WebCore::GraphicsContext::fillPath):
23994
23995 2011-01-18  Andrey Kosyakov  <caseq@chromium.org>
23996
23997         Reviewed by Yury Semikhatsky.
23998
23999         Web Inspector: fail resource.requestContent() immediately for WebSocket resources
24000         https://bugs.webkit.org/show_bug.cgi?id=52628
24001
24002         * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
24003         * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete)
24004         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
24005         * inspector/front-end/Resource.js:
24006         (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used.
24007         (WebInspector.Resource.Type.toString): ditto.
24008         (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources.
24009         * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
24010
24011 2011-01-18  Helder Correia  <helder@sencha.com>
24012
24013         Reviewed by Dirk Schulze.
24014
24015         REGRESSION(75139): SVG gradients are not applied to texts
24016         https://bugs.webkit.org/show_bug.cgi?id=52531
24017
24018         r75139 caused a problem with filling and stroking text with a gradient
24019         fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
24020         was mixed up.
24021
24022         Test: svg/css/text-gradient-shadow.svg
24023
24024         * platform/graphics/cg/GraphicsContextCG.cpp:
24025         (WebCore::GraphicsContext::fillRect):
24026
24027 2011-01-18  Leo Yang  <leo.yang@torchmobile.com.cn>
24028
24029         Reviewed by Nikolas Zimmermann.
24030
24031         Unable to indirectly animate visibility of SVGUseElement
24032         https://bugs.webkit.org/show_bug.cgi?id=50240
24033
24034         SVGUseElement::recalcStyle should take care of its shadow
24035         tree's style recalculation when it is called with change >= Inherit
24036         or when childNeedsStyleRecalc() is true because in these two
24037         cases needStyleRecalc() may not be true.
24038
24039         Test: svg/custom/use-inherit-style.svg
24040
24041         * svg/SVGUseElement.cpp:
24042         (WebCore::SVGUseElement::recalcStyle):
24043
24044 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
24045
24046         Reviewed by Yury Semikhatsky.
24047
24048         Web Inspector: provide script length to frontend.
24049         https://bugs.webkit.org/show_bug.cgi?id=52620
24050
24051         * inspector/Inspector.idl:
24052         * inspector/InspectorDebuggerAgent.cpp:
24053         (WebCore::InspectorDebuggerAgent::didParseSource):
24054         * inspector/front-end/DebuggerModel.js:
24055         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
24056         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
24057         * inspector/front-end/Script.js:
24058         (WebInspector.Script):
24059
24060 2011-01-18  Zoltan Herczeg  <zherczeg@webkit.org>
24061
24062         Rubber-stamped by Csaba Osztrogonác
24063
24064         Fixing ChangeLog
24065
24066         Removing a line introduced by
24067         http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog
24068         Removing an unnecessary space before a time stamp.
24069
24070 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
24071
24072         Reviewed by Yury Semikhatsky.
24073
24074         Web Inspector: [refactoring] use events to notify NetworkManager clients
24075         https://bugs.webkit.org/show_bug.cgi?id=52588
24076
24077         * inspector/front-end/AuditLauncherView.js:
24078         (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset().
24079         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
24080         (WebInspector.AuditLauncherView.prototype._onResourceStarted):
24081         (WebInspector.AuditLauncherView.prototype._onResourceFinished):
24082         * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events.
24083         * inspector/front-end/ExtensionServer.js:
24084         (WebInspector.ExtensionServer):
24085         (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
24086         (WebInspector.ExtensionServer.prototype.initExtensions):
24087         * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients.
24088         (WebInspector.NetworkManager):
24089         (WebInspector.NetworkManager.prototype.willSendRequest):
24090         (WebInspector.NetworkManager.prototype.markResourceAsCached):
24091         (WebInspector.NetworkManager.prototype.didReceiveResponse):
24092         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
24093         (WebInspector.NetworkManager.prototype.setInitialContent):
24094         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
24095         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
24096         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
24097         (WebInspector.NetworkManager.prototype._startResource):
24098         (WebInspector.NetworkManager.prototype._finishResource):
24099         * inspector/front-end/NetworkPanel.js:
24100         (WebInspector.NetworkPanel):
24101         (WebInspector.NetworkPanel.prototype._onResourceStarted):
24102         (WebInspector.NetworkPanel.prototype._appendResource):
24103         (WebInspector.NetworkPanel.prototype._onResourceUpdated):
24104         (WebInspector.NetworkPanel.prototype._refreshResource):
24105         (WebInspector.NetworkPanel.prototype._onMainResourceChanged):
24106         * inspector/front-end/ResourcesPanel.js:
24107         (WebInspector.ResourcesPanel):
24108         (WebInspector.ResourcesPanel.prototype._refreshResource):
24109
24110 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
24111
24112         Reviewed by Yury Semikhatsky.
24113
24114         Web Inspector: preserve pause on exception state in settings.
24115         https://bugs.webkit.org/show_bug.cgi?id=52619
24116
24117         * inspector/InspectorController.cpp:
24118         (WebCore::InspectorController::getInspectorState):
24119         * inspector/InspectorDebuggerAgent.cpp:
24120         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
24121         * inspector/InspectorDebuggerAgent.h:
24122         * inspector/front-end/ScriptsPanel.js:
24123         (WebInspector.ScriptsPanel):
24124         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
24125         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState):
24126         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
24127         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
24128         * inspector/front-end/Settings.js:
24129         (WebInspector.Settings):
24130         * inspector/front-end/inspector.js:
24131         (WebInspector.doLoadedDone.populateInspectorState):
24132
24133 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
24134
24135         Reviewed by Yury Semikhatsky.
24136
24137         Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame.
24138         https://bugs.webkit.org/show_bug.cgi?id=52623
24139
24140         * inspector/front-end/ConsoleView.js:
24141         (WebInspector.ConsoleMessage):
24142         (WebInspector.ConsoleMessage.prototype._formatMessage):
24143
24144 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
24145
24146         Revert r76017. No need to guard InspectorInstrumentation:: in WebCore.
24147
24148         * page/Page.cpp:
24149         (WebCore::networkStateChanged):
24150
24151 2011-01-18  Konstantin Tokarev  <annulen@yandex.ru>
24152
24153         Reviewed by Kent Tamura.
24154
24155         Fixed compilation when Inspector is disabled
24156         https://bugs.webkit.org/show_bug.cgi?id=52564
24157
24158         * page/Page.cpp:
24159         (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard
24160
24161 2011-01-18  MORITA Hajime  <morrita@google.com>
24162
24163         Unreviewed, rolling out r76004, r76005, r76007, and r76011.
24164         http://trac.webkit.org/changeset/76004
24165         http://trac.webkit.org/changeset/76005
24166         http://trac.webkit.org/changeset/76007
24167         http://trac.webkit.org/changeset/76011
24168         https://bugs.webkit.org/show_bug.cgi?id=51664
24169
24170         The r76004 broke pixel tests.
24171         (The failure was missed due to the tolerance.)
24172
24173         * Android.mk:
24174         * CMakeLists.txt:
24175         * GNUmakefile.am:
24176         * WebCore.gypi:
24177         * WebCore.pro:
24178         * WebCore.vcproj/WebCore.vcproj:
24179         * WebCore.xcodeproj/project.pbxproj:
24180         * platform/graphics/GraphicsContext.cpp:
24181         (WebCore::GraphicsContext::addRoundedRectClip):
24182         (WebCore::GraphicsContext::clipOutRoundedRect):
24183         * platform/graphics/GraphicsContext.h:
24184         * platform/graphics/RoundedIntRect.cpp: Removed.
24185         * platform/graphics/RoundedIntRect.h: Removed.
24186         * rendering/RenderBox.cpp:
24187         (WebCore::RenderBox::pushContentsClip):
24188         * rendering/RenderBoxModelObject.cpp:
24189         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24190         (WebCore::RenderBoxModelObject::paintBorder):
24191         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
24192         (WebCore::uniformlyExpandBorderRadii):
24193         (WebCore::RenderBoxModelObject::paintBoxShadow):
24194         * rendering/RenderBoxModelObject.h:
24195         * rendering/RenderObject.cpp:
24196         (WebCore::RenderObject::drawBoxSideFromPath):
24197         * rendering/RenderReplaced.cpp:
24198         (WebCore::RenderReplaced::paint):
24199         * rendering/RenderThemeChromiumWin.cpp:
24200         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
24201         * rendering/RenderThemeMac.mm:
24202         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
24203         (WebCore::RenderThemeMac::paintSliderTrack):
24204         * rendering/RenderThemeSafari.cpp:
24205         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
24206         (WebCore::RenderThemeSafari::paintSliderTrack):
24207         * rendering/RenderThemeWinCE.cpp:
24208         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
24209         * rendering/RenderWidget.cpp:
24210         (WebCore::RenderWidget::paint):
24211         * rendering/style/BorderData.h:
24212         * rendering/style/RenderStyle.cpp:
24213         (WebCore::constrainCornerRadiiForRect):
24214         (WebCore::RenderStyle::getBorderRadiiForRect):
24215         (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
24216         * rendering/style/RenderStyle.h:
24217
24218 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
24219
24220         Reviewed by Yury Semikhatsky.
24221
24222         Web Inspector: add source column field to debugger call frames.
24223         https://bugs.webkit.org/show_bug.cgi?id=52443
24224
24225         * bindings/js/JavaScriptCallFrame.cpp:
24226         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
24227         * bindings/js/JavaScriptCallFrame.h:
24228         (WebCore::JavaScriptCallFrame::create):
24229         (WebCore::JavaScriptCallFrame::line):
24230         (WebCore::JavaScriptCallFrame::column):
24231         (WebCore::JavaScriptCallFrame::update):
24232         * bindings/js/ScriptDebugServer.cpp:
24233         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
24234         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
24235         (WebCore::ScriptDebugServer::callEvent):
24236         (WebCore::ScriptDebugServer::atStatement):
24237         (WebCore::ScriptDebugServer::returnEvent):
24238         (WebCore::ScriptDebugServer::exception):
24239         (WebCore::ScriptDebugServer::willExecuteProgram):
24240         (WebCore::ScriptDebugServer::didExecuteProgram):
24241         (WebCore::ScriptDebugServer::didReachBreakpoint):
24242         * bindings/js/ScriptDebugServer.h:
24243         * bindings/v8/DebuggerScript.js:
24244         ():
24245         * bindings/v8/JavaScriptCallFrame.cpp:
24246         (WebCore::JavaScriptCallFrame::column):
24247         * bindings/v8/JavaScriptCallFrame.h:
24248         * inspector/InjectedScriptSource.js:
24249         ():
24250         * inspector/JavaScriptCallFrame.idl:
24251
24252 2011-01-18  Antti Koivisto  <antti@apple.com>
24253
24254         Reviewed by Dave Hyatt.
24255
24256         https://bugs.webkit.org/show_bug.cgi?id=52370
24257         <rdar://problem/8856808>
24258         Style sharing optimization no longer works on major web sites
24259         
24260         The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated 
24261         by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables
24262         the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page.  
24263         
24264         This patch gets the style sharing back to 25-40% range on most web sites.
24265
24266         * css/CSSMutableStyleDeclaration.h:
24267         (WebCore::CSSMutableStyleDeclaration::propertiesEqual):
24268             
24269             Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent.
24270         
24271         * css/CSSSelector.h:
24272         (WebCore::CSSSelector::isSiblingSelector):
24273         
24274             Test for selectors that are affected by the sibling elements.
24275         
24276         * css/CSSStyleSelector.cpp:
24277         (WebCore::elementCanUseSimpleDefaultStyle):
24278         (WebCore::collectSiblingRulesInDefaultStyle):
24279         (WebCore::assertNoSiblingRulesInDefaultStyle):
24280             
24281             Extract sibling rules from the MathML default stylesheet. 
24282             Assert that no other default stylesheet has them.
24283             
24284         (WebCore::CSSStyleSelector::CSSStyleSelector):
24285         (WebCore::CSSStyleSelector::locateCousinList):
24286         (WebCore::CSSStyleSelector::matchesSiblingRules):
24287         (WebCore::CSSStyleSelector::canShareStyleWithElement):
24288         (WebCore::CSSStyleSelector::locateSharedStyle):
24289         (WebCore::CSSStyleSelector::styleForElement):
24290         (WebCore::collectIdsAndSiblingRulesFromList):
24291         (WebCore::CSSRuleSet::collectIdsAndSiblingRules):
24292
24293             Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases
24294             where style sharing can't be used.
24295
24296         * css/CSSStyleSelector.h:
24297         * dom/NamedNodeMap.cpp:
24298         (WebCore::NamedNodeMap::mappedMapsEquivalent):
24299             
24300             Check also for CSSValue mutation from DOM. 
24301             
24302         * mathml/MathMLMathElement.cpp:
24303         (WebCore::MathMLMathElement::insertedIntoDocument):
24304         * mathml/MathMLMathElement.h:
24305         
24306             MathML default style sheet has sibling rules which don't get noticed by the normal document
24307             stylesheet parsing.
24308         
24309         * rendering/style/RenderStyle.h:
24310         (WebCore::InheritedFlags::setFirstChildState):
24311         (WebCore::InheritedFlags::setLastChildState):
24312         (WebCore::InheritedFlags::setChildIndex):
24313         
24314             These all make style non-shareable (unique).
24315
24316 2011-01-18  MORITA Hajime  <morrita@google.com>
24317
24318         Unreviewed crash fix on release builds.
24319
24320         * rendering/RenderBoxModelObject.cpp:
24321         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24322
24323 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
24324
24325         Unreviewed, update localizedStrings.js.
24326
24327         * English.lproj/localizedStrings.js:
24328
24329 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
24330
24331         Reviewed by Pavel Feldman.
24332
24333         Web Inspector: implement script beautifier prototype.
24334         https://bugs.webkit.org/show_bug.cgi?id=51588
24335
24336         * WebCore.gypi:
24337         * WebCore.vcproj/WebCore.vcproj:
24338         * inspector/front-end/ScriptFormatter.js: Added.
24339         (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and
24340         formatted line numbers
24341         (WebInspector.ScriptFormatter.findLineEndings):
24342         (WebInspector.ScriptFormatter.locationToPosition):
24343         (WebInspector.ScriptFormatter.positionToLocation):
24344         (WebInspector.ScriptFormatter.upperBound):
24345         (WebInspector.ScriptFormatter.prototype.format):
24346         (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber):
24347         (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber):
24348         (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber):
24349         (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition):
24350         (WebInspector.ScriptFormatter.prototype._convertPosition):
24351         * inspector/front-end/ScriptsPanel.js:
24352         (WebInspector.ScriptsPanel):
24353         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
24354         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
24355         (WebInspector.ScriptsPanel.prototype._formatScript):
24356         * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa
24357         * inspector/front-end/WebKit.qrc:
24358         * inspector/front-end/inspector.html:
24359
24360 2011-01-18  Philippe Normand  <pnormand@igalia.com>
24361
24362         Unreviewed, GTK build fix as follow-up of r76004.
24363
24364         * GNUmakefile.am: Include RoundedIntRect files in the build
24365
24366 2011-01-18  Philippe Normand  <pnormand@igalia.com>
24367
24368         Unreviewed, rolling out r76002.
24369         http://trac.webkit.org/changeset/76002
24370         https://bugs.webkit.org/show_bug.cgi?id=49790
24371
24372         breaks a bunch of fast/forms tests on mac and GTK
24373
24374         * html/HTMLOptionElement.cpp:
24375         (WebCore::HTMLOptionElement::setRenderStyle):
24376
24377 2011-01-18 MORITA Hajime <morrita@google.com>
24378
24379         Unreviewed windows build fix.
24380
24381         * WebCore.vcproj/WebCore.vcproj:
24382
24383 2011-01-17  MORITA Hajime  <morrita@google.com>
24384
24385         Reviewed by Simon Fraser.
24386
24387         Refactoring: Extract RoundedIntRect class
24388         https://bugs.webkit.org/show_bug.cgi?id=51664
24389
24390         RoundedIntRect is a pair of rect and four IntSize objects which represent
24391         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
24392         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
24393         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
24394         and other functions accept RoundedIntRect as an argument.
24395
24396         No new tests. No behavioral change.
24397
24398         * Android.mk:
24399         * CMakeLists.txt:
24400         * WebCore.gypi:
24401         * WebCore.pro:
24402         * WebCore.xcodeproj/project.pbxproj:
24403         * platform/graphics/GraphicsContext.cpp:
24404         (WebCore::GraphicsContext::addRoundedRectClip):
24405         (WebCore::GraphicsContext::clipOutRoundedRect):
24406         (WebCore::GraphicsContext::fillRoundedRect):
24407         * platform/graphics/GraphicsContext.h:
24408         * platform/graphics/RoundedIntRect.cpp: Added.
24409         (WebCore::RoundedIntRect::Radii::isZero):
24410         (WebCore::RoundedIntRect::Radii::scale):
24411         (WebCore::RoundedIntRect::Radii::expand):
24412         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
24413         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
24414         (WebCore::RoundedIntRect::RoundedIntRect):
24415         (WebCore::RoundedIntRect::includeLogicalEdges):
24416         (WebCore::RoundedIntRect::excludeLogicalEdges):
24417         * platform/graphics/RoundedIntRect.h: Added.
24418         (WebCore::RoundedIntRect::Radii::Radii):
24419         (WebCore::RoundedIntRect::Radii::setTopLeft):
24420         (WebCore::RoundedIntRect::Radii::setTopRight):
24421         (WebCore::RoundedIntRect::Radii::setBottomLeft):
24422         (WebCore::RoundedIntRect::Radii::setBottomRight):
24423         (WebCore::RoundedIntRect::Radii::topLeft):
24424         (WebCore::RoundedIntRect::Radii::topRight):
24425         (WebCore::RoundedIntRect::Radii::bottomLeft):
24426         (WebCore::RoundedIntRect::Radii::bottomRight):
24427         (WebCore::RoundedIntRect::Radii::expand):
24428         (WebCore::RoundedIntRect::Radii::shrink):
24429         (WebCore::RoundedIntRect::location):
24430         (WebCore::RoundedIntRect::size):
24431         (WebCore::RoundedIntRect::x):
24432         (WebCore::RoundedIntRect::y):
24433         (WebCore::RoundedIntRect::width):
24434         (WebCore::RoundedIntRect::height):
24435         (WebCore::RoundedIntRect::right):
24436         (WebCore::RoundedIntRect::bottom):
24437         (WebCore::RoundedIntRect::rect):
24438         (WebCore::RoundedIntRect::radii):
24439         (WebCore::RoundedIntRect::isRounded):
24440         (WebCore::RoundedIntRect::isEmpty):
24441         (WebCore::RoundedIntRect::setRect):
24442         (WebCore::RoundedIntRect::setRadii):
24443         (WebCore::RoundedIntRect::move):
24444         (WebCore::RoundedIntRect::inflate):
24445         (WebCore::RoundedIntRect::inflateWithRadii):
24446         (WebCore::RoundedIntRect::expandRadii):
24447         (WebCore::RoundedIntRect::shrinkRadii):
24448         * rendering/RenderBox.cpp:
24449         (WebCore::RenderBox::pushContentsClip):
24450         * rendering/RenderBoxModelObject.cpp:
24451         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24452         (WebCore::RenderBoxModelObject::paintBorder):
24453         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
24454         (WebCore::RenderBoxModelObject::paintBoxShadow):
24455         * rendering/RenderBoxModelObject.h:
24456         * rendering/RenderObject.cpp:
24457         (WebCore::RenderObject::drawBoxSideFromPath):
24458         * rendering/RenderReplaced.cpp:
24459         (WebCore::RenderReplaced::paint):
24460         * rendering/RenderThemeChromiumWin.cpp:
24461         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
24462         * rendering/RenderThemeMac.mm:
24463         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
24464         (WebCore::RenderThemeMac::paintSliderTrack):
24465         * rendering/RenderThemeSafari.cpp:
24466         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
24467         (WebCore::RenderThemeSafari::paintSliderTrack):
24468         * rendering/RenderThemeWinCE.cpp:
24469         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
24470         * rendering/RenderWidget.cpp:
24471         (WebCore::RenderWidget::paint):
24472         * rendering/style/BorderData.h:
24473         * rendering/style/RenderStyle.cpp:
24474         (WebCore::calcRadiiFor):
24475         (WebCore::calcConstraintScaleFor):
24476         (WebCore::RenderStyle::getRoundedBorderFor):
24477         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
24478         * rendering/style/RenderStyle.h:
24479         (WebCore::InheritedFlags::setBorderRadius):
24480
24481 2011-01-17  Rob Buis  <rwlbuis@gmail.com>
24482
24483         Reviewed by Kent Tamura.
24484
24485         Color changes to option elements in a select multiple aren't drawn immediately
24486         https://bugs.webkit.org/show_bug.cgi?id=49790
24487
24488         Redirect style changes on <option> element to the owner <select> element.
24489
24490         Tests: fast/forms/select-option-background-color-change.html
24491                fast/forms/select-option-color-change.html
24492                fast/forms/select-option-visibility-change.html
24493
24494         * html/HTMLOptionElement.cpp:
24495         (WebCore::HTMLOptionElement::setRenderStyle):
24496
24497 2011-01-17  MORITA Hajime  <morrita@google.com>
24498
24499         Unreviewed, rolling out r75995.
24500         http://trac.webkit.org/changeset/75995
24501         https://bugs.webkit.org/show_bug.cgi?id=51914
24502
24503         Causes assertion failures.
24504
24505         * dom/Element.cpp:
24506         (WebCore::Element::shadowRoot):
24507         (WebCore::Element::setShadowRoot):
24508         (WebCore::Element::removeShadowRoot):
24509         * dom/ElementRareData.h:
24510         (WebCore::ElementRareData::ElementRareData):
24511
24512 2011-01-17  MORITA Hajime  <morrita@google.com>
24513
24514         Unreviewed, rolling out r75999.
24515         http://trac.webkit.org/changeset/75999
24516
24517         * dom/Element.cpp:
24518         (WebCore::Element::removeShadowRoot):
24519
24520 2011-01-17 MORITA Hajime  <morrita@google.com>
24521
24522         Unreviewed crash fix, which introduced at r75995
24523
24524         * dom/Element.cpp:
24525         (WebCore::Element::removeShadowRoot):
24526
24527 2011-01-17  MORITA Hajime  <morrita@google.com>
24528
24529         Reviewed by Dimitri Glazkov.
24530
24531         ElementRareData::m_shadowRoot should not be RefPtr.
24532         https://bugs.webkit.org/show_bug.cgi?id=51914
24533
24534         This change makes m_shadowRoot a raw pointer, as Node::m_parent is.
24535         This change is safe because shadow host pointer is stored as TreeShared::m_parent
24536         which prevents deletion unless set to null.
24537         
24538         No test, no behavioral change.
24539
24540         * dom/Element.cpp:
24541         (WebCore::Element::shadowRoot):
24542         (WebCore::Element::setShadowRoot):
24543         (WebCore::Element::removeShadowRoot):
24544         * dom/ElementRareData.h:
24545         (WebCore::ElementRareData::ElementRareData):
24546
24547 2011-01-17  Maciej Stachowiak  <mjs@apple.com>
24548
24549         Reviewed by Dan Bernstein.
24550
24551         Some WebKit2 layout tests crash due to focus being on a frame in the page cache
24552         https://bugs.webkit.org/show_bug.cgi?id=52607
24553
24554         No new tests. Existing tests crash in WebKit2 without this fix.
24555         
24556         I suspect there are other consequences besides the WebKit2 crash, but I
24557         was unable to identify any for certain.
24558
24559         * history/CachedFrame.cpp:
24560         (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page
24561         goes in the page cache, reset focus to the main frame.
24562
24563 2011-01-17  Adam Roben  <aroben@apple.com>
24564
24565         Simplify WKCACFLayerRenderer's API
24566
24567         createRenderer/destroyRenderer are now hidden behind setHostWindow.
24568         WKCACFLayerRendererClient::animationsStarted has been removed, as it
24569         was never called. (The work it was supposed to do was already being
24570         accomplished by WKCACFLayerRenderer::render telling each layer that
24571         animations are starting.)
24572
24573         Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use
24574
24575         Reviewed by Chris Marrin.
24576
24577         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
24578         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the
24579         call to setHostWindow here from the WM_CREATE handler. The WM_CREATE
24580         handler was causing the Direct3D device to be created, but MSDN says
24581         you shouldn't create a device while handling WM_CREATE. Removed
24582         no-longer-needed call to createRenderer (setHostWindow does this now)
24583         and the never-needed call to setNeedsDisplay (we never draw into the
24584         root layer; this was just creating an unnecessary backing store the
24585         size of the screen!).
24586         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE
24587         code, as described above. Removed call to destroyRenderer when handling
24588         WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler
24589         to do a synchronous paint and to clear our dirty region, while I was in
24590         here.
24591
24592         * platform/graphics/win/WKCACFLayerRenderer.cpp:
24593         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
24594         setHostWindow instead of destroyRenderer; the former calls the latter
24595         if needed.
24596         (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the
24597         header file. Destroys our old renderer (i.e., IDirect3DDevice9) if
24598         we're losing our window, or creates a renderer if we're gaining a
24599         window.
24600         (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename.
24601         (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the
24602         D3D device from our context before releasing the device.
24603
24604         * platform/graphics/win/WKCACFLayerRenderer.h: Removed
24605         WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
24606         Make createRenderer, destroyRenderer, and renderSoon private.
24607
24608 2011-01-17  Adam Roben  <aroben@apple.com>
24609
24610         Remove special-cased support for providing content for the root layer
24611
24612         Clients will just have to provide content through the normal
24613         GraphicsLayer channels now!
24614
24615         Support for <http://webkit.org/b/52582> WebView should paint directly
24616         into a GraphicsLayer when in accelerated compositing mode
24617
24618         Reviewed by Simon Fraser and Chris Marrin.
24619
24620         * platform/graphics/win/WKCACFLayerRenderer.cpp:
24621         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
24622         initialization of m_backingStoreDirty, which has itself been removed.
24623         (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
24624         a sync from here to syncCompositingStateSoon. We only need to call
24625         renderSoon if we don't call syncCompositingStateSoon; the latter
24626         function calls the former.
24627         (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
24628         m_backingStoreDirty. We don't want to know anything about clients'
24629         backing stores.
24630         (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
24631         came from setNeedsDisplay.
24632
24633         * platform/graphics/win/WKCACFLayerRenderer.h:
24634         Removed setRootContents[AndDisplay], setBackingStoreDirty, and
24635         m_backingStoreDirty. Made paint() public so that clients can force a
24636         synchronous render (e.g., when handling WM_PAINT).
24637
24638 2011-01-17  Adam Roben  <aroben@apple.com>
24639
24640         Remove contexts from WKCACFContextFlusher before destroying them
24641
24642         We aren't really using WKCACFContextFlusher for anything useful at the
24643         moment, but that will probably change in the near future.
24644
24645         I couldn't come up with a way to test this because it isn't possible to
24646         resize a window in DumpRenderTree.
24647
24648         Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
24649         WKCACFContextFlusher::flushAllContexts when resizing window on page
24650         that uses accelerated compositing
24651
24652         Reviewed by Simon Fraser.
24653
24654         * platform/graphics/win/WKCACFLayerRenderer.cpp:
24655         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
24656         context from WKCACFContextFlusher. (This code was erroneously removed
24657         from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
24658         sensible place for it.)
24659
24660 2011-01-17  Adam Roben  <aroben@apple.com>
24661
24662         Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
24663
24664         There might be a secret extra sublayer (the tile parent layer) that
24665         PlatformCALayer doesn't know about. When PlatformCALayer would
24666         encounter this, it would try to use the tile parent layer's
24667         PlatformCALayer wrapper, which was null, and then would crash. We now
24668         ask PlatformCALayerWinInternal for the sublayer list, since that class
24669         knows about the tile parent layer and can exclude it from the sublayer
24670         list.
24671
24672         Covered by compositing/tiling/huge-layer-resize.html.
24673
24674         Fixes <http://webkit.org/b/52597> Crash beneath
24675         PlatformCALayer::adoptSublayers when switching out of tiling mode
24676         (null-dereference of a PlatformCALayer)
24677
24678         Reviewed by Darin Adler and Chris Marrin.
24679
24680         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
24681         (PlatformCALayer::adoptSublayers):
24682         (printLayer):
24683         Changed to use PlatformCALayerWinInternal::getSublayers.
24684
24685         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
24686         (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
24687         of PlatformCALayers that represent our sublayers. Significantly, this
24688         code knows about the tile parent layer and can thus exclude it.
24689
24690         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
24691         getSublayers.
24692
24693 2011-01-17  Naoki Takano  <takano.naoki@gmail.com>
24694
24695         Reviewed by Kent Tamura.
24696
24697         [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
24698         https://bugs.webkit.org/show_bug.cgi?id=51382
24699         http://crbug.com/60427
24700
24701         Calculate correct location of popup window whenever the items in the window change.
24702
24703         No new tests, because this fix is for Chromium project and hard to test only in WebKit project
24704
24705         * platform/chromium/PopupMenuChromium.cpp:
24706         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
24707         (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
24708         (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
24709         * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().
24710
24711 2011-01-17  Mark Rowe  <mrowe@apple.com>
24712
24713         Fix the 32-bit build.
24714
24715         * WebCore.exp.in:
24716
24717 2011-01-17  Dan Bernstein  <mitz@apple.com>
24718
24719         Reviewed by Darin Adler.
24720
24721         Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
24722         https://bugs.webkit.org/show_bug.cgi?id=52598
24723
24724         Test: fast/css/font-face-zero-hash-key.html
24725
24726         * css/CSSFontFaceSource.cpp:
24727         (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
24728         * css/CSSSegmentedFontFace.cpp:
24729         (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
24730
24731 2011-01-17  David Kilzer  <ddkilzer@apple.com>
24732
24733         <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
24734
24735         Reviewed by Dan Bernstein.
24736
24737         This fixes two issues:
24738
24739         Add missing DOMDocumentFragmentPrivate.h and
24740         DOMDocumentPrivate.h files to the project.  These files were
24741         never added to the the project although their *Internal.h
24742         counterparts were added in r16548 and r17390.
24743
24744         Add missing DOMDocumentFragmentInternal.h to the Headers
24745         section.  It was moved from Headers to "Copy Generated Headers"
24746         in r31045, but it should have an entry in both sections.
24747
24748         * WebCore.xcodeproj/project.pbxproj:
24749
24750 2011-01-17  Helder Correia  <helder@sencha.com>
24751
24752         Reviewed by Andreas Kling.
24753
24754         [Qt] Incorrect shadow alpha with pattern fillStyle
24755         https://bugs.webkit.org/show_bug.cgi?id=52559
24756
24757         The shadow color opacity needs to be set on the shadow painter.
24758         This is related to bug 52556.
24759
24760         Test: fast/canvas/canvas-fillPath-pattern-shadow.html
24761
24762         * platform/graphics/qt/GraphicsContextQt.cpp:
24763         (WebCore::GraphicsContext::fillPath):
24764
24765 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
24766
24767         Reviewed by Andreas Kling.
24768
24769         [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
24770         https://bugs.webkit.org/show_bug.cgi?id=52586
24771
24772         No new tests. This is just a merge from upstream.
24773
24774         * platform/network/soup/cache/soup-http-input-stream.c:
24775         (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
24776
24777 2011-01-17  Tony Gentilcore  <tonyg@chromium.org>
24778
24779         Reviewed by Alexey Proskuryakov.
24780
24781         Fix some headers with missing or misspelled #ifndef guards
24782         https://bugs.webkit.org/show_bug.cgi?id=52545
24783
24784         No new tests because no new functionality.
24785
24786         * ForwardingHeaders/runtime/InitializeThreading.h:
24787         * editing/SmartReplace.h:
24788         * loader/CrossOriginAccessControl.h:
24789         * loader/NetscapePlugInStreamLoader.h:
24790         * platform/chromium/ClipboardUtilitiesChromium.h:
24791         * platform/graphics/cairo/DrawErrorUnderline.h:
24792         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
24793         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
24794         * platform/graphics/cg/PDFDocumentImage.h:
24795         * platform/win/WebCoreTextRenderer.h:
24796
24797 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24798
24799         Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
24800
24801         * inspector/front-end/NetworkPanel.js:
24802         (WebInspector.NetworkPanel.prototype.clear):
24803         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
24804
24805 2011-01-17  Sergio Villar Senin  <svillar@igalia.com>
24806
24807         Reviewed by Martin Robinson.
24808
24809         [Gtk] No need to content sniff 304 Not Modified responses
24810         https://bugs.webkit.org/show_bug.cgi?id=52570
24811
24812         Makes no sense to wait for the outcome of content sniffing when WebCore
24813         is validating resources. If we get a 304 Not Modified it means that we can
24814         safely use the cached version of the resource we're asking for.
24815
24816         No new tests because it does not change functionality, it just
24817         calls didReceiveResponse sooner for 304 Not Modified responses.
24818
24819         * platform/network/soup/ResourceHandleSoup.cpp:
24820         (WebCore::gotHeadersCallback):
24821
24822 2011-01-17  Jessie Berlin  <jberlin@apple.com>
24823
24824         Reviewed by Anders Carlsson.
24825
24826         REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
24827         navigating back to an unreachable URL
24828         https://bugs.webkit.org/show_bug.cgi?id=52388
24829
24830         Test: http/tests/navigation/go-back-to-error-page.html
24831
24832         * history/PageCache.cpp:
24833         (WebCore::PageCache::canCachePageContainingThisFrame):
24834         Do not cache any error pages (which we can recognize as having substitute data and/or an
24835         unreachableURL).
24836
24837 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24838
24839         Not reviewed: fixing typo in r75952.
24840
24841         * inspector/front-end/NetworkPanel.js:
24842         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
24843
24844 2011-01-17  Enrica Casucci  <enrica@apple.com>
24845
24846         Reviewed by Alexey Proskuryakov.
24847
24848         Drag and drop support: refactoring of image from link and image from selection
24849         https://bugs.webkit.org/show_bug.cgi?id=52496
24850
24851         This work cleans up the Mac code and makes it more similar to the Windows implementation,
24852         avoiding the use of an NSView when the FrameView can be used.
24853         The refactoring is a necessary step towards the complete support of drag and drop
24854         in WebKit2.
24855         
24856         * page/mac/FrameMac.mm:
24857         (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
24858         to generate the image for drag.
24859
24860 2011-01-17  Dan Bernstein  <mitz@apple.com>
24861
24862         Rubber-stamped by Mark Rowe.
24863
24864         Update xcodeproj svn:ignore to include xcuserdata.
24865
24866         * WebCore.xcodeproj: Modified property svn:ignore.
24867         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
24868
24869 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
24870
24871         Leopard build fix.
24872
24873         * page/PrintContext.cpp: GCC complained about shortening a double value to float.
24874
24875 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
24876
24877         Reviewed by Dan Bernstein.
24878
24879         https://bugs.webkit.org/show_bug.cgi?id=52495
24880
24881         No change in behavior, so no tests.
24882
24883         * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
24884
24885         * page/PrintContext.cpp:
24886         (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
24887         destroyed already.
24888         (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
24889         (WebCore::PrintContext::pageRect): Ditto.
24890         (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
24891         PrintContext already has code to calculate scale factor, so it makes sense to make methods
24892         that contain it universal (allowHorizontalTiling is always true for Safari).
24893         Round page height to an integer, because Mac code does that, and because page height is
24894         treated as integer almost everywhere else in code.
24895         (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
24896         to return to screen mode if e.g. "print backgounds" option changes.
24897         (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
24898         that clients don't have to copy it.
24899         (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
24900         comes from code that doesn't have page number.
24901         (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.
24902
24903         * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
24904         depends on deciding how it really needs to work (e.g. whether computePageRects() should
24905         cause relayout).
24906
24907 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24908
24909         Reviewed by Yury Semikhatsky.
24910
24911         Web Inspector: unify image data source assignment, add image url
24912         to the image view properties list.
24913         https://bugs.webkit.org/show_bug.cgi?id=52584
24914
24915         * English.lproj/localizedStrings.js:
24916         * inspector/front-end/ImageView.js:
24917         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
24918         (WebInspector.ImageView.prototype._createContentIfNeeded):
24919         * inspector/front-end/NetworkPanel.js:
24920         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
24921         * inspector/front-end/Resource.js:
24922         (WebInspector.Resource.prototype.populateImageSource):
24923         (WebInspector.Resource.prototype._contentURL):
24924         * inspector/front-end/ResourcesPanel.js:
24925         (WebInspector.FrameResourceTreeElement.prototype.onattach):
24926
24927 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
24928
24929         Reviewed by Pavel Feldman.
24930
24931         Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
24932         Make resource start/finish hanlding more consistent.
24933         https://bugs.webkit.org/show_bug.cgi?id=52452
24934
24935         * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
24936         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
24937         (WebInspector.AuditLauncherView.prototype.resourceStarted):
24938         (WebInspector.AuditLauncherView.prototype.resourceFinished):
24939         * inspector/front-end/NetworkManager.js:
24940         (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
24941         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
24942         (WebInspector.NetworkManager.prototype.willSendRequest):
24943         (WebInspector.NetworkManager.prototype.markResourceAsCached):
24944         (WebInspector.NetworkManager.prototype.didReceiveResponse):
24945         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
24946         (WebInspector.NetworkManager.prototype.didFinishLoading):
24947         (WebInspector.NetworkManager.prototype.didFailLoading):
24948         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
24949         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
24950         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
24951         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
24952         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
24953         (WebInspector.NetworkManager.prototype._appendRedirect):
24954         (WebInspector.NetworkManager.prototype._startResource):
24955         (WebInspector.NetworkManager.prototype._finishResource):
24956
24957 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
24958
24959         Reviewed by Yury Semikhatsky.
24960
24961         Web Inspector: restore dom and network state upon frontend reuse.
24962         https://bugs.webkit.org/show_bug.cgi?id=52574
24963
24964         * inspector/Inspector.idl:
24965         * inspector/InspectorController.cpp:
24966         (WebCore::InspectorController::restoreInspectorStateFromCookie):
24967         (WebCore::InspectorController::populateScriptObjects):
24968         (WebCore::InspectorController::pushDataCollectedOffline):
24969         (WebCore::InspectorController::didCommitLoad):
24970         * inspector/InspectorController.h:
24971         * inspector/front-end/NetworkManager.js:
24972         (WebInspector.NetworkManager.prototype.reset):
24973         * inspector/front-end/NetworkPanel.js:
24974         (WebInspector.NetworkPanel.prototype.clear):
24975         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
24976         * inspector/front-end/ResourceTreeModel.js:
24977         (WebInspector.ResourceTreeModel):
24978         (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
24979         * inspector/front-end/ResourcesPanel.js:
24980         (WebInspector.ResourcesPanel.prototype.clear):
24981         * inspector/front-end/inspector.js:
24982         (WebInspector.frontendReused):
24983
24984 2011-01-17  Csaba Osztrogonác  <ossy@webkit.org>
24985
24986         Unreviewed buildfix after r75944.
24987
24988         * WebCore.pro:
24989
24990 2011-01-17  Yi Shen  <yi.4.shen@nokia.com>
24991
24992         Reviewed by Andreas Kling.
24993
24994         [Qt] Extend the Platform Plugin to support full screen video handler
24995         https://bugs.webkit.org/show_bug.cgi?id=51249
24996
24997         Make MediaPlayerPrivateQt support a fullscreen player.
24998
24999         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
25000         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
25001         So, still skip it for Qt.
25002
25003         * WebCore.pro:
25004         * features.pri:
25005         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
25006         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
25007         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
25008         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
25009         * platform/graphics/qt/MediaPlayerPrivateQt.h:
25010         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
25011         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
25012
25013 2011-01-17  Anthony Ricaud  <rik@webkit.org>
25014
25015         Reviewed by Kent Tamura.
25016
25017         [HTML5] Revert display:none on datalist
25018         https://bugs.webkit.org/show_bug.cgi?id=52214
25019
25020         * css/html.css:
25021
25022 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
25023
25024         Reviewed by Yury Semikhatsky.
25025
25026         Web Inspector: simplify debugger enabling routine.
25027         https://bugs.webkit.org/show_bug.cgi?id=52472
25028
25029         * inspector/Inspector.idl:
25030         * inspector/InspectorController.cpp:
25031         (WebCore::InspectorController::restoreDebugger):
25032         (WebCore::InspectorController::showAndEnableDebugger):
25033         (WebCore::InspectorController::enableDebugger):
25034         * inspector/InspectorController.h:
25035         * inspector/front-end/DebuggerModel.js:
25036         * inspector/front-end/ScriptsPanel.js:
25037         (WebInspector.ScriptsPanel.prototype.show):
25038         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
25039
25040 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
25041
25042         Reviewed by Pavel Feldman.
25043
25044         Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
25045         https://bugs.webkit.org/show_bug.cgi?id=51738
25046
25047         Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
25048         Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.
25049
25050         * inspector/front-end/ScriptView.js:
25051         (WebInspector.ScriptView):
25052         (WebInspector.SourceFrameContentProviderForScript):
25053         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
25054         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
25055         (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
25056         * inspector/front-end/ScriptsPanel.js:
25057         (WebInspector.ScriptsPanel.prototype._addScript):
25058         (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
25059         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
25060         * inspector/front-end/SourceFrame.js:
25061         (WebInspector.SourceFrame):
25062         (WebInspector.SourceFrame.prototype.set visible):
25063         (WebInspector.SourceFrame.prototype._createTextViewer):
25064         (WebInspector.SourceFrame.prototype._breakpointAdded):
25065         (WebInspector.SourceFrame.prototype._breakpoints):
25066         (WebInspector.SourceFrame.prototype._sourceIDForLine):
25067         (WebInspector.SourceFrame.prototype._sourceIDSet):
25068         (WebInspector.SourceFrameContentProvider):
25069         (WebInspector.SourceFrameContentProvider.prototype.requestContent):
25070         (WebInspector.SourceFrameContentProvider.prototype.scripts):
25071         * inspector/front-end/SourceView.js:
25072         (WebInspector.SourceView):
25073         (WebInspector.SourceView.prototype.show):
25074         (WebInspector.SourceView.prototype.resize):
25075         (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
25076         (WebInspector.SourceView.prototype.performSearch):
25077         (WebInspector.SourceView.prototype.revealLine):
25078         (WebInspector.SourceView.prototype.highlightLine):
25079         (WebInspector.SourceView.prototype._jumpToSearchResult):
25080         (WebInspector.SourceFrameContentProviderForResource):
25081         (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
25082         (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):
25083
25084 2011-01-17  John Knottenbelt  <jknotten@chromium.org>
25085
25086         Reviewed by Jeremy Orlow.
25087
25088         GeolocationController should call stopUpdating on destruction
25089         https://bugs.webkit.org/show_bug.cgi?id=52216
25090
25091         Test: fast/dom/Geolocation/window-close-crash.html
25092
25093         * page/GeolocationController.cpp:
25094         (WebCore::GeolocationController::~GeolocationController):
25095
25096 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
25097
25098         Not reviewed: Qt build fix.
25099
25100         * inspector/InspectorInstrumentation.h:
25101
25102 2011-01-16  Pavel Feldman  <pfeldman@chromium.org>
25103
25104         Reviewed by Yury Semikhatsky.
25105
25106         Web Inspector: make WebCore use InspectorInstrumentation
25107         for instrumentation calls.
25108         https://bugs.webkit.org/show_bug.cgi?id=52532
25109
25110         This change makes WebCore classes issue instrumentation signals
25111         by means of InspectorInstrumentation interface. It covered migration
25112         for Document, FrameLoader, Database, DOMStorage, etc. It fixed
25113         instrumentation handling for Console as well. This all is a part
25114         of story described in the bug 52510.
25115
25116         * dom/Document.cpp:
25117         (WebCore::Document::finishedParsing):
25118         * dom/Document.h:
25119         * dom/ScriptExecutionContext.h:
25120         * inspector/InspectorBrowserDebuggerAgent.cpp:
25121         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
25122         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
25123         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
25124         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
25125         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
25126         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
25127         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
25128         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
25129         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
25130         * inspector/InspectorBrowserDebuggerAgent.h:
25131         (WebCore::InspectorBrowserDebuggerAgent::create):
25132         * inspector/InspectorConsoleAgent.cpp:
25133         (WebCore::InspectorConsoleAgent::stopTiming):
25134         (WebCore::InspectorConsoleAgent::count):
25135         * inspector/InspectorConsoleAgent.h:
25136         * inspector/InspectorController.cpp:
25137         (WebCore::InspectorController::InspectorController):
25138         (WebCore::InspectorController::~InspectorController):
25139         (WebCore::InspectorController::handleMousePress):
25140         (WebCore::InspectorController::didClearWindowObjectInWorld):
25141         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
25142         * inspector/InspectorController.h:
25143         * inspector/InspectorDOMAgent.h:
25144         * inspector/InspectorDOMStorageAgent.h:
25145         * inspector/InspectorDatabaseAgent.cpp:
25146         * inspector/InspectorDatabaseAgent.h:
25147         * inspector/InspectorFrontendHost.cpp:
25148         * inspector/InspectorFrontendHost.h:
25149         * inspector/InspectorInstrumentation.cpp:
25150         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
25151         (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
25152         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
25153         (WebCore::InspectorInstrumentation::handleMousePressImpl):
25154         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
25155         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
25156         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
25157         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
25158         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
25159         (WebCore::InspectorInstrumentation::consoleCountImpl):
25160         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
25161         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
25162         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
25163         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
25164         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
25165         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
25166         (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
25167         (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
25168         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
25169         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
25170         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
25171         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
25172         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
25173         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
25174         * inspector/InspectorInstrumentation.h:
25175         (WebCore::InspectorInstrumentation::inspectorControllerCreated):
25176         (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
25177         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
25178         (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
25179         (WebCore::InspectorInstrumentation::willInsertDOMNode):
25180         (WebCore::InspectorInstrumentation::didInsertDOMNode):
25181         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
25182         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
25183         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
25184         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
25185         (WebCore::InspectorInstrumentation::handleMousePress):
25186         (WebCore::InspectorInstrumentation::characterDataModified):
25187         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
25188         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
25189         (WebCore::InspectorInstrumentation::didInstallTimer):
25190         (WebCore::InspectorInstrumentation::didRemoveTimer):
25191         (WebCore::InspectorInstrumentation::willCallFunction):
25192         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
25193         (WebCore::InspectorInstrumentation::willDispatchEvent):
25194         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
25195         (WebCore::InspectorInstrumentation::willEvaluateScript):
25196         (WebCore::InspectorInstrumentation::willFireTimer):
25197         (WebCore::InspectorInstrumentation::willLayout):
25198         (WebCore::InspectorInstrumentation::willLoadXHR):
25199         (WebCore::InspectorInstrumentation::willPaint):
25200         (WebCore::InspectorInstrumentation::willRecalculateStyle):
25201         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
25202         (WebCore::InspectorInstrumentation::willSendRequest):
25203         (WebCore::InspectorInstrumentation::markResourceAsCached):
25204         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
25205         (WebCore::InspectorInstrumentation::willReceiveResourceData):
25206         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
25207         (WebCore::InspectorInstrumentation::didReceiveContentLength):
25208         (WebCore::InspectorInstrumentation::didFinishLoading):
25209         (WebCore::InspectorInstrumentation::didFailLoading):
25210         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
25211         (WebCore::InspectorInstrumentation::scriptImported):
25212         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
25213         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
25214         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
25215         (WebCore::InspectorInstrumentation::didCommitLoad):
25216         (WebCore::InspectorInstrumentation::willWriteHTML):
25217         (WebCore::InspectorInstrumentation::didOpenDatabase):
25218         (WebCore::InspectorInstrumentation::didUseDOMStorage):
25219         (WebCore::InspectorInstrumentation::didCreateWorker):
25220         (WebCore::InspectorInstrumentation::didDestroyWorker):
25221         (WebCore::InspectorInstrumentation::didCreateWebSocket):
25222         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
25223         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
25224         (WebCore::InspectorInstrumentation::didCloseWebSocket):
25225         (WebCore::InspectorInstrumentation::networkStateChanged):
25226         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
25227         (WebCore::InspectorInstrumentation::addMessageToConsole):
25228         (WebCore::InspectorInstrumentation::consoleCount):
25229         (WebCore::InspectorInstrumentation::startConsoleTiming):
25230         (WebCore::InspectorInstrumentation::stopConsoleTiming):
25231         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
25232         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
25233         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
25234         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
25235         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
25236         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
25237         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
25238         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
25239         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
25240         * inspector/InspectorState.cpp:
25241         * loader/FrameLoader.cpp:
25242         (WebCore::FrameLoader::detachFromParent):
25243         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
25244         (WebCore::FrameLoader::dispatchDidCommitLoad):
25245         * page/Chrome.cpp:
25246         (WebCore::Chrome::mouseDidMoveOverElement):
25247         * page/Console.cpp:
25248         (WebCore::Console::addMessage):
25249         (WebCore::Console::count):
25250         (WebCore::Console::markTimeline):
25251         (WebCore::Console::profile):
25252         (WebCore::Console::time):
25253         (WebCore::Console::timeEnd):
25254         (WebCore::Console::group):
25255         (WebCore::Console::groupCollapsed):
25256         (WebCore::Console::groupEnd):
25257         * page/DOMWindow.cpp:
25258         (WebCore::DOMWindow::sessionStorage):
25259         (WebCore::DOMWindow::localStorage):
25260         (WebCore::DOMWindow::dispatchLoadEvent):
25261         * page/EventHandler.cpp:
25262         (WebCore::EventHandler::handleMousePressEvent):
25263         * page/Page.cpp:
25264         (WebCore::Page::~Page):
25265         * storage/Database.cpp:
25266         (WebCore::Database::openDatabase):
25267         * workers/AbstractWorker.cpp:
25268         (WebCore::AbstractWorker::onDestroyWorker):
25269         * workers/SharedWorker.cpp:
25270         (WebCore::SharedWorker::create):
25271         * workers/Worker.cpp:
25272         (WebCore::Worker::create):
25273         * workers/WorkerMessagingProxy.cpp:
25274
25275 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
25276
25277         Unreviewed, rolling out r75923.
25278
25279         GTK guy rolls out the r75914.
25280
25281         * platform/efl/ScrollViewEfl.cpp:
25282         (WebCore::ScrollView::platformInit):
25283
25284 2011-01-17  Helder Correia  <helder@sencha.com>
25285
25286         Reviewed by Kenneth Rohde Christiansen.
25287
25288         [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
25289         https://bugs.webkit.org/show_bug.cgi?id=52556
25290
25291         The shadow color opacity needs to be set on the shadow painter.
25292         Additionally, the gradient brush should be transformed.
25293
25294         * platform/graphics/qt/GraphicsContextQt.cpp:
25295         (WebCore::GraphicsContext::fillPath):
25296
25297 2011-01-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
25298
25299         Reviewed by Kenneth Rohde Christiansen.
25300
25301         [Qt] Background image rendering is slow
25302         https://bugs.webkit.org/show_bug.cgi?id=50527
25303
25304         When tiling a scaled pixmap in Image::drawPattern, scale the tile
25305         first and only then draw it to the target. Do so only when drawing
25306         more than one tile.
25307
25308         Tests in fast/backgrounds/size cover this.
25309
25310         * platform/graphics/qt/ImageQt.cpp:
25311         (WebCore::Image::drawPattern):
25312
25313 2011-01-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
25314
25315         Reviewed by Simon Hausmann.
25316
25317         [Qt] [Symbian] Fix building NPAPI support
25318         https://bugs.webkit.org/show_bug.cgi?id=51981
25319
25320         Make sure that npapi.h is always included outside of the extern "C"
25321         linkage declaration block.
25322
25323         No new tests as there is no new functionality.
25324
25325         * bridge/npruntime.h:
25326
25327 2011-01-17  Philippe Normand  <pnormand@igalia.com>
25328
25329         Unreviewed, rolling out r75914.
25330         http://trac.webkit.org/changeset/75914
25331         https://bugs.webkit.org/show_bug.cgi?id=49177
25332
25333         multiple crashes on GTK
25334
25335         * platform/ScrollView.cpp:
25336         (WebCore::ScrollView::removeChild):
25337         (WebCore::ScrollView::wheelEvent):
25338         * platform/gtk/MainFrameScrollbarGtk.cpp:
25339         (MainFrameScrollbarGtk::attachAdjustment):
25340         (MainFrameScrollbarGtk::gtkValueChanged):
25341         * platform/gtk/ScrollViewGtk.cpp:
25342         (WebCore::ScrollView::platformInit):
25343         (WebCore::ScrollView::platformAddChild):
25344         (WebCore::ScrollView::platformRemoveChild):
25345
25346 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
25347
25348         Unreviewed build fix.
25349
25350         Bug 49177's patch enabled platformInit() in super class(ScrollView).
25351         But, it didn't removed the function in ScrollViewEfl.cpp.
25352
25353         * platform/efl/ScrollViewEfl.cpp:
25354
25355 2011-01-16  Dan Bernstein  <mitz@apple.com>
25356
25357         Reviewed by Sam Weinig.
25358
25359         <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
25360
25361         Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
25362         quad to a non-empty rect.
25363
25364         * rendering/RenderWidget.cpp:
25365         (WebCore::RenderWidget::setWidget):
25366         (WebCore::RenderWidget::updateWidgetPosition):
25367
25368 2011-01-16  Martin Robinson  <mrobinson@igalia.com>
25369
25370         Reviewed by Xan Lopez.
25371
25372         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
25373         https://bugs.webkit.org/show_bug.cgi?id=49177
25374
25375         * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
25376         now shares the implementation of platformAddChild and platformRemoveChild,
25377         but has its own implementation of removeChild, which knows how to inform
25378         main frame scrollbars that they no longer control the WebCore scrollbar.
25379         * platform/gtk/MainFrameScrollbarGtk.cpp:
25380         (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
25381         that we already have, bail out early. Apply the value changed signal handler
25382         after configuring the adjustment. We don't want our reset of the adjustment to
25383         stomp on WebCore values.
25384         (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
25385         state already matches ours. This prevents some unnecessary recursion
25386         * platform/gtk/ScrollViewGtk.cpp:
25387         (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
25388         which need their adjustments detached.
25389
25390 2011-01-13  Yuzo Fujishima  <yuzo@google.com>
25391
25392         Reviewed by Antti Koivisto.
25393
25394         Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
25395         https://bugs.webkit.org/show_bug.cgi?id=52427
25396
25397         In constructor/destructor of CachedResourceLoader, m_cache has been
25398         used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
25399         while cache() is used everywhere else.
25400
25401         Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
25402         Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
25403
25404         No new tests because the behavior remains the same.
25405
25406         * loader/cache/CachedResourceLoader.cpp:
25407         (WebCore::CachedResourceLoader::CachedResourceLoader):
25408         (WebCore::CachedResourceLoader::~CachedResourceLoader):
25409         * loader/cache/CachedResourceLoader.h:
25410         * loader/cache/MemoryCache.cpp:
25411         * loader/cache/MemoryCache.h:
25412
25413 2011-01-16  Adam Barth  <abarth@webkit.org>
25414
25415         Rubber-stamped by Eric Seidel.
25416
25417         Move WebKit into Source
25418         https://bugs.webkit.org/show_bug.cgi?id=52530
25419
25420         * WebCore.gyp/WebCore.gyp:
25421         * WebCore.pri:
25422         * WebCore.pro:
25423
25424 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
25425
25426         Reviewed by Dan Bernstein.
25427
25428         frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
25429         https://bugs.webkit.org/show_bug.cgi?id=52549
25430
25431         Fix regression from r75900; m_widget->setFrameRect() can run script that
25432         clears m_widget, so null-check it before calling setBoundsSize().
25433         
25434         Tested by fast/replaced/frame-removed-during-resize.html
25435
25436         * rendering/RenderWidget.cpp:
25437         (WebCore::RenderWidget::setWidgetGeometry):
25438
25439 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
25440
25441         Keep Leopard build happy.
25442
25443         * platform/mac/WidgetMac.mm:
25444         (WebCore::Widget::setBoundsSize):
25445
25446 2011-01-16  Robert Hogan  <robert@webkit.org>
25447
25448         Reviewed by Andreas Kling.
25449
25450         [Qt] plugins/keyboard-events.html fails after r72717
25451         https://bugs.webkit.org/show_bug.cgi?id=50050
25452
25453         * plugins/qt/PluginViewQt.cpp:
25454         (WebCore::setXKeyEventSpecificFields): map event text to keycode
25455
25456 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
25457
25458         Reviewed by Dan Bernstein.
25459
25460         Issues with iframes and plugins when the WebView is scaled.
25461         <rdar://problem/6213380>
25462         
25463         When _scaleWebView has been called on a WebView, iframes
25464         in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
25465         This is caused by AppKit NSViews not playing nicely with the scale
25466         applied through style.
25467         
25468         Work around most of these issues by adjusting the bounds size
25469         of widgets to allow iframe contents to paint with the correct scale,
25470         and fix various places in the code where we relied on coordinate
25471         transforms via NSViews (which ignore CSS transforms).
25472
25473         * WebCore.exp.in:
25474         * platform/Widget.cpp:
25475         (WebCore::Widget::setBoundsSize):
25476         * platform/Widget.h:
25477         * platform/mac/WidgetMac.mm:
25478         (WebCore::Widget::setBoundsSize):
25479         (WebCore::Widget::paint):
25480         * rendering/RenderLayerCompositor.cpp:
25481         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
25482         * rendering/RenderWidget.cpp:
25483         (WebCore::RenderWidget::setWidgetGeometry):
25484         (WebCore::RenderWidget::setWidget):
25485         (WebCore::RenderWidget::updateWidgetPosition):
25486         * rendering/RenderWidget.h:
25487
25488 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
25489
25490         Reviewed by Dan Bernstein.
25491
25492         RenderView needs to take transforms on its layer into account
25493         https://bugs.webkit.org/show_bug.cgi?id=52536
25494         
25495         The RenderView's coordinate mapping methods failed to
25496         take into account a transform on the RenderView's layer.
25497
25498         No tests because it's not possible to get a transform
25499         on the RenderView's layer through content.
25500
25501         * rendering/RenderView.cpp:
25502         (WebCore::RenderView::mapLocalToContainer):
25503         (WebCore::RenderView::mapAbsoluteToLocalPoint):
25504
25505 2011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>
25506
25507         Unreviewed, rolling out r75708.
25508         http://trac.webkit.org/changeset/75708
25509         https://bugs.webkit.org/show_bug.cgi?id=52521
25510
25511         Breaks Qt build if mobility is not installed. (Requested by
25512         benjaminp on #webkit).
25513
25514         * WebCore.pro:
25515         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
25516         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
25517         * platform/graphics/qt/MediaPlayerPrivateQt.h:
25518         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
25519
25520 2011-01-15  David Kilzer  <ddkilzer@apple.com>
25521
25522         <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
25523
25524         Reviewed by Adele Peterson.
25525
25526         The fix for Bug 50710 in r73799 introduced an off-by-one error
25527         when copying nodes to a local NodeVector for processing.  A fix
25528         was attempted for Bug 50854 in r73818, but instead of stopping
25529         at the end offset, it iterates through all the sibling nodes
25530         because the loop variable (i) is never incremented.  To clean
25531         this up, revert back to the code in r73799 and fix the
25532         off-by-one error.
25533
25534         Test: fast/dom/Range/range-clone-contents.html
25535
25536         * dom/Range.cpp:
25537         (WebCore::Range::processContents): Fix the loop that copies
25538         nodes to a local NodeVector by restoring the code from r73799
25539         and fixing the off-by-one error.
25540
25541 2011-01-15  Adam Barth  <abarth@webkit.org>
25542
25543         Rubber-stamped by Eric Seidel.
25544
25545         Move WebKit2 into Source
25546         https://bugs.webkit.org/show_bug.cgi?id=52438
25547
25548         * WebCore.pro:
25549
25550 2011-01-15  Joone Hur  <joone.hur@collabora.co.uk>
25551
25552         Reviewed by Martin Robinson.
25553
25554         [GTK] Linux build with FileSystem API enabled fails
25555         https://bugs.webkit.org/show_bug.cgi?id=43878
25556
25557         This patch allows WebKitGtk+ to build with FileSystem API option.
25558
25559         No new tests because no new functionality.
25560
25561         * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
25562         * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
25563
25564 2011-01-14  Sam Magnuson  <smagnuso@gmail.com>
25565
25566         Reviewed by Kenneth Rohde Christiansen.
25567
25568         [Qt] Compile with QT_NO_GRAPHICSVIEW
25569         https://bugs.webkit.org/show_bug.cgi?id=49750
25570
25571         * platform/graphics/qt/GraphicsLayerQt.cpp:
25572         * platform/graphics/qt/GraphicsLayerQt.h:
25573         * platform/qt/PlatformMouseEventQt.cpp:
25574
25575 2011-01-14  Tony Chang  <tony@chromium.org>
25576
25577         Reviewed by Alexey Proskuryakov.
25578
25579         Strip NUL character when copying text on Windows
25580         https://bugs.webkit.org/show_bug.cgi?id=52236
25581
25582         Test: editing/pasteboard/copy-null-characters.html
25583
25584         * editing/Editor.cpp:
25585         (WebCore::Editor::selectedText):
25586         * platform/mac/PasteboardMac.mm:
25587         (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.
25588
25589 2011-01-14  Yuzo Fujishima  <yuzo@google.com>
25590
25591         Reviewed by Antti Koivisto.
25592
25593         Rename cache() to memoryCache()
25594         https://bugs.webkit.org/show_bug.cgi?id=52433
25595
25596         No new tests because the behavior remains the same.
25597
25598         * WebCore.exp.in:
25599         * WebCore.order:
25600         * history/PageCache.cpp:
25601         (WebCore::PageCache::releaseAutoreleasedPagesNow):
25602         * inspector/InspectorResourceAgent.cpp:
25603         (WebCore::InspectorResourceAgent::cachedResource):
25604         * loader/FrameLoader.cpp:
25605         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
25606         * loader/archive/cf/LegacyWebArchive.cpp:
25607         (WebCore::LegacyWebArchive::create):
25608         * loader/cache/CachedImage.cpp:
25609         (WebCore::CachedImage::allClientsRemoved):
25610         (WebCore::CachedImage::data):
25611         * loader/cache/CachedResource.cpp:
25612         (WebCore::CachedResource::~CachedResource):
25613         (WebCore::CachedResource::addClientToSet):
25614         (WebCore::CachedResource::removeClient):
25615         (WebCore::CachedResource::setDecodedSize):
25616         (WebCore::CachedResource::setEncodedSize):
25617         (WebCore::CachedResource::didAccessDecodedData):
25618         * loader/cache/CachedResourceLoader.cpp:
25619         (WebCore::CachedResourceLoader::CachedResourceLoader):
25620         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
25621         (WebCore::CachedResourceLoader::requestResource):
25622         (WebCore::CachedResourceLoader::revalidateResource):
25623         (WebCore::CachedResourceLoader::loadResource):
25624         (WebCore::CachedResourceLoader::clearPreloads):
25625         (WebCore::CachedResourceLoader::printPreloadStats):
25626         * loader/cache/CachedResourceRequest.cpp:
25627         (WebCore::CachedResourceRequest::load):
25628         (WebCore::CachedResourceRequest::didFail):
25629         (WebCore::CachedResourceRequest::didReceiveResponse):
25630         * loader/cache/MemoryCache.cpp:
25631         (WebCore::memoryCache):
25632         * loader/cache/MemoryCache.h:
25633
25634 2011-01-14  Dan Bernstein  <mitz@apple.com>
25635
25636         Reviewed by Simon Fraser.
25637
25638         WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
25639
25640         * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
25641         RenderWidget::resumeWidgetHierarchyUpdates().
25642         * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
25643         * rendering/RenderWidget.cpp:
25644         (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
25645         are disabled. When this assertion was added, this condition was a subset of the “calling out to
25646         plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
25647         change now suspends widget hierarchy updates even at times where plug-in code is expected to be
25648         called, which invalidates the assertion.
25649
25650 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25651
25652         Unreviewed build fix.
25653
25654         Fix Qt build after r75837
25655         https://bugs.webkit.org/show_bug.cgi?id=52494
25656
25657         * rendering/style/StyleRareInheritedData.cpp:
25658         * rendering/style/StyleRareNonInheritedData.cpp:
25659
25660 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25661
25662         Unreviewed build fix.
25663
25664         Fix Qt build after r75837
25665         https://bugs.webkit.org/show_bug.cgi?id=52494
25666
25667         * rendering/style/RenderStyle.cpp:
25668
25669 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25670
25671         Unreviewed build fix.
25672
25673         Fix Qt build after r75837
25674         https://bugs.webkit.org/show_bug.cgi?id=52494
25675
25676         * editing/EditorCommand.cpp:
25677
25678 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25679
25680         Unreviewed build fix.
25681
25682         Fix Qt build after r75837
25683         https://bugs.webkit.org/show_bug.cgi?id=52494
25684
25685         * editing/ApplyStyleCommand.cpp:
25686
25687 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25688
25689         Unreviewed build fix.
25690
25691         Fix Qt build after r75837
25692         https://bugs.webkit.org/show_bug.cgi?id=52494
25693
25694         * css/CSSStyleSelector.cpp:
25695
25696 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25697
25698         Unreviewed build fix.
25699
25700         Fix Qt build after r75837
25701         https://bugs.webkit.org/show_bug.cgi?id=52494
25702
25703         * rendering/InlineFlowBox.h:
25704         * rendering/RenderBoxModelObject.h:
25705
25706 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
25707
25708         Reviewed by David Levin.
25709
25710         Do some forward declaration in RenderStyle.h
25711         https://bugs.webkit.org/show_bug.cgi?id=52453
25712
25713         No new tests because no new functionality.
25714
25715         * css/CSSComputedStyleDeclaration.cpp:
25716         * css/CSSStyleSelector.cpp:
25717         * editing/Editor.cpp:
25718         * page/EventHandler.cpp:
25719         * rendering/EllipsisBox.cpp:
25720         * rendering/InlineBox.cpp:
25721         * rendering/InlineTextBox.cpp:
25722         * rendering/RenderBlock.cpp:
25723         * rendering/RenderBlock.h:
25724         * rendering/RenderBox.cpp:
25725         * rendering/RenderBox.h:
25726         * rendering/RenderEmbeddedObject.cpp:
25727         * rendering/RenderFieldset.cpp:
25728         * rendering/RenderFileUploadControl.cpp:
25729         * rendering/RenderFrameSet.cpp:
25730         * rendering/RenderHTMLCanvas.cpp:
25731         * rendering/RenderImageResource.cpp:
25732         * rendering/RenderInputSpeech.cpp:
25733         * rendering/RenderLayer.h:
25734         * rendering/RenderLineBoxList.cpp:
25735         * rendering/RenderListBox.cpp:
25736         * rendering/RenderMediaControlsChromium.cpp:
25737         * rendering/RenderObject.cpp:
25738         * rendering/RenderObject.h:
25739         * rendering/RenderObjectChildList.cpp:
25740         * rendering/RenderProgress.cpp:
25741         * rendering/RenderScrollbarPart.cpp:
25742         * rendering/RenderTable.cpp:
25743         * rendering/RenderTable.h:
25744         * rendering/RenderTableCell.cpp:
25745         * rendering/RenderTableRow.cpp:
25746         * rendering/RenderTableSection.cpp:
25747         * rendering/RenderTheme.cpp:
25748         * rendering/RenderThemeChromiumSkia.cpp:
25749         * rendering/RenderThemeChromiumWin.cpp:
25750         * rendering/RootInlineBox.cpp:
25751         * rendering/style/RenderStyle.cpp:
25752         * rendering/style/RenderStyle.h:
25753         * rendering/style/StyleRareInheritedData.cpp:
25754
25755 2011-01-14  Ryosuke Niwa  <rniwa@webkit.org>
25756
25757         Reviewed by Eric Seidel.
25758
25759         Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
25760         BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
25761         https://bugs.webkit.org/show_bug.cgi?id=52481
25762
25763         Removed instantiation of legacy editing positions.
25764         Calls to Position::Position are replaced by calls to Position's convenience functions.
25765         
25766         Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
25767         they instantiate right positions for text nodes.
25768
25769         * accessibility/AccessibilityRenderObject.cpp:
25770         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
25771         * dom/Element.cpp:
25772         (WebCore::Element::updateFocusAppearance):
25773         * editing/BreakBlockquoteCommand.cpp:
25774         (WebCore::BreakBlockquoteCommand::doApply):
25775         * editing/CompositeEditCommand.cpp:
25776         (WebCore::CompositeEditCommand::inputText):
25777         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
25778         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
25779         (WebCore::CompositeEditCommand::moveParagraphs):
25780         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
25781         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
25782         (WebCore::CompositeEditCommand::splitTreeToNode):
25783         * editing/DeleteButtonController.cpp:
25784         (WebCore::enclosingDeletableElement):
25785         * editing/htmlediting.h:
25786         (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
25787         positionBeforeNode for a text node.
25788         (WebCore::lastPositionInOrAfterNode): Ditto.
25789
25790 2011-01-14  Helder Correia  <helder@sencha.com>
25791
25792         Reviewed by Simon Fraser.
25793
25794         Shadow is not drawn when filling a path with a gradient
25795         https://bugs.webkit.org/show_bug.cgi?id=51982
25796
25797         This happens in CG and is related to bug 51869, this time to be fixed
25798         in GraphicsContext::fillPath(const Path& path). We need to draw the
25799         gradient clipped to the path on a CGLayer first, and then draw the
25800         layer on the GraphicsContext.
25801
25802         Test: fast/canvas/canvas-fillPath-gradient-shadow.html
25803
25804         * platform/graphics/cg/GraphicsContextCG.cpp:
25805         (WebCore::GraphicsContext::fillPath):
25806
25807 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
25808
25809         Reviewed by Adam Roben.
25810
25811         Layer syncing should go through the compositor
25812         https://bugs.webkit.org/show_bug.cgi?id=52486
25813
25814         Rather than have FrameView go directly to GraphicsLayer to
25815         sync pending changes, route the call through RenderLayerCompositor.
25816         
25817         Add a FIXME about an existing issue with flushing and subframes.
25818         
25819         No behavior change, so no tests.
25820
25821         * page/FrameView.cpp:
25822         (WebCore::FrameView::syncCompositingStateForThisFrame):
25823         * rendering/RenderLayerBacking.cpp:
25824         (WebCore::RenderLayerBacking::notifySyncRequired):
25825         * rendering/RenderLayerCompositor.cpp:
25826         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
25827         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
25828         * rendering/RenderLayerCompositor.h:
25829         (WebCore::RenderLayerCompositor::notifySyncRequired):
25830
25831 2011-01-14  Abhishek Arya  <inferno@chromium.org>
25832
25833         Reviewed by David Hyatt.
25834
25835         Fix parent block calculation when trying to find top most node
25836         containing "this" float.
25837         https://bugs.webkit.org/show_bug.cgi?id=51711
25838
25839         Replace use of containingBlock and traverse the parents directly
25840         to check for float existence. containingBlock can skip parents and
25841         jump to the RenderView directly which will cause floats to not get
25842         cleared from intermediate parents.
25843
25844         Test: fast/block/float/floats-not-cleared-crash.html
25845
25846         * rendering/RenderBox.cpp:
25847         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
25848
25849 2011-01-14  Adam Klein  <adamk@chromium.org>
25850
25851         Reviewed by Darin Fisher.
25852
25853         [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
25854         https://bugs.webkit.org/show_bug.cgi?id=42237
25855
25856         Remove Chromium-specific implementation from WebCore.
25857
25858         No tests added; this refactor should be covered by existing history-exercising tests.
25859
25860         * WebCore.gyp/WebCore.gyp:
25861         * WebCore.gypi:
25862         * history/BackForwardListChromium.cpp: Removed.
25863         * history/BackForwardListImpl.h:
25864
25865 2011-01-12  Satish Sampath  <satish@chromium.org>
25866
25867         Reviewed by Dimitri Glazkov.
25868
25869         Fix a crash when accessing speech input from script.
25870         https://bugs.webkit.org/show_bug.cgi?id=52325
25871
25872         Test: fast/speech/speech-input-scripting.html
25873
25874         * html/HTMLInputElement.cpp:
25875         (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
25876         * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
25877         * rendering/RenderTextControlSingleLine.h:
25878         * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
25879         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
25880         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
25881         (WebCore::InputFieldSpeechButtonElement::detach):
25882
25883 2011-01-14  Abhishek Arya  <inferno@chromium.org>
25884
25885         Reviewed by David Hyatt.
25886
25887         Prevent merging of anonymous blocks if one of them is already getting
25888         destroyed.
25889         https://bugs.webkit.org/show_bug.cgi?id=52402
25890
25891         Test: fast/block/merge-anonymous-block-remove-child-crash2.html
25892
25893         * rendering/RenderBlock.cpp:
25894         (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
25895         (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
25896         (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
25897         (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
25898         * rendering/RenderBlock.h:
25899         (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.
25900
25901 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
25902
25903         Not reviewed. Follow up to r75791: fix missing dispatch.
25904         https://bugs.webkit.org/show_bug.cgi?id=52442
25905
25906         * inspector/front-end/DebuggerModel.js:
25907         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
25908
25909 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
25910
25911         Reviewed by Adam Roben.
25912
25913         Issues with contentsScale in GraphicsLayerCA
25914         https://bugs.webkit.org/show_bug.cgi?id=52463
25915
25916         Fix various issues with the recent contentsScale changes:
25917
25918         * platform/graphics/ca/GraphicsLayerCA.cpp:
25919         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
25920         (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
25921         if the layer draws content, otherwise we'll create backing store for empty layers.
25922         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
25923         on the new (tiled or untiled) layer.
25924         (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.
25925
25926 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
25927
25928         Let Xcode have it's way with the project file.
25929
25930         * WebCore.xcodeproj/project.pbxproj:
25931
25932 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
25933
25934         Reviewed by Anders Carlsson.
25935
25936         Refactor some FrameView::syncCompositingState code
25937         https://bugs.webkit.org/show_bug.cgi?id=52459
25938
25939         Refactor some code in FrameView related to synchronizing
25940         compositing layer state.
25941         
25942         * page/FrameView.cpp:
25943         (WebCore::FrameView::syncCompositingStateForThisFrame):
25944         (WebCore::FrameView::syncCompositingStateRecursive):
25945         (WebCore::FrameView::paintContents):
25946         * page/FrameView.h:
25947
25948 2011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
25949
25950         Reviewed by Eric Seidel.
25951
25952         [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
25953         https://bugs.webkit.org/show_bug.cgi?id=30179
25954
25955         * plugins/symbian/PluginViewSymbian.cpp:
25956
25957 2011-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
25958
25959         Reviewed by Martin Robinson.
25960
25961         [GTK] Add volume slider to media player
25962         https://bugs.webkit.org/show_bug.cgi?id=51532
25963
25964         * css/mediaControlsGtk.css:
25965         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
25966         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
25967         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
25968         * platform/gtk/RenderThemeGtk.cpp:
25969         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
25970         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
25971         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
25972         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
25973         * platform/gtk/RenderThemeGtk.h:
25974         * platform/gtk/RenderThemeGtk2.cpp:
25975         (WebCore::RenderThemeGtk::paintSliderTrack):
25976         (WebCore::RenderThemeGtk::paintSliderThumb):
25977         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
25978         * platform/gtk/RenderThemeGtk3.cpp:
25979         (WebCore::RenderThemeGtk::paintSliderTrack):
25980         (WebCore::RenderThemeGtk::paintSliderThumb):
25981         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
25982
25983 2011-01-14  Joone Hur  <joone.hur@collabora.co.uk>
25984
25985         Reviewed by David Levin.
25986
25987         [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
25988         https://bugs.webkit.org/show_bug.cgi?id=52434
25989
25990         No new tests. This code will be tested when an implementation 
25991         of beginDragWithFiles is complete. 
25992
25993         * platform/gtk/FileSystemGtk.cpp:
25994         (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
25995         (WebCore::fileSystemRepresentation): Ditto.
25996         (WebCore::filenameForDisplay): Ditto.
25997         (WebCore::pathGetFileName): Ditto.
25998
25999 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
26000
26001         Reviewed by Yury Semikhatsky.
26002
26003         Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
26004         https://bugs.webkit.org/show_bug.cgi?id=52215
26005
26006         * inspector/front-end/Breakpoint.js:
26007         (WebInspector.Breakpoint):
26008         (WebInspector.Breakpoint.prototype.populateLabelElement):
26009         * inspector/front-end/Script.js:
26010         (WebInspector.Script.prototype.get linesCount):
26011         (WebInspector.Script.prototype.sourceLine):
26012         (WebInspector.Script.prototype.sourceLine.didRequestSource):
26013         (WebInspector.Script.prototype.set source):
26014         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
26015         (WebInspector.Script.prototype.requestSource):
26016         * inspector/front-end/ScriptView.js:
26017         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
26018         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
26019         * inspector/front-end/SourceFrame.js:
26020         (WebInspector.SourceFrame.prototype._addBreakpoint):
26021         * inspector/front-end/utilities.js:
26022         (String.prototype.findAll):
26023
26024 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
26025
26026         Reviewed by Yury Semikhatsky.
26027
26028         Web Inspector: provide script column offset to frontend.
26029         https://bugs.webkit.org/show_bug.cgi?id=52377
26030
26031         * bindings/js/ScriptDebugServer.cpp:
26032         (WebCore::ScriptDebugServer::dispatchDidParseSource):
26033         * bindings/js/ScriptSourceCode.h:
26034         (WebCore::ScriptSourceCode::ScriptSourceCode):
26035         * bindings/v8/DebuggerScript.js:
26036         ():
26037         * bindings/v8/ScriptDebugServer.cpp:
26038         (WebCore::ScriptDebugServer::dispatchDidParseSource):
26039         * inspector/Inspector.idl:
26040         * inspector/InspectorDebuggerAgent.cpp:
26041         (WebCore::InspectorDebuggerAgent::didParseSource):
26042         * inspector/InspectorDebuggerAgent.h:
26043         * inspector/ScriptDebugListener.h:
26044         * inspector/front-end/DebuggerModel.js:
26045         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
26046         * inspector/front-end/Script.js:
26047         (WebInspector.Script):
26048
26049 2011-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
26050
26051         Unreviewed one line fix for console-xhr-logging test.
26052
26053         The problem was introduced at r75788.
26054
26055         * inspector/InspectorBrowserDebuggerAgent.cpp:
26056         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26057
26058 2011-01-13  Yury Semikhatsky  <yurys@chromium.org>
26059
26060         Reviewed by Pavel Feldman.
26061
26062         Web Inspector: extract console related functionality into InspectorConsoleAgent
26063         https://bugs.webkit.org/show_bug.cgi?id=52282
26064
26065         * CMakeLists.txt:
26066         * GNUmakefile.am:
26067         * WebCore.gypi:
26068         * WebCore.pro:
26069         * inspector/CodeGeneratorInspector.pm:
26070         * inspector/ConsoleMessage.cpp:
26071         (WebCore::ConsoleMessage::~ConsoleMessage):
26072         * inspector/ConsoleMessage.h:
26073         * inspector/Inspector.idl:
26074         * inspector/InspectorConsoleAgent.cpp: Added.
26075         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
26076         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
26077         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
26078         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
26079         (WebCore::InspectorConsoleAgent::reset):
26080         (WebCore::InspectorConsoleAgent::setFrontend):
26081         (WebCore::InspectorConsoleAgent::addMessageToConsole):
26082         (WebCore::InspectorConsoleAgent::startTiming):
26083         (WebCore::InspectorConsoleAgent::stopTiming):
26084         (WebCore::InspectorConsoleAgent::count):
26085         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
26086         (WebCore::InspectorConsoleAgent::didReceiveResponse):
26087         (WebCore::InspectorConsoleAgent::didFailLoading):
26088         (WebCore::InspectorConsoleAgent::addConsoleMessage):
26089         * inspector/InspectorConsoleAgent.h: Added.
26090         * inspector/InspectorController.cpp:
26091         (WebCore::InspectorController::InspectorController):
26092         (WebCore::InspectorController::clearConsoleMessages):
26093         (WebCore::InspectorController::connectFrontend):
26094         (WebCore::InspectorController::disconnectFrontend):
26095         (WebCore::InspectorController::didCommitLoad):
26096         * inspector/InspectorController.h:
26097         (WebCore::InspectorController::consoleAgent):
26098         * inspector/InspectorInstrumentation.cpp:
26099         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
26100         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
26101         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
26102         (WebCore::InspectorInstrumentation::addMessageToConsole):
26103         (WebCore::InspectorInstrumentation::count):
26104         (WebCore::InspectorInstrumentation::startTiming):
26105         (WebCore::InspectorInstrumentation::stopTiming):
26106         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
26107         * inspector/InspectorInstrumentation.h:
26108         * inspector/InspectorProfilerAgent.cpp:
26109         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
26110         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
26111         * inspector/front-end/ConsoleView.js:
26112         (WebInspector.ConsoleView):
26113         (WebInspector.ConsoleView.prototype.addConsoleMessage):
26114         (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
26115         (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
26116         * inspector/front-end/inspector.js:
26117         * page/Console.cpp:
26118         (WebCore::Console::addMessage):
26119         (WebCore::Console::count):
26120         (WebCore::Console::profile):
26121         (WebCore::Console::time):
26122         (WebCore::Console::timeEnd):
26123         (WebCore::Console::group):
26124         (WebCore::Console::groupCollapsed):
26125         (WebCore::Console::groupEnd):
26126         * page/Console.h:
26127         * page/Console.idl:
26128
26129 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
26130
26131         Reviewed by Yury Semikhatsky.
26132
26133         Web Inspector: do not use this as protocol message
26134         dispatcher in models / agents.
26135         https://bugs.webkit.org/show_bug.cgi?id=52442
26136
26137         Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
26138         There should be a clear way to tell whether method is being called
26139         from within front-end or by the backend.
26140
26141         * inspector/front-end/DOMAgent.js:
26142         (WebInspector.DOMAgent):
26143         (WebInspector.DOMAgent.prototype.nodeForId):
26144         (WebInspector.DOMAgent.prototype._bindNodes):
26145         (WebInspector.DOMAgent.prototype._removeBreakpoints):
26146         (WebInspector.DOMDispatcher):
26147         (WebInspector.DOMDispatcher.prototype.setDocument):
26148         (WebInspector.DOMDispatcher.prototype.attributesUpdated):
26149         (WebInspector.DOMDispatcher.prototype.characterDataModified):
26150         (WebInspector.DOMDispatcher.prototype.setChildNodes):
26151         (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
26152         (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
26153         (WebInspector.DOMDispatcher.prototype.childNodeInserted):
26154         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
26155         (WebInspector.DOMDispatcher.prototype.didCommitLoad):
26156         (WebInspector.ApplicationCacheDispatcher):
26157         (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
26158         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
26159         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
26160         * inspector/front-end/DOMStorage.js:
26161         (WebInspector.DOMStorageDispatcher):
26162         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
26163         (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
26164         (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
26165         * inspector/front-end/Database.js:
26166         (WebInspector.Database.prototype.executeSql):
26167         (WebInspector.DatabaseDispatcher):
26168         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
26169         (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
26170         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
26171         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
26172         * inspector/front-end/DebuggerModel.js:
26173         (WebInspector.DebuggerModel):
26174         (WebInspector.DebuggerModel.prototype._pausedScript):
26175         (WebInspector.DebuggerModel.prototype._resumedScript):
26176         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
26177         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
26178         (WebInspector.DebuggerDispatcher):
26179         (WebInspector.DebuggerDispatcher.prototype.pausedScript):
26180         (WebInspector.DebuggerDispatcher.prototype.resumedScript):
26181         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
26182         (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
26183         * inspector/front-end/FileSystemView.js:
26184         (WebInspector.FileSystemDispatcher):
26185         (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
26186         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
26187         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
26188         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
26189         * inspector/front-end/ProfilesPanel.js:
26190         (WebInspector.ProfilesPanel):
26191         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
26192         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
26193         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
26194         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
26195         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
26196         (WebInspector.ProfilerDispatcher):
26197         (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
26198         (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
26199         (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
26200         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
26201         (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
26202         (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
26203         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
26204         (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
26205         * inspector/front-end/ResourceTreeModel.js:
26206         (WebInspector.ResourceTreeModel):
26207         * inspector/front-end/TimelinePanel.js:
26208         (WebInspector.TimelinePanel):
26209         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
26210         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
26211         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
26212         (WebInspector.TimelineDispatcher):
26213         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
26214         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
26215         (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):
26216
26217 2011-01-14  Csaba Osztrogonác  <ossy@webkit.org>
26218
26219         [Qt][V8] Unreviewed buildfix after r75788.
26220
26221         * inspector/InspectorBrowserDebuggerAgent.cpp:
26222
26223 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
26224
26225         Reviewed by Yury Semikhatsky.
26226
26227         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
26228         We have some methods of Debugger which are related to DOM.
26229         Lets extract these methods to BrowserDebugger agent.
26230
26231         http://bugs.webkit.org/show_bug.cgi?id=52294
26232
26233         * CMakeLists.txt:
26234         * WebCore.gypi:
26235         * WebCore.pro:
26236         * WebCore.vcproj/WebCore.vcproj:
26237         * WebCore.xcodeproj/project.pbxproj:
26238         * inspector/CodeGeneratorInspector.pm:
26239         * inspector/Inspector.idl:
26240         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
26241         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
26242         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
26243         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
26244         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
26245         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
26246         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
26247         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
26248         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
26249         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
26250         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
26251         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
26252         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
26253         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
26254         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
26255         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
26256         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
26257         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
26258         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
26259         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26260         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
26261         * inspector/InspectorBrowserDebuggerAgent.h: Added.
26262         (WebCore::InspectorBrowserDebuggerAgent::create):
26263         * inspector/InspectorController.cpp:
26264         (WebCore::InspectorController::InspectorController):
26265         (WebCore::InspectorController::inspectedPageDestroyed):
26266         (WebCore::InspectorController::didCommitLoad):
26267         (WebCore::InspectorController::enableDebuggerFromFrontend):
26268         (WebCore::InspectorController::disableDebugger):
26269         (WebCore::InspectorController::restoreStickyBreakpoints):
26270         (WebCore::InspectorController::restoreStickyBreakpoint):
26271         * inspector/InspectorController.h:
26272         * inspector/InspectorDOMAgent.cpp:
26273         (WebCore::InspectorDOMAgent::discardBindings):
26274         (WebCore::InspectorDOMAgent::didInsertDOMNode):
26275         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26276         * inspector/InspectorDOMAgent.h:
26277         * inspector/InspectorInstrumentation.cpp:
26278         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26279         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26280         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26281         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26282         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26283         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26284         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26285
26286 2011-01-14  Andrey Kosyakov  <caseq@chromium.org>
26287
26288         Reviewed by Pavel Feldman.
26289
26290         Web Inspector: redirected resources not handled properly in Network panel
26291         https://bugs.webkit.org/show_bug.cgi?id=52292
26292
26293         * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
26294         * inspector/InspectorInstrumentation.cpp: Ditto.
26295         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
26296         * inspector/InspectorResourceAgent.cpp: Ditto.
26297         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
26298         * inspector/InspectorResourceAgent.h: Ditto.
26299         * inspector/InspectorInstrumentation.cpp: Ditto.
26300         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
26301         * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
26302         * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
26303         (WebInspector.ConsoleMessage.prototype._formatMessage):
26304         * inspector/front-end/ExtensionServer.js: Ditto.
26305         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
26306         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
26307         * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
26308         (WebInspector.HARLog.prototype.build):
26309         (WebInspector.HARLog.prototype._convertResource):
26310         * inspector/front-end/NetworkManager.js:
26311         (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
26312         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
26313         (WebInspector.NetworkManager.prototype.willSendRequest):
26314         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
26315         (WebInspector.NetworkManager.prototype.setInitialContent):
26316         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
26317         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
26318         (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
26319         (WebInspector.NetworkManager.prototype._appendRedirect):
26320         * inspector/front-end/NetworkPanel.js:
26321         (WebInspector.NetworkPanel):
26322         (WebInspector.NetworkPanel.prototype.get resources):
26323         (WebInspector.NetworkPanel.prototype.resourceById):
26324         (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
26325         (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
26326         (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
26327         * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
26328         (WebInspector.ResourceTreeModel.prototype._clearResources):
26329         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
26330         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
26331         (WebInspector.ResourceTreeModel.prototype.createResource):
26332         * inspector/front-end/inspector.js:
26333         (WebInspector.resourceById):
26334
26335 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
26336
26337         Unreviewed, rolling out r75783.
26338         http://trac.webkit.org/changeset/75783
26339         https://bugs.webkit.org/show_bug.cgi?id=52439
26340
26341         a bit strange but the same patch have broken mac builds at
26342         linking stage. (Requested by loislo2 on #webkit).
26343
26344         * CMakeLists.txt:
26345         * GNUmakefile.am:
26346         * WebCore.gypi:
26347         * WebCore.pro:
26348         * WebCore.vcproj/WebCore.vcproj:
26349         * WebCore.xcodeproj/project.pbxproj:
26350         * inspector/CodeGeneratorInspector.pm:
26351         * inspector/Inspector.idl:
26352         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
26353         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
26354         * inspector/InspectorController.cpp:
26355         (WebCore::InspectorController::InspectorController):
26356         (WebCore::InspectorController::inspectedPageDestroyed):
26357         (WebCore::InspectorController::didCommitLoad):
26358         (WebCore::InspectorController::enableDebuggerFromFrontend):
26359         (WebCore::InspectorController::disableDebugger):
26360         (WebCore::InspectorController::restoreStickyBreakpoints):
26361         (WebCore::InspectorController::restoreStickyBreakpoint):
26362         (WebCore::InspectorController::setEventListenerBreakpoint):
26363         (WebCore::InspectorController::removeEventListenerBreakpoint):
26364         (WebCore::InspectorController::hasEventListenerBreakpoint):
26365         (WebCore::InspectorController::setXHRBreakpoint):
26366         (WebCore::InspectorController::removeXHRBreakpoint):
26367         (WebCore::InspectorController::hasXHRBreakpoint):
26368         * inspector/InspectorController.h:
26369         * inspector/InspectorDOMAgent.cpp:
26370         (WebCore::InspectorDOMAgent::discardBindings):
26371         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
26372         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
26373         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
26374         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
26375         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
26376         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
26377         (WebCore::InspectorDOMAgent::didInsertDOMNode):
26378         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26379         (WebCore::InspectorDOMAgent::hasBreakpoint):
26380         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
26381         * inspector/InspectorDOMAgent.h:
26382         * inspector/InspectorInstrumentation.cpp:
26383         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26384         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26385         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26386         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26387         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26388         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26389         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26390
26391 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
26392
26393         Reviewed by Yury Semikhatsky.
26394
26395         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
26396         We have some methods of Debugger which are related to DOM.
26397         Lets extract these methods to BrowserDebugger agent.
26398
26399         http://bugs.webkit.org/show_bug.cgi?id=52294
26400
26401         * CMakeLists.txt:
26402         * WebCore.gypi:
26403         * WebCore.pro:
26404         * WebCore.vcproj/WebCore.vcproj:
26405         * WebCore.xcodeproj/project.pbxproj:
26406         * inspector/CodeGeneratorInspector.pm:
26407         * inspector/Inspector.idl:
26408         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
26409         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
26410         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
26411         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
26412         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
26413         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
26414         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
26415         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
26416         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
26417         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
26418         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
26419         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
26420         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
26421         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
26422         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
26423         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
26424         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
26425         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
26426         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
26427         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26428         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
26429         * inspector/InspectorBrowserDebuggerAgent.h: Added.
26430         (WebCore::InspectorBrowserDebuggerAgent::create):
26431         * inspector/InspectorController.cpp:
26432         (WebCore::InspectorController::InspectorController):
26433         (WebCore::InspectorController::inspectedPageDestroyed):
26434         (WebCore::InspectorController::didCommitLoad):
26435         (WebCore::InspectorController::enableDebuggerFromFrontend):
26436         (WebCore::InspectorController::disableDebugger):
26437         (WebCore::InspectorController::restoreStickyBreakpoints):
26438         (WebCore::InspectorController::restoreStickyBreakpoint):
26439         * inspector/InspectorController.h:
26440         * inspector/InspectorDOMAgent.cpp:
26441         (WebCore::InspectorDOMAgent::discardBindings):
26442         (WebCore::InspectorDOMAgent::didInsertDOMNode):
26443         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26444         * inspector/InspectorDOMAgent.h:
26445         * inspector/InspectorInstrumentation.cpp:
26446         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26447         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26448         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26449         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26450         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26451         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26452         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26453
26454 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
26455
26456         Not reviewed: build fix.
26457
26458         * WebCore.vcproj/WebCore.vcproj:
26459
26460 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
26461
26462         Reviewed by Yury Semikhatsky.
26463
26464         Web Inspector: extract InspectorSettings from InspectorState,
26465         simplify it.
26466         https://bugs.webkit.org/show_bug.cgi?id=52429
26467
26468         * CMakeLists.txt:
26469         * GNUmakefile.am:
26470         * WebCore.gypi:
26471         * WebCore.pro:
26472         * WebCore.xcodeproj/project.pbxproj:
26473         * inspector/InspectorClient.h:
26474         * inspector/InspectorController.cpp:
26475         (WebCore::InspectorController::InspectorController):
26476         (WebCore::InspectorController::inspectorStartsAttached):
26477         (WebCore::InspectorController::setInspectorStartsAttached):
26478         (WebCore::InspectorController::setInspectorAttachedHeight):
26479         (WebCore::InspectorController::inspectorAttachedHeight):
26480         (WebCore::InspectorController::setMonitoringXHREnabled):
26481         (WebCore::InspectorController::restoreDebugger):
26482         (WebCore::InspectorController::restoreProfiler):
26483         (WebCore::InspectorController::ensureSettingsLoaded):
26484         (WebCore::InspectorController::enableProfiler):
26485         (WebCore::InspectorController::disableProfiler):
26486         (WebCore::InspectorController::enableDebuggerFromFrontend):
26487         (WebCore::InspectorController::disableDebugger):
26488         * inspector/InspectorController.h:
26489         * inspector/InspectorSettings.cpp: Added.
26490         (WebCore::InspectorSettings::InspectorSettings):
26491         (WebCore::InspectorSettings::getBoolean):
26492         (WebCore::InspectorSettings::setBoolean):
26493         (WebCore::InspectorSettings::getLong):
26494         (WebCore::InspectorSettings::setLong):
26495         (WebCore::InspectorSettings::registerBoolean):
26496         (WebCore::InspectorSettings::registerLong):
26497         * inspector/InspectorSettings.h: Added.
26498         * inspector/InspectorState.cpp:
26499         (WebCore::InspectorState::InspectorState):
26500         (WebCore::InspectorState::setValue):
26501         (WebCore::InspectorState::setObject):
26502         (WebCore::InspectorState::registerBoolean):
26503         (WebCore::InspectorState::registerString):
26504         (WebCore::InspectorState::registerLong):
26505         (WebCore::InspectorState::registerObject):
26506         (WebCore::InspectorState::Property::create):
26507         * inspector/InspectorState.h:
26508         (WebCore::InspectorState::setBoolean):
26509         (WebCore::InspectorState::setString):
26510         (WebCore::InspectorState::setLong):
26511
26512 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
26513
26514         Unreviewed, rolling out r75774.
26515         http://trac.webkit.org/changeset/75774
26516         https://bugs.webkit.org/show_bug.cgi?id=52431
26517
26518         gtk builds were broken (Requested by loislo2 on #webkit).
26519
26520         * CMakeLists.txt:
26521         * WebCore.gypi:
26522         * WebCore.pro:
26523         * WebCore.vcproj/WebCore.vcproj:
26524         * WebCore.xcodeproj/project.pbxproj:
26525         * inspector/CodeGeneratorInspector.pm:
26526         * inspector/Inspector.idl:
26527         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
26528         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
26529         * inspector/InspectorController.cpp:
26530         (WebCore::InspectorController::InspectorController):
26531         (WebCore::InspectorController::inspectedPageDestroyed):
26532         (WebCore::InspectorController::didCommitLoad):
26533         (WebCore::InspectorController::enableDebuggerFromFrontend):
26534         (WebCore::InspectorController::disableDebugger):
26535         (WebCore::InspectorController::restoreStickyBreakpoints):
26536         (WebCore::InspectorController::restoreStickyBreakpoint):
26537         (WebCore::InspectorController::setEventListenerBreakpoint):
26538         (WebCore::InspectorController::removeEventListenerBreakpoint):
26539         (WebCore::InspectorController::hasEventListenerBreakpoint):
26540         (WebCore::InspectorController::setXHRBreakpoint):
26541         (WebCore::InspectorController::removeXHRBreakpoint):
26542         (WebCore::InspectorController::hasXHRBreakpoint):
26543         * inspector/InspectorController.h:
26544         * inspector/InspectorDOMAgent.cpp:
26545         (WebCore::InspectorDOMAgent::discardBindings):
26546         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
26547         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
26548         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
26549         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
26550         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
26551         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
26552         (WebCore::InspectorDOMAgent::didInsertDOMNode):
26553         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26554         (WebCore::InspectorDOMAgent::hasBreakpoint):
26555         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
26556         * inspector/InspectorDOMAgent.h:
26557         * inspector/InspectorInstrumentation.cpp:
26558         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26559         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26560         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26561         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26562         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26563         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26564         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26565
26566 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
26567
26568         Reviewed by Yury Semikhatsky.
26569
26570         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
26571         We have some methods of Debugger which are related to DOM.
26572         Lets extract these methods to BrowserDebugger agent.
26573
26574         http://bugs.webkit.org/show_bug.cgi?id=52294
26575
26576         * CMakeLists.txt:
26577         * WebCore.gypi:
26578         * WebCore.pro:
26579         * WebCore.vcproj/WebCore.vcproj:
26580         * WebCore.xcodeproj/project.pbxproj:
26581         * inspector/CodeGeneratorInspector.pm:
26582         * inspector/Inspector.idl:
26583         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
26584         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
26585         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
26586         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
26587         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
26588         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
26589         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
26590         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
26591         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
26592         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
26593         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
26594         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
26595         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
26596         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
26597         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
26598         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
26599         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
26600         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
26601         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
26602         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26603         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
26604         * inspector/InspectorBrowserDebuggerAgent.h: Added.
26605         (WebCore::InspectorBrowserDebuggerAgent::create):
26606         * inspector/InspectorController.cpp:
26607         (WebCore::InspectorController::InspectorController):
26608         (WebCore::InspectorController::inspectedPageDestroyed):
26609         (WebCore::InspectorController::didCommitLoad):
26610         (WebCore::InspectorController::enableDebuggerFromFrontend):
26611         (WebCore::InspectorController::disableDebugger):
26612         (WebCore::InspectorController::restoreStickyBreakpoints):
26613         (WebCore::InspectorController::restoreStickyBreakpoint):
26614         * inspector/InspectorController.h:
26615         * inspector/InspectorDOMAgent.cpp:
26616         (WebCore::InspectorDOMAgent::discardBindings):
26617         (WebCore::InspectorDOMAgent::didInsertDOMNode):
26618         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
26619         * inspector/InspectorDOMAgent.h:
26620         * inspector/InspectorInstrumentation.cpp:
26621         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
26622         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
26623         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
26624         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
26625         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
26626         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
26627         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
26628
26629 2011-01-13  Kent Tamura  <tkent@chromium.org>
26630
26631         Reviewed by Dimitri Glazkov.
26632
26633         Implement form validation message UI
26634         https://bugs.webkit.org/show_bug.cgi?id=48980
26635
26636         * Add four internal pseudo selectors:
26637           - -webkit-validation-bubble
26638           - -webkit-validation-bubble-message
26639           - -webkit-validation-bubble-top-outer-arrow
26640           - -webkit-validation-bubble-top-inner-arrow
26641
26642         * Implement ValidationMessage functions
26643           Show the message for <the number of characters> / 20.0 seconds.
26644
26645         No new tests because the feature is disabled by default for now and the
26646         new behavior is strongly timing-dependent.
26647
26648         * css/CSSStyleSelector.cpp:
26649         (WebCore::CSSStyleSelector::canShareStyleWithElement):
26650           Do not share a style with elements with different shadowPseudoId().
26651         * css/html.css: Define appearance for the internal selectors.
26652         (::-webkit-validation-bubble):
26653         (::-webkit-validation-bubble-message):
26654         (::-webkit-validation-bubble-top-outer-arrow):
26655         (::-webkit-validation-bubble-top-inner-arrow):
26656         * dom/Node.cpp:
26657         (WebCore::Node::createRendererIfNeeded):
26658           Allow to add shadow renderers even if canHaveChildren() returns false.
26659         * html/HTMLFormControlElement.cpp:
26660         (WebCore::HTMLFormControlElement::detach):
26661           Remove m_validationMessage immediately because we can't use
26662           hideVisibleValidationMessage(), which calls a ValidationMessage function later.
26663         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
26664           - Don't create ValidationMessage if the message is empty.
26665           - Remove the check for message equality.
26666         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
26667           Don't remove m_validationMessage immediately. We shouldn't make the
26668           element needsLayout() state in this context.
26669         * html/ValidationMessage.cpp:
26670         (WebCore::ValidationMessage::~ValidationMessage):
26671           hideMessage() -> deleteBubbleTree() renaming.
26672         (WebCore::ValidationMessage::setMessage): Implemented.
26673         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
26674           Added. This updates the validation message and starts the timer to hide it.
26675         (WebCore::ElementWithPseudoId):
26676           Added to help implementations of styled shadow nodes.
26677         (WebCore::ValidationMessage::buildBubbleTree): Added.
26678         (WebCore::ValidationMessage::requestToHideMessage): Added.
26679         (WebCore::ValidationMessage::deleteBubbleTree):
26680           Renamed from hideMessage(), and implemented.
26681         * html/ValidationMessage.h: Add declarations.
26682
26683 2011-01-13  Dan Bernstein  <mitz@apple.com>
26684
26685         Reviewed by Alexey Proskuryakov.
26686
26687         <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
26688         https://bugs.webkit.org/show_bug.cgi?id=52419
26689
26690         Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
26691
26692         * loader/ResourceLoader.cpp:
26693         (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
26694         willSendRequest(). Otherwise, willSendRequest() ends up calling into
26695         ThreadableDocumentRequest::willSendRequest(), which cancels the request.
26696
26697 2011-01-13  Dan Bernstein  <mitz@apple.com>
26698
26699         Reviewed by Mark Rowe.
26700
26701         Don’t try to compile InjectedScriptSource.js into WebCore.
26702
26703         * WebCore.xcodeproj/project.pbxproj:
26704
26705 2011-01-13  Mike Thole  <mthole@apple.com>
26706
26707         Reviewed by Darin Adler and Brady Eidson.
26708
26709         The pageScaleFactor() should be saved/restored along with the scroll position
26710         https://bugs.webkit.org/show_bug.cgi?id=52406
26711         <rdar://problem/8714412>
26712
26713         * history/HistoryItem.cpp:
26714         (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
26715         (WebCore::HistoryItem::pageScaleFactor): Added getter.
26716         (WebCore::HistoryItem::setPageScaleFactor): Added setter.
26717         (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
26718         (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
26719         * history/HistoryItem.h:
26720         * loader/HistoryController.cpp:
26721         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
26722         (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.
26723
26724 2011-01-13  Evan Martin  <evan@chromium.org>
26725
26726         Reviewed by Tony Chang.
26727
26728         [chromium] drop backwards iteration in Linux complex text code
26729         https://bugs.webkit.org/show_bug.cgi?id=52403
26730
26731         ComplexTextController previously supported iterating through the text in
26732         both directions, but this resulted in duplicate code for each path.
26733         Instead, by being more careful about flipping signs where appropriate,
26734         we can refactor the code into one code path.
26735
26736         No tests, just a refactoring; should be covered by existing tests.
26737
26738         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
26739         (WebCore::ComplexTextController::ComplexTextController):
26740         (WebCore::ComplexTextController::reset):
26741         (WebCore::ComplexTextController::nextScriptRun):
26742         * platform/graphics/chromium/ComplexTextControllerLinux.h:
26743         * platform/graphics/chromium/FontLinux.cpp:
26744         (WebCore::glyphIndexForXPositionInScriptRun):
26745         (WebCore::Font::selectionRectForComplexText):
26746
26747 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
26748
26749         Reviewed by Darin Adler.
26750
26751         Flip input[type=range] to use the new shadow DOM model.
26752         https://bugs.webkit.org/show_bug.cgi?id=52317
26753
26754         This is a straight-up flip, minimal change to the logic, which will be
26755         refactored in a follow-up patch.
26756
26757         Covered by existing tests.
26758
26759         * css/CSSStyleSelector.cpp:
26760         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
26761             host or parent node to find parent.
26762         * html/HTMLInputElement.cpp:
26763         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
26764             shadow DOM subtree.
26765         * html/InputType.cpp:
26766         (WebCore::InputType::createShadowSubtree): Added empty decl.
26767         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
26768             shadow subtree.
26769         * html/InputType.h: Added defs.
26770         * html/RangeInputType.cpp:
26771         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
26772             slider thumb.
26773         * html/RangeInputType.h: Adde def.
26774         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
26775             to handle cascading appearance.
26776         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
26777         (WebCore::RenderSliderThumb::layout): Moved here the logic from
26778             RenderSlider::createThumbStyle.
26779         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
26780             create RenderSliderThumb instance.
26781         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
26782             as base class.
26783         (WebCore::SliderThumbElement::detach): Ditto.
26784         * html/shadow/SliderThumbElement.h:
26785         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
26786         (WebCore::SliderThumbElement::create): Ditto.
26787         (WebCore::toSliderThumbElement): Added a casting helper.
26788         * rendering/MediaControlElements.cpp:
26789         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
26790             since the whole method is hand-rolled.
26791         (WebCore::MediaControlInputElement::updateStyle): Ditto.
26792         * rendering/RenderSlider.cpp:
26793         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
26794         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
26795         (WebCore::RenderSlider::layout): Ditto.
26796         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
26797             SliderThumbElement.
26798         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
26799         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
26800         (WebCore::RenderSlider::setValueForPosition): Ditto.
26801         (WebCore::RenderSlider::positionForOffset): Ditto.
26802         (WebCore::RenderSlider::currentPosition): Ditto.
26803         (WebCore::RenderSlider::trackSize): Ditto.
26804         (WebCore::RenderSlider::forwardEvent): Ditto.
26805         (WebCore::RenderSlider::inDragMode): Ditto.
26806         * rendering/RenderSlider.h: Added def.
26807
26808 2011-01-13  Adam Barth  <abarth@webkit.org>
26809
26810         Reviewed by Eric Seidel.
26811
26812         Rename RGBA32Buffer to ImageFrame
26813         https://bugs.webkit.org/show_bug.cgi?id=52363
26814
26815         RGBA32Buffer is a terrible misnomer.  ImageFrame is vastly
26816         more accurate.  More cleanup to come.
26817
26818         * WebCore.pro:
26819         * platform/graphics/ImageSource.cpp:
26820         (WebCore::ImageSource::createFrameAtIndex):
26821         (WebCore::ImageSource::frameDurationAtIndex):
26822         (WebCore::ImageSource::frameIsCompleteAtIndex):
26823         * platform/graphics/qt/ImageDecoderQt.cpp:
26824         (WebCore::ImageDecoderQt::frameBufferAtIndex):
26825         (WebCore::ImageDecoderQt::internalReadImage):
26826         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
26827         * platform/graphics/qt/ImageDecoderQt.h:
26828         * platform/graphics/wince/ImageWinCE.cpp:
26829         (WebCore::ImageFrame::asNewNativeImage):
26830         * platform/image-decoders/ImageDecoder.cpp:
26831         (WebCore::ImageFrame::ImageFrame):
26832         (WebCore::ImageFrame::operator=):
26833         (WebCore::ImageFrame::clear):
26834         (WebCore::ImageFrame::zeroFill):
26835         (WebCore::ImageFrame::copyReferenceToBitmapData):
26836         (WebCore::ImageFrame::copyBitmapData):
26837         (WebCore::ImageFrame::setSize):
26838         (WebCore::ImageFrame::hasAlpha):
26839         (WebCore::ImageFrame::setHasAlpha):
26840         (WebCore::ImageFrame::setColorProfile):
26841         (WebCore::ImageFrame::setStatus):
26842         (WebCore::ImageFrame::width):
26843         (WebCore::ImageFrame::height):
26844         * platform/image-decoders/ImageDecoder.h:
26845         (WebCore::ImageFrame::ImageFrame):
26846         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
26847         (WebCore::BMPImageDecoder::frameBufferAtIndex):
26848         (WebCore::BMPImageDecoder::decode):
26849         * platform/image-decoders/bmp/BMPImageDecoder.h:
26850         * platform/image-decoders/bmp/BMPImageReader.cpp:
26851         (WebCore::BMPImageReader::decodeBMP):
26852         * platform/image-decoders/bmp/BMPImageReader.h:
26853         (WebCore::BMPImageReader::setBuffer):
26854         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
26855         (WebCore::ImageFrame::asNewNativeImage):
26856         * platform/image-decoders/cg/ImageDecoderCG.cpp:
26857         (WebCore::getPtrAsPixelData):
26858         (WebCore::ImageFrame::copyReferenceToBitmapData):
26859         (WebCore::ImageFrame::copyBitmapData):
26860         (WebCore::ImageFrame::setSize):
26861         (WebCore::ImageFrame::asNewNativeImage):
26862         * platform/image-decoders/gif/GIFImageDecoder.cpp:
26863         (WebCore::GIFImageDecoder::frameBufferAtIndex):
26864         (WebCore::GIFImageDecoder::clearFrameBufferCache):
26865         (WebCore::GIFImageDecoder::haveDecodedRow):
26866         (WebCore::GIFImageDecoder::frameComplete):
26867         (WebCore::GIFImageDecoder::initFrameBuffer):
26868         * platform/image-decoders/gif/GIFImageDecoder.h:
26869         * platform/image-decoders/gif/GIFImageReader.cpp:
26870         (GIFImageReader::read):
26871         * platform/image-decoders/gif/GIFImageReader.h:
26872         (GIFFrameReader::GIFFrameReader):
26873         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
26874         (WebCore::ImageFrame::asNewNativeImage):
26875         * platform/image-decoders/ico/ICOImageDecoder.cpp:
26876         (WebCore::ICOImageDecoder::frameBufferAtIndex):
26877         (WebCore::ICOImageDecoder::decode):
26878         * platform/image-decoders/ico/ICOImageDecoder.h:
26879         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
26880         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
26881         (WebCore::JPEGImageDecoder::outputScanlines):
26882         (WebCore::JPEGImageDecoder::jpegComplete):
26883         (WebCore::JPEGImageDecoder::decode):
26884         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
26885         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
26886         (WebCore::ImageFrame::asNewNativeImage):
26887         * platform/image-decoders/png/PNGImageDecoder.cpp:
26888         (WebCore::PNGImageDecoder::frameBufferAtIndex):
26889         (WebCore::PNGImageDecoder::rowAvailable):
26890         (WebCore::PNGImageDecoder::pngComplete):
26891         * platform/image-decoders/png/PNGImageDecoder.h:
26892         (WebCore::PNGImageDecoder::isComplete):
26893         * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp.
26894         (WebCore::ImageFrame::ImageFrame):
26895         (WebCore::ImageFrame::operator=):
26896         (WebCore::ImageFrame::clear):
26897         (WebCore::ImageFrame::zeroFill):
26898         (WebCore::ImageFrame::copyBitmapData):
26899         (WebCore::ImageFrame::setSize):
26900         (WebCore::ImageFrame::asNewNativeImage):
26901         (WebCore::ImageFrame::hasAlpha):
26902         (WebCore::ImageFrame::setHasAlpha):
26903         (WebCore::ImageFrame::setColorProfile):
26904         (WebCore::ImageFrame::setStatus):
26905         (WebCore::ImageFrame::setPixmap):
26906         (WebCore::ImageFrame::width):
26907         (WebCore::ImageFrame::height):
26908         * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed.
26909         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
26910         (WebCore::ImageFrame::ImageFrame):
26911         (WebCore::ImageFrame::operator=):
26912         (WebCore::ImageFrame::clear):
26913         (WebCore::ImageFrame::zeroFill):
26914         (WebCore::ImageFrame::copyBitmapData):
26915         (WebCore::ImageFrame::setSize):
26916         (WebCore::ImageFrame::asNewNativeImage):
26917         (WebCore::ImageFrame::hasAlpha):
26918         (WebCore::ImageFrame::setHasAlpha):
26919         (WebCore::ImageFrame::setColorProfile):
26920         (WebCore::ImageFrame::setStatus):
26921         (WebCore::ImageFrame::width):
26922         (WebCore::ImageFrame::height):
26923         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
26924         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
26925         (WebCore::WEBPImageDecoder::decode):
26926         * platform/image-decoders/webp/WEBPImageDecoder.h:
26927         * platform/image-decoders/wx/ImageDecoderWx.cpp:
26928         (WebCore::ImageFrame::asNewNativeImage):
26929
26930 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
26931
26932         Reviewed by Darin Adler.
26933
26934         Transferring nodes between documents should be aware of the shadow DOM.
26935         https://bugs.webkit.org/show_bug.cgi?id=52399
26936
26937         No visible change in behavior at the moment.
26938
26939         Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following
26940         tests should no longer crash:
26941         * fast/css/pseudo-in-range-invalid-value.html
26942         * fast/css/pseudo-in-range.html
26943         * fast/forms/form-collection-elements.html
26944         * fast/forms/range-keyoperation.html
26945
26946         * dom/Document.cpp:
26947         (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
26948         * dom/Node.cpp:
26949         (WebCore::Node::setDocumentRecursively): Added new method, taking existing
26950             logic and adding shadow DOM traversal.
26951         (WebCore::Node::traverseNextNode): Style fix.
26952         (WebCore::Node::traverseNextSibling): Ditto.
26953         (WebCore::Node::traversePreviousNode): Ditto.
26954         (WebCore::Node::traversePreviousNodePostOrder): Ditto.
26955         (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively.
26956         (WebCore::Node::checkAddChild): Ditto.
26957         * dom/Node.h: Added def.
26958
26959 2011-01-12  Enrica Casucci  <enrica@apple.com>
26960
26961         Reviewed by Darin Adler.
26962
26963         WebKit2: Add support for drag and drop
26964         https://bugs.webkit.org/show_bug.cgi?id=52343
26965         <rdar://problem/7660558>
26966                
26967         This patch contains the changes required to support dropping content
26968         in WebKit on the Mac. The DragData class has been extended to provide
26969         additional context from the application (keyboard state, modal windows, etc.)
26970         as well as information of the drag pasteboard being used.
26971         The support for WebKit as drag source will be added with a separate patch.
26972
26973         * WebCore.exp.in:
26974         * page/DragController.cpp:
26975         (WebCore::DragController::dragIsMove): Added DragData parameter.
26976         (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
26977         (WebCore::DragController::concludeEditDrag): Same as above.
26978         * page/DragController.h: Added parameter to isCopyKeyDown.
26979         * page/mac/DragControllerMac.mm:
26980         The following methods have been modified to use the information stored
26981         in the DragData class.
26982         (WebCore::DragController::isCopyKeyDown):
26983         (WebCore::DragController::dragOperation):
26984         * platform/DragData.h:
26985         (WebCore::DragData::flags):
26986         * platform/DragData.cpp: Added default flags parameter to the constructor.
26987         * platform/mac/DragDataMac.mm:
26988         (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
26989         (WebCore::DragData::canSmartReplace):
26990         (WebCore::DragData::containsColor):
26991         (WebCore::DragData::containsFiles):
26992         (WebCore::DragData::asFilenames):
26993         (WebCore::DragData::containsPlainText):
26994         (WebCore::DragData::asPlainText):
26995         (WebCore::DragData::containsCompatibleContent):
26996         (WebCore::DragData::asURL):
26997         (WebCore::DragData::asFragment):
26998         All the following files have been modified to add the DragData
26999         parameter to isCopyKeyDown. I plan to improve this in the future
27000         and make isCopyKeyDown not platform specific.
27001         * page/android/DragControllerAndroid.cpp:
27002         (WebCore::DragController::isCopyKeyDown):
27003         * page/brew/DragControllerBrew.cpp:
27004         (WebCore::DragController::isCopyKeyDown):
27005         * page/chromium/DragControllerChromium.cpp:
27006         (WebCore::DragController::isCopyKeyDown):
27007         * page/efl/DragControllerEfl.cpp:
27008         (WebCore::DragController::isCopyKeyDown):
27009         * page/gtk/DragControllerGtk.cpp:
27010         (WebCore::DragController::isCopyKeyDown):
27011         * page/haiku/DragControllerHaiku.cpp:
27012         (WebCore::DragController::isCopyKeyDown):
27013         * page/mac/DragControllerMac.mm:
27014         (WebCore::DragController::isCopyKeyDown):
27015         (WebCore::DragController::dragOperation):
27016         * page/qt/DragControllerQt.cpp:
27017         (WebCore::DragController::isCopyKeyDown):
27018         * page/win/DragControllerWin.cpp:
27019         (WebCore::DragController::isCopyKeyDown):
27020         * page/wx/DragControllerWx.cpp:
27021         (WebCore::DragController::isCopyKeyDown):
27022
27023 2011-01-13  David Kilzer  <ddkilzer@apple.com>
27024
27025         Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project
27026
27027         Not reviewed.
27028
27029         * WebCore.xcodeproj/project.pbxproj: Add missing headers.  Note
27030         that the corresponding source files were originally added to the
27031         project in r48559.
27032
27033 2011-01-12  Zhenyao Mo  <zmo@google.com>
27034
27035         Reviewed by Kenneth Russell.
27036
27037         Use GC3D types in WebGLRenderingContext and related WebGL classes
27038         https://bugs.webkit.org/show_bug.cgi?id=51908
27039
27040         * html/canvas/WebGLActiveInfo.h:
27041         (WebCore::WebGLActiveInfo::create):
27042         (WebCore::WebGLActiveInfo::type):
27043         (WebCore::WebGLActiveInfo::size):
27044         (WebCore::WebGLActiveInfo::WebGLActiveInfo):
27045         * html/canvas/WebGLBuffer.cpp:
27046         (WebCore::WebGLBuffer::associateBufferDataImpl):
27047         (WebCore::WebGLBuffer::associateBufferData):
27048         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
27049         (WebCore::WebGLBuffer::associateBufferSubData):
27050         (WebCore::WebGLBuffer::byteLength):
27051         (WebCore::WebGLBuffer::getCachedMaxIndex):
27052         (WebCore::WebGLBuffer::setCachedMaxIndex):
27053         (WebCore::WebGLBuffer::setTarget):
27054         * html/canvas/WebGLBuffer.h:
27055         (WebCore::WebGLBuffer::getTarget):
27056         * html/canvas/WebGLFramebuffer.cpp:
27057         (WebCore::WebGLFramebuffer::setAttachment):
27058         (WebCore::WebGLFramebuffer::getAttachment):
27059         (WebCore::WebGLFramebuffer::getWidth):
27060         (WebCore::WebGLFramebuffer::getHeight):
27061         (WebCore::WebGLFramebuffer::getColorBufferFormat):
27062         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
27063         * html/canvas/WebGLFramebuffer.h:
27064         * html/canvas/WebGLProgram.cpp:
27065         (WebCore::WebGLProgram::cacheActiveAttribLocations):
27066         (WebCore::WebGLProgram::numActiveAttribLocations):
27067         (WebCore::WebGLProgram::getActiveAttribLocation):
27068         (WebCore::WebGLProgram::isUsingVertexAttrib0):
27069         * html/canvas/WebGLProgram.h:
27070         (WebCore::WebGLProgram::getLinkCount):
27071         * html/canvas/WebGLRenderbuffer.h:
27072         (WebCore::WebGLRenderbuffer::setInternalFormat):
27073         (WebCore::WebGLRenderbuffer::getInternalFormat):
27074         (WebCore::WebGLRenderbuffer::setSize):
27075         (WebCore::WebGLRenderbuffer::getWidth):
27076         (WebCore::WebGLRenderbuffer::getHeight):
27077         * html/canvas/WebGLRenderingContext.cpp:
27078         (WebCore::WebGLRenderingContext::initializeNewContext):
27079         (WebCore::WebGLRenderingContext::sizeInBytes):
27080         (WebCore::WebGLRenderingContext::activeTexture):
27081         (WebCore::WebGLRenderingContext::bindAttribLocation):
27082         (WebCore::WebGLRenderingContext::bindBuffer):
27083         (WebCore::WebGLRenderingContext::bindFramebuffer):
27084         (WebCore::WebGLRenderingContext::bindRenderbuffer):
27085         (WebCore::WebGLRenderingContext::bindTexture):
27086         (WebCore::WebGLRenderingContext::blendColor):
27087         (WebCore::WebGLRenderingContext::blendEquation):
27088         (WebCore::WebGLRenderingContext::blendEquationSeparate):
27089         (WebCore::WebGLRenderingContext::blendFunc):
27090         (WebCore::WebGLRenderingContext::blendFuncSeparate):
27091         (WebCore::WebGLRenderingContext::bufferData):
27092         (WebCore::WebGLRenderingContext::bufferSubData):
27093         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
27094         (WebCore::WebGLRenderingContext::clear):
27095         (WebCore::WebGLRenderingContext::clearColor):
27096         (WebCore::WebGLRenderingContext::clearDepth):
27097         (WebCore::WebGLRenderingContext::clearStencil):
27098         (WebCore::WebGLRenderingContext::colorMask):
27099         (WebCore::WebGLRenderingContext::copyTexImage2D):
27100         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
27101         (WebCore::WebGLRenderingContext::createShader):
27102         (WebCore::WebGLRenderingContext::cullFace):
27103         (WebCore::WebGLRenderingContext::deleteBuffer):
27104         (WebCore::WebGLRenderingContext::depthFunc):
27105         (WebCore::WebGLRenderingContext::depthMask):
27106         (WebCore::WebGLRenderingContext::depthRange):
27107         (WebCore::WebGLRenderingContext::disable):
27108         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
27109         (WebCore::WebGLRenderingContext::validateElementArraySize):
27110         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
27111         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
27112         (WebCore::WebGLRenderingContext::validateRenderingState):
27113         (WebCore::WebGLRenderingContext::drawArrays):
27114         (WebCore::WebGLRenderingContext::drawElements):
27115         (WebCore::WebGLRenderingContext::enable):
27116         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
27117         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
27118         (WebCore::WebGLRenderingContext::framebufferTexture2D):
27119         (WebCore::WebGLRenderingContext::frontFace):
27120         (WebCore::WebGLRenderingContext::generateMipmap):
27121         (WebCore::WebGLRenderingContext::getActiveAttrib):
27122         (WebCore::WebGLRenderingContext::getActiveUniform):
27123         (WebCore::WebGLRenderingContext::getAttachedShaders):
27124         (WebCore::WebGLRenderingContext::getAttribLocation):
27125         (WebCore::WebGLRenderingContext::getBufferParameter):
27126         (WebCore::WebGLRenderingContext::getError):
27127         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
27128         (WebCore::WebGLRenderingContext::getParameter):
27129         (WebCore::WebGLRenderingContext::getProgramParameter):
27130         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
27131         (WebCore::WebGLRenderingContext::getShaderParameter):
27132         (WebCore::WebGLRenderingContext::getTexParameter):
27133         (WebCore::WebGLRenderingContext::getUniform):
27134         (WebCore::WebGLRenderingContext::getUniformLocation):
27135         (WebCore::WebGLRenderingContext::getVertexAttrib):
27136         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
27137         (WebCore::WebGLRenderingContext::hint):
27138         (WebCore::WebGLRenderingContext::isBuffer):
27139         (WebCore::WebGLRenderingContext::isEnabled):
27140         (WebCore::WebGLRenderingContext::isFramebuffer):
27141         (WebCore::WebGLRenderingContext::isProgram):
27142         (WebCore::WebGLRenderingContext::isRenderbuffer):
27143         (WebCore::WebGLRenderingContext::isShader):
27144         (WebCore::WebGLRenderingContext::isTexture):
27145         (WebCore::WebGLRenderingContext::lineWidth):
27146         (WebCore::WebGLRenderingContext::linkProgram):
27147         (WebCore::WebGLRenderingContext::pixelStorei):
27148         (WebCore::WebGLRenderingContext::polygonOffset):
27149         (WebCore::WebGLRenderingContext::readPixels):
27150         (WebCore::WebGLRenderingContext::renderbufferStorage):
27151         (WebCore::WebGLRenderingContext::sampleCoverage):
27152         (WebCore::WebGLRenderingContext::scissor):
27153         (WebCore::WebGLRenderingContext::stencilFunc):
27154         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
27155         (WebCore::WebGLRenderingContext::stencilMask):
27156         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
27157         (WebCore::WebGLRenderingContext::stencilOp):
27158         (WebCore::WebGLRenderingContext::stencilOpSeparate):
27159         (WebCore::WebGLRenderingContext::texImage2DBase):
27160         (WebCore::WebGLRenderingContext::texImage2DImpl):
27161         (WebCore::WebGLRenderingContext::texImage2D):
27162         (WebCore::WebGLRenderingContext::texParameter):
27163         (WebCore::WebGLRenderingContext::texParameterf):
27164         (WebCore::WebGLRenderingContext::texParameteri):
27165         (WebCore::WebGLRenderingContext::texSubImage2DBase):
27166         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
27167         (WebCore::WebGLRenderingContext::texSubImage2D):
27168         (WebCore::WebGLRenderingContext::uniform1f):
27169         (WebCore::WebGLRenderingContext::uniform1fv):
27170         (WebCore::WebGLRenderingContext::uniform1i):
27171         (WebCore::WebGLRenderingContext::uniform1iv):
27172         (WebCore::WebGLRenderingContext::uniform2f):
27173         (WebCore::WebGLRenderingContext::uniform2fv):
27174         (WebCore::WebGLRenderingContext::uniform2i):
27175         (WebCore::WebGLRenderingContext::uniform2iv):
27176         (WebCore::WebGLRenderingContext::uniform3f):
27177         (WebCore::WebGLRenderingContext::uniform3fv):
27178         (WebCore::WebGLRenderingContext::uniform3i):
27179         (WebCore::WebGLRenderingContext::uniform3iv):
27180         (WebCore::WebGLRenderingContext::uniform4f):
27181         (WebCore::WebGLRenderingContext::uniform4fv):
27182         (WebCore::WebGLRenderingContext::uniform4i):
27183         (WebCore::WebGLRenderingContext::uniform4iv):
27184         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
27185         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
27186         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
27187         (WebCore::WebGLRenderingContext::vertexAttrib1f):
27188         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
27189         (WebCore::WebGLRenderingContext::vertexAttrib2f):
27190         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
27191         (WebCore::WebGLRenderingContext::vertexAttrib3f):
27192         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
27193         (WebCore::WebGLRenderingContext::vertexAttrib4f):
27194         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
27195         (WebCore::WebGLRenderingContext::vertexAttribPointer):
27196         (WebCore::WebGLRenderingContext::viewport):
27197         (WebCore::WebGLRenderingContext::getBooleanParameter):
27198         (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
27199         (WebCore::WebGLRenderingContext::getFloatParameter):
27200         (WebCore::WebGLRenderingContext::getIntParameter):
27201         (WebCore::WebGLRenderingContext::getLongParameter):
27202         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
27203         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
27204         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
27205         (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
27206         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat):
27207         (WebCore::WebGLRenderingContext::validateTextureBinding):
27208         (WebCore::WebGLRenderingContext::validateSize):
27209         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
27210         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
27211         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
27212         (WebCore::WebGLRenderingContext::validateTexFuncData):
27213         (WebCore::WebGLRenderingContext::validateDrawMode):
27214         (WebCore::WebGLRenderingContext::validateStencilFunc):
27215         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
27216         (WebCore::WebGLRenderingContext::validateBlendEquation):
27217         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
27218         (WebCore::WebGLRenderingContext::validateCapability):
27219         (WebCore::WebGLRenderingContext::validateUniformParameters):
27220         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
27221         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
27222         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
27223         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
27224         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
27225         * html/canvas/WebGLRenderingContext.h:
27226         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
27227         * html/canvas/WebGLShader.cpp:
27228         (WebCore::WebGLShader::create):
27229         (WebCore::WebGLShader::WebGLShader):
27230         * html/canvas/WebGLShader.h:
27231         (WebCore::WebGLShader::getType):
27232         * html/canvas/WebGLTexture.cpp:
27233         (WebCore::WebGLTexture::setTarget):
27234         (WebCore::WebGLTexture::setParameteri):
27235         (WebCore::WebGLTexture::setParameterf):
27236         (WebCore::WebGLTexture::setLevelInfo):
27237         (WebCore::WebGLTexture::generateMipmapLevelInfo):
27238         (WebCore::WebGLTexture::getInternalFormat):
27239         (WebCore::WebGLTexture::getType):
27240         (WebCore::WebGLTexture::getWidth):
27241         (WebCore::WebGLTexture::getHeight):
27242         (WebCore::WebGLTexture::isNPOT):
27243         (WebCore::WebGLTexture::mapTargetToIndex):
27244         (WebCore::WebGLTexture::computeLevelCount):
27245         (WebCore::WebGLTexture::update):
27246         (WebCore::WebGLTexture::getLevelInfo):
27247         * html/canvas/WebGLTexture.h:
27248         (WebCore::WebGLTexture::LevelInfo::setInfo):
27249         * html/canvas/WebGLUniformLocation.cpp:
27250         (WebCore::WebGLUniformLocation::create):
27251         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
27252         (WebCore::WebGLUniformLocation::location):
27253         * html/canvas/WebGLUniformLocation.h:
27254         * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char.
27255
27256 2011-01-13  Jian Li  <jianli@chromium.org>
27257
27258         Reviewed by Darin Fisher.
27259
27260         Change createObjectURL and revokeObjectURL to put under webkitURL.
27261         https://bugs.webkit.org/show_bug.cgi?id=52257
27262
27263         Note that we add "webkit" vendor prefix to URL that is introduced in
27264         the latest File API spec.
27265
27266         For the time being, we implement webkitURL as a readonly attribute
27267         instead of a constructor so that we will not expose prototype property,
27268         as required by the spec.
27269
27270         * Android.derived.jscbindings.mk:
27271         * Android.derived.v8bindings.mk:
27272         * Android.mk:
27273         * CMakeLists.txt:
27274         * DerivedSources.cpp:
27275         * DerivedSources.make:
27276         * GNUmakefile.am:
27277         * WebCore.gypi:
27278         * WebCore.pri:
27279         * WebCore.pro:
27280         * WebCore.vcproj/WebCore.vcproj:
27281         * WebCore.xcodeproj/project.pbxproj:
27282         * html/DOMURL.cpp: Added.
27283         * html/DOMURL.h: Added.
27284         * html/DOMURL.idl: Added.
27285         * inspector/front-end/NetworkPanel.js:
27286         * inspector/front-end/utilities.js:
27287         * page/DOMWindow.cpp:
27288         (WebCore::DOMWindow::webkitURL):
27289         * page/DOMWindow.h:
27290         * page/DOMWindow.idl:
27291         * workers/WorkerContext.cpp:
27292         (WebCore::WorkerContext::webkitURL):
27293         * workers/WorkerContext.h:
27294         * workers/WorkerContext.idl:
27295
27296 2011-01-13  Emil Eklund  <eae@chromium.org>
27297
27298         Reviewed by Dimitri Glazkov.
27299
27300         Setting outerText should convert CR/LF to <br>
27301         https://bugs.webkit.org/show_bug.cgi?id=52268
27302
27303         Make set outerText support line breaks (sharing the text to fragment code
27304         with setInnerText) and handle empty text nodes the same way IE does.
27305
27306         Test: fast/dom/set-outer-text.html
27307
27308         * html/HTMLElement.cpp:
27309         (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText
27310         (WebCore::HTMLElement::setInnerText): Split out text parsing code.
27311         (WebCore::mergeWithNextTextNode): Split out text node merging code.
27312         (WebCore::HTMLElement::setOuterText): Added support for line breaks.
27313         * html/HTMLElement.h:
27314
27315 2011-01-13  Zhenyao Mo  <zmo@google.com>
27316
27317         Reviewed by Kenneth Russell.
27318
27319         Relax the ESSL valid charset a little bit to include " ' `
27320         https://bugs.webkit.org/show_bug.cgi?id=52396
27321
27322         * html/canvas/WebGLRenderingContext.cpp:
27323
27324 2011-01-13  Adrienne Walker  <enne@google.com>
27325
27326         Reviewed by Kenneth Russell.
27327
27328         [chromium] Attempt to fix crash in tiled compositor memcpy
27329         https://bugs.webkit.org/show_bug.cgi?id=52379
27330
27331         * platform/graphics/chromium/LayerTilerChromium.cpp:
27332         (WebCore::LayerTilerChromium::update):
27333
27334 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
27335
27336         Unreviewed, rolling out r75725.
27337         http://trac.webkit.org/changeset/75725
27338         https://bugs.webkit.org/show_bug.cgi?id=52317
27339
27340         Caused crashes in layout tests.
27341
27342         * css/CSSStyleSelector.cpp:
27343         (WebCore::CSSStyleSelector::initForStyleResolve):
27344         * html/HTMLInputElement.cpp:
27345         (WebCore::HTMLInputElement::updateType):
27346         * html/InputType.cpp:
27347         * html/InputType.h:
27348         * html/RangeInputType.cpp:
27349         * html/RangeInputType.h:
27350         * html/shadow/SliderThumbElement.cpp:
27351         (WebCore::SliderThumbElement::defaultEventHandler):
27352         (WebCore::SliderThumbElement::detach):
27353         * html/shadow/SliderThumbElement.h:
27354         (WebCore::SliderThumbElement::SliderThumbElement):
27355         (WebCore::SliderThumbElement::create):
27356         * rendering/MediaControlElements.cpp:
27357         (WebCore::MediaControlInputElement::attach):
27358         (WebCore::MediaControlInputElement::updateStyle):
27359         * rendering/RenderSlider.cpp:
27360         (WebCore::RenderSlider::~RenderSlider):
27361         (WebCore::RenderSlider::styleDidChange):
27362         (WebCore::RenderSlider::createThumbStyle):
27363         (WebCore::RenderSlider::thumbRect):
27364         (WebCore::RenderSlider::layout):
27365         (WebCore::RenderSlider::updateFromElement):
27366         (WebCore::RenderSlider::mouseEventIsInThumb):
27367         (WebCore::RenderSlider::mouseEventOffsetToThumb):
27368         (WebCore::RenderSlider::setValueForPosition):
27369         (WebCore::RenderSlider::positionForOffset):
27370         (WebCore::RenderSlider::currentPosition):
27371         (WebCore::RenderSlider::trackSize):
27372         (WebCore::RenderSlider::forwardEvent):
27373         (WebCore::RenderSlider::inDragMode):
27374         * rendering/RenderSlider.h:
27375
27376 2011-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
27377
27378         Reviewed by Darin Adler.
27379
27380         Flip input[type=range] to use the new shadow DOM model.
27381         https://bugs.webkit.org/show_bug.cgi?id=52317
27382
27383         This is a straight-up flip, minimal change to the logic, which will be
27384         refactored in a follow-up patch.
27385
27386         Covered by existing tests.
27387
27388         * css/CSSStyleSelector.cpp:
27389         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
27390             host or parent node to find parent.
27391         * html/HTMLInputElement.cpp:
27392         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
27393             shadow DOM subtree.
27394         * html/InputType.cpp:
27395         (WebCore::InputType::createShadowSubtree): Added empty decl.
27396         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
27397             shadow subtree.
27398         * html/InputType.h: Added defs.
27399         * html/RangeInputType.cpp:
27400         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
27401             slider thumb.
27402         * html/RangeInputType.h: Adde def.
27403         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
27404             to handle cascading appearance.
27405         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
27406         (WebCore::RenderSliderThumb::layout): Moved here the logic from
27407             RenderSlider::createThumbStyle.
27408         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
27409             create RenderSliderThumb instance.
27410         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
27411             as base class.
27412         (WebCore::SliderThumbElement::detach): Ditto.
27413         * html/shadow/SliderThumbElement.h:
27414         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
27415         (WebCore::SliderThumbElement::create): Ditto.
27416         (WebCore::toSliderThumbElement): Added a casting helper.
27417         * rendering/MediaControlElements.cpp:
27418         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
27419             since the whole method is hand-rolled.
27420         (WebCore::MediaControlInputElement::updateStyle): Ditto.
27421         * rendering/RenderSlider.cpp:
27422         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
27423         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
27424         (WebCore::RenderSlider::layout): Ditto.
27425         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
27426             SliderThumbElement.
27427         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
27428         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
27429         (WebCore::RenderSlider::setValueForPosition): Ditto.
27430         (WebCore::RenderSlider::positionForOffset): Ditto.
27431         (WebCore::RenderSlider::currentPosition): Ditto.
27432         (WebCore::RenderSlider::trackSize): Ditto.
27433         (WebCore::RenderSlider::forwardEvent): Ditto.
27434         (WebCore::RenderSlider::inDragMode): Ditto.
27435         * rendering/RenderSlider.h: Added def.
27436
27437 2011-01-13  Dan Bernstein  <mitz@apple.com>
27438
27439         Reviewed by Simon Fraser.
27440
27441         <rdar://problem/8098442> Crash in Widget::setFrameRect()
27442         https://bugs.webkit.org/show_bug.cgi?id=52375
27443
27444         Test: plugins/destroy-on-setwindow.html
27445
27446         * platform/mac/WidgetMac.mm:
27447         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
27448         out to the view.
27449         (WebCore::Widget::getOuterView): Coding style fix.
27450         (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to
27451         the views. This is precautionary, since this function does not applear to access member variables
27452         after such calls.
27453         * platform/wx/WidgetWx.cpp:
27454         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
27455         out to the platform widget.
27456
27457 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
27458
27459         Unreviewed buildfix after r75715.
27460
27461         * WebCore.pri:
27462         * WebCore.pro:
27463
27464 2011-01-13  Pavel Feldman  <pfeldman@chromium.org>
27465
27466         Not reviewed: Qt build fix.
27467
27468         * WebCore.pri:
27469
27470 2011-01-12  Pavel Feldman  <pfeldman@chromium.org>
27471
27472         Reviewed by Yury Semikhatsky.
27473
27474         Web Inspector: embed injected script into the backend.
27475         https://bugs.webkit.org/show_bug.cgi?id=52312
27476
27477         InjectedScript belongs to the backend of the system and
27478         should be exposed by means of protocol, not InjectedScriptAccess.
27479         This patch makes injected script a part of the backend.
27480         It introduces single manual generation step (xxd -i) that should be
27481         automated by the build scripts for all the platforms.
27482
27483         * CMakeLists.txt:
27484         * DerivedSources.make:
27485         * GNUmakefile.am:
27486         * WebCore.gyp/WebCore.gyp:
27487         * WebCore.gypi:
27488         * WebCore.pro:
27489         * WebCore.vcproj/WebCore.vcproj:
27490         * WebCore.xcodeproj/project.pbxproj:
27491         * bindings/js/JSInjectedScriptHostCustom.cpp:
27492         (WebCore::InjectedScriptHost::injectedScriptFor):
27493         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
27494         (WebCore::InjectedScriptHost::injectedScriptFor):
27495         * inspector/InjectedScriptHost.cpp:
27496         (WebCore::InjectedScriptHost::injectedScriptSource):
27497         * inspector/InjectedScriptHost.h:
27498         * inspector/Inspector.idl:
27499         * inspector/InspectorController.cpp:
27500         (WebCore::InspectorController::restoreInspectorStateFromCookie):
27501         * inspector/InspectorState.cpp:
27502         (WebCore::InspectorState::InspectorState):
27503         * inspector/InspectorState.h:
27504         * inspector/front-end/InjectedScript.js: Removed.
27505         * inspector/front-end/WebKit.qrc:
27506         * inspector/front-end/inspector.html:
27507         * inspector/front-end/inspector.js:
27508         (WebInspector.doLoadedDone.propertyNamesCallback):
27509         (WebInspector.doLoadedDone):
27510         * inspector/xxd.pl: Added.
27511
27512 2011-01-13  Mikhail Naganov  <mnaganov@chromium.org>
27513
27514         Reviewed by Timothy Hatcher.
27515
27516         Web Inspector: Cleanup after r75613 -- make all UI-facing strings
27517         to be passed directly to WebInspector.UIString
27518
27519         https://bugs.webkit.org/show_bug.cgi?id=52365
27520
27521         * English.lproj/localizedStrings.js:
27522         * inspector/front-end/ApplicationCacheItemsView.js:
27523         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
27524         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
27525         * inspector/front-end/AuditRules.js:
27526         (WebInspector.AuditRules.GzipRule.prototype.doRun):
27527         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
27528         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
27529         * inspector/front-end/BreakpointsSidebarPane.js:
27530         (WebInspector.EventListenerBreakpointsSidebarPane):
27531         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
27532         * inspector/front-end/CookieItemsView.js:
27533         (WebInspector.CookieItemsView.prototype._updateWithCookies):
27534         * inspector/front-end/ImageView.js:
27535         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
27536         (WebInspector.ImageView.prototype._createContentIfNeeded):
27537         * inspector/front-end/NetworkPanel.js:
27538         (WebInspector.NetworkTimeCalculator.prototype.formatValue):
27539         (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
27540         (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
27541         * inspector/front-end/ProfileDataGridTree.js:
27542         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
27543         (WebInspector.ProfileDataGridNode.prototype.get data):
27544         * inspector/front-end/Resource.js:
27545         (WebInspector.Resource.Type.toUIString):
27546         (WebInspector.Resource.Type.toString):
27547         * inspector/front-end/TimelineOverviewPane.js:
27548         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
27549         * inspector/front-end/TimelinePanel.js:
27550         (WebInspector.TimelinePanel):
27551         (WebInspector.TimelineCalculator.prototype.formatValue):
27552         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
27553         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
27554         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
27555         * inspector/front-end/utilities.js:
27556         ():
27557
27558 2011-01-13  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
27559
27560         Reviewed by Simon Hausmann.
27561
27562         [Qt] Need a way to inform the application when a Netscape plugin is created.
27563         https://bugs.webkit.org/show_bug.cgi?id=30179
27564
27565         Added "c" style static method for the application to hook up for
27566         receiving notifications when a plugin is created.
27567
27568         * plugins/symbian/PluginViewSymbian.cpp:
27569         (qtwebkit_setPluginCreatedCallback):
27570         (WebCore::PluginView::platformStart):
27571
27572 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
27573
27574         Reviewed by Eric Seidel.
27575
27576         [Qt] Use a black background color for the video element on Qt Mobile
27577         https://bugs.webkit.org/show_bug.cgi?id=52252
27578
27579         Use black as the background color for the video element on Qt Mobile.
27580
27581         * css/themeQtMobile.css:
27582         (video):
27583
27584 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
27585
27586         Reviewed by Eric Seidel.
27587
27588         [Qt] Use a big central media play control button for video element 
27589         https://bugs.webkit.org/show_bug.cgi?id=52315
27590
27591         When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
27592         all other control buttons for the video element are hidden, except 
27593         a big centralized play button.
27594
27595         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
27596
27597         * WebCore.pri:
27598         * css/mediaControlsQtFullscreen.css: Added.
27599         (audio):
27600         (audio::-webkit-media-controls-panel):
27601         (video::-webkit-media-controls-panel):
27602         (video:-webkit-full-page-media::-webkit-media-controls-panel):
27603         (audio::-webkit-media-controls-mute-button):
27604         (video::-webkit-media-controls-mute-button):
27605         (audio::-webkit-media-controls-play-button):
27606         (video::-webkit-media-controls-play-button):
27607         (audio::-webkit-media-controls-timeline-container):
27608         (video::-webkit-media-controls-timeline-container):
27609         (audio::-webkit-media-controls-current-time-display):
27610         (video::-webkit-media-controls-current-time-display):
27611         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
27612         (audio::-webkit-media-controls-timeline):
27613         (video::-webkit-media-controls-timeline):
27614         (audio::-webkit-media-controls-volume-slider-container):
27615         (video::-webkit-media-controls-volume-slider-container):
27616         (audio::-webkit-media-controls-volume-slider):
27617         (video::-webkit-media-controls-volume-slider):
27618         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
27619         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
27620         (audio::-webkit-media-controls-fullscreen-button):
27621         (video::-webkit-media-controls-fullscreen-button):
27622         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
27623         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
27624         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
27625         * platform/qt/RenderThemeQt.cpp:
27626         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
27627
27628 2011-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
27629
27630         Reviewed by Xan Lopez.
27631
27632         [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
27633         https://bugs.webkit.org/show_bug.cgi?id=52361
27634
27635         Check whether the object state is indeterminate to set the flag
27636         GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
27637         buttons.
27638
27639         * platform/gtk/RenderThemeGtk3.cpp:
27640         (WebCore::paintToggle):
27641
27642 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
27643
27644         Reviewed by Simon Hausmann.
27645
27646         [Qt] Extend the Platform Plugin to support full screen video handler
27647         https://bugs.webkit.org/show_bug.cgi?id=51249
27648
27649         Make MediaPlayerPrivateQt support a fullscreen player.
27650
27651         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
27652         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
27653         So, still skip it for Qt.
27654
27655         * WebCore.pro:
27656         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
27657         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
27658         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
27659         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
27660         * platform/graphics/qt/MediaPlayerPrivateQt.h:
27661         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
27662         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
27663
27664 2011-01-13  Dan Bernstein  <mitz@apple.com>
27665
27666         Reviewed by Dave Hyatt.
27667
27668         <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
27669         https://bugs.webkit.org/show_bug.cgi?id=52359
27670
27671         Test: fast/ruby/text-emphasis.html
27672
27673         * css/html.css:
27674         (rt):
27675
27676 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
27677
27678         Rubber-stamped by David Levin.
27679
27680         Trivial fix after r75682.
27681
27682         * loader/FrameLoader.cpp: Remove accidentally committed debug code.
27683         (WebCore::FrameLoader::shouldClose):
27684
27685 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
27686
27687         Reviewed by Eric Seidel.
27688
27689         REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
27690         https://bugs.webkit.org/show_bug.cgi?id=52241
27691
27692         The bug was caused by RenderTextControl::selection's creating a Range with m_insertText
27693         which is a shadow DOM div as both start and end containers. Fixed the bug by traversing
27694         through the descendents of m_innerText and using the right start and end containers to
27695         create a Range.
27696
27697         Test: fast/forms/focus-change-on-keypress.html
27698
27699         * rendering/RenderTextControl.cpp:
27700         (WebCore::setContainerAndOffsetForRange): Added; a helper function.
27701         (WebCore::RenderTextControl::selection): See above.
27702
27703 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
27704
27705         Reviewed by Kent Tamura.
27706
27707         M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
27708         https://bugs.webkit.org/show_bug.cgi?id=51905
27709
27710         Calls unregisterFormElementWithFormAttribute() when 'form' attribute
27711         is removed.
27712
27713         Tests: fast/forms/form-associated-element-crash.html
27714                fast/forms/form-associated-element-crash2.html
27715
27716         * html/FormAssociatedElement.cpp:
27717         (WebCore::FormAssociatedElement::formAttributeChanged):
27718
27719 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
27720
27721         Reviewed by Kent Tamura.
27722
27723         M_formElementsWithFormAttribute not cleared when Node is moved to another document.
27724         https://bugs.webkit.org/show_bug.cgi?id=51418
27725
27726         Calls unregisterFormElementWithFormAttribute() when form associated elements
27727         are moved to another document.
27728
27729         Test: fast/forms/change-form-element-document-crash.html
27730
27731         * html/FormAssociatedElement.cpp:
27732         (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
27733         * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
27734         * html/HTMLFormControlElement.cpp:
27735         (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
27736         * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
27737         * html/HTMLObjectElement.cpp:
27738         (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
27739         * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
27740         * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.
27741
27742 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
27743
27744         Reviewed by Eric Seidel.
27745
27746         Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
27747         https://bugs.webkit.org/show_bug.cgi?id=52250
27748
27749         Removed instantiation of legacy editing positions.
27750         Calls to Position::Position are replaced by calls to Position's convenience functions.
27751
27752         Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode,
27753         which are functions that return firstPositionInNode and lastPositionInNode respectively
27754         when the specified node can have children for editing purpose and return positionBeforeNode
27755         and positionAfterNode respectively otherwise. They can be used to guarantee that we never
27756         create a bogus position like [img, 0] or [br, 0].
27757
27758         No tests are added since this is a cleanup.
27759
27760         * editing/ApplyBlockElementCommand.cpp:
27761         (WebCore::ApplyBlockElementCommand::formatSelection):
27762         * editing/ApplyStyleCommand.cpp:
27763         (WebCore::ApplyStyleCommand::applyBlockStyle):
27764         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
27765         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
27766         (WebCore::ApplyStyleCommand::removeInlineStyle):
27767         (WebCore::ApplyStyleCommand::nodeFullySelected):
27768         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
27769         (WebCore::ApplyStyleCommand::splitTextAtStart):
27770         (WebCore::ApplyStyleCommand::splitTextAtEnd):
27771         (WebCore::ApplyStyleCommand::splitTextElementAtStart):
27772         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
27773         (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode):
27774         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
27775         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
27776         (WebCore::ApplyStyleCommand::computedFontSize):
27777         (WebCore::ApplyStyleCommand::joinChildTextNodes):
27778         * editing/ApplyStyleCommand.h:
27779         * editing/htmlediting.h:
27780         (WebCore::firstPositionInOrBeforeNode): Added.
27781         (WebCore::lastPositionInOrAfterNode): Added.
27782
27783 2011-01-12  Sam Weinig  <sam@webkit.org>
27784
27785         Another build fix.
27786
27787         * platform/mac/WheelEventMac.mm:
27788         (WebCore::phaseForEvent):
27789
27790 2011-01-12  Sam Weinig  <sam@webkit.org>
27791
27792         Fix build.
27793
27794         * platform/mac/WheelEventMac.mm:
27795         (WebCore::phaseForEvent):
27796
27797 2011-01-12  Adam Barth  <abarth@webkit.org>
27798
27799         Reviewed by Darin Adler.
27800
27801         Remove premature optimization from SchemeRegistry
27802         https://bugs.webkit.org/show_bug.cgi?id=52283
27803
27804         As far as I can tell, this optimization isn't necessary.  I'm slightly
27805         unsure which benchmarks to run to demonstrate this numerically, but
27806         none of the benchmarks Chromium tracks were affected by adding a
27807         similar check for "display-isolated" schemes.
27808
27809         * platform/SchemeRegistry.cpp:
27810         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
27811
27812 2011-01-12  Beth Dakin  <bdakin@apple.com>
27813
27814         Reviewed by Anders Carlsson.
27815
27816         Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
27817         Expose fixed layout through WebKit SPI
27818         -and corresponding-
27819         <rdar://problem/8844464>
27820
27821         And now with getters!
27822         * WebCore.exp.in:
27823
27824 2011-01-12  Sam Weinig  <sam@webkit.org>
27825
27826         Reviewed by Anders Carlsson.
27827
27828         https://bugs.webkit.org/show_bug.cgi?id=52337
27829         PlatformWheelEvent should know about the scroll phase on the Mac
27830
27831         Add a phase parameter on Mac PlatformWheelEvents.
27832
27833         * platform/PlatformWheelEvent.h:
27834         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
27835         (WebCore::PlatformWheelEvent::phase):
27836         * platform/mac/WheelEventMac.mm:
27837         (WebCore::phaseForEvent):
27838         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
27839
27840 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27841
27842         Unreviewed.
27843
27844         A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
27845         were omitted. 
27846
27847         * platform/graphics/ca/GraphicsLayerCA.cpp:
27848         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
27849
27850 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27851
27852         Unreviewed.
27853
27854         Getting rid of an assert that was causing build failures that turns out not to be needed.
27855
27856         * rendering/RenderLayer.cpp:
27857         (WebCore::RenderLayer::paintsWithTransform):
27858
27859 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27860
27861         Unreviewed.
27862
27863         Another fix for Gtk
27864
27865         * rendering/RenderLayer.cpp:
27866         (WebCore::RenderLayer::paintsWithTransform):
27867
27868 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27869
27870         Unreviewed.
27871
27872         Fix for Gtk and Windows builds
27873
27874         * page/Frame.cpp:
27875         (WebCore::Frame::scalePage):
27876         * page/Frame.h:
27877         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
27878         (PlatformCALayer::contentsScale):
27879         (PlatformCALayer::setContentsScale):
27880
27881 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27882
27883         UNreviewed.
27884
27885         Fix for the Windows build
27886
27887         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
27888         (contentsScale):
27889         (setContentsScale):
27890
27891 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27892
27893         Unreviewed.
27894
27895         Another build fix
27896
27897         * platform/graphics/ca/GraphicsLayerCA.cpp:
27898         (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
27899         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
27900         (PlatformCALayer::setContentsScale):
27901
27902 2011-01-11  Matthew Delaney  <mdelaney@apple.com>
27903
27904         Reviewed by Simon Fraser.
27905
27906         Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
27907         https://bugs.webkit.org/show_bug.cgi?id=52172
27908
27909         Tests: fast/canvas/canvas-large-dimensions.html
27910
27911         * platform/graphics/cg/ImageBufferCG.cpp:
27912         (WebCore::ImageBuffer::ImageBuffer):
27913
27914 2011-01-12  Daniel Bates  <dbates@rim.com>
27915             And Benjamin C Meyer  <bmeyer@rim.com>
27916
27917         Build fix when building with Inspector disabled
27918         https://bugs.webkit.org/show_bug.cgi?id=52313
27919
27920         After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
27921         possible to build when the Inspector is disabled.
27922
27923         * inspector/InspectorInstrumentation.h:
27924         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building
27925         with Inspector disabled and Offline Web Applications enabled by moving macro guard condition
27926         ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also
27927         consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other
27928         InspectorInstrumentation functions.
27929         * loader/appcache/ApplicationCacheGroup.cpp:
27930         (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector
27931         disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable
27932         ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building
27933         with the Inspector.
27934         (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto.
27935         (WebCore::ApplicationCacheGroup::didFail): Ditto.
27936
27937 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27938
27939         Unreviewed.
27940
27941         Fix a build issue from http://trac.webkit.org/changeset/75639.
27942
27943         * platform/graphics/GraphicsLayer.h:
27944         (WebCore::GraphicsLayer::contentsScale):
27945         (WebCore::GraphicsLayer::setContentsScale):
27946
27947 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27948
27949         Reviewed by Kevin Decker.
27950
27951         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
27952         rdar://problem/8824974
27953
27954         This prevents the rootLayer (with the WebKit rendered content) from going becoming
27955         a tiled layer when zoomed, and when there is other layered content on the page.
27956         This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
27957         number of layers.
27958         
27959         * rendering/RenderLayer.cpp:
27960         (WebCore::RenderLayer::paintsWithTransform):
27961         * rendering/RenderLayer.h:
27962         * rendering/RenderLayerBacking.cpp:
27963         (WebCore::RenderLayerBacking::paintingGoesToWindow):
27964
27965 2011-01-12  Chris Marrin  <cmarrin@apple.com>
27966
27967         Reviewed by Simon Fraser.
27968         
27969         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
27970         rdar://problem/8824974
27971
27972         When scaled, WebKit renders the page content at the scaled up size, so there are no
27973         scaling artifacts. But content drawn into a layer's backing store does not scale up.
27974         This is made worse by the fact that the root page contents become layered when there
27975         are other accelerated compositing layers present (video, plugins, etc.).
27976         
27977         Plumb scaling factor from Frame::scalePage() down into all layers with content. It
27978         eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions
27979         are scaled, causing them to render larger and appear pixel perfect at the scaled
27980         page size.
27981  
27982          * page/Frame.cpp:
27983          (WebCore::Frame::updateContentsScale):
27984          (WebCore::Frame::scalePage):
27985          * page/Frame.h:
27986          * platform/graphics/GraphicsLayer.h:
27987          * platform/graphics/ca/GraphicsLayerCA.cpp:
27988          (WebCore::GraphicsLayerCA::setContentsScale):
27989          (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
27990          * platform/graphics/ca/GraphicsLayerCA.h:
27991          (WebCore::GraphicsLayerCA::contentsScale):
27992          * platform/graphics/ca/PlatformCALayer.h:
27993          * platform/graphics/ca/mac/PlatformCALayerMac.mm:
27994          (PlatformCALayer::contentsScale):
27995          (PlatformCALayer::setContentsScale):
27996          * rendering/RenderLayer.cpp:
27997          (WebCore::RenderLayer::updateContentsScale):
27998          * rendering/RenderLayer.h:
27999          * rendering/RenderLayerBacking.cpp:
28000          (WebCore::RenderLayerBacking::createGraphicsLayer):
28001          (WebCore::RenderLayerBacking::updateForegroundLayer):
28002          (WebCore::RenderLayerBacking::updateMaskLayer):
28003          (WebCore::RenderLayerBacking::updateContentsScale):
28004          * rendering/RenderLayerBacking.h:
28005          * rendering/RenderLayerCompositor.cpp:
28006          (WebCore::RenderLayerCompositor::updateContentsScale):
28007          * rendering/RenderLayerCompositor.h:
28008  
28009 2011-01-12  Stephen White  <senorblanco@chromium.org>
28010
28011         Reviewed by James Robinson.
28012
28013         Fix DrawingBuffer issues for depth/stencil, extensions, etc.
28014         https://bugs.webkit.org/show_bug.cgi?id=52310
28015
28016         1)  GL_TEXTURE is not a valid argument to glFramebufferTexture2D()
28017         (should be GL_TEXTURE_2D).
28018         2)  Support for the multisampling extension was being checked after
28019         the DrawingBuffer constructor was called, which calls multisample()
28020         to check for the extension.
28021         3)  If depth or stencil is set, the corresponding framebuffers must
28022         be created in the DrawingBuffer constructor.
28023         4)  GL_DEPTH_STENCIL is not a valid framebuffer internal type in
28024         GLES2.  Must use GL_OES_DEPTH24_STENCIL8, and check for the
28025         OES_packed_depth_stencil extension.
28026
28027         * platform/graphics/chromium/DrawingBufferChromium.cpp:
28028         (WebCore::DrawingBuffer::DrawingBuffer):
28029         Record the extension support in the constructor.  Create all the
28030         secondary drawing buffers (for multisampling, depth/stencil).
28031         * platform/graphics/gpu/DrawingBuffer.cpp:
28032         (WebCore::DrawingBuffer::create):
28033         Check for the extensions before calling the DrawingBuffer constructor.
28034         (WebCore::DrawingBuffer::createSecondaryBuffers):
28035         Refactor creation of the secondary buffers from DrawingBufferMac.mm to
28036         here.
28037         (WebCore::DrawingBuffer::reset):
28038         Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL.  Use
28039         DEPTH_COMPONENT16, not DEPTH_COMPONENT.
28040         Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D).
28041         * platform/graphics/gpu/DrawingBuffer.h:
28042         Refactor createSecondaryBuffers().  Add extension support arguments to
28043         constructor.  Add support for packed_depth_stencil extension.
28044         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
28045         (WebCore::DrawingBuffer::DrawingBuffer):
28046         Record extension support in constructor.  Refactor out creation of
28047         secondary buffers.
28048
28049 2011-01-12  Beth Dakin  <bdakin@apple.com>
28050
28051         Reviewed by Anders Carlsson.
28052
28053         Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
28054         fixed layout through WebKit SPI
28055         -and corresponding-
28056         <rdar://problem/8844464>
28057
28058         Export symbols for ScrollView::setUseFixedLayout() and 
28059         ScrollView::setFixedLayoutSize()
28060         * WebCore.exp.in:
28061
28062 2011-01-12  Robert Hogan  <robert@webkit.org>
28063
28064         Reviewed by Kenneth Rohde Christiansen.
28065
28066         [Qt] Search input field doesn't have cancel button
28067
28068         Add a cancel button to the search field and make it customizable
28069         by the client. For now, use the close dialog button associated
28070         with the application's style as the default.
28071
28072         Unskip a bunch of search field related tests that pass now:
28073
28074         fast/forms/search-cancel-button-mouseup.html
28075         fast/forms/search-rtl.html
28076         fast/forms/search-abs-pos-cancel-button.html
28077         fast/forms/search-styled.html
28078         fast/forms/search-transformed.html
28079         fast/forms/search-zoomed.html
28080         fast/forms/search-cancel-button-style-sharing.html
28081         fast/forms/search-display-none-cancel-button.html
28082         fast/forms/search-placeholder-value-changed.html
28083         fast/repaint/search-field-cancel.html
28084         fast/forms/search-cancel-button-events.html
28085
28086         https://bugs.webkit.org/show_bug.cgi?id=42887
28087
28088         * platform/graphics/qt/ImageQt.cpp:
28089         (loadResourcePixmap):
28090         * platform/qt/RenderThemeQt.cpp:
28091         (WebCore::RenderThemeQt::isControlStyled):
28092         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
28093         (WebCore::RenderThemeQt::paintSearchField):
28094         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
28095         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
28096         (WebCore::RenderThemeQt::convertToPaintingRect):
28097         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
28098         * platform/qt/RenderThemeQt.h:
28099
28100 2011-01-12  Andrey Kosyakov  <caseq@chromium.org>
28101
28102         Reviewed by Pavel Feldman.
28103
28104         Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view
28105         Only create cookiesTable is it hasn't been done yet.
28106         https://bugs.webkit.org/show_bug.cgi?id=52303
28107
28108         * inspector/front-end/ResourceCookiesView.js:
28109         (WebInspector.ResourceCookiesView.prototype.show):
28110
28111 2011-01-12  Koan-Sin Tan  <koansin.tan@gmail.com>
28112
28113         Reviewed by Martin Robinson.
28114
28115         [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6
28116         https://bugs.webkit.org/show_bug.cgi?id=50867
28117
28118         * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK))
28119         Many GTK+ related files include <libintl.h> or <glib/gi18n-lib.h>.
28120         On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes 
28121         <xlocale/_ctype.h>, which uses isacii().
28122         * platform/UUID.cpp:
28123         (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF)
28124         use the Chromium Linux UUID generation.
28125
28126 2011-01-12  Simon Fraser  <simon.fraser@apple.com>
28127
28128         Reviewed by Eric Seidel.
28129
28130         [CSS Gradients] One color stop should not paint anything for linear-gradient
28131         https://bugs.webkit.org/show_bug.cgi?id=52259
28132         
28133         Share color stop parsing code between linear and radial gradients.
28134         Consider the gradient invalid if it has less than two color stops.
28135
28136         * css/CSSParser.cpp:
28137         (WebCore::CSSParser::parseLinearGradient):
28138         (WebCore::CSSParser::parseRadialGradient):
28139         (WebCore::CSSParser::parseGradientColorStops):
28140         * css/CSSParser.h:
28141
28142 2011-01-12  Mikhail Naganov  <mnaganov@chromium.org>
28143
28144         Reviewed by Pavel Feldman.
28145
28146         Fix inconsistencies in Inspector strings found by the new check-inspector-strings script.
28147
28148         https://bugs.webkit.org/show_bug.cgi?id=52295
28149
28150         * English.lproj/localizedStrings.js:
28151         * inspector/front-end/BreakpointsSidebarPane.js:
28152         (WebInspector.EventListenerBreakpointsSidebarPane):
28153         * inspector/front-end/ProfilesPanel.js:
28154         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
28155         * inspector/front-end/Resource.js:
28156         (WebInspector.Resource.Type.toString):
28157         * inspector/front-end/ResourcesPanel.js:
28158         (WebInspector.ResourceRevisionTreeElement):
28159         * inspector/front-end/utilities.js:
28160         ():
28161
28162 2011-01-12  Yury Semikhatsky  <yurys@chromium.org>
28163
28164         Unreviewed. Fix WML compilation on Mac.
28165
28166         * wml/WMLInputElement.cpp:
28167         (WebCore::WMLInputElement::setValue):
28168         (WebCore::WMLInputElement::setValueForUser):
28169         (WebCore::WMLInputElement::initialize):
28170         (WebCore::WMLInputElement::validateInputMask):
28171         * wml/WMLSelectElement.cpp:
28172         (WebCore::WMLSelectElement::listBoxSelectItem):
28173
28174 2011-01-12  Justin Schuh  <jschuh@chromium.org>
28175
28176         Unreviewed build fix for debug strict compiles.
28177
28178         Use fprintf for debug statements instead of fwrite, which caused compile failures
28179         in debug strict mode because of failure to check the fwrite return value.
28180
28181         No behavior changed.
28182
28183         * rendering/CounterNode.cpp:
28184         (WebCore::showTreeAndMark):
28185
28186 2010-12-29  Yury Semikhatsky  <yurys@chromium.org>
28187
28188         Reviewed by Pavel Feldman.
28189
28190         inspector/timeline-network-resource.html fails when run twice
28191         https://bugs.webkit.org/show_bug.cgi?id=37394
28192
28193         Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier
28194         instead of ResourceLoader::didReceiveResponse to cover the cases when resources
28195         are loaded from memory cache.
28196
28197         Network notifications are now sent to InspectorInstrumentation which dispatches
28198         them to interested agents and InspectorController.
28199
28200         * inspector/Inspector.idl:
28201         * inspector/InspectorApplicationCacheAgent.cpp:
28202         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
28203         * inspector/InspectorController.cpp:
28204         (WebCore::InspectorController::InspectorController):
28205         (WebCore::InspectorController::didCommitLoad):
28206         (WebCore::InspectorController::willSendRequest):
28207         (WebCore::InspectorController::didReceiveResponse):
28208         (WebCore::InspectorController::didFailLoading):
28209         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
28210         * inspector/InspectorController.h:
28211         * inspector/InspectorInstrumentation.cpp:
28212         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
28213         (WebCore::InspectorInstrumentation::willSendRequestImpl):
28214         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
28215         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
28216         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
28217         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
28218         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
28219         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
28220         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
28221         (WebCore::InspectorInstrumentation::scriptImportedImpl):
28222         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
28223         * inspector/InspectorInstrumentation.h:
28224         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
28225         (WebCore::InspectorInstrumentation::willSendRequest):
28226         (WebCore::InspectorInstrumentation::markResourceAsCached):
28227         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
28228         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
28229         (WebCore::InspectorInstrumentation::didReceiveContentLength):
28230         (WebCore::InspectorInstrumentation::didFinishLoading):
28231         (WebCore::InspectorInstrumentation::didFailLoading):
28232         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
28233         (WebCore::InspectorInstrumentation::scriptImported):
28234         * inspector/InspectorResourceAgent.cpp:
28235         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
28236         * inspector/InspectorResourceAgent.h:
28237         * inspector/InspectorTimelineAgent.cpp:
28238         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
28239         * inspector/InspectorTimelineAgent.h:
28240         * inspector/TimelineRecordFactory.cpp:
28241         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
28242         * inspector/TimelineRecordFactory.h:
28243         * inspector/front-end/NetworkManager.js:
28244         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
28245         * inspector/front-end/TimelinePanel.js:
28246         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
28247         * loader/FrameLoader.cpp:
28248         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
28249         * loader/ResourceLoadNotifier.cpp:
28250         (WebCore::ResourceLoadNotifier::didReceiveResponse):
28251         (WebCore::ResourceLoadNotifier::didFailToLoad):
28252         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
28253         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
28254         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
28255         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
28256         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
28257         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
28258         * loader/ResourceLoader.cpp:
28259         (WebCore::ResourceLoader::didReceiveResponse):
28260         * loader/appcache/ApplicationCacheGroup.cpp:
28261         (WebCore::ApplicationCacheGroup::createResourceHandle):
28262         (WebCore::ApplicationCacheGroup::didReceiveResponse):
28263         (WebCore::ApplicationCacheGroup::didReceiveData):
28264         (WebCore::ApplicationCacheGroup::didFinishLoading):
28265         (WebCore::ApplicationCacheGroup::didFail):
28266         * loader/appcache/ApplicationCacheGroup.h:
28267         * workers/DefaultSharedWorkerRepository.cpp:
28268         (WebCore::SharedWorkerScriptLoader::notifyFinished):
28269         * workers/Worker.cpp:
28270         (WebCore::Worker::notifyFinished):
28271         * workers/WorkerContext.cpp:
28272         (WebCore::WorkerContext::importScripts):
28273         * xml/XMLHttpRequest.cpp:
28274         (WebCore::XMLHttpRequest::didFinishLoading):
28275
28276 2011-01-12  Pavel Podivilov  <podivilov@chromium.org>
28277
28278         Reviewed by Pavel Feldman.
28279
28280         Web Inspector: do not replace all tabs with spaces when editing script source
28281         https://bugs.webkit.org/show_bug.cgi?id=52291
28282
28283         * inspector/front-end/SourceFrame.js:
28284         (WebInspector.SourceFrame.prototype.setContent):
28285         (WebInspector.SourceFrame.prototype._editLine):
28286
28287 2011-01-11  Jeremy Orlow  <jorlow@chromium.org>
28288
28289         Reviewed by Nate Chapin.
28290
28291         Enforce READ_ONLY transactions in IndexedDB
28292         https://bugs.webkit.org/show_bug.cgi?id=52229
28293
28294         Add READ_ONLY_ERR and return it whenever delete or put
28295         are called.  Note that IDBCursor's delete and update
28296         are simply aliases for delete/put, which is why no
28297         extra code is required to handle those cases.
28298
28299         Test: storage/indexeddb/transaction-read-only.html
28300
28301         * dom/ExceptionCode.cpp:
28302         * storage/IDBCursorBackendImpl.cpp:
28303         (WebCore::IDBCursorBackendImpl::deleteFunction):
28304         * storage/IDBDatabase.idl:
28305         * storage/IDBDatabaseException.h:
28306         * storage/IDBDatabaseException.idl:
28307         * storage/IDBObjectStoreBackendImpl.cpp:
28308         (WebCore::IDBObjectStoreBackendImpl::put):
28309         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
28310         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
28311
28312 2011-01-11  Philippe Normand  <pnormand@igalia.com>
28313
28314         Reviewed by Eric Seidel.
28315
28316         [GTK] minimal build breaks in RenderThemeGtk3
28317         https://bugs.webkit.org/show_bug.cgi?id=52202
28318
28319         * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around
28320         initMediaColors().
28321
28322 2011-01-11  Philippe Normand  <pnormand@igalia.com>
28323
28324         Reviewed by Eric Carlson.
28325
28326         [GStreamer] PlatformVideoWindowMac implementation
28327         https://bugs.webkit.org/show_bug.cgi?id=50770
28328
28329         This new implementation will be used on Mac OS to display the
28330         fullscreen video window with the GStreamer-based media player.
28331
28332         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
28333         (WebCore::gstGWorldSyncMessageCallback):
28334         * platform/graphics/gstreamer/PlatformVideoWindow.h:
28335         (WebCore::PlatformVideoWindow::window):
28336         * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
28337         (PlatformVideoWindow::PlatformVideoWindow):
28338         (PlatformVideoWindow::~PlatformVideoWindow):
28339         (PlatformVideoWindow::prepareForOverlay):
28340
28341 2011-01-11  Simon Fraser  <simon.fraser@apple.com>
28342
28343         Reviewed by Dan Bernstein.
28344
28345         Webkit crashes when a gradient is applied using the first-line pseudo element
28346         https://bugs.webkit.org/show_bug.cgi?id=52225
28347         
28348         When a pseudostyle references images, we fail to register/unregister
28349         the relevant RenderObjects as clients of the image in the style.
28350         For gradients, this caused a crash.
28351         
28352         This patch fixes the crash by returning a null gradient image in this
28353         situation.
28354
28355         Test: fast/gradients/gradient-on-pseudoelement-crash.html
28356
28357         * css/CSSGradientValue.cpp:
28358         (WebCore::CSSGradientValue::image):
28359
28360 2011-01-11  Andy Estes  <aestes@apple.com>
28361
28362         Reviewed by Darin Adler.
28363
28364         REGRESSION (r71562): servePendingRequests() no longer called when
28365         resources are done loading.
28366         https://bugs.webkit.org/show_bug.cgi?id=52264
28367         <rdar://problem/8767429>
28368         
28369         In r71562, servePendingRequests() is no longer called in Loader's
28370         didFinishLoading(), didFail() and didReceiveResponse() methods. Since
28371         r71562 was intended only as a refactoring, these calls should be
28372         restored. At least one WebKit-based Mac OS X application relies on this
28373         for correct behavior.
28374
28375         * loader/cache/CachedResourceLoader.cpp:
28376         (WebCore::CachedResourceLoader::loadDone): Call
28377         resourceLoadScheduler()->servePendingRequests().
28378
28379 2011-01-11  Patrick Gansterer  <paroga@webkit.org>
28380
28381         Reviewed by Eric Seidel.
28382
28383         Add Document::setContent()
28384         https://bugs.webkit.org/show_bug.cgi?id=52085
28385
28386         Add a method to Document to set the whole content at once.
28387         This removes the hack of the insert method in the xml parser
28388         and is a predecessor to feed the xml parser with raw data.
28389
28390         * dom/Document.cpp:
28391         (WebCore::Document::setContent):
28392         * dom/Document.h:
28393         * dom/XMLDocumentParser.cpp:
28394         (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED().
28395         * loader/cache/CachedFont.cpp:
28396         (WebCore::CachedFont::ensureSVGFontData): Use setContent.
28397         * xml/DOMParser.cpp:
28398         (WebCore::DOMParser::parseFromString): Ditto.
28399         * xml/XMLHttpRequest.cpp:
28400         (WebCore::XMLHttpRequest::responseXML): Ditto.
28401         * xml/XSLTProcessor.cpp:
28402         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
28403
28404 2011-01-11  Brent Fulgham  <bfulgham@webkit.org>
28405
28406         Unreviewed build fix.
28407
28408         * platform/graphics/cairo/PathCairo.cpp:
28409         (WebCore::Path::addArc): Switch to MathExtra's piFloat define,
28410         rather than M_PI which is not always available.
28411
28412 2011-01-11  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
28413
28414         Reviewed by Adam Barth.
28415
28416         Use plug-in DB for extensions to MIME type convertion
28417
28418         Plugins extension to MIME type conversion was not used in the
28419         frameLoader. This was causing some fallback to be use which as the side
28420         effect of loosing all the <OBJECT> parameters or <EMBED> attributes.
28421         This patch ensure that we try to convert the extension to MIME type
28422         using the plugin database beofre using this fallback.
28423
28424         Attribute lost with Flash plugin without mime type set
28425         https://bugs.webkit.org/show_bug.cgi?id=50657
28426
28427         Test: plugins/no-mime-with-valid-extension.html
28428
28429         * loader/FrameLoader.cpp:
28430         (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME
28431
28432 2011-01-11  James Simonsen  <simonjam@chromium.org>
28433
28434         Reviewed by Eric Seidel.
28435
28436         [Web Timing] Rename sslHandshakeStart to secureConnectionStart
28437         https://bugs.webkit.org/show_bug.cgi?id=52239
28438
28439         * page/PerformanceTiming.cpp:
28440         (WebCore::PerformanceTiming::secureConnectionStart):
28441         * page/PerformanceTiming.h:
28442         * page/PerformanceTiming.idl:
28443
28444 2011-01-11  Adam Barth  <abarth@webkit.org>
28445
28446         Reviewed by Eric Seidel.
28447
28448         Introduce the notion of a "display-isolated" URL scheme for use by
28449         Chrome-internal URLs
28450         https://bugs.webkit.org/show_bug.cgi?id=50182
28451
28452         This patch actually makes the display-isolated schemes display
28453         isolated.  The behavior should be the same as the previous iteration of
28454         this patch, but re-organized a bit because reading the access white
28455         list is expensive.
28456
28457         * page/SecurityOrigin.cpp:
28458         (WebCore::SecurityOrigin::isAccessToURLWhiteListed):
28459         (WebCore::SecurityOrigin::canDisplay):
28460         * page/SecurityOrigin.h:
28461         * platform/SchemeRegistry.cpp:
28462         * platform/SchemeRegistry.h:
28463
28464 2011-01-11  Mihai Parparita  <mihaip@chromium.org>
28465
28466         Reviewed by Darin Fisher.
28467
28468         Scroll event should be fired asynchronously
28469         https://bugs.webkit.org/show_bug.cgi?id=45631
28470
28471         Tests: fast/events/fire-scroll-event.html
28472                fast/events/fire-scroll-event-element.html
28473                fast/events/scroll-event-phase.html
28474
28475         Makes scroll events fire asynchronously to be in compliance with the
28476         CSSOM View Module and consistent with Gecko, Opera and (to some degree)
28477         IE.
28478         
28479         Implemented via the EventQueue class added by r74062 (EventQueue now
28480         has a convenience enqueueScrollEvent method).
28481
28482         * dom/EventQueue.cpp:
28483         (WebCore::EventQueue::enqueueScrollEvent):
28484         (WebCore::EventQueue::pendingEventTimerFired):
28485         * dom/EventQueue.h:
28486         * page/EventHandler.cpp:
28487         (WebCore::EventHandler::sendScrollEvent):
28488         * rendering/RenderLayer.cpp:
28489         (WebCore::RenderLayer::scrollToOffset):
28490         * rendering/RenderListBox.cpp:
28491         (WebCore::RenderListBox::valueChanged):
28492
28493 2011-01-11  Patrick Gansterer  <paroga@webkit.org>
28494
28495         Unreviewed WinCE build fix for r75523.
28496
28497         * platform/wince/DragDataWinCE.cpp: Added missing include.
28498
28499 2011-01-11  Abhishek Arya  <inferno@chromium.org>
28500
28501         Reviewed by Dimitri Glazkov.
28502
28503         RefPtr the FrameView to prevent scrollbar from getting deleted inside
28504         its scroll event.
28505         https://bugs.webkit.org/show_bug.cgi?id=52238
28506
28507         Test: scrollbars/scrollable-iframe-remove-crash.html
28508
28509         * page/DOMWindow.cpp:
28510         (WebCore::DOMWindow::scrollTo):
28511
28512 2011-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
28513
28514         Reviewed by David Hyatt.
28515
28516         Make pseudo-style resolution less hard-coded when used to select a shadow node
28517         https://bugs.webkit.org/show_bug.cgi?id=46595
28518
28519         Essentially implements the plumbing for the XBL2 pseudo attribute:
28520         http://dev.w3.org/2006/xbl2/#the-pseudo-attribute
28521
28522         Test: fast/css/unknown-pseudo-element-matching.html
28523
28524         * css/CSSGrammar.y: Changed to handle specifier_list structure with the
28525             CSSParser::updateSpecifierWithElementName helper, added logic to
28526             keep unknown pseudo-element selectors at the top of the selector chain,
28527             so that we can easily check for them and grab them, and also because
28528             they would either not match anything or act as a descendant selector
28529             (descendant into a shadow DOM subtree that is), not a specifier.
28530         * css/CSSParser.cpp:
28531         (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined
28532             the logic adding element name to selectors and added the special case
28533             to handle unknown pseudo-element selectors.
28534         * css/CSSParser.h: Added def.
28535         * css/CSSSelector.cpp:
28536         (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB.
28537         (WebCore::nameToPseudoTypeMap): Ditto.
28538         (WebCore::CSSSelector::extractPseudoType): Ditto.
28539         * css/CSSSelector.h: Added a new ShadowDescendant relation type,
28540             removed PseudoSliderThumb def.
28541         (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method.
28542         * css/CSSSelectorList.cpp:
28543         (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor
28544             to check for an unknown pseudo-element in the list.
28545         (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added.
28546         * css/CSSSelectorList.h: Added a def.
28547         * css/CSSStyleSelector.cpp:
28548         (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash.
28549         (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements.
28550         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling
28551             of ShadowDescendant relation.
28552         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling
28553             of unknown pseudo-element selectors.
28554         (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash.
28555         * css/html.css:
28556         (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded
28557             display:block.
28558         * dom/Element.h:
28559         (WebCore::Element::shadowPseudoId): Added new virtual method to allow
28560             elements to provide the value of pseudo-element selector they would match.
28561         * dom/Node.cpp:
28562         (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors,
28563             so that we can throw a SYNTAX_ERR if found.
28564         (WebCore::Node::querySelectorAll): Ditto.
28565         * html/shadow/SliderThumbElement.h:
28566         (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb";
28567         * rendering/RenderSlider.cpp:
28568         (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic.
28569         * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB.
28570
28571 2011-01-11  Dean Jackson  <dino@apple.com>
28572
28573         Reviewed by Simon Fraser.
28574
28575         https://bugs.webkit.org/show_bug.cgi?id=52233
28576
28577         WebKitCSSMatrix constructor should accept 'none'
28578         as a valid string parameter.
28579
28580         * css/WebKitCSSMatrix.cpp:
28581         (WebCore::WebKitCSSMatrix::setMatrixValue):
28582
28583 2011-01-11  James Robinson  <jamesr@chromium.org>
28584
28585         Reviewed by Dimitri Glazkov.
28586
28587         Set all RenderBlocks as replaced when an inline display type is specified
28588         https://bugs.webkit.org/show_bug.cgi?id=50858
28589
28590         When a RenderBlock is created for an element with a specified display:inline style,
28591         it should always be treated as inline-block.  This situations often comes up for form
28592         controls.  Previously, RenderBlock::styleWillChange set the replaced flag for display
28593         values of inline-block, inline-table, and inline-table and a number of subclasses of
28594         RenderBlock set the replaced flag in styleDidChange for a display:inline.  However
28595         sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
28596         This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.
28597
28598         Code cleanup only, no change in behavior so no new tests.
28599
28600         * rendering/RenderBlock.cpp:
28601         (WebCore::RenderBlock::styleWillChange):
28602         * rendering/RenderButton.cpp:
28603         (WebCore::RenderButton::styleDidChange):
28604         * rendering/RenderFieldset.cpp:
28605         * rendering/RenderFieldset.h:
28606         * rendering/RenderFileUploadControl.cpp:
28607         (WebCore::RenderFileUploadControl::styleDidChange):
28608         * rendering/RenderListBox.cpp:
28609         * rendering/RenderListBox.h:
28610         * rendering/RenderMenuList.cpp:
28611         (WebCore::RenderMenuList::styleDidChange):
28612         * rendering/RenderSlider.cpp:
28613         (WebCore::RenderSlider::styleDidChange):
28614         * rendering/RenderTextControl.cpp:
28615         (WebCore::RenderTextControl::styleDidChange):
28616
28617 2011-01-11  Dimitri Glazkov  <dglazkov@chromium.org>
28618
28619         Reviewed by Eric Seidel.
28620
28621         REGRESSION(r71934) Can't type in search edit field on skin-one.com
28622         https://bugs.webkit.org/show_bug.cgi?id=52195
28623
28624         Restored the original behavior, where the selectstart event is not
28625         dispatched when selection changes inside of the shadow DOM.
28626
28627         * dom/Node.cpp:
28628         (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining
28629             logic into a helper function, also added a check to keep selectstart
28630                 events inside of the shadow DOM.
28631         (WebCore::Node::dispatchGenericEvent): Changed to use the helper function.
28632
28633 2011-01-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
28634
28635         Reviewed by Eric Seidel.
28636
28637         [Qt] Provide plugin coordinates to windowless plugins on Symbian.
28638         https://bugs.webkit.org/show_bug.cgi?id=52213
28639
28640         * plugins/symbian/PluginViewSymbian.cpp:
28641         (WebCore::PluginView::setNPWindowIfNeeded):
28642
28643 2011-01-10  Zhenyao Mo  <zmo@google.com>
28644
28645         Reviewed by Kenneth Russell.
28646
28647         Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
28648         https://bugs.webkit.org/show_bug.cgi?id=52068
28649
28650         * html/canvas/WebGLRenderingContext.cpp:
28651         (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes.
28652         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
28653         (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error.
28654         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
28655         (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes.
28656         * platform/graphics/GraphicsContext3D.cpp:
28657         (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment.
28658         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type.
28659         (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added.
28660         * platform/graphics/GraphicsContext3D.h:
28661
28662 2011-01-10  Enrica Casucci  <enrica@apple.com>
28663
28664         Reviewed by Alexey Proskuryakov.
28665
28666         Paste and drag and drop use different code paths to interact with the pasteboard.
28667         https://bugs.webkit.org/show_bug.cgi?id=52093
28668         The change consists in a refactoring of the code to have only one class that
28669         deals with the pasteboard on Mac.
28670
28671         No new tests. A test is already available for this
28672         (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results.
28673
28674         * WebCore.exp.in:
28675         * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality
28676         that is in NSURLExtras.
28677         (WebCore::EmptyEditorClient::canonicalizeURL):
28678         (WebCore::EmptyEditorClient::canonicalizeURLString):
28679         * page/DragController.cpp:
28680         The following methods have been changed to pass a pointer to the Frame object
28681         to the DragData class.
28682         (WebCore::documentFragmentFromDragData):
28683         (WebCore::DragController::performDrag):
28684         (WebCore::DragController::dispatchTextInputEventFor):
28685         (WebCore::DragController::concludeEditDrag):
28686         * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality
28687         that is in NSURLExtras.
28688         The following files have been modified to pass the Frame object to the DragData method calls.
28689         * page/chromium/DragControllerChromium.cpp:
28690         (WebCore::DragController::dragOperation):
28691         * page/gtk/DragControllerGtk.cpp:
28692         (WebCore::DragController::dragOperation):
28693         * page/mac/DragControllerMac.mm:
28694         (WebCore::DragController::dragOperation):
28695         * page/qt/DragControllerQt.cpp:
28696         (WebCore::DragController::dragOperation):
28697         * page/win/DragControllerWin.cpp:
28698         (WebCore::DragController::dragOperation):
28699         * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class.
28700         * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard.
28701         The following files were all modified to match the new parameters of the methods listed.
28702         * platform/android/DragDataAndroid.cpp:
28703         (WebCore::DragData::asPlainText):
28704         (WebCore::DragData::containsURL):
28705         (WebCore::DragData::asURL):
28706         (WebCore::DragData::asFragment):
28707         * platform/chromium/DragDataChromium.cpp:
28708         (WebCore::DragData::containsURL):
28709         (WebCore::DragData::asURL):
28710         (WebCore::DragData::asPlainText):
28711         (WebCore::DragData::containsCompatibleContent):
28712         (WebCore::DragData::asFragment):
28713         * platform/gtk/DragDataGtk.cpp:
28714         (WebCore::DragData::asPlainText):
28715         (WebCore::DragData::containsCompatibleContent):
28716         (WebCore::DragData::containsURL):
28717         (WebCore::DragData::asURL):
28718         (WebCore::DragData::asFragment):
28719         * platform/haiku/DragDataHaiku.cpp:
28720         (WebCore::DragData::asPlainText):
28721         (WebCore::DragData::containsURL):
28722         (WebCore::DragData::asURL):
28723         (WebCore::DragData::asFragment):
28724         * platform/mac/DragDataMac.mm:
28725         (WebCore::DragData::DragData):
28726         (WebCore::DragData::asPlainText):
28727         (WebCore::insertablePasteboardTypes):
28728         (WebCore::DragData::containsCompatibleContent):
28729         (WebCore::DragData::containsURL):
28730         (WebCore::DragData::asURL):
28731         (WebCore::DragData::asFragment):
28732         * platform/mac/PasteboardMac.mm:
28733         (WebCore::Pasteboard::getBestURL):
28734         (WebCore::Pasteboard::asURL):
28735         * platform/qt/DragDataQt.cpp:
28736         (WebCore::DragData::asPlainText):
28737         (WebCore::DragData::containsCompatibleContent):
28738         (WebCore::DragData::containsURL):
28739         (WebCore::DragData::asURL):
28740         (WebCore::DragData::asFragment):
28741         * platform/win/DragDataWin.cpp:
28742         (WebCore::DragData::containsURL):
28743         (WebCore::DragData::asURL):
28744         (WebCore::DragData::asPlainText):
28745         (WebCore::DragData::containsCompatibleContent):
28746         (WebCore::DragData::asFragment):
28747         * platform/wince/DragDataWinCE.cpp:
28748         (WebCore::DragData::containsURL):
28749         (WebCore::DragData::asURL):
28750         (WebCore::DragData::asPlainText):
28751         (WebCore::DragData::asFragment):
28752         * platform/wx/DragDataWx.cpp:
28753         (WebCore::DragData::asPlainText):
28754         (WebCore::DragData::containsURL):
28755         (WebCore::DragData::asURL):
28756         (WebCore::DragData::asFragment):
28757
28758 2011-01-11  Abhishek Arya  <inferno@chromium.org>
28759
28760         Reviewed by Dimitri Glazkov.
28761
28762         RefPtr text node in setOuterText since calling appendData
28763         on a text node can fire away dom event listener which might
28764         remove the text node from underneath.
28765         https://bugs.webkit.org/show_bug.cgi?id=52163
28766
28767         Test: fast/dom/text-node-append-data-remove-crash.html
28768
28769         * html/HTMLElement.cpp:
28770         (WebCore::HTMLElement::setOuterText):
28771
28772 2011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
28773
28774         Reviewed by Martin Robinson.
28775
28776         [GTK] Add support for <meter> element
28777         https://bugs.webkit.org/show_bug.cgi?id=48713
28778
28779         * GNUmakefile.am: Enable meter element.
28780
28781 2011-01-11  Csaba Osztrogonác  <ossy@webkit.org>
28782
28783         Unreviewed buildfix.
28784
28785         [Qt][V8] Add missing include for debug build.
28786
28787         * loader/cache/CachedResourceLoader.cpp:
28788
28789 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28790
28791         Reviewed by Yury Semikhatsky.
28792
28793         Web Inspector: redirects are lost from the network panel upon navigation.
28794         https://bugs.webkit.org/show_bug.cgi?id=52210
28795
28796         * inspector/front-end/NetworkManager.js:
28797         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
28798
28799 2011-01-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
28800
28801         Reviewed by Kenneth Rohde Christiansen.
28802
28803         [Qt] Remove uses of QFuture since it isn't supported on all platforms.
28804         https://bugs.webkit.org/show_bug.cgi?id=51204
28805
28806         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
28807         (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
28808         (WebCore::QtNAMThreadSafeProxy::localCookiesForUrl):
28809         (WebCore::QtNAMThreadSafeProxy::localWillLoadFromCache):
28810         * platform/network/qt/QtNAMThreadSafeProxy.h:
28811         (WebCore::QtNAMThreadSafeProxy::cookiesForUrl):
28812         (WebCore::QtNAMThreadSafeProxy::willLoadFromCache):
28813
28814 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
28815
28816         Reviewed by Pavel Feldman.
28817
28818         Web Inspector: recreate script view after live edit.
28819         https://bugs.webkit.org/show_bug.cgi?id=51751
28820
28821         * inspector/front-end/Script.js:
28822         (WebInspector.Script.prototype.set source):
28823         * inspector/front-end/ScriptView.js:
28824         (WebInspector.ScriptView):
28825         * inspector/front-end/ScriptsPanel.js:
28826         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
28827         (WebInspector.ScriptsPanel.prototype.editScriptSource):
28828         (WebInspector.ScriptsPanel.prototype.viewRecreated):
28829         * inspector/front-end/SourceFrame.js:
28830         (WebInspector.SourceFrame.prototype._doEditLine):
28831
28832 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
28833
28834         Reviewed by Pavel Feldman.
28835
28836         Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager.
28837         https://bugs.webkit.org/show_bug.cgi?id=52205
28838
28839         * inspector/front-end/NetworkManager.js:
28840         (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
28841
28842 2011-01-11  Alexander Pavlov  <apavlov@chromium.org>
28843
28844         Reviewed by Pavel Feldman.
28845
28846         Web Inspector: "Audit present state" always disabled
28847         https://bugs.webkit.org/show_bug.cgi?id=52199
28848
28849         Removed all traces of resource tracking checks, as we have it no more.
28850
28851         * English.lproj/localizedStrings.js:
28852         * inspector/front-end/AuditLauncherView.js:
28853         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
28854         * inspector/front-end/AuditsPanel.js:
28855
28856 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
28857
28858         Reviewed by Pavel Feldman.
28859
28860         Web Inspector: move delayed search implementation to SourceFrame.
28861         https://bugs.webkit.org/show_bug.cgi?id=51753
28862
28863         * inspector/front-end/SourceFrame.js:
28864         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
28865         (WebInspector.SourceFrame.prototype.findSearchMatches):
28866         (WebInspector.SourceFrame.prototype.cancelFindSearchMatches):
28867         * inspector/front-end/SourceView.js:
28868         (WebInspector.SourceView.prototype.hide):
28869         (WebInspector.SourceView.prototype.searchCanceled):
28870         (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
28871         (WebInspector.SourceView.prototype.performSearch):
28872
28873 2011-01-11  Ilya Tikhonovsky  <loislo@chromium.org>
28874
28875         Reviewed by Pavel Feldman.
28876
28877         Web Inspector: innerFirstChild has a side effect which should be called explicitly.
28878
28879         If a node is a frame's owner then innerFirstChild method
28880         subscribes DOMAgent instance to the frame's doc's events.
28881         I think this should be done explicitly when we meet with
28882         the node for the first time. As I understand it happens
28883         in buildArrayForContainerChildren method.
28884
28885         https://bugs.webkit.org/show_bug.cgi?id=52204
28886
28887         * inspector/InspectorDOMAgent.cpp:
28888         (WebCore::InspectorDOMAgent::startListeningFrameDoc):
28889         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
28890         (WebCore::InspectorDOMAgent::innerFirstChild):
28891         * inspector/InspectorDOMAgent.h:
28892
28893 2011-01-11  Adam Roben  <aroben@apple.com>
28894
28895         Delete WKCACFLayer.{cpp,h}
28896
28897         These have been unused since r75262
28898
28899         * platform/graphics/win/WKCACFLayer.cpp: Removed.
28900         * platform/graphics/win/WKCACFLayer.h: Removed.
28901
28902 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28903
28904         Reviewed by Yury Semikhatsky.
28905
28906         Web Inspector: [regression] Cookies view does not allow columns resize.
28907         https://bugs.webkit.org/show_bug.cgi?id=51877
28908
28909         * inspector/front-end/CookieItemsView.js:
28910         (WebInspector.CookieItemsView.prototype._updateWithCookies):
28911
28912 2011-01-11  Noel Gordon  <noel.gordon@gmail.com>
28913
28914          Reviewed by James Robinson.
28915
28916          [chromium] canvas.toDataURL("image/jpeg") should composite onto black.
28917          https://bugs.webkit.org/show_bug.cgi?id=51237
28918
28919          The Canvas specification requires that the canvas image is composited using
28920          the Porter-Duff operator source-over onto a black background; the resultant
28921          image should be JPEG encoded and returned as a dataURL.  To composite image
28922          A and background B, for any Porter-Duff operator, produce pixels I with
28923
28924             I = c(A)F(A) + c(B)F(B)
28925
28926          where, F(X) is the fraction [0.0-1.0] contributed to the composite by image
28927          X, and c(X) are the premultiplied RGB color components of image X.  Note by
28928          definition, c(B) = 0 since the background is black, so I = c(A)F(A).  Since
28929          F(A) = 1 in Porter-Duff operator source-over, the composited pixels satisfy
28930          I = c(A).  Hence, to conform to the Canvas spec, pass the premultiplied RGB
28931          color components of the canvas image to the JPEG encoder.
28932
28933          Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html
28934
28935          * platform/image-encoders/skia/JPEGImageEncoder.cpp:
28936          (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black.
28937
28938 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28939
28940         Reviewed by Yury Semikhatsky.
28941
28942         Chromium DevTools: get rid of APU-related code in WebKit/chromium.
28943         https://bugs.webkit.org/show_bug.cgi?id=52152
28944
28945         * inspector/InspectorController.cpp:
28946         (WebCore::InspectorController::restoreInspectorStateFromCookie):
28947         (WebCore::InspectorController::setInjectedScriptSource):
28948         * inspector/InspectorState.cpp:
28949         (WebCore::InspectorState::InspectorState):
28950         * inspector/InspectorState.h:
28951         * inspector/front-end/inspector.js:
28952
28953 2011-01-11  Pavel Feldman  <pfeldman@chromium.org>
28954
28955         Reviewed by Yury Semikhatsky.
28956
28957         Web Inspector: [REGRESSION] Load timing is requested
28958         for all resources (not only for the main one).
28959         https://bugs.webkit.org/show_bug.cgi?id=51749
28960
28961         * inspector/InspectorController.cpp:
28962         (WebCore::InspectorController::willSendRequest):
28963         * loader/ResourceLoadNotifier.cpp:
28964         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
28965
28966 2011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
28967
28968         Reviewed by Martin Robinson.
28969
28970         [GTK] GRefPtr should not be used with Gtk widgets
28971         https://bugs.webkit.org/show_bug.cgi?id=51241
28972
28973         GRefPtr breaks the widget life-cycle, the main problem is
28974         that GRefPtr calls g_object_unref() when it's destroyed,
28975         which is undesirable for widgets. In gtk+ widgets are created with
28976         a floating reference and when added to a container, the container
28977         takes the ownership of the widget consuming the floating
28978         reference. So you don't usually need to call g_object_ref/unref on
28979         widgets (only for some operations like reparent a widget) and
28980         toplevel widgets are destroyed with gtk_widget_destroy().
28981
28982         * platform/ContextMenuItem.h:
28983         * platform/gtk/ContextMenuGtk.cpp:
28984         (WebCore::ContextMenu::ContextMenu):
28985         (WebCore::ContextMenu::~ContextMenu):
28986         (WebCore::ContextMenu::setPlatformDescription):
28987         * platform/gtk/ContextMenuItemGtk.cpp:
28988         (WebCore::ContextMenuItem::ContextMenuItem):
28989         (WebCore::ContextMenuItem::releasePlatformDescription):
28990         (WebCore::ContextMenuItem::type):
28991         (WebCore::ContextMenuItem::action):
28992         (WebCore::ContextMenuItem::setAction):
28993         (WebCore::ContextMenuItem::title):
28994         (WebCore::ContextMenuItem::setTitle):
28995         (WebCore::ContextMenuItem::platformSubMenu):
28996         (WebCore::ContextMenuItem::setSubMenu):
28997         (WebCore::ContextMenuItem::setChecked):
28998         (WebCore::ContextMenuItem::setEnabled):
28999
29000 2010-10-10  David Hyatt  <hyatt@apple.com>
29001
29002         Reviewed by Simon Fraser.
29003
29004         https://bugs.webkit.org/show_bug.cgi?id=51119, transformed 
29005         elements not responding properly to :hover after r73385.  
29006         Just use the entire document area as the hit test area, 
29007         since there appears to be a rounding bug/issues with relying 
29008         on float math when mapping the hit test area into
29009         transformed coordinates.
29010
29011         * rendering/RenderLayer.cpp:
29012         (WebCore::RenderLayer::hitTest):
29013
29014 2011-01-10  Stephen White  <senorblanco@chromium.org>
29015
29016         Reviewed by James Robinson.
29017
29018         Fix canvas->canvas draws on the GPU path.
29019         https://bugs.webkit.org/show_bug.cgi?id=52141
29020         
29021         Two problems:  according to the canvas spec, both source and
29022         destination rects can have negative width or height, but this shouldn't
29023         cause the image to be flipped.  So we need to normalize the rects (in
29024         the software path, this is done by BitmapImage*::draw).  Secondly, in
29025         the FBO->FBO path, the image needs to be flipped vertically, since it
29026         is drawn upside down.  We were doing this by flipping the destination
29027         rect, but this doesn't work if the source rect is not the entire image,
29028         since we extract the wrong part of the image.  Fixed by flipping the
29029         source rect instead (and flipping it within the image buffer's height,
29030         not the source rect's height).
29031
29032         Covered by fast/canvas/drawImage-with-negative-source-destination.html.
29033
29034
29035         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
29036         Put normalizeRect() in global scope.
29037         * platform/graphics/skia/ImageBufferSkia.cpp:
29038         (WebCore::ImageBuffer::draw):
29039         Fix as above:  normalize both source and dest rects, and flip the
29040         source rect instead of the dest rect.
29041         * platform/graphics/skia/ImageSkia.cpp:
29042         (WebCore::normalizeRect):
29043         Put normalizeRect() in global scope.
29044
29045 2011-01-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
29046
29047         Reviewed by Csaba Osztrogonác.
29048
29049         [Qt] Baseline qt_minimal configuration
29050         https://bugs.webkit.org/show_bug.cgi?id=51313
29051
29052         No new tests as there is no new functionality.
29053
29054         * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the
29055         QT_NO_ANIMATION guard.
29056
29057         * platform/qt/WheelEventQt.cpp:
29058         (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the
29059         QT_NO_WHEELEVENT guard.
29060
29061 2011-01-10  Joe Mason  <jmason@rim.com>
29062
29063         Reviewed by Alexey Proskuryakov.
29064
29065         WebSockets: unbounded buffer growth when server sends bad data
29066         https://bugs.webkit.org/show_bug.cgi?id=51253
29067
29068         Fail a websocket handshake after 1024 bytes without a newline, or if it
29069         contains a null byte before the first newline.
29070
29071         Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html
29072                http/tests/websocket/tests/handshake-fail-by-prepended-null.html
29073
29074         * websockets/WebSocketHandshake.cpp:
29075         (WebCore::WebSocketHandshake::readStatusLine):
29076
29077 2011-01-10  Adam Barth  <abarth@webkit.org>
29078
29079         Reviewed by Darin Adler.
29080
29081         Introduce the notion of a "display-isolated" URL scheme for use by
29082         Chrome-internal URLs
29083         https://bugs.webkit.org/show_bug.cgi?id=50182
29084
29085         This patch adds the basic plumbing for display-isolated URL schemes.
29086         Originally, this patch also had the functional change, but I've split
29087         that off into a separate patch because the original patch caused a
29088         performance regression.
29089
29090         * page/SecurityOrigin.cpp:
29091         (WebCore::SecurityOrigin::canDisplay):
29092         * platform/SchemeRegistry.cpp:
29093         (WebCore::displayIsolatedURLSchemes):
29094         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
29095         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
29096         (WebCore::SchemeRegistry::localSchemes):
29097         (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
29098         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
29099         (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
29100         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
29101         * platform/SchemeRegistry.h:
29102
29103 2011-01-10  Jer Noble  <jer.noble@apple.com>
29104
29105         Reviewed by Simon Fraser.
29106
29107         https://bugs.webkit.org/show_bug.cgi?id=52095
29108         REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
29109         
29110         Fixes tests:
29111             fullscreen/full-screen-remove-ancestor.html
29112             fullscreen/full-screen-remove.html
29113             
29114         Previously, the above tests were failing because DRT dumped the contents of their
29115         <script> tags, though all the explicit tests were passing.  This was caused by
29116         the document's render tree being left in an inconsistent state when a full screen
29117         element's ancestor was removed from the DOM.
29118         
29119         In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen().
29120         Don't detach the documentElement, but rather simply call recalcStyle(Force).
29121
29122         * dom/Document.cpp:
29123         (WebCore::Document::nodeWillBeRemoved):
29124         * rendering/RenderFullScreen.cpp:
29125         (RenderFullScreen::setAnimating): #if ENABLED -> # if USE
29126         * rendering/RenderFullScreen.h:
29127         (WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer.
29128
29129 2011-01-10  Martin Robinson  <mrobinson@igalia.com>
29130
29131         Reviewed by Xan Lopez.
29132
29133         [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release
29134         https://bugs.webkit.org/show_bug.cgi?id=52173
29135
29136         No new tests. This is only a build fix.
29137
29138         * platform/gtk/GRefPtrGtk.cpp: Guard the GdkCursor specialization against GTK+ 3.x.
29139         In GTK+ 3.x, GdkCursor is just a GObject.
29140         * platform/gtk/GRefPtrGtk.h: Ditto.
29141
29142 2011-01-10  Geoffrey Garen  <ggaren@apple.com>
29143
29144         Reviewed by Oliver Hunt.
29145
29146         Moved Collector.* => Heap.*, since the file contains a class named "Heap".
29147
29148         * ForwardingHeaders/runtime/Collector.h: Removed.
29149         * ForwardingHeaders/runtime/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Collector.h.
29150         * WebCore.vcproj/WebCore.vcproj:
29151         * bindings/js/GCController.cpp:
29152         * bindings/js/ScriptGCEvent.cpp:
29153
29154 2011-01-10  Leonid Ebril  <leonid.ebril@nokia.com>
29155
29156         Reviewed by Kenneth Rohde Christiansen.
29157
29158         https://bugs.webkit.org/show_bug.cgi?id=51879
29159
29160         Set the PluginQuirkDontSetNullWindowHandleOnDestroy for Adobe Lite  
29161         plugin if Flash 10 or newer (for Symbian platform), setting a nulled 
29162         window handler on destroy crashes WebKit.
29163
29164         * plugins/symbian/PluginPackageSymbian.cpp:
29165         (WebCore::PluginPackage::fetchInfo):
29166         (WebCore::PluginPackage::determineQuirks):
29167
29168 2011-01-10  Martin Robinson  <mrobinson@igalia.com>
29169
29170         Reviewed by Xan Lopez.
29171
29172         [GTK] Remove unecessary RenderThemeGtk and WidgetRenderingContext code
29173         https://bugs.webkit.org/show_bug.cgi?id=52170
29174
29175         Remove unnecessary code from RenderThemeGtk3 and RenderThemeGtk now that the
29176         GtkStyleContext port is complete. Also remove WidgetRenderingContextGtk3 and
29177         move WidgetRenderingRenderingContextGtk2 to WidgetRenderingContext and make it
29178         GTK+ 2.x only. Some methods have been moved to RenderThemeGtk2 since they are
29179         GTK+ 2.x only now.
29180
29181         No new tests. This should not change functionality.
29182
29183         * GNUmakefile.am: Remove WidgetRenderingContextGtk3 and gtk3drawing.c
29184         * platform/gtk/RenderThemeGtk.cpp:
29185         (WebCore::RenderThemeGtk::RenderThemeGtk):
29186         (WebCore::gtkIconState): Made this method static. It isn't used outside RenderThemeGtk.
29187         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Updated to refelct gtkIconState change.
29188         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
29189         (WebCore::RenderThemeGtk::paintMediaButton): Ditto
29190         * platform/gtk/RenderThemeGtk.h: Move a few methods which are now GTK+ 2.x only.
29191         * platform/gtk/RenderThemeGtk2.cpp:
29192         (WebCore::RenderThemeGtk::platformInit): Added this platform initialization method
29193         that is only used for GTK+ 2.x at the moment.
29194         (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
29195         (WebCore::getGtkStateType): Made this method static.
29196         (WebCore::RenderThemeGtk::getIndicatorMetrics): Moved this here from RenderThemeGtk.
29197         (WebCore::setToggleSize): Updated to reflect changes to getGtkStateType.
29198         (WebCore::RenderThemeGtk::paintButton): Ditto.
29199         (WebCore::RenderThemeGtk::paintSliderTrack): Ditto.
29200         (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
29201         * platform/gtk/RenderThemeGtk3.cpp:
29202         (WebCore::RenderThemeGtk::gtkScrollbarStyle): Moved to the top of the file.
29203         (WebCore::RenderThemeGtk::platformInit): Added.
29204         (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
29205         (WebCore::RenderThemeGtk::initMediaColors): Changed to use the GtkStyleContext API to
29206         fetch these colors. This was the last dependency on the old API.
29207         * platform/gtk/WidgetRenderingContext.cpp: Renamed from Source/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp.
29208         * platform/gtk/WidgetRenderingContext.h: Made GTK+ 2.x only.
29209         * platform/gtk/WidgetRenderingContextGtk3.cpp: Removed.
29210         * platform/gtk/gtk3drawing.c: Removed.
29211         * platform/gtk/gtkdrawing.h: Made GTK+ 2.x only.
29212
29213 2011-01-10  Benjamin Poulain  <benjamin.poulain@nokia.com>
29214
29215         Reviewed by Kenneth Rohde Christiansen.
29216
29217         [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
29218         https://bugs.webkit.org/show_bug.cgi?id=52081
29219
29220         Test for the availability of cookie jar to return if cookies are enabled or not.
29221
29222         * platform/qt/CookieJarQt.cpp:
29223         (WebCore::cookiesEnabled):
29224
29225 2011-01-10  W. James MacLean  <wjmaclean@chromium.org>
29226
29227         Reviewed by Kenneth Russell.
29228
29229         [chromium] Enable reuse of RenderSurface for drawing.
29230         https://bugs.webkit.org/show_bug.cgi?id=51928
29231
29232         Modifies RenderSurfaceChromium::prepareContentsTexture to avoid trying to 'reserve' a texture
29233         that is already reserved, should an attempt be made to re-select a previously drawn render surface
29234         in order to continue drawing to it. This use case appears when compositing into an offscreen texture.
29235
29236         Covered by existing test (compositing/geometry/fixed-position.html) when offscreen compositing enabled.
29237
29238         * platform/graphics/chromium/LayerTexture.h:
29239         (WebCore::LayerTexture::isReserved):
29240         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
29241         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
29242         * platform/graphics/chromium/TextureManager.cpp:
29243         (WebCore::TextureManager::isProtected):
29244         * platform/graphics/chromium/TextureManager.h:
29245
29246 2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29247
29248         Reviewed by Xan Lopez.
29249
29250         [GTK] Port combo box painting to GtkStyleContext
29251         https://bugs.webkit.org/show_bug.cgi?id=51828
29252
29253         Use GtkStyleContext API to paint combo boxes when building with
29254         GTK+ 3.x. Method paintButton() has been factored out and the new
29255         static method renderButton() is used by both paintButton() and
29256         paintMenuList().
29257
29258         No new tests. This should not change functionality.
29259
29260         * platform/gtk/RenderThemeGtk3.cpp:
29261         (WebCore::RenderThemeGtk::adjustRepaintRect):
29262         (WebCore::renderButton):
29263         (WebCore::RenderThemeGtk::paintButton):
29264         (WebCore::getComboBoxMetrics):
29265         (WebCore::RenderThemeGtk::popupInternalPaddingLeft):
29266         (WebCore::RenderThemeGtk::popupInternalPaddingRight):
29267         (WebCore::RenderThemeGtk::popupInternalPaddingTop):
29268         (WebCore::RenderThemeGtk::popupInternalPaddingBottom):
29269         (WebCore::RenderThemeGtk::paintMenuList):
29270
29271 2011-01-10  Evan Martin  <evan@chromium.org>
29272
29273         Reviewed by Tony Chang.
29274
29275         [chromium] simplify complex glyph positioning code
29276         https://bugs.webkit.org/show_bug.cgi?id=52159
29277
29278         Before, we had roughly same code duplicated for RTL and LTR.
29279         Now, use the same code for both directions by being careful about
29280         flipping signs where appropriate.
29281
29282         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
29283         (WebCore::ComplexTextController::shapeGlyphs):
29284         (WebCore::ComplexTextController::setGlyphXPositions):
29285
29286 2011-01-10  Alejandro G. Castro  <alex@igalia.com>
29287
29288         Reviewed by Xan Lopez.
29289
29290         [GTK] Fix gtk2 compilation for master
29291         https://bugs.webkit.org/show_bug.cgi?id=51885
29292
29293         * platform/gtk/GtkVersioning.h: Replaced the 2.24.0 check with
29294         2.23.0 to avoid using the old symbols in the 2.23 releases. Added
29295         support for gdk_pixmap_get_size before the 2.23.4.
29296         * platform/gtk/WidgetRenderingContextGtk2.cpp:
29297         (WebCore::WidgetRenderingContext::WidgetRenderingContext):
29298         Replaced the old gdk_drawable_get_size with gdk_pixmap_get_size.
29299
29300 2011-01-10  Ryosuke Niwa  <rniwa@webkit.org>
29301
29302         Unreviewed; build fix for r75385.
29303
29304         * rendering/mathml/RenderMathMLFraction.cpp:
29305         (WebCore::RenderMathMLFraction::paint):
29306
29307 2011-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
29308
29309         Unreviewed, rolling out r75341.
29310         http://trac.webkit.org/changeset/75341
29311         https://bugs.webkit.org/show_bug.cgi?id=52157
29312
29313         Regressions on several pixel tests (Requested by jorlow on
29314         #webkit).
29315
29316         * platform/graphics/cg/GraphicsContextCG.cpp:
29317         (WebCore::GraphicsContext::fillPath):
29318
29319 2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29320
29321         Reviewed by Martin Robinson.
29322
29323         [GTK] Port check and radio button painting to GtkStyleContext
29324         https://bugs.webkit.org/show_bug.cgi?id=51815
29325
29326         Use GtkStyleContext API to paint check and radio buttons when
29327         building with GTK+ 3.x.
29328
29329         No new tests. This should not change functionality.
29330
29331         * platform/gtk/RenderThemeGtk3.cpp:
29332         (WebCore::RenderThemeGtk::adjustRepaintRect):
29333         (WebCore::setToggleSize):
29334         (WebCore::paintToggle):
29335         (WebCore::RenderThemeGtk::setCheckboxSize):
29336         (WebCore::RenderThemeGtk::paintCheckbox):
29337         (WebCore::RenderThemeGtk::setRadioSize):
29338         (WebCore::RenderThemeGtk::paintRadio):
29339
29340 2011-01-10  François Sausset  <sausset@gmail.com>
29341
29342         Reviewed by Kenneth Rohde Christiansen.
29343
29344         MathML: vertical alignment & bar thickness adjustments of fractions.
29345         https://bugs.webkit.org/show_bug.cgi?id=50018
29346
29347         The fraction bar thickness default value should follow the w3c MathML 3 recommendation:
29348         http://www.w3.org/TR/MathML3/chapter3.html#presm.mfrac
29349         The vertical alignment of the fraction bar should be more accurate, specially with operators (+,=,...).
29350
29351         Test: mathml/presentation/fractions.xhtml
29352
29353         * rendering/mathml/RenderMathMLFraction.cpp:
29354         (WebCore::RenderMathMLFraction::RenderMathMLFraction):
29355         (WebCore::RenderMathMLFraction::updateFromElement):
29356         (WebCore::RenderMathMLFraction::layout):
29357         (WebCore::RenderMathMLFraction::paint):
29358         (WebCore::RenderMathMLFraction::baselinePosition):
29359         * rendering/mathml/RenderMathMLFraction.h:
29360
29361 2011-01-10  Antti Koivisto  <antti@apple.com>
29362
29363         Reviewed by Alexey Proskuryakov.
29364
29365         https://bugs.webkit.org/show_bug.cgi?id=52044
29366         REGRESSION(r74807): No-store is ignored within a document
29367         
29368         Don't use cached resources with Cache-control: no-store (unless cache policy is CachePolicyHistoryBuffer).
29369         This matches a behavior that got lost in r74807.
29370
29371         Test: http/tests/misc/script-no-store.html
29372         (by Alexey Proskuryakov)
29373
29374         * loader/cache/CachedResourceLoader.cpp:
29375         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
29376
29377 2011-01-10  Patrick Gansterer  <paroga@webkit.org>
29378
29379         Reviewed by Laszlo Gombos.
29380
29381         [WIN] Add ProxyServerWin.cpp
29382         https://bugs.webkit.org/show_bug.cgi?id=52031
29383
29384         Add stub implementation to fix ENABLE_NETSCAPE_PLUGIN_API on WinCE.
29385
29386         * CMakeLists.txt:
29387         * CMakeListsWinCE.txt:
29388         * platform/network/win/ProxyServerWin.cpp: Added.
29389         (WebCore::proxyServersForURL):
29390
29391 2011-01-10  Alejandro G. Castro  <alex@igalia.com>
29392
29393         Reviewed by Martin Robinson.
29394
29395         [cairo] Rendering a lot of arcs on top of each other causes time
29396         outs in some tests
29397         https://bugs.webkit.org/show_bug.cgi?id=50869
29398
29399         We avoid the situation where we have to render the same arc
29400         multiple times over itself. Now it renders just one oval and
29401         moves to the end angle.
29402
29403         * platform/graphics/cairo/PathCairo.cpp:
29404         (WebCore::Path::addArc):
29405
29406 2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29407
29408         Reviewed by Martin Robinson.
29409
29410         [GTK] Port text input control painting to GtkStyleContext
29411         https://bugs.webkit.org/show_bug.cgi?id=51870
29412
29413         Use GtkStyleContext API to paint text input controls when building
29414         with GTK+ 3.x.
29415
29416         No new tests. This should not change functionality.
29417
29418         * platform/gtk/RenderThemeGtk3.cpp:
29419         (WebCore::RenderThemeGtk::adjustRepaintRect):
29420         (WebCore::RenderThemeGtk::paintTextField):
29421
29422 2011-01-09  Tony Gentilcore  <tonyg@chromium.org>
29423
29424         Reviewed by Alexey Proskuryakov.
29425
29426         Forward declare some headers where possible
29427         https://bugs.webkit.org/show_bug.cgi?id=52133
29428
29429         No new tests because no new functionality.
29430
29431         * css/CSSValue.h:
29432         * dom/BeforeLoadEvent.h:
29433         * dom/Event.cpp:
29434         * dom/Event.h:
29435         * dom/StyledElement.cpp:
29436         * dom/StyledElement.h:
29437         * loader/DocumentLoader.h:
29438         * loader/FrameLoader.h:
29439         * page/Frame.h:
29440         * platform/graphics/GraphicsContext.cpp:
29441         * platform/graphics/GraphicsContext.h:
29442         * platform/graphics/filters/FEBlend.cpp:
29443         * platform/graphics/filters/FEColorMatrix.cpp:
29444         * platform/graphics/filters/FEComponentTransfer.cpp:
29445         * platform/graphics/filters/FEComposite.cpp:
29446         * platform/graphics/filters/FEConvolveMatrix.cpp:
29447         * platform/graphics/filters/FEDiffuseLighting.cpp:
29448         * platform/graphics/filters/FEDisplacementMap.cpp:
29449         * platform/graphics/filters/FEFlood.cpp:
29450         * platform/graphics/filters/FEGaussianBlur.cpp:
29451         * platform/graphics/filters/FEMerge.cpp:
29452         * platform/graphics/filters/FEMorphology.cpp:
29453         * platform/graphics/filters/FEOffset.cpp:
29454         * platform/graphics/filters/FESpecularLighting.cpp:
29455         * platform/graphics/filters/FETile.cpp:
29456         * platform/graphics/filters/FETurbulence.cpp:
29457         * platform/graphics/filters/FilterEffect.cpp:
29458         * platform/graphics/filters/FilterEffect.h:
29459         * platform/graphics/filters/SourceAlpha.cpp:
29460         * platform/graphics/filters/SourceGraphic.cpp:
29461         * svg/SVGElement.cpp:
29462         * svg/SVGElement.h:
29463         * svg/SVGFEBlendElement.cpp:
29464         * svg/SVGFEColorMatrixElement.cpp:
29465         * svg/SVGFEComponentTransferElement.cpp:
29466         * svg/SVGFECompositeElement.cpp:
29467         * svg/SVGFEConvolveMatrixElement.cpp:
29468         * svg/SVGFEConvolveMatrixElement.h:
29469         * svg/SVGFEDiffuseLightingElement.cpp:
29470         * svg/SVGFEDisplacementMapElement.cpp:
29471         * svg/SVGFEGaussianBlurElement.cpp:
29472         * svg/SVGFEImageElement.h:
29473         * svg/SVGFEMergeElement.cpp:
29474         * svg/SVGFEMorphologyElement.cpp:
29475         * svg/SVGFEOffsetElement.cpp:
29476         * svg/SVGFESpecularLightingElement.cpp:
29477         * svg/SVGFETileElement.cpp:
29478         * svg/SVGFETurbulenceElement.h:
29479         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
29480         * svg/SVGFilterPrimitiveStandardAttributes.h:
29481         * svg/SVGTextContentElement.cpp:
29482         * svg/graphics/filters/SVGFEImage.cpp:
29483         * svg/graphics/filters/SVGFEImage.h:
29484
29485 2011-01-10  Adam Roben  <aroben@apple.com>
29486
29487         Windows build fix after r75313
29488
29489         * WebCore.vcproj/build-generated-files.sh: Updated for the change in
29490         this script's path.
29491
29492 2011-01-10  Pavel Podivilov  <podivilov@chromium.org>
29493
29494         Reviewed by Pavel Feldman.
29495
29496         Web Inspector: make properties on Array's prototype non-enumerable.
29497         https://bugs.webkit.org/show_bug.cgi?id=51776
29498
29499         * inspector/front-end/utilities.js:
29500         ():
29501
29502 2011-01-10  Yael Aharon  <yael.aharon@nokia.com>
29503
29504         Reviewed by Simon Fraser.
29505
29506         Specificity of negated selectors apparently miscalculated
29507         https://bugs.webkit.org/show_bug.cgi?id=41206
29508
29509         Give negated selectors the specificity of the selector they are negating.
29510         This is the same as the behavior of other browsers.
29511
29512         Test: fast/css/pseudo-not.html
29513
29514         * css/CSSSelector.cpp:
29515         (WebCore::CSSSelector::specificityForOneSelector):
29516
29517 2011-01-10  Adam Roben  <aroben@apple.com>
29518
29519         Windows build fix after r75353
29520
29521         * WebCore.vcproj/WebCoreCommon.vsprops: Added rendering/mathml to the
29522         include path.
29523
29524 2011-01-10  John Knottenbelt  <jknotten@chromium.org>
29525
29526         Reviewed by Jeremy Orlow.
29527
29528         [Chromium] Remove non-client-based Geolocation code
29529         https://bugs.webkit.org/show_bug.cgi?id=50921
29530
29531         Code clean up, covered by existing tests.
29532
29533         * WebCore.gyp/WebCore.gyp:
29534         * WebCore.gypi:
29535         * platform/chromium/ChromiumBridge.h:
29536         * platform/chromium/GeolocationServiceChromium.cpp: Removed.
29537         * platform/chromium/GeolocationServiceChromium.h: Removed.
29538
29539 2011-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
29540
29541         Reviewed by Pavel Feldman.
29542
29543         Web Inspector: protocol related change. Rename stepIntoStatement, stepOutOfFunction, stepOverStatement.
29544         stepIntoStatement => stepInto
29545         stepOutOfFunction => stepOut
29546         stepOverStatement => stepOver
29547
29548         https://bugs.webkit.org/show_bug.cgi?id=52142
29549
29550         * inspector/Inspector.idl:
29551         * inspector/InspectorDebuggerAgent.cpp:
29552         (WebCore::InspectorDebuggerAgent::stepOver):
29553         (WebCore::InspectorDebuggerAgent::stepInto):
29554         (WebCore::InspectorDebuggerAgent::stepOut):
29555         * inspector/InspectorDebuggerAgent.h:
29556         * inspector/front-end/ScriptsPanel.js:
29557         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
29558         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
29559         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
29560
29561 2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
29562
29563         Reviewed by Martin Robinson.
29564
29565         [GTK] Port progressbar painting to GtkStyleContext
29566         https://bugs.webkit.org/show_bug.cgi?id=52054
29567
29568         Use GtkStyleContext API to paint progressbars when building with
29569         GTK+ 3.x. Also add support for indeterminate progressbars.
29570
29571         No new tests. This should not change functionality.
29572
29573         * platform/gtk/RenderThemeGtk.cpp:
29574         * platform/gtk/RenderThemeGtk2.cpp:
29575         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
29576         (WebCore::RenderThemeGtk::animationDurationForProgressBar):
29577         * platform/gtk/RenderThemeGtk3.cpp:
29578         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
29579         (WebCore::RenderThemeGtk::animationDurationForProgressBar):
29580         (WebCore::RenderThemeGtk::paintProgressBar):
29581
29582 2011-01-10  Andreas Kling  <kling@webkit.org>
29583
29584         Reviewed by Darin Adler.
29585
29586         Remove unused class "Pen" in WebCore/platform/graphics
29587         https://bugs.webkit.org/show_bug.cgi?id=49955
29588
29589         * Android.mk:
29590         * CMakeLists.txt:
29591         * GNUmakefile.am:
29592         * WebCore.gypi:
29593         * WebCore.pro:
29594         * WebCore.vcproj/WebCore.vcproj:
29595         * WebCore.xcodeproj/project.pbxproj:
29596         * platform/graphics/Pen.cpp: Removed.
29597         * platform/graphics/Pen.h: Removed.
29598         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
29599         * platform/graphics/wx/GraphicsContextWx.cpp:
29600         * platform/graphics/wx/PenWx.cpp: Removed.
29601
29602 2011-01-10  Xan Lopez  <xlopez@igalia.com>
29603
29604         Reviewed by Martin Robinson.
29605
29606         [GTK] Create intermediate libWebCore library
29607         https://bugs.webkit.org/show_bug.cgi?id=52116
29608
29609         Create intermediate libWebCore.la to avoid overflowing the linker
29610         in the final link stage.
29611
29612         * GNUmakefile.am: define the new library.
29613
29614 2011-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>
29615
29616         Unreviewed, rolling out r75337.
29617         http://trac.webkit.org/changeset/75337
29618         https://bugs.webkit.org/show_bug.cgi?id=52137
29619
29620         It made fast/dom/navigator-detached-no-crash.html crash
29621         (Requested by Ossy on #webkit).
29622
29623         * platform/qt/CookieJarQt.cpp:
29624         (WebCore::cookiesEnabled):
29625
29626 2011-01-09  Mark Rowe  <mrowe@apple.com>
29627
29628         Fix the build.
29629
29630         * WebCore.xcodeproj/project.pbxproj: Copy SVGResourcesCache.h in to PrivateHeaders
29631         once more.
29632
29633 2011-01-09  Dan Bernstein  <mitz@apple.com>
29634
29635         Reviewed by Sam Weinig.
29636
29637         <rdar://problem/8765555> WebKit2: Search field focus ring is missing
29638
29639         Provide a focus ring visible rect to AppKit.
29640
29641         * platform/mac/ThemeMac.mm:
29642         (-[WebCoreFlippedView _focusRingVisibleRect]):
29643         (-[WebCoreFlippedView _focusRingClipAncestor]):
29644
29645 2011-01-09  Dirk Schulze  <krit@webkit.org>
29646
29647         Reviewed by Rob Buis.
29648
29649         Move MathML renderer to rendering/mathml
29650         https://bugs.webkit.org/show_bug.cgi?id=52131
29651
29652         Move all renderer of MathML to WebCore/rendering/mathml
29653
29654         No change of functionality, no new tests added.
29655
29656         * CMakeLists.txt:
29657         * GNUmakefile.am:
29658         * WebCore.gypi:
29659         * WebCore.pro:
29660         * WebCore.vcproj/WebCore.vcproj:
29661         * WebCore.xcodeproj/project.pbxproj:
29662         * mathml/RenderMathMLBlock.cpp: Removed.
29663         * mathml/RenderMathMLBlock.h: Removed.
29664         * mathml/RenderMathMLFenced.cpp: Removed.
29665         * mathml/RenderMathMLFenced.h: Removed.
29666         * mathml/RenderMathMLFraction.cpp: Removed.
29667         * mathml/RenderMathMLFraction.h: Removed.
29668         * mathml/RenderMathMLMath.cpp: Removed.
29669         * mathml/RenderMathMLMath.h: Removed.
29670         * mathml/RenderMathMLOperator.cpp: Removed.
29671         * mathml/RenderMathMLOperator.h: Removed.
29672         * mathml/RenderMathMLRoot.cpp: Removed.
29673         * mathml/RenderMathMLRoot.h: Removed.
29674         * mathml/RenderMathMLRow.cpp: Removed.
29675         * mathml/RenderMathMLRow.h: Removed.
29676         * mathml/RenderMathMLSquareRoot.cpp: Removed.
29677         * mathml/RenderMathMLSquareRoot.h: Removed.
29678         * mathml/RenderMathMLSubSup.cpp: Removed.
29679         * mathml/RenderMathMLSubSup.h: Removed.
29680         * mathml/RenderMathMLUnderOver.cpp: Removed.
29681         * mathml/RenderMathMLUnderOver.h: Removed.
29682         * rendering/mathml: Added.
29683         * rendering/mathml/RenderMathMLBlock.cpp: Copied from Source/WebCore/mathml/RenderMathMLBlock.cpp.
29684         * rendering/mathml/RenderMathMLBlock.h: Copied from Source/WebCore/mathml/RenderMathMLBlock.h.
29685         * rendering/mathml/RenderMathMLFenced.cpp: Copied from Source/WebCore/mathml/RenderMathMLFenced.cpp.
29686         * rendering/mathml/RenderMathMLFenced.h: Copied from Source/WebCore/mathml/RenderMathMLFenced.h.
29687         * rendering/mathml/RenderMathMLFraction.cpp: Copied from Source/WebCore/mathml/RenderMathMLFraction.cpp.
29688         * rendering/mathml/RenderMathMLFraction.h: Copied from Source/WebCore/mathml/RenderMathMLFraction.h.
29689         * rendering/mathml/RenderMathMLMath.cpp: Copied from Source/WebCore/mathml/RenderMathMLMath.cpp.
29690         * rendering/mathml/RenderMathMLMath.h: Copied from Source/WebCore/mathml/RenderMathMLMath.h.
29691         * rendering/mathml/RenderMathMLOperator.cpp: Copied from Source/WebCore/mathml/RenderMathMLOperator.cpp.
29692         * rendering/mathml/RenderMathMLOperator.h: Copied from Source/WebCore/mathml/RenderMathMLOperator.h.
29693         * rendering/mathml/RenderMathMLRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLRoot.cpp.
29694         * rendering/mathml/RenderMathMLRoot.h: Copied from Source/WebCore/mathml/RenderMathMLRoot.h.
29695         * rendering/mathml/RenderMathMLRow.cpp: Copied from Source/WebCore/mathml/RenderMathMLRow.cpp.
29696         * rendering/mathml/RenderMathMLRow.h: Copied from Source/WebCore/mathml/RenderMathMLRow.h.
29697         * rendering/mathml/RenderMathMLSquareRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.cpp.
29698         * rendering/mathml/RenderMathMLSquareRoot.h: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.h.
29699         * rendering/mathml/RenderMathMLSubSup.cpp: Copied from Source/WebCore/mathml/RenderMathMLSubSup.cpp.
29700         * rendering/mathml/RenderMathMLSubSup.h: Copied from Source/WebCore/mathml/RenderMathMLSubSup.h.
29701         * rendering/mathml/RenderMathMLUnderOver.cpp: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.cpp.
29702         * rendering/mathml/RenderMathMLUnderOver.h: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.h.
29703
29704 2011-01-08  Simon Fraser  <simon.fraser@apple.com>
29705
29706         Reviewed by Alexey Proskuryakov.
29707
29708         HTMLStyleElement.disabled doesn't work (affects jQuery)
29709         https://bugs.webkit.org/show_bug.cgi?id=25287
29710         
29711         Fix the disabled property of a HTMLStyleElement to reflect,
29712         and set the disabled state of its style sheet, as required
29713         by DOM1 etc.
29714
29715         Based on initial patch by Tarun Nainani.
29716
29717         Test: fast/html/disable-style-element.html
29718
29719         * dom/StyleElement.h:
29720         (WebCore::StyleElement::sheet): Make const.
29721         
29722         * html/HTMLStyleElement.h:
29723         * html/HTMLStyleElement.idl:
29724         * html/HTMLStyleElement.cpp:
29725         (WebCore::HTMLStyleElement::disabled): 
29726         (WebCore::HTMLStyleElement::setDisabled): Getter and setter for disabled
29727         call through to the sheet (if any).
29728
29729 2011-01-09  Dirk Schulze  <krit@webkit.org>
29730
29731         Reviewed by Nikolas Zimmermann.
29732
29733         Rename RenderForeignObject to RenderSVGForeignObject
29734         https://bugs.webkit.org/show_bug.cgi?id=52129
29735
29736         Rename RenderForeignObject to RenderSVGForeignObject to match the naming schema in render/svg.
29737
29738         No change of functionality, no new tests.
29739
29740         * Android.mk:
29741         * CMakeLists.txt:
29742         * GNUmakefile.am:
29743         * WebCore.gypi:
29744         * WebCore.pro:
29745         * WebCore.xcodeproj/project.pbxproj:
29746         * rendering/RenderingAllInOne.cpp:
29747         * rendering/svg/RenderForeignObject.cpp: Removed.
29748         * rendering/svg/RenderForeignObject.h: Removed.
29749         * rendering/svg/RenderSVGAllInOne.cpp:
29750         * rendering/svg/RenderSVGBlock.cpp:
29751         (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle):
29752         * rendering/svg/RenderSVGForeignObject.cpp: Copied from Source/WebCore/rendering/svg/RenderForeignObject.cpp.
29753         (WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
29754         (WebCore::RenderSVGForeignObject::~RenderSVGForeignObject):
29755         (WebCore::RenderSVGForeignObject::paint):
29756         (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
29757         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
29758         (WebCore::RenderSVGForeignObject::localToParentTransform):
29759         (WebCore::RenderSVGForeignObject::computeLogicalWidth):
29760         (WebCore::RenderSVGForeignObject::computeLogicalHeight):
29761         (WebCore::RenderSVGForeignObject::layout):
29762         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
29763         (WebCore::RenderSVGForeignObject::nodeAtPoint):
29764         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
29765         * rendering/svg/RenderSVGForeignObject.h: Copied from Source/WebCore/rendering/svg/RenderForeignObject.h.
29766         (WebCore::RenderSVGForeignObject::renderName):
29767         * svg/SVGForeignObjectElement.cpp:
29768         (WebCore::SVGForeignObjectElement::createRenderer):
29769
29770 2011-01-09  Dirk Schulze  <krit@webkit.org>
29771
29772         Reviewed by Nikolas Zimmermann.
29773
29774         Move all SVG renderer to WebCore/rendering/svg
29775         https://bugs.webkit.org/show_bug.cgi?id=52087
29776
29777         No change of functionality. Just moved all SVG renderer to WebCore/rendering/svg.
29778
29779         * Android.mk:
29780         * CMakeLists.txt:
29781         * GNUmakefile.am:
29782         * WebCore.gypi:
29783         * WebCore.pro:
29784         * WebCore.vjproj/project.vjproj:
29785         * WebCore.xcodeproj/project.pbxproj:
29786         * rendering/RenderForeignObject.cpp: Removed.
29787         * rendering/RenderForeignObject.h: Removed.
29788         * rendering/RenderSVGAllInOne.cpp: Removed.
29789         * rendering/RenderSVGBlock.cpp: Removed.
29790         * rendering/RenderSVGBlock.h: Removed.
29791         * rendering/RenderSVGContainer.cpp: Removed.
29792         * rendering/RenderSVGContainer.h: Removed.
29793         * rendering/RenderSVGGradientStop.cpp: Removed.
29794         * rendering/RenderSVGGradientStop.h: Removed.
29795         * rendering/RenderSVGHiddenContainer.cpp: Removed.
29796         * rendering/RenderSVGHiddenContainer.h: Removed.
29797         * rendering/RenderSVGImage.cpp: Removed.
29798         * rendering/RenderSVGImage.h: Removed.
29799         * rendering/RenderSVGModelObject.cpp: Removed.
29800         * rendering/RenderSVGModelObject.h: Removed.
29801         * rendering/RenderSVGResource.cpp: Removed.
29802         * rendering/RenderSVGResource.h: Removed.
29803         * rendering/RenderSVGResourceClipper.cpp: Removed.
29804         * rendering/RenderSVGResourceClipper.h: Removed.
29805         * rendering/RenderSVGResourceContainer.cpp: Removed.
29806         * rendering/RenderSVGResourceContainer.h: Removed.
29807         * rendering/RenderSVGResourceFilter.cpp: Removed.
29808         * rendering/RenderSVGResourceFilter.h: Removed.
29809         * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
29810         * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
29811         * rendering/RenderSVGResourceGradient.cpp: Removed.
29812         * rendering/RenderSVGResourceGradient.h: Removed.
29813         * rendering/RenderSVGResourceLinearGradient.cpp: Removed.
29814         * rendering/RenderSVGResourceLinearGradient.h: Removed.
29815         * rendering/RenderSVGResourceMarker.cpp: Removed.
29816         * rendering/RenderSVGResourceMarker.h: Removed.
29817         * rendering/RenderSVGResourceMasker.cpp: Removed.
29818         * rendering/RenderSVGResourceMasker.h: Removed.
29819         * rendering/RenderSVGResourcePattern.cpp: Removed.
29820         * rendering/RenderSVGResourcePattern.h: Removed.
29821         * rendering/RenderSVGResourceRadialGradient.cpp: Removed.
29822         * rendering/RenderSVGResourceRadialGradient.h: Removed.
29823         * rendering/RenderSVGResourceSolidColor.cpp: Removed.
29824         * rendering/RenderSVGResourceSolidColor.h: Removed.
29825         * rendering/RenderSVGRoot.cpp: Removed.
29826         * rendering/RenderSVGRoot.h: Removed.
29827         * rendering/RenderSVGShadowTreeRootContainer.cpp: Removed.
29828         * rendering/RenderSVGShadowTreeRootContainer.h: Removed.
29829         * rendering/RenderSVGTransformableContainer.cpp: Removed.
29830         * rendering/RenderSVGTransformableContainer.h: Removed.
29831         * rendering/RenderSVGViewportContainer.cpp: Removed.
29832         * rendering/RenderSVGViewportContainer.h: Removed.
29833         * rendering/SVGImageBufferTools.cpp: Removed.
29834         * rendering/SVGImageBufferTools.h: Removed.
29835         * rendering/SVGMarkerData.h: Removed.
29836         * rendering/SVGMarkerLayoutInfo.cpp: Removed.
29837         * rendering/SVGMarkerLayoutInfo.h: Removed.
29838         * rendering/SVGRenderSupport.cpp: Removed.
29839         * rendering/SVGRenderSupport.h: Removed.
29840         * rendering/SVGRenderTreeAsText.cpp: Removed.
29841         * rendering/SVGRenderTreeAsText.h: Removed.
29842         * rendering/SVGResources.cpp: Removed.
29843         * rendering/SVGResources.h: Removed.
29844         * rendering/SVGResourcesCache.cpp: Removed.
29845         * rendering/SVGResourcesCache.h: Removed.
29846         * rendering/SVGResourcesCycleSolver.cpp: Removed.
29847         * rendering/SVGResourcesCycleSolver.h: Removed.
29848         * rendering/SVGShadowTreeElements.cpp: Removed.
29849         * rendering/SVGShadowTreeElements.h: Removed.
29850         * rendering/svg/RenderForeignObject.cpp: Copied from Source/WebCore/rendering/RenderForeignObject.cpp.
29851         * rendering/svg/RenderForeignObject.h: Copied from Source/WebCore/rendering/RenderForeignObject.h.
29852         * rendering/svg/RenderSVGAllInOne.cpp: Copied from Source/WebCore/rendering/RenderSVGAllInOne.cpp.
29853         * rendering/svg/RenderSVGBlock.cpp: Copied from Source/WebCore/rendering/RenderSVGBlock.cpp.
29854         * rendering/svg/RenderSVGBlock.h: Copied from Source/WebCore/rendering/RenderSVGBlock.h.
29855         * rendering/svg/RenderSVGContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGContainer.cpp.
29856         * rendering/svg/RenderSVGContainer.h: Copied from Source/WebCore/rendering/RenderSVGContainer.h.
29857         * rendering/svg/RenderSVGGradientStop.cpp: Copied from Source/WebCore/rendering/RenderSVGGradientStop.cpp.
29858         * rendering/svg/RenderSVGGradientStop.h: Copied from Source/WebCore/rendering/RenderSVGGradientStop.h.
29859         * rendering/svg/RenderSVGHiddenContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.cpp.
29860         * rendering/svg/RenderSVGHiddenContainer.h: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.h.
29861         * rendering/svg/RenderSVGImage.cpp: Copied from Source/WebCore/rendering/RenderSVGImage.cpp.
29862         * rendering/svg/RenderSVGImage.h: Copied from Source/WebCore/rendering/RenderSVGImage.h.
29863         * rendering/svg/RenderSVGModelObject.cpp: Copied from Source/WebCore/rendering/RenderSVGModelObject.cpp.
29864         * rendering/svg/RenderSVGModelObject.h: Copied from Source/WebCore/rendering/RenderSVGModelObject.h.
29865         * rendering/svg/RenderSVGResource.cpp: Copied from Source/WebCore/rendering/RenderSVGResource.cpp.
29866         * rendering/svg/RenderSVGResource.h: Copied from Source/WebCore/rendering/RenderSVGResource.h.
29867         * rendering/svg/RenderSVGResourceClipper.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.cpp.
29868         * rendering/svg/RenderSVGResourceClipper.h: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.h.
29869         * rendering/svg/RenderSVGResourceContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.cpp.
29870         * rendering/svg/RenderSVGResourceContainer.h: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.h.
29871         * rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.cpp.
29872         * rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.h.
29873         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.cpp.
29874         * rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.h.
29875         * rendering/svg/RenderSVGResourceGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.cpp.
29876         * rendering/svg/RenderSVGResourceGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.h.
29877         * rendering/svg/RenderSVGResourceLinearGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.cpp.
29878         * rendering/svg/RenderSVGResourceLinearGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.h.
29879         * rendering/svg/RenderSVGResourceMarker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.cpp.
29880         * rendering/svg/RenderSVGResourceMarker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.h.
29881         * rendering/svg/RenderSVGResourceMasker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.cpp.
29882         * rendering/svg/RenderSVGResourceMasker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.h.
29883         * rendering/svg/RenderSVGResourcePattern.cpp: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.cpp.
29884         * rendering/svg/RenderSVGResourcePattern.h: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.h.
29885         * rendering/svg/RenderSVGResourceRadialGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.cpp.
29886         * rendering/svg/RenderSVGResourceRadialGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.h.
29887         * rendering/svg/RenderSVGResourceSolidColor.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.cpp.
29888         * rendering/svg/RenderSVGResourceSolidColor.h: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.h.
29889         * rendering/svg/RenderSVGRoot.cpp: Copied from Source/WebCore/rendering/RenderSVGRoot.cpp.
29890         * rendering/svg/RenderSVGRoot.h: Copied from Source/WebCore/rendering/RenderSVGRoot.h.
29891         * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp.
29892         * rendering/svg/RenderSVGShadowTreeRootContainer.h: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.h.
29893         * rendering/svg/RenderSVGTransformableContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.cpp.
29894         * rendering/svg/RenderSVGTransformableContainer.h: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.h.
29895         * rendering/svg/RenderSVGViewportContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.cpp.
29896         * rendering/svg/RenderSVGViewportContainer.h: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.h.
29897         * rendering/svg/SVGImageBufferTools.cpp: Copied from Source/WebCore/rendering/SVGImageBufferTools.cpp.
29898         * rendering/svg/SVGImageBufferTools.h: Copied from Source/WebCore/rendering/SVGImageBufferTools.h.
29899         * rendering/svg/SVGMarkerData.h: Copied from Source/WebCore/rendering/SVGMarkerData.h.
29900         * rendering/svg/SVGMarkerLayoutInfo.cpp: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.cpp.
29901         * rendering/svg/SVGMarkerLayoutInfo.h: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.h.
29902         * rendering/svg/SVGRenderSupport.cpp: Copied from Source/WebCore/rendering/SVGRenderSupport.cpp.
29903         * rendering/svg/SVGRenderSupport.h: Copied from Source/WebCore/rendering/SVGRenderSupport.h.
29904         * rendering/svg/SVGRenderTreeAsText.cpp: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.cpp.
29905         * rendering/svg/SVGRenderTreeAsText.h: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.h.
29906         * rendering/svg/SVGResources.cpp: Copied from Source/WebCore/rendering/SVGResources.cpp.
29907         * rendering/svg/SVGResources.h: Copied from Source/WebCore/rendering/SVGResources.h.
29908         * rendering/svg/SVGResourcesCache.cpp: Copied from Source/WebCore/rendering/SVGResourcesCache.cpp.
29909         * rendering/svg/SVGResourcesCache.h: Copied from Source/WebCore/rendering/SVGResourcesCache.h.
29910         * rendering/svg/SVGResourcesCycleSolver.cpp: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.cpp.
29911         * rendering/svg/SVGResourcesCycleSolver.h: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.h.
29912         * rendering/svg/SVGShadowTreeElements.cpp: Copied from Source/WebCore/rendering/SVGShadowTreeElements.cpp.
29913         * rendering/svg/SVGShadowTreeElements.h: Copied from Source/WebCore/rendering/SVGShadowTreeElements.h.
29914
29915 2011-01-09  Xianzhu Wang  <phnixwxz@gmail.com>
29916
29917         Reviewed by Darin Fisher.
29918
29919         https://bugs.webkit.org/show_bug.cgi?id=41441
29920         createWindow method should only do window-creating without URL navigation.
29921         Let client APIs know which URL a new window will start with
29922
29923         * loader/FrameLoader.cpp:
29924         (WebCore::createWindow):
29925         * page/ContextMenuController.cpp:
29926         (WebCore::openNewWindow):
29927         * page/DOMWindow.cpp:
29928         (WebCore::DOMWindow::createWindow):
29929
29930 2011-01-09  Dirk Schulze  <krit@webkit.org>
29931
29932         Unreviewed sort of Xcode project file.
29933
29934         * WebCore.xcodeproj/project.pbxproj:
29935
29936 2011-01-09  Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
29937
29938         Reviewed by Martin Robinson.
29939
29940         Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
29941         https://bugs.webkit.org/show_bug.cgi?id=48511
29942
29943         * platform/FileSystem.h: 
29944         * platform/gtk/FileSystemGtk.cpp: Implement function to get a binary's path
29945         (WebCore::applicationDirectoryPath):
29946
29947 2011-01-08  Martin Robinson  <mrobinson@igalia.com>
29948
29949         GTK+ Build fix. Add missing headers to the source list, fixing make dist.
29950
29951         No new tests. This is only a build change.
29952
29953         * GNUmakefile.am: Add missing headers to the source list.
29954
29955 2011-01-08 Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
29956
29957         Reviewed by Martin Robinson.
29958
29959         [GTK] WebKit2 GNUmakefile is out of date from trunk
29960         https://bugs.webkit.org/show_bug.cgi?id=51883
29961
29962         Added stubs for WebKit2 compilation.
29963
29964         * platform/gtk/ContextMenuGtk.cpp:
29965         (WebCore::contextMenuItemVector):
29966         * platform/gtk/ContextMenuItemGtk.cpp:
29967         (WebCore::ContextMenuItem::ContextMenuItem):
29968         (WebCore::ContextMenuItem::checked):
29969         (WebCore::ContextMenuItem::enabled):
29970         * platform/network/soup/AuthenticationChallenge.h:
29971         (WebCore::AuthenticationChallenge::authenticationClient):
29972
29973 2011-01-08  Helder Correia  <helder@sencha.com>
29974
29975         Reviewed by Simon Fraser.
29976
29977         Shadow is not drawn when filling a path with a gradient
29978         https://bugs.webkit.org/show_bug.cgi?id=51982
29979
29980         This happens in CG and is related to bug 51869, this time to be fixed
29981         in GraphicsContext::fillPath(const Path& path). We need to draw the
29982         gradient clipped to the path on a CGLayer first, and then draw the
29983         layer on the GraphicsContext.
29984
29985         Test: fast/canvas/canvas-fillPath-gradient-shadow.html
29986
29987         * platform/graphics/cg/GraphicsContextCG.cpp:
29988         (WebCore::GraphicsContext::fillPath):
29989
29990 2011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
29991
29992         Reviewed by Kenneth Rohde Christiansen.
29993
29994         [Qt] PasteboardQt.cpp has coding-style errors
29995         https://bugs.webkit.org/show_bug.cgi?id=39771
29996
29997         Update the code to follow the coding style.
29998
29999         * platform/qt/PasteboardQt.cpp:
30000         (WebCore::Pasteboard::writeSelection):
30001         (WebCore::Pasteboard::plainText):
30002         (WebCore::Pasteboard::writePlainText):
30003         (WebCore::Pasteboard::writeURL):
30004
30005 2011-01-08  Tony Gentilcore  <tonyg@chromium.org>
30006
30007         Reviewed by Eric Seidel.
30008
30009         HTML5 Conformance Test failure: approved/xhtml5/html_style_in_comment.xhtml
30010         https://bugs.webkit.org/show_bug.cgi?id=48593
30011
30012         XHTML <style> blocks, unlike HTML <style> blocks, should respect HTML
30013         comments.
30014
30015         Test: fast/parser/xhtml-html-comment-in-style-block.xhtml
30016
30017         * dom/StyleElement.cpp:
30018         (WebCore::isValidStyleChild): Remove the COMMENT_NODE check as the HTML parser doesn't add COMMENT_NODEs as children of style blocks.
30019         (WebCore::StyleElement::process): Factored out a condition that must remain in sync.
30020
30021 2011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
30022
30023         Reviewed by Kenneth Rohde Christiansen.
30024
30025         [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
30026         https://bugs.webkit.org/show_bug.cgi?id=52081
30027
30028         Test for the availability of cookie jar to return if cookies are enabled or not. The network access
30029         manager always exist, not the cookie jar.
30030
30031         * platform/qt/CookieJarQt.cpp:
30032         (WebCore::cookiesEnabled):
30033
30034 2011-01-08  Charlie Reis  <creis@chromium.org>
30035
30036         Reviewed by Mihai Parparita.
30037
30038         Canceled frame loads can corrupt back forward list
30039         https://bugs.webkit.org/show_bug.cgi?id=50254
30040
30041         Avoids changing m_currentItem until the navigation commits.
30042         Also resets top-level history items if a subframe navigation is canceled.
30043
30044         * WebCore/loader/FrameLoader.cpp:
30045         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
30046         * WebCore/loader/HistoryController.cpp:
30047         * WebCore/loader/HistoryController.h:
30048
30049 2011-01-08  Chang Shu  <chang.shu@nokia.com>
30050
30051         Reviewed by Kenneth Rohde Christiansen.
30052
30053         Support createTouchList with Touch list for test automation.
30054         Implemented JS/V8 custom functions for createTouchList.
30055         https://bugs.webkit.org/show_bug.cgi?id=51196
30056
30057         * bindings/js/JSDocumentCustom.cpp:
30058         (WebCore::JSDocument::createTouchList):
30059         * bindings/v8/custom/V8DocumentCustom.cpp:
30060         (WebCore::V8Document::createTouchListCallback):
30061         * dom/Document.idl:
30062         * dom/TouchEvent.cpp:
30063         (WebCore::TouchEvent::initTouchEvent):
30064
30065 2011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
30066
30067         Reviewed by Kenneth Rohde Christiansen.
30068
30069         [Qt] CookieJarQt.cpp has coding-style errors
30070         https://bugs.webkit.org/show_bug.cgi?id=39778
30071
30072         Improve the coding style of CookieJarQt.cpp.
30073
30074         * platform/qt/CookieJarQt.cpp:
30075         (WebCore::networkAccessManager):
30076         (WebCore::cookiesEnabled):
30077
30078 2011-01-08  Jeff Miller  <jeffm@apple.com>
30079
30080         Rubber-stamped by Dan Bernstein.
30081
30082         Fix QTMovieWin.vcproj to account for moving WebCore to Source\WebCore
30083         https://bugs.webkit.org/show_bug.cgi?id=52114
30084
30085         * WebCore.vcproj/QTMovieWin.vcproj:
30086         Add an extra .. to some InheritedPropertySheets entries since WebCore is now one level deeper.
30087
30088 2011-01-08  Dirk Schulze  <krit@webkit.org>
30089
30090         Reviewed by Mihai Parparita.
30091
30092         SVG rendering clean up according to the webkit style rules 2
30093         https://bugs.webkit.org/show_bug.cgi?id=52112
30094
30095         Modified the style of the license of all files in WebCore/rendering/svg to match the style
30096         in WebCore/svg. Cleaned up the code according to the webkit style rules.
30097
30098         No change of functionality. No test added.
30099
30100         * rendering/svg/RenderSVGInline.cpp:
30101         * rendering/svg/RenderSVGInline.h:
30102         * rendering/svg/RenderSVGInlineText.cpp:
30103         * rendering/svg/RenderSVGInlineText.h:
30104         * rendering/svg/RenderSVGPath.cpp:
30105         * rendering/svg/RenderSVGPath.h:
30106         * rendering/svg/RenderSVGTSpan.cpp:
30107         * rendering/svg/RenderSVGTSpan.h:
30108         * rendering/svg/RenderSVGText.cpp:
30109         * rendering/svg/RenderSVGText.h:
30110         * rendering/svg/RenderSVGTextPath.cpp:
30111         * rendering/svg/RenderSVGTextPath.h:
30112         * rendering/svg/SVGInlineFlowBox.cpp:
30113         * rendering/svg/SVGInlineFlowBox.h:
30114         * rendering/svg/SVGInlineTextBox.cpp:
30115         * rendering/svg/SVGInlineTextBox.h:
30116         * rendering/svg/SVGRootInlineBox.cpp:
30117         * rendering/svg/SVGRootInlineBox.h:
30118         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Brace was misplaced accoring to check-webkit-style.
30119         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
30120         * rendering/svg/SVGTextQuery.cpp:
30121         * rendering/svg/SVGTextQuery.h:
30122
30123 2011-01-08  Dirk Schulze  <krit@webkit.org>
30124
30125         Reviewed by Mihai Parparita.
30126
30127         SVG rendering clean up according to the webkit style rules
30128         https://bugs.webkit.org/show_bug.cgi?id=52107
30129
30130         Cleanup of the SVG rendering code according to the webbkit style rules.
30131         Changed style of licensing texts to match the style in WebCore/svg, no change
30132         of the licensing text itself.
30133
30134         * rendering/RenderForeignObject.cpp:
30135         * rendering/RenderForeignObject.h:
30136         * rendering/RenderSVGBlock.cpp:
30137         * rendering/RenderSVGBlock.h:
30138         * rendering/RenderSVGContainer.cpp:
30139         * rendering/RenderSVGContainer.h:
30140         * rendering/RenderSVGGradientStop.cpp:
30141         * rendering/RenderSVGGradientStop.h:
30142         * rendering/RenderSVGHiddenContainer.cpp:
30143         * rendering/RenderSVGHiddenContainer.h:
30144         (WebCore::RenderSVGHiddenContainer::renderName):
30145         (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
30146         (WebCore::RenderSVGHiddenContainer::requiresLayer):
30147         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
30148         * rendering/RenderSVGImage.cpp:
30149         * rendering/RenderSVGImage.h:
30150         * rendering/RenderSVGModelObject.h:
30151         * rendering/RenderSVGResource.cpp:
30152         * rendering/RenderSVGResource.h:
30153         * rendering/RenderSVGResourceClipper.cpp:
30154         * rendering/RenderSVGResourceClipper.h:
30155         * rendering/RenderSVGResourceContainer.cpp:
30156         * rendering/RenderSVGResourceContainer.h:
30157         * rendering/RenderSVGResourceFilter.cpp:
30158         * rendering/RenderSVGResourceFilter.h:
30159         * rendering/RenderSVGResourceFilterPrimitive.cpp:
30160         * rendering/RenderSVGResourceFilterPrimitive.h:
30161         * rendering/RenderSVGResourceGradient.cpp:
30162         * rendering/RenderSVGResourceGradient.h:
30163         * rendering/RenderSVGResourceLinearGradient.cpp:
30164         * rendering/RenderSVGResourceLinearGradient.h:
30165         * rendering/RenderSVGResourceMarker.cpp:
30166         * rendering/RenderSVGResourceMarker.h:
30167         * rendering/RenderSVGResourceMasker.cpp:
30168         * rendering/RenderSVGResourceMasker.h:
30169         * rendering/RenderSVGResourcePattern.cpp:
30170         * rendering/RenderSVGResourcePattern.h:
30171         * rendering/RenderSVGResourceRadialGradient.cpp:
30172         * rendering/RenderSVGResourceRadialGradient.h:
30173         * rendering/RenderSVGResourceSolidColor.cpp:
30174         * rendering/RenderSVGResourceSolidColor.h:
30175         * rendering/RenderSVGRoot.cpp:
30176         (WebCore::RenderSVGRoot::nodeAtPoint):
30177         * rendering/RenderSVGRoot.h:
30178         * rendering/RenderSVGShadowTreeRootContainer.cpp:
30179         * rendering/RenderSVGShadowTreeRootContainer.h:
30180         * rendering/RenderSVGTransformableContainer.cpp:
30181         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
30182         * rendering/RenderSVGTransformableContainer.h:
30183         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
30184         (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
30185         (WebCore::RenderSVGTransformableContainer::localTransform):
30186         * rendering/RenderSVGViewportContainer.cpp:
30187         * rendering/RenderSVGViewportContainer.h:
30188         * rendering/SVGImageBufferTools.cpp:
30189         * rendering/SVGImageBufferTools.h:
30190         * rendering/SVGMarkerData.h:
30191         * rendering/SVGMarkerLayoutInfo.cpp:
30192         * rendering/SVGMarkerLayoutInfo.h:
30193         * rendering/SVGRenderSupport.cpp:
30194         * rendering/SVGRenderSupport.h:
30195         * rendering/SVGRenderTreeAsText.cpp:
30196         (WebCore::operator<<):
30197         * rendering/SVGRenderTreeAsText.h:
30198         * rendering/SVGResources.cpp:
30199         * rendering/SVGResources.h:
30200         * rendering/SVGResourcesCache.cpp:
30201         * rendering/SVGResourcesCache.h:
30202         * rendering/SVGResourcesCycleSolver.cpp:
30203         * rendering/SVGResourcesCycleSolver.h:
30204         * rendering/SVGShadowTreeElements.cpp:
30205         * rendering/SVGShadowTreeElements.h:
30206
30207 2011-01-07  Adam Barth  <abarth@webkit.org>
30208
30209         Rubber-stamped by Eric Seidel.
30210
30211         Move WebCore to Source
30212         https://bugs.webkit.org/show_bug.cgi?id=52050
30213
30214         Update project files to understand WebCore's new location.  I suspect
30215         there will be some follow-up patches after we land this patch.
30216
30217         * Android.derived.jscbindings.mk:
30218         * Android.jscbindings.mk:
30219         * Android.v8bindings.mk:
30220         * GNUmakefile.am:
30221         * WebCore.gyp/WebCore.gyp:
30222         * WebCore.pri:
30223         * WebCore.pro:
30224         * WebCore.vcproj/WebCore.vcproj:
30225         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
30226         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
30227
30228 2011-01-07  Justin Garcia  <justin.garcia@apple.com>
30229
30230         Reviewed by Dan Bernstein.
30231
30232         https://bugs.webkit.org/show_bug.cgi?id=51851
30233         Implement RenderSVGInlineText::localCaretRect()
30234
30235         * rendering/svg/RenderSVGInlineText.cpp:
30236         (WebCore::RenderSVGInlineText::localCaretRect): Implemented.
30237
30238 2011-01-07  Ryosuke Niwa  <rniwa@webkit.org>
30239
30240         Unreviewed; Added the missing null pointer check for r75293.
30241
30242         * dom/Document.cpp:
30243         (WebCore::Document::adoptNode):
30244
30245 2011-01-07  Stephanie Lewis  <slewis@apple.com>
30246
30247         Reviewed by Geoff Garen.
30248
30249          <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
30250         https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
30251         
30252         Add a sampler for printing off process memory statistics.
30253         Export file mode.
30254
30255         * WebCore.exp.in:
30256
30257 2011-01-06  Ryosuke Niwa  <rniwa@webkit.org>
30258
30259         Reviewed by Adam Barth.
30260
30261         onbeforeunload is broken for framesets
30262         https://bugs.webkit.org/show_bug.cgi?id=19418
30263
30264         Added beforeunload event support for sub frames. WebKit's implementation tries to match
30265         that of Internet Explorer as much as possible. beforeunload event is fired for each and
30266         every descendent of a frame that is about to navigate.
30267
30268         When a value other than null is returned by a beforeunload handler, a confirmation dialog
30269         is shown for each handler (calls chrome's runBeforeUnloadConfirmPanel) just like it is done
30270         for main frames.
30271
30272         In addition, navigation is forbidden while beforeunload handlers are being called.
30273         Setting values to location.href, location.reload, and other means of navigations are thus
30274         ignored while beforeunload event handler is being ran, matching Internet Explorer's behavior.
30275
30276         Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to
30277         NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose.
30278
30279         Tests: fast/events/before-unload-adopt-subframe-to-outside.html
30280                fast/events/before-unload-adopt-within-subframes.html
30281                fast/events/before-unload-forbidden-navigation.html
30282                fast/events/before-unload-in-multiple-subframes.html
30283                fast/events/before-unload-in-subframe.html
30284                fast/events/before-unload-javascript-navigation.html
30285                fast/events/before-unload-remove-and-add-subframe.html
30286                fact/events/before-unload-remove-itself.html
30287                fast/events/before-unload-with-subframes.html
30288
30289        * loader/FrameLoader.cpp:
30290        (WebCore::FrameLoader::shouldClose): Calls fireBeforeUnloadEvent on m_frame and m_frame's
30291        descendents. Returns true only if every call to fireBeforeUnloadEvent returned true.
30292        (WebCore::FrameLoader::fireBeforeUnloadEvent): Fires a beforeunload event and calls
30293        chrome's runBeforeUnloadConfirmPanel as needed.
30294        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Calls shouldClose for all frames.
30295        * loader/FrameLoader.h:
30296        * loader/NavigationScheduler.cpp:
30297        (WebCore::NavigationScheduler::shouldScheduleNavigation): Checks the nullity of Page and calls
30298        NavigationDisablerForBeforeUnload::isNavigationAllowed when url is not javascript scheme.
30299        (WebCore::NavigationScheduler::scheduleRedirect): Calls shouldScheduleNavigation.
30300        (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
30301        (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
30302        (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
30303        * loader/NavigationScheduler.h:
30304        (WebCore::NavigationDisablerForBeforeUnload::NavigationDisablerForBeforeUnload): Disables navigation.
30305        (WebCore::NavigationDisablerForBeforeUnload::~NavigationDisablerForBeforeUnload): Enables navigation
30306        when called on the last instance of NavigationDisablerForBeforeUnload.
30307        (WebCore::NavigationDisablerForBeforeUnload::isNavigationAllowed): Returns true if there are no instance
30308        of NavigationDisablerForBeforeUnload left on the stack.
30309
30310 2011-01-07  Martin Robinson  <mrobinson@igalia.com>
30311
30312         Build fix for GTK+.
30313
30314         * GNUmakefile.am: Add RenderFullScreen.cpp to the sources list.
30315         * rendering/RenderFullScreen.cpp:
30316         (RenderFullScreen::setAnimating): Guard the call to contentChanged
30317         with ENABLED(ACCELERATED_COMPOSITING).
30318
30319 2011-01-07  Ryosuke Niwa  <rniwa@webkit.org>
30320
30321         Unreviewed; speculative fix for Windows debug build.
30322
30323         * bindings/js/JSBindingsAllInOne.cpp:
30324
30325 2011-01-07  Ryosuke Niwa  <rniwa@webkit.org>
30326
30327         Reviewed by Ojan Vafai.
30328
30329         Adopting an iframe to a child frame results in stack overflow
30330         https://bugs.webkit.org/show_bug.cgi?id=52018
30331
30332         Throws an exception when a document adopts an iframe that is an ancestor
30333         of the document in the frame hierarchy. New behavior matches that of Firefox.
30334
30335         Test: fast/html/adopt-parent-frame.html
30336
30337         * dom/Document.cpp:
30338         (WebCore::Document::adoptNode):
30339
30340 2011-01-07  Mihai Parparita  <mihaip@chromium.org>
30341
30342         Reviewed by Darin Fisher.
30343
30344         [Chromium] Scrollbar code cleanup
30345         https://bugs.webkit.org/show_bug.cgi?id=52073
30346
30347         Scrollbar code cleanup:
30348         - Remove ScrollbarThemeMac.{mm|h} from the mac sources list, we use
30349           ScrollbarThemeChromiumMac.{mm|h}
30350         - Remove USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define now that switch to
30351           WebThemeEngine is permanent
30352         - Fix typo in Linux scrollbar enum name
30353
30354         No new tests (compiles).
30355
30356         * WebCore.gypi:
30357         * platform/chromium/ChromiumBridge.h:
30358         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
30359         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
30360         * platform/chromium/ScrollbarThemeChromiumMac.mm:
30361         (WebCore::scrollbarStateToThemeState):
30362         (WebCore::ScrollbarThemeChromiumMac::paint):
30363
30364 2011-01-07  Jer Noble  <jer.noble@apple.com>
30365
30366         GTK Linux build fix: isDocumentRunningFullScreenAnimation should
30367         be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING)
30368
30369         * page/FrameView.cpp:
30370
30371 2011-01-07  Rafael Weinstein  <rafaelw@chromium.org>
30372
30373         Reviewed by Eric Seidel.
30374
30375         Cleanup: Fold shadowParentNode into shadowHost
30376         https://bugs.webkit.org/show_bug.cgi?id=51059
30377
30378         Replaces all uses of shadowParentNode.
30379
30380         No new tests because no behavior has changed.
30381
30382         * css/CSSStyleSelector.cpp:
30383         (WebCore::CSSStyleSelector::initForStyleResolve):
30384         * dom/Node.cpp:
30385         (WebCore::Node::shadowHost):
30386         (WebCore::Node::shadowAncestorNode):
30387         (WebCore::eventTargetRespectingSVGTargetRules):
30388         (WebCore::Node::getEventAncestors):
30389         * dom/Node.h:
30390         * editing/Editor.cpp:
30391         (WebCore::Editor::findString):
30392         * page/DragController.cpp:
30393         (WebCore::asFileInput):
30394         * page/EventHandler.cpp:
30395         (WebCore::EventHandler::handleMousePressEvent):
30396         (WebCore::instanceAssociatedWithShadowTreeElement):
30397         (WebCore::EventHandler::dispatchMouseEvent):
30398         * rendering/RenderBlock.cpp:
30399         (WebCore::RenderBlock::hasLineIfEmpty):
30400         * rendering/RenderSVGShadowTreeRootContainer.cpp:
30401         (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
30402         * svg/SVGStyledElement.cpp:
30403         (WebCore::SVGStyledElement::title):
30404
30405 2011-01-07  Chris Marrin  <cmarrin@apple.com>
30406
30407         Unreviewed.
30408
30409         I mistakenly included a Windows only file in a
30410         cross platform file. 
30411
30412         * platform/graphics/ca/GraphicsLayerCA.cpp:
30413
30414 2011-01-07  Chris Marrin  <cmarrin@apple.com>
30415
30416         Unreviewed.
30417
30418         Get rid of include of <QuartzCore/QuartzCore.h>
30419
30420         * platform/graphics/ca/GraphicsLayerCA.cpp:
30421
30422 2011-01-07  Jer Noble  <jer.noble@apple.com>
30423
30424         Further build fixes.  Add a ENABLE(FULLSCREEN_API) guard around
30425         the implementation of requiresCompositingfForFullScreen.
30426
30427         * rendering/RenderLayerCompositor.cpp:
30428         (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
30429
30430 2011-01-07  Jer Noble  <jer.noble@apple.com>
30431
30432         No review, build fix only.  Removed parameter who was causing
30433         a warning in Release builds.
30434
30435         * dom/Document.cpp:
30436         (WebCore::Document::webkitDidExitFullScreenForElement):
30437
30438 2011-01-07  Chris Marrin  <cmarrin@apple.com>
30439
30440         Unreviewed.
30441
30442         Use new wkCACFLayerGetContextUserData function
30443
30444         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
30445
30446 2011-01-07  James Robinson  <jamesr@chromium.org>
30447
30448         Fix compile bustage due to bad merge in 75276.
30449
30450         * page/animation/AnimationController.cpp:
30451         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30452
30453 2010-12-17  Jer Noble  <jer@kokode.apple.com>
30454
30455         Reviewed by Simon Fraser.
30456
30457         Implement WebKit Full Screen support.
30458         https://bugs.webkit.org/show_bug.cgi?id=49481
30459         rdar://problem/8247444
30460
30461         Mark for export all those WebCore functions needed by WebFullscreenController.
30462
30463         * WebCore.exp.in:
30464
30465 2010-12-17  Jer Noble  <jer@kokode.apple.com>
30466
30467         Reviewed by Simon Fraser.
30468
30469         Implement WebKit Full Screen support.
30470         https://bugs.webkit.org/show_bug.cgi?id=49481
30471         rdar://problem/8247444
30472         
30473         screenRect is useful for more than just HTMLMediaElements.  Promote it into
30474         Element.
30475
30476         * dom/Element.cpp: Moved into Element from HTMLMediaElement.
30477         * dom/Element.h: Ditto.
30478         * dom/Node.cpp:
30479         * html/HTMLMediaElement.cpp: Moved screenRect into Element.
30480         * html/HTMLMediaElement.h: Ditto.
30481         * WebCore.exp.in: Modify the exports list to reflect the new symbol name.
30482
30483 2010-12-17  Jer Noble  <jer@kokode.apple.com>
30484
30485         Reviewed by Simon Fraser.
30486
30487         Implement WebKit Full Screen support.
30488         https://bugs.webkit.org/show_bug.cgi?id=49481
30489         rdar://problem/8247444
30490
30491         The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to
30492         be rendered outside its original Frame. Because of this, there are a few areas of the
30493         rendering code which need to be special cased: RenderFullScreen layers should not be clipped
30494         to the viewport, as they will almost always be rendering outside the viewport area;
30495         RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as
30496         the client will likely want to reparent the platformLayer into their own fullscreen platform
30497         window; the FrameView must update the RenderFullScreen graphics layer tree separately from
30498         the root layer, as the two trees are disconnected.
30499
30500         * page/FrameView.cpp:
30501         (WebCore::FrameView::updateCompositingLayers):  Special treatment for fullscreen renderer.
30502         (WebCore::FrameView::syncCompositingStateRecursive): Ditto.
30503         (WebCore::FrameView::paintContents): Ditto.
30504         * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen.
30505         * rendering/RenderLayer.cpp: 
30506         (WebCore::RenderLayer::contentChanged): Add support for above.
30507         * rendering/RenderLayerBacking.cpp:
30508         (WebCore::layerOrAncestorIsFullScreen): New function.
30509         (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen.
30510         * rendering/RenderLayerCompositor.cpp:
30511         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer.
30512         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
30513         (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
30514         * rendering/RenderLayerCompositor.h:
30515
30516 2010-12-17  Jer Noble  <jer@kokode.apple.com>
30517
30518         Reviewed by Simon Fraser.
30519
30520         Implemented non-accelerated fullscreen support.  The Document will now vend a RenderFullScreen object for clients to
30521         use to relocate the fullscreen element subtree.
30522
30523         https://bugs.webkit.org/show_bug.cgi?id=49481
30524         rdar://problem/8247444
30525
30526         * css/CSSStyleSelector.cpp:
30527         (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen.
30528         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
30529         * dom/Document.cpp:
30530         (WebCore::Document::Document): Initialize m_fullScreenRenderer.
30531         (WebCore::Document::detach): Call setFullScreenRenderer(0).
30532         (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement.
30533         (WebCore::Document::webkitWillEnterFullScreenForElement):  Detach the fullscreen element to cause
30534             a new RenderFullScreen renderer to be created with the new fullscreen element.
30535         (WebCore::Document::webkitDidEnterFullScreenForElement):  Notify clients of a fullscreen change
30536             here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response
30537             to webkitfullscreenchange events.
30538         (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style.
30539         (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
30540         (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer.
30541         (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new
30542             size; this keeps clients from having to access the renderer's style directly.
30543         (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto.
30544         * dom/Document.h:
30545         (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen.
30546         (WebCore::Document::fullScreenRenderer): Accessor.
30547         * dom/Document.idl:
30548         * dom/Node.cpp:
30549         (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen
30550             object to insert between the fullscreen element and its parent.
30551         * page/ChromeClient.h:
30552         (WebCore::ChromeClient::fullScreenRendererChanged): Added.
30553         * rendering/MediaControlElements.cpp:
30554         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen.
30555
30556 2010-12-17  Jer Noble  <jer@kokode.apple.com>
30557
30558         Reviewed by Simon Fraser.
30559
30560         Implement WebKit Full Screen support.
30561         https://bugs.webkit.org/show_bug.cgi?id=49481
30562         rdar://problem/8247444
30563         
30564         This patch introduces a new RenderObject type: RenderFullScreen.  The RenderFullScreen renderer 
30565         will be used to implement new FullScreen APIs.  Because the RenderFullScreen object will be the
30566         parent of the current fullscreen element, the style rules for fullscreen objects must change to
30567         match.
30568         
30569         * WebCore.xcodeproj/project.pbxproj:
30570         * rendering/RenderFullScreen.cpp: Added.
30571         (RenderFullScreen::setAnimating): Sets the m_isAnimating flag.
30572         (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye
30573             for RenderFullScreen objects.
30574         * rendering/RenderFullScreen.h: Added.
30575         (WebCore::RenderFullScreen::isRenderFullScreen): Added.  Overrides the RenderObject version.
30576         * rendering/RenderObject.h:
30577         (WebCore::RenderObject::isRenderFullScreen): Added.  Used for type-checking RenderFullScreen objects.
30578         * css/fullscreen.css:  Modified the contained fullscreen styles.
30579
30580
30581 2011-01-07  James Robinson  <jamesr@chromium.org>
30582
30583         Revert "Implement mozilla's animationTime property"
30584         https://bugs.webkit.org/show_bug.cgi?id=51952
30585
30586         This approach isn't quite right.
30587
30588         * Android.mk:
30589         * CMakeLists.txt:
30590         * GNUmakefile.am:
30591         * WebCore.exp.in:
30592         * WebCore.gypi:
30593         * WebCore.pro:
30594         * WebCore.vcproj/WebCore.vcproj:
30595         * WebCore.xcodeproj/project.pbxproj:
30596         * page/DOMWindow.cpp:
30597         * page/DOMWindow.h:
30598         * page/DOMWindow.idl:
30599         * page/Frame.cpp:
30600         * page/Frame.h:
30601         * page/Page.cpp:
30602         (WebCore::Page::Page):
30603         * page/Page.h:
30604         * page/animation/AnimationController.cpp:
30605         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30606         * page/animation/AnimationTimeController.cpp: Removed.
30607         * page/animation/AnimationTimeController.h: Removed.
30608
30609 2011-01-07  Jan Erik Hanssen  <jhanssen@sencha.com>
30610
30611         Reviewed by Andreas Kling.
30612
30613         [Qt] Black text on black buttons using a dark theme
30614         https://bugs.webkit.org/show_bug.cgi?id=35024
30615
30616         Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style.
30617
30618         * platform/qt/RenderThemeQt.cpp:
30619         (WebCore::RenderThemeQt::systemColor):
30620         * platform/qt/RenderThemeQt.h:
30621
30622 2011-01-05  Adrienne Walker  <enne@google.com>
30623
30624         Reviewed by Kenneth Russell.
30625
30626         Add WEBKIT_lose_context WebGL extension.
30627         https://bugs.webkit.org/show_bug.cgi?id=51492
30628
30629         Tests: fast/canvas/webgl/context-lost-restored.html
30630                fast/canvas/webgl/context-lost.html
30631
30632         * CMakeLists.txt:
30633         * DerivedSources.make:
30634         * GNUmakefile.am:
30635         * WebCore.gypi:
30636         * WebCore.pri:
30637         * WebCore.pro:
30638         * WebCore.xcodeproj/project.pbxproj:
30639         * bindings/js/JSWebGLRenderingContextCustom.cpp:
30640         (WebCore::toJS):
30641         (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
30642         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
30643         (WebCore::toV8Object):
30644         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
30645         * html/canvas/WebGLExtension.h:
30646         * html/canvas/WebGLRenderingContext.cpp:
30647         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
30648         (WebCore::WebGLRenderingContext::getExtension):
30649         (WebCore::WebGLRenderingContext::getSupportedExtensions):
30650         (WebCore::WebGLRenderingContext::forceLostContext):
30651         (WebCore::WebGLRenderingContext::onLostContext):
30652         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
30653         (WebCore::WebGLRenderingContext::getExtensionNumber):
30654         * html/canvas/WebGLRenderingContext.h:
30655         * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h.
30656         (WebCore::WebKitLoseContext::WebKitLoseContext):
30657         (WebCore::WebKitLoseContext::~WebKitLoseContext):
30658         (WebCore::WebKitLoseContext::getName):
30659         (WebCore::WebKitLoseContext::create):
30660         (WebCore::WebKitLoseContext::loseContext):
30661         * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h.
30662         * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h.
30663
30664 2011-01-07  Chris Marrin  <cmarrin@apple.com>
30665
30666         Unreviewed.
30667
30668         Build fix for Chromium. Missing include.
30669
30670         * page/animation/AnimationBase.cpp:
30671
30672 2011-01-07  Chris Marrin  <cmarrin@apple.com>
30673
30674         Unreviewed.
30675
30676         Build fix.
30677
30678         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
30679
30680 2011-01-06  Gavin Barraclough  <barraclough@apple.com>
30681
30682         Reviewed by Geoff Garen.
30683
30684         Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
30685
30686         The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
30687         destructor early, in order to release wrappers once we know we no longer intend to use them.
30688         Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
30689         lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
30690         A sequence of events that triggers the bug would look like this:
30691
30692         (1) Create a DOMWrapperWorld.
30693         (2) Register a timer in the world.
30694         (3) Call unregisterWorld() on the world.
30695         (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
30696         (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
30697             called forgetWorld() none exists.
30698         (6) Attempt to add a wrapper to a NULL map.
30699
30700         Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
30701
30702         * WebCore.exp.in:
30703         * bindings/js/DOMWrapperWorld.cpp:
30704         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
30705         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
30706         (WebCore::DOMWrapperWorld::clearWrappers):
30707         * bindings/js/DOMWrapperWorld.h:
30708
30709 2011-01-07  Chris Marrin  <cmarrin@apple.com>
30710
30711         Rubber-stamped by Simon Fraser.
30712
30713         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
30714         https://bugs.webkit.org/show_bug.cgi?id=49388
30715
30716         Final step in unifying GraphicsLayer logic across Win and Mac. This 
30717         implements the Windows side classes for PlatformCALayer and supporting
30718         classes. Also changed MediaPlayer to use new PlatformCALayerClient
30719         so it can use PlatformCALayer directly rather than a dummy GraphicsLayer.
30720         WKCACFLayerRenderer now does the task of notifying animations of their
30721         start time. Also commented out an assert in AnimationBase because
30722         AnimationController's frame time is not in sync with the new 
30723         AnimationTimeController. I've opened a new bug for that issue:
30724
30725             https://bugs.webkit.org/show_bug.cgi?id=52037
30726             
30727         This also includes the Mac side changes backed out in 
30728         http://trac.webkit.org/changeset/75227.
30729
30730         * WebCore.vcproj/WebCore.vcproj:
30731         * WebCore.vcproj/WebCoreCommon.vsprops:
30732         * WebCore.vcproj/copyForwardingHeaders.cmd:
30733         * WebCore.xcodeproj/project.pbxproj:
30734         * config.h:
30735         * page/animation/AnimationBase.cpp:
30736         (WebCore::AnimationBase::freezeAtTime):
30737         (WebCore::AnimationBase::getElapsedTime):
30738         * page/animation/AnimationController.cpp:
30739         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30740         * page/animation/KeyframeAnimation.cpp:
30741         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
30742         * platform/graphics/GraphicsLayer.h:
30743         (WebCore::GraphicsLayer::layerDidDisplay):
30744         (WebCore::GraphicsLayer::showDebugBorders):
30745         (WebCore::GraphicsLayer::showRepaintCounter):
30746         * platform/graphics/ca/GraphicsLayerCA.cpp:
30747         (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
30748         (WebCore::GraphicsLayerCA::setContentsToImage):
30749         (WebCore::GraphicsLayerCA::setContentsToMedia):
30750         (WebCore::GraphicsLayerCA::layerDidDisplay):
30751         (WebCore::GraphicsLayerCA::updateSublayerList):
30752         * platform/graphics/ca/GraphicsLayerCA.h:
30753         (WebCore::GraphicsLayerCA::platformCALayer):
30754         (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
30755         (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
30756         (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
30757         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
30758         (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
30759         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
30760         (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
30761         (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
30762         (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
30763         (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
30764         * platform/graphics/ca/PlatformCAAnimation.h:
30765         * platform/graphics/ca/PlatformCALayer.h:
30766         (WebCore::PlatformCALayer::owner):
30767         (WebCore::PlatformCALayer::animationStarted):
30768         * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h.
30769         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
30770         (PlatformCALayer::setOwner):
30771         (PlatformCALayer::create):
30772         (PlatformCALayer::PlatformCALayer):
30773         (PlatformCALayer::contents):
30774         (PlatformCALayer::setContents):
30775         * platform/graphics/ca/win: Added.
30776         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added.
30777         * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added.
30778         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added.
30779         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added.
30780         (WebCore::PlatformCALayerWinInternal::owner):
30781         * platform/graphics/mac/WebGLLayer.mm:
30782         (-[WebGLLayer display]):
30783         * platform/graphics/mac/WebLayer.h:
30784         * platform/graphics/mac/WebLayer.mm:
30785         (drawLayerContents):
30786         (setLayerNeedsDisplayInRect):
30787         (-[WebLayer setNeedsDisplay]):
30788         (-[WebLayer display]):
30789         * platform/graphics/mac/WebTiledLayer.mm:
30790         (-[WebTiledLayer setNeedsDisplay]):
30791         (-[WebTiledLayer display]):
30792         * platform/graphics/win/GraphicsContextCGWin.cpp:
30793         (WebCore::CGContextWithHDC):
30794         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
30795         (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
30796         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
30797         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
30798         (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer):
30799         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
30800         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient):
30801         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges):
30802         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted):
30803         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation):
30804         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
30805         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders):
30806         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter):
30807         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
30808         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque):
30809         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent):
30810         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay):
30811         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
30812         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
30813         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
30814         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
30815         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
30816         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
30817         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
30818         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
30819         (WebCore::MediaPlayerPrivate::createLayerForMovie):
30820         * platform/graphics/win/WKCACFLayerRenderer.cpp:
30821         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
30822         (WebCore::WKCACFLayerRenderer::rootLayer):
30823         (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer):
30824         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
30825         (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
30826         (WebCore::WKCACFLayerRenderer::destroyRenderer):
30827         (WebCore::WKCACFLayerRenderer::render):
30828         * platform/graphics/win/WKCACFLayerRenderer.h:
30829         (WebCore::WKCACFLayerRendererClient::animationsStarted):
30830         (WebCore::WKCACFLayerRendererClient::syncCompositingState):
30831         * rendering/RenderLayerBacking.cpp:
30832         (WebCore::RenderLayerBacking::showDebugBorders):
30833         (WebCore::RenderLayerBacking::showRepaintCounter):
30834         * rendering/RenderLayerCompositor.cpp:
30835         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
30836         * rendering/RenderLayerCompositor.h:
30837         (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
30838         (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
30839         (WebCore::RenderLayerCompositor::notifyAnimationStarted):
30840         (WebCore::RenderLayerCompositor::notifySyncRequired):
30841         (WebCore::RenderLayerCompositor::paintContents):
30842         (WebCore::RenderLayerCompositor::showDebugBorders):
30843         (WebCore::RenderLayerCompositor::showRepaintCounter):
30844
30845 2011-01-07  Nate Chapin  <japhet@chromium.org>
30846
30847         Reviewed by Darin Fisher.
30848
30849         Let PingLoader send cookies if FrameLoaderClient permits it.
30850         https://bugs.webkit.org/show_bug.cgi?id=51898
30851
30852         Test: http/tests/navigation/ping-cookie.html
30853
30854         * loader/PingLoader.cpp:
30855         (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage
30856             at load start time, since we won't be able to call 
30857             FrameLoaderClient::shouldUseCredentialStorage() later.
30858         * loader/PingLoader.h:
30859         (WebCore::PingLoader::shouldUseCredentialStorage):
30860
30861 2011-01-07  Xan Lopez  <xlopez@igalia.com>
30862
30863         Unreviewed, rolling out r75256.
30864         http://trac.webkit.org/changeset/75256
30865         https://bugs.webkit.org/show_bug.cgi?id=50869
30866
30867         Broke GTK+ canvas tests
30868
30869         * platform/graphics/cairo/PathCairo.cpp:
30870         (WebCore::Path::addArc):
30871
30872 2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
30873
30874         Reviewed by Martin Robinson.
30875
30876         [GTK] Port scrollbar painting to GtkStyleContext
30877         https://bugs.webkit.org/show_bug.cgi?id=52051
30878
30879         Use GtkStyleContext API to paint scrollbars when building with
30880         GTK+ 3.x.
30881
30882         No new tests. This should not change functionality.
30883
30884         * platform/gtk/RenderThemeGtk.h:
30885         * platform/gtk/RenderThemeGtk3.cpp:
30886         (WebCore::RenderThemeGtk::gtkScrollbarStyle):
30887         * platform/gtk/ScrollbarThemeGtk.cpp:
30888         * platform/gtk/ScrollbarThemeGtk.h:
30889         * platform/gtk/ScrollbarThemeGtk2.cpp:
30890         (WebCore::gtkStyleSetCallback):
30891         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
30892         * platform/gtk/ScrollbarThemeGtk3.cpp:
30893         (WebCore::gtkStyleChangedCallback):
30894         (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
30895         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
30896         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
30897         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
30898         (WebCore::ScrollbarThemeGtk::paintThumb):
30899         (WebCore::ScrollbarThemeGtk::paintButton):
30900
30901 2011-01-07  Dan Bernstein  <mitz@apple.com>
30902
30903         Reviewed by Darin Adler.
30904
30905         <rdar://problem/8783318> Text emphasis marks should not appear over characters that have ruby annotations
30906         https://bugs.webkit.org/show_bug.cgi?id=51267
30907
30908         Test: fast/text/emphasis-avoid-ruby.html
30909
30910         * rendering/InlineFlowBox.cpp:
30911         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if
30912         there are text emphasis marks.
30913         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto.
30914         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto.
30915         * rendering/InlineTextBox.cpp:
30916         (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark
30917         position if the text is style with emphasis marks and there isn’t a ruby annotation that should
30918         suppress them. Otherwise returns false.
30919         (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should
30920         be painted.
30921         * rendering/InlineTextBox.h:
30922
30923 2011-01-07  Alejandro G. Castro  <alex@igalia.com>
30924
30925         Reviewed by Martin Robinson.
30926
30927         [cairo] Rendering a lot of arcs on top of each other causes time
30928         outs in some tests
30929         https://bugs.webkit.org/show_bug.cgi?id=50869
30930
30931         We avoid the situation where we have to render the same arc
30932         multiple times over itself. Now it renders just one oval and
30933         moves to the end angle.
30934
30935         * platform/graphics/cairo/PathCairo.cpp:
30936         (WebCore::Path::addArc):
30937
30938 2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
30939
30940         Reviewed by Martin Robinson.
30941
30942         [GTK] Port buttons painting to GtkStyleContext
30943         https://bugs.webkit.org/show_bug.cgi?id=51812
30944
30945         Use GtkStyleContext API to paint buttons when building with GTK+
30946         3.x.
30947
30948         No new tests. This should not change functionality.
30949
30950         * platform/gtk/RenderThemeGtk3.cpp:
30951         (WebCore::adjustRectForFocus):
30952         (WebCore::RenderThemeGtk::adjustRepaintRect):
30953         (WebCore::RenderThemeGtk::paintButton):
30954
30955 2011-01-07  Zhenyao Mo  <zmo@google.com>
30956
30957         Unreviewed, build fix.
30958
30959         * html/canvas/WebGLRenderingContext.cpp:
30960         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
30961
30962 2011-01-06  Zhenyao Mo  <zmo@google.com>
30963
30964         Reviewed by Kenneth Russell.
30965
30966         copyTexSubImage2D shouldn't have undefined pixels
30967         https://bugs.webkit.org/show_bug.cgi?id=51559
30968
30969         * html/canvas/WebGLRenderingContext.cpp:
30970         (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D.
30971         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0.
30972         (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters.
30973         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto.
30974         * html/canvas/WebGLRenderingContext.h:
30975         * html/canvas/WebGLTexture.cpp:
30976         (WebCore::WebGLTexture::getType): Expose the type of a texture.
30977         * html/canvas/WebGLTexture.h:
30978
30979 2011-01-07  Takashi Toyoshima  <toyoshim@google.com>
30980
30981         Reviewed by Kenneth Russell.
30982
30983         cleanupAfterGraphicsCall() is never called in
30984         WebGLRenderingContext::checkFramebufferStatus()
30985         https://bugs.webkit.org/show_bug.cgi?id=51668
30986
30987         No new tests. This is a trivial bug.
30988
30989         * html/canvas/WebGLRenderingContext.cpp:
30990         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
30991
30992 2011-01-07  Mario Sanchez Prada  <msanchez@igalia.com>
30993
30994         Reviewed by Chris Fleizach.
30995
30996         GTK: AX: atk tests need to be updated after recent changes
30997         https://bugs.webkit.org/show_bug.cgi?id=51932
30998
30999         Make sure we can always get the right accesssible parent for an
31000         AtkObject when traversing the hierarchy bottom up.
31001
31002         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
31003         (isRootObject): New function to check whether an
31004         AccessibilityObject is the root one or not, according to the
31005         latest changes in the hierarchy.
31006         (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's
31007         GAIL as the parent of the root AtkObject from WebCore.
31008         (webkit_accessible_get_parent): Use atkParentOfRootObject.
31009         (webkit_accessible_get_index_in_parent): Ditto.
31010         (atkRole): Expose AccessibilityObjects with ScrollAreaRole as
31011         AtkObject's of role ATK_ROLE_SCROLLED_PANE.
31012
31013 2011-01-07  Zhenyao Mo  <zmo@google.com>
31014
31015         Unreviewed, Mac 32-bit build fix.
31016         Use float instead of double in GL function arguments to avoid implicit type down casting.
31017
31018         * html/canvas/WebGLRenderingContext.cpp:
31019         (WebCore::WebGLRenderingContext::blendColor):
31020         (WebCore::WebGLRenderingContext::clearColor):
31021         (WebCore::WebGLRenderingContext::clearDepth):
31022         (WebCore::WebGLRenderingContext::depthRange):
31023         (WebCore::WebGLRenderingContext::lineWidth):
31024         (WebCore::WebGLRenderingContext::polygonOffset):
31025         (WebCore::WebGLRenderingContext::sampleCoverage):
31026         * html/canvas/WebGLRenderingContext.h:
31027         * html/canvas/WebGLRenderingContext.idl:
31028
31029 2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
31030
31031         Reviewed by Xan Lopez.
31032
31033         [GTK] Port slider painting to GtkStyleContext
31034         https://bugs.webkit.org/show_bug.cgi?id=51874
31035
31036         Use GtkStyleContext API to paint sliders when building with GTK+
31037         3.x. Also move the code to adjust media slider to its own method
31038         in RenderThemeGtk.cpp since it's common to both gtk 2 and 3.
31039
31040         No new tests. This should not change functionality.
31041
31042         * platform/gtk/RenderThemeGtk.cpp:
31043         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
31044         * platform/gtk/RenderThemeGtk.h:
31045         * platform/gtk/RenderThemeGtk2.cpp:
31046         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
31047         * platform/gtk/RenderThemeGtk3.cpp:
31048         (WebCore::RenderThemeGtk::paintSliderTrack):
31049         (WebCore::RenderThemeGtk::paintSliderThumb):
31050         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
31051
31052 2011-01-07  Benjamin Poulain  <benjamin.poulain@nokia.com>
31053
31054         Reviewed by Andreas Kling.
31055
31056         [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile
31057         https://bugs.webkit.org/show_bug.cgi?id=51992
31058
31059         Add the missing header. CString is used in debug by the calls to LOG().
31060
31061         * fileapi/FileReader.cpp:
31062
31063 2011-01-07  Alejandro G. Castro  <alex@igalia.com>
31064
31065         Reviewed by Martin Robinson.
31066
31067         Cairo's ContextShadow may mis-render some box shadows
31068         https://bugs.webkit.org/show_bug.cgi?id=51374
31069
31070         The space required for the internal shadow of the corners was not
31071         correctly considered.
31072
31073         * platform/graphics/cairo/ContextShadowCairo.cpp:
31074         (WebCore::ContextShadow::drawRectShadow):
31075
31076 2011-01-06  Adam Barth  <abarth@webkit.org>
31077
31078         Reviewed by Darin Adler.
31079
31080         REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt()
31081         https://bugs.webkit.org/show_bug.cgi?id=52013
31082
31083         When excluding line numbers for composite strings, we forgot to exclude
31084         the line number for the current string!
31085
31086         Test: fast/parser/line-number-composite-segmented-string.html
31087
31088         * platform/text/SegmentedString.cpp:
31089         (WebCore::SegmentedString::setExcludeLineNumbers):
31090
31091 2011-01-06  Chris Marrin  <cmarrin@apple.com>
31092
31093         Unreviewed.
31094
31095         Back out changes in http://trac.webkit.org/changeset/75199
31096         This breaks the Windows build. Fixing it on that side. Until
31097         then I'll back this out.
31098
31099 2011-01-06  Jenn Braithwaite  <jennb@chromium.org>
31100
31101         Reviewed by Dmitry Titov.
31102
31103         When a live frame is moved between pages, some plug-in DOM methods cease to function
31104         https://bugs.webkit.org/show_bug.cgi?id=45770
31105
31106         Test: fast/frames/iframe-reparenting-plugins.html
31107
31108         * page/Frame.cpp:
31109         (WebCore::Frame::~Frame):
31110         (WebCore::Frame::addObserver):
31111         (WebCore::Frame::removeObserver):
31112         * page/Frame.h:
31113         (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
31114         Added observer to be notified when frame is destroyed.
31115         * page/Page.cpp:
31116         (WebCore::Page::~Page):
31117         (WebCore::Page::refreshPlugins):
31118         PluginData no longer stores page pointer.
31119         * plugins/DOMMimeType.cpp:
31120         (WebCore::DOMMimeType::DOMMimeType):
31121         (WebCore::DOMMimeType::~DOMMimeType):
31122         (WebCore::DOMMimeType::enabledPlugin):
31123         * plugins/DOMMimeType.h:
31124         (WebCore::DOMMimeType::create):
31125         (WebCore::DOMMimeType::frameDestroyed):
31126         Store frame instead of page pointer in DOMMimeType.
31127         * plugins/DOMMimeTypeArray.cpp:
31128         (WebCore::DOMMimeTypeArray::item):
31129         (WebCore::DOMMimeTypeArray::namedItem):
31130         Provide frame to create DOMMimeType.
31131         * plugins/DOMPlugin.cpp:
31132         (WebCore::DOMPlugin::DOMPlugin):
31133         (WebCore::DOMPlugin::~DOMPlugin):
31134         (WebCore::DOMPlugin::item):
31135         (WebCore::DOMPlugin::namedItem):
31136         * plugins/DOMPlugin.h:
31137         (WebCore::DOMPlugin::create):
31138         (WebCore::DOMPlugin::frameDestroyed):
31139         Store frame instead of page pointer in DOMPlugin.
31140         * plugins/DOMPluginArray.cpp:
31141         (WebCore::DOMPluginArray::item):
31142         (WebCore::DOMPluginArray::namedItem):
31143         Provide frame to create DOMPlugin.
31144         * plugins/PluginData.cpp:
31145         (WebCore::PluginData::PluginData):
31146         (WebCore::PluginData::initPlugins):
31147         * plugins/PluginData.h:
31148         No longer stores a pointer to the page.
31149         Added page parameter to initPlugins.
31150         * plugins/PluginDataNone.cpp:
31151         (WebCore::PluginData::initPlugins):
31152         * plugins/chromium/PluginDataChromium.cpp:
31153         (WebCore::PluginData::initPlugins):
31154         * plugins/gtk/PluginDataGtk.cpp:
31155         (WebCore::PluginData::initPlugins):
31156         * plugins/wx/PluginDataWx.cpp:
31157         (WebCore::PluginData::initPlugins):
31158         Updated platforms to add (unused) page parameter to initPlugins.
31159
31160 2011-01-05  Zhenyao Mo  <zmo@google.com>
31161
31162         Reviewed by Kenneth Russell.
31163
31164         Define GC3D types to match GL types and use them in GraphicsContext3D
31165         https://bugs.webkit.org/show_bug.cgi?id=45557
31166
31167         * html/canvas/WebGLRenderingContext.cpp:
31168         (WebCore::WebGLRenderingContext::readPixels):
31169         (WebCore::WebGLRenderingContext::validateTexFuncData):
31170         * platform/graphics/GraphicsContext3D.cpp:
31171         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
31172         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
31173         (WebCore::GraphicsContext3D::extractImageData):
31174         (WebCore::GraphicsContext3D::extractTextureData):
31175         * platform/graphics/GraphicsContext3D.h:
31176         * platform/graphics/cg/GraphicsContext3DCG.cpp:
31177         (WebCore::GraphicsContext3D::getImageData):
31178         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
31179         (WebCore::SharedGraphicsContext3D::enable):
31180         (WebCore::SharedGraphicsContext3D::disable):
31181         (WebCore::SharedGraphicsContext3D::clear):
31182         (WebCore::SharedGraphicsContext3D::drawArrays):
31183         (WebCore::SharedGraphicsContext3D::getError):
31184         (WebCore::SharedGraphicsContext3D::getIntegerv):
31185         (WebCore::SharedGraphicsContext3D::createFramebuffer):
31186         (WebCore::SharedGraphicsContext3D::createTexture):
31187         (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
31188         (WebCore::SharedGraphicsContext3D::deleteTexture):
31189         (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
31190         (WebCore::SharedGraphicsContext3D::texParameteri):
31191         (WebCore::SharedGraphicsContext3D::texImage2D):
31192         (WebCore::SharedGraphicsContext3D::texSubImage2D):
31193         (WebCore::SharedGraphicsContext3D::readPixels):
31194         (WebCore::SharedGraphicsContext3D::setActiveTexture):
31195         (WebCore::SharedGraphicsContext3D::bindTexture):
31196         (WebCore::SharedGraphicsContext3D::bindFramebuffer):
31197         * platform/graphics/gpu/SharedGraphicsContext3D.h:
31198         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
31199         (WebCore::GraphicsContext3D::activeTexture):
31200         (WebCore::GraphicsContext3D::attachShader):
31201         (WebCore::GraphicsContext3D::bindAttribLocation):
31202         (WebCore::GraphicsContext3D::bindBuffer):
31203         (WebCore::GraphicsContext3D::bindFramebuffer):
31204         (WebCore::GraphicsContext3D::bindRenderbuffer):
31205         (WebCore::GraphicsContext3D::bindTexture):
31206         (WebCore::GraphicsContext3D::blendColor):
31207         (WebCore::GraphicsContext3D::blendEquation):
31208         (WebCore::GraphicsContext3D::blendEquationSeparate):
31209         (WebCore::GraphicsContext3D::blendFunc):
31210         (WebCore::GraphicsContext3D::blendFuncSeparate):
31211         (WebCore::GraphicsContext3D::bufferData):
31212         (WebCore::GraphicsContext3D::bufferSubData):
31213         (WebCore::GraphicsContext3D::checkFramebufferStatus):
31214         (WebCore::GraphicsContext3D::clearColor):
31215         (WebCore::GraphicsContext3D::clear):
31216         (WebCore::GraphicsContext3D::clearDepth):
31217         (WebCore::GraphicsContext3D::clearStencil):
31218         (WebCore::GraphicsContext3D::colorMask):
31219         (WebCore::GraphicsContext3D::compileShader):
31220         (WebCore::GraphicsContext3D::copyTexImage2D):
31221         (WebCore::GraphicsContext3D::copyTexSubImage2D):
31222         (WebCore::GraphicsContext3D::cullFace):
31223         (WebCore::GraphicsContext3D::depthFunc):
31224         (WebCore::GraphicsContext3D::depthMask):
31225         (WebCore::GraphicsContext3D::depthRange):
31226         (WebCore::GraphicsContext3D::detachShader):
31227         (WebCore::GraphicsContext3D::disable):
31228         (WebCore::GraphicsContext3D::disableVertexAttribArray):
31229         (WebCore::GraphicsContext3D::drawArrays):
31230         (WebCore::GraphicsContext3D::drawElements):
31231         (WebCore::GraphicsContext3D::enable):
31232         (WebCore::GraphicsContext3D::enableVertexAttribArray):
31233         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
31234         (WebCore::GraphicsContext3D::framebufferTexture2D):
31235         (WebCore::GraphicsContext3D::frontFace):
31236         (WebCore::GraphicsContext3D::generateMipmap):
31237         (WebCore::GraphicsContext3D::getActiveAttrib):
31238         (WebCore::GraphicsContext3D::getActiveUniform):
31239         (WebCore::GraphicsContext3D::getAttachedShaders):
31240         (WebCore::GraphicsContext3D::getAttribLocation):
31241         (WebCore::GraphicsContext3D::getError):
31242         (WebCore::GraphicsContext3D::getString):
31243         (WebCore::GraphicsContext3D::hint):
31244         (WebCore::GraphicsContext3D::isBuffer):
31245         (WebCore::GraphicsContext3D::isEnabled):
31246         (WebCore::GraphicsContext3D::isFramebuffer):
31247         (WebCore::GraphicsContext3D::isProgram):
31248         (WebCore::GraphicsContext3D::isRenderbuffer):
31249         (WebCore::GraphicsContext3D::isShader):
31250         (WebCore::GraphicsContext3D::isTexture):
31251         (WebCore::GraphicsContext3D::lineWidth):
31252         (WebCore::GraphicsContext3D::linkProgram):
31253         (WebCore::GraphicsContext3D::pixelStorei):
31254         (WebCore::GraphicsContext3D::polygonOffset):
31255         (WebCore::GraphicsContext3D::readPixels):
31256         (WebCore::GraphicsContext3D::renderbufferStorage):
31257         (WebCore::GraphicsContext3D::sampleCoverage):
31258         (WebCore::GraphicsContext3D::scissor):
31259         (WebCore::GraphicsContext3D::stencilFunc):
31260         (WebCore::GraphicsContext3D::stencilFuncSeparate):
31261         (WebCore::GraphicsContext3D::stencilMask):
31262         (WebCore::GraphicsContext3D::stencilMaskSeparate):
31263         (WebCore::GraphicsContext3D::stencilOp):
31264         (WebCore::GraphicsContext3D::stencilOpSeparate):
31265         (WebCore::GraphicsContext3D::texParameterf):
31266         (WebCore::GraphicsContext3D::texParameteri):
31267         (WebCore::GraphicsContext3D::uniform1f):
31268         (WebCore::GraphicsContext3D::uniform1fv):
31269         (WebCore::GraphicsContext3D::uniform2f):
31270         (WebCore::GraphicsContext3D::uniform2fv):
31271         (WebCore::GraphicsContext3D::uniform3f):
31272         (WebCore::GraphicsContext3D::uniform3fv):
31273         (WebCore::GraphicsContext3D::uniform4f):
31274         (WebCore::GraphicsContext3D::uniform4fv):
31275         (WebCore::GraphicsContext3D::uniform1i):
31276         (WebCore::GraphicsContext3D::uniform1iv):
31277         (WebCore::GraphicsContext3D::uniform2i):
31278         (WebCore::GraphicsContext3D::uniform2iv):
31279         (WebCore::GraphicsContext3D::uniform3i):
31280         (WebCore::GraphicsContext3D::uniform3iv):
31281         (WebCore::GraphicsContext3D::uniform4i):
31282         (WebCore::GraphicsContext3D::uniform4iv):
31283         (WebCore::GraphicsContext3D::uniformMatrix2fv):
31284         (WebCore::GraphicsContext3D::uniformMatrix3fv):
31285         (WebCore::GraphicsContext3D::uniformMatrix4fv):
31286         (WebCore::GraphicsContext3D::useProgram):
31287         (WebCore::GraphicsContext3D::validateProgram):
31288         (WebCore::GraphicsContext3D::vertexAttrib1f):
31289         (WebCore::GraphicsContext3D::vertexAttrib1fv):
31290         (WebCore::GraphicsContext3D::vertexAttrib2f):
31291         (WebCore::GraphicsContext3D::vertexAttrib2fv):
31292         (WebCore::GraphicsContext3D::vertexAttrib3f):
31293         (WebCore::GraphicsContext3D::vertexAttrib3fv):
31294         (WebCore::GraphicsContext3D::vertexAttrib4f):
31295         (WebCore::GraphicsContext3D::vertexAttrib4fv):
31296         (WebCore::GraphicsContext3D::vertexAttribPointer):
31297         (WebCore::GraphicsContext3D::viewport):
31298         (WebCore::GraphicsContext3D::getBooleanv):
31299         (WebCore::GraphicsContext3D::getBufferParameteriv):
31300         (WebCore::GraphicsContext3D::getFloatv):
31301         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
31302         (WebCore::GraphicsContext3D::getIntegerv):
31303         (WebCore::GraphicsContext3D::getProgramiv):
31304         (WebCore::GraphicsContext3D::getProgramInfoLog):
31305         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
31306         (WebCore::GraphicsContext3D::getShaderiv):
31307         (WebCore::GraphicsContext3D::getShaderInfoLog):
31308         (WebCore::GraphicsContext3D::getTexParameterfv):
31309         (WebCore::GraphicsContext3D::getTexParameteriv):
31310         (WebCore::GraphicsContext3D::getUniformfv):
31311         (WebCore::GraphicsContext3D::getUniformiv):
31312         (WebCore::GraphicsContext3D::getUniformLocation):
31313         (WebCore::GraphicsContext3D::getVertexAttribfv):
31314         (WebCore::GraphicsContext3D::getVertexAttribiv):
31315         (WebCore::GraphicsContext3D::getVertexAttribOffset):
31316         (WebCore::GraphicsContext3D::texImage2D):
31317         (WebCore::GraphicsContext3D::texSubImage2D):
31318         (WebCore::GraphicsContext3D::createBuffer):
31319         (WebCore::GraphicsContext3D::createFramebuffer):
31320         (WebCore::GraphicsContext3D::createProgram):
31321         (WebCore::GraphicsContext3D::createRenderbuffer):
31322         (WebCore::GraphicsContext3D::createShader):
31323         (WebCore::GraphicsContext3D::createTexture):
31324         (WebCore::GraphicsContext3D::deleteBuffer):
31325         (WebCore::GraphicsContext3D::deleteFramebuffer):
31326         (WebCore::GraphicsContext3D::deleteProgram):
31327         (WebCore::GraphicsContext3D::deleteRenderbuffer):
31328         (WebCore::GraphicsContext3D::deleteShader):
31329         (WebCore::GraphicsContext3D::deleteTexture):
31330         (WebCore::GraphicsContext3D::sizeInBytes):
31331         (WebCore::GraphicsContext3D::synthesizeGLError):
31332         * platform/graphics/qt/GraphicsContext3DQt.cpp:
31333         (WebCore::GraphicsContext3D::activeTexture):
31334         (WebCore::GraphicsContext3D::attachShader):
31335         (WebCore::GraphicsContext3D::getAttachedShaders):
31336         (WebCore::GraphicsContext3D::bindAttribLocation):
31337         (WebCore::GraphicsContext3D::bindBuffer):
31338         (WebCore::GraphicsContext3D::bindFramebuffer):
31339         (WebCore::GraphicsContext3D::bindRenderbuffer):
31340         (WebCore::GraphicsContext3D::bindTexture):
31341         (WebCore::GraphicsContext3D::blendColor):
31342         (WebCore::GraphicsContext3D::blendEquation):
31343         (WebCore::GraphicsContext3D::blendEquationSeparate):
31344         (WebCore::GraphicsContext3D::blendFunc):
31345         (WebCore::GraphicsContext3D::blendFuncSeparate):
31346         (WebCore::GraphicsContext3D::bufferData):
31347         (WebCore::GraphicsContext3D::bufferSubData):
31348         (WebCore::GraphicsContext3D::checkFramebufferStatus):
31349         (WebCore::GraphicsContext3D::clearColor):
31350         (WebCore::GraphicsContext3D::clear):
31351         (WebCore::GraphicsContext3D::clearDepth):
31352         (WebCore::GraphicsContext3D::clearStencil):
31353         (WebCore::GraphicsContext3D::colorMask):
31354         (WebCore::GraphicsContext3D::compileShader):
31355         (WebCore::GraphicsContext3D::copyTexImage2D):
31356         (WebCore::GraphicsContext3D::copyTexSubImage2D):
31357         (WebCore::GraphicsContext3D::cullFace):
31358         (WebCore::GraphicsContext3D::depthFunc):
31359         (WebCore::GraphicsContext3D::depthMask):
31360         (WebCore::GraphicsContext3D::depthRange):
31361         (WebCore::GraphicsContext3D::detachShader):
31362         (WebCore::GraphicsContext3D::disable):
31363         (WebCore::GraphicsContext3D::disableVertexAttribArray):
31364         (WebCore::GraphicsContext3D::drawArrays):
31365         (WebCore::GraphicsContext3D::drawElements):
31366         (WebCore::GraphicsContext3D::enable):
31367         (WebCore::GraphicsContext3D::enableVertexAttribArray):
31368         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
31369         (WebCore::GraphicsContext3D::framebufferTexture2D):
31370         (WebCore::GraphicsContext3D::frontFace):
31371         (WebCore::GraphicsContext3D::generateMipmap):
31372         (WebCore::GraphicsContext3D::getActiveAttrib):
31373         (WebCore::GraphicsContext3D::getActiveUniform):
31374         (WebCore::GraphicsContext3D::getAttribLocation):
31375         (WebCore::GraphicsContext3D::getError):
31376         (WebCore::GraphicsContext3D::getString):
31377         (WebCore::GraphicsContext3D::hint):
31378         (WebCore::GraphicsContext3D::isBuffer):
31379         (WebCore::GraphicsContext3D::isEnabled):
31380         (WebCore::GraphicsContext3D::isFramebuffer):
31381         (WebCore::GraphicsContext3D::isProgram):
31382         (WebCore::GraphicsContext3D::isRenderbuffer):
31383         (WebCore::GraphicsContext3D::isShader):
31384         (WebCore::GraphicsContext3D::isTexture):
31385         (WebCore::GraphicsContext3D::linkProgram):
31386         (WebCore::GraphicsContext3D::pixelStorei):
31387         (WebCore::GraphicsContext3D::polygonOffset):
31388         (WebCore::GraphicsContext3D::readPixels):
31389         (WebCore::GraphicsContext3D::renderbufferStorage):
31390         (WebCore::GraphicsContext3D::sampleCoverage):
31391         (WebCore::GraphicsContext3D::scissor):
31392         (WebCore::GraphicsContext3D::stencilFunc):
31393         (WebCore::GraphicsContext3D::stencilFuncSeparate):
31394         (WebCore::GraphicsContext3D::stencilMask):
31395         (WebCore::GraphicsContext3D::stencilMaskSeparate):
31396         (WebCore::GraphicsContext3D::stencilOp):
31397         (WebCore::GraphicsContext3D::stencilOpSeparate):
31398         (WebCore::GraphicsContext3D::texParameterf):
31399         (WebCore::GraphicsContext3D::texParameteri):
31400         (WebCore::GraphicsContext3D::uniform1f):
31401         (WebCore::GraphicsContext3D::uniform1fv):
31402         (WebCore::GraphicsContext3D::uniform2f):
31403         (WebCore::GraphicsContext3D::uniform2fv):
31404         (WebCore::GraphicsContext3D::uniform3f):
31405         (WebCore::GraphicsContext3D::uniform3fv):
31406         (WebCore::GraphicsContext3D::uniform4f):
31407         (WebCore::GraphicsContext3D::uniform4fv):
31408         (WebCore::GraphicsContext3D::uniform1i):
31409         (WebCore::GraphicsContext3D::uniform1iv):
31410         (WebCore::GraphicsContext3D::uniform2i):
31411         (WebCore::GraphicsContext3D::uniform2iv):
31412         (WebCore::GraphicsContext3D::uniform3i):
31413         (WebCore::GraphicsContext3D::uniform3iv):
31414         (WebCore::GraphicsContext3D::uniform4i):
31415         (WebCore::GraphicsContext3D::uniform4iv):
31416         (WebCore::GraphicsContext3D::uniformMatrix2fv):
31417         (WebCore::GraphicsContext3D::uniformMatrix3fv):
31418         (WebCore::GraphicsContext3D::uniformMatrix4fv):
31419         (WebCore::GraphicsContext3D::useProgram):
31420         (WebCore::GraphicsContext3D::validateProgram):
31421         (WebCore::GraphicsContext3D::vertexAttrib1f):
31422         (WebCore::GraphicsContext3D::vertexAttrib1fv):
31423         (WebCore::GraphicsContext3D::vertexAttrib2f):
31424         (WebCore::GraphicsContext3D::vertexAttrib2fv):
31425         (WebCore::GraphicsContext3D::vertexAttrib3f):
31426         (WebCore::GraphicsContext3D::vertexAttrib3fv):
31427         (WebCore::GraphicsContext3D::vertexAttrib4f):
31428         (WebCore::GraphicsContext3D::vertexAttrib4fv):
31429         (WebCore::GraphicsContext3D::vertexAttribPointer):
31430         (WebCore::GraphicsContext3D::viewport):
31431         (WebCore::GraphicsContext3D::getBooleanv):
31432         (WebCore::GraphicsContext3D::getBufferParameteriv):
31433         (WebCore::GraphicsContext3D::getFloatv):
31434         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
31435         (WebCore::GraphicsContext3D::getIntegerv):
31436         (WebCore::GraphicsContext3D::getProgramiv):
31437         (WebCore::GraphicsContext3D::getProgramInfoLog):
31438         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
31439         (WebCore::GraphicsContext3D::getShaderiv):
31440         (WebCore::GraphicsContext3D::getShaderInfoLog):
31441         (WebCore::GraphicsContext3D::getShaderSource):
31442         (WebCore::GraphicsContext3D::getTexParameterfv):
31443         (WebCore::GraphicsContext3D::getTexParameteriv):
31444         (WebCore::GraphicsContext3D::getUniformfv):
31445         (WebCore::GraphicsContext3D::getUniformiv):
31446         (WebCore::GraphicsContext3D::getUniformLocation):
31447         (WebCore::GraphicsContext3D::getVertexAttribfv):
31448         (WebCore::GraphicsContext3D::getVertexAttribiv):
31449         (WebCore::GraphicsContext3D::getVertexAttribOffset):
31450         (WebCore::GraphicsContext3D::texImage2D):
31451         (WebCore::GraphicsContext3D::texSubImage2D):
31452         (WebCore::GraphicsContext3D::createBuffer):
31453         (WebCore::GraphicsContext3D::createFramebuffer):
31454         (WebCore::GraphicsContext3D::createProgram):
31455         (WebCore::GraphicsContext3D::createRenderbuffer):
31456         (WebCore::GraphicsContext3D::createShader):
31457         (WebCore::GraphicsContext3D::createTexture):
31458         (WebCore::GraphicsContext3D::deleteBuffer):
31459         (WebCore::GraphicsContext3D::deleteFramebuffer):
31460         (WebCore::GraphicsContext3D::deleteProgram):
31461         (WebCore::GraphicsContext3D::deleteRenderbuffer):
31462         (WebCore::GraphicsContext3D::deleteShader):
31463         (WebCore::GraphicsContext3D::deleteTexture):
31464         (WebCore::GraphicsContext3D::sizeInBytes):
31465         (WebCore::GraphicsContext3D::synthesizeGLError):
31466         (WebCore::GraphicsContext3D::getImageData):
31467         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
31468         (WebCore::GraphicsContext3D::getImageData):
31469
31470 2011-01-06  Martin Robinson  <mrobinson@igalia.com>
31471
31472         Reviewed by Eric Seidel.
31473
31474         [GTK] Initial build support for WebGL
31475         https://bugs.webkit.org/show_bug.cgi?id=51716
31476
31477         Add initial build support for WebGL and insert bits of implementation
31478         necessary for clean compilation into GraphicsContext3D.
31479
31480         No new tests. This is just a build change.
31481
31482         * GNUmakefile.am: Add missing files to the source lists.
31483         * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below.
31484         Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the
31485         same across different platforms. X11 headers define the VERSION symbol, so it's
31486         necessary to undefine it, since it's used as an enum value.
31487
31488 2011-01-06  Helder Correia  <helder@sencha.com>
31489
31490         Reviewed by Kenneth Rohde Christiansen.
31491
31492         [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow
31493         https://bugs.webkit.org/show_bug.cgi?id=52014
31494
31495         The function is only used by RenderObject to draw box sides.
31496         The shadow branch is never used and thus can be removed.
31497
31498         No new tests are necessary.
31499
31500         * platform/graphics/qt/GraphicsContextQt.cpp:
31501         (WebCore::GraphicsContext::drawConvexPolygon):
31502
31503 2011-01-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
31504
31505         Reviewed by Kenneth Rohde Christiansen.
31506
31507         [Qt] Make sure touch is disabled in the minimal configuration
31508         https://bugs.webkit.org/show_bug.cgi?id=51316
31509
31510         No new tests as there is no new functionality.
31511
31512         * features.pri:
31513
31514 2011-01-06  Martin Robinson  <mrobinson@igalia.com>
31515
31516         Reviewed by Eric Seidel.
31517
31518         [GTK] Freetype backend does not support WOFF
31519         https://bugs.webkit.org/show_bug.cgi?id=51904
31520
31521         * CMakeListsEfl.txt: Add WOFF support to the sources list.
31522         * GNUmakefile.am: Add WOFF support to the sources list.
31523         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
31524         (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate.
31525         (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF.
31526
31527 2011-01-06  James Simonsen  <simonjam@chromium.org>
31528
31529         Reviewed by Darin Fisher.
31530
31531         [Web Timing] Remove vendor prefix
31532         https://bugs.webkit.org/show_bug.cgi?id=48922
31533
31534         * page/DOMWindow.cpp:
31535         (WebCore::DOMWindow::performance): Rename to performance.
31536         * page/DOMWindow.h:
31537         * page/DOMWindow.idl: Rename to performance and make replaceable.
31538
31539 2011-01-06  Chris Marrin  <cmarrin@apple.com>
31540
31541         Reviewed by Simon Fraser.
31542
31543         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
31544         https://bugs.webkit.org/show_bug.cgi?id=49388
31545
31546         Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is
31547         used to communicate from PlatformCALayer to the owner. This replaces passing
31548         GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the
31549         API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements
31550         the PlatformCALayerClient API.
31551
31552         This change has little impact on the Mac side but makes the Windows
31553         interface simpler, especially when handling video layers on Windows.
31554
31555         * WebCore.xcodeproj/project.pbxproj:
31556         * config.h:
31557         * platform/graphics/GraphicsLayer.h:
31558         (WebCore::GraphicsLayer::layerDidDisplay):
31559         (WebCore::GraphicsLayer::showDebugBorders):
31560         (WebCore::GraphicsLayer::showRepaintCounter):
31561         * platform/graphics/ca/GraphicsLayerCA.cpp:
31562         (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
31563         (WebCore::GraphicsLayerCA::setContentsToImage):
31564         (WebCore::GraphicsLayerCA::setContentsToMedia):
31565         (WebCore::GraphicsLayerCA::layerDidDisplay):
31566         (WebCore::GraphicsLayerCA::updateSublayerList):
31567         * platform/graphics/ca/GraphicsLayerCA.h:
31568         (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
31569         (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
31570         (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
31571         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
31572         (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
31573         (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
31574         (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
31575         (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
31576         (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
31577         (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
31578         (WebCore::GraphicsLayerCA::platformCALayer):
31579         * platform/graphics/ca/PlatformCALayer.h:
31580         (WebCore::PlatformCALayer::owner):
31581         (WebCore::PlatformCALayer::animationStarted):
31582         * platform/graphics/ca/PlatformCALayerClient.h: Added.
31583         (WebCore::PlatformCALayerClient::~PlatformCALayerClient):
31584         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
31585         (PlatformCALayer::setOwner):
31586         (PlatformCALayer::create):
31587         (PlatformCALayer::PlatformCALayer):
31588         (PlatformCALayer::contents):
31589         (PlatformCALayer::setContents):
31590         * platform/graphics/mac/WebGLLayer.mm:
31591         (-[WebGLLayer display]):
31592         * platform/graphics/mac/WebLayer.h:
31593         * platform/graphics/mac/WebLayer.mm:
31594         (drawLayerContents):
31595         (setLayerNeedsDisplayInRect):
31596         (-[WebLayer setNeedsDisplay]):
31597         (-[WebLayer display]):
31598         * platform/graphics/mac/WebTiledLayer.mm:
31599         (-[WebTiledLayer setNeedsDisplay]):
31600         (-[WebTiledLayer display]):
31601         * rendering/RenderLayerBacking.cpp:
31602         (WebCore::RenderLayerBacking::showDebugBorders):
31603         (WebCore::RenderLayerBacking::showRepaintCounter):
31604         * rendering/RenderLayerCompositor.cpp:
31605         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
31606         * rendering/RenderLayerCompositor.h:
31607         (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
31608         (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
31609         (WebCore::RenderLayerCompositor::notifyAnimationStarted):
31610         (WebCore::RenderLayerCompositor::notifySyncRequired):
31611         (WebCore::RenderLayerCompositor::paintContents):
31612         (WebCore::RenderLayerCompositor::showDebugBorders):
31613         (WebCore::RenderLayerCompositor::showRepaintCounter):
31614
31615 2011-01-06  Tony Gentilcore  <tonyg@chromium.org>
31616
31617         Reviewed by Eric Seidel.
31618
31619         Allow framesets after hidden inputs
31620         https://bugs.webkit.org/show_bug.cgi?id=51998
31621
31622         This implements the HTML5 spec update in response to:
31623         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156
31624
31625         * html/parser/HTMLTreeBuilder.cpp:
31626         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
31627
31628 2010-12-29  Zhenyao Mo  <zmo@google.com>
31629
31630         Reviewed by Kenneth Russell.
31631
31632         vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size
31633         https://bugs.webkit.org/show_bug.cgi?id=51725
31634
31635         * html/canvas/WebGLRenderingContext.cpp:
31636         (WebCore::WebGLRenderingContext::vertexAttribPointer):
31637
31638 2011-01-06  Patrick Gansterer  <paroga@webkit.org>
31639
31640         Reviewed by Eric Seidel.
31641
31642         [WINCE] Remove JSC::g_stackBase
31643         https://bugs.webkit.org/show_bug.cgi?id=51779
31644
31645         * platform/wince/SharedTimerWinCE.cpp:
31646         (WebCore::TimerWindowWndProc):
31647
31648 2011-01-06  Robert Hogan  <robert@webkit.org>
31649
31650         Reviewed by Antonio Gomes.
31651
31652         [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge
31653
31654         This allows LayoutTestController to pass WebCore::Node back to
31655         layout tests.
31656
31657         Also amend nodesFromRect-links-and-text.html and
31658         nodesFromRect-inner-documents.html so that they do not produce
31659         platform-specific results.
31660
31661         Unskip:
31662         fast/dom/nodesFromRect-links-and-text.html
31663         fast/dom/nodesFromRect-inner-documents.html
31664
31665         https://bugs.webkit.org/show_bug.cgi?id=48957
31666
31667         * bridge/qt/qt_runtime.cpp:
31668         (JSC::Bindings::QtDRTNodeRuntime::create):
31669         (JSC::Bindings::QtDRTNodeRuntime::get):
31670         (JSC::Bindings::convertValueToQVariant):
31671         (JSC::Bindings::convertQVariantToValue):
31672
31673 2011-01-06  Joone Hur  <joone.hur@collabora.co.uk>
31674
31675         Reviewed by Eric Seidel.
31676
31677         WML Parser should treat line/column number in a consistent way
31678         https://bugs.webkit.org/show_bug.cgi?id=51601
31679
31680         XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based.
31681         Therefore, this patch allows WML ErrorHandler to use 1-based values.
31682
31683         * dom/XMLDocumentParser.cpp:
31684         (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values.
31685         * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number.
31686         * dom/XMLDocumentParserLibxml2.cpp:
31687         (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
31688         * dom/XMLDocumentParserQt.cpp:
31689         (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
31690         * wml/WMLErrorHandling.cpp:
31691         (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number.
31692
31693 2011-01-05  Adam Roben  <aroben@apple.com>
31694
31695         Remove some dead code from WKCACFLayerRenderer
31696
31697         Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and
31698         redundant code for reacting to changes to the layer tree
31699
31700         Reviewed by Sam Weinig.
31701
31702         * platform/graphics/win/WKCACFLayerRenderer.cpp:
31703         * platform/graphics/win/WKCACFLayerRenderer.h:
31704         Removed didFlushContext and the HashMap it depended on. We react to
31705         changes to the layer tree in layerTreeDidChange instead.
31706
31707 2011-01-06  Chris Fleizach  <cfleizach@apple.com>
31708
31709         Reviewed by Beth Dakin.
31710
31711         AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded
31712         https://bugs.webkit.org/show_bug.cgi?id=51995
31713
31714         Test: platform/mac/accessibility/aria-expanded-standard-items.html
31715
31716         * accessibility/AccessibilityObject.cpp:
31717         (WebCore::AccessibilityObject::supportsARIAExpanded):
31718         (WebCore::AccessibilityObject::isExpanded):
31719         * accessibility/AccessibilityObject.h:
31720         * accessibility/AccessibilityRenderObject.cpp:
31721         (WebCore::AccessibilityRenderObject::isVisited):
31722         * accessibility/AccessibilityRenderObject.h:
31723         * accessibility/mac/AccessibilityObjectWrapper.mm:
31724         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
31725
31726 2010-12-28  Zhenyao Mo  <zmo@google.com>
31727
31728         Reviewed by Kenneth Russell.
31729
31730         Must generate INVALID_VALUE errors for strings containing out-of-range characters
31731         https://bugs.webkit.org/show_bug.cgi?id=50929
31732
31733         * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1.
31734         (WebCore::WebGLRenderingContext::bindAttribLocation):
31735         (WebCore::WebGLRenderingContext::getAttribLocation):
31736         (WebCore::WebGLRenderingContext::getUniformLocation):
31737         (WebCore::WebGLRenderingContext::shaderSource):
31738         (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation.
31739         * html/canvas/WebGLRenderingContext.h: Declare validateString().
31740
31741 2011-01-06  Yong Li  <yoli@rim.com>
31742
31743         Reviewed by Adam Barth.
31744         Add the test case that is missed in r75066.
31745         https://bugs.webkit.org/show_bug.cgi?id=48077
31746
31747         Test case: WebCore/manual-tests/bugzilla-48077.html.
31748
31749 2011-01-06  James Robinson  <jamesr@chromium.org>
31750
31751         Reviewed by Simon Fraser.
31752
31753         Implement mozilla's animationTime property
31754         https://bugs.webkit.org/show_bug.cgi?id=51952
31755
31756         Implements mozilla's animationTime property as described here:
31757         https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime
31758         and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/
31759         The property is called webkitAnimationTime as calling it the 'Start' time is not very informative.
31760         This property exposes a notion of a 'current' time to use for declarative animations and allows
31761         scripts to synchronize imperative animations with declarative ones if they choose to.  Once queried
31762         this time is saved and used for all declarative animation updates until the embedder paints/composites
31763         the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example
31764         if the page is in a background tab).
31765
31766         This patch also ensures that all declarative animations started in the same script execution block
31767         are synchronized even if some time elapses while script is running.
31768
31769         Test: fast/animation/animation-time.html
31770
31771         * WebCore.gypi:
31772         * page/DOMWindow.cpp:
31773         (WebCore::DOMWindow::webkitAnimationTime):
31774         * page/DOMWindow.h:
31775         * page/DOMWindow.idl:
31776         * page/Frame.cpp:
31777         (WebCore::Frame::currentAnimationTime):
31778         * page/Frame.h:
31779         * page/Page.cpp:
31780         (WebCore::Page::Page):
31781         * page/Page.h:
31782         (WebCore::Page::animationTime):
31783         * page/animation/AnimationController.cpp:
31784         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
31785         * page/animation/AnimationTimeController.cpp: Added.
31786         (WebCore::AnimationTimeController::AnimationTimeController):
31787         (WebCore::AnimationTimeController::~AnimationTimeController):
31788         (WebCore::AnimationTimeController::currentAnimationTime):
31789         (WebCore::AnimationTimeController::clearCurrentAnimationTime):
31790         (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired):
31791         * page/animation/AnimationTimeController.h: Added.
31792         (WebCore::AnimationTimeController::create):
31793
31794 2011-01-06  Abhishek Arya  <inferno@chromium.org>
31795
31796         Reviewed by Simon Fraser.
31797
31798         Null out the parent stylesheet pointer when a css rule is removed.
31799         https://bugs.webkit.org/show_bug.cgi?id=51993
31800
31801         Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html
31802                fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html
31803
31804         * css/CSSRuleList.cpp:
31805         (WebCore::CSSRuleList::deleteRule):
31806         * css/CSSStyleSheet.cpp:
31807         (WebCore::CSSStyleSheet::deleteRule):
31808
31809 2011-01-04  Adrienne Walker  <enne@google.com>
31810
31811         Reviewed by Kenneth Russell.
31812
31813         NaN in a TypedArray should be converted to zero only for Float32Array.
31814         https://bugs.webkit.org/show_bug.cgi?id=46990
31815
31816         Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html
31817
31818         * bindings/js/JSArrayBufferViewHelper.h:
31819         (WebCore::convertArrayValue):
31820         (WebCore::constructArrayBufferView):
31821         * html/canvas/Float32Array.h:
31822         (WebCore::Float32Array::set):
31823         (WebCore::Float32Array::item):
31824
31825 2011-01-06  Patrick Gansterer  <paroga@webkit.org>
31826
31827         Unreviewed Windows build fix for r75161.
31828
31829         * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added.
31830
31831 2011-01-06  Patrick Gansterer  <paroga@webkit.org>
31832
31833         Unreviewed WinCE build fix for r75139.
31834
31835         Try to remove include after adding forward-declaration in r75145.
31836
31837         * platform/graphics/Gradient.h:
31838
31839 2011-01-06  Renata Hodovan  <reni@webkit.org>
31840
31841         Reviewed by Andreas Kling.
31842
31843         https://bugs.webkit.org/show_bug.cgi?id=51811
31844         Merge m_height and m_width members of ImageData into the new m_size member.
31845
31846         Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their
31847         width and height argument, except ImageData. This patch refactors ImageData
31848         to follow the style of other Image types in WebKit.
31849         Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore.
31850         This patch also refactors the PassRefPtr usages of ImageData.
31851
31852         It's just a refactoring, so we don't need any new tests.
31853
31854         * bindings/js/SerializedScriptValue.cpp:
31855         (WebCore::CloneSerializer::write):
31856         (WebCore::CloneDeserializer::readTerminal):
31857         * bindings/v8/SerializedScriptValue.cpp:
31858         (WebCore::ZigZag::Reader::readImageData):
31859         * html/ImageData.cpp:
31860         (WebCore::ImageData::create):
31861         (WebCore::ImageData::ImageData):
31862         * html/ImageData.h:
31863         (WebCore::ImageData::size):
31864         (WebCore::ImageData::width):
31865         (WebCore::ImageData::height):
31866         * html/canvas/CanvasRenderingContext2D.cpp:
31867         (WebCore::createEmptyImageData):
31868         (WebCore::CanvasRenderingContext2D::createImageData):
31869         (WebCore::CanvasRenderingContext2D::getImageData):
31870         * html/canvas/CanvasRenderingContext2D.h:
31871         * platform/graphics/haiku/ImageBufferHaiku.cpp:
31872         (WebCore::getImageData):
31873
31874 2011-01-06  Yael Aharon  <yael.aharon@nokia.com>
31875
31876         Reviewed by Darin Adler.
31877
31878         document.querySelector(':nth-child(foo)') should throw a syntax error
31879         https://bugs.webkit.org/show_bug.cgi?id=51231
31880
31881         Also fixes 
31882         CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
31883         https://bugs.webkit.org/show_bug.cgi?id=21815
31884
31885         Add a check in the parser that other than an+b, only "odd" or "even" would be allowed
31886         as parameters to nth selector.
31887
31888         Tests: fast/css/css3-nth-tokens-script.html
31889                fast/css/css3-nth-tokens-style.html
31890
31891         * css/CSSGrammar.y:
31892         * css/CSSParser.cpp:
31893         (WebCore::isValidNthToken):
31894         * css/CSSParser.h:
31895
31896 2011-01-06  Jan Erik Hanssen  <jhanssen@sencha.com>
31897
31898         Reviewed by Andreas Kling.
31899
31900         [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded()
31901         https://bugs.webkit.org/show_bug.cgi?id=51453
31902
31903         Check if m_reply is NULL before accessing.
31904
31905         * manual-tests/load-deferrer-resume-crash.html: Added.
31906         * platform/network/qt/QNetworkReplyHandler.cpp:
31907         (WebCore::QNetworkReplyHandler::setLoadMode):
31908         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
31909
31910 2011-01-06  Andras Becsi  <abecsi@webkit.org>
31911
31912         Reviewed by Csaba Osztrogonác.
31913
31914         [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled.
31915
31916         No new tests needed.
31917
31918         * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures.
31919
31920 2011-01-06  Helder Correia  <helder@sencha.com>
31921
31922         Reviewed by Kenneth Rohde Christiansen.
31923
31924         [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code
31925         https://bugs.webkit.org/show_bug.cgi?id=51985
31926
31927         r75139 introduced GraphicsContext::hasShadow(). This can now simplify
31928         and unify some code in the Qt and GTK ports.
31929
31930         No new tests necessary for this refactoring.
31931
31932         * platform/graphics/cairo/GraphicsContextCairo.cpp:
31933         (WebCore::GraphicsContext::fillRect):
31934         (WebCore::GraphicsContext::fillRoundedRect):
31935         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
31936         * platform/graphics/qt/GraphicsContextQt.cpp:
31937         (WebCore::GraphicsContext::drawConvexPolygon):
31938         (WebCore::GraphicsContext::fillPath):
31939         (WebCore::GraphicsContext::strokePath):
31940         (WebCore::GraphicsContext::fillRect):
31941         (WebCore::GraphicsContext::fillRoundedRect):
31942
31943 2011-01-05  Darin Adler  <darin@apple.com>
31944
31945         Fix Chromium Mac build.
31946
31947         * platform/graphics/Gradient.h: Forward-declare CGContextRef.
31948         This might even make it possible to remove the include of
31949         <CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not
31950         do that at this time because I don't want to break the Windows
31951         build when fixing the Chromium build.
31952
31953 2011-01-05  Xianzhu Wang  <wangxianzhu@google.com>
31954
31955         Reviewed by David Levin.
31956
31957         Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp)
31958         https://bugs.webkit.org/show_bug.cgi?id=51736
31959
31960         No new tests. This change has potential effect on @font-face CSS feature
31961         on ports using Skia. Tested on Chromium that this change won't break
31962         fast/css/font-face-remote.html. This change can make the test pass on
31963         other ports using Skia.
31964
31965         * platform/graphics/skia/FontCustomPlatformData.cpp:
31966         (WebCore::RemoteFontStream::read):
31967
31968 2011-01-05  Helder Correia  <helder@sencha.com>
31969
31970         Reviewed by Simon Fraser.
31971
31972         Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac
31973         https://bugs.webkit.org/show_bug.cgi?id=51869
31974
31975         GraphicsContext::fillRect(const FloatRect&) is clipping to the rect.
31976         The shadow is being drawn, but getting clipped to the rect being filled.
31977         The solution is to draw the gradient into a CGLayer (when a shadow is
31978         required), then render the layer to the GraphicsContext.
31979
31980         This patch also fixes:
31981         canvas/philip/tests/2d.shadow.gradient.alpha.html
31982         canvas/philip/tests/2d.shadow.gradient.basic.html
31983         canvas/philip/tests/2d.shadow.gradient.transparent.2.html
31984
31985         Test: fast/canvas/canvas-fillRect-gradient-shadow.html
31986
31987         * platform/graphics/Gradient.h:
31988         * platform/graphics/cg/GradientCG.cpp:
31989         (WebCore::Gradient::paint):
31990         * platform/graphics/cg/GraphicsContextCG.cpp:
31991         (WebCore::GraphicsContext::fillRect):
31992
31993 2011-01-05  Steve Falkenburg  <sfalken@apple.com>
31994
31995         Reviewed by Darin Adler.
31996
31997         Debug and Release builds on Windows clobber each other
31998         https://bugs.webkit.org/show_bug.cgi?id=49185
31999
32000         Changes the structure of WebKitBuild build products directory so we
32001         completely separate each build configuration into independent directories.
32002         
32003         Although we previously had per-configuration directories for obj, this change adds
32004         per-configuration directories for bin, lib, obj, and include. Each configuration's
32005         build products are stored within a directory inside of WebKitBuild.
32006         
32007         Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
32008         defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
32009
32010         * WebCore.vcproj/QTMovieWinCommon.vsprops:
32011         * WebCore.vcproj/QTMovieWinPostBuild.cmd:
32012         * WebCore.vcproj/QTMovieWinPreBuild.cmd:
32013         * WebCore.vcproj/WebCore.make:
32014         * WebCore.vcproj/WebCore.vcproj:
32015         * WebCore.vcproj/WebCoreCommon.vsprops:
32016         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
32017         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
32018         * WebCore.vcproj/WebCoreMediaQT.vsprops:
32019         * WebCore.vcproj/WebCorePostBuild.cmd:
32020         * WebCore.vcproj/WebCorePreBuild.cmd:
32021         * WebCore.vcproj/copyForwardingHeaders.cmd:
32022         * WebCore.vcproj/copyInspectorFiles.cmd:
32023
32024 2011-01-05  Simon Fraser  <simon.fraser@apple.com>
32025
32026         Reviewed by Ariya Hidayat.
32027
32028         Directly composited SVG images fail to render
32029         https://bugs.webkit.org/show_bug.cgi?id=51975
32030         
32031         There was already code, added in r67900, to detect whether an image
32032         may be directly composited, by checking to see if it's a bitmap image.
32033         
32034         However, CachedImage::image() returns the nullImage() if m_image is null,
32035         which is a BitmapImage, confusing this test.
32036
32037         Test: compositing/images/direct-svg-image.html
32038
32039         * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has
32040         exactly the same method.
32041         (WebCore::CachedImage::image): Use Image::nullImage().
32042         * loader/cache/CachedImage.h:
32043         (WebCore::CachedImage::hasImage): New method to ask whether the m_image is
32044         non-null.
32045         * rendering/RenderLayerBacking.cpp:
32046         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
32047         so that we don't test the nullImage.
32048
32049 2011-01-05  Simon Fraser  <simon.fraser@apple.com>
32050
32051         Reviewed by Darin Adler.
32052
32053         Fix percentage values in radius of radial gradients
32054         https://bugs.webkit.org/show_bug.cgi?id=51979
32055         
32056         Handle percentage values for the ending size of radial gradients.
32057
32058         Test: fast/gradients/css3-radial-gradients3.html
32059
32060         * css/CSSGradientValue.cpp:
32061         (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is
32062         non-null if percentage values are allowed, and compute percentage values when we see them.
32063         (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that
32064         percentages are OK when resolving end radii.
32065         * css/CSSGradientValue.h: New parameter for resolveRadius.
32066
32067 2011-01-05  James Simonsen  <simonjam@chromium.org>
32068
32069         Reviewed by Adam Barth.
32070
32071         [Web Timing] Zero out some values on cross-origin redirects
32072         https://bugs.webkit.org/show_bug.cgi?id=49294
32073
32074         Tests: http/tests/misc/webtiming-cross-origin-redirect.php
32075                http/tests/misc/webtiming-origins.html
32076
32077         * loader/DocumentLoadTiming.h:
32078         (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation.
32079         * loader/FrameLoader.cpp:
32080         (WebCore::FrameLoader::~FrameLoader):
32081         (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times.
32082         (WebCore::FrameLoader::completed):
32083         (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin.
32084         (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin.
32085         * loader/FrameLoader.h:
32086         * loader/MainResourceLoader.cpp:
32087         (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects.
32088         * page/PerformanceNavigation.cpp:
32089         (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set.
32090         * page/PerformanceTiming.cpp:
32091         (WebCore::PerformanceTiming::redirectStart): Ditto.
32092         (WebCore::PerformanceTiming::redirectEnd): Ditto.
32093         (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set.
32094         (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
32095
32096 2011-01-05  Helder Correia  <helder@sencha.com>
32097
32098         Reviewed by Ariya Hidayat.
32099
32100         [Qt] Default focus ring is too wide
32101         https://bugs.webkit.org/show_bug.cgi?id=51854
32102
32103         This is an intermediate step to solve this bug. Use QPalette::Highlight
32104         instead of default half-transparent black as the focus ring color.
32105
32106         * platform/graphics/qt/GraphicsContextQt.cpp:
32107         (WebCore::drawFocusRingForPath):
32108         * platform/qt/RenderThemeQt.cpp:
32109         (WebCore::RenderThemeQt::platformFocusRingColor):
32110         * platform/qt/RenderThemeQt.h:
32111
32112 2011-01-05  James Simonsen  <simonjam@chromium.org>
32113
32114         Reviewed by Darin Fisher.
32115
32116         [Web Timing] requestStart and responseStart should be available even if the document is still loading
32117         https://bugs.webkit.org/show_bug.cgi?id=51368
32118
32119         Test: http/tests/misc/webtiming-slow-load.php
32120
32121         * page/PerformanceTiming.cpp:
32122         (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete.
32123         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound.
32124
32125 2011-01-05  Chris Rogers  <crogers@google.com>
32126
32127         Reviewed by Darin Fisher.
32128
32129         Add WebKitClient::createAudioDevice() for Chromium port of web audio API
32130         https://bugs.webkit.org/show_bug.cgi?id=51424
32131
32132         No new tests since audio API is not yet implemented.
32133
32134         * WebCore.gyp/WebCore.gyp:
32135         * WebCore.gypi:
32136
32137 2011-01-05  Anders Carlsson  <andersca@apple.com>
32138
32139         Try again.
32140
32141         * WebCore.exp.in:
32142
32143 2011-01-05  Anders Carlsson  <andersca@apple.com>
32144
32145         Attempt to fix Leopard build.
32146
32147         * WebCore.exp.in:
32148
32149 2011-01-05  Evan Martin  <evan@chromium.org>
32150
32151         Reviewed by Tony Chang.
32152
32153         [chromium] refactor complex text on Linux
32154         https://bugs.webkit.org/show_bug.cgi?id=51956
32155
32156         Pull out TextRunWalker from FontLinux.cpp.  Put it in its own file.
32157         Rename it to ComplexTextController, to match platform/graphics/mac
32158         more closely.
32159
32160         No tests because the change is just renaming a class.
32161
32162         * WebCore.gyp/WebCore.gyp:
32163         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added.
32164         (WebCore::ComplexTextController::ComplexTextController):
32165         (WebCore::ComplexTextController::~ComplexTextController):
32166         (WebCore::ComplexTextController::isWordBreak):
32167         (WebCore::ComplexTextController::determineWordBreakSpacing):
32168         (WebCore::ComplexTextController::setPadding):
32169         (WebCore::ComplexTextController::reset):
32170         (WebCore::ComplexTextController::setBackwardsIteration):
32171         (WebCore::ComplexTextController::nextScriptRun):
32172         (WebCore::ComplexTextController::widthOfFullRun):
32173         (WebCore::ComplexTextController::setupFontForScriptRun):
32174         (WebCore::ComplexTextController::allocHarfbuzzFont):
32175         (WebCore::ComplexTextController::deleteGlyphArrays):
32176         (WebCore::ComplexTextController::createGlyphArrays):
32177         (WebCore::ComplexTextController::resetGlyphArrays):
32178         (WebCore::ComplexTextController::shapeGlyphs):
32179         (WebCore::ComplexTextController::setGlyphXPositions):
32180         (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
32181         (WebCore::ComplexTextController::getNormalizedTextRun):
32182         * platform/graphics/chromium/ComplexTextControllerLinux.h: Added.
32183         (WebCore::ComplexTextController::setWordSpacingAdjustment):
32184         (WebCore::ComplexTextController::setLetterSpacingAdjustment):
32185         (WebCore::ComplexTextController::letterSpacing):
32186         (WebCore::ComplexTextController::setXOffsetToZero):
32187         (WebCore::ComplexTextController::rtl):
32188         (WebCore::ComplexTextController::glyphs):
32189         (WebCore::ComplexTextController::length):
32190         (WebCore::ComplexTextController::xPositions):
32191         (WebCore::ComplexTextController::advances):
32192         (WebCore::ComplexTextController::width):
32193         (WebCore::ComplexTextController::logClusters):
32194         (WebCore::ComplexTextController::numCodePoints):
32195         (WebCore::ComplexTextController::fontPlatformDataForScriptRun):
32196         (WebCore::ComplexTextController::isCodepointSpace):
32197         * platform/graphics/chromium/FontLinux.cpp:
32198         (WebCore::Font::drawComplexText):
32199         (WebCore::Font::floatWidthForComplexText):
32200         (WebCore::glyphIndexForXPositionInScriptRun):
32201         (WebCore::Font::offsetForPositionForComplexText):
32202         (WebCore::Font::selectionRectForComplexText):
32203
32204 2011-01-05  Pratik Solanki  <psolanki@apple.com>
32205
32206         Reviewed by Darin Adler.
32207
32208         Merge cf and mac header files with same name
32209         https://bugs.webkit.org/show_bug.cgi?id=51916
32210
32211         Since most of the code in the header files is identical, we can merge them and have #if
32212         USE(CFNETWORK) to separate out the network specific parts.
32213
32214         * WebCore.xcodeproj/project.pbxproj:
32215         * platform/network/cf/AuthenticationChallenge.h:
32216         (WebCore::AuthenticationChallenge::sender):
32217         (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
32218         * platform/network/cf/ResourceError.h:
32219         (WebCore::ResourceError::ResourceError):
32220         * platform/network/cf/ResourceRequest.h:
32221         (WebCore::ResourceRequest::ResourceRequest):
32222         * platform/network/cf/ResourceResponse.h:
32223         (WebCore::ResourceResponse::ResourceResponse):
32224         * platform/network/mac/AuthenticationChallenge.h: Removed.
32225         * platform/network/mac/ResourceError.h: Removed.
32226         * platform/network/mac/ResourceRequest.h: Removed.
32227         * platform/network/mac/ResourceResponse.h: Removed.
32228
32229 2011-01-05  Anders Carlsson  <andersca@apple.com>
32230
32231         Reviewed by Adele Peterson.
32232
32233         Implement word transformation
32234         https://bugs.webkit.org/show_bug.cgi?id=51943
32235
32236         Export Editor functions needed by WebKit2.
32237
32238         * WebCore.exp.in:
32239
32240 2011-01-05  Simon Fraser  <simon.fraser@apple.com>
32241
32242         Reviewed by Dave Hyatt.
32243
32244         Implement repeating CSS3 gradients
32245         https://bugs.webkit.org/show_bug.cgi?id=51843
32246         
32247         Add support for repeating gradients, via the new gradient functions
32248         -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient.
32249
32250         Tests: fast/gradients/css3-repeating-linear-gradients.html
32251                fast/gradients/css3-repeating-radial-gradients.html
32252
32253         * css/CSSGradientValue.h:
32254         (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats.
32255         (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in.
32256         (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat.
32257         (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto
32258         (WebCore::CSSRadialGradientValue::create): Ditto.
32259         (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto.
32260
32261         * css/CSSGradientValue.cpp:
32262         (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which
32263         is used for repeating radial gradients. Add code to repeat the stops,
32264         adding stops before the start, and after the end until the 0-N range is
32265         covered, where N is large enough to ensure the box is covered. Fix an issue
32266         with repeating gradients where if both stops were < 0, it would fail to clamp
32267         them to 0.
32268         
32269         (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients.
32270         (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1,
32271         because they are guaranteed to fill the box already.
32272         (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients.
32273         (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest
32274         corner in order to inform addStops() how much additional extent is required.
32275
32276         * css/CSSParser.cpp:
32277         (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat.
32278         (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat.
32279         (WebCore::CSSParser::parseRadialGradient): Ditto.
32280         (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions.
32281         (WebCore::CSSParser::parseGeneratedImage): Ditto.
32282         * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions.
32283         * platform/graphics/cg/GradientCG.cpp: Remove unused #include.
32284
32285 2011-01-05  Martin Robinson  <mrobinson@igalia.com>
32286
32287         Reviewed by Ariya Hidayat.
32288
32289         ContextShadow::blurLayerImage() not endian-safe
32290         https://bugs.webkit.org/show_bug.cgi?id=51822
32291
32292         Correct the channel map in ContextShadow to reflect the different
32293         ordering of pixels on processors with different endianness.
32294
32295         No new tests. This is covered by the existing shadow tests. It was
32296         not discovered, because all of the bots using ContextShadow are
32297         little-endian.
32298
32299         * platform/graphics/ContextShadow.cpp:
32300         (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping
32301         based on machine endianness.
32302
32303 2011-01-05  Mihai Parparita  <mihaip@chromium.org>
32304
32305         Reviewed by Nate Chapin.
32306
32307         [Chromium] Crash when drawing PDF plug-in scrollbars
32308         https://bugs.webkit.org/show_bug.cgi?id=51942
32309
32310         Pepper plug-in scrollbars don't have a parent, guard against that before
32311         seeing if the parent is a FrameView.
32312
32313         Not testable via layout tests, verified fix by hand.
32314         
32315         * platform/chromium/ScrollbarThemeChromiumMac.mm:
32316         (WebCore::ScrollbarThemeChromiumMac::paint):
32317
32318 2011-01-05  Abhishek Arya  <inferno@chromium.org>
32319
32320         Unreviewed.
32321
32322         Update FIXME comment to sound better. Also initialize the block to fix compile.
32323
32324         * rendering/RenderBlock.cpp:
32325         (WebCore::RenderBlock::removeChild):
32326
32327 2011-01-05  Abhishek Arya  <inferno@chromium.org>
32328
32329         Reviewed by Dave Hyatt.
32330
32331         Do not merge anonymous blocks when one of them is the one getting removed.
32332         https://bugs.webkit.org/show_bug.cgi?id=51919
32333
32334         Test: fast/block/merge-anonymous-block-remove-child-crash.html
32335
32336         * rendering/RenderBlock.cpp:
32337         (WebCore::RenderBlock::removeChild):
32338
32339 2011-01-05  Ryosuke Niwa  <rniwa@webkit.org>
32340
32341         Reviewed by Eric Seidel.
32342
32343         ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle*
32344         https://bugs.webkit.org/show_bug.cgi?id=50641
32345
32346         Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration.
32347         Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle.
32348         The font size delta is now stored as a member variable of EditingStyle as supposed to a property
32349         in CSSMutableStyleDeclration as soon as EditingStyle is instantiated.
32350
32351         No new tests are added since this is a refactoring.
32352
32353         * editing/ApplyStyleCommand.cpp:
32354         (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange.
32355         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle.
32356         * editing/ApplyStyleCommand.h:
32357         * editing/EditingStyle.cpp:
32358         (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta.
32359         (WebCore::EditingStyle::init): Ditto.
32360         (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange.
32361         (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta.
32362         (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta.
32363         (WebCore::EditingStyle::overrideWithStyle): Ditto.
32364         (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta.
32365         (WebCore::EditingStyle::copy): Calls extractFontSizeDelta.
32366         * editing/EditingStyle.h:
32367         (WebCore::EditingStyle::fontSizeDelta): Added.
32368         (WebCore::EditingStyle::hasFontSizeDelta): Added.
32369         * editing/Editor.h:
32370
32371 2011-01-05  Dan Bernstein  <mitz@apple.com>
32372
32373         Reviewed by Darin Adler.
32374
32375         <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph
32376         https://bugs.webkit.org/show_bug.cgi?id=51915
32377
32378         This changes the results of existing tests in fast/text.
32379
32380         * platform/graphics/Font.h:
32381         * platform/graphics/FontFastPath.cpp:
32382         (WebCore::Font::primaryFontHasGlyphForCharacter): Added.
32383         * rendering/style/RenderStyle.cpp:
32384         * platform/graphics/qt/FontQt.cpp:
32385         (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub.
32386         (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a
32387         hyphen only if the primary font has a hyphen glyph, and otherwise return a
32388         hyphen-minus.
32389
32390 2011-01-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
32391
32392         Reviewed by Ariya Hidayat.
32393
32394         [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds
32395         https://bugs.webkit.org/show_bug.cgi?id=51888
32396
32397         Overrule Qt's default from qconfig.pri for non-production builds so
32398         that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed.
32399
32400         No new tests as there is no new functionality.
32401
32402         * WebCore.pro:
32403
32404 2011-01-05  Sheriff Bot  <webkit.review.bot@gmail.com>
32405
32406         Unreviewed, rolling out r74778.
32407         http://trac.webkit.org/changeset/74778
32408         https://bugs.webkit.org/show_bug.cgi?id=51930
32409
32410         Android and QtWebKit-V8 uses V8DOMWindowShell::setContext.
32411         (Requested by bbandix on #webkit).
32412
32413         * bindings/v8/V8DOMWindowShell.cpp:
32414         (WebCore::V8DOMWindowShell::setContext):
32415         * bindings/v8/V8DOMWindowShell.h:
32416
32417 2011-01-05  Yi Shen  <yi.4.shen@nokia.com>
32418
32419         Reviewed by Andreas Kling.
32420
32421         [Qt] Animated GIF images does not animate 10x as expected by default.
32422         https://bugs.webkit.org/show_bug.cgi?id=36818
32423
32424         Add a test animated GIF which should be displayed 2 times and stop.
32425
32426         * manual-tests/animated-gif-looping.html:
32427         * manual-tests/resources/animated-2x.gif: Added.
32428
32429 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
32430
32431         Reviewed by Martin Robinson.
32432
32433         [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3
32434         https://bugs.webkit.org/show_bug.cgi?id=51923
32435
32436         Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and
32437         ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3.
32438
32439         No new tests. This should not change functionality.
32440
32441         * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp
32442         * platform/gtk/ScrollbarThemeGtk.cpp:
32443         (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
32444         * platform/gtk/ScrollbarThemeGtk.h:
32445         * platform/gtk/ScrollbarThemeGtk2.cpp: Added.
32446         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
32447         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
32448         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
32449         (WebCore::ScrollbarThemeGtk::paintThumb):
32450         (WebCore::ScrollbarThemeGtk::paintButton):
32451         * platform/gtk/ScrollbarThemeGtk3.cpp: Added.
32452         (WebCore::ScrollbarThemeGtk::updateThemeProperties):
32453         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
32454         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
32455         (WebCore::ScrollbarThemeGtk::paintThumb):
32456         (WebCore::ScrollbarThemeGtk::paintButton):
32457
32458 2011-01-05  Patrick Gansterer  <paroga@webkit.org>
32459
32460         Reviewed by Andreas Kling.
32461
32462         [CMake] Fix the usage of SOURCE_GROUP
32463         https://bugs.webkit.org/show_bug.cgi?id=51739
32464
32465         * CMakeLists.txt:
32466
32467 2011-01-05  Andras Becsi  <abecsi@webkit.org>
32468
32469         Reviewed by Csaba Osztrogonác.
32470
32471         [Qt][V8] Fix the build after recent changes.
32472
32473         No new tests needed.
32474
32475         * WebCore.pro: Add missing files, and remove obsolete ones.
32476
32477 2011-01-05  Yong Li  <yoli@rim.com>
32478
32479         Reviewed by Adam Barth.
32480
32481         Suspend HTMLParserScheduler when page load is deferred to
32482         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
32483         from an external script or by events, and is blocked by a modal dialog,
32484         WebKit can parse more HTML source and also start another JS execution.
32485         
32486         https://bugs.webkit.org/show_bug.cgi?id=48077
32487
32488         Test case: WebCore/manual-tests/bugzilla-48077.html.
32489
32490         * dom/DocumentParser.cpp:
32491         (WebCore::DocumentParser::suspendScheduledTasks):
32492         (WebCore::DocumentParser::resumeScheduledTasks):
32493         * dom/DocumentParser.h:
32494         * html/parser/HTMLDocumentParser.cpp:
32495         (WebCore::HTMLDocumentParser::suspendScheduledTasks):
32496         (WebCore::HTMLDocumentParser::resumeScheduledTasks):
32497         * html/parser/HTMLParserScheduler.cpp:
32498         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
32499         (WebCore::HTMLParserScheduler::suspend):
32500         (WebCore::HTMLParserScheduler::resume):
32501         * html/parser/HTMLParserScheduler.h:
32502         (WebCore::HTMLParserScheduler::isScheduledForResume):
32503         * page/PageGroupLoadDeferrer.cpp:
32504         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
32505         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
32506
32507 2011-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
32508
32509         Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva
32510
32511         [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably
32512         https://bugs.webkit.org/show_bug.cgi?id=51926
32513
32514         Work around potential upstream bug: Querying a GstBin for the duration,
32515         will forward the query to all sink children. Our WebKitWebSrc however
32516         is a bin with only source children, therefore the query fails. Until
32517         this is changed upstream, this patch works around it as follows,
32518         based on suggestion by Philippe Normand and Sebastian Dröge:
32519
32520         When the initial query fails, attempt the same query on all source
32521         pads and take the maximum length reported.
32522
32523         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
32524         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
32525
32526 2011-01-05  Philippe Normand  <pnormand@igalia.com>
32527
32528         Rubber-stamped by Eric Seidel.
32529
32530         [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
32531         https://bugs.webkit.org/show_bug.cgi?id=51810
32532
32533         Based on a patch by Mart Raudsepp.
32534
32535         No new tests, build fix only.
32536
32537         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
32538         (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
32539         API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
32540         introduced in same version as the xoverlay API change.
32541
32542 2011-01-05  Leo Yang  <leo.yang@torchmobile.com.cn>
32543
32544         Reviewed by Dirk Schulze.
32545
32546         Malformed SVG causes crash in updateContainerOffset
32547         https://bugs.webkit.org/show_bug.cgi?id=44610
32548
32549         We should check recursive <use> at the begining of
32550         WebCore::SVGUseElement::buildInstanceTree instead
32551         of at the end of it because the target element's
32552         children may cause infinite recursive <use>.
32553
32554         Test: svg/custom/recursive-use.svg
32555
32556         * svg/SVGUseElement.cpp:
32557         (WebCore::SVGUseElement::buildInstanceTree):
32558         (WebCore::SVGUseElement::hasCycleUseReferencing):
32559         * svg/SVGUseElement.h:
32560
32561 2011-01-04  Antti Koivisto  <antti@apple.com>
32562
32563         Reviewed by Dan Bernstein.
32564
32565         https://bugs.webkit.org/show_bug.cgi?id=51907
32566         Style selector should only be recalculated when the pending sheet count goes to zero
32567         
32568         Shark says this is a significant performance improvement on some sites with lots of stylesheets.
32569
32570         * dom/Document.cpp:
32571         (WebCore::Document::removePendingSheet):
32572
32573 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
32574
32575         Reviewed by Martin Robinson.
32576
32577         [GTK] Use GtkStyleContext to get platform colors
32578         https://bugs.webkit.org/show_bug.cgi?id=51830
32579
32580         Use GtkStyleContext API to get platform colors when building with
32581         GTK+ 3.x.
32582
32583         No new tests. This should not change functionality.
32584
32585         * platform/graphics/Color.h: Add specialized constructor for GdkRGBA.
32586         * platform/graphics/gtk/ColorGtk.cpp:
32587         (WebCore::Color::Color):
32588         (WebCore::Color::operator GdkRGBA):
32589         * platform/gtk/RenderThemeGtk3.cpp:
32590         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
32591         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
32592         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
32593         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
32594         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
32595         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
32596         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
32597         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
32598         (WebCore::RenderThemeGtk::systemColor):
32599
32600 2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
32601
32602         Unreviewed. Build fix for GTK when using gtk+-3 after r75009.
32603
32604         * platform/gtk/RenderThemeGtk3.cpp:
32605         (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of
32606         adoptGRefPtr which doesn't exist.
32607
32608 2011-01-05  Alexey Proskuryakov  <ap@apple.com>
32609
32610         Reviewed by Sam Weinig.
32611
32612         https://bugs.webkit.org/show_bug.cgi?id=51903
32613         Tell UI process which subframe is largest
32614
32615         * WebCore.exp.in: Exported FrameView::contentsSize().
32616
32617 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
32618
32619         Unreviewed. GTK build fix.
32620
32621         WK2: Support Accessibility
32622         https://bugs.webkit.org/show_bug.cgi?id=51859
32623
32624         * page/FrameView.cpp:
32625         (WebCore::FrameView::axObjectCache):
32626
32627 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
32628
32629         Unreviewed, rolling out r74992.
32630         http://trac.webkit.org/changeset/74992
32631         https://bugs.webkit.org/show_bug.cgi?id=51917
32632
32633         Crash in HTMLDocumentParser::suspendScheduledTasks()
32634         (Requested by tkent on #webkit).
32635
32636         * dom/DocumentParser.cpp:
32637         * dom/DocumentParser.h:
32638         * html/parser/HTMLDocumentParser.cpp:
32639         * html/parser/HTMLDocumentParser.h:
32640         * html/parser/HTMLParserScheduler.cpp:
32641         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
32642         * html/parser/HTMLParserScheduler.h:
32643         (WebCore::HTMLParserScheduler::isScheduledForResume):
32644         * page/PageGroupLoadDeferrer.cpp:
32645         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
32646         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
32647
32648 2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
32649
32650         Reviewed by Kenneth Rohde Christiansen.
32651
32652         [Qt] [WK2] Add support for non-trivial context menu action
32653         https://bugs.webkit.org/show_bug.cgi?id=51902
32654
32655         Fix the preprocessor guard for ContextMenuItemTagSelectAll in
32656         the implementation of ContextMenuController::contextMenuItemSelected(). The guard was
32657         inconsistent with what is defined in ContextMenuItem.h.
32658
32659         * page/ContextMenuController.cpp:
32660         (WebCore::ContextMenuController::contextMenuItemSelected):
32661
32662 2011-01-04  Tony Gentilcore  <tonyg@chromium.org>
32663
32664         Reviewed by Ryosuke Niwa.
32665
32666         Avoid manual ref/deref in AsyncScriptRunner by using PendingScript
32667         https://bugs.webkit.org/show_bug.cgi?id=51723
32668
32669         ScriptElement should also be able to keep its Element+CachedScript in
32670         a PendingScript, and then executeScriptSoon can accept a PendingScript.
32671         Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use
32672         PendingScripts, then generic request and execute which operate on
32673         PendingScripts can be factored out to avoid code duplicate that we have.
32674
32675         No new tests because no new functionality.
32676
32677         * dom/AsyncScriptRunner.cpp:
32678         (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
32679         (WebCore::AsyncScriptRunner::executeScriptSoon):
32680         (WebCore::AsyncScriptRunner::timerFired):
32681         * dom/AsyncScriptRunner.h:
32682         * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement.
32683         * dom/HTMLScriptRunner.cpp:
32684         (WebCore::HTMLScriptRunner::requestPendingScript):
32685
32686 2011-01-04  Jeff Miller  <jeffm@apple.com>
32687
32688         Reviewed by Darin Adler.
32689
32690         Member variable and method naming cleanup to be consistent with WebKit2.
32691         https://bugs.webkit.org/show_bug.cgi?id=51228
32692
32693         * page/win/EventHandlerWin.cpp:
32694         (WebCore::EventHandler::eventActivatedView):
32695         Rename activatedWebView() to didActivateWebView().
32696         
32697         * platform/PlatformMouseEvent.h:
32698         Rename m_activatedWebView to m_didActivateWebView.
32699         
32700         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
32701         Initialize platform-specific member variables in PlatformMouseEvent constructors.
32702         
32703         (WebCore::PlatformMouseEvent::didActivateWebView):
32704         Rename activatedWebView() to didActivateWebView().
32705
32706         * platform/win/PlatformMouseEventWin.cpp:
32707         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
32708         Rename m_activatedWebView to m_didActivateWebView.
32709
32710 2011-01-04  Yael Aharon  <yael.aharon@nokia.com>
32711
32712         Reviewed by Darin Adler.
32713
32714         CSS3 :nth-child selector and valid whitespace test fails
32715         https://bugs.webkit.org/show_bug.cgi?id=36279
32716
32717         Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs.
32718
32719         Test: fast/css/css3-nth-space.html
32720
32721         * css/tokenizer.flex:
32722
32723 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
32724
32725         Unreviewed. Build fix.
32726
32727         WK2: Support Accessibility
32728         https://bugs.webkit.org/show_bug.cgi?id=51859
32729
32730         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
32731         (fallbackObject):
32732
32733 2011-01-04  Cosmin Truta  <ctruta@chromium.org>
32734
32735         Reviewed by Eric Seidel.
32736
32737         [chromium] PNG compression settings optimized for speed
32738         https://bugs.webkit.org/show_bug.cgi?id=51719
32739
32740         Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images,
32741         it is also the slowest, by a wide margin, on easy-to-compress images.
32742         Use a more balanced configuration, based on the libpng compression defaults,
32743         but with a faster compression level (3 instead of 6), and a faster filter
32744         ("sub" instead of "all").
32745
32746         No change in behaviour, so no new tests.
32747
32748         * platform/image-encoders/skia/PNGImageEncoder.cpp:
32749         (WebCore::PNGImageEncoder::encode):
32750
32751 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
32752
32753         Reviewed by Sam Weinig.
32754
32755         WK2: Support Accessibility
32756         https://bugs.webkit.org/show_bug.cgi?id=51859
32757
32758         WK2 doesn't use platform scroll views anymore. Accessibility code
32759         needs to have its own scroll views. 
32760
32761         Test: platform/mac/accessibility/webkit-scrollarea.html
32762
32763         * CMakeLists.txt:
32764         * GNUmakefile.am:
32765         * WebCore.exp.in:
32766         * WebCore.gypi:
32767         * WebCore.pro:
32768         * WebCore.vcproj/WebCore.vcproj:
32769         * WebCore.xcodeproj/project.pbxproj:
32770         * accessibility/AXObjectCache.cpp:
32771         (WebCore::AXObjectCache::AXObjectCache):
32772         (WebCore::AXObjectCache::get):
32773         (WebCore::AXObjectCache::getOrCreate):
32774         (WebCore::AXObjectCache::rootObject):
32775         (WebCore::AXObjectCache::remove):
32776         (WebCore::AXObjectCache::handleScrollbarUpdate):
32777         * accessibility/AXObjectCache.h:
32778         (WebCore::AXObjectCache::handleScrollbarUpdate):
32779         * accessibility/AccessibilityARIAGrid.h:
32780         * accessibility/AccessibilityAllInOne.cpp:
32781         * accessibility/AccessibilityImageMapLink.cpp:
32782         * accessibility/AccessibilityImageMapLink.h:
32783         * accessibility/AccessibilityListBoxOption.cpp:
32784         * accessibility/AccessibilityListBoxOption.h:
32785         * accessibility/AccessibilityObject.cpp:
32786         (WebCore::AccessibilityObject::updateChildrenIfNecessary):
32787         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
32788         (WebCore::AccessibilityObject::axObjectCache):
32789         (WebCore::AccessibilityObject::focusedUIElement):
32790         * accessibility/AccessibilityObject.h:
32791         (WebCore::AccessibilityObject::isAccessibilityScrollView):
32792         (WebCore::AccessibilityObject::isScrollView):
32793         (WebCore::AccessibilityObject::canSetNumericValue):
32794         (WebCore::AccessibilityObject::scrollBar):
32795         (WebCore::AccessibilityObject::size):
32796         (WebCore::AccessibilityObject::setValue):
32797         * accessibility/AccessibilityRenderObject.cpp:
32798         (WebCore::AccessibilityRenderObject::parentObject):
32799         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
32800         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
32801         (WebCore::AccessibilityRenderObject::addChildren):
32802         * accessibility/AccessibilityRenderObject.h:
32803         * accessibility/AccessibilityScrollView.cpp: Added.
32804         (WebCore::AccessibilityScrollView::AccessibilityScrollView):
32805         (WebCore::AccessibilityScrollView::create):
32806         (WebCore::AccessibilityScrollView::scrollBar):
32807         (WebCore::AccessibilityScrollView::children):
32808         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
32809         (WebCore::AccessibilityScrollView::removeChildScrollbar):
32810         (WebCore::AccessibilityScrollView::addChildScrollbar):
32811         (WebCore::AccessibilityScrollView::addChildren):
32812         (WebCore::AccessibilityScrollView::webAreaObject):
32813         (WebCore::AccessibilityScrollView::accessibilityHitTest):
32814         (WebCore::AccessibilityScrollView::document):
32815         (WebCore::AccessibilityScrollView::elementRect):
32816         (WebCore::AccessibilityScrollView::parentObject):
32817         * accessibility/AccessibilityScrollView.h: Added.
32818         (WebCore::AccessibilityScrollView::roleValue):
32819         (WebCore::AccessibilityScrollView::scrollView):
32820         (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
32821         (WebCore::AccessibilityScrollView::isAccessibilityScrollView):
32822         (WebCore::toAccessibilityScrollView):
32823         * accessibility/AccessibilityScrollbar.cpp:
32824         (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
32825         (WebCore::AccessibilityScrollbar::create):
32826         (WebCore::AccessibilityScrollbar::elementRect):
32827         (WebCore::AccessibilityScrollbar::document):
32828         (WebCore::AccessibilityScrollbar::orientation):
32829         (WebCore::AccessibilityScrollbar::isEnabled):
32830         (WebCore::AccessibilityScrollbar::valueForRange):
32831         (WebCore::AccessibilityScrollbar::setValue):
32832         * accessibility/AccessibilityScrollbar.h:
32833         (WebCore::AccessibilityScrollbar::setParent):
32834         (WebCore::AccessibilityScrollbar::canSetValueAttribute):
32835         (WebCore::AccessibilityScrollbar::canSetNumericValue):
32836         (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
32837         (WebCore::AccessibilityScrollbar::parentObject):
32838         (WebCore::AccessibilityScrollbar::roleValue):
32839         * accessibility/mac/AccessibilityObjectMac.mm:
32840         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
32841         * accessibility/mac/AccessibilityObjectWrapper.mm:
32842         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
32843         (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]):
32844         (-[AccessibilityObjectWrapper position]):
32845         (-[AccessibilityObjectWrapper scrollViewParent]):
32846         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
32847         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
32848         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
32849         * dom/Document.cpp:
32850         (WebCore::Document::axObjectCache):
32851         * loader/EmptyClients.h:
32852         (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject):
32853         * loader/FrameLoaderClient.h:
32854         * page/FrameView.cpp:
32855         (WebCore::FrameView::~FrameView):
32856         (WebCore::FrameView::axObjectCache):
32857         * page/FrameView.h:
32858         * platform/ScrollView.cpp:
32859         (WebCore::ScrollView::setHasHorizontalScrollbar):
32860         (WebCore::ScrollView::setHasVerticalScrollbar):
32861         * platform/Scrollbar.cpp:
32862         (WebCore::Scrollbar::~Scrollbar):
32863         (WebCore::Scrollbar::scroll):
32864         (WebCore::Scrollbar::axObjectCache):
32865         * platform/Scrollbar.h:
32866         * platform/Widget.h:
32867         (WebCore::Widget::axObjectCache):
32868
32869 2011-01-04  W. James MacLean  <wjmaclean@chromium.org>
32870
32871         Reviewed by Kenneth Russell.
32872
32873         [chromium] Add support to compositor to composite to offscreen texture.
32874         https://bugs.webkit.org/show_bug.cgi?id=50833
32875
32876         A patch to extend compositor to be able to composite into an offscreen texture instead
32877         of just directly to the display buffer. Builds on RenderSurfaceChromium support.
32878         Explicitly resets alpha channel before rendering to display.
32879
32880         * platform/graphics/chromium/LayerRendererChromium.cpp:
32881         (WebCore::LayerRendererChromium::LayerRendererChromium):
32882         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
32883         (WebCore::LayerRendererChromium::drawLayers):
32884         (WebCore::LayerRendererChromium::setCompositeOffscreen):
32885         (WebCore::LayerRendererChromium::useRenderSurface):
32886         (WebCore::LayerRendererChromium::setScissorToRect):
32887         * platform/graphics/chromium/LayerRendererChromium.h:
32888         (WebCore::LayerRendererChromium::isCompositingOffscreen):
32889         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
32890
32891 2011-01-04  Evan Martin  <evan@chromium.org>
32892
32893         Reviewed by Tony Chang.
32894
32895         [chromium] depend on harfbuzz explicitly
32896         https://bugs.webkit.org/show_bug.cgi?id=51895
32897
32898         platform/graphics/chromium uses Harfbuzz directly.  Rather than
32899         expecting Skia to adjust the include paths, be explicit about
32900         the dependency.
32901
32902         * WebCore.gyp/WebCore.gyp:
32903
32904 2011-01-04  Darin Adler  <darin@apple.com>
32905
32906         Reviewed by Brady Eidson.
32907
32908         Add back/forward encoding and decoding to WebKit2
32909         https://bugs.webkit.org/show_bug.cgi?id=51901
32910
32911         * WebCore.exp.in: Export functions used in WebKit2.
32912
32913         * history/HistoryItem.cpp:
32914         (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers.
32915         (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto.
32916         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
32917         * history/HistoryItem.h: Ditto.
32918         * platform/network/FormData.cpp:
32919         (WebCore::encode): Ditto.
32920         (WebCore::decode): Ditto.
32921         (WebCore::FormData::encodeForBackForward): Ditto.
32922         (WebCore::FormData::decodeForBackForward): Ditto.
32923         * platform/network/FormData.h: Ditto.
32924
32925 2011-01-04  Xiaomei Ji  <xji@chromium.org>
32926
32927         Reviewed by Dan Bernstein.
32928
32929         Implement sel.modify('move', 'left'/'right', 'lineBoundary').
32930         https://bugs.webkit.org/show_bug.cgi?id=33435
32931
32932         * editing/SelectionController.cpp:
32933         (WebCore::SelectionController::modifyMovingRight):
32934         (WebCore::SelectionController::modifyMovingLeft):
32935         * editing/visible_units.cpp:
32936         (WebCore::logicalStartOfLine):
32937         (WebCore::logicalEndOfLine):
32938         (WebCore::leftBoundaryOfLine):
32939         (WebCore::rightBoundaryOfLine):
32940         * editing/visible_units.h:
32941
32942 2011-01-04  Martin Robinson  <mrobinson@igalia.com>
32943
32944         Reviewed by Xan Lopez.
32945
32946         [GTK] Use the default CSS text input control border width of relying on the GTK+ theme
32947         https://bugs.webkit.org/show_bug.cgi?id=51887
32948
32949         Do not rely on the GTK+ theme to determine text control borders. This simplifies
32950         the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and
32951         doesn't break the rendering of any theme that I've encountered.
32952
32953         * platform/gtk/RenderThemeGtk.cpp:
32954         (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but
32955         still disable any border radius.
32956         * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the
32957         default style of text areas and text input controls.
32958         * platform/gtk/RenderThemeGtk2.cpp: Ditto.
32959         * platform/gtk/RenderThemeGtk3.cpp: Ditto.
32960
32961 2011-01-03  Martin Robinson  <mrobinson@igalia.com>
32962
32963         Reviewed by Darin Adler.
32964
32965         Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
32966         https://bugs.webkit.org/show_bug.cgi?id=51846
32967
32968         No new tests. This should not introduce any functional changes.
32969
32970         Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed
32971         all references to PlatformRefPtr in Brew code to RefPtr.
32972
32973 2011-01-04  David Kilzer  <ddkilzer@apple.com>
32974
32975         <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network
32976
32977         Reviewed by Antti Koivisto.
32978
32979         This is needed to prevent a WebCore/platform policy violation in
32980         my next patch.
32981
32982         * WebCore.gypi: Updated for moved header.
32983         * WebCore.pro: Ditto.
32984         * WebCore.vcproj/WebCore.vcproj: Ditto.
32985         * WebCore.xcodeproj/project.pbxproj: Ditto.
32986         * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h.
32987
32988 2011-01-04  Brady Eidson  <beidson@apple.com>
32989
32990         Reviewed by a spell checker.
32991
32992         * storage/StorageMap.h: mesured?  Really?
32993
32994 2011-01-04  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
32995
32996         Reviewed by Xan Lopez.
32997
32998         [GTK] Port stock icon painting to GtkStyleContext
32999         https://bugs.webkit.org/show_bug.cgi?id=51764
33000
33001         Port stock icon painting for media and search input elements to
33002         GtkStyleContext. Also create the initial machinery for accessing
33003         style contexts for all GTK+ 3.x based widgets.
33004
33005         No new tests. This should not change functionality.
33006
33007         * platform/gtk/RenderThemeGtk.cpp:
33008         (WebCore::paintGdkPixbuf):
33009         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
33010         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
33011         (WebCore::RenderThemeGtk::paintMediaButton):
33012         * platform/gtk/RenderThemeGtk.h:
33013         * platform/gtk/RenderThemeGtk2.cpp:
33014         (WebCore::RenderThemeGtk::getStockIcon):
33015         * platform/gtk/RenderThemeGtk3.cpp:
33016         (WebCore::gtkStyleChangedCallback):
33017         (WebCore::styleContextMap):
33018         (WebCore::getStyleContext):
33019         (WebCore::RenderThemeGtk::paintMenuList):
33020
33021 2010-12-31  Antti Koivisto  <antti@apple.com>
33022
33023         Reviewed by Dave Hyatt.
33024
33025         Scripts should not be executed before preceding stylesheets are loaded
33026         https://bugs.webkit.org/show_bug.cgi?id=8852
33027
33028         Block inline script execution on pending stylesheet loads. This matches
33029         other browsers and HTML5.
33030
33031         Tests: fast/tokenizer/inline-script-stylesheet-write.html
33032                fast/tokenizer/inline-script-stylesheet.html
33033
33034         * dom/PendingScript.cpp:
33035         (WebCore::PendingScript::releaseElementAndClear):
33036         * dom/PendingScript.h:
33037         (WebCore::PendingScript::PendingScript):
33038         (WebCore::PendingScript::operator=):
33039         (WebCore::PendingScript::startingPosition):
33040         (WebCore::PendingScript::setStartingPosition):
33041         * html/HTMLLinkElement.cpp:
33042         (WebCore::HTMLLinkElement::process):
33043         
33044         This fixes an unrelated bug with beforeload events that was exposed by the other
33045         changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html).
33046         
33047         * html/parser/HTMLScriptRunner.cpp:
33048         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
33049         (WebCore::HTMLScriptRunner::runScript):
33050
33051 2011-01-04  Xianzhu Wang  <wangxianzhu@google.com>
33052
33053         Reviewed by Darin Adler.
33054
33055         Let DataView.getInt8() and DataView.setInt8() use int8_t instead of
33056         ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure
33057         on ARM.
33058         https://bugs.webkit.org/show_bug.cgi?id=51861
33059
33060         By the way, changed other getIntXX() and setIntXX() methods to use
33061         more precise integer types.
33062
33063         * bindings/js/JSDataViewCustom.cpp:
33064         (WebCore::setDataViewMember):
33065         * bindings/v8/custom/V8DataViewCustom.cpp:
33066         (WebCore::V8DataView::getInt8Callback):
33067         (WebCore::V8DataView::setInt8Callback):
33068         * html/canvas/DataView.cpp:
33069         (WebCore::DataView::getInt8):
33070         (WebCore::DataView::setInt8):
33071         * html/canvas/DataView.h:
33072         * html/canvas/DataView.idl:
33073
33074 2011-01-04  Yong Li  <yoli@rim.com>
33075
33076         Reviewed by Adam Barth.
33077
33078         Suspend HTMLParserScheduler when page load is deferred to
33079         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
33080         from an external script or by events, and is blocked by a modal dialog,
33081         WebKit can parse more HTML source and also start another JS execution.
33082         
33083         https://bugs.webkit.org/show_bug.cgi?id=48077
33084
33085         Test case: WebCore/manual-tests/bugzilla-48077.html.
33086
33087         * dom/DocumentParser.cpp:
33088         (WebCore::DocumentParser::suspendScheduledTasks):
33089         (WebCore::DocumentParser::resumeScheduledTasks):
33090         * dom/DocumentParser.h:
33091         * html/parser/HTMLDocumentParser.cpp:
33092         (WebCore::HTMLDocumentParser::suspendScheduledTasks):
33093         (WebCore::HTMLDocumentParser::resumeScheduledTasks):
33094         * html/parser/HTMLParserScheduler.cpp:
33095         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
33096         (WebCore::HTMLParserScheduler::suspend):
33097         (WebCore::HTMLParserScheduler::resume):
33098         * html/parser/HTMLParserScheduler.h:
33099         (WebCore::HTMLParserScheduler::isScheduledForResume):
33100         * page/PageGroupLoadDeferrer.cpp:
33101         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
33102         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
33103
33104 2011-01-04  Tony Gentilcore  <tonyg@chromium.org>
33105
33106         Unreviewed build fix.
33107
33108         Include glib-object.h for GObject
33109         https://bugs.webkit.org/show_bug.cgi?id=51876
33110
33111         * bindings/gobject/DOMObjectCache.cpp:
33112
33113 2011-01-04  Ryosuke Niwa  <rniwa@webkit.org>
33114
33115         Reviewed by Dan Bernstein.
33116
33117         Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side.
33118         https://bugs.webkit.org/show_bug.cgi?id=50992
33119
33120         Fixed the bug by interchanging the offset when the direction of inline text box and the containing block
33121         does not match. Reused the code added by http://trac.webkit.org/changeset/73553.
33122
33123         Test: editing/selection/caret-bidi-first-and-last-letters.html
33124
33125         * rendering/InlineTextBox.cpp:
33126         (WebCore::InlineTextBox::offsetForPosition):
33127
33128 2010-12-29  Tony Gentilcore  <tonyg@chromium.org>
33129
33130         Reviewed by Darin Adler.
33131
33132         Remove 2 unnecessary includes from Document.h
33133         https://bugs.webkit.org/show_bug.cgi?id=51727
33134
33135         No new tests because no changed functionality.
33136
33137         * dom/Document.cpp:
33138         * dom/Document.h:
33139         * editing/Editor.cpp:
33140         * editing/SpellChecker.h:
33141         * editing/SplitTextNodeCommand.cpp:
33142         * editing/TextCheckingHelper.cpp:
33143         * page/FrameView.cpp:
33144         * page/Page.cpp:
33145         * rendering/HitTestResult.cpp:
33146         * rendering/InlineTextBox.cpp:
33147         * rendering/InlineTextBox.h:
33148         * rendering/svg/SVGInlineFlowBox.cpp:
33149
33150 2011-01-04  Patrick Gansterer  <paroga@webkit.org>
33151
33152         Unreviewed WinCE build fix.
33153
33154         * CMakeListsWinCE.txt: Added missing include directories, files and libraries.
33155
33156 2011-01-04  Yi Shen  <yi.4.shen@nokia.com>
33157
33158         Reviewed by Simon Hausmann.
33159
33160         Provide an interface to require using fullscreen mediaplayer
33161         https://bugs.webkit.org/show_bug.cgi?id=51133
33162
33163         Only video should be displayed in fullscreen when 
33164         requiresFullscreenForVideoPlayback is specified.
33165
33166         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
33167
33168         * html/HTMLMediaElement.cpp:
33169         (WebCore::HTMLMediaElement::updatePlayState):
33170
33171 2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
33172
33173         Reviewed by Kenneth Rohde Christiansen.
33174
33175         [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
33176         https://bugs.webkit.org/show_bug.cgi?id=51825
33177
33178         Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the
33179         platform independent menu informations.
33180
33181         * platform/qt/ContextMenuQt.cpp:
33182         (WebCore::contextMenuItemVector):
33183
33184 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
33185
33186         Unreviewed, rolling out r74960.
33187         http://trac.webkit.org/changeset/74960
33188         https://bugs.webkit.org/show_bug.cgi?id=51868
33189
33190         Rollout since we hit an assert after this patch. (Requested by
33191         krit on #webkit).
33192
33193         * svg/SVGUseElement.cpp:
33194         (WebCore::SVGUseElement::buildInstanceTree):
33195
33196 2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
33197
33198         Unreviewed, rolling out r74961.
33199         http://trac.webkit.org/changeset/74961
33200         https://bugs.webkit.org/show_bug.cgi?id=51867
33201
33202         breaks 32/64-bits debug bots build (Requested by philn-tp on
33203         #webkit).
33204
33205         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
33206         (WebCore::GStreamerGWorld::setWindowOverlay):
33207
33208 2011-01-03  Philippe Normand  <pnormand@igalia.com>
33209
33210         Rubber-stamped by Eric Seidel.
33211
33212         [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
33213         https://bugs.webkit.org/show_bug.cgi?id=51810
33214
33215         Based on a patch by Mart Raudsepp.
33216
33217         No new tests, build fix only.
33218
33219         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
33220         (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
33221         API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
33222         introduced in same version as the xoverlay API change.
33223
33224 2011-01-04  Leo Yang  <leo.yang@torchmobile.com.cn>
33225
33226         Reviewed by Dirk Schulze.
33227
33228         Malformed SVG causes crash in updateContainerOffset
33229         https://bugs.webkit.org/show_bug.cgi?id=44610
33230
33231         We should check recursive <use> at the begining of
33232         WebCore::SVGUseElement::buildInstanceTree instead
33233         of at the end of it because the target element's
33234         children may cause infinite recursive <use>.
33235
33236         Test: svg/custom/recursive-use.svg
33237
33238         * svg/SVGUseElement.cpp:
33239         (WebCore::SVGUseElement::buildInstanceTree):
33240
33241 2011-01-04  Kent Tamura  <tkent@chromium.org>
33242
33243         Unreviewed, build fix.
33244
33245         Try to fix Clang build.
33246
33247         * css/CSSParser.cpp:
33248         (WebCore::valueFromSideKeyword):
33249         (WebCore::CSSParser::parseLinearGradient):
33250
33251 2011-01-03  Julie-Jeongeun-Kim  <Jeongeun.Kim@obigo.com>
33252
33253         Reviewed by Darin Adler.
33254
33255         HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml
33256         https://bugs.webkit.org/show_bug.cgi?id=48596
33257         
33258         border attribute was not parsed in HTMLObjectElement.
33259         I added code for it as HTMLImageElement handled.
33260
33261         new test:fast/html/object-border.html
33262
33263         * html/HTMLObjectElement.cpp:
33264         (WebCore::HTMLObjectElement::parseMappedAttribute):
33265
33266 2011-01-03  Darin Adler  <darin@apple.com>
33267
33268         Try to fix Chromium build.
33269
33270         * history/HistoryItem.cpp:
33271         (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here.
33272         Not sure this ever will be used with V8.
33273         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
33274
33275 2011-01-03  Darin Adler  <darin@apple.com>
33276
33277         Try to fix Leopard build.
33278
33279         * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the
33280         size variable.
33281
33282 2011-01-03  Abhishek Arya  <inferno@chromium.org>
33283
33284         Reviewed by Darin Adler.
33285
33286         Fixes before child calculation when adding anonymous childs to table parts.
33287         https://bugs.webkit.org/show_bug.cgi?id=50932
33288
33289         Fix in r74364 was incomplete. When before child is equal to the table part(to
33290         which the new child is getting added), it confuses the table part to add it
33291         incorrectly as an after child. The patch fixes by passing the before child as
33292         the table part's first child.
33293
33294         Tests: fast/css-generated-content/table-before-after-child-add.html
33295                fast/css-generated-content/table-cell-before-after-child-add.html
33296                fast/css-generated-content/table-row-before-after-child-add.html
33297                fast/css-generated-content/table-row-before-after-child-add.html
33298
33299         * rendering/RenderTable.cpp:
33300         (WebCore::RenderTable::addChild):
33301         * rendering/RenderTableRow.cpp:
33302         (WebCore::RenderTableRow::addChild):
33303         * rendering/RenderTableSection.cpp:
33304         (WebCore::RenderTableSection::addChild):
33305
33306 2011-01-03  Dan Bernstein  <mitz@apple.com>
33307
33308         Reviewed by Simon Fraser.
33309
33310         Shrink HTMLTableCellElement
33311         https://bugs.webkit.org/show_bug.cgi?id=51858
33312
33313         * html/HTMLTableCellElement.cpp:
33314         (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and
33315         m_col.
33316         * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors.
33317
33318 2011-01-03  Darin Adler  <darin@apple.com>
33319
33320         Fix build.
33321
33322         * platform/network/FormData.cpp:
33323         (WebCore::FormData::create): Roll back uint8_t change.
33324         (WebCore::FormData::flatten): Ditto.
33325         (WebCore::FormData::flattenToString): Ditto.
33326         (WebCore::encode): Ditto.
33327         (WebCore::decode): Ditto.
33328         (WebCore::FormData::encodeForBackForward):
33329         * platform/network/FormData.h: Ditto.
33330         * platform/network/mac/FormDataStreamMac.mm:
33331         (WebCore::advanceCurrentStream): Ditto.
33332
33333 2011-01-03  Darin Adler  <darin@apple.com>
33334
33335         Reviewed by Brady Eidson.
33336
33337         Add code to encode/decode the back/forward tree
33338         https://bugs.webkit.org/show_bug.cgi?id=51853
33339
33340         * history/HistoryItem.cpp:
33341         (WebCore::HistoryItem::encodeBackForwardTree): Added.
33342         (WebCore::HistoryItem::encodeBackForwardTreeNode): Added.
33343         (WebCore::HistoryItem::decodeBackForwardTree): Added.
33344         * history/HistoryItem.h: Added functions above.
33345
33346         * platform/network/FormData.cpp:
33347         (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of
33348         Vector<char>. This type is used in our newer code for vectors of bytes.
33349         (WebCore::FormData::flatten): Ditto.
33350         (WebCore::FormData::flattenToString): Ditto. Had to add a cast here.
33351         (WebCore::FormData::encodeForBackForward): Added.
33352         (WebCore::FormData::decodeForBackForward): Added.
33353         * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of
33354         Vector<char>. Also made some single-argument constructors explicit.
33355         Also added the new functions.
33356
33357         * platform/network/mac/FormDataStreamMac.mm:
33358         (WebCore::advanceCurrentStream): Changed to use uint8_t to match above.
33359
33360 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
33361
33362         Attempt to fix GTK build.
33363
33364         * platform/graphics/gtk/FontGtk.cpp:
33365         (WebCore::drawGlyphsShadow):
33366
33367 2011-01-03  Helder Correia  <helder@sencha.com>
33368
33369         Reviewed by Simon Fraser.
33370
33371         ContextShadow can avoid code duplication for getting the CTM
33372         https://bugs.webkit.org/show_bug.cgi?id=51799
33373
33374         ContextShadow defines its own getTransformationMatrixFromContext()
33375         which does exactly the same as GraphicsContext::getCTM().
33376
33377         Existing tests: fast/canvas/canvas*shadow*html
33378
33379         * platform/graphics/ContextShadow.cpp:
33380         (WebCore::ContextShadow::mustUseContextShadow):
33381         (WebCore::ContextShadow::adjustBlurDistance):
33382         (WebCore::ContextShadow::calculateLayerBoundingRect):
33383         * platform/graphics/ContextShadow.h:
33384         * platform/graphics/cairo/ContextShadowCairo.cpp:
33385         (WebCore::ContextShadow::beginShadowLayer):
33386         (WebCore::ContextShadow::endShadowLayer):
33387         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
33388         * platform/graphics/cairo/FontCairo.cpp:
33389         (WebCore::drawGlyphsShadow):
33390         * platform/graphics/cairo/GraphicsContextCairo.cpp:
33391         (WebCore::drawPathShadow):
33392         * platform/graphics/cairo/ImageCairo.cpp:
33393         (WebCore::BitmapImage::draw):
33394         * platform/graphics/gtk/FontGtk.cpp:
33395         (WebCore::drawGlyphsShadow):
33396         * platform/graphics/qt/ContextShadowQt.cpp:
33397         (WebCore::ContextShadow::beginShadowLayer):
33398         (WebCore::ContextShadow::endShadowLayer):
33399         * platform/graphics/qt/FontQt.cpp:
33400         (WebCore::drawTextCommon):
33401         * platform/graphics/qt/GraphicsContextQt.cpp:
33402         (WebCore::GraphicsContext::fillPath):
33403         (WebCore::GraphicsContext::strokePath):
33404         (WebCore::GraphicsContext::fillRect):
33405         (WebCore::GraphicsContext::fillRoundedRect):
33406         * platform/graphics/qt/ImageQt.cpp:
33407         (WebCore::BitmapImage::draw):
33408         * platform/graphics/qt/StillImageQt.cpp:
33409         (WebCore::StillImage::draw):
33410
33411 2011-01-03  Darin Adler  <darin@apple.com>
33412
33413         Reviewed by Dan Bernstein.
33414
33415         InsertTextCommand::m_charactersAdded is unused
33416         https://bugs.webkit.org/show_bug.cgi?id=51849
33417
33418         * editing/InsertTextCommand.cpp:
33419         (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded.
33420         (WebCore::InsertTextCommand::input): Don't update m_charactersAdded.
33421         * editing/InsertTextCommand.h: Removed charactersAdded function and
33422         m_charactersAdded data member.
33423
33424 2011-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
33425
33426         Reviewed by Martin Robinson.
33427
33428         [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp
33429         https://bugs.webkit.org/show_bug.cgi?id=51832
33430
33431         Method paintMenuListButton() contains code common to both gtk 2
33432         and 3, so it can be moved to RenderThemeGtk.cpp instead of
33433         duplicating it.
33434
33435         * platform/gtk/RenderThemeGtk.cpp:
33436         (WebCore::RenderThemeGtk::paintMenuListButton):
33437         * platform/gtk/RenderThemeGtk2.cpp:
33438         * platform/gtk/RenderThemeGtk3.cpp:
33439
33440 2011-01-03  Pratik Solanki  <psolanki@apple.com>
33441
33442         Reviewed by Darin Adler.
33443
33444         https://bugs.webkit.org/show_bug.cgi?id=51850
33445         Put CFNetwork loader code inside USE(CFNETWORK)
33446
33447         Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork
33448         files to the WebCore Xcode project.
33449
33450         * WebCore.xcodeproj/project.pbxproj:
33451         * loader/cf/ResourceLoaderCFNet.cpp:
33452         * loader/mac/ResourceLoaderMac.mm:
33453         * platform/network/cf/AuthenticationCF.cpp:
33454         * platform/network/cf/AuthenticationCF.h:
33455         * platform/network/cf/CookieJarCFNet.cpp:
33456         * platform/network/cf/CookieStorageCFNet.cpp:
33457         * platform/network/cf/CookieStorageCFNet.h:
33458         * platform/network/cf/CredentialStorageCFNet.cpp:
33459         * platform/network/cf/FormDataStreamCFNet.cpp:
33460         * platform/network/cf/FormDataStreamCFNet.h:
33461         * platform/network/cf/LoaderRunLoopCF.cpp:
33462         * platform/network/cf/LoaderRunLoopCF.h:
33463         * platform/network/cf/ResourceError.h:
33464         * platform/network/cf/ResourceHandleCFNet.cpp:
33465         * platform/network/cf/ResourceRequest.h:
33466         * platform/network/cf/ResourceRequestCFNet.cpp:
33467         * platform/network/cf/ResourceRequestCFNet.h:
33468         * platform/network/cf/ResourceResponse.h:
33469         * platform/network/cf/ResourceResponseCFNet.cpp:
33470         * platform/network/mac/AuthenticationMac.h:
33471         * platform/network/mac/AuthenticationMac.mm:
33472         * platform/network/mac/FormDataStreamMac.h:
33473         * platform/network/mac/FormDataStreamMac.mm:
33474         * platform/network/mac/ResourceError.h:
33475         * platform/network/mac/ResourceHandleMac.mm:
33476         * platform/network/mac/ResourceRequest.h:
33477         * platform/network/mac/ResourceRequestMac.mm:
33478         * platform/network/mac/ResourceResponse.h:
33479         * platform/network/mac/ResourceResponseMac.mm:
33480
33481 2011-01-03  Yi Shen  <yi.4.shen@nokia.com>
33482
33483         Reviewed by Adam Barth.
33484
33485         [Qt] Add SelectAll option to the context menu for the editor
33486         https://bugs.webkit.org/show_bug.cgi?id=50049
33487
33488         Enable SelectAll for the Qt context menu.
33489
33490         * page/ContextMenuController.cpp:
33491         (WebCore::ContextMenuController::populate):
33492         * platform/ContextMenuItem.h:
33493         * platform/LocalizationStrategy.h:
33494         * platform/LocalizedStrings.cpp:
33495         (WebCore::contextMenuItemTagSelectAll):
33496         * platform/LocalizedStrings.h:
33497
33498 2011-01-03  Dan Bernstein  <mitz@apple.com>
33499
33500         Reviewed by Darin Adler.
33501
33502         Shrink RootInlineBox
33503         https://bugs.webkit.org/show_bug.cgi?id=51847
33504
33505         * rendering/RootInlineBox.cpp:
33506         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType()
33507         accessor.
33508         * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to
33509         unsigned because otherwise MSVC treats it as signed.
33510         (WebCore::RootInlineBox::baselineType): Added a cast.
33511
33512 2011-01-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
33513
33514         Reviewed by Martin Robinson.
33515
33516         [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
33517         https://bugs.webkit.org/show_bug.cgi?id=50698
33518
33519         Fix DOM bindings generation to no longer include the now-gone
33520         webkitprivate.h header, including the appropriate replacements
33521         instead.
33522
33523         * bindings/scripts/CodeGeneratorGObject.pm:
33524
33525 2011-01-03  Brady Eidson  <beidson@apple.com>
33526
33527         Reviewed by Darin Adler.
33528
33529         Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.
33530
33531         * ForwardingHeaders/wtf/Decoder.h: Added.
33532         * ForwardingHeaders/wtf/Encoder.h: Added.
33533
33534 2011-01-03  Chris Fleizach  <cfleizach@apple.com>
33535
33536         Reviewed by Darin Adler.
33537
33538         AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation
33539         https://bugs.webkit.org/show_bug.cgi?id=51833
33540
33541         Make sure the web area returns the contentsSize, not the same size as what is displayed.
33542
33543         Test: platform/mac/accessibility/webarea-size-equals-content-size.html
33544
33545         * accessibility/AccessibilityRenderObject.cpp:
33546         (WebCore::AccessibilityRenderObject::boundingBoxRect):
33547
33548 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
33549
33550         Fix warning in 32-bit builds.
33551
33552         * css/CSSGradientValue.cpp:
33553         (WebCore::CSSLinearGradientValue::createGradient):
33554
33555 2011-01-03  Benjamin C Meyer  <bmeyer@rim.com>
33556
33557         Reviewed by Daniel Bates.
33558
33559         In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block.
33560         https://bugs.webkit.org/show_bug.cgi?id=51827
33561
33562         * CMakeLists.txt:
33563
33564 2011-01-03  Dan Bernstein  <mitz@apple.com>
33565
33566         Reviewed by Simon Fraser.
33567
33568         Remove the unused RenderTableCell::m_percentageHeight
33569         https://bugs.webkit.org/show_bug.cgi?id=51837
33570
33571         * rendering/RenderTableCell.cpp:
33572         (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight.
33573         * rendering/RenderTableCell.h: Removed m_percentageHeight.
33574
33575 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
33576
33577         Reviewed by David Hyatt.
33578
33579         Implement -webkit-linear-gradient and -webkit-radial-gradient
33580         https://bugs.webkit.org/show_bug.cgi?id=28152
33581
33582         Add support for -webkit-radial-gradients.
33583
33584         Tests: fast/gradients/css3-radial-gradients.html
33585                fast/gradients/css3-radial-gradients2.html
33586
33587         * css/CSSGradientValue.cpp:
33588         (WebCore::blend): Used to blend colors, which is necessary when truncating
33589         the start of radial gradients.
33590         (WebCore::GradientStop): Small struct to aid gradient stop processing.
33591         (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store
33592         the color so that we can blend it when truncating radial gradients. Changed
33593         to handle both linear and radial gradients.
33594         (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec.
33595         (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change.
33596         (WebCore::distanceToClosestCorner): New utility method.
33597         (WebCore::distanceToFarthestCorner): Ditto.
33598         (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and
33599         fill rules.
33600
33601         * css/CSSGradientValue.h:
33602         (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what
33603         kind of gradient it's dealing with, so add new isFooGradient methods.
33604         (WebCore::CSSGradientValue::isRadialGradient): Ditto.
33605         (WebCore::CSSLinearGradientValue::isLinearGradient):
33606         (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc.
33607         (WebCore::CSSRadialGradientValue::setSizingBehavior):
33608         (WebCore::CSSRadialGradientValue::setEndHorizontalSize):
33609         (WebCore::CSSRadialGradientValue::setEndVerticalSize):
33610         (WebCore::CSSRadialGradientValue::isRadialGradient):
33611
33612         * css/CSSParser.h:
33613         * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition()
33614         so we can use parseFillPosition() when parsing a gradient function.
33615         * css/CSSParser.cpp:
33616         (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList*
33617         (WebCore::CSSParser::parseFillPosition): Ditto
33618         (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition.
33619         (WebCore::CSSParser::parseTransformOriginShorthand): Ditto
33620         (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing.
33621         (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition.
33622         (WebCore::CSSParser::parsePerspectiveOrigin): Ditto
33623
33624         * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors.
33625
33626         * platform/graphics/Gradient.cpp:
33627         (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients.
33628         * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients.
33629         (WebCore::Gradient::create):
33630         (WebCore::Gradient::startRadius): Expose radii.
33631         (WebCore::Gradient::endRadius):
33632         (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops.
33633         (WebCore::Gradient::setEndRadius):
33634         (WebCore::Gradient::aspectRatio):
33635         * platform/graphics/cg/GradientCG.cpp:
33636         (WebCore::Gradient::paint): For elliptical gradients, scale the CTM.
33637         * platform/graphics/wince/GraphicsContextWinCE.cpp:
33638         (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1().
33639
33640 2011-01-03  Simon Fraser  <simon.fraser@apple.com>
33641
33642         Reviewed by David Hyatt.
33643
33644         Implement -webkit-linear-gradient and -webkit-radial-gradient
33645         https://bugs.webkit.org/show_bug.cgi?id=28152
33646         
33647         Add support for the parsing and rendering of non-repeating CSS3 linear gradients,
33648         according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>.
33649
33650         Tests: fast/gradients/css3-color-stop-units.html
33651                fast/gradients/css3-color-stops.html
33652                fast/gradients/css3-gradient-parsing.html
33653                fast/gradients/css3-linear-angle-gradients.html
33654
33655         * css/CSSGradientValue.h:
33656         Add subclasses of CSSGradientValue for linear and radial gradients.
33657         
33658         * css/CSSGradientValue.cpp:
33659         (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache
33660         the gradient sometimes.
33661         (WebCore::compareStops): positions are CSSValues now.
33662         (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called
33663         for old-style gradients.
33664         (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about
33665         missing positions, ensuring that stop position is ordered, and spacing out stops
33666         without positions. Also normalize gradients which use stops outside the 0-1 range
33667         so that platforms can render them correctly.
33668         (WebCore::positionFromValue): Determin the position on the gradient line for percentage,
33669         number and length values.
33670         (WebCore::CSSGradientValue::computeEndPoint):
33671         (WebCore::CSSLinearGradientValue::cssText):
33672         (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle
33673         given an angle.
33674         (WebCore::CSSLinearGradientValue::createGradient):
33675         (WebCore::CSSRadialGradientValue::cssText):
33676         (WebCore::CSSRadialGradientValue::resolveRadius):
33677         (WebCore::CSSRadialGradientValue::createGradient):
33678
33679         * css/CSSParser.cpp:
33680         (WebCore::CSSParser::parseValue): Style fix.
33681         (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage()
33682         (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage()
33683         (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage()
33684         (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient.
33685         (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient,
33686         and fixed to store CSSValues for the stop position.
33687         (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient,
33688         and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate.
33689         (WebCore::valueFromSideKeyword):
33690         (WebCore::parseGradientColorOrKeyword): Color parsing utility.
33691         (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients.
33692         (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients.
33693         (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas.
33694         (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients
33695         and CSS canvas.
33696         * css/CSSParser.h:
33697         * platform/graphics/Gradient.h:
33698         (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients.
33699         (WebCore::Gradient::setP1): Ditto.
33700
33701 2011-01-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
33702
33703         Reviewed by Andreas Kling.
33704
33705         [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
33706         https://bugs.webkit.org/show_bug.cgi?id=51464
33707
33708         Added a way to bind any QObject created as a plugin to JavaScript, 
33709         by adding a custom member (qtObject) to WebCore::Widget. 
33710         Added a test to tst_qwebpage to make sure plugins created 
33711         as QGraphicsWidget are accessible through JavaScript.
33712
33713         * bindings/js/ScriptControllerQt.cpp:
33714         (WebCore::ScriptController::createScriptInstanceForWidget):
33715         * platform/Widget.h:
33716         * platform/qt/WidgetQt.cpp:
33717         (WebCore::Widget::Widget):
33718         (WebCore::Widget::setBindingObject):
33719         (WebCore::Widget::bindingObject):
33720
33721 2011-01-03  David Hyatt  <hyatt@apple.com>
33722
33723         Reviewed by Simon Fraser.
33724
33725         https://bugs.webkit.org/show_bug.cgi?id=51328
33726
33727         Printing on a page with body { height: 100% } clips out the overflow contents.  This happened
33728         because the computePageRects function was never correct.  It was using the layer's width and height
33729         for the document's width and height, and the layer no longer includes overflow in its width and
33730         height.  It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid
33731         assumption in RTL or vertical text environments.
33732
33733         Added printing/page-count-percentage-height.html
33734
33735         * page/PrintContext.cpp:
33736         (WebCore::PrintContext::computePageRects):
33737         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
33738
33739 2011-01-03  Csaba Osztrogonác  <ossy@webkit.org>
33740
33741         [Qt] Unreviewed buildfix for --minimal build after r74895.
33742
33743         * html/InputType.cpp: Missing include added.
33744         * html/NumberInputType.cpp: Missing include added.
33745
33746 2011-01-02  Darin Adler  <darin@apple.com>
33747
33748         Reviewed by Kent Tamura.
33749
33750         Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
33751         https://bugs.webkit.org/show_bug.cgi?id=51791
33752
33753         * dom/InputElement.h: Make sanitizeValueForTextField public so it can
33754         be called by InputType.
33755
33756         * html/BaseButtonInputType.cpp:
33757         (WebCore::BaseButtonInputType::accessKeyAction): Added.
33758         (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
33759         * html/BaseButtonInputType.h: Ditto.
33760
33761         * html/BaseCheckableInputType.cpp:
33762         (WebCore::BaseCheckableInputType::canSetStringValue): Added.
33763         (WebCore::BaseCheckableInputType::accessKeyAction): Added.
33764         (WebCore::BaseCheckableInputType::fallbackValue): Added.
33765         (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added.
33766         (WebCore::BaseCheckableInputType::isCheckable): Added.
33767         * html/BaseCheckableInputType.h: Ditto.
33768
33769         * html/BaseDateAndTimeInputType.cpp:
33770         (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
33771         * html/BaseDateAndTimeInputType.h: Ditto.
33772
33773         * html/BaseTextInputType.h: Made more functions private.
33774
33775         * html/ButtonInputType.cpp:
33776         (WebCore::ButtonInputType::isTextButton): Added.
33777         * html/ButtonInputType.h: Ditto.
33778
33779         * html/CheckboxInputType.cpp:
33780         (WebCore::CheckboxInputType::willDispatchClick): Added.
33781         (WebCore::CheckboxInputType::didDispatchClick): Added.
33782         (WebCore::CheckboxInputType::isCheckbox): Added.
33783         * html/CheckboxInputType.h: Ditto.
33784
33785         * html/DateTimeInputType.cpp:
33786         (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed
33787         typo in name of this function.
33788         * html/DateTimeInputType.h: Ditto.
33789         * html/DateTimeLocalInputType.cpp:
33790         (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto.
33791         * html/DateTimeLocalInputType.h: Ditto.
33792
33793         * html/EmailInputType.cpp:
33794         (WebCore::EmailInputType::isEmailField): Added.
33795         * html/EmailInputType.h: Ditto.
33796
33797         * html/FileInputType.cpp:
33798         (WebCore::FileInputType::FileInputType): Added.
33799         (WebCore::FileInputType::canSetStringValue): Added.
33800         (WebCore::FileInputType::canChangeFromAnotherType): Added.
33801         (WebCore::FileInputType::files): Added.
33802         (WebCore::FileInputType::canSetValue): Added.
33803         (WebCore::FileInputType::getTypeSpecificValue): Added.
33804         (WebCore::FileInputType::storesValueSeparateFromAttribute): Added.
33805         (WebCore::FileInputType::setFileList): Added.
33806         (WebCore::FileInputType::isFileUpload): Added.
33807         * html/FileInputType.h: Ditto.
33808
33809         * html/HTMLInputElement.cpp:
33810         (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member
33811         renaming and removal.
33812         (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue
33813         instead of checking specific type numbers.
33814         (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
33815         Use fastGetAttribute and fixed typo in the name of the
33816         scaledStepValueShouldBeInteger function.
33817         (WebCore::HTMLInputElement::isKeyboardFocusable): Call
33818         InputType::isKeyboardFocusable; moved most of the type-specific
33819         logic there.
33820         (WebCore::HTMLInputElement::shouldUseInputMethod): Call
33821         InputType::shouldUseInputMethod; moved the type-specific logic there.
33822         (WebCore::HTMLInputElement::handleBlurEvent): Call
33823         InputType::handleBlurEvent; moved the type-specific logic there.
33824         (WebCore::HTMLInputElement::setType): Tweak the names and types
33825         in this function.
33826         (WebCore::HTMLInputElement::updateType): Removed the code that
33827         set m_deprecatedTypeNumber. Compare types by comparing the value
33828         from formControlType. Removed file-specific logic and instead call
33829         InputType::canChangeFromAnotherType. Streamlined the logic for
33830         activation callbacks.
33831         (WebCore::HTMLInputElement::accessKeyAction): Call
33832         InputType::accessKeyAction; moved the type-specific logic there.
33833         (WebCore::HTMLInputElement::mapToEntry): Call
33834         InputType::shouldRespectHeightAndWidthAttributes and
33835         InputType::shouldRespectAlignAttribute.
33836         (WebCore::HTMLInputElement::parseMappedAttribute): Updated
33837         for name changes and the removal of m_defaultChecked. Changed the
33838         alt attribute logic to be based on the class of the renderer.
33839         Call InputType::srcAttributeChanged and moved the type-specific
33840         logic there. Call shouldRespectAlignAttribute and
33841         shouldRespectHeightAndWidthAttributes rather than having
33842         type-specific logic here. Call minOrMaxAttributeChanged.
33843         (WebCore::HTMLInputElement::rendererIsNeeded): Call
33844         InputType::rendererIsNeeded; moved the type-specific logic there.
33845         (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited
33846         flag, which was redundant with the m_haveType flag. Call
33847         InputType::attach; moved the type-specific logic there.
33848         (WebCore::HTMLInputElement::altText): Use fastGetAttribute.
33849         (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call
33850         InputType::canBeSuccessfulSubmitButton; moved the type-specific
33851         logic there.
33852         (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
33853         name changes.
33854         (WebCore::HTMLInputElement::setActivatedSubmit): Ditto.
33855         (WebCore::HTMLInputElement::reset): Updated to use
33856         InputType::storesValueSeparateFromAttribute. Also use
33857         hasAttribute(checkedAttr) rather than m_defaultChecked,
33858         since both are the same. Also updated for name change.
33859         (WebCore::HTMLInputElement::setChecked): Updated for name
33860         changes. Also added call to
33861         InputType::shouldSendChangeEventAfterCheckedChanged and
33862         moved the type-specific logic there.
33863         (WebCore::HTMLInputElement::setIndeterminate): Call
33864         isCheckable to see if indeterminate is allowed.
33865         Also updated for name changes.
33866         (WebCore::HTMLInputElement::copyNonAttributeProperties):
33867         Updated for name changes and removed data members.
33868         (WebCore::HTMLInputElement::value): Call
33869         InputType::getTypeSpecificValue and InputType::fallbackValue.
33870         Moved the type-specific logic there.
33871         (WebCore::HTMLInputElement::valueWithDefault): Call
33872         InputType::defaultValue. Moved the type-specific logic there.
33873         (WebCore::HTMLInputElement::setSuggestedValue): Call
33874         InputType::canSetSuggestedValue. Moved the type-specific logic
33875         there.
33876         (WebCore::HTMLInputElement::setValue): Call
33877         InputType::canSetValue. Moved the type-specific logic there.
33878         Clear the file list if it exists rather than checking the
33879         type explicitly. We could probably do that a more elegant way.
33880         (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute.
33881         (WebCore::HTMLInputElement::setValueFromRenderer): Use the
33882         isFileUpload function in the assertion.
33883         (WebCore::HTMLInputElement::setFileListFromRenderer): Put most
33884         of the code from this function into FileInputType::setFileList.
33885         (WebCore::HTMLInputElement::preDispatchEventHandler): Changed
33886         to call InputType::willDispatchClick, which does the type-specific
33887         work. Still need to use a single struct for all types, because
33888         the type of the element could change during the event handling.
33889         (WebCore::HTMLInputElement::postDispatchEventHandler): Changed
33890         to call InputType::didDispatchClick.
33891         (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute.
33892         (WebCore::HTMLInputElement::accept): Use fastGetAttribute.
33893         (WebCore::HTMLInputElement::alt): Use fastGetAttribute.
33894         (WebCore::HTMLInputElement::src): Use fastGetAttribute.
33895         (WebCore::HTMLInputElement::setAutofilled): Updated for name
33896         changes.
33897         (WebCore::HTMLInputElement::files): Use InputType::files.
33898         (WebCore::HTMLInputElement::isAcceptableValue): Use
33899         InputType::isAcceptableValue.
33900         (WebCore::HTMLInputElement::sanitizeValue): Use
33901         InputType::sanitizeValue.
33902         (WebCore::HTMLInputElement::hasUnacceptableValue): Use
33903         InputType::hasUnacceptableValue.
33904         (WebCore::HTMLInputElement::needsActivationCallback): Use
33905         InputType::shouldResetOnDocumentActivation.
33906         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use
33907         InputType::willMoveToNewOwnerDocument.
33908         (WebCore::HTMLInputElement::dataList): Use
33909         InputType::shouldRespectListAttribute.
33910         (WebCore::HTMLInputElement::selectedOption): Tweaked logic
33911         and naming a bit.
33912         (WebCore::HTMLInputElement::stepUpFromRenderer): Use
33913         fastGetAttribute.
33914         (WebCore::HTMLInputElement::isSpeechEnabled): Use
33915         InputType::shouldRespectSpeechAttribute.
33916         (WebCore::HTMLInputElement::isTextButton): No longer inline.
33917         Calls through to InputType.
33918         (WebCore::HTMLInputElement::isRadioButton): Ditto.
33919         (WebCore::HTMLInputElement::isSearchField): Ditto.
33920         (WebCore::HTMLInputElement::isInputTypeHidden): Ditto.
33921         (WebCore::HTMLInputElement::isPasswordField): Ditto.
33922         (WebCore::HTMLInputElement::isCheckbox): Ditto.
33923         (WebCore::HTMLInputElement::isText): Ditto.
33924         (WebCore::HTMLInputElement::isEmailField): Ditto.
33925         (WebCore::HTMLInputElement::isFileUpload): Ditto.
33926         (WebCore::HTMLInputElement::isImageButton): Ditto.
33927         (WebCore::HTMLInputElement::isNumberField): Ditto.
33928         (WebCore::HTMLInputElement::isSubmitButton): Ditto.
33929         (WebCore::HTMLInputElement::isTelephoneField): Ditto.
33930         (WebCore::HTMLInputElement::isURLField): Ditto.
33931         (WebCore::HTMLInputElement::isEnumeratable): Ditto.
33932         (WebCore::HTMLInputElement::isChecked): No longer inline.
33933         Calls InputType::isCheckable.
33934         (WebCore::HTMLInputElement::hasSpinButton): No longer inline.
33935         Calls through to InputType.
33936         (WebCore::HTMLInputElement::supportsPlaceholder): No longer
33937         inline. Calls isTextType as before, but with no special case
33938         for ISINDEX. That special case was unneeded since it returns
33939         true from isTextType.
33940         (WebCore::HTMLInputElement::checkedRadioButtons): No longer
33941         inline.
33942         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
33943         No longer inline.
33944
33945         * html/HTMLInputElement.h: Removed multiple unneeded includes.
33946         The big one is probably InputType.h, but also HTMLFormElement.h.
33947         Removed unneeded forward declarations. Made many functions
33948         no longer inline since they now need to make virtual function
33949         dispatches. Removed the unneeded defaultChecked and
33950         webkitdirectory functions. Both are handled by HTML attribute
33951         reflection for DOM bindings, and the callers instead can get
33952         at the attribute. Made updateCheckedRadioButtons public so it
33953         can be called by an InputType class. Removed
33954         DeprecatedInputType, InputTypeMap, createTypeMap,
33955         deprecatedInputType, allowsIndeterminate,
33956         respectHeightAndWidthAttrs, storesValueSeparateFromAttribute,
33957         m_imageLoader, m_fileList, m_deprecatedTypeNumber,
33958         m_defaultChecked, and m_inited. Renamed m_checked to
33959         m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute,
33960         m_indeterminate tom_isIndeterminate, m_haveType to m_hasType,
33961         m_activeSubmit to m_isActivatedSubmit, and m_autofilled to
33962         m_isAutofilled.
33963         
33964         * html/HiddenInputType.cpp:
33965         (WebCore::HiddenInputType::accessKeyAction): Added.
33966         (WebCore::HiddenInputType::rendererIsNeeded) Added.:
33967         (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added.
33968         (WebCore::HiddenInputType::isHiddenType): Added.
33969         (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added.
33970         * html/HiddenInputType.h: Ditto.
33971
33972         * html/ImageInputType.cpp:
33973         (WebCore::ImageInputType::ImageInputType): Moved out of the header file.
33974         (WebCore::ImageInputType::srcAttributeChanged): Added.
33975         (WebCore::ImageInputType::attach): Added.
33976         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added.
33977         (WebCore::ImageInputType::shouldRespectAlignAttribute): Added.
33978         (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added.
33979         (WebCore::ImageInputType::isImageButton): Added.
33980         (WebCore::ImageInputType::isEnumeratable): Added.
33981         (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added.
33982         * html/ImageInputType.h: Ditto.
33983
33984         * html/InputType.cpp:
33985         (WebCore::InputType::create): Changed argument type to String. There
33986         is no value in taking an AtomicString here.
33987         (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in
33988         this function name.
33989         (WebCore::InputType::canSetStringValue): Added.
33990         (WebCore::InputType::isKeyboardFocusable): Added.
33991         (WebCore::InputType::shouldUseInputMethod): Added.
33992         (WebCore::InputType::handleBlurEvent): Added.
33993         (WebCore::InputType::accessKeyAction): Added.
33994         (WebCore::InputType::attach): Added.
33995         (WebCore::InputType::srcAttributeChanged): Added.
33996         (WebCore::InputType::willMoveToNewOwnerDocument): Added.
33997         (WebCore::InputType::shouldRespectAlignAttribute): Added.
33998         (WebCore::InputType::canChangeFromAnotherType): Added.
33999         (WebCore::InputType::minOrMaxAttributeChanged): Added.
34000         (WebCore::InputType::canBeSuccessfulSubmitButton): Added.
34001         (WebCore::InputType::rendererIsNeeded): Added.
34002         (WebCore::InputType::files): Added.
34003         (WebCore::InputType::getTypeSpecificValue): Added.
34004         (WebCore::InputType::fallbackValue): Added.
34005         (WebCore::InputType::defaultValue): Added.
34006         (WebCore::InputType::canSetSuggestedValue): Added.
34007         (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added.
34008         (WebCore::InputType::storesValueSeparateFromAttribute): Added.
34009         (WebCore::InputType::canSetValue): Added.
34010         (WebCore::InputType::willDispatchClick): Added.
34011         (WebCore::InputType::didDispatchClick): Added.
34012         (WebCore::InputType::isAcceptableValue): Added.
34013         (WebCore::InputType::sanitizeValue): Added.
34014         (WebCore::InputType::hasUnacceptableValue): Added.
34015         (WebCore::InputType::setFileList): Added.
34016         (WebCore::InputType::shouldResetOnDocumentActivation): Added.
34017         (WebCore::InputType::shouldRespectListAttribute): Added.
34018         (WebCore::InputType::shouldRespectSpeechAttribute): Added.
34019         (WebCore::InputType::isTextButton): Added.
34020         (WebCore::InputType::isRadioButton): Added.
34021         (WebCore::InputType::isSearchField): Added.
34022         (WebCore::InputType::isHiddenType): Added.
34023         (WebCore::InputType::isPasswordField): Added.
34024         (WebCore::InputType::isCheckbox): Added.
34025         (WebCore::InputType::isEmailField): Added.
34026         (WebCore::InputType::isFileUpload): Added.
34027         (WebCore::InputType::isImageButton): Added.
34028         (WebCore::InputType::isNumberField): Added.
34029         (WebCore::InputType::isSubmitButton): Added.
34030         (WebCore::InputType::isTelephoneField): Added.
34031         (WebCore::InputType::isURLField): Added.
34032         (WebCore::InputType::isEnumeratable): Added.
34033         (WebCore::InputType::isCheckable): Added.
34034         (WebCore::InputType::hasSpinButton): Added.
34035         (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added.
34036
34037         * html/InputType.h: Removed unneeded ExceptionCode.h include and
34038         used a typedef instead as we do when we want for forward declare it.
34039         Added includes and forward declarations needed for new functions.
34040         Added ClickHandlingState structure. Changed the argument to create
34041         to a String rather than AtomicString. Added many virtual functions.
34042         
34043         * html/IsIndexInputType.cpp:
34044         (WebCore::IsIndexInputType::shouldRespectListAttribute): Added.
34045         * html/IsIndexInputType.h: Ditto.
34046
34047         * html/NumberInputType.cpp:
34048         (WebCore::NumberInputType::handleBlurEvent): Added.
34049         (WebCore::NumberInputType::isAcceptableValue): Added.
34050         (WebCore::NumberInputType::sanitizeValue): Added.
34051         (WebCore::NumberInputType::hasUnacceptableValue): Added.
34052         (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added.
34053         (WebCore::NumberInputType::isNumberField): Added.
34054         (WebCore::NumberInputType::hasSpinButton): Added.
34055         * html/NumberInputType.h: Ditto.
34056
34057         * html/PasswordInputType.cpp:
34058         (WebCore::PasswordInputType::shouldUseInputMethod): Added.
34059         (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added.
34060         (WebCore::PasswordInputType::shouldRespectListAttribute): Added.
34061         (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added.
34062         (WebCore::PasswordInputType::isPasswordField): Added.
34063         * html/PasswordInputType.h: Ditto.
34064
34065         * html/RadioInputType.cpp:
34066         (WebCore::RadioInputType::isKeyboardFocusable): Added.
34067         (WebCore::RadioInputType::attach): Added.
34068         (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added.
34069         (WebCore::RadioInputType::willDispatchClick): Added.
34070         (WebCore::RadioInputType::didDispatchClick): Added.
34071         (WebCore::RadioInputType::isRadioButton): Added.
34072         * html/RadioInputType.h: Ditto.
34073
34074         * html/RangeInputType.cpp:
34075         (WebCore::RangeInputType::accessKeyAction): Added.
34076         (WebCore::RangeInputType::minOrMaxAttributeChanged): Added.
34077         (WebCore::RangeInputType::fallbackValue): Added.
34078         (WebCore::RangeInputType::sanitizeValue): Added.
34079         (WebCore::RangeInputType::shouldRespectListAttribute): Added.
34080         * html/RangeInputType.h: Ditto.
34081
34082         * html/ResetInputType.cpp:
34083         (WebCore::ResetInputType::defaultValue): Added.
34084         (WebCore::ResetInputType::isTextButton): Added.
34085         * html/ResetInputType.h: Ditto.
34086
34087         * html/SearchInputType.cpp:
34088         (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added.
34089         (WebCore::SearchInputType::isSearchField): Added.
34090         * html/SearchInputType.h: Ditto.
34091
34092         * html/SubmitInputType.cpp:
34093         (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added.
34094         (WebCore::SubmitInputType::defaultValue): Added.
34095         (WebCore::SubmitInputType::isSubmitButton): Added.
34096         (WebCore::SubmitInputType::isTextButton): Added.
34097         * html/SubmitInputType.h: Ditto.
34098
34099         * html/TelephoneInputType.cpp:
34100         (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added.
34101         (WebCore::TelephoneInputType::isTelephoneField): Added.
34102         * html/TelephoneInputType.h: Ditto.
34103
34104         * html/TextFieldInputType.cpp:
34105         (WebCore::TextFieldInputType::shouldUseInputMethod): Added.
34106         (WebCore::TextFieldInputType::sanitizeValue): Added.
34107         (WebCore::TextFieldInputType::shouldRespectListAttribute): Added.
34108         * html/TextFieldInputType.h: Ditto.
34109
34110         * html/TextInputType.cpp:
34111         (WebCore::TextInputType::canSetSuggestedValue): Added.
34112         (WebCore::TextInputType::shouldRespectSpeechAttribute): Added.
34113         * html/TextInputType.h: Ditto.
34114
34115         * html/TimeInputType.cpp:
34116         (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed
34117         typo in the name of this function.
34118         * html/TimeInputType.h: Ditto.
34119
34120         * html/URLInputType.cpp:
34121         (WebCore::URLInputType::isURLField): Added.
34122         * html/URLInputType.h: Ditto.
34123
34124 2011-01-03  Mihai Parparita  <mihaip@chromium.org>
34125
34126         Unreviewed.
34127
34128         NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same
34129         https://bugs.webkit.org/show_bug.cgi?id=51151
34130
34131         Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering,
34132         so that it can match Safari's (and thus use the same baselines).
34133
34134         No new tests, should be covered by layout tests (which will need
34135         expectation changes)
34136
34137         * platform/chromium/ScrollbarThemeChromiumMac.mm:
34138
34139 2011-01-03  Antonio Gomes  <agomes@rim.com>
34140
34141         Unreviewed build fix for WebKit/Gtk+.
34142
34143         RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be
34144         guarded by ENABLE(VIDEO), as it is in its header.
34145
34146         No new tests.
34147
34148         * platform/gtk/RenderThemeGtk2.cpp:
34149
34150 2011-01-02  Dan Bernstein  <mitz@apple.com>
34151
34152         Rubber-stamped by Simon Fraser.
34153
34154         <rdar://problem/8812159> Update copyright strings
34155
34156         * Info.plist:
34157
34158 2011-01-02  Dan Bernstein  <mitz@apple.com>
34159
34160         Reviewed by Sam Weinig.
34161
34162         <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field
34163         https://bugs.webkit.org/show_bug.cgi?id=51623
34164
34165         * editing/Editor.cpp:
34166         (WebCore::Editor::countMatchesForText): Actually remember the original search range end
34167         container and offset and restore them when needed, instead of using two references to the
34168         same Range.
34169         * manual-tests/find-count-matches-after-text-control.html: Added.
34170
34171 2011-01-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
34172
34173         Reviewed by Csaba Osztrogonác.
34174
34175         WebKit 2 does not build on 64bits with a recent GCC
34176         https://bugs.webkit.org/show_bug.cgi?id=51754
34177
34178         Use explicitely 64 bits types for the attributes of DatabaseDetails.
34179
34180         * storage/DatabaseDetails.h:
34181         (WebCore::DatabaseDetails::expectedUsage):
34182         (WebCore::DatabaseDetails::currentUsage):
34183
34184 2011-01-02  Patrick Gansterer  <paroga@webkit.org>
34185
34186         Unreviewed WinCE build fix for r74868.
34187
34188         * platform/graphics/wince/ImageBufferWinCE.cpp:
34189         (WebCore::getImageData):
34190
34191 2011-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
34192
34193         Unreviewed, rolling out r74847.
34194         http://trac.webkit.org/changeset/74847
34195         https://bugs.webkit.org/show_bug.cgi?id=51803
34196
34197         "Preprocessor guards should be in header files" (Requested by
34198         ap on #webkit).
34199
34200         * bindings/js/JSDOMWindowBase.cpp:
34201         * dom/Document.cpp:
34202         (WebCore::Document::recalcStyle):
34203         * html/HTMLDocument.cpp:
34204         * loader/FrameLoader.cpp:
34205         * loader/ResourceLoadNotifier.cpp:
34206         * page/Chrome.cpp:
34207         * page/Console.cpp:
34208         * page/ContextMenuController.cpp:
34209         * page/DOMWindow.cpp:
34210         (WebCore::DOMWindow::dispatchEvent):
34211         * page/EventHandler.cpp:
34212         * page/Page.cpp:
34213         * storage/Database.cpp:
34214         * workers/AbstractWorker.cpp:
34215         * workers/DefaultSharedWorkerRepository.cpp:
34216         * workers/SharedWorker.cpp:
34217         * workers/Worker.cpp:
34218         * workers/WorkerContext.cpp:
34219         * workers/WorkerMessagingProxy.cpp:
34220         * xml/XMLHttpRequest.cpp:
34221         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
34222
34223 2011-01-02  Patrick Gansterer  <paroga@webkit.org>
34224
34225         [CMake] Unreviewed build fix.
34226
34227         * CMakeLists.txt:
34228
34229 2011-01-02  Dirk Schulze  <krit@webkit.org>
34230
34231         Reviewed by Simon Fraser.
34232
34233         Clarify ImageBuffer and ImageData relationship
34234         https://bugs.webkit.org/show_bug.cgi?id=51297
34235
34236         Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code,
34237         since this was a layering violation, and replaced it by ByteArray.
34238
34239         No change of functionality, so no new test added.
34240
34241         * html/ImageData.cpp:
34242         (WebCore::ImageData::create):
34243         (WebCore::ImageData::ImageData):
34244         * html/ImageData.h: Added new constructor with ByteArray input.
34245         (WebCore::ImageData::width):
34246         (WebCore::ImageData::height):
34247         (WebCore::ImageData::data):
34248         * html/canvas/CanvasPixelArray.cpp:
34249         (WebCore::CanvasPixelArray::create):
34250         (WebCore::CanvasPixelArray::CanvasPixelArray):
34251         * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas.
34252         (WebCore::CanvasPixelArray::data):
34253         (WebCore::CanvasPixelArray::length):
34254         (WebCore::CanvasPixelArray::set):
34255         (WebCore::CanvasPixelArray::get):
34256         * html/canvas/CanvasRenderingContext2D.cpp:
34257         (WebCore::CanvasRenderingContext2D::getImageData):
34258         (WebCore::CanvasRenderingContext2D::putImageData):
34259         * platform/graphics/ImageBuffer.h:
34260         * platform/graphics/cairo/ImageBufferCairo.cpp:
34261         (WebCore::getImageData):
34262         (WebCore::ImageBuffer::getUnmultipliedImageData):
34263         (WebCore::ImageBuffer::getPremultipliedImageData):
34264         (WebCore::putImageData):
34265         (WebCore::ImageBuffer::putUnmultipliedImageData):
34266         (WebCore::ImageBuffer::putPremultipliedImageData):
34267         * platform/graphics/cg/ImageBufferCG.cpp:
34268         (WebCore::getImageData):
34269         (WebCore::ImageBuffer::getUnmultipliedImageData):
34270         (WebCore::ImageBuffer::getPremultipliedImageData):
34271         (WebCore::putImageData):
34272         (WebCore::ImageBuffer::putUnmultipliedImageData):
34273         (WebCore::ImageBuffer::putPremultipliedImageData):
34274         * platform/graphics/filters/FEBlend.cpp:
34275         (WebCore::FEBlend::apply):
34276         * platform/graphics/filters/FEColorMatrix.cpp:
34277         (WebCore::FEColorMatrix::apply):
34278         * platform/graphics/filters/FEComponentTransfer.cpp:
34279         (WebCore::FEComponentTransfer::apply):
34280         * platform/graphics/filters/FEComposite.cpp:
34281         (WebCore::FEComposite::apply):
34282         * platform/graphics/filters/FEConvolveMatrix.cpp:
34283         (WebCore::setDestinationPixels):
34284         (WebCore::FEConvolveMatrix::apply):
34285         * platform/graphics/filters/FEConvolveMatrix.h:
34286         * platform/graphics/filters/FEDisplacementMap.cpp:
34287         (WebCore::FEDisplacementMap::apply):
34288         * platform/graphics/filters/FEGaussianBlur.cpp:
34289         (WebCore::FEGaussianBlur::apply):
34290         * platform/graphics/filters/FELighting.cpp:
34291         (WebCore::FELighting::apply):
34292         * platform/graphics/filters/FEMorphology.cpp:
34293         (WebCore::FEMorphology::apply):
34294         * platform/graphics/filters/FETurbulence.cpp:
34295         (WebCore::FETurbulence::apply):
34296         * platform/graphics/filters/FilterEffect.cpp:
34297         (WebCore::FilterEffect::asImageBuffer):
34298         (WebCore::FilterEffect::asUnmultipliedImage):
34299         (WebCore::FilterEffect::asPremultipliedImage):
34300         (WebCore::FilterEffect::copyImageBytes):
34301         (WebCore::FilterEffect::copyUnmultipliedImage):
34302         (WebCore::FilterEffect::copyPremultipliedImage):
34303         (WebCore::FilterEffect::createUnmultipliedImageResult):
34304         (WebCore::FilterEffect::createPremultipliedImageResult):
34305         * platform/graphics/filters/FilterEffect.h:
34306         * platform/graphics/qt/ImageBufferQt.cpp:
34307         (WebCore::getImageData):
34308         (WebCore::ImageBuffer::getUnmultipliedImageData):
34309         (WebCore::ImageBuffer::getPremultipliedImageData):
34310         (WebCore::putImageData):
34311         (WebCore::ImageBuffer::putUnmultipliedImageData):
34312         (WebCore::ImageBuffer::putPremultipliedImageData):
34313         * platform/graphics/skia/ImageBufferSkia.cpp:
34314         (WebCore::getImageData):
34315         (WebCore::ImageBuffer::getUnmultipliedImageData):
34316         (WebCore::ImageBuffer::getPremultipliedImageData):
34317         (WebCore::putImageData):
34318         (WebCore::ImageBuffer::putUnmultipliedImageData):
34319         (WebCore::ImageBuffer::putPremultipliedImageData):
34320         * platform/graphics/wince/ImageBufferWinCE.cpp:
34321         (WebCore::getImageData):
34322         (WebCore::ImageBuffer::getUnmultipliedImageData):
34323         (WebCore::ImageBuffer::getPremultipliedImageData):
34324         (WebCore::putImageData):
34325         (WebCore::ImageBuffer::putUnmultipliedImageData):
34326         (WebCore::ImageBuffer::putPremultipliedImageData):
34327         * platform/graphics/wx/ImageBufferWx.cpp:
34328         (WebCore::ImageBuffer::getUnmultipliedImageData):
34329         (WebCore::ImageBuffer::getPremultipliedImageData):
34330         (WebCore::ImageBuffer::putUnmultipliedImageData):
34331         (WebCore::ImageBuffer::putPremultipliedImageData):
34332         * rendering/RenderSVGResourceMasker.cpp:
34333         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
34334
34335 2011-01-01  Adam Barth  <abarth@webkit.org>
34336
34337         Reviewed by Eric Seidel.
34338
34339         Move JavaScriptCore to Source
34340         https://bugs.webkit.org/show_bug.cgi?id=51604
34341
34342         Update references to JavaScriptCore.
34343
34344         * Android.derived.jscbindings.mk:
34345         * Android.v8bindings.mk:
34346         * CMakeLists.txt:
34347         * WebCore.gyp/WebCore.gyp:
34348         * WebCore.pro:
34349           - These changes are subtle and might not be 100% correct.
34350         * move-js-headers.sh:
34351
34352 2011-01-01  Adam Barth  <abarth@webkit.org>
34353
34354         Reviewed by Eric Seidel.
34355
34356         forbid sandboxed frames to call top.close() when allow-same-origin is not setted
34357         https://bugs.webkit.org/show_bug.cgi?id=38340
34358
34359         We now pass the ScriptExecutionContext to window.close so it can find
34360         the Frame and check whether navigation is allowed.  This check will
34361         almost always pass because you can only close top-level frames, but the
34362         check will fail when the calling script is sandboxed.
34363
34364         Tests: fast/frames/sandboxed-iframe-close-top-noclose.html
34365                fast/frames/sandboxed-iframe-close-top.html
34366
34367         * page/DOMWindow.cpp:
34368         (WebCore::DOMWindow::close):
34369         * page/DOMWindow.h:
34370         * page/DOMWindow.idl:
34371
34372 2011-01-01  Adam Barth  <abarth@webkit.org>
34373
34374         Reviewed by Eric Seidel.
34375
34376         sandbox iframes have access to top.history methods
34377         https://bugs.webkit.org/show_bug.cgi?id=38152
34378
34379         To enforce the sandbox restrictions on History, we need to pass the
34380         ScriptExecutionContext to WebCore.  This patch leaves the original
34381         History methods in place because they are used directly by folks who
34382         don't care about security checks.
34383
34384         Test: fast/frames/sandboxed-iframe-history-denied.html
34385
34386         * page/History.cpp:
34387         (WebCore::History::back):
34388         (WebCore::History::forward):
34389         (WebCore::History::go):
34390         * page/History.h:
34391         * page/History.idl:
34392
34393 2011-01-01  Adam Barth  <abarth@webkit.org>
34394
34395         Remove empty file.
34396
34397         * Android.mk:
34398         * CMakeLists.txt:
34399         * GNUmakefile.am:
34400         * WebCore.gypi:
34401         * WebCore.pro:
34402         * WebCore.vcproj/WebCore.vcproj:
34403         * WebCore.xcodeproj/project.pbxproj:
34404         * dom/DOMAllInOne.cpp:
34405         * dom/Entity.cpp: Removed.
34406
34407 2011-01-01  Adam Barth  <abarth@webkit.org>
34408
34409         Remove empty file.
34410
34411         * CMakeLists.txt:
34412         * GNUmakefile.am:
34413         * WebCore.pro:
34414         * WebCore.vcproj/WebCore.vcproj:
34415         * WebCore.xcodeproj/project.pbxproj:
34416         * bindings/js/JSBindingsAllInOne.cpp:
34417         * bindings/js/JSPopStateEventCustom.cpp: Removed.
34418
34419 2011-01-01  Adam Barth  <abarth@webkit.org>
34420
34421         Remove empty files.
34422
34423         * GNUmakefile.am:
34424         * WebCore.gypi:
34425         * WebCore.vcproj/WebCore.vcproj:
34426         * WebCore.xcodeproj/project.pbxproj:
34427         * bindings/generic/BindingFrame.h: Removed.
34428         * bindings/generic/BindingLocation.h: Removed.
34429
34430 2011-01-01  Konstantin Tokarev  <annulen@yandex.ru>
34431
34432         Reviewed by Darin Adler.
34433
34434         Don't include Inspector headers when Inspector is disabled
34435         https://bugs.webkit.org/show_bug.cgi?id=51789
34436
34437         * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when
34438         Inspector is enabled
34439         * dom/Document.cpp: Include Inspector headers when
34440         Inspector is enabled
34441         (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie
34442         handling
34443         * html/HTMLDocument.cpp: Include Inspector headers when
34444         Inspector is enabled
34445         * loader/FrameLoader.cpp: Include Inspector headers when
34446         Inspector is enabled
34447         * loader/ResourceLoadNotifier.cpp: Include Inspector headers when
34448         Inspector is enabled
34449         * page/Chrome.cpp: Include Inspector headers when
34450         Inspector is enabled
34451         * page/Console.cpp: Include Inspector headers when
34452         Inspector is enabled
34453         * page/ContextMenuController.cpp: Include Inspector headers when
34454         Inspector is enabled
34455         * page/DOMWindow.cpp: Include Inspector headers when
34456         Inspector is enabled
34457         (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie
34458         handling
34459         * page/EventHandler.cpp: Include Inspector headers when
34460         Inspector is enabled
34461         * page/Page.cpp: Include Inspector headers when
34462         Inspector is enabled
34463         * storage/Database.cpp: Include Inspector headers when
34464         Inspector is enabled
34465         * workers/AbstractWorker.cpp: Include Inspector headers when
34466         Inspector is enabled
34467         * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when
34468         Inspector is enabled
34469         * workers/SharedWorker.cpp: Include Inspector headers when
34470         Inspector is enabled
34471         * workers/Worker.cpp: Include Inspector headers when
34472         Inspector is enabled
34473         * workers/WorkerContext.cpp: Include Inspector headers when
34474         Inspector is enabled
34475         * workers/WorkerMessagingProxy.cpp: Include Inspector headers when
34476         Inspector is enabled
34477         * xml/XMLHttpRequest.cpp: Include Inspector headers when
34478         Inspector is enabled
34479         (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled
34480         InspectorInstrumentationCookie handling
34481
34482 2010-12-31  Adam Barth  <abarth@webkit.org>
34483
34484         Reviewed by Darin Adler.
34485
34486         fast/loader/about-blank-hash-change.html fails on Chromium
34487         https://bugs.webkit.org/show_bug.cgi?id=51788
34488
34489         I'm unable to reproduce the failure locally, so this patch is slightly
34490         speculative.  We need to be slighly more careful how we compare the
34491         fragment identifiers for Chromium because Chromium uses a URL parser
34492         that is more agressive about canonicalization.
34493
34494         * page/Location.cpp:
34495         (WebCore::Location::setHash):
34496
34497 2010-12-31  Martin Robinson  <mrobinson@igalia.com>
34498
34499         Reviewed by Xan Lopez.
34500
34501         [GTK] Use GLib/GIO API for FileSystemGtk implementation
34502         https://bugs.webkit.org/show_bug.cgi?id=51617
34503
34504         Complete implementation of FileSystem platform code for GLib. This
34505         converts remaining API points using POSIX calls to platform-independent
34506         GLib calls and fixes other compilation errors.
34507
34508         No new tests. This code will be tested when an implementation
34509         of beginDragWithFiles is complete.
34510
34511         (WebCore::JSDirectoryEntry::getFile):
34512         (WebCore::JSDirectoryEntry::getDirectory):
34513         * platform/FileSystem.h: Added forward declarations for GLib types to
34514         avoid GLib includes and changed the PlatformFileHandle to be a GIOStream.
34515         * platform/gtk/FileSystemGtk.cpp:
34516         (WebCore::openTemporaryFile): Reimplement using only GLib calls.
34517         (WebCore::openFile): Ditto.
34518         (WebCore::closeFile): Ditto.
34519         (WebCore::seekFile): Added implementation.
34520         (WebCore::writeToFile): Reimplement using only GLib calls.
34521         (WebCore::readFromFile): Ditto.
34522
34523 2010-12-31  Darin Adler  <darin@apple.com>
34524
34525         Reviewed by Dan Bernstein.
34526
34527         Some renaming and refactoring of form element code
34528         https://bugs.webkit.org/show_bug.cgi?id=51784
34529
34530         * bindings/js/JSHTMLSelectElementCustom.cpp:
34531         (WebCore::JSHTMLSelectElement::remove): Call new overload of remove
34532         for option elements instead of putting the logic in the binding.
34533
34534         * html/HTMLButtonElement.cpp:
34535         (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes.
34536         (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to
34537         "event" instead of "evt". Also updated for name changes.
34538         (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto.
34539         (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto.
34540         (WebCore::HTMLButtonElement::appendFormData): Ditto.
34541         * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit
34542         to match the getter function name. The name still doesn't seem great.
34543
34544         * html/HTMLFormElement.cpp:
34545         (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes.
34546         (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function
34547         instead of m_autocomplete data member.
34548         (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member
34549         instead of otherwise-unused isDemoted function.
34550         (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes.
34551         (WebCore::HTMLFormElement::validateInteractively): Removed code to clear
34552         m_insubmit. This is now handled by the caller, prepareForSubmission.
34553         (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for
34554         name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission
34555         here from validateInteractively. Removed unneeded check of m_doingsubmit
34556         boolean before setting it.
34557         (WebCore::HTMLFormElement::submit): Factored this function into two.
34558         One for JavaScript and one for non-JavaScript. Neither function needs a frame
34559         argument, because the question being asked, anyPageIsProcessingUserGesture,
34560         is a question asked of an entire page group, not a specific frame or page,
34561         so it's not important which is the active frame.
34562         (WebCore::HTMLFormElement::submitFromJavaScript): Ditto.
34563         (WebCore::HTMLFormElement::reset): Updated for name changes.
34564         (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse
34565         acceptAttr and got rid of code to set m_autocomplete.
34566         (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw
34567         pointer.
34568         (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer
34569         and the vector find function. Added a FIXME about the comment.
34570         (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete
34571         function instead of m_autocomplete data member.
34572         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto.
34573         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
34574         (WebCore::HTMLFormElement::autoComplete): Ditto.
34575         * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete
34576         function. Renamed prepareSubmit to prepareForSubmission. Got rid of the
34577         frame argument from the submit function and added a new submitFromJavaScript
34578         variant. Removed the unneeded isDemoted function. Changed the return type
34579         of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed
34580         m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to
34581         m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed,
34582         m_demoted to m_wasDemoted. Use plain bool instead of bitfields.
34583
34584         * html/HTMLFormElement.idl: Use the function named submitFromJavaScript
34585         instead of using CallWith=DynamicFrame because we don't need to know
34586         what frame is calling. If we did, it's not clear that the "dynamic"
34587         frame would be the right one anyway.
34588
34589         * html/HTMLSelectElement.cpp:
34590         (WebCore::HTMLSelectElement::remove): Added an overload that takes an option
34591         element, since the JavaScript binding supports this.
34592         * html/HTMLSelectElement.h: Ditto.
34593
34594         * html/ImageInputType.cpp:
34595         (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes.
34596         * html/ImageInputType.h: Ditto.
34597         * html/SubmitInputType.cpp:
34598         (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
34599
34600 2010-12-31  Daniel Bates  <dbates@rim.com>
34601
34602         Reviewed by Darin Adler.
34603
34604         Pass style for <area> instead of associated <img> when querying whether
34605         the theme draws the focus ring for an <area>
34606         https://bugs.webkit.org/show_bug.cgi?id=51632
34607
34608         Fixes an issue where the style for the associated <img> of an <area>
34609         was passed when considering whether the theme should draw a focus ring
34610         for the <area>. Instead, we should pass the theme the style for the <area>.
34611
34612         It's not possible to test this at this time since there are no themes
34613         that override focus ring drawing for <area>s.
34614
34615         * rendering/RenderImage.cpp:
34616         (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing()
34617         such that it's called with respect to the focused <area>.
34618
34619 2010-12-31  Darin Adler  <darin@apple.com>
34620
34621         * WebCore.xcodeproj/project.pbxproj: Added back the language.
34622         Developers should be using Xcode 3.2.5 or newer.
34623
34624 2010-12-31  Adam Barth  <abarth@webkit.org>
34625
34626         Reviewed by Eric Seidel.
34627
34628         Move V8 to WebCore Location implementation
34629         https://bugs.webkit.org/show_bug.cgi?id=51768
34630
34631         * bindings/generic/BindingFrame.h:
34632         * bindings/generic/BindingLocation.h:
34633         * bindings/v8/V8Binding.h:
34634         * bindings/v8/V8DOMWindowShell.cpp:
34635         (WebCore::V8DOMWindowShell::setLocation):
34636         * bindings/v8/V8Utilities.cpp:
34637         * bindings/v8/V8Utilities.h:
34638         * bindings/v8/custom/V8LocationCustom.cpp:
34639         (WebCore::V8Location::hashAccessorSetter):
34640         (WebCore::V8Location::hostAccessorSetter):
34641         (WebCore::V8Location::hostnameAccessorSetter):
34642         (WebCore::V8Location::hrefAccessorSetter):
34643         (WebCore::V8Location::pathnameAccessorSetter):
34644         (WebCore::V8Location::portAccessorSetter):
34645         (WebCore::V8Location::protocolAccessorSetter):
34646         (WebCore::V8Location::searchAccessorSetter):
34647         (WebCore::V8Location::reloadCallback):
34648         (WebCore::V8Location::replaceCallback):
34649         (WebCore::V8Location::assignCallback):
34650
34651 2010-12-31  Yi Shen  <yi.4.shen@nokia.com>
34652
34653         Reviewed by Eric Seidel.
34654
34655         Make retrieving extraMediaControlsStyleSheet be page dependent.
34656         https://bugs.webkit.org/show_bug.cgi?id=51752
34657
34658         Use themeForPage to retrieve extraMediaControlsStyleSheet for media
34659         controls.
34660
34661         No new tests because no platform-specific theme implementation uses
34662         the passed page pointer yet.
34663
34664         * css/CSSStyleSelector.cpp:
34665         (WebCore::CSSStyleSelector::styleForElement):
34666
34667 2010-12-31  Ilya Tikhonovsky  <loislo@chromium.org>
34668
34669         Reviewed by Pavel Feldman.
34670
34671         Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.
34672
34673         https://bugs.webkit.org/show_bug.cgi?id=51709
34674
34675         * inspector/front-end/ResourcesPanel.js:
34676         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
34677
34678 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
34679
34680         Unreviewed build fix after r74800.
34681
34682         * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
34683         * bindings/js/JSLocationCustom.cpp: Ditto.
34684
34685 2010-12-31  Adam Barth  <abarth@webkit.org>
34686
34687         Rubber-stamped by Eric Seidel.
34688
34689         Move HTML and XML parser benchmarks into PerformanceTests/Parser
34690         https://bugs.webkit.org/show_bug.cgi?id=51772
34691
34692         Remove the benchmarks folder now that it's empty.  Future benchmarks
34693         should go in the PerformanceTests directory.
34694
34695         * benchmarks: Removed.
34696         * benchmarks/parser: Removed.
34697         * benchmarks/parser/html-parser.html: Removed.
34698         * benchmarks/parser/resources: Removed.
34699         * benchmarks/parser/resources/html5.html: Removed.
34700         * benchmarks/parser/resources/runner.js: Removed.
34701         * benchmarks/parser/xml-parser.html: Removed.
34702
34703 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
34704
34705         Reviewed by Adam Barth.
34706
34707         Add XML parser benchmark
34708         https://bugs.webkit.org/show_bug.cgi?id=51612
34709
34710         Move the JavaScript code of html parser into a separate file to share it with xml parser.
34711
34712         * benchmarks/parser/html-parser.html:
34713         * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
34714         (runFunction):
34715         (run):
34716         (start):
34717         * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.
34718
34719 2010-12-29  Zhenyao Mo  <zmo@google.com>
34720
34721         Reviewed by Kenneth Russell.
34722
34723         Update validation of stencil mask and ref values
34724         https://bugs.webkit.org/show_bug.cgi?id=50716
34725
34726         * html/canvas/WebGLRenderingContext.cpp:
34727         (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings.
34728         (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings.
34729         (WebCore::WebGLRenderingContext::drawElements): Ditto.
34730         (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error.
34731         (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto.
34732         (WebCore::WebGLRenderingContext::stencilMask): Ditto.
34733         (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto.
34734         (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings.
34735         * html/canvas/WebGLRenderingContext.h: Declare stencil setting members.
34736
34737 2010-12-30  Martin Robinson  <mrobinson@igalia.com>
34738
34739         Reviewed by Xan Lopez.
34740
34741         [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
34742         https://bugs.webkit.org/show_bug.cgi?id=51755
34743
34744         Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3
34745         if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary
34746         step to landing support for the new GTK+ 3.x theming API.
34747
34748         No new tests. This should not change functionality.
34749
34750         * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list.
34751         * platform/gtk/RenderThemeGtk.cpp:
34752         (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method.
34753         (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
34754         (WebCore::RenderThemeGtk::paintMediaButton): Ditto.
34755         (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto.
34756         * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that
34757         it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk.
34758         * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk
34759         that will eventually be platform-dependent.
34760         * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto.
34761
34762 2010-12-30  Justin Schuh  <jschuh@chromium.org>
34763
34764         Reviewed by James Robinson.
34765
34766         Reverting r74292 because it introduced a crash with ruby text.
34767         https://bugs.webkit.org/show_bug.cgi?id=51637
34768
34769         Test: fast/css/counters/counter-ruby-text-cleared.html
34770
34771         * rendering/RenderCounter.cpp:
34772         (WebCore::findPlaceForCounter):
34773         * rendering/RenderObject.cpp:
34774         (WebCore::RenderObject::addChild):
34775         * rendering/RenderObjectChildList.cpp:
34776         (WebCore::RenderObjectChildList::appendChildNode):
34777         (WebCore::RenderObjectChildList::insertChildNode):
34778
34779 2010-12-30  Darin Adler  <darin@apple.com>
34780
34781         Reviewed by David Kilzer.
34782
34783         Remove unused JSBinding source files
34784         https://bugs.webkit.org/show_bug.cgi?id=51762
34785
34786         * bindings/js/JSBinding.h: Removed.
34787         * bindings/js/specialization: Removed.
34788         * bindings/js/specialization/JSBindingState.cpp: Removed.
34789         * bindings/js/specialization/JSBindingState.h: Removed.
34790
34791         * CMakeLists.txt: Removed references to files.
34792         * GNUmakefile.am: Ditto.
34793         * WebCore.gypi: Ditto.
34794         * WebCore.pro: Ditto.
34795         * WebCore.vcproj/WebCore.vcproj: Ditto.
34796         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
34797
34798 2010-12-30  Tony Gentilcore  <tonyg@chromium.org>
34799
34800         Reviewed by Darin Adler.
34801
34802         Remove Document.h include from some headers where it isn't necessary
34803         https://bugs.webkit.org/show_bug.cgi?id=51730
34804
34805         No new tests because no new functionality.
34806
34807         * editing/EditingStyle.cpp:
34808         * editing/EditingStyle.h:
34809         * editing/SelectionController.h:
34810         * editing/visible_units.h:
34811         * html/HTMLAudioElement.h:
34812         * html/HTMLBodyElement.h:
34813         * inspector/InspectorCSSAgent.h:
34814         * inspector/InspectorDOMAgent.h:
34815         * inspector/InspectorInstrumentation.h:
34816         * xml/DOMParser.cpp:
34817         * xml/DOMParser.h:
34818         (WebCore::DOMParser::create):
34819         (WebCore::DOMParser::DOMParser):
34820
34821 2010-12-30  Benjamin C Meyer  <bmeyer@rim.com>
34822
34823         Reviewed by Darin Adler.
34824
34825         bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
34826         which is required when NOTIFICATIONS is enabled.
34827
34828         https://bugs.webkit.org/show_bug.cgi?id=51761
34829
34830         * CMakeLists.txt:
34831
34832 2010-12-30  Antti Koivisto  <antti@apple.com>
34833
34834         Not reviewed.
34835
34836         Revert accidental project file change.
34837
34838         * WebCore.xcodeproj/project.pbxproj:
34839
34840 2010-12-30  Antti Koivisto  <antti@apple.com>
34841
34842         Reviewed by Darin Adler.
34843
34844         https://bugs.webkit.org/show_bug.cgi?id=51134
34845         Move loading related code from MemoryCache to CachedResourceLoader
34846
34847         - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource
34848         - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet
34849         - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource
34850         - Add MemoryCache::add
34851         - Refactor the decision on whether to reload, revalidate or use the existing resource to 
34852           a single function, CachedResourceLoader::determineRevalidationPolicy
34853
34854         * css/CSSImageValue.cpp:
34855         (WebCore::CSSImageValue::cachedImage):
34856             
34857             Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed
34858             if ever taken (since it passes null CachedResourceLoader pointer).
34859             
34860         * loader/ImageLoader.cpp:
34861         (WebCore::ImageLoader::updateFromElement):
34862         * loader/cache/CachedImage.cpp:
34863         * loader/cache/CachedResource.cpp:
34864         (WebCore::CachedResource::CachedResource):
34865         (WebCore::CachedResource::~CachedResource):
34866         (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
34867         
34868             Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
34869         
34870         (WebCore::CachedResource::setLoadPriority):
34871         
34872             Check for Unresolved value before setting.
34873         
34874         * loader/cache/CachedResource.h:
34875         (WebCore::CachedResource::setOwningCachedResourceLoader):
34876         
34877             Rename to be bit less mysterious.
34878         
34879         * loader/cache/CachedResourceLoader.cpp:
34880         (WebCore::createResource):
34881         
34882             This was moved from MemoryCache.
34883         
34884         (WebCore::CachedResourceLoader::~CachedResourceLoader):
34885         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
34886         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
34887         
34888             This was moved/merged from MemoryCache.
34889         
34890         (WebCore::CachedResourceLoader::canRequest):
34891         (WebCore::CachedResourceLoader::requestResource):
34892         
34893             This combines MemoryCache::requestResource and the existing method.
34894         
34895         (WebCore::CachedResourceLoader::revalidateResource):
34896         
34897             This was moved from MemoryCache.
34898         
34899         (WebCore::CachedResourceLoader::loadResource):
34900         
34901             New method for initiating loading.
34902         
34903         (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
34904         
34905             Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
34906         
34907         * loader/cache/CachedResourceLoader.h:
34908         * loader/cache/MemoryCache.cpp:
34909         (WebCore::MemoryCache::add):
34910         * loader/cache/MemoryCache.h:
34911         (WebCore::MemoryCache::remove):
34912
34913 2010-12-30  Steve Block  <steveblock@google.com>
34914
34915         Reviewed by Gavin Barraclough.
34916
34917         Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled
34918         https://bugs.webkit.org/show_bug.cgi?id=51740
34919
34920         This is a policy decision for Android.
34921
34922         No new tests, simply enabling existing, tested code on Android.
34923
34924         * bindings/js/JSDOMWindowBase.cpp:
34925         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
34926
34927 2010-12-30  Yael Aharon  <yael.aharon@nokia.com>
34928
34929         Reviewed by Adam Barth.
34930
34931         REGRESSION: fast/dom/cssTarget-crash.html fails
34932         https://bugs.webkit.org/show_bug.cgi?id=20342
34933
34934         Do not reload the page when submitting a form, using "GET" method, and the
34935         form action url matches the location url, except for the fragment.
34936       
34937         Test: fast/forms/submit-change-fragment.html
34938
34939         * loader/FrameLoader.cpp:
34940         (WebCore::FrameLoader::loadURL):
34941         (WebCore::FrameLoader::loadWithDocumentLoader):
34942         (WebCore::FrameLoader::shouldScrollToAnchor):
34943         * loader/FrameLoader.h:
34944
34945 2010-12-30  Darin Adler  <darin@apple.com>
34946
34947         Reviewed by Adam Barth.
34948
34949         Move security logic out of the JavaScript binding for location into the DOM class
34950         https://bugs.webkit.org/show_bug.cgi?id=51714
34951
34952         * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h,
34953         and JSBinding.h. Later, we'll remove them from other project files and delete
34954         the source files.
34955
34956         * bindings/js/JSBinding.h: Emptied out, marked for later deletion.
34957
34958         * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull
34959         function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL
34960         function, unused toLexicalFrame function, unused completeURL function, unused
34961         getCachedDOMStructure and cacheDOMStructure overloads, and unused
34962         getCachedDOMConstructor and cacheDOMConstruction functions.
34963         (WebCore::activeDOMWindow): Added.
34964         (WebCore::firstDOMWindow): Added.
34965         (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through
34966         JSBindingState, since the latter is an unneeded abstraction.
34967         (WebCore::processingUserGesture): Changed to call ScriptController's function
34968         rather than calling through JSBindingState, which is an unneeded abstraction
34969
34970         * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added
34971         activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly
34972         named allowsAccessFromFrame functions, which answer the question of whether
34973         script is allowed access *to* a frame.
34974
34975         * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes.
34976         (WebCore::JSDOMWindow::setLocation): Streamlined by using the new
34977         activeDOMWindow and firstDOMWindow functions.
34978         (WebCore::JSDOMWindow::open): Ditto.
34979         (WebCore::JSDOMWindow::showModalDialog): Ditto.
34980         (WebCore::JSDOMWindow::postMessage): Ditto.
34981
34982         * bindings/js/JSLocationCustom.cpp:
34983         (WebCore::JSLocation::setHref): Changed to pass the active and first windows through
34984         to the Location::setHref function, with it doing the rest of the work. This moves
34985         work out of the DOM binding that belongs in the DOM itself. Eventually such functions
34986         could even be automatically generated by the bindings script.
34987         (WebCore::JSLocation::setProtocol): Ditto.
34988         (WebCore::JSLocation::setHost): Ditto.
34989         (WebCore::JSLocation::setHostname): Ditto.
34990         (WebCore::JSLocation::setPort): Ditto.
34991         (WebCore::JSLocation::setPathname): Ditto.
34992         (WebCore::JSLocation::setSearch): Ditto.
34993         (WebCore::JSLocation::setHash): Ditto.
34994         (WebCore::JSLocation::replace): Ditto.
34995         (WebCore::JSLocation::reload): Ditto.
34996         (WebCore::JSLocation::assign): Ditto.
34997
34998         * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
34999         * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.
35000
35001         * page/DOMWindow.cpp:
35002         (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us
35003         to use this function for Location::replace, which is the same as setLocation except that
35004         it locks both history and the back/forward list.
35005         * page/DOMWindow.h: Ditto.
35006
35007         * page/Location.cpp:
35008         (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security
35009         logic there does not have to be repeated or even refactored.
35010         (WebCore::Location::setProtocol): Ditto.
35011         (WebCore::Location::setHost): Ditto.
35012         (WebCore::Location::setHostname): Ditto.
35013         (WebCore::Location::setPort): Ditto.
35014         (WebCore::Location::setPathname): Ditto.
35015         (WebCore::Location::setSearch): Ditto.
35016         (WebCore::Location::setHash): Ditto.
35017         (WebCore::Location::assign): Ditto.
35018         (WebCore::Location::replace): Ditto.
35019         (WebCore::Location::reload): Added. Security logic was refactored from the code in
35020         JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems
35021         possibly unneeded.
35022
35023         * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
35024         (WebCore::Location::create):
35025         (WebCore::Location::frame):
35026
35027 2010-12-30  Alexander Pavlov  <apavlov@chromium.org>
35028
35029         Reviewed by Pavel Feldman.
35030
35031         Web Inspector: Pasting a style property with value should automatically split it into prop/value
35032         https://bugs.webkit.org/show_bug.cgi?id=51581
35033
35034         The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts
35035         of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one),
35036         and the edit focus is transferred to the value field.
35037
35038         * inspector/front-end/StylesSidebarPane.js:
35039         (WebInspector.StylePropertyTreeElement.prototype.selectElement):
35040         (WebInspector.StylePropertyTreeElement.prototype):
35041         * inspector/front-end/inspector.js:
35042         (WebInspector.completeURL): Drive-by: return full URLs as-is.
35043         (WebInspector.startEditing.cleanUpAfterEditing):
35044         (WebInspector.startEditing):
35045         (WebInspector.startEditing.pasteEventListener):
35046         (WebInspector.startEditing.keyDownEventListener):
35047
35048 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
35049
35050         Reviewed by Pavel Feldman.
35051
35052         Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
35053         https://bugs.webkit.org/show_bug.cgi?id=51745
35054
35055         * inspector/front-end/Breakpoint.js:
35056         (WebInspector.Breakpoint.prototype.set enabled):
35057
35058 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
35059
35060         Reviewed by Pavel Feldman.
35061
35062         Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
35063         https://bugs.webkit.org/show_bug.cgi?id=51748
35064
35065         * inspector/front-end/CallStackSidebarPane.js:
35066         (WebInspector.CallStackSidebarPane.prototype.update):
35067         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
35068         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
35069         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
35070
35071 2010-12-30  Mikhail Naganov  <mnaganov@chromium.org>
35072
35073         Reviewed by Pavel Feldman.
35074
35075         Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).
35076
35077         https://bugs.webkit.org/show_bug.cgi?id=51713
35078
35079         * WebCore.gypi:
35080         * WebCore.pro:
35081         * bindings/v8/custom/V8ConsoleCustom.cpp:
35082         (WebCore::V8Console::memoryAccessorGetter):
35083         * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp.
35084         (WebCore::V8Performance::memoryAccessorGetter):
35085         * page/Console.idl:
35086         * page/Performance.idl:
35087
35088 2010-12-30  Steve Block  <steveblock@google.com>
35089
35090         Reviewed by Sam Weinig.
35091
35092         Visiting macnn.com often causes SQL spew via geolocation database
35093         https://bugs.webkit.org/show_bug.cgi?id=51557
35094
35095         If the Geolocation position cache database path has not been set, early-out
35096         rather than using an empty path and thus failing to open the database.
35097         This avoids SQL log spew.
35098
35099         Also, avoid starting the database thread until the path has been set, and
35100         shorten the thread name to avoid warnings due to exceeding 30 characters.
35101
35102         No new tests, implementation clean-up only.
35103
35104         * page/GeolocationPositionCache.cpp:
35105         (WebCore::GeolocationPositionCache::addUser):
35106         (WebCore::GeolocationPositionCache::removeUser):
35107         (WebCore::GeolocationPositionCache::setDatabasePath):
35108         (WebCore::GeolocationPositionCache::startBackgroundThread):
35109
35110 2010-12-29  Philippe Normand  <pnormand@igalia.com>
35111
35112         Reviewed by Martin Robinson.
35113
35114         [GTK] minimal build fails at link time due to missing sqlite3 symbols
35115         https://bugs.webkit.org/show_bug.cgi?id=51327
35116
35117         Guard the code calling sqlite3 with the ENABLE(DATABASE) check.
35118
35119         No new tests, build fix only.
35120
35121         * platform/sql/SQLiteAuthorizer.cpp:
35122         * platform/sql/SQLiteDatabase.cpp:
35123         * platform/sql/SQLiteFileSystem.cpp:
35124         * platform/sql/SQLiteStatement.cpp:
35125         * platform/sql/SQLiteTransaction.cpp:
35126
35127 2010-12-30  Justin Schuh  <jschuh@chromium.org>
35128
35129         Reviewed by Dirk Schulze.
35130
35131         Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. 
35132         https://bugs.webkit.org/show_bug.cgi?id=51692
35133
35134         * svg/SVGLength.cpp:
35135         (WebCore::stringToLengthType):
35136         (WebCore::SVGLength::setValueAsString):
35137
35138 2010-12-30  Abhishek Arya  <inferno@chromium.org>
35139
35140         Reviewed by Eric Seidel.
35141
35142         Create a helper function for finding descendent video elements for a node.
35143         https://bugs.webkit.org/show_bug.cgi?id=51696
35144
35145         Test: media/video-element-other-namespace-crash.html
35146
35147         * html/MediaDocument.cpp:
35148         (WebCore::descendentVideoElement): helper function.
35149         (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions.
35150         (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function.
35151
35152 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35153
35154         Reviewed by Yury Semikhatsky.
35155
35156         Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
35157         https://bugs.webkit.org/show_bug.cgi?id=51707
35158
35159         This change brushes up storage agents + removes redundant InspectorBackend class.
35160
35161         * CMakeLists.txt:
35162         * GNUmakefile.am:
35163         * WebCore.gypi:
35164         * WebCore.pro:
35165         * WebCore.vcproj/WebCore.vcproj:
35166         * WebCore.xcodeproj/project.pbxproj:
35167         * inspector/CodeGeneratorInspector.pm:
35168         * inspector/InjectedScriptHost.cpp:
35169         (WebCore::InjectedScriptHost::databaseForId):
35170         (WebCore::InjectedScriptHost::selectDatabase):
35171         (WebCore::InjectedScriptHost::selectDOMStorage):
35172         (WebCore::InjectedScriptHost::inspectorDOMAgent):
35173         * inspector/Inspector.idl:
35174         * inspector/InspectorBackend.cpp: Removed.
35175         * inspector/InspectorBackend.h: Removed.
35176         * inspector/InspectorController.cpp:
35177         (WebCore::InspectorController::InspectorController):
35178         (WebCore::InspectorController::~InspectorController):
35179         (WebCore::InspectorController::connectFrontend):
35180         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
35181         (WebCore::InspectorController::didUseDOMStorage):
35182         (WebCore::InspectorController::setInjectedScriptSource):
35183         (WebCore::InspectorController::dispatchOnInjectedScript):
35184         (WebCore::InspectorController::releaseWrapperObjectGroup):
35185         * inspector/InspectorController.h:
35186         * inspector/InspectorDOMStorageAgent.cpp: Added.
35187         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
35188         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
35189         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
35190         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
35191         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
35192         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
35193         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
35194         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
35195         (WebCore::InspectorDOMStorageAgent::create):
35196         (WebCore::InspectorDOMStorageAgent::frontend):
35197         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
35198         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
35199         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
35200         (WebCore::InspectorDatabaseAgent::executeSQL):
35201         (WebCore::InspectorDatabaseAgent::databaseForId):
35202         (WebCore::InspectorDatabaseAgent::selectDatabase):
35203         (WebCore::InspectorDatabaseAgent::clearFrontend):
35204         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
35205         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
35206         (WebCore::InspectorDatabaseAgent::create):
35207         (WebCore::InspectorDatabaseAgent::frontend):
35208         * inspector/front-end/ScriptsPanel.js:
35209         (WebInspector.ScriptsPanel.prototype.show):
35210         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
35211         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
35212
35213 2010-12-29  Dirk Schulze  <krit@webkit.org>
35214
35215         Reviewed by Darin Adler.
35216
35217         Cleanup SVG code according to the webkit style rules 3
35218         https://bugs.webkit.org/show_bug.cgi?id=51490
35219
35220         Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
35221         Just one file can't be fixed for check-webkit-style.
35222         * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning
35223
35224         No changes of functionality, so no new tests. 
35225
35226         * svg/SVGAllInOne.cpp:
35227         * svg/SVGImage.cpp:
35228         * svg/SVGLength.cpp:
35229         (WebCore::SVGLength::setValue):
35230         * svg/SVGPolygonElement.h:
35231         * svg/SVGPolylineElement.h:
35232         * svg/SVGPreserveAspectRatio.cpp:
35233         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
35234         (WebCore::SVGPreserveAspectRatio::transformRect):
35235         * svg/SVGSVGElement.cpp:
35236         (WebCore::SVGSVGElement::viewport):
35237         * svg/SVGSetElement.h:
35238         * svg/SVGStylable.h:
35239         (WebCore::SVGStylable::~SVGStylable):
35240         * svg/SVGStyledLocatableElement.h:
35241         (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
35242         (WebCore::SVGStyledLocatableElement::isStyledLocatable):
35243         * svg/SVGStyledTransformableElement.cpp:
35244         (WebCore::SVGStyledTransformableElement::isKnownAttribute):
35245         * svg/SVGSwitchElement.cpp:
35246         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
35247         * svg/SVGTests.cpp:
35248         (WebCore::SVGTests::parseMappedAttribute):
35249         * svg/SVGTextContentElement.cpp:
35250         (WebCore::SVGTextContentElement::isKnownAttribute):
35251         * svg/SVGTextPathElement.cpp:
35252         * svg/SVGTextPathElement.h:
35253         * svg/SVGTitleElement.h:
35254         (WebCore::SVGTitleElement::rendererIsNeeded):
35255         * svg/SVGTransformDistance.cpp:
35256         (WebCore::SVGTransformDistance::SVGTransformDistance):
35257         (WebCore::SVGTransformDistance::scaledDistance):
35258         (WebCore::SVGTransformDistance::addSVGTransforms):
35259         (WebCore::SVGTransformDistance::addSVGTransform):
35260         (WebCore::SVGTransformDistance::addToSVGTransform):
35261         (WebCore::SVGTransformDistance::isZero):
35262         * svg/SVGTransformList.cpp:
35263         * svg/SVGURIReference.cpp:
35264         (WebCore::SVGURIReference::getTarget):
35265         * svg/SVGVKernElement.h:
35266         * svg/SVGViewSpec.cpp:
35267         (WebCore::SVGViewSpec::parseViewSpec):
35268         * svg/SVGZoomAndPan.h:
35269         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
35270         (WebCore::SVGZoomAndPan::~SVGZoomAndPan):
35271         (WebCore::SVGZoomAndPan::zoomAndPan):
35272         * svg/SVGZoomEvent.h:
35273         (WebCore::SVGZoomEvent::create):
35274         * svg/animation/SMILTime.cpp:
35275         (WebCore::operator*):
35276         * svg/animation/SMILTime.h:
35277         (WebCore::SMILTime::SMILTime):
35278         (WebCore::SMILTime::unresolved):
35279         (WebCore::SMILTime::indefinite):
35280         (WebCore::SMILTime::operator=):
35281         (WebCore::SMILTime::value):
35282         (WebCore::SMILTime::isFinite):
35283         (WebCore::SMILTime::isIndefinite):
35284         (WebCore::SMILTime::isUnresolved):
35285         (WebCore::operator==):
35286         (WebCore::operator!): new operator checks for 0 or infinite values.
35287         (WebCore::operator!=):
35288         (WebCore::operator>):
35289         (WebCore::operator<):
35290         (WebCore::operator>=):
35291         (WebCore::operator<=):
35292         * svg/animation/SMILTimeContainer.h:
35293         (WebCore::SMILTimeContainer::create):
35294         (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
35295         * svg/animation/SVGSMILElement.cpp:
35296         (WebCore::ConditionEventListener::operator==):
35297         (WebCore::SVGSMILElement::repeatingDuration):
35298         (WebCore::SVGSMILElement::resolveInterval):
35299         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
35300         * svg/animation/SVGSMILElement.h:
35301         (WebCore::SVGSMILElement::timeContainer):
35302         (WebCore::SVGSMILElement::intervalBegin):
35303         (WebCore::SVGSMILElement::intervalEnd):
35304         (WebCore::SVGSMILElement::previousIntervalBegin):
35305         (WebCore::SVGSMILElement::documentOrderIndex):
35306         (WebCore::SVGSMILElement::setDocumentOrderIndex):
35307         * svg/graphics/SVGImage.h:
35308         (WebCore::SVGImage::create):
35309         (WebCore::SVGImage::destroyDecodedData):
35310         (WebCore::SVGImage::decodedSize):
35311         (WebCore::SVGImage::frameAtIndex):
35312         * svg/graphics/filters/SVGFilterBuilder.h:
35313         (WebCore::SVGFilterBuilder::create):
35314         (WebCore::SVGFilterBuilder::lastEffect):
35315         (WebCore::SVGFilterBuilder::getEffectReferences):
35316         (WebCore::SVGFilterBuilder::addBuiltinEffects):
35317
35318 2010-12-29  Abhishek Arya  <inferno@chromium.org>
35319
35320         Reviewed by Darin Adler.
35321
35322         ASSERT(oldchild->parent() == owner) fails.
35323         https://bugs.webkit.org/show_bug.cgi?id=50480
35324
35325         In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next)
35326         is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the
35327         assertion failure when removeChildNode executes on the child(equal to prev or next).
35328         Fix a typo in canMergeContiguousAnonymousBlocks.
35329
35330         Test: fast/multicol/span/double-merge-anonymous-block-crash.html
35331
35332         * rendering/RenderBlock.cpp:
35333         (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next.
35334         (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero.
35335
35336 2010-12-29  Justin Schuh  <jschuh@chromium.org>
35337
35338         Reviewed by Darin Adler.
35339
35340         Check SVG element type in FrameView::scrollToAnchor
35341         https://bugs.webkit.org/show_bug.cgi?id=51718
35342
35343         Test: svg/custom/scroll-to-anchor-in-symbol.svg
35344
35345         * page/FrameView.cpp:
35346         (WebCore::FrameView::scrollToAnchor):
35347
35348 2010-12-29  Anton Muhin  <antonm@chromium.org>
35349
35350         Reviewed by Eric Seidel.
35351
35352         [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell)
35353         https://bugs.webkit.org/show_bug.cgi?id=51704
35354
35355         * bindings/v8/V8DOMWindowShell.cpp:
35356         * bindings/v8/V8DOMWindowShell.h:
35357
35358 2010-12-29  Kenichi Ishibashi  <bashi@google.com>
35359
35360         Reviewed by Darin Adler.
35361
35362         Use a HashMap for m_continuation to save memory
35363         https://bugs.webkit.org/show_bug.cgi?id=43716
35364
35365         Saving memory consumption by applying a HashMap convention to
35366         continuation pointers of RenderInline and RenderBlock classes.
35367
35368         * rendering/RenderBlock.cpp: Removed m_continuation.
35369         (WebCore::RenderBlock::RenderBlock):
35370         (WebCore::RenderBlock::destroy):
35371         (WebCore::RenderBlock::inlineElementContinuation):
35372         (WebCore::RenderBlock::blockElementContinuation):
35373         * rendering/RenderBlock.h: Removed m_continuation.
35374         * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
35375         (WebCore::RenderBoxModelObject::destroy): Added an assertion.
35376         (WebCore::RenderBoxModelObject::continuation): Added.
35377         (WebCore::RenderBoxModelObject::setContinuation): Added.
35378         * rendering/RenderBoxModelObject.h:
35379         * rendering/RenderInline.cpp: Removed m_continuation.
35380         (WebCore::RenderInline::RenderInline):
35381         (WebCore::RenderInline::destroy):
35382         (WebCore::RenderInline::inlineElementContinuation):
35383         * rendering/RenderInline.h: Removed m_continuation.
35384
35385 2010-12-27  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
35386
35387         Reviewed by Martin Robinson.
35388
35389         [GTK] Enable building whatever already exists of WebKit2
35390         https://bugs.webkit.org/show_bug.cgi?id=37369
35391
35392         No new functionality added or deleted. Only makefile change. Hence, no tests added.
35393
35394         * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
35395         added them to WebKit/gtk/GNUmakefile.am
35396         * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
35397         and declare WEBKIT_API directly
35398
35399 2010-12-29  Eric Seidel  <eric@webkit.org>
35400
35401         Unreviewed.
35402
35403         Simplify make-hash-tools.pl
35404         https://bugs.webkit.org/show_bug.cgi?id=49922
35405
35406         Added HashTools.h to the project file now that its not autogenerated.
35407         I also sorted the project file using sort-xcode-project-file
35408
35409         * WebCore.xcodeproj/project.pbxproj:
35410
35411 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35412
35413         Not reviewed: revert r74755 and 74757.
35414
35415 2010-12-29  Martin Robinson  <mrobinson@igalia.com>
35416
35417         Reviewed by Sam Weinig.
35418
35419         JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
35420         https://bugs.webkit.org/show_bug.cgi?id=51722
35421
35422         Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
35423         methods the fastcall calling convention, which leads to runtime errors when they are
35424         called from C++. Also remove a bit of unnecessary code duplication.
35425
35426         No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
35427
35428         * bindings/js/JSDataViewCustom.cpp:
35429         (WebCore::getDataViewMember): Remove duplicated code.
35430         (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
35431         (WebCore::JSDataView::getUint8): Ditto.
35432         (WebCore::JSDataView::getFloat32): Ditto.
35433         (WebCore::JSDataView::getFloat64): Ditto.
35434         (WebCore::setDataViewMember): Remove duplicated code.
35435         (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
35436         (WebCore::JSDataView::setUint8): Ditto.
35437
35438 2010-12-29  Dan Bernstein  <mitz@apple.com>
35439
35440         Reviewed by Kenneth Russel.
35441
35442         A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
35443
35444         * html/HTMLCanvasElement.cpp:
35445         (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
35446         CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
35447         attach-type style recalc.
35448         * html/HTMLCanvasElement.h:
35449         * html/canvas/CanvasRenderingContext2D.cpp:
35450         (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
35451         r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
35452         (WebCore::CanvasRenderingContext2D::accessFont): Added a call to
35453         Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
35454         and update the font if it is invalid.
35455         * platform/graphics/Font.h:
35456         (WebCore::Font::loadingCustomFonts): Made this private.
35457
35458 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35459
35460         Not reviewed: Qt build fix.
35461
35462         * inspector/InspectorController.cpp:
35463
35464 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
35465
35466         Reviewed by Yury Semikhatsky.
35467
35468         Web Inspector: extract Database & DOM Storage
35469         agents; remove InspectorBackend.
35470         https://bugs.webkit.org/show_bug.cgi?id=51707
35471
35472         This change brushes up storage agents + removes redundant
35473         InspectorBackend class.
35474
35475         * CMakeLists.txt:
35476         * GNUmakefile.am:
35477         * WebCore.gypi:
35478         * WebCore.pro:
35479         * WebCore.vcproj/WebCore.vcproj:
35480         * WebCore.xcodeproj/project.pbxproj:
35481         * inspector/CodeGeneratorInspector.pm:
35482         * inspector/InjectedScriptHost.cpp:
35483         (WebCore::InjectedScriptHost::databaseForId):
35484         (WebCore::InjectedScriptHost::selectDatabase):
35485         (WebCore::InjectedScriptHost::selectDOMStorage):
35486         (WebCore::InjectedScriptHost::inspectorDOMAgent):
35487         * inspector/Inspector.idl:
35488         * inspector/InspectorBackend.cpp: Removed.
35489         * inspector/InspectorBackend.h: Removed.
35490         * inspector/InspectorController.cpp:
35491         (WebCore::InspectorController::InspectorController):
35492         (WebCore::InspectorController::~InspectorController):
35493         (WebCore::InspectorController::connectFrontend):
35494         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
35495         (WebCore::InspectorController::didUseDOMStorage):
35496         (WebCore::InspectorController::setInjectedScriptSource):
35497         (WebCore::InspectorController::dispatchOnInjectedScript):
35498         (WebCore::InspectorController::releaseWrapperObjectGroup):
35499         * inspector/InspectorController.h:
35500         * inspector/InspectorDOMStorageAgent.cpp: Added.
35501         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
35502         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
35503         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
35504         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
35505         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
35506         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
35507         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
35508         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
35509         (WebCore::InspectorDOMStorageAgent::create):
35510         (WebCore::InspectorDOMStorageAgent::frontend):
35511         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
35512         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
35513         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
35514         (WebCore::InspectorDatabaseAgent::executeSQL):
35515         (WebCore::InspectorDatabaseAgent::databaseForId):
35516         (WebCore::InspectorDatabaseAgent::selectDatabase):
35517         (WebCore::InspectorDatabaseAgent::clearFrontend):
35518         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
35519         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
35520         (WebCore::InspectorDatabaseAgent::create):
35521         (WebCore::InspectorDatabaseAgent::frontend):
35522         * inspector/InspectorFrontendClientLocal.cpp:
35523         * inspector/InspectorFrontendClientLocal.h:
35524         * inspector/front-end/ScriptsPanel.js:
35525         (WebInspector.ScriptsPanel.prototype.show):
35526
35527 2010-12-29  Tony Gentilcore  <tonyg@chromium.org>
35528
35529         Reviewed by Eric Seidel.
35530
35531         Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
35532         https://bugs.webkit.org/show_bug.cgi?id=51067
35533
35534         Typically when a script element is removed from the document, the cached script
35535         client is removed. However, during the before load event, the cached script client
35536         hasn't been created yet so it can't be removed.
35537
35538         This patch handles that case by explicitly checking if the script element was
35539         removed during the beforeload event. Also, it avoids caching the Document references
35540         over the arbitrary script execution in the before load event.
35541
35542         Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
35543               fast/dom/HTMLScriptElement/remove-in-beforeload.html
35544
35545         * dom/ScriptElement.cpp:
35546         (WebCore::ScriptElement::requestScript):
35547
35548 2010-12-29  Alexander Pavlov  <apavlov@chromium.org>
35549
35550         Reviewed by Yury Semikhatsky.
35551
35552         Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
35553         https://bugs.webkit.org/show_bug.cgi?id=51703
35554
35555         * inspector/InspectorController.cpp:
35556         (WebCore::InspectorController::drawElementTitle):
35557
35558 2010-12-29  Yael Aharon  <yael.aharon@nokia.com>
35559
35560         Reviewed by Kent Tamura.
35561
35562         [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
35563         https://bugs.webkit.org/show_bug.cgi?id=29071
35564
35565         Use InputType::rangeUnderflow() and InputType::rangeOverflow()
35566         to determine if a control is in-range or out-of-range.
35567
35568         Tests: fast/css/pseudo-in-range-invalid-value.html
35569                fast/css/pseudo-in-range.html
35570                fast/css/pseudo-out-of-range.html
35571
35572         * css/CSSSelector.cpp:
35573         (WebCore::CSSSelector::pseudoId):
35574         (WebCore::nameToPseudoTypeMap):
35575         (WebCore::CSSSelector::extractPseudoType):
35576         * css/CSSSelector.h:
35577         * css/CSSStyleSelector.cpp:
35578         (WebCore::CSSStyleSelector::canShareStyleWithElement):
35579         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
35580         * dom/Element.h:
35581         (WebCore::Element::isInRange):
35582         (WebCore::Element::isOutOfRange):
35583         * html/BaseDateAndTimeInputType.cpp:
35584         (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
35585         * html/BaseDateAndTimeInputType.h:
35586         * html/HTMLInputElement.cpp:
35587         (WebCore::HTMLInputElement::isInRange):
35588         (WebCore::HTMLInputElement::isOutOfRange):
35589         * html/HTMLInputElement.h:
35590         * html/InputType.cpp:
35591         (WebCore::InputType::supportsRangeLimitation):
35592         * html/InputType.h:
35593         * html/NumberInputType.cpp:
35594         (WebCore::NumberInputType::supportsRangeLimitation):
35595         * html/NumberInputType.h:
35596         * html/RangeInputType.cpp:
35597         (WebCore::RangeInputType::supportsRangeLimitation):
35598         * html/RangeInputType.h:
35599
35600 2010-12-29  Abhishek Arya  <inferno@chromium.org>
35601
35602         Reviewed by Eric Seidel.
35603
35604         When cloning an anonymous block, make sure to set the childrenInline flag based
35605         on the state of the block to be cloned.
35606         https://bugs.webkit.org/show_bug.cgi?id=51489
35607
35608         Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
35609
35610         * rendering/RenderBlock.cpp:
35611         (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
35612         (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().
35613
35614 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
35615
35616         Unreviewed build fix for WinCE after r73802.
35617
35618         Reapply parts from r72585:
35619         Port ContextMenuWin.cpp to WinCE
35620         https://bugs.webkit.org/show_bug.cgi?id=48408
35621
35622         * CMakeLists.txt:
35623         * platform/ContextMenu.h:
35624         * platform/win/ContextMenuWin.cpp:
35625         (WebCore::ContextMenu::getContextMenuItems):
35626         (WebCore::ContextMenu::createNativeMenuFromItems):
35627
35628 2010-12-29  Kent Hansen  <kent.hansen@nokia.com>
35629
35630         Reviewed by Simon Hausmann.
35631
35632         [Qt] Fix compilation with Qt in namespace
35633         https://bugs.webkit.org/show_bug.cgi?id=51701
35634
35635         * platform/graphics/ContextShadow.h:
35636         * platform/graphics/GraphicsContext3D.h:
35637         * platform/network/NetworkingContext.h:
35638         * platform/network/qt/QtNAMThreadSafeProxy.h:
35639         * plugins/PluginView.h:
35640
35641 2010-12-28  Alexander Pavlov  <apavlov@chromium.org>
35642
35643         Reviewed by Pavel Feldman.
35644
35645         Web Inspector: A disabled style property should get enabled when edited
35646         https://bugs.webkit.org/show_bug.cgi?id=51679
35647
35648         Test: inspector/styles-disable-then-change.html
35649
35650         * inspector/front-end/CSSStyleModel.js:
35651         (WebInspector.CSSProperty.prototype.setText):
35652         (WebInspector.CSSProperty.prototype.setText.callback):
35653
35654 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
35655
35656         Reviewed by Andreas Kling.
35657
35658         [CMake] Remove WebKitGenerators
35659         https://bugs.webkit.org/show_bug.cgi?id=50445
35660
35661         * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
35662
35663 2010-12-28  Pratik Solanki  <psolanki@apple.com>
35664
35665         Reviewed by Eric Seidel.
35666
35667         https://bugs.webkit.org/show_bug.cgi?id=51522
35668         Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
35669
35670         * page/win/FrameCGWin.cpp:
35671         (WebCore::imageFromRect):
35672         * platform/graphics/cg/GradientCG.cpp:
35673         (WebCore::Gradient::platformGradient):
35674         * platform/graphics/cg/GraphicsContext3DCG.cpp:
35675         (WebCore::GraphicsContext3D::paintToCanvas):
35676         * platform/graphics/cg/ImageCG.cpp:
35677         (WebCore::BitmapImage::checkForSolidColor):
35678         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
35679         (ImageGStreamer::ImageGStreamer):
35680         * platform/graphics/win/GraphicsContextCGWin.cpp:
35681         (WebCore::CGContextWithHDC):
35682         (WebCore::GraphicsContext::releaseWindowsContext):
35683         (WebCore::GraphicsContext::drawWindowsBitmap):
35684         * platform/graphics/win/ImageCGWin.cpp:
35685         (WebCore::BitmapImage::create):
35686         (WebCore::BitmapImage::getHBITMAPOfSize):
35687         * platform/image-decoders/cg/ImageDecoderCG.cpp:
35688         (WebCore::createColorSpace):
35689         * platform/win/DragImageCGWin.cpp:
35690         (WebCore::allocImage):
35691         (WebCore::createCgContextFromBitmap):
35692         * rendering/RenderThemeMac.mm:
35693         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
35694         (WebCore::RenderThemeMac::paintSliderTrack):
35695         * rendering/RenderThemeSafari.cpp:
35696         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
35697         (WebCore::RenderThemeSafari::paintSliderTrack):
35698
35699 2010-12-28  Daniel Bates  <dbates@rim.com>
35700
35701         Reviewed by Sam Weinig.
35702
35703         Substitute // MARK: for compiler-specific #pragma mark
35704         https://bugs.webkit.org/show_bug.cgi?id=51657
35705
35706         Fix compilation warnings about "#pragma mark" on GTK+ bots by
35707         substituting  "// MARK:" for "#pragma mark", which provides
35708         analogous code-bookmarking functionality under Xcode.
35709
35710         * platform/graphics/cg/PathCG.cpp:
35711         * platform/graphics/mac/WebLayer.mm:
35712
35713 2010-12-28  Jan Erik Hanssen  <jhanssen@sencha.com>
35714
35715         Reviewed by Eric Seidel.
35716
35717         [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
35718         https://bugs.webkit.org/show_bug.cgi?id=51687
35719
35720         Use a const reference instead of a copy of QPainter::combinedTransform() 
35721         in GraphicsContext::getCTM()
35722
35723         * platform/graphics/qt/GraphicsContextQt.cpp:
35724         (WebCore::GraphicsContext::getCTM):
35725
35726 2010-12-28  Takashi Toyoshima  <toyoshim@google.com>
35727
35728         Reviewed by Eric Seidel.
35729
35730         gcc detected 'control reaches end of non-void function' with
35731         -finstrument-functions option.
35732         https://bugs.webkit.org/show_bug.cgi?id=51669
35733
35734         No new tests. These fixes are trivial.
35735
35736         * dom/Element.cpp:
35737         (WebCore::Element::childTypeAllowed):
35738         * inspector/InspectorResourceAgent.cpp:
35739         (WebCore::cachedResourceTypeString):
35740
35741 2010-12-28  Tony Gentilcore  <tonyg@chromium.org>
35742
35743         Reviewed by Eric Seidel.
35744
35745         Remove unused member of PendingScript
35746         https://bugs.webkit.org/show_bug.cgi?id=51684
35747
35748         This was used when HTMLScriptRunner::runScript created a PendingScript
35749         for inline scripts. But now it just calls executeScript() directly.
35750         External scripts always have the minimum starting line number.
35751
35752         No new tests because no changed functionality.
35753
35754         * dom/PendingScript.cpp:
35755         (WebCore::PendingScript::releaseElementAndClear):
35756         * dom/PendingScript.h:
35757         (WebCore::PendingScript::PendingScript):
35758         (WebCore::PendingScript::operator=):
35759         * html/parser/HTMLScriptRunner.cpp:
35760         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
35761
35762 2010-12-20  Antonio Gomes  <agomes@rim.com>
35763
35764         Reviewed by Daniel Bates.
35765
35766         Spatial Navigation: code clean up (Part VI)
35767         https://bugs.webkit.org/show_bug.cgi?id=50666
35768
35769         No new tests needed.
35770
35771         * page/FocusController.cpp:
35772         (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
35773         isElementNode() now that we are bailing out earlier in both the
35774         FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
35775         * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
35776         and virtualRectForAreaElementAndDirection functions.
35777         (WebCore::FocusController::findFocusCandidateInContainer):
35778         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
35779         of canScrollInDirection(), and added an early return if !isElementNode().
35780         (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
35781         virtualRectForAreaElementAndDirection();
35782         * page/SpatialNavigation.cpp:
35783         (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
35784         (WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
35785         (WebCore::scrollInDirection): Adjusted callsite after function name change;
35786         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
35787         a documentNode.
35788         (WebCore::canScrollInDirection): Signature changed.
35789         (WebCore::canBeScrolledIntoView): Ditto.
35790         (WebCore::virtualRectForAreaElementAndDirection): Ditto.
35791
35792 2010-12-28  Adrienne Walker  <enne@google.com>
35793
35794         Reviewed by Kenneth Russell.
35795
35796         [chromium] Fix tiled compositor assertion after GPU process recovery.
35797         https://bugs.webkit.org/show_bug.cgi?id=51682
35798
35799         After the GPU process recovers, the layer size is set to IntSize(),
35800         but IntRect::unite() has a special case for empty rects.  This
35801         behavior was causing the layer size to be too small, causing an
35802         out-of-bounds array access elsewhere.
35803
35804         No new tests.
35805
35806         * platform/graphics/chromium/LayerTilerChromium.cpp:
35807         (WebCore::LayerTilerChromium::growLayerToContain):
35808
35809 2010-12-23  Zhenyao Mo  <zmo@google.com>
35810
35811         Reviewed by Kenneth Russell.
35812
35813         Initialize to 0 for undefined values in CopyTexImage2D
35814         https://bugs.webkit.org/show_bug.cgi?id=51421
35815
35816         * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
35817         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
35818         (WebCore::WebGLFramebuffer::setAttachment):
35819         (WebCore::WebGLFramebuffer::getWidth):
35820         (WebCore::WebGLFramebuffer::getHeight):
35821         (WebCore::WebGLFramebuffer::getColorBufferFormat):
35822         * html/canvas/WebGLFramebuffer.h:
35823         * html/canvas/WebGLRenderingContext.cpp:
35824         (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
35825         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
35826         (WebCore::WebGLRenderingContext::framebufferTexture2D):
35827         (WebCore::WebGLRenderingContext::renderbufferStorage):
35828         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
35829         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
35830         * html/canvas/WebGLRenderingContext.h:
35831         * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
35832         (WebCore::WebGLTexture::getInternalFormat):
35833         (WebCore::WebGLTexture::getWidth):
35834         (WebCore::WebGLTexture::getHeight):
35835         (WebCore::WebGLTexture::mapTargetToIndex):
35836         (WebCore::WebGLTexture::getLevelInfo):
35837         * html/canvas/WebGLTexture.h:
35838         (WebCore::WebGLTexture::isTexture):
35839         * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
35840         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
35841         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
35842         * platform/graphics/qt/GraphicsContext3DQt.cpp:
35843         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
35844
35845 2010-12-23  Zhenyao Mo  <zmo@google.com>
35846
35847         Reviewed by Kenneth Russell.
35848
35849         Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
35850         https://bugs.webkit.org/show_bug.cgi?id=39855
35851
35852         * html/canvas/WebGLRenderingContext.cpp:
35853         (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
35854         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
35855         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
35856         (WebCore::WebGLRenderingContext::scissor): Ditto.
35857         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
35858         (WebCore::WebGLRenderingContext::texImage2D): Ditto.
35859         (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
35860         (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
35861         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
35862         (WebCore::WebGLRenderingContext::viewport): Ditto.
35863         (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
35864         * html/canvas/WebGLRenderingContext.h:
35865         * html/canvas/WebGLRenderingContext.idl:
35866
35867 2010-12-28  Abhishek Arya  <inferno@chromium.org>
35868
35869         Reviewed by Kenneth Russell.
35870
35871         Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
35872         process of loading.
35873         https://bugs.webkit.org/show_bug.cgi?id=51681
35874
35875         Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
35876
35877         * html/canvas/CanvasRenderingContext2D.cpp:
35878         (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
35879         * platform/graphics/Font.cpp:
35880         (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
35881         (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
35882         (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
35883         * platform/graphics/Font.h:
35884         (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.
35885
35886 2010-12-28  Dimitri Glazkov  <dglazkov@chromium.org>
35887
35888         Reviewed by Eric Seidel.
35889
35890         Combine setShadowRoot and clearShadowRoot into a simpler API
35891         https://bugs.webkit.org/show_bug.cgi?id=50971
35892
35893         No change in behavior, and API is not used yet.
35894
35895         * dom/Element.cpp:
35896         (WebCore::Element::setShadowRoot): Combined clearing and setting of
35897             the shadowRoot, also hooked up with setting and clearing of the
35898             corresponding shadowHost values.
35899         * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it
35900             private.
35901         * dom/Node.h: Made shadow host-related functions public so that
35902             Element::setShadowRoot can access setShadowHost. It seems logical
35903             to make shadowHost public as well to keep the defs together.
35904
35905 2010-12-28  Andrey Kosyakov  <caseq@chromium.org>
35906
35907         Reviewed by Pavel Feldman.
35908
35909         Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
35910         Do not request content for resources with non-numeric identifiers.
35911         https://bugs.webkit.org/show_bug.cgi?id=49727
35912
35913         Test: http/tests/inspector/extensions-resources-redirect.html
35914
35915         * inspector/front-end/NetworkManager.js:
35916         (WebInspector.NetworkManager.prototype._appendRedirect):
35917
35918 2010-12-28  Ilya Tikhonovsky  <loislo@chromium.org>
35919
35920         Unreviewed build fix for Qt.
35921
35922         ResourceTreeModel.js was added.
35923
35924         * inspector/front-end/WebKit.qrc:
35925
35926 2010-12-28  Mikhail Naganov  <mnaganov@chromium.org>
35927
35928         Reviewed by Pavel Feldman.
35929
35930         [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.
35931
35932         https://bugs.webkit.org/show_bug.cgi?id=51680
35933
35934         * inspector/front-end/ProfilesPanel.js:
35935         (WebInspector.ProfilesPanel.prototype._reset):
35936
35937 2010-12-28  Alexander Pavlov  <apavlov@chromium.org>
35938
35939         Reviewed by Pavel Feldman.
35940
35941         Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore
35942         https://bugs.webkit.org/show_bug.cgi?id=51663
35943
35944         The base URI is now computed correctly for links from CSS property uri(...) values. Additionally,
35945         optional quotes/apostrophes and spaces are now allowed inside uri(...).
35946
35947         Test: inspector/styles-url-linkify.html
35948
35949         * inspector/front-end/StylesSidebarPane.js:
35950         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
35951         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
35952
35953 2010-12-21  Ilya Tikhonovsky  <loislo@chromium.org>
35954
35955         Reviewed by Pavel Feldman.
35956
35957         Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.
35958
35959         Domain was changed for Resources, FileSystem etc. related methods.
35960         ResourcesManager was renamed to NetworkManager.
35961         ResourceTreeModel was extracted as separate file.
35962         FileSystem, Database, DOMStorage and ApplicationCache methods were
35963         removed from NetworkManager and added to corresponding classes.
35964
35965         https://bugs.webkit.org/show_bug.cgi?id=51334
35966
35967         * WebCore.gypi:
35968         * WebCore.vcproj/WebCore.vcproj:
35969         * inspector/CodeGeneratorInspector.pm:
35970         * inspector/Inspector.idl:
35971         * inspector/front-end/AuditRules.js:
35972         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
35973         * inspector/front-end/CSSStyleModel.js:
35974         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
35975         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
35976         * inspector/front-end/ConsoleView.js:
35977         (WebInspector.ConsoleView.prototype.addMessage):
35978         (WebInspector.ConsoleView.prototype.clearMessages):
35979         * inspector/front-end/DOMAgent.js:
35980         (WebInspector.ApplicationCache.updateApplicationCacheStatus):
35981         (WebInspector.ApplicationCache.updateNetworkState):
35982         * inspector/front-end/DOMStorage.js:
35983         (WebInspector.DOMStorage.addDOMStorage):
35984         (WebInspector.DOMStorage.selectDOMStorage):
35985         (WebInspector.DOMStorage.updateDOMStorage):
35986         * inspector/front-end/Database.js:
35987         (WebInspector.Database.prototype.executeSql):
35988         (WebInspector.Database.addDatabase):
35989         (WebInspector.Database.selectDatabase):
35990         (WebInspector.Database.sqlTransactionSucceeded):
35991         (WebInspector.Database.sqlTransactionFailed):
35992         * inspector/front-end/FileSystemView.js:
35993         (WebInspector.FileSystem.didGetFileSystemPath):
35994         (WebInspector.FileSystem.didGetFileSystemError):
35995         (WebInspector.FileSystem.didGetFileSystemDisabled):
35996         * inspector/front-end/NetworkItemView.js:
35997         (WebInspector.NetworkItemView):
35998         * inspector/front-end/NetworkManager.js: Added.
35999         (WebInspector.NetworkManager):
36000         (WebInspector.NetworkManager.prototype._createResource):
36001         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
36002         (WebInspector.NetworkManager.prototype.willSendRequest):
36003         (WebInspector.NetworkManager.prototype._updateResourceWithRequest):
36004         (WebInspector.NetworkManager.prototype._appendRedirect):
36005         (WebInspector.NetworkManager.prototype.markResourceAsCached):
36006         (WebInspector.NetworkManager.prototype.didReceiveResponse):
36007         (WebInspector.NetworkManager.prototype._updateResourceWithResponse):
36008         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
36009         (WebInspector.NetworkManager.prototype.didFinishLoading):
36010         (WebInspector.NetworkManager.prototype.didFailLoading):
36011         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
36012         (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource):
36013         (WebInspector.NetworkManager.prototype.setInitialContent):
36014         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
36015         (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
36016         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
36017         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
36018         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
36019         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
36020         (WebInspector.NetworkManager.prototype._processCachedResources):
36021         (WebInspector.NetworkManager.prototype._addFramesRecursively):
36022         (WebInspector.NetworkManager.requestContent):
36023         * inspector/front-end/NetworkPanel.js:
36024         (WebInspector.NetworkPanel.prototype.refreshResource):
36025         * inspector/front-end/Resource.js:
36026         (WebInspector.Resource.prototype._innerRequestContent):
36027         * inspector/front-end/ResourceManager.js: Removed.
36028         * inspector/front-end/ResourceTreeModel.js: Added.
36029         (WebInspector.ResourceTreeModel):
36030         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
36031         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
36032         (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
36033         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
36034         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
36035         (WebInspector.ResourceTreeModel.prototype._clearResources):
36036         (WebInspector.ResourceTreeModel.prototype.forAllResources):
36037         (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
36038         (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages):
36039         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
36040         (WebInspector.ResourceTreeModel.prototype.resourceForURL):
36041         (WebInspector.ResourceTreeModel.prototype.bindResourceURL):
36042         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
36043         (WebInspector.ResourceTreeModel.createResource):
36044         * inspector/front-end/ResourceView.js:
36045         (WebInspector.ResourceView.createResourceView):
36046         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
36047         (WebInspector.ResourceView.resourceViewForResource):
36048         (WebInspector.ResourceView.recreateResourceView):
36049         (WebInspector.ResourceView.existingResourceViewForResource):
36050         * inspector/front-end/ResourcesPanel.js:
36051         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
36052         (WebInspector.ResourcesPanel.prototype.showSourceLine):
36053         (WebInspector.ResourcesPanel.prototype.showResource):
36054         (WebInspector.ResourcesPanel.prototype.get searchableViews.callback):
36055         (WebInspector.ResourcesPanel.prototype.get searchableViews):
36056         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
36057         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
36058         * inspector/front-end/ScriptsPanel.js:
36059         (WebInspector.ScriptsPanel.prototype._addScript):
36060         (WebInspector.ScriptsPanel.prototype.reset):
36061         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
36062         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
36063         * inspector/front-end/WebKit.qrc:
36064         * inspector/front-end/inspector.html:
36065         * inspector/front-end/inspector.js:
36066         (WebInspector.forAllResources):
36067         (WebInspector.resourceForURL):
36068
36069 2010-12-27  Helder Correia  <helder@sencha.com>
36070
36071         Reviewed by Ariya Hidayat.
36072
36073         ContextShadow should use AffineTransform instead of TransformationMatrix
36074         https://bugs.webkit.org/show_bug.cgi?id=51661
36075
36076         ContextShadow needs the CTM to make sure shadows are not affected by
36077         transformations when drawing on a canvas. AffineTransform is sufficient
36078         in this case.
36079
36080         Existing tests: fast/canvas/canvas*shadow*html
36081
36082         * platform/graphics/ContextShadow.cpp:
36083         (WebCore::ContextShadow::mustUseContextShadow):
36084         (WebCore::ContextShadow::adjustBlurDistance):
36085         (WebCore::ContextShadow::calculateLayerBoundingRect):
36086         * platform/graphics/ContextShadow.h:
36087         * platform/graphics/cairo/ContextShadowCairo.cpp:
36088         (WebCore::ContextShadow::getTransformationMatrixFromContext):
36089         * platform/graphics/qt/ContextShadowQt.cpp:
36090         (WebCore::ContextShadow::getTransformationMatrixFromContext):
36091
36092 2010-12-27  Daniel Bates  <dbates@rim.com>
36093
36094         Reviewed by Antonio Gomes.
36095
36096         Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
36097         https://bugs.webkit.org/show_bug.cgi?id=51634
36098
36099         Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
36100         to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively.
36101         This will make the names of these getters consistent with the naming convention we use for
36102         getters.
36103
36104         * html/HTMLBodyElement.cpp:
36105         (WebCore::HTMLBodyElement::insertedIntoDocument):
36106         * html/HTMLFrameElementBase.h:
36107         (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth().
36108         (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight().
36109         * loader/SubframeLoader.cpp:
36110         (WebCore::SubframeLoader::loadSubframe):
36111         * page/FrameView.cpp:
36112         (WebCore::FrameView::init):
36113         * rendering/RenderEmbeddedObject.cpp:
36114         (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh
36115         to marginWidth and marginHeight, respectively. This makes the names of these variables
36116         consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init().
36117         * rendering/RenderFrame.cpp:
36118         (WebCore::RenderFrame::viewCleared): Ditto.
36119
36120 2010-12-27  Martin Robinson  <mrobinson@igalia.com>
36121
36122         Reviewed by Daniel Bates.
36123
36124         [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
36125         https://bugs.webkit.org/show_bug.cgi?id=51654
36126
36127         Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
36128         on some debug configurations.
36129
36130         No new tests. This is already covered by current slider tests. It isn't crashing on
36131         the bots, but it does crash locally.
36132
36133         * platform/gtk/RenderThemeGtk.cpp:
36134         (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.
36135
36136 2010-12-27  Anton Muhin  <antonm@chromium.org>
36137
36138         Reviewed by David Levin.
36139
36140         [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
36141         https://bugs.webkit.org/show_bug.cgi?id=51648
36142
36143         * bindings/v8/ScriptController.cpp:
36144         * bindings/v8/ScriptController.h:
36145         * bindings/v8/V8GCController.cpp:
36146         (WebCore::V8GCController::gcEpilogue):
36147         * bindings/v8/V8GCController.h:
36148
36149 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
36150
36151         Unreviewed. Removed trailing spaces from a localized
36152         string to make it the same as the one used in the code.
36153
36154         * English.lproj/localizedStrings.js:
36155
36156 2010-12-27  Yael Aharon  <yael.aharon@nokia.com>
36157
36158         Reviewed by Eric Seidel.
36159
36160         Browser is failing 16 baseline test from Selector API Test Suite
36161         https://bugs.webkit.org/show_bug.cgi?id=42968
36162
36163         Throw an exception if there is no argument to querySelector or 
36164         querySelectorAll. This replaces the current behavior of passing the string
36165         "undefined" as the argument.
36166
36167         No new tests, just updating the existing results for 
36168         fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.
36169
36170         * dom/Document.idl:
36171         * dom/DocumentFragment.idl:
36172         * dom/Element.idl:
36173
36174 2010-12-26  MORITA Hajime  <morrita@google.com>
36175
36176         Reviewed by Dan Bernstein.
36177
36178         For box-shadow, non-primary shadows should have specified radii.
36179         https://bugs.webkit.org/show_bug.cgi?id=51386
36180
36181         On paintBoxShadow(), the spread value accidentally accumulated accidentally
36182         during the loop, which should be applied individually for radius of each shadow. 
36183         This change makes the radii for rects computed for each shadow.
36184         
36185         Test: fast/box-shadow/spread-multiple-normal.html
36186
36187         * rendering/RenderBoxModelObject.cpp:
36188         (WebCore::RenderBoxModelObject::paintBoxShadow):
36189
36190 2010-12-26  Patrick Gansterer  <paroga@webkit.org>
36191
36192         Reviewed by Eric Seidel.
36193
36194         Improve output of HTML parser benchmark
36195         https://bugs.webkit.org/show_bug.cgi?id=51611
36196
36197         Calculate and show median, min and max values.
36198
36199         * benchmarks/parser/html-parser.html:
36200
36201 2010-12-26  Abhishek Arya  <inferno@chromium.org>
36202
36203         Reviewed by Simon Fraser.
36204
36205         Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. 
36206         https://bugs.webkit.org/show_bug.cgi?id=48772
36207
36208         Test: fast/multicol/renderer-positioned-assert-crash.html
36209
36210         * rendering/RenderLayer.cpp:
36211         (WebCore::RenderLayer::paintPaginatedChildLayer):
36212         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
36213
36214 2010-12-25  Peter Rybin  <peter.rybin@gmail.com>
36215
36216         Reviewed by Adam Barth.
36217
36218         Adds currentColumn (and currentLine) to SegmentedString. Switches
36219         HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
36220         needs position for a <script> tag.
36221
36222         SegmentedString should provide column position
36223         https://bugs.webkit.org/show_bug.cgi?id=51311
36224
36225         * html/parser/HTMLDocumentParser.cpp:
36226         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
36227         (WebCore::HTMLDocumentParser::textPosition):
36228         * html/parser/HTMLInputStream.h:
36229         (WebCore::HTMLInputStream::current):
36230         (WebCore::InsertionPointRecord::InsertionPointRecord):
36231         (WebCore::InsertionPointRecord::~InsertionPointRecord):
36232         * html/parser/HTMLTreeBuilder.cpp:
36233         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
36234         (WebCore::HTMLTreeBuilder::processScriptStartTag):
36235         * html/parser/HTMLTreeBuilder.h:
36236         (WebCore::HTMLTreeBuilder::create):
36237         * platform/text/SegmentedString.cpp:
36238         (WebCore::SegmentedString::operator=):
36239         (WebCore::SegmentedString::numberOfCharactersConsumedSlow):
36240         (WebCore::SegmentedString::advanceSlowCase):
36241         (WebCore::SegmentedString::currentLine):
36242         (WebCore::SegmentedString::currentColumn):
36243         (WebCore::SegmentedString::setCurrentPosition):
36244         * platform/text/SegmentedString.h:
36245         (WebCore::SegmentedString::SegmentedString):
36246         (WebCore::SegmentedString::advancePastNewline):
36247         (WebCore::SegmentedString::advance):
36248         (WebCore::SegmentedString::numberOfCharactersConsumed):
36249
36250 2010-12-25  Andreas Kling  <kling@webkit.org>
36251
36252         Reviewed by Kenneth Rohde Christiansen.
36253
36254         GraphicsContext: Don't pass StrokeStyle (enum) as const reference
36255         https://bugs.webkit.org/show_bug.cgi?id=51608
36256
36257         * platform/graphics/GraphicsContext.cpp:
36258         (WebCore::GraphicsContext::setStrokeStyle):
36259         (WebCore::GraphicsContext::setPlatformStrokeStyle):
36260         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
36261         * platform/graphics/GraphicsContext.h:
36262         * platform/graphics/cairo/GraphicsContextCairo.cpp:
36263         (WebCore::GraphicsContext::setPlatformStrokeStyle):
36264         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
36265         (WebCore::GraphicsContext::setPlatformStrokeStyle):
36266         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
36267         (WebCore::GraphicsContext::setPlatformStrokeStyle):
36268         * platform/graphics/openvg/PainterOpenVG.cpp:
36269         (WebCore::PainterOpenVG::setStrokeStyle):
36270         * platform/graphics/openvg/PainterOpenVG.h:
36271         * platform/graphics/qt/GraphicsContextQt.cpp:
36272         (WebCore::GraphicsContext::setPlatformStrokeStyle):
36273         * platform/graphics/skia/GraphicsContextSkia.cpp:
36274         (WebCore::GraphicsContext::setPlatformStrokeStyle):
36275
36276 2010-12-24  Dan Bernstein  <mitz@apple.com>
36277
36278         Reviewed by Alexey Proskuryakov.
36279
36280         REGRESSION (r74648): XHR layout test failures
36281         https://bugs.webkit.org/show_bug.cgi?id=51603
36282
36283         Reverted r74648.
36284
36285         * WebCore.exp.in:
36286
36287 2010-12-24  Dan Bernstein  <mitz@apple.com>
36288
36289         Try to fix the Qt build after r74648.
36290
36291         * WebCore.gypi:
36292         * WebCore.pro:
36293         * platform/network/qt/CredentialStorageQt.cpp: Added.
36294         (WebCore::CredentialStorage::getFromPersistentStorage):
36295
36296 2010-12-24  Simon Fraser  <simon.fraser@apple.com>
36297
36298         Reviewed by Dan Bernstein.
36299
36300         CSSStyleSelector cleanup
36301         https://bugs.webkit.org/show_bug.cgi?id=51597
36302
36303         Make some methods const. Add assertion to checkOneSelector, with the
36304         intention of later removing the if (!e) check (this is hot code).
36305
36306         * css/CSSStyleSelector.cpp:
36307         (WebCore::CSSStyleSelector::locateCousinList):
36308         (WebCore::CSSStyleSelector::canShareStyleWithElement):
36309         (WebCore::CSSStyleSelector::locateSharedStyle):
36310         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
36311         (WebCore::CSSStyleSelector::mmLength):
36312         (WebCore::CSSStyleSelector::inchLength):
36313         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
36314         (WebCore::CSSStyleSelector::hasSelectorForAttribute):
36315         * css/CSSStyleSelector.h:
36316         (WebCore::CSSStyleSelector::fontSelector):
36317
36318 2010-12-24  Dan Bernstein  <mitz@apple.com>
36319
36320         Reviewed by Anders Carlsson.
36321
36322         <rdar://problem/8758386> The web process uses its own credential storage
36323         https://bugs.webkit.org/show_bug.cgi?id=51599
36324
36325         * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
36326         and Credential::isEmpty().
36327
36328 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
36329
36330         Reviewed by Darin Adler.
36331
36332         [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
36333         https://bugs.webkit.org/show_bug.cgi?id=51595
36334
36335         * WebCore.gypi:
36336         * bindings/v8/V8DOMWrapper.cpp:
36337         * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp.
36338         (WebCore::V8EventListener::V8EventListener):
36339         (WebCore::V8EventListener::getListenerFunction):
36340         (WebCore::V8EventListener::callListenerFunction):
36341         * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h.
36342         (WebCore::V8EventListener::create):
36343         * bindings/v8/V8EventListenerList.h:
36344         * bindings/v8/V8WorkerContextEventListener.h:
36345         * bindings/v8/custom/V8DOMWindowCustom.cpp:
36346         * bindings/v8/custom/V8LocationCustom.cpp:
36347         * bindings/v8/custom/V8NodeCustom.cpp:
36348         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
36349
36350 2010-12-24  Carlos Garcia Campos  <cgarcia@igalia.com>
36351
36352         Reviewed by Xan Lopez.
36353
36354         [GTK] Show current time / total in media player
36355         https://bugs.webkit.org/show_bug.cgi?id=51535
36356
36357         * css/mediaControlsGtk.css:
36358         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
36359         * platform/gtk/RenderThemeGtk.cpp:
36360         (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime):
36361         (WebCore::RenderThemeGtk::paintMediaCurrentTime):
36362         * platform/gtk/RenderThemeGtk.h:
36363
36364 2010-12-24  Jan Erik Hanssen  <jhanssen@sencha.com>
36365
36366         Reviewed by Eric Seidel.
36367
36368         Clean up CSSRuleData in CSSStyleSelector.h
36369         https://bugs.webkit.org/show_bug.cgi?id=27753
36370
36371         Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.
36372
36373         * css/CSSStyleSelector.cpp:
36374         (WebCore::CSSRuleData::CSSRuleData):
36375         (WebCore::CSSRuleData::~CSSRuleData):
36376         (WebCore::CSSRuleData::position):
36377         (WebCore::CSSRuleData::rule):
36378         (WebCore::CSSRuleData::selector):
36379         (WebCore::CSSRuleData::next):
36380         (WebCore::CSSRuleDataList::CSSRuleDataList):
36381         (WebCore::CSSRuleDataList::~CSSRuleDataList):
36382         (WebCore::CSSRuleDataList::first):
36383         (WebCore::CSSRuleDataList::last):
36384         (WebCore::CSSRuleDataList::append):
36385         * css/CSSStyleSelector.h:
36386
36387 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
36388
36389         Unreviewed. Fix compilation on Windows.
36390
36391         * inspector/InspectorStyleSheet.cpp:
36392         (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
36393         * inspector/InspectorStyleSheet.h:
36394
36395 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
36396
36397         Reviewed by Darin Adler.
36398
36399         inspector/debugger-step-out.html crashing intermittently in the bots
36400         https://bugs.webkit.org/show_bug.cgi?id=50868
36401
36402         Use RefPtr rather instead of raw pointers when keeping references
36403         to refcounted objects.
36404
36405         * inspector/InspectorCSSAgent.cpp:
36406         (WebCore::InspectorCSSAgent::getStylesForNode2):
36407         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
36408         * inspector/InspectorStyleSheet.cpp:
36409         (WebCore::InspectorStyle::create):
36410         (WebCore::InspectorStyle::InspectorStyle):
36411         (WebCore::InspectorStyle::buildObjectForStyle):
36412         (WebCore::InspectorStyle::setPropertyText):
36413         (WebCore::InspectorStyle::toggleProperty):
36414         (WebCore::InspectorStyle::styleText):
36415         (WebCore::InspectorStyle::populateAllProperties):
36416         (WebCore::InspectorStyle::replacePropertyInStyleText):
36417         (WebCore::InspectorStyleSheet::create):
36418         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
36419         (WebCore::InspectorStyleSheetForInlineStyle::create):
36420         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
36421         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
36422         * inspector/InspectorStyleSheet.h:
36423         (WebCore::InspectorStyle::cssStyle):
36424         (WebCore::InspectorStyleSheet::pageStyleSheet):
36425
36426 2010-12-24  Justin Schuh  <jschuh@chromium.org>
36427
36428         Reviewed by Nikolas Zimmermann.
36429
36430         SVGElementInstance::m_useElement should be cleared when use element is removed from document
36431         https://bugs.webkit.org/show_bug.cgi?id=51486
36432
36433         Test: svg/custom/use-instanceRoot-with-use-removed.svg
36434
36435         * svg/SVGElementInstance.cpp:
36436         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
36437         * svg/SVGElementInstance.h:
36438         (WebCore::SVGElementInstance::clearUseElement):
36439         * svg/SVGUseElement.cpp:
36440         (WebCore::SVGUseElement::removedFromDocument):
36441         (WebCore::ShadowTreeUpdateBlocker::if):
36442         (WebCore::SVGUseElement::detachInstance):
36443         (WebCore::SVGUseElement::detach):
36444         * svg/SVGUseElement.h:
36445
36446 2010-12-23  Joseph Pecoraro  <joepeck@webkit.org>
36447
36448         Reviewed by Yury Semikhatsky.
36449
36450         Web Inspector: Missing Localized Strings
36451         https://bugs.webkit.org/show_bug.cgi?id=51542
36452
36453         Added missing strings: "WebSocket",  "Frames", "Text", "Transfer",
36454         "Preserve Log upon Navigation", and "Go to Line".
36455
36456         * English.lproj/localizedStrings.js:
36457
36458 2010-12-24  Alexander Pavlov  <apavlov@chromium.org>
36459
36460         Reviewed by Yury Semikhatsky.
36461
36462         Web Inspector: Inline HTML style property out of sync with element.style in Sidebar
36463         https://bugs.webkit.org/show_bug.cgi?id=51478
36464
36465         Now the element attribute modifications (including "style") are tracked, which results in the
36466         source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend)
36467         on the "style" attribute modification through the Elements tree. Also, it appears that
36468         a complete "style" attribute removal destroys the inline style declaration
36469         (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash).
36470
36471         Test: inspector/elements-delete-inline-style.html
36472
36473         * inspector/InspectorCSSAgent.cpp:
36474         (WebCore::InspectorCSSAgent::didModifyDOMAttr):
36475         * inspector/InspectorCSSAgent.h:
36476         * inspector/InspectorDOMAgent.cpp:
36477         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
36478         * inspector/InspectorDOMAgent.h:
36479         * inspector/InspectorStyleSheet.cpp:
36480         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
36481         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
36482         (WebCore::InspectorStyleSheetForInlineStyle::text):
36483         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
36484         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
36485         * inspector/InspectorStyleSheet.h:
36486         * inspector/front-end/ElementsTreeOutline.js:
36487         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
36488
36489 2010-12-24  Noel Gordon  <noel.gordon@gmail.com>
36490
36491         Reviewed by Andreas Kling.
36492
36493         [chromium] Fix a style nit in the JPEG encoder
36494         https://bugs.webkit.org/show_bug.cgi?id=51574
36495
36496         * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.
36497
36498 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
36499
36500         Reviewed by Maciej Stachowiak.
36501
36502         Web Inspector: CSS shorthand properties expand unnecessarily
36503         https://bugs.webkit.org/show_bug.cgi?id=36304
36504
36505         "border-radius" is a shorthand property that has a "non-standard" format and longhands, see
36506         http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the
36507         standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method.
36508         This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value
36509         appropriately when adding implicit longhands, thus they were added as normal properties
36510         found in the CSS (neither implicit, nor longhands). This is now fixed.
36511
36512         * css/CSSParser.cpp:
36513         (WebCore::CSSParser::parseBorderRadius):
36514
36515 2010-12-24  Justin Schuh  <jschuh@chromium.org>
36516
36517         Reviewed by Darin Adler.
36518
36519         setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
36520         https://bugs.webkit.org/show_bug.cgi?id=51576
36521
36522         Disallowed elements may be pruned from the shadow tree, leaving a null
36523         shadowTreeElement. We should check for that before setting attributes.
36524
36525         Test: svg/custom/animate-disallowed-use-element.svg
36526
36527         * svg/SVGAnimationElement.cpp:
36528         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
36529
36530 2010-12-24  Evan Martin  <evan@chromium.org>
36531
36532         Reviewed by Darin Adler.
36533
36534         TextMetrics::width is an integer, but the member is a float
36535         https://bugs.webkit.org/show_bug.cgi?id=51566
36536
36537         Change the return type to a float.
36538
36539         No tests, fixing a compiler warning.
36540         (I was unable to produce a difference in the values exposed to pages
36541         with a float versus the previous conversion to an integer.)
36542
36543         * html/TextMetrics.h:
36544         (WebCore::TextMetrics::width):
36545
36546 2010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>
36547
36548         Reviewed by Kenneth Rohde Christiansen.
36549
36550         [EFL] Add option to enable Touch Events.
36551         https://bugs.webkit.org/show_bug.cgi?id=49125
36552
36553         Add files for EFL to support TOUCH_EVENTS.
36554
36555         * CMakeLists.txt:
36556         * CMakeListsEfl.txt:
36557         * platform/PlatformTouchEvent.h: Add EFL related constructor.
36558         * platform/PlatformTouchPoint.h: ditto.
36559         * platform/efl/PlatformTouchEventEfl.cpp: Added.
36560         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
36561         * platform/efl/PlatformTouchPointEfl.cpp: Added.
36562         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
36563
36564 2010-12-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36565
36566         Reviewed by Kenneth Rohde Christiansen.
36567
36568         [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
36569         https://bugs.webkit.org/show_bug.cgi?id=51457
36570
36571         WebKit EFL can't play html5 audio because of wrong mime type checking.
36572         So, 'application/octet-stream' is changed with an empty string.
36573
36574         * platform/efl/MIMETypeRegistryEfl.cpp:
36575         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
36576         Returns an empty string instead of application/octet-stream when it can't find proper mime type.
36577
36578 2010-12-24  Justin Schuh  <jschuh@chromium.org>
36579
36580         Reviewed by Darin Adler.
36581
36582         SVGFontFaceElement::rebuildFontFace() should exit when not in document
36583         https://bugs.webkit.org/show_bug.cgi?id=51571
36584
36585         We were hitting a NULL deref crash. Since most of the callers checked
36586         inDocument() anyway, I moved it into the start of rebuildFontFace.
36587
36588         Test: svg/custom/use-invalid-font-face.svg
36589
36590         * svg/SVGFontFaceElement.cpp:
36591         (WebCore::SVGFontFaceElement::parseMappedAttribute):
36592         (WebCore::SVGFontFaceElement::rebuildFontFace):
36593         (WebCore::SVGFontFaceElement::childrenChanged):
36594
36595 2010-12-24  Justin Schuh  <jschuh@chromium.org>
36596
36597         Reviewed by Darin Adler.
36598
36599         Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
36600         https://bugs.webkit.org/show_bug.cgi?id=51564
36601
36602         This check was duplicating an ASSERT for a case fixed in r73927.
36603         Now that the bug is fixed the check is no longer necessary.
36604
36605         Removing dead code, so no new tests needed.
36606
36607         * css/CSSCanvasValue.cpp:
36608         (WebCore::CSSCanvasValue::canvasDestroyed):
36609
36610 2010-12-23  Evan Martin  <evan@chromium.org>
36611
36612         Reviewed by Darin Adler.
36613
36614         ViewportArguments.h uses an enum to intialize a bool
36615         https://bugs.webkit.org/show_bug.cgi?id=50982
36616
36617         Initialize userScalable to true, rather than -1.
36618         No tests; fixes a compiler warning.
36619
36620         * dom/ViewportArguments.h:
36621         (WebCore::ViewportArguments::ViewportArguments):
36622
36623 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
36624
36625         Reviewed by Adam Barth.
36626
36627         [Qt] User name/password stripped from URLs
36628         https://bugs.webkit.org/show_bug.cgi?id=36232
36629
36630         If a username but no password or no username but a password is present
36631         in a URL, QtWebKit won't send any authentication information down to Qt
36632         as it should.
36633
36634         Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
36635                http/tests/xmlhttprequest/basic-auth-nouser.html
36636
36637         * platform/network/qt/ResourceHandleQt.cpp:
36638         (WebCore::ResourceHandle::start):
36639         (WebCore::ResourceHandle::loadResourceSynchronously):
36640
36641 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
36642
36643         Reviewed by Darin Adler.
36644
36645         queryCommandValue("FormatBlock") does not respect editing boundaries
36646         https://bugs.webkit.org/show_bug.cgi?id=51219
36647
36648         Fixed the bug by checking the element we found in elementForFormatBlockCommand
36649         does not contain the editable root.
36650
36651         * editing/FormatBlockCommand.cpp:
36652         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
36653
36654 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
36655
36656         Reviewed by Darin Adler.
36657
36658         FormatBlock doesn't preserve typing style but it should
36659         https://bugs.webkit.org/show_bug.cgi?id=51140
36660
36661         Fixed the bug by making preserveTypingStyle return true.
36662
36663         Test: editing/execCommand/format-block-typing-style.html
36664
36665         * editing/FormatBlockCommand.h:
36666         (WebCore::FormatBlockCommand::preservesTypingStyle):
36667
36668 2010-12-23  Jessie Berlin  <jberlin@apple.com>
36669
36670         Reviewed by Sam Weinig.
36671
36672         Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
36673         https://bugs.webkit.org/show_bug.cgi?id=51563
36674
36675         Add SecurityOrigin::create(const String& protocol, const String& host, int port).
36676
36677         * WebCore.exp.in:
36678         Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
36679
36680         * page/SecurityOrigin.cpp:
36681         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
36682         Use the constant MaxAllowedPort.
36683         (WebCore::SecurityOrigin::create):
36684         Sanitizing based off of that done in createFromDatabaseIdentifier.
36685         * page/SecurityOrigin.h:
36686
36687 2010-12-23  Patrick Gansterer  <paroga@webkit.org>
36688
36689         Unreviewed build fix for WinCE after r73802.
36690
36691         Reapply r70812:
36692         Port ContextMenuItemWin.cpp to WinCE
36693         https://bugs.webkit.org/show_bug.cgi?id=48407
36694
36695         * platform/win/ContextMenuItemWin.cpp:
36696
36697 2010-12-23  Adam Barth  <abarth@webkit.org>
36698
36699         Remove include of non-existant file.
36700
36701         * bindings/v8/custom/V8DOMWindowCustom.cpp:
36702
36703 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
36704
36705         Reviewed by Darin Adler.
36706
36707         Selection becomes stale when CharacterData is manipulated directly
36708         https://bugs.webkit.org/show_bug.cgi?id=51389
36709
36710         The bug was caused by SelectionController's not adjusting selection when CharacterData's
36711         m_data is modified by its API.
36712
36713         Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
36714         CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
36715         textWillBeReplaced because inserting, replacing, or removing data may require moving
36716         the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).
36717
36718         Also fixed the condition for determining whether or not a node intersects the selection
36719         in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
36720         failed to recognize certain cases when selection started and ended with non-zero offsets.
36721
36722         Tests: editing/selection/character-data-mutation-crash.html
36723                editing/selection/character-data-mutation.html
36724
36725         * dom/CharacterData.cpp:
36726         (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
36727         (WebCore::CharacterData::appendData): Ditto.
36728         (WebCore::CharacterData::insertData): Ditto.
36729         (WebCore::CharacterData::deleteData): Ditto.
36730         (WebCore::CharacterData::replaceData): Ditto.
36731         (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
36732         and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
36733         * dom/CharacterData.h:
36734         * editing/SelectionController.cpp:
36735         (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
36736         (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
36737         (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
36738         fixed the logic to figure out whether a node is inside the range or not.
36739         (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
36740         (WebCore::SelectionController::textWillBeReplaced): Added.
36741         * editing/SelectionController.h:
36742
36743 2010-12-23  Adam Barth  <abarth@webkit.org>
36744
36745         Reviewed by Darin Adler.
36746
36747         Remove unneeded V8 bindings files
36748         https://bugs.webkit.org/show_bug.cgi?id=51570
36749
36750         * WebCore.gypi:
36751         * bindings/generic/BindingDOMWindow.h: Removed.
36752         * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
36753
36754 2010-12-23  Dan Bernstein  <mitz@apple.com>
36755
36756         Build fix.
36757
36758         * editing/EditorCommand.cpp:
36759         (WebCore::enabledDismissCorrectionPanel):
36760
36761 2010-12-23  Darin Adler  <darin@apple.com>
36762
36763         Try to fix crash seen on GTK bot.
36764
36765         * editing/EditorCommand.cpp:
36766         (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
36767
36768         * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
36769
36770 2010-12-23  Sheriff Bot  <webkit.review.bot@gmail.com>
36771
36772         Unreviewed, rolling out r74561.
36773         http://trac.webkit.org/changeset/74561
36774         https://bugs.webkit.org/show_bug.cgi?id=51565
36775
36776         "Broke Chromium UI tests on Vista" (Requested by kbr_google on
36777         #webkit).
36778
36779         * platform/graphics/chromium/ImageLayerChromium.cpp:
36780         (WebCore::ImageLayerChromium::updateContentsIfDirty):
36781         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
36782         (WebCore::GraphicsContext3D::getImageData):
36783
36784 2010-12-23  Mihai Parparita  <mihaip@chromium.org>
36785
36786         Reviewed by Kent Tamura.
36787
36788         [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
36789         https://bugs.webkit.org/show_bug.cgi?id=51507
36790         
36791         Adds WebThemeEngine for the Mac (it already has parallel definitions for
36792         Windows and Linux) so that scrollbar thumb rendering can be overridden
36793         for the DRT (to be consistent with the NSScroller-based rendering
36794         used by the Mac port).
36795
36796         No new tests since the functionality is not exposed yet. Eventually will
36797         result in the Chromium/Mac port being able to use the same pixel
36798         baselines for layout tests as the Mac port.
36799
36800         * platform/chromium/ChromiumBridge.h:
36801         * platform/chromium/ScrollbarThemeChromiumMac.mm:
36802         (WebCore::scrollbarStateToThemeState):
36803         (WebCore::ScrollbarThemeChromiumMac::paint):
36804
36805 2010-12-23  Darin Adler  <darin@apple.com>
36806
36807         Reviewed by Sam Weinig.
36808
36809         WKView should not try to do asynchronous validation for selectors that are not editor commands
36810         https://bugs.webkit.org/show_bug.cgi?id=51555
36811
36812         * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
36813         * editing/Editor.h: Reordered arguments in the Editor::Command constructor
36814         and the data members too so the frame is last. Added
36815         commandIsSupportedFromMenuOrKeyBinding.
36816
36817         * editing/EditorCommand.cpp:
36818         (WebCore::supported): Removed the EditorCommandSource argument. These
36819         functions are now only used when called from DOM.
36820         (WebCore::supportedFromMenuOrKeyBinding): Ditto.
36821         (WebCore::supportedCopyCut): Ditto.
36822         (WebCore::supportedPaste): Ditto.
36823         (WebCore::enabledDismissCorrectionPanel): Changed the supported function to
36824         an enabled function. It was incorrect to say that this is "supported" only
36825         when the correction panel is up. Correct to say that it is "enabled" only
36826         then. And also probably OK to enable it even when the selection is not in
36827         editable text, as long as the panel is up.
36828         (WebCore::createCommandMap): Moved conditional commands out of the main
36829         array into a separate section at the end.
36830         (WebCore::internalCommand): Added.
36831         (WebCore::Editor::command): Changed to use the new internalCommand function
36832         and simplified by relying on the null check in the Command constructor.
36833         (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
36834         (WebCore::Editor::Command::Command): Removed unneeded initialization of
36835         m_source, which is never looked at if m_command is 0. Added feature of
36836         passing a null command pointer to the non-default constructor.
36837         (WebCore::Editor::Command::isSupported): Changed to only call the
36838         per-command isSupported function when the command source is DOM.
36839         Accordingly that function is now called isSupportedFromDOM.
36840
36841 2010-12-23  Matthew Delaney  <mdelaney@apple.com>
36842
36843         Reviewed by Simon Fraser.
36844
36845         Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
36846         https://bugs.webkit.org/show_bug.cgi?id=51560
36847
36848         No new tests.
36849
36850         * platform/graphics/ca/GraphicsLayerCA.cpp:
36851         (WebCore::GraphicsLayerCA::setAcceleratesDrawing):
36852
36853 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
36854
36855         Reviewed by Andreas Kling.
36856
36857         [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
36858         https://bugs.webkit.org/show_bug.cgi?id=35635
36859
36860         Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
36861         tag informing the OS that the data is in UTF-8 format.
36862
36863         * platform/qt/PasteboardQt.cpp:
36864         (WebCore::Pasteboard::writeSelection):
36865
36866 2010-12-23  Justin Schuh  <jschuh@chromium.org>
36867
36868         Reviewed by Eric Seidel.
36869
36870         CSSCursorImageValue destructor should clear referenced element.
36871         https://bugs.webkit.org/show_bug.cgi?id=51417
36872
36873         Calls correct method to clear image and renames method to avoid future confusion.
36874
36875         Test: svg/css/cursor-image-replace.svg
36876
36877         * css/CSSCursorImageValue.cpp:
36878         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
36879         * svg/SVGElement.cpp:
36880         (WebCore::SVGElement::cursorImageValueRemoved):
36881         * svg/SVGElement.h:
36882
36883 2010-12-22  Sam Weinig  <sam@webkit.org>
36884
36885         Reviewed by Darin Adler.
36886
36887         WebKit2 needs to mirror the frame tree in the UIProcess
36888         https://bugs.webkit.org/show_bug.cgi?id=51546
36889
36890         - Add client functions to notify that a frame has been added or
36891           removed from the page cache.
36892
36893         * history/CachedFrame.cpp:
36894         (WebCore::CachedFrameBase::restore):
36895         (WebCore::CachedFrame::CachedFrame):
36896         * history/CachedFrame.h:
36897         * loader/EmptyClients.h:
36898         (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
36899         (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
36900         * loader/FrameLoaderClient.h:
36901
36902 2010-12-22  Matthew Delaney  <mdelaney@apple.com>
36903
36904         Reviewed by Simon Fraser.
36905
36906         Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
36907         This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
36908         https://bugs.webkit.org/show_bug.cgi?id=51279
36909
36910         * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
36911         * html/canvas/CanvasRenderingContext2D.cpp: Use new flag
36912         * platform/graphics/ImageBuffer.h: Use new flag
36913         * platform/graphics/cg/ImageBufferCG.cpp: Use new flag
36914
36915 2010-12-20  Adrienne Walker  <enne@google.com>
36916
36917         Reviewed by Kenneth Russell.
36918
36919         [chromium] Tile root layer of the compositor.
36920         https://bugs.webkit.org/show_bug.cgi?id=49947
36921
36922         Refactor root layer update and drawing from LayerRendererChromium into
36923         LayerTilerChromium.  The root layer is now drawn as multiple tiles
36924         rather than as one single large texture.  Scrollbars are now drawn
36925         separately rather than as part of the root layer.
36926
36927         Test: LayoutTests/compositing/
36928
36929         * WebCore.gypi:
36930         * page/FrameView.cpp:
36931         (WebCore::FrameView::repaintContentRectangle):
36932         * platform/ScrollView.cpp:
36933         (WebCore::ScrollView::ScrollView):
36934         (WebCore::ScrollView::setClipsRepaints):
36935         * platform/ScrollView.h:
36936         (WebCore::ScrollView::clipsRepaints):
36937         * platform/graphics/chromium/LayerChromium.h:
36938         * platform/graphics/chromium/LayerRendererChromium.cpp:
36939         (WebCore::LayerRendererChromium::LayerRendererChromium):
36940         (WebCore::LayerRendererChromium::~LayerRendererChromium):
36941         (WebCore::LayerRendererChromium::useShader):
36942         (WebCore::LayerRendererChromium::verticalScrollbarRect):
36943         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
36944         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
36945         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
36946         (WebCore::LayerRendererChromium::drawLayers):
36947         (WebCore::LayerRendererChromium::setRootLayer):
36948         (WebCore::LayerRendererChromium::initializeSharedObjects):
36949         (WebCore::LayerRendererChromium::cleanupSharedObjects):
36950         * platform/graphics/chromium/LayerRendererChromium.h:
36951         * platform/graphics/chromium/LayerTilerChromium.cpp: Added.
36952         (WebCore::LayerTilerChromium::create):
36953         (WebCore::LayerTilerChromium::LayerTilerChromium):
36954         (WebCore::LayerTilerChromium::~LayerTilerChromium):
36955         (WebCore::LayerTilerChromium::layerRendererContext):
36956         (WebCore::LayerTilerChromium::setTileSize):
36957         (WebCore::LayerTilerChromium::reset):
36958         (WebCore::LayerTilerChromium::createTile):
36959         (WebCore::LayerTilerChromium::invalidateTiles):
36960         (WebCore::LayerTilerChromium::contentRectToTileIndices):
36961         (WebCore::LayerTilerChromium::contentRectToLayerRect):
36962         (WebCore::LayerTilerChromium::layerRectToContentRect):
36963         (WebCore::LayerTilerChromium::tileIndex):
36964         (WebCore::LayerTilerChromium::tileContentRect):
36965         (WebCore::LayerTilerChromium::tileLayerRect):
36966         (WebCore::LayerTilerChromium::invalidateRect):
36967         (WebCore::LayerTilerChromium::invalidateEntireLayer):
36968         (WebCore::LayerTilerChromium::update):
36969         (WebCore::LayerTilerChromium::setLayerPosition):
36970         (WebCore::LayerTilerChromium::draw):
36971         (WebCore::LayerTilerChromium::resizeLayer):
36972         (WebCore::LayerTilerChromium::growLayerToContain):
36973         (WebCore::LayerTilerChromium::Tile::~Tile):
36974         (WebCore::LayerTilerChromium::Tile::releaseTextureId):
36975         * platform/graphics/chromium/LayerTilerChromium.h: Added.
36976         (WebCore::LayerTilerChromium::Tile::Tile):
36977         (WebCore::LayerTilerChromium::Tile::textureId):
36978         (WebCore::LayerTilerChromium::Tile::dirty):
36979         (WebCore::LayerTilerChromium::Tile::clearDirty):
36980         (WebCore::LayerTilerChromium::layerRenderer):
36981
36982 2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
36983
36984         Reviewed by Eric Seidel.
36985
36986         Editor.h doesn't need to include SelectionController.h
36987         https://bugs.webkit.org/show_bug.cgi?id=51441
36988
36989         Removed #include <Selection.h> from Editor.h.
36990         Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
36991         to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
36992
36993         * WebCore.exp.in: Signature changes.
36994         * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
36995         * accessibility/AccessibilityRenderObject.cpp:
36996         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
36997         * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
36998         * editing/Editor.cpp:
36999         (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
37000         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
37001         (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
37002         * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
37003         and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
37004         * editing/EditorCommand.cpp:
37005         (WebCore::executeDeleteBackward): Change due to SelectionDirection.
37006         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
37007         (WebCore::executeDeleteForward): Ditto.
37008         (WebCore::executeDeleteToBeginningOfLine): Ditto.
37009         (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
37010         (WebCore::executeDeleteToEndOfLine): Ditto.
37011         (WebCore::executeDeleteToEndOfParagraph): Ditto.
37012         (WebCore::executeDeleteWordBackward): Ditto.
37013         (WebCore::executeDeleteWordForward): Ditto.
37014         (WebCore::executeForwardDelete): Ditto.
37015         (WebCore::executeMoveBackward): Ditto.
37016         (WebCore::executeMoveBackwardAndModifySelection): Ditto.
37017         (WebCore::executeMoveDown): Ditto.
37018         (WebCore::executeMoveDownAndModifySelection): Ditto.
37019         (WebCore::executeMoveForward): Ditto.
37020         (WebCore::executeMoveForwardAndModifySelection): Ditto.
37021         (WebCore::executeMoveLeft): Ditto.
37022         (WebCore::executeMoveLeftAndModifySelection): Ditto.
37023         (WebCore::executeMoveRight): Ditto.
37024         (WebCore::executeMoveRightAndModifySelection): Ditto.
37025         (WebCore::executeMoveToBeginningOfDocument): Ditto.
37026         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
37027         (WebCore::executeMoveToBeginningOfLine): Ditto.
37028         (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
37029         (WebCore::executeMoveToBeginningOfParagraph): Ditto.
37030         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
37031         (WebCore::executeMoveToBeginningOfSentence): Ditto.
37032         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
37033         (WebCore::executeMoveToEndOfDocument): Ditto.
37034         (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
37035         (WebCore::executeMoveToEndOfSentence): Ditto.
37036         (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
37037         (WebCore::executeMoveToEndOfLine): Ditto.
37038         (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
37039         (WebCore::executeMoveToEndOfParagraph): Ditto.
37040         (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
37041         (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
37042         (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
37043         (WebCore::executeMoveUp): Ditto.
37044         (WebCore::executeMoveUpAndModifySelection): Ditto.
37045         (WebCore::executeMoveWordBackward): Ditto.
37046         (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
37047         (WebCore::executeMoveWordForward): Ditto.
37048         (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
37049         (WebCore::executeMoveWordLeft): Ditto.
37050         (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
37051         (WebCore::executeMoveWordRight): Ditto.
37052         (WebCore::executeMoveWordRightAndModifySelection): Ditto.
37053         (WebCore::executeMoveToLeftEndOfLine): Ditto.
37054         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
37055         (WebCore::executeMoveToRightEndOfLine): Ditto.
37056         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
37057         * editing/SelectionController.cpp:
37058         (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
37059         (WebCore::SelectionController::modify): Ditto.
37060         * editing/SelectionController.h: Change due to SelectionDirection.
37061         * editing/TypingCommand.cpp:
37062         (WebCore::TypingCommand::deleteKeyPressed): Ditto.
37063         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
37064         * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
37065         in SelectionController.h
37066         * editing/WritingDirection.h: Added.
37067         * page/DOMSelection.cpp:
37068         (WebCore::DOMSelection::modify): Change due to SelectionDirection.
37069         (WebCore::DOMSelection::deleteFromDocument): Ditto.
37070         * page/EventHandler.cpp:
37071         (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
37072         * page/Frame.h: Includes SelectionController.h.
37073
37074 2010-12-23  Adam Barth  <abarth@webkit.org>
37075
37076         Reviewed by Darin Adler.
37077
37078         Move V8 to WebCore's implementation of showModalDialog
37079         https://bugs.webkit.org/show_bug.cgi?id=51527
37080
37081         This code is basically verbatim translation from the JavaScriptCore
37082         bindings.  The only intentional difference is in the world selection
37083         for the dialog's frame.  I suspect JavaScriptCore's bindings have a
37084         subtle bug there.
37085
37086         In this patch, I also remove a bunch of now-unneeded code in the
37087         generic bindings.
37088
37089         * bindings/generic/BindingDOMWindow.h:
37090         * bindings/js/JSDOMWindowCustom.cpp:
37091         (WebCore::DialogHandler::dialogCreated):
37092         (WebCore::setUpDialog):
37093         * bindings/v8/custom/V8DOMWindowCustom.cpp:
37094         (WebCore::DialogHandler::DialogHandler):
37095         (WebCore::DialogHandler::dialogCreated):
37096         (WebCore::DialogHandler::returnValue):
37097         (WebCore::setUpDialog):
37098         (WebCore::V8DOMWindow::showModalDialogCallback):
37099         (WebCore::V8DOMWindow::openCallback):
37100         * bindings/v8/specialization/V8BindingDOMWindow.h:
37101
37102 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
37103
37104         Reviewed by Joseph Pecoraro.
37105
37106         Web Inspector: Can't backspace from CSS value to CSS key field
37107         https://bugs.webkit.org/show_bug.cgi?id=51476
37108
37109         * inspector/front-end/StylesSidebarPane.js:
37110         (WebInspector.StylePropertyTreeElement.prototype.):
37111         (WebInspector.StylePropertyTreeElement.prototype):
37112
37113 2010-12-23  W. James MacLean  <wjmaclean@chromium.org>
37114
37115         Reviewed by Kenneth Russell.
37116
37117         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
37118         https://bugs.webkit.org/show_bug.cgi?id=51186
37119
37120         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
37121
37122         * platform/graphics/chromium/ImageLayerChromium.cpp:
37123         (WebCore::ImageLayerChromium::updateContentsIfDirty):
37124         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37125         (WebCore::GraphicsContext3D::getImageData):
37126
37127 2010-12-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
37128
37129         Reviewed by Kenneth Rohde Christiansen.
37130
37131         Fix check by undefined macro
37132         https://bugs.webkit.org/show_bug.cgi?id=51531
37133
37134         Fix check by undefined macro
37135
37136         When building EFL port with libsoup, BUILDING_GTK__ is not defined,
37137         leading to warnings during compile. We actually have to use an #ifdef
37138         instead of an #if.
37139
37140         No change in functionality so no new tests.
37141
37142         * platform/network/soup/cache/webkit/soup-cache.h:
37143
37144 2010-12-23  Jonathan Dixon  <joth@chromium.org>
37145
37146         Reviewed by Steve Block.
37147
37148         TouchEvents does not support multi-touch on a page with multiple touch targets
37149         https://bugs.webkit.org/show_bug.cgi?id=51258
37150
37151         Test: fast/events/touch/multi-touch-grouped-targets.html
37152
37153         * page/EventHandler.cpp:
37154         (WebCore::eventNameForTouchPointState):
37155         (WebCore::EventHandler::handleTouchEvent):
37156         Redesigned event handler to ensure all event targets involved in a given
37157         multitouch event get the appropriate event(s) fired.
37158
37159         * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
37160
37161 2010-12-23  Philippe Normand  <pnormand@igalia.com>
37162
37163         Reviewed by Xan Lopez.
37164
37165         [GTK] media/audio-data-url.html fails since r75504
37166         https://bugs.webkit.org/show_bug.cgi?id=51525
37167
37168         Make the GStreamer media-player advertize 3gpp mime-types as
37169         supported if the 3gp caps are in the typefind factories.
37170
37171         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37172         (WebCore::mimeTypeCache):
37173
37174 2010-12-23  Kent Tamura  <tkent@chromium.org>
37175
37176         Reviewed by Dimitri Glazkov.
37177
37178         Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
37179         to InputTypes.
37180         https://bugs.webkit.org/show_bug.cgi?id=51093
37181
37182         Move BeforeTextInserted and Wheel event handling, event forwarding to
37183         renderers, and the isindex form submission quirk code to InputTypes.
37184         Also, change the return types of InputType event handlers from 'bool'
37185         to 'void'. We use Event::defaultHandled() to decide whether event
37186         handling should be stopped.
37187
37188         No new tests because this is just a refactoring.
37189
37190         * html/BaseButtonInputType.cpp: bool->void changes
37191         (WebCore::BaseButtonInputType::handleKeydownEvent):
37192         (WebCore::BaseButtonInputType::handleKeypressEvent):
37193         (WebCore::BaseButtonInputType::handleKeyupEvent):
37194         * html/BaseButtonInputType.h: ditto.
37195         * html/BaseCheckableInputType.cpp: ditto.
37196         (WebCore::BaseCheckableInputType::handleKeydownEvent):
37197         (WebCore::BaseCheckableInputType::handleKeypressEvent):
37198         * html/BaseCheckableInputType.h: ditto.
37199         * html/BaseDateAndTimeInputType.cpp:
37200         (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
37201         (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
37202         * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
37203         * html/CheckboxInputType.cpp: bool->void change
37204         (WebCore::CheckboxInputType::handleKeyupEvent):
37205         * html/CheckboxInputType.h: ditto.
37206         * html/FileInputType.cpp: ditto.
37207         (WebCore::FileInputType::handleDOMActivateEvent):
37208         * html/FileInputType.h: ditto.
37209         * html/HTMLInputElement.cpp:
37210         (WebCore::HTMLInputElement::defaultEventHandler):
37211          - Change return-value handling of InputType event handlers
37212          - Move out beforeTextInserted/wheel event handling and isindex form quirk.
37213         * html/HTMLInputElement.h:
37214         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
37215          Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
37216         * html/ImageInputType.cpp: bool->void change
37217         (WebCore::ImageInputType::handleDOMActivateEvent):
37218         * html/ImageInputType.h: ditto.
37219         * html/InputType.cpp: ditto.
37220         (WebCore::InputType::handleClickEvent):
37221         (WebCore::InputType::handleDOMActivateEvent):
37222         (WebCore::InputType::handleKeydownEvent):
37223         (WebCore::InputType::handleKeypressEvent):
37224         (WebCore::InputType::handleKeyupEvent):
37225         (WebCore::InputType::handleBeforeTextInsertedEvent):
37226         (WebCore::InputType::handleWheelEvent): Added default implementation.
37227         (WebCore::InputType::forwardEvent): ditto.
37228         (WebCore::InputType::formForSubmission): ditto.
37229         * html/InputType.h:
37230         * html/IsIndexInputType.cpp:
37231         (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
37232         * html/IsIndexInputType.h:
37233         * html/NumberInputType.cpp:
37234         (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
37235         (WebCore::NumberInputType::handleKeydownEvent): bool->void change.
37236         (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
37237         (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
37238         * html/NumberInputType.h:
37239         * html/RadioInputType.cpp: bool->void changes.
37240         (WebCore::RadioInputType::handleClickEvent):
37241         (WebCore::RadioInputType::handleKeydownEvent):
37242         (WebCore::RadioInputType::handleKeyupEvent):
37243         * html/RadioInputType.h:
37244         * html/RangeInputType.cpp:
37245         (WebCore::RangeInputType::handleKeydownEvent): ditto.
37246         (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
37247         * html/RangeInputType.h:
37248         * html/ResetInputType.cpp: bool->void change.
37249         (WebCore::ResetInputType::handleDOMActivateEvent):
37250         * html/ResetInputType.h: ditto.
37251         * html/SubmitInputType.cpp: ditto.
37252         (WebCore::SubmitInputType::handleDOMActivateEvent):
37253         * html/SubmitInputType.h: ditto.
37254         * html/TextFieldInputType.cpp:
37255         (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
37256         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
37257         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
37258         (WebCore::TextFieldInputType::forwardEvent): ditto.
37259         * html/TextFieldInputType.h:
37260
37261 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
37262
37263         Reviewed by Joseph Pecoraro.
37264
37265         Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
37266         https://bugs.webkit.org/show_bug.cgi?id=51390
37267
37268         * inspector/front-end/StylesSidebarPane.js:
37269         (WebInspector.StylePropertyTreeElement.prototype):
37270
37271 2010-12-23  Noel Gordon  <noel.gordon@gmail.com>
37272
37273         Reviewed by Adam Barth.
37274
37275         [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
37276         https://bugs.webkit.org/show_bug.cgi?id=51455
37277
37278         Chromium uses the libpng compression defaults.  Good compression results,
37279         but at much larger run-time cost compared to other browsers.  Chrome is 2
37280         times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.
37281
37282         libpng has supported alternative compression methods for some time, they
37283         better meet the dual goals of good compression and run-time cost for the
37284         on-line case, and are well-documented.  Here use Huffman encoding.  It's
37285         2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
37286         size is within 1% of the Safari 5.0.3 result independent of image size.
37287
37288         No change in behaviour, so no new tests.
37289
37290         * platform/image-encoders/skia/PNGImageEncoder.cpp:
37291         (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
37292
37293 2010-12-22  Noel Gordon  <noel.gordon@gmail.com>
37294
37295         Reviewed by Darin Fisher.
37296
37297         [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
37298         https://bugs.webkit.org/show_bug.cgi?id=51321
37299
37300         Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
37301         the "image/png" encoder case viz., compute the unpremultiplication in-place.
37302         See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.
37303
37304         No new tests: canvas.toDataURL() is covered by existing tests.
37305
37306         * platform/image-encoders/skia/PNGImageEncoder.cpp:
37307         (WebCore::preMultipliedBGRAtoRGBA):
37308
37309 2010-12-22  Ariya Hidayat  <ariya@sencha.com>
37310
37311         Reviewed by Simon Fraser.
37312
37313         Implement skewX() and skewY() for CSSMatrix.
37314         https://bugs.webkit.org/show_bug.cgi?id=38335
37315
37316         * css/WebKitCSSMatrix.cpp:
37317         (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
37318         * css/WebKitCSSMatrix.h: Added skewX() and skewY().
37319         * css/WebKitCSSMatrix.idl: Added skewX() and skewY().
37320
37321 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
37322
37323         Reviewed by Dan Bernstein.
37324
37325         Support unprefixed box-shadow property
37326         https://bugs.webkit.org/show_bug.cgi?id=51448
37327         
37328         Add support for the box-shadow CSS property. We'll currently render this
37329         similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
37330         handling to match the spec.
37331
37332         Test: fast/css/box-shadow.html
37333
37334         * css/CSSComputedStyleDeclaration.cpp:
37335         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
37336         for box-shadow
37337         
37338         * css/CSSParser.cpp:
37339         (WebCore::CSSParser::parseValue):
37340         (WebCore::ShadowParseContext::ShadowParseContext):
37341         (WebCore::ShadowParseContext::commitValue):
37342         (WebCore::ShadowParseContext::commitLength):
37343         (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow
37344
37345         * css/CSSPropertyNames.in: add box-shadow
37346
37347         * css/CSSStyleSelector.cpp:
37348         (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
37349         store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
37350         to adjust radii later.
37351
37352         * css/SVGCSSStyleSelector.cpp:
37353         (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
37354         
37355         * page/animation/AnimationBase.cpp:
37356         (WebCore::blendFunc):
37357         (WebCore::PropertyWrapperShadow::blend):
37358         (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
37359         
37360         * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
37361         (WebCore::ShadowData::ShadowData):
37362         (WebCore::ShadowData::operator==):
37363         * rendering/style/ShadowData.h:
37364         (WebCore::ShadowData::ShadowData):
37365         (WebCore::ShadowData::isWebkitBoxShadow):
37366
37367 2010-12-22  Michael Saboff  <msaboff@apple.com>
37368
37369         Reviewed by Sam Weinig.
37370
37371         REGRESSION: Can't shadow/overwrite window.constructor 
37372         (causes TypeError exception)
37373         https://bugs.webkit.org/show_bug.cgi?id=48953
37374
37375         Added code in the javascript code generator to create a setter for
37376         a constructor if the new extended attribute ReplaceableConstructor
37377         is present for the interface.
37378
37379         * bindings/scripts/CodeGeneratorJS.pm:
37380         * page/DOMWindow.idl:
37381
37382 2010-12-22  Steve Lacey  <sjl@chromium.org>
37383
37384         Reviewed by David Levin.
37385
37386         Change css for chromium media controls to deal with the timeline
37387         not expanding when the current time disappears. This happens when
37388         the width of the control drops below 240px.
37389
37390         This change results in a minor pixel difference - the timebar now
37391         aligns better with the time and when the time is not displayed is
37392         now perfectly centered. Disabling the affected tests for now
37393         and will rebaseline.
37394
37395         https://bugs.webkit.org/show_bug.cgi?id=51500
37396
37397         * css/mediaControlsChromium.css:
37398         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
37399         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
37400         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
37401         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
37402
37403 2010-12-22  Mihai Parparita  <mihaip@chromium.org>
37404
37405         Reviewed by Simon Fraser.
37406
37407         the shadow direction is negated in canvas context shadowOffsetY.
37408         https://bugs.webkit.org/show_bug.cgi?id=25619
37409         
37410         Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
37411         if we're not transforming shadows (i.e. are rendering in a canvas). Also
37412         use CG shadows if there's a non-translate/flip transform applied
37413         (shadow offsets are supposed to ignore transforms, but the naive/simple
37414         implementation was taking them into account).
37415         
37416         Also does the equivalent changes to FontCGWin.
37417
37418         Test: fast/canvas/fillText-shadow.html
37419
37420         * platform/graphics/GraphicsContext.cpp:
37421         (WebCore::GraphicsContext::shadowsIgnoreTransforms):
37422         * platform/graphics/GraphicsContext.h:
37423         * platform/graphics/mac/FontMac.mm:
37424         (WebCore::Font::drawGlyphs):
37425         * platform/graphics/win/FontCGWin.cpp:
37426         (WebCore::Font::drawGlyphs):
37427
37428 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
37429
37430         Unreviewed, rolling out r74503.
37431         http://trac.webkit.org/changeset/74503
37432         https://bugs.webkit.org/show_bug.cgi?id=51513
37433
37434         breaks chromium mac debug compile (Requested by tonyg-cr on
37435         #webkit).
37436
37437         * platform/graphics/chromium/ImageLayerChromium.cpp:
37438         (WebCore::ImageLayerChromium::updateContentsIfDirty):
37439         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37440         (WebCore::GraphicsContext3D::getImageData):
37441
37442 2010-12-22  Dan Bernstein  <mitz@apple.com>
37443
37444         Reviewed by Darin Adler.
37445
37446         Replace runtime checks for hyphenation API availability with compile-time checks.
37447
37448         * platform/text/cf/HyphenationCF.cpp:
37449         (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
37450         search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
37451         (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
37452         It is identical to the implementation in Hyphenation.cpp.
37453         (WebCore::lastHyphenLocation): Ditto.
37454
37455 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
37456
37457         Reviewed by Darin Adler.
37458
37459         Cache snapshots of plug-ins before painting, to avoid script running during painting
37460         https://bugs.webkit.org/show_bug.cgi?id=51493
37461         
37462         When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
37463         or when printing), plug-ins which otherwise use the CA rendering model
37464         are sent a paint event. Some plug-ins may run script while handling this event,
37465         or out of process plug-ins may process queued requests at this time. Running
37466         script while inside layout or painting can have bad consequences, because it
37467         can result in arbitrary changes to the render tree.
37468         
37469         This patch avoids sending plug-ins paint events inside of painting. Instead,
37470         we ask the plug-ins to cache a snapshot before we paint, and then the software
37471         paint simply draws that snapshot.
37472         
37473         Requires manual test, because the bug happens when Safari does
37474         a page snapshot. It's not possible to tell the Test Netscape Plug-in
37475         to paint without laying out, making an automated test impossible.
37476
37477         * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
37478
37479         * page/FrameView.h:
37480         * page/FrameView.cpp:
37481         (WebCore::FrameView::paintContents): Notify all enclosed widgets
37482         that a flattening paint is going to happen.
37483         (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method 
37484         that tells the RenderView in all subframes to notify their widgets.
37485
37486         * platform/Widget.h:
37487         (WebCore::Widget::notifyWidget): Generic method that can be used
37488         to send messages to widgets. Current messages are just 'before flattening paint'
37489         and 'after flattening paint'. Message has no payload.
37490
37491         * rendering/RenderView.h:
37492         * rendering/RenderView.cpp:
37493         (WebCore::RenderView::getRetainedWidgets):
37494         (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
37495         since we use it in two places now.
37496         
37497         (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
37498         (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
37499         them all the message.
37500
37501         * rendering/RenderWidget.h:
37502         * rendering/RenderWidget.cpp:
37503         (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
37504
37505 2010-12-22  Adrienne Walker  <enne@google.com>
37506
37507         Reviewed by Kenneth Russell.
37508
37509         Fix null pointer deref when restoring a lost WebGL context.
37510         https://bugs.webkit.org/show_bug.cgi?id=51494
37511
37512         No new tests, as context restored events are not currently testable.
37513
37514         * html/canvas/WebGLRenderingContext.cpp:
37515         (WebCore::WebGLRenderingContext::initializeNewContext):
37516         (WebCore::WebGLRenderingContext::restoreContext):
37517
37518 2010-12-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
37519
37520         Reviewed by Martin Robinson.
37521
37522         [GTK] Building with Blob support fails again
37523         https://bugs.webkit.org/show_bug.cgi?id=51392
37524
37525         Build fix.
37526
37527         * GNUmakefile.am:
37528
37529 2010-12-22  Dan Bernstein  <mitz@apple.com>
37530
37531         Reviewed by Anders Carlsson.
37532
37533         canHyphenate() always returns true for the default locale
37534         https://bugs.webkit.org/show_bug.cgi?id=51506
37535
37536         No test, since this change only affects performance.
37537
37538         * platform/text/cf/HyphenationCF.cpp:
37539         (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
37540         (WebCore::::createValueForKey): Removed whitespace.
37541
37542 2010-12-22  Yury Semikhatsky  <yurys@chromium.org>
37543
37544         Reviewed by Joseph Pecoraro.
37545
37546         Web Inspector: script name gets parsed as HTML in Call stack panel
37547         https://bugs.webkit.org/show_bug.cgi?id=51468
37548
37549         * inspector/front-end/Placard.js:
37550         (WebInspector.Placard.prototype.set subtitle):
37551
37552 2010-12-22  Eric Carlson  <eric.carlson@apple.com>
37553
37554         Reviewed by Darin Adler.
37555
37556         MediaPlayer should look for MIME type in data: URL
37557         https://bugs.webkit.org/show_bug.cgi?id=51195
37558
37559         If no MIME type is passed from the media element for a data: URL, try to get it from
37560         the URL itself.
37561
37562         No new tests are possible because the MIME type is just passed to the media engine.
37563
37564         * platform/graphics/MediaPlayer.cpp:
37565         (WebCore::MediaPlayer::load):
37566
37567 2010-12-22  W. James MacLean  <wjmaclean@chromium.org>
37568
37569         Reviewed by Kenneth Russell.
37570
37571         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
37572         https://bugs.webkit.org/show_bug.cgi?id=51186
37573
37574         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
37575
37576         * platform/graphics/chromium/ImageLayerChromium.cpp:
37577         (WebCore::ImageLayerChromium::updateContentsIfDirty):
37578         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37579         (WebCore::GraphicsContext3D::getImageData):
37580
37581 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
37582
37583         Reviewed by Darin Adler.
37584
37585         WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
37586         https://bugs.webkit.org/show_bug.cgi?id=51488
37587
37588         Test: platform/mac/accessibility/aria-menubar.html
37589
37590         * accessibility/AccessibilityObject.cpp:
37591         (WebCore::createARIARoleMap):
37592
37593 2010-12-22  Zhenyao Mo  <zmo@google.com>
37594
37595         Reviewed by Kenneth Russell.
37596
37597         CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
37598         https://bugs.webkit.org/show_bug.cgi?id=51423
37599
37600         * html/canvas/WebGLRenderingContext.cpp:
37601         (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
37602         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
37603         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
37604         * html/canvas/WebGLRenderingContext.h:
37605
37606 2010-12-22  Xan Lopez  <xlopez@igalia.com>
37607
37608         Reviewed by Gustavo Noronha.
37609
37610         [GTK] Compilation fixes with GTK+ 2.91.7
37611         https://bugs.webkit.org/show_bug.cgi?id=51487
37612
37613         * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
37614         backwards compatibility, it's now defined again in GTK+ 3.x.
37615         * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
37616         initialize global static variables (!). These are called when the
37617         .so is loaded, and they now require GType to be initialized and
37618         will crash. Initialize them once from the ctor, which is a more
37619         common pattern anyway.
37620         (WebCore::initGdkAtoms): new method to initialize static variables.
37621         (WebCore::PasteboardHelper::PasteboardHelper): call it.
37622         * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
37623         using GTK+ 3.x, since it's no longer installed.
37624
37625 2010-12-22  Dirk Schulze  <krit@wbekit.org>
37626
37627         Reviewed by Nikolas Zimmermann.
37628
37629         Cleanup SVG code according to the webkit style rules 2
37630         https://bugs.webkit.org/show_bug.cgi?id=51461
37631
37632         Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
37633
37634         No changes of functionality, so no new tests. 
37635
37636         * svg/SVGFEDisplacementMapElement.cpp:
37637         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
37638         * svg/SVGFEDistantLightElement.h:
37639         * svg/SVGFEFuncAElement.h:
37640         * svg/SVGFEFuncBElement.h:
37641         * svg/SVGFEFuncGElement.h:
37642         * svg/SVGFEFuncRElement.h:
37643         * svg/SVGFEMergeElement.cpp:
37644         (WebCore::SVGFEMergeElement::build):
37645         * svg/SVGFEMorphologyElement.cpp:
37646         * svg/SVGFEPointLightElement.h:
37647         * svg/SVGFESpecularLightingElement.cpp:
37648         (WebCore::SVGFESpecularLightingElement::findLights):
37649         * svg/SVGFESpotLightElement.h:
37650         * svg/SVGFitToViewBox.cpp:
37651         (WebCore::SVGFitToViewBox::parseViewBox):
37652         (WebCore::SVGFitToViewBox::isKnownAttribute):
37653         * svg/SVGFontFaceElement.cpp:
37654         (WebCore::cssPropertyIdForSVGAttributeName):
37655         * svg/SVGFontFaceElement.h:
37656         (WebCore::SVGFontFaceElement::associatedFontElement):
37657         * svg/SVGFontFaceNameElement.h:
37658         * svg/SVGFontFaceSrcElement.cpp:
37659         * svg/SVGFontFaceSrcElement.h:
37660         * svg/SVGFontFaceUriElement.h:
37661         * svg/SVGForeignObjectElement.h:
37662         * svg/SVGGlyphElement.cpp:
37663         (WebCore::parseArabicForm):
37664         (WebCore::parseOrientation):
37665         * svg/SVGGlyphElement.h:
37666         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
37667         (WebCore::SVGGlyphIdentifier::inheritedValue):
37668         (WebCore::SVGGlyphIdentifier::operator==):
37669         (WebCore::SVGGlyphElement::rendererIsNeeded):
37670         * svg/SVGGlyphMap.h:
37671         (WebCore::GlyphMapNode::GlyphMapNode):
37672         (WebCore::GlyphMapNode::create):
37673         (WebCore::SVGGlyphMap::SVGGlyphMap):
37674         (WebCore::SVGGlyphMap::add):
37675         (WebCore::SVGGlyphMap::compareGlyphPriority):
37676         (WebCore::SVGGlyphMap::get):
37677         (WebCore::SVGGlyphMap::clear):
37678         * svg/SVGGradientElement.cpp:
37679         * svg/SVGHKernElement.cpp:
37680         * svg/SVGHKernElement.h:
37681         (WebCore::SVGHKernElement::rendererIsNeeded):
37682         * svg/SVGImageElement.h:
37683         * svg/SVGImageLoader.cpp:
37684         * svg/SVGImageLoader.h:
37685         * svg/SVGLangSpace.cpp:
37686         (WebCore::SVGLangSpace::parseMappedAttribute):
37687         (WebCore::SVGLangSpace::isKnownAttribute):
37688         * svg/SVGLangSpace.h:
37689         (WebCore::SVGLangSpace::xmllang):
37690         * svg/SVGMetadataElement.h:
37691         * svg/SVGMissingGlyphElement.h:
37692         (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
37693         * svg/SVGPaint.cpp:
37694         (WebCore::SVGPaint::cssText):
37695         * svg/SVGPaint.h:
37696         (WebCore::SVGPaint::create):
37697         (WebCore::SVGPaint::paintType):
37698         (WebCore::SVGPaint::isSVGPaint):
37699         * svg/SVGParserUtilities.cpp:
37700         * svg/SVGParserUtilities.h:
37701         (WebCore::isWhitespace):
37702         (WebCore::skipOptionalSpaces):
37703         (WebCore::skipOptionalSpacesOrDelimiter):
37704         * svg/SVGPathElement.cpp:
37705         * svg/SVGPathParserFactory.h:
37706         * svg/SVGPathSegList.h:
37707
37708 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
37709
37710         Reviewed by Sam Weinig.
37711
37712         AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
37713         https://bugs.webkit.org/show_bug.cgi?id=51481
37714
37715         Support aria-multiline and use it to change the role of an ARIA "textbox" 
37716         from AXTextArea to AXTextField.
37717
37718         Test: platform/mac/accessibility/aria-multiline.html
37719
37720         * accessibility/AccessibilityObject.cpp:
37721         (WebCore::AccessibilityObject::ariaIsMultiline):
37722         * accessibility/AccessibilityObject.h:
37723         (WebCore::AccessibilityObject::isPasswordField):
37724         (WebCore::AccessibilityObject::isTextControl):
37725         * accessibility/AccessibilityRenderObject.cpp:
37726         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
37727         * accessibility/AccessibilityRenderObject.h:
37728         * html/HTMLAttributeNames.in:
37729
37730 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
37731
37732         Reviewed by Dan Bernstein.
37733
37734         CSS 2.1 failure: counter-increment-013 fails
37735         https://bugs.webkit.org/show_bug.cgi?id=51483
37736         
37737         Clamp the counter-increment property to the valid range of signed
37738         integers.
37739
37740         Test: fast/css/counters/counter-increment-overflow.html
37741
37742         * css/CSSParser.cpp:
37743         (WebCore::clampToSignedInteger):
37744         (WebCore::CSSParser::parseCounter):
37745
37746 2010-12-22  Dan Bernstein  <mitz@apple.com>
37747
37748         Rubber-stamped by Mark Rowe.
37749
37750         Changed WebKitTools to Tools in script build phases.
37751
37752         * WebCore.xcodeproj/project.pbxproj:
37753
37754 2010-12-21  Vangelis Kokkevis  <vangelis@chromium.org>
37755
37756         Reviewed by Kenneth Russell.
37757
37758         [chromium] Fixing crash with empty render surfaces.
37759         https://bugs.webkit.org/show_bug.cgi?id=51432
37760
37761         Test: platform/chromium/compositing/empty-render-surface-crasher.html
37762
37763         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
37764         (WebCore::RenderSurfaceChromium::draw):
37765
37766 2010-12-21  Pavel Podivilov  <podivilov@chromium.org>
37767
37768         Reviewed by Yury Semikhatsky.
37769
37770         Web Inspector: persist JavaScript breakpoints in frontend settings.
37771         https://bugs.webkit.org/show_bug.cgi?id=48434
37772
37773         * bindings/js/ScriptDebugServer.cpp:
37774         (WebCore::ScriptDebugServer::setBreakpoint):
37775         (WebCore::ScriptDebugServer::removeBreakpoint):
37776         * bindings/js/ScriptDebugServer.h:
37777         * bindings/v8/DebuggerScript.js:
37778         ():
37779         * bindings/v8/ScriptDebugServer.cpp:
37780         (WebCore::ScriptDebugServer::setBreakpoint):
37781         (WebCore::ScriptDebugServer::removeBreakpoint):
37782         * bindings/v8/ScriptDebugServer.h:
37783         * inspector/Inspector.idl:
37784         * inspector/InspectorBackend.cpp:
37785         * inspector/InspectorController.cpp:
37786         (WebCore::InspectorController::InspectorController):
37787         (WebCore::InspectorController::enableDebuggerFromFrontend):
37788         (WebCore::InspectorController::setStickyBreakpoints):
37789         (WebCore::InspectorController::restoreStickyBreakpoint):
37790         * inspector/InspectorController.h:
37791         * inspector/InspectorDebuggerAgent.cpp:
37792         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
37793         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
37794         (WebCore::InspectorDebuggerAgent::setBreakpoint):
37795         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
37796         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
37797         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
37798         (WebCore::InspectorDebuggerAgent::didParseSource):
37799         * inspector/InspectorDebuggerAgent.h:
37800         * inspector/front-end/Breakpoint.js:
37801         (WebInspector.Breakpoint):
37802         (WebInspector.Breakpoint.prototype.remove):
37803         * inspector/front-end/BreakpointManager.js:
37804         (WebInspector.BreakpointManager):
37805         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
37806         (WebInspector.JavaScriptBreakpoint):
37807         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
37808         * inspector/front-end/DebuggerModel.js:
37809         (WebInspector.DebuggerModel):
37810         * inspector/front-end/ScriptsPanel.js:
37811         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
37812         * inspector/front-end/SourceFrame.js:
37813
37814 2010-12-20  Antti Koivisto  <antti@apple.com>
37815
37816         Reviewed by Alexey Proskuryakov.
37817
37818         https://bugs.webkit.org/show_bug.cgi?id=51354
37819         Don't block rendering and script execution on deferred stylesheets
37820         
37821         - Don't add low priority stylesheets to the document pending sheet count.
37822         - Resolve media attribute fully for the link element stylesheet load.
37823
37824         Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
37825
37826         * html/HTMLLinkElement.cpp:
37827         (WebCore::HTMLLinkElement::HTMLLinkElement):
37828         (WebCore::HTMLLinkElement::~HTMLLinkElement):
37829         (WebCore::HTMLLinkElement::setDisabledState):
37830         (WebCore::HTMLLinkElement::process):
37831         (WebCore::HTMLLinkElement::sheetLoaded):
37832         (WebCore::HTMLLinkElement::addPendingSheet):
37833         (WebCore::HTMLLinkElement::removePendingSheet):
37834         * html/HTMLLinkElement.h:
37835
37836 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
37837
37838         Unreviewed, rolling out r74473.
37839         http://trac.webkit.org/changeset/74473
37840         https://bugs.webkit.org/show_bug.cgi?id=51463
37841
37842         broke compilation on leopard intel release (Requested by
37843         podivilov on #webkit).
37844
37845         * bindings/js/ScriptDebugServer.cpp:
37846         (WebCore::ScriptDebugServer::setBreakpoint):
37847         (WebCore::ScriptDebugServer::removeBreakpoint):
37848         * bindings/js/ScriptDebugServer.h:
37849         * bindings/v8/DebuggerScript.js:
37850         ():
37851         * bindings/v8/ScriptDebugServer.cpp:
37852         (WebCore::ScriptDebugServer::setBreakpoint):
37853         (WebCore::ScriptDebugServer::removeBreakpoint):
37854         * bindings/v8/ScriptDebugServer.h:
37855         * inspector/Inspector.idl:
37856         * inspector/InspectorBackend.cpp:
37857         * inspector/InspectorController.cpp:
37858         (WebCore::InspectorController::InspectorController):
37859         (WebCore::InspectorController::enableDebuggerFromFrontend):
37860         (WebCore::InspectorController::setStickyBreakpoints):
37861         (WebCore::InspectorController::restoreStickyBreakpoint):
37862         (WebCore::InspectorController::breakpointsSettingKey):
37863         (WebCore::InspectorController::loadBreakpoints):
37864         (WebCore::InspectorController::saveBreakpoints):
37865         * inspector/InspectorController.h:
37866         * inspector/InspectorDebuggerAgent.cpp:
37867         (WebCore::formatBreakpointId):
37868         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
37869         (WebCore::InspectorDebuggerAgent::setBreakpoint):
37870         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
37871         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
37872         (WebCore::InspectorDebuggerAgent::md5Base16):
37873         (WebCore::InspectorDebuggerAgent::loadBreakpoints):
37874         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
37875         (WebCore::InspectorDebuggerAgent::didParseSource):
37876         * inspector/InspectorDebuggerAgent.h:
37877         * inspector/front-end/Breakpoint.js:
37878         (WebInspector.Breakpoint):
37879         (WebInspector.Breakpoint.jsBreakpointId):
37880         (WebInspector.Breakpoint.prototype.set enabled):
37881         (WebInspector.Breakpoint.prototype.get id):
37882         (WebInspector.Breakpoint.prototype.set condition):
37883         (WebInspector.Breakpoint.prototype.remove):
37884         * inspector/front-end/BreakpointManager.js:
37885         (WebInspector.BreakpointManager):
37886         (WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
37887         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
37888         (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
37889         (WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
37890         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
37891         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
37892         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
37893         (WebInspector.BreakpointManager.prototype._projectChanged):
37894         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
37895         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
37896         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
37897         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
37898         (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
37899         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
37900         (WebInspector.NativeBreakpointView.prototype.set enabled):
37901         (WebInspector.NativeBreakpointView.prototype.remove):
37902         * inspector/front-end/DebuggerModel.js:
37903         (WebInspector.DebuggerModel):
37904         (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
37905         (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
37906         (WebInspector.DebuggerModel.prototype.setBreakpoint):
37907         (WebInspector.DebuggerModel.prototype.findBreakpoint):
37908         (WebInspector.DebuggerModel.prototype.reset):
37909         (WebInspector.DebuggerModel.prototype._setBreakpoint):
37910         (WebInspector.DebuggerModel.prototype._breakpointRemoved):
37911         (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
37912         (WebInspector.DebuggerModel.prototype.breakpointRestored):
37913         (WebInspector.DebuggerModel.prototype.pausedScript):
37914         (WebInspector.DebuggerModel.prototype.resumedScript):
37915         * inspector/front-end/ScriptsPanel.js:
37916         (WebInspector.ScriptsPanel.prototype.continueToLine):
37917         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
37918         * inspector/front-end/SourceFrame.js:
37919         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
37920         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
37921         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
37922         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
37923         (WebInspector.SourceFrame.prototype._contextMenu):
37924         (WebInspector.SourceFrame.prototype._mouseDown):
37925         (WebInspector.SourceFrame.prototype._continueToLine):
37926         (WebInspector.SourceFrame.prototype._setBreakpoint):
37927
37928 2010-12-21  Pavel Podivilov  <podivilov@chromium.org>
37929
37930         Reviewed by Yury Semikhatsky.
37931
37932         Web Inspector: persist JavaScript breakpoints in frontend settings.
37933         https://bugs.webkit.org/show_bug.cgi?id=48434
37934
37935         * bindings/js/ScriptDebugServer.cpp:
37936         (WebCore::ScriptDebugServer::setBreakpoint):
37937         (WebCore::ScriptDebugServer::removeBreakpoint):
37938         * bindings/js/ScriptDebugServer.h:
37939         * bindings/v8/DebuggerScript.js:
37940         ():
37941         * bindings/v8/ScriptDebugServer.cpp:
37942         (WebCore::ScriptDebugServer::setBreakpoint):
37943         (WebCore::ScriptDebugServer::removeBreakpoint):
37944         * bindings/v8/ScriptDebugServer.h:
37945         * inspector/Inspector.idl:
37946         * inspector/InspectorBackend.cpp:
37947         * inspector/InspectorController.cpp:
37948         (WebCore::InspectorController::InspectorController):
37949         (WebCore::InspectorController::enableDebuggerFromFrontend):
37950         (WebCore::InspectorController::setStickyBreakpoints):
37951         (WebCore::InspectorController::restoreStickyBreakpoint):
37952         * inspector/InspectorController.h:
37953         * inspector/InspectorDebuggerAgent.cpp:
37954         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
37955         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
37956         (WebCore::InspectorDebuggerAgent::setBreakpoint):
37957         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
37958         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
37959         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
37960         (WebCore::InspectorDebuggerAgent::didParseSource):
37961         * inspector/InspectorDebuggerAgent.h:
37962         * inspector/front-end/Breakpoint.js:
37963         (WebInspector.Breakpoint):
37964         (WebInspector.Breakpoint.prototype.remove):
37965         * inspector/front-end/BreakpointManager.js:
37966         (WebInspector.BreakpointManager):
37967         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
37968         (WebInspector.JavaScriptBreakpoint):
37969         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
37970         * inspector/front-end/DebuggerModel.js:
37971         (WebInspector.DebuggerModel):
37972         * inspector/front-end/ScriptsPanel.js:
37973         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
37974         * inspector/front-end/SourceFrame.js:
37975
37976 2010-12-22  Dirk Schulze  <krit@wbekit.org>
37977
37978         Reviewed by Nikolas Zimmermann.
37979
37980         Cleanup SVG code according to the webkit style rules 1
37981         https://bugs.webkit.org/show_bug.cgi?id=51411
37982
37983         First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
37984
37985         No change of functionality. 
37986
37987         * svg/ColorDistance.cpp:
37988         (WebCore::ColorDistance::isZero):
37989         * svg/ColorDistance.h:
37990         * svg/ElementTimeControl.h:
37991         (WebCore::ElementTimeControl::~ElementTimeControl):
37992         * svg/LinearGradientAttributes.h:
37993         (WebCore::LinearGradientAttributes::LinearGradientAttributes):
37994         (WebCore::LinearGradientAttributes::x1):
37995         (WebCore::LinearGradientAttributes::y1):
37996         (WebCore::LinearGradientAttributes::x2):
37997         (WebCore::LinearGradientAttributes::y2):
37998         (WebCore::LinearGradientAttributes::setX1):
37999         (WebCore::LinearGradientAttributes::setY1):
38000         (WebCore::LinearGradientAttributes::setX2):
38001         (WebCore::LinearGradientAttributes::setY2):
38002         (WebCore::LinearGradientAttributes::hasX1):
38003         (WebCore::LinearGradientAttributes::hasY1):
38004         (WebCore::LinearGradientAttributes::hasX2):
38005         (WebCore::LinearGradientAttributes::hasY2):
38006         * svg/RadialGradientAttributes.h:
38007         (WebCore::RadialGradientAttributes::RadialGradientAttributes):
38008         (WebCore::RadialGradientAttributes::cx):
38009         (WebCore::RadialGradientAttributes::cy):
38010         (WebCore::RadialGradientAttributes::r):
38011         (WebCore::RadialGradientAttributes::fx):
38012         (WebCore::RadialGradientAttributes::fy):
38013         (WebCore::RadialGradientAttributes::setCx):
38014         (WebCore::RadialGradientAttributes::setCy):
38015         (WebCore::RadialGradientAttributes::setR):
38016         (WebCore::RadialGradientAttributes::setFx):
38017         (WebCore::RadialGradientAttributes::setFy):
38018         (WebCore::RadialGradientAttributes::hasCx):
38019         (WebCore::RadialGradientAttributes::hasCy):
38020         (WebCore::RadialGradientAttributes::hasR):
38021         (WebCore::RadialGradientAttributes::hasFx):
38022         (WebCore::RadialGradientAttributes::hasFy):
38023         * svg/SVGAngle.cpp:
38024         * svg/SVGAnimateColorElement.h:
38025         * svg/SVGAnimateElement.cpp:
38026         (WebCore::SVGAnimateElement::calculateAnimatedValue):
38027         (WebCore::SVGAnimateElement::calculateDistance):
38028         * svg/SVGAnimateElement.h:
38029         * svg/SVGAnimateMotionElement.cpp:
38030         * svg/SVGAnimateMotionElement.h:
38031         * svg/SVGAnimatedNumber.h:
38032         * svg/SVGAnimationElement.cpp:
38033         (WebCore::parseKeyTimes):
38034         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
38035         (WebCore::SVGAnimationElement::updateAnimation):
38036         * svg/SVGClipPathElement.cpp:
38037         (WebCore::SVGClipPathElement::svgAttributeChanged):
38038         * svg/SVGColor.h:
38039         (WebCore::SVGColor::create):
38040         (WebCore::SVGColor::createCurrentColor):
38041         (WebCore::SVGColor::colorType):
38042         (WebCore::SVGColor::setRGBColor):
38043         (WebCore::SVGColor::color):
38044         (WebCore::SVGColor::isSVGColor):
38045         * svg/SVGCursorElement.cpp:
38046         (WebCore::SVGCursorElement::svgAttributeChanged):
38047         * svg/SVGCursorElement.h:
38048         * svg/SVGDescElement.h:
38049         (WebCore::SVGDescElement::rendererIsNeeded):
38050         * svg/SVGDocument.cpp:
38051         * svg/SVGDocument.h:
38052         (WebCore::SVGDocument::create):
38053         (WebCore::SVGDocument::isSVGDocument):
38054         * svg/SVGElement.h:
38055         (WebCore::SVGElement::isStyled):
38056         (WebCore::SVGElement::isStyledTransformable):
38057         (WebCore::SVGElement::isStyledLocatable):
38058         (WebCore::SVGElement::isSVG):
38059         (WebCore::SVGElement::isFilterEffect):
38060         (WebCore::SVGElement::isGradientStop):
38061         (WebCore::SVGElement::isTextContent):
38062         (WebCore::SVGElement::isValid):
38063         (WebCore::SVGElement::svgAttributeChanged):
38064         (WebCore::SVGElement::synchronizeProperty):
38065         (WebCore::SVGElement::supplementalTransform):
38066         (WebCore::SVGElement::invalidateSVGAttributes):
38067         (WebCore::SVGElement::rendererIsNeeded):
38068         (WebCore::SVGElement::needsPendingResourceHandling):
38069         (WebCore::SVGElement::buildPendingResource):
38070         * svg/SVGElementInstance.h:
38071         (WebCore::SVGElementInstance::create):
38072         (WebCore::SVGElementInstance::correspondingElement):
38073         (WebCore::SVGElementInstance::correspondingUseElement):
38074         (WebCore::SVGElementInstance::shadowTreeElement):
38075         (WebCore::SVGElementInstance::parentNode):
38076         (WebCore::SVGElementInstance::previousSibling):
38077         (WebCore::SVGElementInstance::nextSibling):
38078         (WebCore::SVGElementInstance::firstChild):
38079         (WebCore::SVGElementInstance::lastChild):
38080         (WebCore::SVGElementInstance::ownerDocument):
38081         (WebCore::SVGElementInstance::toNode):
38082         (WebCore::SVGElementInstance::toSVGElementInstance):
38083         (WebCore::SVGElementInstance::hasChildNodes):
38084         (WebCore::SVGElementInstance::setFirstChild):
38085         (WebCore::SVGElementInstance::setLastChild):
38086         (WebCore::SVGElementInstance::setNextSibling):
38087         (WebCore::SVGElementInstance::setPreviousSibling):
38088         (WebCore::SVGElementInstance::refEventTarget):
38089         (WebCore::SVGElementInstance::derefEventTarget):
38090         * svg/SVGElementInstanceList.h:
38091         (WebCore::SVGElementInstanceList::create):
38092         * svg/SVGException.h:
38093         (WebCore::SVGException::create):
38094         (WebCore::SVGException::SVGException):
38095         * svg/SVGFEColorMatrixElement.cpp:
38096         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
38097         * svg/SVGFEComponentTransferElement.cpp:
38098         (WebCore::SVGFEComponentTransferElement::build):
38099         * svg/SVGFEDiffuseLightingElement.cpp:
38100         (WebCore::SVGFEDiffuseLightingElement::findLights):
38101         * svg/SVGFont.cpp:
38102         (WebCore::convertEmUnitToPixel):
38103         * svg/SVGUseElement.cpp:
38104         (WebCore::isDirectReference):
38105
38106 2010-12-22  Dai Mikurube  <dmikurube@google.com>
38107
38108         Reviewed by Kent Tamura.
38109
38110         https://bugs.webkit.org/show_bug.cgi?id=51289
38111         Initial state of checkValidity() and :invalid are incorrect with <select required>
38112
38113         * html/HTMLSelectElement.cpp:
38114         (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.
38115
38116 2010-12-22  Alexander Pavlov  <apavlov@chromium.org>
38117
38118         Reviewed by Joseph Pecoraro.
38119
38120         Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly
38121         https://bugs.webkit.org/show_bug.cgi?id=51405
38122
38123         Invoke markPropertyStart() after the parser has restored after an error.
38124
38125         * css/CSSGrammar.y:
38126
38127 2010-12-22  Dai Mikurube  <dmikurube@google.com>
38128
38129         Reviewed by Kent Tamura.
38130
38131         Assertion failure with <select multiple required>
38132         https://bugs.webkit.org/show_bug.cgi?id=51260
38133
38134         Test: fast/css/pseudo-valid-select-click.html
38135
38136         * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
38137         (WebCore::SelectElement::updateListBoxSelection):
38138
38139 2010-12-21  Darin Adler  <darin@apple.com>
38140
38141         Unreviewed correction to unreviewed build fix for r74447.
38142
38143         Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.
38144
38145         * html/HTMLImageLoader.cpp:
38146         (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
38147         logic is inside the #ifdef.
38148
38149 2010-12-21  Simon Fraser  <simon.fraser@apple.com>
38150
38151         Reviewed by Darin Adler.
38152
38153         Include the shadow color space as part of the GraphicsContext state
38154         https://bugs.webkit.org/show_bug.cgi?id=51420
38155         
38156         Include the ColorSpace for the shadow color as part of the graphics
38157         state. This will be used later for a shadow implementation that
38158         does not rely on platform shadow code.
38159
38160         * platform/graphics/GraphicsContext.cpp:
38161         (WebCore::GraphicsContext::setShadow):
38162         (WebCore::GraphicsContext::clearShadow):
38163         (WebCore::GraphicsContext::getShadow):
38164         * platform/graphics/GraphicsContext.h:
38165         (WebCore::GraphicsContextState::GraphicsContextState):
38166         * platform/graphics/chromium/FontChromiumWin.cpp:
38167         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
38168         (WebCore::Font::drawComplexText):
38169         * platform/graphics/mac/FontMac.mm:
38170         (WebCore::Font::drawGlyphs):
38171         * platform/graphics/skia/SkiaFontWin.cpp:
38172         (WebCore::windowsCanHandleDrawTextShadow):
38173         * platform/graphics/win/FontCGWin.cpp:
38174         (WebCore::drawGDIGlyphs):
38175         (WebCore::Font::drawGlyphs):
38176         * platform/graphics/wince/GraphicsContextWinCE.cpp:
38177         (WebCore::GraphicsContext::fillRoundedRect):
38178         (WebCore::GraphicsContext::drawText):
38179
38180 2010-12-21  Dan Bernstein  <mitz@apple.com>
38181
38182         Reviewed by Sam Weinig.
38183
38184         <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent
38185         https://bugs.webkit.org/show_bug.cgi?id=51413
38186
38187         71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the
38188         scheduling, which is host-dependent, before calling willSendRequest, because the latter can
38189         change the host.
38190
38191         * loader/NetscapePlugInStreamLoader.cpp:
38192         (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init()
38193         and return 0 if it is false.
38194         * loader/ResourceLoader.cpp:
38195         (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest()
38196         from start() into here. Return false if willSendRequest() canceled the request.
38197         (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init().
38198         * loader/ResourceLoader.h:
38199         * loader/SubresourceLoader.cpp:
38200         (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init()
38201         and return 0 if it is false.
38202
38203 2010-12-21  Benjamin Kalman  <kalman@chromium.org>
38204
38205         Reviewed by Darin Adler.
38206
38207         Shift-End does not select to the end of the line
38208         https://bugs.webkit.org/show_bug.cgi?id=50610
38209
38210         Let the VisiblePosition affinity for end of line selection to be set by
38211         visibleEnd/visibleStart rather than using end/start and always using UPSTREAM.
38212
38213         Test: editing/selection/extend-to-line-boundary.html
38214
38215         * editing/SelectionController.cpp:
38216         (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
38217         start/end.
38218         (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.
38219
38220 2010-12-21  Jan Erik Hanssen  <jhanssen@sencha.com>
38221
38222         Reviewed by Simon Fraser.
38223
38224         matrix3d() must take the zoom factor into account
38225         https://bugs.webkit.org/show_bug.cgi?id=51408
38226
38227         Test: transforms/3d/general/matrix-with-zoom-3d.html
38228
38229         * css/CSSStyleSelector.cpp:
38230         (WebCore::CSSStyleSelector::createTransformOperations):
38231
38232 2010-12-21  Adam Barth  <abarth@webkit.org>
38233
38234         Reviewed by Darin Adler.
38235
38236         Move V8 to common implementation of window.open
38237         https://bugs.webkit.org/show_bug.cgi?id=51385
38238
38239         I also changed some function names to match WebKit style.  There's a
38240         bunch of code we can remove in the generic bindings now.  I'll do that
38241         in the next patch.
38242
38243         * bindings/generic/BindingDOMWindow.h:
38244         (WebCore::::open):
38245         * bindings/generic/BindingFrame.h:
38246         (WebCore::::navigateIfAllowed):
38247         * bindings/generic/BindingSecurity.h:
38248         (WebCore::::canAccessWindow):
38249         (WebCore::::allowPopUp):
38250         (WebCore::::shouldAllowNavigation):
38251         * bindings/generic/GenericBinding.h:
38252         (WebCore::completeURL):
38253         * bindings/js/JSDOMBinding.cpp:
38254         (WebCore::toLexicalFrame):
38255         (WebCore::toDynamicFrame):
38256         * bindings/js/specialization/JSBindingState.cpp:
38257         (WebCore::::activeFrame):
38258         (WebCore::::firstFrame):
38259         * bindings/js/specialization/JSBindingState.h:
38260         * bindings/v8/V8Utilities.cpp:
38261         (WebCore::callingOrEnteredFrame):
38262         * bindings/v8/custom/V8DOMWindowCustom.cpp:
38263         (WebCore::V8DOMWindow::locationAccessorSetter):
38264         (WebCore::V8DOMWindow::openCallback):
38265         * bindings/v8/specialization/V8BindingState.cpp:
38266         (WebCore::::activeWindow):
38267         (WebCore::::firstWindow):
38268         (WebCore::::activeFrame):
38269         (WebCore::::firstFrame):
38270         * bindings/v8/specialization/V8BindingState.h:
38271
38272 2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
38273
38274         Unreviewed build fix for r74447.
38275
38276         Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.
38277
38278         * html/HTMLImageLoader.cpp:
38279         (WebCore::HTMLImageLoader::sourceURI):
38280
38281 2010-12-21  Dan Bernstein  <mitz@apple.com>
38282
38283         Reviewed by John Sullivan.
38284
38285         <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget
38286
38287         Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html
38288
38289         The Address Book widget sets the src attribute of an img element to a string that looks like a CSS
38290         URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using
38291         the wrong function to parse URL attributes (last named deprecatedParseURL).
38292
38293         * html/HTMLImageLoader.cpp:
38294         (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("'
38295         and ends with '")', and if so, strip those away.
38296
38297 2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>
38298
38299         Reviewed by Darin Adler.
38300
38301         CharacterData needs cleanup
38302         https://bugs.webkit.org/show_bug.cgi?id=51426
38303
38304         Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.
38305
38306         * dom/CharacterData.cpp:
38307         (WebCore::CharacterData::setData): Calls setDataAndUpdate.
38308         (WebCore::CharacterData::parserAppendData): Ditto.
38309         (WebCore::CharacterData::appendData): Ditto.
38310         (WebCore::CharacterData::insertData): Ditto.
38311         (WebCore::CharacterData::deleteData): Ditto.
38312         (WebCore::CharacterData::replaceData): Ditto.
38313         (WebCore::CharacterData::setDataAndUpdate): Added.
38314         (WebCore::CharacterData::updateRenderer): Added.
38315         (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData.
38316         * dom/CharacterData.h:
38317
38318 2010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
38319
38320         Unreviewed, rolling out r74420.
38321         http://trac.webkit.org/changeset/74420
38322         https://bugs.webkit.org/show_bug.cgi?id=51436
38323
38324         causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
38325         (Requested by tonyg-cr on #webkit).
38326
38327         * dom/DocumentParser.cpp:
38328         * dom/DocumentParser.h:
38329         * html/parser/HTMLDocumentParser.cpp:
38330         * html/parser/HTMLDocumentParser.h:
38331         * html/parser/HTMLParserScheduler.cpp:
38332         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
38333         * html/parser/HTMLParserScheduler.h:
38334         (WebCore::HTMLParserScheduler::isScheduledForResume):
38335         * page/PageGroupLoadDeferrer.cpp:
38336         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
38337         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
38338
38339 2010-12-21  Kenneth Russell  <kbr@google.com>
38340
38341         Reviewed by Darin Fisher.
38342
38343         Enable extensions used in accelerated 2D canvas implementation
38344         https://bugs.webkit.org/show_bug.cgi?id=51433
38345
38346         Call Extensions3D::ensureEnabled() for all supported extensions
38347         the accelerated 2D Canvas implementation uses. Tested with a few
38348         layout tests previously failing when run in Chromium due to OpenGL
38349         INVALID_ENUM and other errors.
38350
38351         * platform/graphics/gpu/DrawingBuffer.cpp:
38352         (WebCore::DrawingBuffer::create):
38353         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38354         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
38355         (WebCore::SharedGraphicsContext3D::supportsBGRA):
38356         * platform/graphics/gpu/SharedGraphicsContext3D.h:
38357
38358 2010-12-21  Zhenyao Mo  <zmo@google.com>
38359
38360         Reviewed by Kenneth Russell.
38361
38362         WebGLRenderingContext needs to zero textures and renderbuffers
38363         https://bugs.webkit.org/show_bug.cgi?id=49355
38364
38365         Test: fast/canvas/webgl/uninitialized-test.html
38366
38367         * html/canvas/WebGLFramebuffer.cpp:
38368         (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
38369         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
38370         * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter.
38371         * html/canvas/WebGLRenderingContext.cpp:
38372         (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
38373         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
38374         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
38375         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
38376         (WebCore::WebGLRenderingContext::drawElements): Ditto.
38377         (WebCore::WebGLRenderingContext::readPixels): Ditto.
38378         (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
38379         * platform/graphics/GraphicsContext3D.cpp:
38380         (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0.
38381         * platform/graphics/GraphicsContext3D.h:
38382         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
38383         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe.
38384         * platform/graphics/chromium/DrawingBufferChromium.cpp:
38385         (WebCore::generateColorTexture): Ditto.
38386         * platform/graphics/chromium/LayerRendererChromium.cpp:
38387         (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto.
38388         * platform/graphics/chromium/TextureManager.cpp:
38389         (WebCore::TextureManager::requestTexture): Ditto.
38390         * platform/graphics/chromium/VideoLayerChromium.cpp:
38391         (WebCore::VideoLayerChromium::allocateTexture): Ditto.
38392         * platform/graphics/gpu/DrawingBuffer.cpp:
38393         (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer.
38394         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38395         (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe.
38396         * platform/graphics/gpu/Texture.cpp:
38397         (WebCore::Texture::create): Ditto.
38398         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
38399         (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.
38400
38401 2010-12-21  Chris Rogers  <crogers@google.com>
38402
38403         Reviewed by Kenneth Russell.
38404
38405         Add AudioBusChromium for decoding audio file data
38406         https://bugs.webkit.org/show_bug.cgi?id=51430
38407
38408         No new tests since audio API is not yet implemented.
38409
38410         * platform/audio/chromium: Added.
38411         * platform/audio/chromium/AudioBusChromium.cpp: Added.
38412         (WebCore::createBusFromInMemoryAudioFile):
38413
38414 2010-12-21  Chris Rogers  <crogers@google.com>
38415
38416         Reviewed by Kenneth Russell.
38417
38418         Add web audio spatialization resource files
38419         https://bugs.webkit.org/show_bug.cgi?id=50998
38420
38421         No new tests since audio API is not yet implemented.
38422
38423         * platform/audio/HRTFElevation.cpp:
38424         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
38425         * platform/audio/mac/AudioBusMac.mm:
38426         (WebCore::AudioBus::loadPlatformResource):
38427         * platform/audio/resources: Added.
38428         * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added.
38429         * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added.
38430         * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added.
38431         * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added.
38432         * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added.
38433         * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added.
38434         * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added.
38435         * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added.
38436         * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added.
38437         * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added.
38438         * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added.
38439         * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added.
38440         * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added.
38441         * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added.
38442         * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added.
38443         * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added.
38444         * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added.
38445         * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added.
38446         * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added.
38447         * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added.
38448         * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added.
38449         * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added.
38450         * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added.
38451         * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added.
38452         * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added.
38453         * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added.
38454         * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added.
38455         * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added.
38456         * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added.
38457         * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added.
38458         * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added.
38459         * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added.
38460         * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added.
38461         * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added.
38462         * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added.
38463         * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added.
38464         * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added.
38465         * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added.
38466         * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added.
38467         * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added.
38468         * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added.
38469         * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added.
38470         * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added.
38471         * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added.
38472         * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added.
38473         * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added.
38474         * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added.
38475         * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added.
38476         * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added.
38477         * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added.
38478         * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added.
38479         * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added.
38480         * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added.
38481         * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added.
38482         * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added.
38483         * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added.
38484         * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added.
38485         * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added.
38486         * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added.
38487         * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added.
38488         * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added.
38489         * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added.
38490         * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added.
38491         * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added.
38492         * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added.
38493         * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added.
38494         * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added.
38495         * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added.
38496         * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added.
38497         * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added.
38498         * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added.
38499         * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added.
38500         * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added.
38501         * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added.
38502         * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added.
38503         * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added.
38504         * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added.
38505         * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added.
38506         * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added.
38507         * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added.
38508         * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added.
38509         * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added.
38510         * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added.
38511         * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added.
38512         * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added.
38513         * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added.
38514         * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added.
38515         * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added.
38516         * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added.
38517         * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added.
38518         * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added.
38519         * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added.
38520         * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added.
38521         * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added.
38522         * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added.
38523         * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added.
38524         * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added.
38525         * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added.
38526         * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added.
38527         * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added.
38528         * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added.
38529         * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added.
38530         * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added.
38531         * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added.
38532         * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added.
38533         * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added.
38534         * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added.
38535         * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added.
38536         * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added.
38537         * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added.
38538         * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added.
38539         * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added.
38540         * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added.
38541         * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added.
38542         * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added.
38543         * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added.
38544         * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added.
38545         * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added.
38546         * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added.
38547         * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added.
38548         * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added.
38549         * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added.
38550         * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added.
38551         * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added.
38552         * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added.
38553         * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added.
38554         * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added.
38555         * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added.
38556         * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added.
38557         * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added.
38558         * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added.
38559         * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added.
38560         * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added.
38561         * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added.
38562         * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added.
38563         * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added.
38564         * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added.
38565         * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added.
38566         * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added.
38567         * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added.
38568         * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added.
38569         * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added.
38570         * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added.
38571         * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added.
38572         * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added.
38573         * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added.
38574         * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added.
38575         * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added.
38576         * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added.
38577         * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added.
38578         * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added.
38579         * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added.
38580         * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added.
38581         * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added.
38582         * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added.
38583         * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added.
38584         * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added.
38585         * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added.
38586         * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added.
38587         * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added.
38588         * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added.
38589         * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added.
38590         * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added.
38591         * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added.
38592         * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added.
38593         * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added.
38594         * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added.
38595         * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added.
38596         * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added.
38597         * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added.
38598         * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added.
38599         * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added.
38600         * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added.
38601         * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added.
38602         * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added.
38603         * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added.
38604         * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added.
38605         * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added.
38606         * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added.
38607         * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added.
38608         * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added.
38609         * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added.
38610         * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added.
38611         * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added.
38612         * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added.
38613         * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added.
38614         * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added.
38615         * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added.
38616         * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added.
38617         * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added.
38618         * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added.
38619         * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added.
38620         * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added.
38621         * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added.
38622         * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added.
38623         * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added.
38624         * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added.
38625         * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added.
38626         * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added.
38627         * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added.
38628         * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added.
38629         * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added.
38630         * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added.
38631         * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added.
38632         * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added.
38633         * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added.
38634         * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added.
38635         * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added.
38636         * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added.
38637         * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added.
38638         * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added.
38639         * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added.
38640         * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added.
38641         * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added.
38642         * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added.
38643         * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added.
38644         * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added.
38645         * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added.
38646         * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added.
38647         * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added.
38648         * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added.
38649         * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added.
38650         * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added.
38651         * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added.
38652         * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added.
38653         * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added.
38654         * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added.
38655         * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added.
38656         * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added.
38657         * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added.
38658         * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added.
38659         * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added.
38660         * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added.
38661         * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added.
38662         * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added.
38663         * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added.
38664         * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added.
38665         * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added.
38666         * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added.
38667         * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added.
38668
38669 2010-12-21  Geoffrey Garen  <ggaren@apple.com>
38670
38671         Reviewed by Gavin Barraclough & Oliver Hunt.
38672
38673         Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
38674         https://bugs.webkit.org/show_bug.cgi?id=51359
38675
38676         * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
38677
38678 2010-12-21  Ariya Hidayat  <ariya@sencha.com>
38679
38680         Reviewed by Simon Fraser.
38681
38682         https://bugs.webkit.org/show_bug.cgi?id=49774
38683         Need to scale translation values in matrix() by the zoom factor.
38684
38685         Test: fast/transforms/matrix-with-zoom.html
38686
38687         * css/CSSStyleSelector.cpp:
38688         (WebCore::CSSStyleSelector::createTransformOperations):
38689
38690 2010-12-21  Jian Li  <jianli@chromium.org>
38691
38692         Reviewed by Darin Adler.
38693
38694         Fix bug 51366: REGRESSION (r66452): Form data no longer contains
38695         'Content-Type' header for files with unrecognized extensions
38696         https://bugs.webkit.org/show_bug.cgi?id=51366
38697
38698         Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html
38699
38700         * platform/network/FormData.cpp:
38701         (WebCore::FormData::appendKeyValuePairItems):
38702
38703 2010-12-21  Darin Adler  <darin@apple.com>
38704
38705         Reviewed by Sam Weinig.
38706
38707         Mac WebKit delivers an extra didCommit when loading web archives
38708         https://bugs.webkit.org/show_bug.cgi?id=51419
38709
38710         Could not find a simple way to test this in WebKit1, but in WebKit2
38711         it leads to an immediate failure when loading a web archive. Tested
38712         that making the Mac share the same code path with other platforms
38713         works fine in WebKit1.
38714
38715         * loader/FrameLoader.cpp:
38716         (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for
38717         the Mac platform. Also removed the call to isArchiveMimeType since we
38718         get a 0 from ArchiveFactory::create in that case.
38719
38720         * loader/archive/ArchiveFactory.cpp:
38721         (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by
38722         adding a special case for null and empty strings, since hash tables can't
38723         handle null strings.
38724         (WebCore::ArchiveFactory::create): Ditto.
38725
38726 2010-12-21  Yong Li  <yoli@rim.com>
38727
38728         Reviewed by Adam Barth.
38729
38730         Suspend HTMLParserScheduler when page load is deferred to
38731         avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
38732         from an external script or by events, and is blocked by a modal dialog,
38733         WebKit can parse more HTML source and also start another JS execution.
38734         
38735         https://bugs.webkit.org/show_bug.cgi?id=48077
38736
38737         Test case: WebCore/manual-tests/bugzilla-48077.html.
38738
38739         * dom/DocumentParser.cpp:
38740         (WebCore::DocumentParser::suspendParsing):
38741         (WebCore::DocumentParser::resumeParsing):
38742         * dom/DocumentParser.h:
38743         * html/parser/HTMLDocumentParser.cpp:
38744         (WebCore::HTMLDocumentParser::suspendParsing):
38745         (WebCore::HTMLDocumentParser::resumeParsing):
38746         * html/parser/HTMLParserScheduler.cpp:
38747         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
38748         (WebCore::HTMLParserScheduler::suspend):
38749         (WebCore::HTMLParserScheduler::resume):
38750         * html/parser/HTMLParserScheduler.h:
38751         (WebCore::HTMLParserScheduler::isScheduledForResume):
38752         * page/PageGroupLoadDeferrer.cpp:
38753         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
38754         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
38755
38756 2010-12-21  Anders Carlsson  <andersca@apple.com>
38757
38758         Reviewed by John Sullivan.
38759
38760         Clicking missing plug-in text does not show a sheet
38761         https://bugs.webkit.org/show_bug.cgi?id=51403
38762
38763         * WebCore.exp.in:
38764         Export symbols needed by WebKit2.
38765
38766         * WebCore.xcodeproj/project.pbxproj:
38767         Make HTMLPlugInImageElement.h a private header.
38768
38769         * html/HTMLPlugInImageElement.h:
38770         (WebCore::HTMLPlugInImageElement::serviceType):
38771         (WebCore::HTMLPlugInImageElement::url):
38772         Make these member functions public.
38773
38774 2010-12-21  Andras Becsi  <abecsi@webkit.org>
38775
38776         Unreviewed build fix.
38777
38778         [Qt] Fix the build with USE_GSTREAMER=1
38779
38780         No new tests needed.
38781
38782         * WebCore.pro: remove nonexisting DataSourceGStreamer sources.
38783
38784 2010-12-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
38785
38786         Reviewed by Andreas Kling.
38787
38788         [Qt] QtWebKit doesn't build in debug on Windows
38789         https://bugs.webkit.org/show_bug.cgi?id=41930
38790
38791         Disable incremental linking in windows 32bit debug version as webkit is so 
38792         big it fails to link incremental. 
38793
38794         Build fix. No new test cases added. 
38795
38796         * WebCore.pro:
38797
38798 2010-12-21  Dominic Cooney  <dominicc@google.com>
38799
38800         Reviewed by Adam Barth.
38801
38802         Rename Node::isShadowNode to isShadowRoot
38803         https://bugs.webkit.org/show_bug.cgi?id=51060
38804
38805         The method gets whether the node is the root of a shadow tree;
38806         renamed to reflect intent.
38807
38808         A simple rename--no new tests needed.
38809
38810         * css/CSSStyleSelector.cpp:
38811         (WebCore::CSSStyleSelector::initForStyleResolve):
38812         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
38813         * dom/Node.cpp:
38814         (WebCore::Node::shadowTreeRootNode):
38815         (WebCore::Node::isInShadowTree):
38816         (WebCore::eventTargetRespectingSVGTargetRules):
38817         (WebCore::Node::getEventAncestors):
38818         * dom/Node.h:
38819         (WebCore::Node::isShadowRoot):
38820         * dom/Range.cpp:
38821         (WebCore::Range::checkNodeBA):
38822         * page/DragController.cpp:
38823         (WebCore::asFileInput):
38824         * page/EventHandler.cpp:
38825         (WebCore::EventHandler::handleMousePressEvent):
38826         (WebCore::EventHandler::dispatchMouseEvent):
38827         * rendering/RenderBlock.cpp:
38828         (WebCore::RenderBlock::hasLineIfEmpty):
38829         * rendering/TextControlInnerElements.cpp:
38830         (WebCore::TextControlInnerElement::attachInnerElement):
38831         * svg/SVGStyledElement.cpp:
38832         (WebCore::SVGStyledElement::title):
38833         * svg/SVGUseElement.cpp:
38834         (WebCore::ShadowTreeUpdateBlocker::while):
38835         * svg/animation/SVGSMILElement.cpp:
38836         (WebCore::SVGSMILElement::insertedIntoDocument):
38837
38838 2010-12-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
38839
38840         Reviewed by Andreas Kling.
38841
38842         Qt port of geolocation, geoposition objects timestamp was in seconds
38843         instead of miliseconds as per HTML5 Geolocation standards.
38844         Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface 
38845         http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp 
38846
38847         Implemented by Asheesh Srivastava.
38848
38849         [QT] QtWebkit geolocation's position.timestamp is not in miliseconds
38850         https://bugs.webkit.org/show_bug.cgi?id=51100
38851
38852         Porting code not covered in layout testing. No new tests added.
38853
38854         * platform/qt/GeolocationServiceQt.cpp:
38855         (WebCore::GeolocationServiceQt::positionUpdated):
38856
38857 2010-12-20  Yuzo Fujishima  <yuzo@google.com>
38858
38859         Reviewed by Eric Seidel.
38860
38861         Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded
38862         https://bugs.webkit.org/show_bug.cgi?id=26183
38863
38864         Test: fast/css/font-face-font-family-descriptor.html
38865
38866         * css/CSSParser.cpp:
38867         (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule
38868         invalid if its font-family descriptor has multiple (or zero) families.
38869
38870 2010-12-20  Pavel Feldman  <pfeldman@chromium.org>
38871
38872         Reviewed by Yury Semikhatsky.
38873
38874         Web Inspector: fall back to object formatting in case dom is not yet loaded.
38875         https://bugs.webkit.org/show_bug.cgi?id=44273
38876
38877         Sometimes DOM is loaded after the inline message is being formatted, so we get
38878         no nodeId for it. Let us fall back to object formatting in such cases.
38879
38880         * inspector/front-end/ConsoleView.js:
38881         (WebInspector.ConsoleView.prototype._formatnode):
38882         (WebInspector.ConsoleMessage):
38883
38884 2010-12-20  Pavel Feldman  <pfeldman@chromium.org>
38885
38886         Reviewed by Joseph Pecoraro.
38887
38888         Web Inspector: cycle through tag name / attributes / new attribute on Tab.
38889
38890         https://bugs.webkit.org/show_bug.cgi?id=38429
38891
38892         * inspector/front-end/ElementsTreeOutline.js:
38893         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
38894
38895 2010-12-20  Yuta Kitamura  <yutak@chromium.org>
38896
38897         Reviewed by Alexey Proskuryakov.
38898
38899         WebSocket errors should be logged to console
38900         https://bugs.webkit.org/show_bug.cgi?id=40945
38901
38902         Test: http/tests/inspector/console-websocket-error.html
38903
38904         * platform/network/SocketStreamErrorBase.cpp:
38905         (WebCore::SocketStreamErrorBase::compare):
38906         * platform/network/SocketStreamErrorBase.h:
38907         (WebCore::SocketStreamErrorBase::failingURL):
38908         (WebCore::SocketStreamErrorBase::localizedDescription):
38909         (WebCore::SocketStreamErrorBase::SocketStreamErrorBase):
38910         * platform/network/cf/SocketStreamError.h:
38911         (WebCore::SocketStreamError::SocketStreamError):
38912         * platform/network/cf/SocketStreamHandle.h:
38913         * platform/network/cf/SocketStreamHandleCFNet.cpp:
38914         (WebCore::SocketStreamHandle::readStreamCallback):
38915         (WebCore::SocketStreamHandle::writeStreamCallback):
38916         (WebCore::SocketStreamHandle::reportErrorToClient):
38917         * websockets/WebSocketChannel.cpp:
38918         (WebCore::WebSocketChannel::didFail):
38919
38920 2010-12-17  MORITA Hajime  <morrita@google.com>
38921
38922         Reviewed by James Robinson.
38923
38924         https://bugs.webkit.org/show_bug.cgi?id=51240
38925         [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia.
38926
38927         Even after a shader was set, old color value had been remaining and passed to Skia.
38928         Then Skia refered an alpha component of that color to make pixels transparent.
38929         This change invalidates existing color value when a shader is given, 
38930         which means the renderer will paint shapes with gradients or patterns.
38931         
38932         Test: fast/gradients/gradient-after-transparent-border.html
38933
38934         * platform/graphics/skia/PlatformContextSkia.cpp:
38935         (WebCore::PlatformContextSkia::setStrokeShader):
38936         (WebCore::PlatformContextSkia::setFillShader):
38937
38938 2010-12-20  Xiaomei Ji  <xji@chromium.org>
38939
38940         Reviewed by Dan Bernstein.
38941
38942         Fix move left/right by character hang.
38943         https://bugs.webkit.org/show_bug.cgi?id=51344
38944
38945         Test: editing/selection/51344.html
38946
38947         * editing/VisiblePosition.cpp:
38948         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
38949         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
38950
38951 2010-12-20  Steve Lacey  <sjl@chromium.org>
38952
38953         Reviewed by David Levin.
38954
38955         Add missing default styles in mediaControlsChromium.css to prevent
38956         user overrides.
38957         https://bugs.webkit.org/show_bug.cgi?id=51360
38958
38959         No new tests needed as functionality is covered by existing layout
38960         tests.
38961
38962
38963         * css/mediaControlsChromium.css:
38964         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
38965         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
38966
38967 2010-12-20  Jian Li  <jianli@chromium.org>
38968
38969         Reviewed by David Levin.
38970
38971         Add lastModifiedDate attribute to File interface per File API spec
38972         https://bugs.webkit.org/show_bug.cgi?id=49895
38973
38974         lastModifiedDate is not supported for GObject bindings because Date is
38975         not support in code generation.
38976
38977         Test: http/tests/local/fileapi/file-last-modified.html
38978
38979         * fileapi/File.cpp:
38980         (WebCore::File::lastModifiedDate):
38981         * fileapi/File.h:
38982         * fileapi/File.idl:
38983
38984 2010-12-20  Mark Rowe  <mrowe@apple.com>
38985
38986         Reviewed by Dan Bernstein.
38987
38988         <rdar://problem/8757601> Don't install header files in to the Resources directory.
38989
38990         * WebCore.xcodeproj/project.pbxproj:
38991
38992 2010-12-20  Andrei Popescu  <andreip@google.com>
38993
38994         Reviewed by Jeremy Orlow.
38995
38996         [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
38997         https://bugs.webkit.org/show_bug.cgi?id=51338
38998
38999         * bindings/v8/SerializedScriptValue.cpp:
39000         (WebCore::ZigZag::Reader::readUint32):
39001
39002 2010-12-20  Beth Dakin  <bdakin@apple.com>
39003
39004         Reviewed by Ada Chan.
39005
39006         Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in 
39007         RenderMathMLSubSup::layout() because of null base
39008         -and corresponding-
39009         <rdar://problem/8712200>
39010
39011         Only use base inside if(base) block.
39012         * mathml/RenderMathMLSubSup.cpp:
39013         (WebCore::RenderMathMLSubSup::layout):
39014
39015 2010-12-20  Enrica Casucci  <enrica@apple.com>
39016
39017         Reviewed by Darin Adler.
39018
39019         Crash at WebCore::SplitElementCommand::SplitElementCommand
39020         https://bugs.webkit.org/show_bug.cgi?id=51278
39021         <rdar://problem/7347139> 
39022
39023         Executing outdent command on an inline blockquote that is
39024         not the first element in a block causes a crash.
39025         The fix consists in chaging the was the start of block is
39026         calculated in case of the inline blockquote.
39027         
39028         Test: editing/execCommand/outdent-inline-blockquote.html
39029               editing/execCommand/outdent-inline-list.html
39030
39031         * editing/IndentOutdentCommand.cpp:
39032         (WebCore::IndentOutdentCommand::outdentParagraph):
39033
39034 2010-12-20  Oliver Hunt  <oliver@apple.com>
39035
39036         Reviewed by Darin Adler.
39037
39038         Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
39039         https://bugs.webkit.org/show_bug.cgi?id=51353
39040
39041         The Internal Structured Clone algorithm has been changed to allow (and
39042         correctly clone) cyclic graphs.  This patch updates our implementation
39043         to provide that functionality.
39044
39045         I've bumped the serialization version number, and added ObjectReferenceTag
39046         to represent references to objects that have already been seen.
39047
39048         * bindings/js/SerializedScriptValue.cpp:
39049         (WebCore::CloneSerializer::startObjectInternal):
39050           Now that we have something a bit more complex than cycle checking
39051           I've replaced the duplicate code in startObject and startArray with
39052           a shared function that implements that logic to plant an object
39053           reference
39054         (WebCore::CloneSerializer::startObject):
39055         (WebCore::CloneSerializer::startArray):
39056           Lift out duplicate code
39057         (WebCore::CloneSerializer::endObject):
39058           Can't remove objects from the gcbuffer now as they need to remain live
39059           so we can identify graphs
39060         (WebCore::CloneSerializer::writeStringIndex):
39061         (WebCore::CloneSerializer::writeObjectIndex):
39062         (WebCore::CloneSerializer::writeConstantPoolIndex):
39063         (WebCore::CloneSerializer::write):
39064         (WebCore::CloneSerializer::serialize):
39065         (WebCore::CloneDeserializer::readStringIndex):
39066         (WebCore::CloneDeserializer::readConstantPoolIndex):
39067         (WebCore::CloneDeserializer::readTerminal):
39068         (WebCore::CloneDeserializer::deserialize):
39069
39070 2010-12-20  Xan Lopez  <xlopez@igalia.com>
39071
39072         Reviewed by Gustavo Noronha.
39073
39074         * GNUmakefile.am: add missing files.
39075
39076 2010-12-20  Abhishek Arya  <inferno@chromium.org>
39077
39078         Reviewed by James Robinson.
39079
39080         Pass the correct beforeChild value when adding a child to an anonymous table part.
39081         https://bugs.webkit.org/show_bug.cgi?id=50932
39082
39083         When a "before" content child was added to an anonymous table part, it was added
39084         after the last child. This patch fixes the behavior by adding it properly before
39085         the first child.
39086
39087         Test: fast/css-generated-content/table-before-child-add.html
39088
39089         * rendering/RenderTableRow.cpp:
39090         (WebCore::RenderTableRow::addChild):
39091
39092 2010-12-18  Gavin Barraclough  <barraclough@apple.com>
39093
39094         Reviewed by Oliver Hunt.
39095
39096         Bug 26276 - Need a mechanism to determine stack extent
39097
39098         Add forwarding header for StackBounds.h.
39099
39100         * ForwardingHeaders/wtf/StackBounds.h: Added.
39101
39102 2010-12-20  James Robinson  <jamesr@chromium.org>
39103
39104         Unreviewed, rolling out r74278.
39105         http://trac.webkit.org/changeset/74278
39106         https://bugs.webkit.org/show_bug.cgi?id=50833
39107
39108         [chromium] Causes many layout tests to crash
39109
39110         * platform/graphics/chromium/LayerRendererChromium.cpp:
39111         (WebCore::LayerRendererChromium::LayerRendererChromium):
39112         (WebCore::LayerRendererChromium::prepareToDrawLayers):
39113         (WebCore::LayerRendererChromium::drawLayers):
39114         (WebCore::LayerRendererChromium::useRenderSurface):
39115         (WebCore::LayerRendererChromium::setScissorToRect):
39116         * platform/graphics/chromium/LayerRendererChromium.h:
39117
39118 2010-12-20  Geoffrey Garen  <ggaren@apple.com>
39119
39120         Reviewed by Sam Weinig.
39121
39122         Factored common page set management into a new PageBlock base class
39123         https://bugs.webkit.org/show_bug.cgi?id=51285
39124
39125         * ForwardingHeaders/wtf/PageBlock.h: Added.
39126
39127 2010-12-20  Steve Block  <steveblock@google.com>
39128
39129         Reviewed by Jeremy Orlow.
39130
39131         GeolocationPositionCache should do database access on background thread
39132         https://bugs.webkit.org/show_bug.cgi?id=50825
39133
39134         Covered by existing Geolocation tests.
39135
39136         * page/Coordinates.h:
39137         (WebCore::Coordinates::threadSafeCopy):
39138         * page/GeolocationPositionCache.cpp:
39139         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
39140         (WebCore::GeolocationPositionCache::addUser):
39141         (WebCore::GeolocationPositionCache::removeUser):
39142         (WebCore::GeolocationPositionCache::setDatabasePath):
39143         (WebCore::GeolocationPositionCache::setCachedPosition):
39144         (WebCore::GeolocationPositionCache::cachedPosition):
39145         (WebCore::GeolocationPositionCache::startBackgroundThread):
39146         (WebCore::GeolocationPositionCache::threadEntryPoint):
39147         (WebCore::GeolocationPositionCache::threadEntryPointImpl):
39148         (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
39149         (WebCore::GeolocationPositionCache::readFromDatabase):
39150         (WebCore::GeolocationPositionCache::readFromDatabaseImpl):
39151         (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
39152         (WebCore::GeolocationPositionCache::writeToDatabase):
39153         (WebCore::GeolocationPositionCache::writeToDatabaseImpl):
39154         * page/GeolocationPositionCache.h:
39155         * page/Geoposition.h:
39156         (WebCore::Geoposition::threadSafeCopy):
39157         (WebCore::Geoposition::Geoposition):
39158
39159 2010-12-20  Andras Becsi  <abecsi@webkit.org>
39160
39161         Unreviewed build fix.
39162
39163         [Qt][V8] Add  missing sources to the pro file and remove duplications to fix linking.
39164
39165         No new tests needed.
39166
39167         * WebCore.pro:
39168
39169 2010-12-20  Alexander Pavlov  <apavlov@chromium.org>
39170
39171         Reviewed by Yury Semikhatsky.
39172
39173         Web Inspector: Make CSSCompletions a real class rather than singleton
39174         https://bugs.webkit.org/show_bug.cgi?id=51332
39175
39176         Drive-by: make use of keywords from re2js in the CSS tokenizer
39177         (apparently, various authors have presumed that re2js is processed at build time).
39178
39179         No new tests, as this is a refactoring.
39180
39181         * inspector/front-end/CSSCompletions.js:
39182         (WebInspector.CSSCompletions):
39183         (WebInspector.CSSCompletions.prototype.startsWith):
39184         (WebInspector.CSSCompletions.prototype.firstStartsWith):
39185         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
39186         (WebInspector.CSSCompletions.prototype.keySet):
39187         (WebInspector.CSSCompletions.prototype.next):
39188         (WebInspector.CSSCompletions.prototype.previous):
39189         (WebInspector.CSSCompletions.prototype._closest):
39190         * inspector/front-end/SourceCSSTokenizer.js:
39191         (WebInspector.SourceCSSTokenizer):
39192         * inspector/front-end/SourceCSSTokenizer.re2js:
39193         * inspector/front-end/StylesSidebarPane.js:
39194         (WebInspector.StylePropertyTreeElement.prototype):
39195         * inspector/front-end/inspector.js:
39196         (WebInspector.doLoadedDone.propertyNamesCallback):
39197         (WebInspector.doLoadedDone):
39198
39199 2010-12-10  Pavel Podivilov  <podivilov@chromium.org>
39200
39201         Reviewed by Yury Semikhatsky.
39202
39203         Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
39204         https://bugs.webkit.org/show_bug.cgi?id=50813
39205
39206         * inspector/front-end/SourceFrame.js:
39207         (WebInspector.SourceFrame.prototype._addBreakpoint):
39208         (WebInspector.SourceFrame.prototype._breakpointRemoved):
39209         (WebInspector.SourceFrame.prototype._breakpointChanged):
39210         (WebInspector.SourceFrame.prototype._setBreakpointDecoration):
39211         (WebInspector.SourceFrame.prototype._removeBreakpointDecoration):
39212         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
39213         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
39214         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
39215         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
39216         (WebInspector.SourceFrame.prototype._contextMenu):
39217         (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing):
39218         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
39219         (WebInspector.SourceFrame.prototype._continueToLine):
39220         (WebInspector.SourceFrame.prototype._setBreakpoint):
39221
39222 2010-12-20  Andrei Popescu  <andreip@google.com>
39223
39224         Reviewed by Jeremy Orlow.
39225
39226         IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
39227         https://bugs.webkit.org/show_bug.cgi?id=51112
39228
39229         Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.
39230
39231         Test: storage/indexeddb/transaction-crash-on-abort.html
39232
39233         * storage/IDBTransactionBackendImpl.cpp:
39234         (WebCore::IDBTransactionBackendImpl::abort):
39235         (WebCore::IDBTransactionBackendImpl::commit):
39236
39237 2010-12-20  Andrei Popescu  <andreip@google.com>
39238
39239         Reviewed by Jeremy Orlow.
39240
39241         IDBCursor::delete is not implemented.
39242         https://bugs.webkit.org/show_bug.cgi?id=51110
39243
39244         Implement IDBCursor::delete.
39245         See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete
39246
39247         Tests: storage/indexeddb/cursor-delete.html
39248                storage/indexeddb/cursor-index-delete.html
39249
39250         * storage/IDBCursor.cpp:
39251         (WebCore::IDBCursor::deleteFunction):
39252         * storage/IDBCursor.h:
39253         * storage/IDBCursor.idl:
39254         * storage/IDBCursorBackendImpl.cpp:
39255         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
39256         (WebCore::IDBCursorBackendImpl::deleteFunction):
39257         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
39258         * storage/IDBCursorBackendImpl.h:
39259         (WebCore::IDBCursorBackendImpl::create):
39260         * storage/IDBCursorBackendInterface.h:
39261         * storage/IDBIndexBackendImpl.cpp:
39262         (WebCore::IDBIndexBackendImpl::openCursorInternal):
39263         * storage/IDBKey.cpp:
39264         (WebCore::IDBKey::fromQuery):
39265         * storage/IDBObjectStoreBackendImpl.cpp:
39266         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
39267         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
39268
39269 2010-12-20  Yury Semikhatsky  <yurys@chromium.org>
39270
39271         Reviewed by Pavel Feldman.
39272
39273         Web Inspector: After a multiline command execution Console does not show the command prompt
39274         https://bugs.webkit.org/show_bug.cgi?id=51257
39275
39276         * inspector/front-end/TextPrompt.js:
39277         (WebInspector.TextPrompt.prototype._moveBackInHistory):
39278         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
39279
39280 2010-12-19  Helder Correia  <helder@sencha.com>
39281
39282         Reviewed by Ariya Hidayat.
39283
39284         [Qt] Blur distance should not be affected by transformations
39285         https://bugs.webkit.org/show_bug.cgi?id=51161
39286
39287         From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur:
39288         "The shadowBlur attribute specifies the level of the blurring effect.
39289         (The units do not map to coordinate space units, and are not affected
39290         by the current transformation matrix.)"
39291
39292         Test: fast/canvas/canvas-scale-shadowBlur.html
39293
39294         * platform/graphics/ContextShadow.cpp:
39295         (WebCore::ContextShadow::adjustBlurDistance):
39296         * platform/graphics/ContextShadow.h:
39297         * platform/graphics/cairo/ContextShadowCairo.cpp:
39298         (WebCore::ContextShadow::beginShadowLayer):
39299         * platform/graphics/qt/ContextShadowQt.cpp:
39300         (WebCore::ContextShadow::beginShadowLayer):
39301
39302 2010-12-19  Dan Bernstein  <mitz@apple.com>
39303
39304         Reviewed by Cameron Zwarich.
39305
39306         Text emphasis marks are not repainted correctly in flipped writing modes
39307         https://bugs.webkit.org/show_bug.cgi?id=51307
39308
39309         Tests: fast/repaint/text-emphasis-h.html
39310                fast/repaint/text-emphasis-v.html
39311
39312         * rendering/InlineFlowBox.cpp:
39313         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
39314
39315 2010-12-19  Rob Buis  <rwlbuis@gmail.com>
39316
39317         Reviewed by Andreas Kling.
39318
39319         Remove m_drawsContents from RenderSVGContainer.h
39320         https://bugs.webkit.org/show_bug.cgi?id=51305
39321
39322         Remove m_drawsContents, its getter and setter and the call
39323         sites, since it has no effect anymore.
39324
39325         * WebCore.order:
39326         * rendering/RenderSVGContainer.cpp:
39327         (WebCore::RenderSVGContainer::RenderSVGContainer):
39328         (WebCore::RenderSVGContainer::paint):
39329         * rendering/RenderSVGContainer.h:
39330         * rendering/RenderSVGResourceContainer.h:
39331         * rendering/SVGImageBufferTools.cpp:
39332         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
39333
39334 2010-12-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
39335
39336         Reviewed by Kenneth Rohde Christiansen.
39337
39338         WebKit does not build with worker but without the javascript debugger
39339         https://bugs.webkit.org/show_bug.cgi?id=51293
39340
39341         Add missing guard for calls depending on the debugger.
39342
39343         * inspector/InspectorController.cpp:
39344         (WebCore::InspectorController::populateScriptObjects):
39345         (WebCore::InspectorController::postWorkerNotificationToFrontend):
39346
39347 2010-12-18  Tom Sepez  <tsepez@chromium.org>
39348
39349         Reviewed by David Levin.
39350
39351         https://bugs.webkit.org/show_bug.cgi?id=51055
39352         Fix a null de-reference when an XML file contains a malformed entity
39353         of the form "&:;".
39354
39355         Test: fast/parser/xml-colon-entity.html
39356
39357         * html/parser/HTMLEntitySearch.cpp:
39358         (WebCore::HTMLEntitySearch::advance):
39359
39360 2010-12-18  Noel Gordon  <noel.gordon@gmail.com>
39361
39362         Reviewed by David Levin.
39363
39364         [chromium] Simplify the PNG encoder.
39365         https://bugs.webkit.org/show_bug.cgi?id=50905
39366
39367         Remove PNGEncoderState class - it was a proxy for the encoder output, and
39368         that is a Vector<>, so just write into it directly using append() to make
39369         use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA()
39370         and encode() routines, replace the OwnArrayPtr<> with a Vector<>.
39371         
39372         canvas.toDataURL("image/png") is covered by existing tests.
39373
39374         * platform/image-encoders/skia/PNGImageEncoder.cpp:
39375         (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it.
39376         (WebCore::preMultipliedBGRAtoRGBA): simplified.
39377         (WebCore::PNGImageEncoder::encode): ditto.
39378
39379 2010-12-18  Dan Bernstein  <mitz@apple.com>
39380
39381         Reviewed by Cameron Zwarich.
39382
39383         Text emphasis marks are not always included in the selection highlight
39384         https://bugs.webkit.org/show_bug.cgi?id=51299
39385
39386         Affects pixel results of fast/text/emphasis.html
39387
39388         Account for annotations in selectionTop() and selectionBottom().
39389
39390         * rendering/RootInlineBox.cpp:
39391         (WebCore::RootInlineBox::selectionTop):
39392         (WebCore::RootInlineBox::selectionBottom):
39393
39394 2010-12-18  Dan Bernstein  <mitz@apple.com>
39395
39396         Reviewed by Cameron Zwarich.
39397
39398         In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
39399         https://bugs.webkit.org/show_bug.cgi?id=51298
39400
39401         Test: fast/text/emphasis-overlap.html
39402
39403         * rendering/RootInlineBox.cpp:
39404         (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.
39405
39406 2010-12-18  Helder Correia  <helder@sencha.com> and Martin Robinson  <mrobinson@igalia.com>
39407
39408         Reviewed by Ariya Hidayat.
39409
39410         [Qt] Canvas shadow offset should not be affected by any transformation
39411         https://bugs.webkit.org/show_bug.cgi?id=50422
39412
39413         On a canvas context, shadows are currently affected by all
39414         transformations except scaling. According to the spec:
39415         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
39416
39417         "The shadowOffsetX and shadowOffsetY attributes specify the distance
39418         that the shadow will be offset in the positive horizontal and positive
39419         vertical distance respectively. Their values are in coordinate space
39420         units. They are not affected by the current transformation matrix."
39421
39422         NOTE: this applies only to canvas, not to box shadows.
39423
39424         Test: fast/canvas/canvas-transforms-fillRect-shadow.html
39425
39426         * platform/graphics/ContextShadow.cpp:
39427         (WebCore::ContextShadow::ContextShadow):
39428         (WebCore::ContextShadow::calculateLayerBoundingRect):
39429         * platform/graphics/ContextShadow.h:
39430         (WebCore::ContextShadow::setShadowsIgnoreTransforms):
39431         (WebCore::ContextShadow::shadowsIgnoreTransforms):
39432         (WebCore::ContextShadow::offset):
39433         * platform/graphics/qt/ContextShadowQt.cpp:
39434         (WebCore::ContextShadow::beginShadowLayer):
39435         (WebCore::ContextShadow::endShadowLayer):
39436         * platform/graphics/qt/GraphicsContextQt.cpp:
39437         (WebCore::mustUseContextShadow):
39438         (WebCore::GraphicsContext::fillPath):
39439         (WebCore::GraphicsContext::strokePath):
39440         (WebCore::GraphicsContext::fillRect):
39441         (WebCore::GraphicsContext::fillRoundedRect):
39442         (WebCore::GraphicsContext::setPlatformShadow):
39443
39444 2010-12-18  Ariya Hidayat  <ariya@sencha.com>
39445
39446         Reviewed by Andreas Kling.
39447
39448         [Qt] TransparencyLayer should inherit its container render hints
39449         https://bugs.webkit.org/show_bug.cgi?id=51283
39450
39451         * platform/graphics/qt/TransparencyLayer.h:
39452         (WebCore::TransparencyLayer::TransparencyLayer):
39453
39454 2010-12-18  Tony Gentilcore  <tonyg@chromium.org>
39455
39456         Reviewed by Laszlo Gombos.
39457
39458         [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
39459         https://bugs.webkit.org/show_bug.cgi?id=50943
39460
39461         See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start
39462
39463         * dom/Document.cpp:
39464         (WebCore::Document::finishedParsing):
39465         * dom/DocumentTiming.h:
39466         (WebCore::DocumentTiming::DocumentTiming):
39467         * page/PerformanceTiming.cpp:
39468         (WebCore::PerformanceTiming::domContentLoadedEventStart):
39469         (WebCore::PerformanceTiming::domContentLoadedEventEnd):
39470         * page/PerformanceTiming.h:
39471         * page/PerformanceTiming.idl:
39472
39473 2010-12-17  Justin Schuh  <jschuh@chromium.org>
39474
39475         Reviewed by Andreas Kling.
39476
39477         Style fix for r73927
39478         https://bugs.webkit.org/show_bug.cgi?id=51194
39479
39480         No functionality change. No new tests needed.
39481
39482         * html/HTMLCanvasElement.h:
39483
39484 2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
39485
39486         Reviewed by Martin Robinson.
39487
39488         [GTK] Buttons rendering was broken in r74129
39489         https://bugs.webkit.org/show_bug.cgi?id=51173
39490
39491         * platform/gtk/RenderThemeGtk.cpp:
39492         (WebCore::RenderThemeGtk::paintRenderObject):
39493
39494 2010-12-17  Zoltan Herczeg  <zherczeg@webkit.org>
39495
39496         Reviewed by Dirk Schulze.
39497
39498         Improve 'arithmetic' operator on feComposite
39499         https://bugs.webkit.org/show_bug.cgi?id=51105
39500
39501         Fixing style errors and bug description for r74177.
39502
39503         * platform/graphics/filters/FEComposite.cpp:
39504         (WebCore::arithmetic):
39505
39506 2010-12-17  Dan Bernstein  <mitz@apple.com>
39507
39508         Rubber-stamped by Mark Rowe.
39509
39510         Updated for the renaming of WebKitTools to Tools
39511
39512         * WebCore.vcproj/build-generated-files.sh:
39513         * WebCore.vcproj/migrate-scripts.sh:
39514
39515 2010-12-17  Carol Szabo  <carol.szabo@nokia.com>
39516
39517         Reviewed by Darin Adler.
39518
39519         A corrupted counter tree is created when renderers are added to the
39520         tree bypassing RenderObject::addChild
39521         https://bugs.webkit.org/show_bug.cgi?id=51270
39522
39523         This patch replaces the hack introduced for fixing bug 43812
39524         with code that addresses the underlying problem for that bug.
39525         No new layout tests provided as there is no identified scenario when
39526         visible behavior would be different, the internal datastructures
39527         are maintained properly through this fix so the previous hack
39528         introduced for bug 43812 is now removed. The fact that the 
39529         layout test introduced for 43812 continues to pass is proof that the
39530         code works.
39531
39532         * rendering/RenderCounter.cpp:
39533         (WebCore::findPlaceForCounter):
39534           Removed hack.
39535         * rendering/RenderObject.cpp:
39536         (WebCore::RenderObject::addChild):
39537           Moved call to counter nodes updater to lower level
39538           functions to avoid bypass.
39539         * rendering/RenderObjectChildList.cpp:
39540         (WebCore::RenderObjectChildList::appendChildNode):
39541         (WebCore::RenderObjectChildList::insertChildNode):
39542           Changed to update the values of the counters that
39543           may be inserted in the tree.
39544
39545 2010-12-17  Shimeng (Simon) Wang  <swang@google.com>
39546
39547         Reviewed by Steve Block.
39548
39549         Fix V8 JNI binding.
39550         https://bugs.webkit.org/show_bug.cgi?id=51156
39551
39552         There're LayoutTests in:
39553         http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber
39554         to exercise these code paths.
39555         Though Chromium don't run them.
39556         Tested on Android fast/events/touch tests.
39557
39558         * bridge/jni/v8/JNIUtilityPrivate.cpp:
39559         (JSC::Bindings::convertNPVariantToJValue):
39560
39561 2010-12-17  Simon Fraser  <simon.fraser@apple.com>
39562
39563         Reviewed by Chris Marrin.
39564
39565         Interrupted accelerated animation can break later transitions
39566         <rdar://problem/8767714>
39567         https://bugs.webkit.org/show_bug.cgi?id=51264
39568         
39569         If we're still waiting for the 'animationDidStart' callback when renderers
39570         get destroyed, then the m_waitingForStartTimeResponse flag could be left
39571         set to 'true', which causes later transitions to never start.
39572         
39573         Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
39574         becomes empty.
39575
39576         Test: transitions/interrupted-accelerated-transition.html
39577
39578         * page/animation/AnimationController.cpp:
39579         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
39580
39581 2010-12-17  Simon Fraser  <simon.fraser@apple.com>
39582
39583         Reviewed by Chris Marrin.
39584
39585         Interrupted accelerated animation can break later transitions
39586         https://bugs.webkit.org/show_bug.cgi?id=51264
39587
39588         Step 1: code cleanup.
39589         Rename "responseWait" variables to "startTimeResponseWait", to make it clear
39590         the kind of response that is being waited for.
39591         
39592         Make a couple of methods private.
39593         
39594         No behavioral changes, so no tests.
39595
39596         * page/animation/AnimationController.cpp:
39597         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
39598         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
39599         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
39600         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
39601         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
39602         (WebCore::AnimationControllerPrivate::startTimeResponse):
39603         * page/animation/AnimationControllerPrivate.h:
39604
39605 2010-12-17  Dan Bernstein  <mitz@apple.com>
39606
39607         Reviewed by Dave Hyatt.
39608
39609         Layout and rendering of CSS text-emphasis
39610         Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
39611         https://bugs.webkit.org/show_bug.cgi?id=48539
39612
39613         Tests: fast/text/emphasis-vertical.html
39614                fast/text/emphasis.html
39615
39616         Emphasis marks behave like they are stuck just above the ascender (or just below the
39617         descender). They occupy space in the leading and in padding, and only grow the line space
39618         if they cannot fit.
39619
39620         * rendering/InlineFlowBox.cpp:
39621         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to
39622         hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis
39623         marks.
39624         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks.
39625         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment()
39626         to this and added adjustment for text emphasis marks.
39627         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function,
39628         but for annotations under the glyphs. These can only be text emphasis marks.
39629         * rendering/InlineFlowBox.h:
39630         * rendering/InlineTextBox.cpp:
39631         (WebCore::paintTextWithShadows): Paint emphasis marks.
39632         (WebCore::InlineTextBox::paint): Ditto.
39633         * rendering/RenderBlockLineLayout.cpp:
39634         (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for
39635         ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non-
39636         flipped writing mode.
39637         * rendering/RenderObject.cpp:
39638         (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor().
39639         (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor().
39640         (WebCore::RenderObject::selectionEmphasisMarkColor): Added.
39641         * rendering/RenderObject.h:
39642         * rendering/RootInlineBox.cpp:
39643         (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members.
39644         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members.
39645         (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this
39646         and extended to deal with annotations over and under the line and the previous line. If both lines have
39647         annotations into the space between the lines, maintain separation so that the annotations do not overlap.
39648         * rendering/RootInlineBox.h:
39649         (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor.
39650         (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto.
39651
39652 2010-12-17  W. James MacLean  <wjmaclean@chromium.org>
39653
39654         Reviewed by James Robinson.
39655
39656         [chromium] Add support to compositor to composite to offscreen texture.
39657         https://bugs.webkit.org/show_bug.cgi?id=50833
39658
39659         A patch to extend compositor to be able to composite into an offscreen texture instead
39660         of just directly to the display buffer. Builds on RenderSurfaceChromium support.
39661
39662         External behaviour not changed, so no tests.
39663
39664         * platform/graphics/chromium/LayerRendererChromium.cpp:
39665         (WebCore::LayerRendererChromium::LayerRendererChromium):
39666         (WebCore::LayerRendererChromium::prepareToDrawLayers):
39667         (WebCore::LayerRendererChromium::drawLayers):
39668         (WebCore::LayerRendererChromium::setCompositeOffscreen):
39669         (WebCore::LayerRendererChromium::useRenderSurface):
39670         (WebCore::LayerRendererChromium::setScissorToRect):
39671         * platform/graphics/chromium/LayerRendererChromium.h:
39672         (WebCore::LayerRendererChromium::isCompositingOffscreen):
39673         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
39674
39675 2010-12-17  Ariya Hidayat  <ariya@sencha.com>
39676
39677         Reviewed by Andreas Kling.
39678
39679         [Qt] Default image interpolation should reset the render hint
39680         https://bugs.webkit.org/show_bug.cgi?id=51233
39681
39682         Save initial SmoothPixmapTransform render hint so that it can be used
39683         with default image interpolation quality to reset back the render hints.
39684
39685         * platform/graphics/qt/GraphicsContextQt.cpp:
39686         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
39687         (WebCore::GraphicsContext::setImageInterpolationQuality):
39688
39689 2010-12-17  Hans Wennborg  <hans@chromium.org>
39690
39691         Reviewed by Jeremy Orlow.
39692
39693         IndexedDB: Support Date objects as keys.
39694         https://bugs.webkit.org/show_bug.cgi?id=51193
39695
39696         * bindings/v8/IDBBindingUtilities.cpp:
39697         (WebCore::createIDBKeyFromValue):
39698         Use the new IDBKey factory functions, and support Date objects.
39699         * bindings/v8/custom/V8IDBKeyCustom.cpp:
39700         (WebCore::toV8):
39701         Create Date objects from DateType keys.
39702         * storage/IDBKey.cpp:
39703         (WebCore::IDBKey::fromQuery):
39704         (WebCore::IDBKey::isEqual):
39705         (WebCore::IDBKey::whereSyntax):
39706         (WebCore::IDBKey::lowerCursorWhereFragment):
39707         (WebCore::IDBKey::upperCursorWhereFragment):
39708         (WebCore::IDBKey::bind):
39709         (WebCore::IDBKey::bindWithNulls):
39710         Update all SQL related functions to handle Date keys.
39711         * storage/IDBKey.h:
39712         (WebCore::IDBKey::createNull):
39713         (WebCore::IDBKey::createNumber):
39714         (WebCore::IDBKey::createString):
39715         (WebCore::IDBKey::createDate):
39716         Rename the create factories; since both number and date is just a
39717         double, function overloading can't be used to discriminate between
39718         the factories.
39719         (WebCore::IDBKey::date):
39720         Add getter for the date value.
39721
39722 2010-12-17  Pavel Podivilov  <podivilov@chromium.org>
39723
39724         Reviewed by Pavel Feldman.
39725
39726         Web Inspector: add scripts parsed after resource load to SourceFrame.
39727         https://bugs.webkit.org/show_bug.cgi?id=51243
39728
39729         * inspector/front-end/ScriptsPanel.js:
39730         (WebInspector.ScriptsPanel.prototype._addScript):
39731         * inspector/front-end/SourceFrame.js:
39732         (WebInspector.SourceFrame.prototype.addScript):
39733
39734 2010-12-17  Anton Muhin  <antonm@chromium.org>
39735
39736         Reviewed by Yury Semikhatsky.
39737
39738         [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html
39739         https://bugs.webkit.org/show_bug.cgi?id=51121
39740
39741         Properly group style elements of HTML links, style elements and processing instructions.
39742
39743         * bindings/v8/V8GCController.cpp:
39744         (WebCore::NodeGrouperVisitor::visitDOMWrapper):
39745         (WebCore::NodeGrouperVisitor::addDOMObjectToGroup):
39746
39747 2010-12-17  Pavel Podivilov  <podivilov@chromium.org>
39748
39749         Reviewed by Pavel Feldman.
39750
39751         Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
39752         https://bugs.webkit.org/show_bug.cgi?id=51101
39753
39754         * inspector/front-end/ResourceManager.js:
39755         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
39756
39757 2010-12-17  Benjamin Poulain  <benjamin.poulain@nokia.com>
39758
39759         Reviewed by Laszlo Gombos.
39760
39761         The inspector does not compile without JAVASCRIPT_DEBUGGER
39762         https://bugs.webkit.org/show_bug.cgi?id=51246
39763
39764         Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.
39765
39766         * inspector/InspectorController.h:
39767
39768 2010-12-17  Andrey Kosyakov  <caseq@chromium.org>
39769
39770         Reviewed by Pavel Feldman.
39771
39772         Web Inspector: clear extra/override headers when front-end is closed
39773         https://bugs.webkit.org/show_bug.cgi?id=51244
39774
39775         * inspector/InspectorController.cpp:
39776         (WebCore::InspectorController::disconnectFrontend):
39777         (WebCore::InspectorController::willSendRequest):
39778
39779 2010-12-17  Pavel Feldman  <pfeldman@chromium.org>
39780
39781         Reviewed by Yury Semikhatsky.
39782
39783         Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
39784         https://bugs.webkit.org/show_bug.cgi?id=50893
39785
39786         Now Mac shortcuts are:
39787         - Cmd F/G = find / next
39788         - Cmd L = go to line
39789
39790         Win/Linux:
39791         - Ctrl+G = go to line
39792
39793         * inspector/front-end/ScriptsPanel.js:
39794         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
39795         * inspector/front-end/inspector.js:
39796         (WebInspector._registerShortcuts):
39797
39798 2010-12-16  Sergio Villar Senin  <svillar@igalia.com>
39799
39800         Reviewed by Martin Robinson.
39801
39802         Wrong check in ResourceHandleSoup in error cases
39803         https://bugs.webkit.org/show_bug.cgi?id=51171
39804
39805         Calling didReceiveData with no data causes a crash in debug
39806         builds. Checking for soupMsg->response_body->data is not correct as libsoup
39807         always creates a buffer for that. Instead we should check for
39808         soupMsg->response_body->length
39809
39810         * platform/network/soup/ResourceHandleSoup.cpp:
39811         (WebCore::sendRequestCallback):
39812
39813 2010-12-17  Andreas Kling  <andreas.kling@nokia.com>
39814
39815         Reviewed by Kenneth Rohde Christiansen.
39816
39817         [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
39818         https://bugs.webkit.org/show_bug.cgi?id=49954
39819
39820         * platform/graphics/qt/GraphicsContextQt.cpp:
39821         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
39822         (WebCore::GraphicsContext::beginTransparencyLayer):
39823
39824 2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
39825
39826         Reviewed by Martin Robinson.
39827
39828         [GTK] Compile warning introduced in r74129
39829         https://bugs.webkit.org/show_bug.cgi?id=51181
39830
39831         * platform/gtk/RenderThemeGtk.cpp:
39832         (WebCore::RenderThemeGtk::gtkContainer):
39833
39834 2010-12-17  James Simonsen  <simonjam@chromium.org>
39835
39836         Reviewed by Darin Fisher.
39837
39838         [Web Timing] Add sslHandshakeStart to interface
39839
39840         https://bugs.webkit.org/show_bug.cgi?id=50400
39841
39842         Test: http/tests/misc/webtiming-ssl.php
39843
39844         * page/PerformanceTiming.cpp:
39845         (WebCore::PerformanceTiming::connectStart): Update comment.
39846         (WebCore::PerformanceTiming::connectEnd): Remove SSL time.
39847         (WebCore::PerformanceTiming::sslHandshakeStart): Added.
39848         * page/PerformanceTiming.h: Added sslHandshakeStart.
39849         * page/PerformanceTiming.idl: Ditto.
39850
39851 2010-12-17  James Simonsen  <simonjam@chromium.org>
39852
39853         Reviewed by Darin Fisher.
39854
39855         [Web Timing] Navigation type enums should begin with TYPE_
39856         https://bugs.webkit.org/show_bug.cgi?id=51200
39857
39858         * page/PerformanceNavigation.cpp:
39859         (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types.
39860         * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED.
39861         * page/PerformanceNavigation.idl: Ditto.
39862
39863 2010-12-17  Steve Block  <steveblock@google.com>
39864
39865         Unreviewed build fix.
39866
39867         Fix build when Geolocation is disabled.
39868
39869         No new tests, build fix only.
39870
39871         * page/Geolocation.h:
39872
39873 2010-12-17  Patrick Gansterer  <paroga@webkit.org>
39874
39875         Unreviewed. WinCE build fix.
39876
39877         * platform/graphics/GraphicsContext.h:
39878
39879 2010-12-17  Ilya Tikhonovsky  <loislo@chromium.org>
39880
39881         Reviewed by Yury Semikhatsky.
39882
39883         Web Inspector: remove unnecessary dependencies from InspectorBackendStub.
39884
39885         InspectorBackendStub is a transport-only thing but it has dependencies with
39886         Callback.js and WebInspector namespace. Callback can be integrated into
39887         InspectorBackendStub because it is the only client.
39888         Without these dependencies InspectorBackendStub can be used as an API
39889         wrapper for Inspector Protocol.
39890
39891         https://bugs.webkit.org/show_bug.cgi?id=51184
39892
39893         * WebCore.gypi:
39894         * inspector/CodeGeneratorInspector.pm:
39895         * inspector/front-end/Callback.js: Removed.
39896         * inspector/front-end/WebKit.qrc:
39897         * inspector/front-end/inspector.html:
39898
39899 2010-12-15  Andrey Kosyakov  <caseq@chromium.org>
39900
39901         Reviewed by Pavel Feldman.
39902
39903         Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
39904         https://bugs.webkit.org/show_bug.cgi?id=50493
39905
39906         Test: http/tests/inspector/extensions-headers.html
39907
39908         * inspector/Inspector.idl:
39909         * inspector/InspectorController.cpp:
39910         (WebCore::InspectorController::willSendRequest): Apply extra headers.
39911         (WebCore::InspectorController::setExtraHeaders):
39912         * inspector/InspectorController.h:
39913         * inspector/front-end/ExtensionAPI.js:
39914         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
39915         (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders):
39916         * inspector/front-end/ExtensionServer.js:
39917         (WebInspector.ExtensionServer):
39918         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
39919
39920 2010-12-16  Koan-Sin Tan  <koansin.tan@gmail.com>
39921
39922         Reviewed by Kent Tamura.
39923
39924         Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
39925         https://bugs.webkit.org/show_bug.cgi?id=50365
39926
39927         No new tests. But this makes Chromimium Linux show
39928         fast/blockflow/japanese-*-text.html and other vertical
39929         writing text correctly as on WebKit and Chromimum for Mac.
39930
39931         * platform/graphics/chromium/FontCacheLinux.cpp:
39932         (WebCore::FontCache::createFontPlatformData):
39933         * platform/graphics/chromium/FontLinux.cpp:
39934         (WebCore::Font::drawGlyphs):
39935         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
39936         (WebCore::FontPlatformData::FontPlatformData):
39937         (WebCore::FontPlatformData::operator=):
39938         (WebCore::FontPlatformData::operator==):
39939         (WebCore::FontPlatformData::hash):
39940         * platform/graphics/chromium/FontPlatformDataLinux.h:
39941         (WebCore::FontPlatformData::FontPlatformData):
39942         (WebCore::FontPlatformData::orientation):
39943         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
39944         (WebCore::SimpleFontData::platformInit):
39945         * platform/graphics/skia/FontCustomPlatformData.cpp:
39946         (WebCore::FontCustomPlatformData::fontPlatformData):
39947         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
39948         (WebCore::substituteWithVerticalGlyphs):
39949         (WebCore::GlyphPage::fill):
39950
39951 2010-12-16  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
39952
39953         Reviewed by Eric Carlson.
39954
39955         Provide an interface to require using fullscreen mediaplayer
39956         https://bugs.webkit.org/show_bug.cgi?id=51133
39957
39958         Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit
39959         to launch fullscreen video player for playing the html5 video. The 
39960         idea is that a browser vendor can specify this behavior through the
39961         platform plugin or something else by using this interface.
39962
39963         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
39964
39965         * html/HTMLMediaElement.cpp:
39966         (WebCore::HTMLMediaElement::updatePlayState):
39967         (WebCore::HTMLMediaElement::exitFullscreen):
39968         * page/Chrome.cpp:
39969         (WebCore::Chrome::requiresFullscreenForVideoPlayback):
39970         * page/Chrome.h:
39971         * page/ChromeClient.h:
39972         (WebCore::ChromeClient::requiresFullscreenForVideoPlayback):
39973
39974 2010-12-16  Steve Block  <steveblock@google.com>
39975
39976         Reviewed by Steve Block.
39977
39978         GeolocationPositionCache needs refactoring
39979         https://bugs.webkit.org/show_bug.cgi?id=50826
39980
39981         No new tests, refactoring only.
39982
39983         * page/Geolocation.cpp:
39984         (WebCore::Geolocation::Geolocation):
39985         (WebCore::Geolocation::makeCachedPositionCallbacks):
39986         (WebCore::Geolocation::haveSuitableCachedPosition):
39987         (WebCore::Geolocation::positionChangedInternal):
39988         * page/Geolocation.h:
39989         * page/GeolocationPositionCache.cpp:
39990         (WebCore::GeolocationPositionCache::instance):
39991         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
39992         (WebCore::GeolocationPositionCache::addUser):
39993         (WebCore::GeolocationPositionCache::removeUser):
39994         (WebCore::GeolocationPositionCache::setDatabasePath):
39995         (WebCore::GeolocationPositionCache::setCachedPosition):
39996         (WebCore::GeolocationPositionCache::cachedPosition):
39997         (WebCore::GeolocationPositionCache::readFromDatabase):
39998         (WebCore::GeolocationPositionCache::writeToDatabase):
39999         * page/GeolocationPositionCache.h:
40000         (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper):
40001         (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper):
40002         (WebCore::GeolocationPositionCacheWrapper::setCachedPosition):
40003         (WebCore::GeolocationPositionCacheWrapper::cachedPosition):
40004
40005 2010-12-16  Ariya Hidayat  <ariya@sencha.com>
40006
40007         Reviewed by Andreas Kling.
40008
40009         [Qt] GraphicsContext should respect QWebView render hints
40010         https://bugs.webkit.org/show_bug.cgi?id=51208
40011
40012         GraphicsContext does not override SmoothPixmapTransform (see also
40013         r62762). To keep the same behavior, canvas default image interpolation
40014         quality is set to medium and QWebView's render hints by default also
40015         include SmoothPixmapTransform.
40016
40017         * html/HTMLCanvasElement.h:
40018         * platform/graphics/qt/GraphicsContextQt.cpp:
40019         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
40020
40021 2010-12-16  Daniel Bates  <dbates@rim.com>
40022
40023         Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217)
40024         so as to be consistent with the formatting of the rest of this file.
40025
40026         Also, add an empty line between the win32* and wince* conditional include blocks.
40027
40028         * WebCore.pro:
40029
40030 2010-12-16  Daniel Bates  <dbates@rim.com>
40031
40032         Reviewed by Antonio Gomes.
40033
40034         [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp
40035         on Windows if ENABLE_SMOOTH_SCROLLING=1
40036         https://bugs.webkit.org/show_bug.cgi?id=51215
40037
40038         Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
40039         the Qt Windows with smooth scrolling enabled.
40040
40041         No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).
40042
40043         * WebCore.pro:
40044
40045 2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
40046
40047         Reviewed by Darin Adler.
40048
40049         execCommand('JustifyCenter') adds extra BR
40050         https://bugs.webkit.org/show_bug.cgi?id=51082
40051
40052         The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br
40053         to new block and not removing it later. Fixed the bug by removing it when the paragraph
40054         moved into the block didn't have a br at the end.
40055
40056         Test: editing/execCommand/justify.html
40057
40058         * editing/CompositeEditCommand.cpp:
40059         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
40060
40061 2010-12-16  Jian Li  <jianli@chromium.org>
40062
40063         Unreviewed. Fixed chromium build break caused by r74207.
40064
40065         * platform/ContextMenuItem.h:
40066
40067 2010-12-16  Leandro Pereira  <leandro@profusion.mobi>
40068
40069         [EFL] Unreviewed build fix.
40070
40071         Disable ContextMenu support for now while support for
40072         CROSS_PLATFORM_MENUS is written.
40073
40074         * CMakeListsEfl.txt:
40075         * platform/ContextMenu.h:
40076         * platform/ContextMenuItem.h:
40077         * platform/efl/ContextMenuEfl.cpp:
40078         (WebCore::ContextMenu::ContextMenu):
40079         (WebCore::ContextMenu::getContextMenuItems):
40080         (WebCore::ContextMenu::createNativeMenuFromItems):
40081         (WebCore::ContextMenu::nativeMenu):
40082         * platform/efl/ContextMenuItemEfl.cpp:
40083         (WebCore::ContextMenuItem::ContextMenuItem):
40084         (WebCore::ContextMenuItem::~ContextMenuItem):
40085         (WebCore::ContextMenuItem::nativeMenuItem):
40086         (WebCore::ContextMenuItem::type):
40087         (WebCore::ContextMenuItem::setAction):
40088         (WebCore::ContextMenuItem::action):
40089         (WebCore::ContextMenuItem::setChecked):
40090         (WebCore::ContextMenuItem::checked):
40091         (WebCore::ContextMenuItem::setEnabled):
40092         (WebCore::ContextMenuItem::enabled):
40093         (WebCore::ContextMenuItem::setSubMenu):
40094
40095 2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
40096
40097         Reviewed by Darin Adler.
40098
40099         execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
40100         https://bugs.webkit.org/show_bug.cgi?id=51164
40101
40102         Fixed the bug by always enabling the StyleWithCSS command.
40103
40104         Test: editing/style/stylewithcss-without-selection.html
40105
40106         * editing/EditorCommand.cpp:
40107         (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.
40108
40109 2010-12-16  Anders Carlsson  <andersca@apple.com>
40110
40111         Reviewed by Darin Adler.
40112
40113         Save the manual plug-in stream data and redeliver it when the plug-in is initialized
40114         https://bugs.webkit.org/show_bug.cgi?id=51201
40115
40116         Export SharedBuffer related symbols.
40117
40118         * WebCore.exp.in:
40119
40120 2010-12-16  Pavel Feldman  <pfeldman@chromium.org>
40121
40122         Reviewed by Yury Semikhatsky.
40123
40124         Web Inspector: timeline records should only operate WebCore time.
40125         https://bugs.webkit.org/show_bug.cgi?id=51127
40126
40127         * inspector/InspectorTimelineAgent.cpp:
40128         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
40129         * inspector/TimelineRecordFactory.cpp:
40130         (WebCore::TimelineRecordFactory::createResourceFinishData):
40131         * inspector/TimelineRecordFactory.h:
40132
40133 2010-12-15  Alexey Proskuryakov  <ap@apple.com>
40134
40135         Reviewed by Darin Adler.
40136
40137         https://bugs.webkit.org/show_bug.cgi?id=50996
40138         <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used
40139
40140         No new tests, cannot test DNS.
40141
40142         * platform/network/cf/DNSCFNet.cpp:
40143         (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use
40144         a proxy. This is only an estimate - even with a proxy is configured in system preferences, an
40145         actual request can go directly to the host if a PAC script says so.
40146         (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests.
40147         (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones.
40148
40149 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
40150
40151         Reviewed by Pavel Feldman.
40152
40153         Web Inspector: Console always scroll to the bottom on new events
40154         https://bugs.webkit.org/show_bug.cgi?id=51189
40155
40156         When new messages are added to the console it will auto scroll
40157         only if it was already scrolled down to the last record.
40158
40159         * inspector/front-end/ConsoleView.js:
40160         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
40161         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
40162         (WebInspector.ConsoleView.prototype._isScrolledToLastMessage):
40163         (WebInspector.ConsoleView.prototype.addMessage):
40164
40165 2010-12-16  Pavel Podivilov  <podivilov@chromium.org>
40166
40167         Reviewed by Yury Semikhatsky.
40168
40169         Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
40170         https://bugs.webkit.org/show_bug.cgi?id=51174
40171
40172         * inspector/front-end/BreakpointManager.js:
40173         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
40174         (WebInspector.BreakpointManager.prototype._debuggerPaused):
40175         (WebInspector.BreakpointManager.prototype._debuggerResumed):
40176         * inspector/front-end/CallStackSidebarPane.js:
40177         (WebInspector.CallStackSidebarPane):
40178         (WebInspector.CallStackSidebarPane.prototype.update):
40179         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
40180         * inspector/front-end/DebuggerModel.js:
40181         (WebInspector.DebuggerModel.prototype.pausedScript):
40182         * inspector/front-end/ScriptsPanel.js:
40183         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
40184
40185 2010-12-16  Hans Wennborg  <hans@chromium.org>
40186
40187         Reviewed by Jeremy Orlow.
40188
40189         IndexedDB: Fix IDBDatabaseError code offset bug
40190         https://bugs.webkit.org/show_bug.cgi?id=51177
40191
40192         IDBDatabaseError::code() needs to return the error code without
40193         offset. But when the IDBDatabaseError is created, the code comes with
40194         an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode).
40195
40196         However, in Chromium, IDBDatabaseErrors are sometimes also created via
40197         WebIDBDatabaseError when they are sent across IPC, and then the error
40198         code comes *without* offset. Provide a second create() function for
40199         this case.
40200
40201         * storage/IDBDatabaseError.h:
40202         (WebCore::IDBDatabaseError::create):
40203         (WebCore::IDBDatabaseError::createWithoutOffset):
40204         (WebCore::IDBDatabaseError::code):
40205
40206 2010-12-16  Sheriff Bot  <webkit.review.bot@gmail.com>
40207
40208         Unreviewed, rolling out r74162.
40209         http://trac.webkit.org/changeset/74162
40210         https://bugs.webkit.org/show_bug.cgi?id=51185
40211
40212         More breakage in GTK+ (Requested by xan_ on #webkit).
40213
40214         * platform/text/TextCodecUTF16.cpp:
40215         (WebCore::TextCodecUTF16::registerEncodingNames):
40216
40217 2010-12-16  Alexander Pavlov  <apavlov@chromium.org>
40218
40219         Reviewed by Pavel Feldman.
40220
40221         Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor
40222         https://bugs.webkit.org/show_bug.cgi?id=51114
40223
40224         The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
40225         are updated once a stylesheet is reverted.
40226
40227         * inspector/front-end/ElementsPanel.js:
40228         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
40229         (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
40230         (WebInspector.ElementsPanel.prototype._styleSheetChanged):
40231
40232 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
40233
40234         Unreviewed. Fix Chromium Mac Debug Clang compilation.
40235
40236         * platform/graphics/FontFastPath.cpp:
40237         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
40238
40239 2010-12-16  Alejandro G. Castro  <alex@igalia.com>
40240
40241         Unreviewed. Fix GTK3 compilation after 74129.
40242
40243         * platform/gtk/WidgetRenderingContextGtk3.cpp:
40244
40245 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
40246
40247         Unreviewed. Fix Chromium Debug compilation after r74177 
40248
40249         * platform/graphics/filters/FEComposite.cpp:
40250         (WebCore::arithmetic):
40251
40252 2010-12-16  Kent Tamura  <tkent@chromium.org>
40253
40254         Unreviewed, build fix.
40255
40256         Fix a warning on 32-bit Mac.
40257
40258         * platform/graphics/mac/SimpleFontDataMac.mm:
40259         (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f
40260
40261 2010-12-16  Zoltan Herczeg  <zherczeg@webkit.org>
40262
40263         Reviewed by Dirk Schulze.
40264
40265         Improve feArithmeticFilter
40266         https://bugs.webkit.org/show_bug.cgi?id=51105
40267
40268         In case of the arithmetic operator on feComposite filter, we could use
40269         different result passing modes depend on its type. Furthermore, the
40270         number of executed multiplications is reduced if k1 or k4 argument is zero.
40271
40272         2% speedup on WebCore/manual-tests/svg-filter-animation.svg
40273
40274         * platform/graphics/filters/FEComposite.cpp:
40275         (WebCore::computeArithmeticPixels):
40276         (WebCore::arithmetic):
40277         (WebCore::FEComposite::apply):
40278
40279 2010-12-15  Brian Weinstein  <bweinstein@apple.com>
40280
40281         Reviewed by Jon Honeycutt.
40282
40283         WebKit2 should exit auto scrolling mode when losing focus
40284         https://bugs.webkit.org/show_bug.cgi?id=49209
40285         
40286         When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We
40287         don't want to automatically scroll when a page doesn't have focus.
40288
40289         Updated manual-tests/autoscroll.html with instructions to test this bug.
40290
40291         * manual-tests/autoscroll.html:
40292         * page/FocusController.cpp:
40293         (WebCore::FocusController::setFocused):
40294
40295 2010-12-15  Dan Bernstein  <mitz@apple.com>
40296
40297         Reviewed by Darin Adler.
40298
40299         Font support for the text-emphasis CSS property
40300         Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
40301         https://bugs.webkit.org/show_bug.cgi?id=48539
40302
40303         * platform/graphics/Font.cpp:
40304         (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text.
40305         (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should
40306         have an emphasis mark.
40307
40308         * platform/graphics/Font.h:
40309
40310         * platform/graphics/FontFastPath.cpp:
40311         (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant
40312         parameter and made this function work with other variants.
40313         (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of
40314         the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none
40315         of the standard emphasis marks do so.
40316         (WebCore::Font::emphasisMarkAscent): Added.
40317         (WebCore::Font::emphasisMarkDescent): Added.
40318         (WebCore::Font::emphasisMarkHeight): Added.
40319         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText()
40320         into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
40321         WidthIterator.
40322         (WebCore::Font::drawSimpleText): Left the drawing part here.
40323         (WebCore::Font::drawEmphasisMarksForSimpleText): Added.
40324         (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter.
40325         (WebCore::offsetToMiddleOfGlyph): Added this helper.
40326         (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper.
40327         (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing
40328         one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn.
40329
40330         * platform/graphics/GraphicsContext.cpp:
40331         (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().
40332
40333         * platform/graphics/GraphicsContext.h:
40334
40335         * platform/graphics/SimpleFontData.cpp:
40336         (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members.
40337         (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens
40338         in ~DerivedFontData.
40339         (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData.
40340         (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct
40341         contains the SimpleFontData for small caps, broken ideograph and emphasis mark.
40342         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added.
40343
40344         * platform/graphics/SimpleFontData.h:
40345         (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().
40346
40347         * platform/graphics/WidthIterator.cpp:
40348         (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter.
40349         (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph
40350         if they should not receive an emphasis mark.
40351
40352         * platform/graphics/WidthIterator.h:
40353
40354         * platform/graphics/chromium/FontChromiumWin.cpp:
40355         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40356
40357         * platform/graphics/chromium/FontLinux.cpp:
40358         (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter().
40359         (WebCore::TextRunWalker::setupFontForScriptRun): Ditto.
40360         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40361
40362         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
40363         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40364         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40365         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40366
40367         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
40368         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40369         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40370         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40371
40372         * platform/graphics/efl/FontEfl.cpp:
40373         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40374
40375         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
40376         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40377         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40378         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40379
40380         * platform/graphics/gtk/FontGtk.cpp:
40381         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40382
40383         * platform/graphics/haiku/FontHaiku.cpp:
40384         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40385
40386         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
40387         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40388         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40389         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40390
40391         * platform/graphics/mac/ComplexTextController.cpp:
40392         (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter.
40393         (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter().
40394         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph
40395         if they should not receive an emphasis mark.
40396
40397         * platform/graphics/mac/ComplexTextController.h:
40398
40399         * platform/graphics/mac/FontComplexTextMac.cpp:
40400         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
40401         into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
40402         ComplexTextController.
40403         (WebCore::Font::drawComplexText): Left the drawing part here.
40404         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
40405
40406         * platform/graphics/mac/SimpleFontDataMac.mm:
40407         (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData.
40408         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40409         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40410         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40411
40412         * platform/graphics/pango/SimpleFontDataPango.cpp:
40413         (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
40414         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40415         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40416         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40417
40418         * platform/graphics/qt/FontQt.cpp:
40419         (WebCore::Font::emphasisMarkAscent): Added stub.
40420         (WebCore::Font::emphasisMarkDescent): Ditto.
40421         (WebCore::Font::emphasisMarkHeight): Ditto.
40422         (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto.
40423         (WebCore::Font::drawEmphasisMarksForComplexText): Ditto.
40424
40425         * platform/graphics/win/FontWin.cpp:
40426         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
40427         into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty
40428         glyph buffer for text emphasis.
40429         (WebCore::Font::drawComplexText): Left the drawing part here.
40430         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
40431
40432         * platform/graphics/win/SimpleFontDataWin.cpp:
40433         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40434         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40435         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40436
40437         * platform/graphics/win/UniscribeController.cpp:
40438         (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().
40439
40440         * platform/graphics/wince/FontWinCE.cpp:
40441         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40442
40443         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
40444         (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
40445         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40446         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40447         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40448
40449         * platform/graphics/wx/FontWx.cpp:
40450         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub.
40451         (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer().
40452         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
40453
40454         * platform/graphics/wx/SimpleFontDataWx.cpp:
40455         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
40456         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
40457         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
40458
40459         * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().
40460
40461 2010-12-15  Beth Dakin  <bdakin@apple.com>
40462
40463         Reviewed by Darin Adler.
40464
40465         Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's 
40466         _scaleWebView SPI doesn't work on pages with compositing layers
40467         -and corresponding-
40468         <rdar://problem/8604713>
40469
40470         paintingGoesToWindow() should return false if the owning layer has 
40471         a transform.
40472         * rendering/RenderLayerBacking.cpp:
40473         (WebCore::RenderLayerBacking::paintingGoesToWindow):
40474
40475         Use docWidth() and docHeight() instead of rightLayoutOverflow() and 
40476         bottomLayoutOverflow() since docWidth/Height are now the preferred 
40477         way to query physical dimensions of the document.
40478         * rendering/RenderLayerCompositor.cpp:
40479         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
40480
40481 2010-12-15  Alex Bredariol Grilo  <abgrilo@profusion.mobi>
40482
40483         Reviewed by Eric Seidel.
40484
40485         [EFL] Fix timer calling time in SharedTimerEfl
40486
40487         No new features, so no tests added.
40488
40489         The usage of ecore_timer_loop_add instead of ecore_timer_add corrects
40490         the problem that the timer is not called at the correct time. Since this
40491         code runs in a single thread, all multiple thread operations were
40492         removed.
40493
40494         * platform/efl/SharedTimerEfl.cpp:
40495         (WebCore::stopSharedTimer):
40496         (WebCore::addNewTimer):
40497
40498 2010-12-15  Andreas Kling  <andreas.kling@nokia.com>
40499
40500         Reviewed by Ariya Hidayat.
40501
40502         [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition
40503         https://bugs.webkit.org/show_bug.cgi?id=49918
40504
40505         Go through GraphicsContext::setCompositeOperation() which does the check for us.
40506
40507         * platform/graphics/qt/StillImageQt.cpp:
40508         (WebCore::StillImage::draw):
40509
40510 2010-12-15  Yong Li  <yoli@rim.com>
40511
40512         Reviewed by Darin Adler.
40513
40514         UTF-16 and its variants should be treated as Big Endian when BOM
40515         is absent.
40516         https://bugs.webkit.org/show_bug.cgi?id=51035
40517
40518         Test: fast/encoding/char-decoding.html (changed)
40519
40520         * platform/text/TextCodecUTF16.cpp:
40521         (WebCore::TextCodecUTF16::registerEncodingNames):
40522
40523 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
40524
40525         Reviewed by Chris Marrin.
40526
40527         Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid
40528         https://bugs.webkit.org/show_bug.cgi?id=51070
40529         
40530         Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
40531         or in the third parameter to translate3d().
40532
40533         Test: transforms/3d/general/3dtransform-values.html
40534
40535         * css/CSSParser.cpp:
40536         (WebCore::CSSParser::parseTransform):
40537         (WebCore::CSSParser::parseTransformOrigin): Whitespace change.
40538
40539 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
40540
40541         Reviewed by Chris Marrin.
40542
40543         Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
40544         https://bugs.webkit.org/show_bug.cgi?id=50967
40545         
40546         If a reflection on a compositied, transformed element is toggled on, off and on,
40547         then we pick up a cached layer clone that has the wrong transform set on it.
40548         
40549         The fix is to reset those properties on the layer clones that get changed
40550         when the GraphicsLayer gains a structural layer (for reflection flattening).
40551
40552         Test: compositing/reflections/remove-add-reflection.html
40553
40554         * platform/graphics/ca/GraphicsLayerCA.cpp:
40555         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
40556
40557 2010-12-15  Timothy Hatcher  <timothy@apple.com>
40558
40559         Fix a regression where the Web Inspector console would be empty
40560         if the Inspector is localized.
40561
40562         https://bugs.webkit.org/show_bug.cgi?id=51145
40563
40564         Reviewed by Joseph Pecoraro.
40565
40566         * inspector/front-end/ConsoleView.js:
40567         (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string
40568         is separate from the classname. Code clean up.
40569         (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare.
40570         (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement.
40571
40572 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
40573
40574         Reviewed by Adele Peterson.
40575
40576         WebKit2 in compositing mode no longer has font smoothing
40577         https://bugs.webkit.org/show_bug.cgi?id=50733
40578
40579         Only turn off font smoothing for layers whose contents are
40580         not opaque. This allows the root GraphicsLayer in WebKit2 to
40581         set the opaque flag, and get smoothed text.
40582
40583         * platform/graphics/mac/WebLayer.mm:
40584         (drawLayerContents):
40585
40586 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
40587
40588         Reviewed by Dan Bernstein.
40589
40590         Allow disabling of font smoothing in compositing layers to be overridden by style
40591         https://bugs.webkit.org/show_bug.cgi?id=50732
40592
40593         Add methods to GraphicsContext to get and set font smoothing,
40594         and have them be part of the graphics state.
40595         
40596         Fix Font::drawGlyphs() to allow the font's smoothing mode (from style)
40597         to override the current smoothing mode of the context. The global
40598         shouldUseSmoothing() still has final say.
40599         
40600         Turn off smoothing in compositing layers with this, rather than
40601         the non-stateful 'allow' method.
40602         
40603         * manual-tests/compositing/font-smoothing.html: Added.
40604         Manual test because DRT disables font smoothing.
40605         
40606         * platform/graphics/GraphicsContext.cpp:
40607         (WebCore::GraphicsContext::setShouldSmoothFonts):
40608         (WebCore::GraphicsContext::shouldSmoothFonts):
40609         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
40610         * platform/graphics/GraphicsContext.h:
40611         (WebCore::GraphicsContextState::GraphicsContextState):
40612         * platform/graphics/cg/GraphicsContextCG.cpp:
40613         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
40614         * platform/graphics/mac/FontMac.mm:
40615         (WebCore::Font::drawGlyphs):
40616         * platform/graphics/mac/WebLayer.mm:
40617         (drawLayerContents):
40618
40619 2010-12-15  Matthew Delaney  <mdelaney@apple.com>
40620
40621         Reviewed by Simon Fraser.
40622
40623         IOSurface bounds checks on bytesPerRow and allocSize are incorrect
40624         https://bugs.webkit.org/show_bug.cgi?id=51137
40625
40626         No new tests added. For those using this new functionality, many current canvas layout tests will now pass.
40627
40628         * platform/graphics/cg/ImageBufferCG.cpp:
40629
40630 2010-12-15  Kenneth Russell  <kbr@google.com>
40631
40632         Reviewed by James Robinson.
40633
40634         Web Audio API: port FFTFrame to MKL
40635         https://bugs.webkit.org/show_bug.cgi?id=50986
40636
40637         Ported FFTFrame to Intel's MKL. This patch contains the port and
40638         initial, though not complete, build system changes. Tested so far
40639         with a unit test by Chris Rogers (which requires code changes to
40640         AudioContext.cpp and is not being checked in). Further testing to
40641         follow once layout tests are available for the Web Audio API.
40642
40643         * WebCore.gyp/WebCore.gyp:
40644         * WebCore.gypi:
40645         * platform/audio/FFTFrame.h:
40646         * platform/audio/mkl: Added.
40647         * platform/audio/mkl/FFTFrameMKL.cpp: Added.
40648         (WebCore::FFTFrame::FFTFrame):
40649         (WebCore::FFTFrame::~FFTFrame):
40650         (WebCore::FFTFrame::multiply):
40651         (WebCore::FFTFrame::doFFT):
40652         (WebCore::FFTFrame::doInverseFFT):
40653         (WebCore::FFTFrame::cleanup):
40654         (WebCore::FFTFrame::realData):
40655         (WebCore::FFTFrame::imagData):
40656         (WebCore::FFTFrame::getUpToDateComplexData):
40657         (WebCore::FFTFrame::descriptorHandleForSize):
40658
40659 2010-12-15  Yong Li  <yoli@rim.com>
40660
40661         Reviewed by Darin Adler.
40662
40663         Fix stack overflow when there are too many sibling inline boxes by using
40664         a loop to traverse children instead of calling each sibling from the first child.
40665         https://bugs.webkit.org/show_bug.cgi?id=48255
40666
40667         Test: fast/overflow/lots-of-sibling-inline-boxes.html
40668
40669         * rendering/InlineBox.h:
40670         (WebCore::InlineBox::setConstructed):
40671         (WebCore::InlineBox::next):
40672         * rendering/InlineFlowBox.h:
40673         (WebCore::InlineFlowBox::setConstructed):
40674
40675 2010-12-15  Sam Weinig  <sam@webkit.org>
40676
40677         Reviewed by Anders Carlsson.
40678
40679         WebKit2: Can't add files to an <input type=file>
40680         https://bugs.webkit.org/show_bug.cgi?id=51087
40681
40682         Add exported function.
40683
40684         * WebCore.exp.in:
40685
40686 2010-12-15  Andreas Kling  <andreas.kling@nokia.com>
40687
40688         Reviewed by Antonio Gomes.
40689
40690         [Qt] screenIsMonochrome() is broken
40691         https://bugs.webkit.org/show_bug.cgi?id=49957
40692
40693         * platform/qt/PlatformScreenQt.cpp:
40694         (WebCore::screenIsMonochrome):
40695
40696 2010-12-15  Martin Robinson  <mrobinson@igalia.com>
40697
40698         Reviewed by Gustavo Noronha Silva.
40699
40700         [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
40701         https://bugs.webkit.org/show_bug.cgi?id=48486
40702
40703         Implement button rendering in RenderThemeGtk. The implementation
40704         from gtk{2,3}drawing.cpp will be removed once menu list button rendering
40705         is implemented in RenderThemeGtk as well.
40706
40707         No new tests, as this should not change functionality.
40708
40709         * platform/gtk/RenderThemeGtk.cpp:
40710         (WebCore::RenderThemeGtk::paintButton): Add an implementation of button
40711         rendering that uses WidgetRenderingContext.
40712
40713 2010-10-18  Martin Robinson  <mrobinson@igalia.com>
40714
40715         Reviewed by Gustavo Noronha Silva.
40716
40717         [GTK] Move input type=range rendering to RenderThemeGtk
40718         https://bugs.webkit.org/show_bug.cgi?id=47836
40719
40720         Begin moving widget rendering out of the old Mozilla theme drawing code,
40721         which should remove many lines of code when completed. WidgetRenderingContext
40722         now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay
40723         version agnostic.
40724
40725         No new tests as this patch does not change functionality.
40726
40727         * platform/gtk/RenderThemeGtk.cpp:
40728         (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a
40729         GtkWidget, so update the cast here.
40730         (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which
40731         converts a RenderObject state into a GtkStateType.
40732         (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for
40733         scale painting, as it's not handled by this method any longer.
40734         (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use
40735         WidgetRenderingContext.
40736         (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
40737         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size
40738         properties directly from the widget now instead of asking the Mozilla code.
40739         (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this
40740         helper which reduces the amount of code quite a bit.
40741         (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper.
40742         (WebCore::RenderThemeGtk::gtkButton): Ditto.
40743         (WebCore::RenderThemeGtk::gtkEntry): Ditto.
40744         (WebCore::RenderThemeGtk::gtkTreeView): Ditto.
40745         (WebCore::RenderThemeGtk::gtkVScale): Added.
40746         (WebCore::RenderThemeGtk::gtkHScale): Added.
40747         (WebCore::RenderThemeGtk::platformColorsDidChange): Removed
40748         GTK_CONTAINER cast.
40749         * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and
40750          GtkVScale members.
40751         * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy
40752         gtk_paint_box, gtk_paint_focus and gtk_paint_slider.
40753         * platform/gtk/WidgetRenderingContextGtk2.cpp:
40754         (WebCore::WidgetRenderingContext::gtkPaintBox): Added.
40755         (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
40756         (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
40757         * platform/gtk/WidgetRenderingContextGtk3.cpp:
40758         (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto.
40759         (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
40760         (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
40761         * platform/gtk/gtk2drawing.c: Removed defunct code!
40762         (moz_gtk_get_widget_border):
40763         (moz_gtk_widget_paint):
40764         * platform/gtk/gtk3drawing.c: Ditto.
40765         (moz_gtk_get_widget_border):
40766         (moz_gtk_widget_paint):
40767         * platform/gtk/gtkdrawing.h:
40768
40769 2010-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
40770
40771         Unreviewed, rolling out r74117.
40772         http://trac.webkit.org/changeset/74117
40773         https://bugs.webkit.org/show_bug.cgi?id=51113
40774
40775         This broke the GTK1 build. (Requested by mrobinson on
40776         #webkit).
40777
40778         * GNUmakefile.am:
40779         * platform/network/soup/cache/webkit/soup-cache.h:
40780
40781 2010-12-15  Jian Li  <jianli@chromium.org>
40782
40783         Unreviewed. Fixed a clang compiling error by making the forward
40784         declaration of MediaPlayerFactory be consistent with the definition.
40785
40786         * platform/graphics/MediaPlayer.h:
40787
40788 2010-12-15  David Hyatt  <hyatt@apple.com>
40789
40790         Reviewed by Simon Fraser.
40791
40792         Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a
40793         y-position.
40794
40795         * rendering/LayoutState.cpp:
40796         (WebCore::LayoutState::pageLogicalOffset):
40797         (WebCore::LayoutState::addForcedColumnBreak):
40798         * rendering/LayoutState.h:
40799         * rendering/RenderBlock.cpp:
40800         (WebCore::RenderBlock::layoutBlock):
40801         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
40802         (WebCore::RenderBlock::layoutColumns):
40803         (WebCore::RenderBlock::setPageLogicalOffset):
40804         * rendering/RenderBlock.h:
40805         (WebCore::RenderBlock::pageLogicalOffset):
40806         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
40807         * rendering/RenderFlexibleBox.cpp:
40808         (WebCore::RenderFlexibleBox::layoutBlock):
40809         * rendering/RenderTable.cpp:
40810         (WebCore::RenderTable::layout):
40811         * rendering/RenderTableRow.cpp:
40812         (WebCore::RenderTableRow::layout):
40813         * rendering/RenderTableSection.cpp:
40814         (WebCore::RenderTableSection::layoutRows):
40815
40816 2010-12-13  Pavel Podivilov  <podivilov@chromium.org>
40817
40818         Reviewed by Pavel Feldman.
40819
40820         Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel.
40821         https://bugs.webkit.org/show_bug.cgi?id=50908
40822
40823         * inspector/front-end/BreakpointManager.js:
40824         (WebInspector.BreakpointManager):
40825         (WebInspector.BreakpointManager.prototype._debuggerPaused):
40826         * inspector/front-end/CallStackSidebarPane.js:
40827         (WebInspector.CallStackSidebarPane):
40828         (WebInspector.CallStackSidebarPane.prototype.update):
40829         * inspector/front-end/DebuggerModel.js:
40830         (WebInspector.DebuggerModel):
40831         (WebInspector.DebuggerModel.prototype.setBreakpoint):
40832         (WebInspector.DebuggerModel.prototype._setBreakpoint):
40833         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
40834         (WebInspector.DebuggerModel.prototype.scriptsForURL):
40835         (WebInspector.DebuggerModel.prototype.queryScripts):
40836         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
40837         (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
40838         (WebInspector.DebuggerModel.prototype.breakpointRestored):
40839         (WebInspector.DebuggerModel.prototype.debuggerPaused):
40840         (WebInspector.DebuggerModel.prototype.debuggerResumed):
40841         * inspector/front-end/Resource.js:
40842         * inspector/front-end/ScriptsPanel.js:
40843         (WebInspector.ScriptsPanel): eliminate sourceIDMap
40844         * inspector/front-end/SourceFrame.js:
40845         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
40846         (WebInspector.SourceFrame.prototype._setBreakpoint):
40847         * inspector/front-end/SourceView.js:
40848         (WebInspector.SourceView):
40849         * inspector/front-end/inspector.js:
40850         (WebInspector.createJSBreakpointsSidebarPane):
40851         (WebInspector.parsedScriptSource):
40852         (WebInspector.failedToParseScriptSource):
40853
40854 2010-12-15  Eric Carlson  <eric.carlson@apple.com>
40855
40856         Reviewed by Darin Adler.
40857
40858         MediaPlayer should try all installed media engines
40859         https://bugs.webkit.org/show_bug.cgi?id=50209
40860
40861         * platform/graphics/MediaPlayer.cpp:
40862         (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional
40863         parameter for current engine. 
40864         (WebCore::nextMediaEngine): New, return the next media engine in the list.
40865         (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer.
40866         (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables.
40867         (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine.
40868         (WebCore::MediaPlayer::supportsType): Make contentType parameter const.
40869         (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine.
40870         (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's
40871         metadata has not loaded, give the next installed engine a try.
40872         * platform/graphics/MediaPlayer.h:
40873
40874 2010-12-15  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
40875
40876         Reviewed by Martin Robinson.
40877
40878         Changes to enable building WebKit2 for Gtk port
40879         (https://bugs.webkit.org/show_bug.cgi?id=37369)
40880
40881         No new functionality added or deleted. Only makefile change. Hence, no tests added.
40882
40883         * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
40884         * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly
40885
40886 2010-12-15  Jarred Nicholls  <jarred@sencha.com>
40887
40888         Reviewed by Andreas Kling.
40889
40890         [Qt] Implement the File API spec
40891         https://bugs.webkit.org/show_bug.cgi?id=49839
40892
40893         No new tests. fast/files tests work when manually operated.
40894         They do not automatically work due to Qt's inability to handle multi-file
40895         inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT
40896         is missing an eventSender.beginDragWithFiles implementation.
40897
40898         * WebCore.pri:
40899         * WebCore.pro:
40900         * features.pri:
40901         * platform/qt/FileSystemQt.cpp:
40902         (WebCore::directoryName):
40903         (WebCore::readFromFile):
40904         (WebCore::seekFile):
40905
40906 2010-12-14  Antti Koivisto  <antti@apple.com>
40907
40908         Reviewed by Alexey Proskuryakov.
40909
40910         https://bugs.webkit.org/show_bug.cgi?id=49548
40911         WebCore cache stores duplicate copies of subresources with URL fragments
40912         
40913         - Strip fragment identifiers from HTTP and file URLs for the memory cache.
40914         - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs
40915           instead of strings to reduce repeated URL parsing.
40916
40917         Test: http/tests/cache/subresource-fragment-identifier.html
40918
40919         * inspector/InspectorResourceAgent.cpp:
40920         (WebCore::InspectorResourceAgent::cachedResource):
40921         * loader/FrameLoader.cpp:
40922         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
40923         * loader/cache/CachedResource.cpp:
40924         (WebCore::CachedResource::~CachedResource):
40925         * loader/cache/CachedResourceLoader.cpp:
40926         (WebCore::CachedResourceLoader::cachedResource):
40927         (WebCore::CachedResourceLoader::checkForReload):
40928         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
40929         (WebCore::CachedResourceLoader::requestResource):
40930         * loader/cache/CachedResourceLoader.h:
40931         * loader/cache/MemoryCache.cpp:
40932         (WebCore::MemoryCache::requestResource):
40933         (WebCore::MemoryCache::requestUserCSSStyleSheet):
40934         (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
40935         (WebCore::MemoryCache::resourceForURL):
40936         * loader/cache/MemoryCache.h:
40937
40938 2010-12-15  Anton Muhin  <antonm@chromium.org>
40939
40940         Reviewed by David Levin.
40941
40942         [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations
40943         https://bugs.webkit.org/show_bug.cgi?id=50965
40944
40945         * bindings/v8/V8GCController.cpp:
40946         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
40947         (WebCore::DOMObjectGrouperVisitor::addAllItems):
40948
40949 2010-12-13  Pavel Podivilov  <podivilov@chromium.org>
40950
40951         Reviewed by Yury Semikhatsky.
40952
40953         Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation.
40954         https://bugs.webkit.org/show_bug.cgi?id=48858
40955
40956         BreakpointManager pushes all persistent breakpoints to backend when loaded.
40957         InspectorController restores sticky breakpoints from cookie on navigation.
40958
40959         * inspector/Inspector.idl:
40960         * inspector/InspectorController.cpp:
40961         (WebCore::InspectorController::InspectorController):
40962         (WebCore::InspectorController::disconnectFrontend):
40963         (WebCore::InspectorController::didCommitLoad):
40964         (WebCore::InspectorController::setStickyBreakpoints):
40965         (WebCore::InspectorController::restoreStickyBreakpoints):
40966         (WebCore::InspectorController::restoreStickyBreakpoint):
40967         * inspector/InspectorController.h:
40968         * inspector/InspectorState.cpp:
40969         (WebCore::InspectorState::InspectorState):
40970         (WebCore::InspectorState::getObject):
40971         (WebCore::InspectorState::setObject):
40972         (WebCore::InspectorState::registerObject):
40973         * inspector/InspectorState.h:
40974         * inspector/front-end/BreakpointManager.js:
40975         (WebInspector.BreakpointManager):
40976         * inspector/front-end/BreakpointsSidebarPane.js:
40977         (WebInspector.BreakpointsSidebarPane):
40978         (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
40979         (WebInspector.BreakpointsSidebarPane.prototype._projectChanged):
40980         (WebInspector.EventListenerBreakpointsSidebarPane):
40981         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
40982         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
40983         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
40984         * inspector/front-end/CallStackSidebarPane.js:
40985         (WebInspector.CallStackSidebarPane):
40986         * inspector/front-end/ElementsPanel.js:
40987         (WebInspector.ElementsPanel.prototype.reset):
40988         * inspector/front-end/ScriptsPanel.js:
40989         (WebInspector.ScriptsPanel.prototype.reset):
40990         * inspector/front-end/Settings.js:
40991         (WebInspector.Settings.prototype.inspectedURLChanged):
40992         (WebInspector.Settings.prototype.get projectId):
40993         (WebInspector.Settings.prototype.findSettingForAllProjects):
40994         (WebInspector.Settings.prototype._formatProjectKey):
40995         * inspector/front-end/inspector.js:
40996         (WebInspector.createDOMBreakpointsSidebarPane):
40997         (WebInspector.createXHRBreakpointsSidebarPane):
40998         (WebInspector.reset):
40999         (WebInspector.inspectedURLChanged):
41000
41001 2010-12-15  Mario Sanchez Prada  <msanchez@igalia.com>
41002
41003         Unreviewed, fix compilation warnings after r74066.
41004
41005         * rendering/RenderBox.cpp:
41006         (WebCore::layersUseImage): Place this static function between the
41007         same if-def region used in the only place where it's called from.
41008
41009 2010-12-15  Emil Eklund  <eae@chromium.org>
41010
41011         Reviewed by Adam Barth.
41012
41013         Change ContainerNode::willRemoveChildren to not fire mutation events for children
41014         added as a result of a mutation event, thereby avoiding an infinite loop.
41015         https://bugs.webkit.org/show_bug.cgi?id=51079
41016
41017         Test: fast/dom/containerNode.html
41018
41019         * dom/ContainerNode.cpp:
41020         (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event.
41021
41022 2010-12-14  Dan Bernstein  <mitz@apple.com>
41023
41024         Reviewed by Maciej Stachowiak.
41025
41026         <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value
41027         https://bugs.webkit.org/show_bug.cgi?id=51096
41028
41029         Test: fast/css/appearance-caps-lock-indicator.html
41030
41031         * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be
41032         accepted by the parser, and added comments about maintaining the list of appearance values.
41033         * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum.
41034
41035 2010-12-14  takano takumi  <takano@apple.com>
41036
41037         Reviewed by Dan Bernstein.
41038
41039         text-combine value names have been changed in the css3 proposal.
41040         https://bugs.webkit.org/show_bug.cgi?id=51089
41041
41042         Changed text-combine's value names from "none|cluster|upright" to "none|horizontal".
41043
41044         * css/CSSParser.cpp: Changed value name.
41045         (WebCore::CSSParser::parseValue):
41046         * css/CSSPrimitiveValueMappings.h: Changed value name.
41047         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
41048         (WebCore::CSSPrimitiveValue::operator TextCombine):
41049         * css/CSSValueKeywords.in: No more text-combine specific values needed since
41050         "horizontal" is already there.
41051         * rendering/style/RenderStyleConstants.h: Changed value name.
41052         * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size.
41053
41054 2010-12-14  Koan-Sin Tan  <koansin.tan@gmail.com>
41055
41056         Reviewed by Alexey Proskuryakov.
41057
41058         Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
41059         https://bugs.webkit.org/show_bug.cgi?id=51012
41060
41061         Kana should be displayed correctly in vertical text with broken font.
41062
41063         Test: fast/blockflow/japanese-rl-text-with-broken-font.html
41064
41065         * platform/graphics/Font.cpp:
41066         (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms
41067
41068 2010-12-14  Dan Bernstein  <mitz@apple.com>
41069
41070         Reviewed by Sam Weinig.
41071
41072         Additional RenderStyle support for the text-emphasis CSS property
41073         Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
41074         https://bugs.webkit.org/show_bug.cgi?id=48539
41075
41076         No test possible, since this is just adding a function to be used by upcoming patches.
41077
41078         * platform/text/CharacterNames.h: Added characters used as emphasis marks.
41079         * rendering/style/RenderStyle.cpp:
41080         (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the
41081         emphasis mark, or the null AtomicString if there is none.
41082         * rendering/style/RenderStyle.h:
41083
41084 2010-12-14  Anton D'Auria  <adauria@apple.com>
41085
41086         Reviewed by Darin Adler.
41087
41088         Do not allow access to existing HTML5 databases in private browsing
41089         mode https://bugs.webkit.org/show_bug.cgi?id=49332
41090
41091         Test: storage/private-browsing-noread-nowrite.html
41092
41093         Previously, read-only transactions and private browsing mode were
41094         represented by the same SQLStatement and DatabaseAuthorizer states.
41095         This patch removes the m_readOnly member variable from SQLStatement and
41096         DatabaseAuthorizer, and replaces it with m_permissions whose bit fields
41097         are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite,
41098         ReadOnly, NoAccess). A read-only transaction sets permissions to
41099         ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(),
41100         then permissions also set to NoAccess.
41101
41102         * dom/Document.cpp:
41103         (WebCore::Document::allowDatabaseAccess): this method was previously
41104         called isDatabaseReadOnly. It checks if private browsing preference is
41105         set. This method is renamed because it is used to check if private
41106         browsing restricts access to databases.
41107         * dom/Document.h:
41108         * dom/ScriptExecutionContext.h:
41109         * storage/AbstractDatabase.cpp:
41110         (WebCore::AbstractDatabase::setAuthorizerPermissions):
41111         * storage/AbstractDatabase.h:
41112         * storage/DatabaseAuthorizer.cpp:
41113         (WebCore::DatabaseAuthorizer::reset):
41114         (WebCore::DatabaseAuthorizer::createTable):
41115         (WebCore::DatabaseAuthorizer::createTempTable):
41116         (WebCore::DatabaseAuthorizer::dropTable):
41117         (WebCore::DatabaseAuthorizer::dropTempTable):
41118         (WebCore::DatabaseAuthorizer::allowAlterTable):
41119         (WebCore::DatabaseAuthorizer::createIndex):
41120         (WebCore::DatabaseAuthorizer::createTempIndex):
41121         (WebCore::DatabaseAuthorizer::dropIndex):
41122         (WebCore::DatabaseAuthorizer::dropTempIndex):
41123         (WebCore::DatabaseAuthorizer::createTrigger):
41124         (WebCore::DatabaseAuthorizer::createTempTrigger):
41125         (WebCore::DatabaseAuthorizer::dropTrigger):
41126         (WebCore::DatabaseAuthorizer::dropTempTrigger):
41127         (WebCore::DatabaseAuthorizer::createView):
41128         (WebCore::DatabaseAuthorizer::createTempView):
41129         (WebCore::DatabaseAuthorizer::dropView):
41130         (WebCore::DatabaseAuthorizer::dropTempView):
41131         (WebCore::DatabaseAuthorizer::createVTable):
41132         (WebCore::DatabaseAuthorizer::dropVTable):
41133         (WebCore::DatabaseAuthorizer::allowDelete):
41134         (WebCore::DatabaseAuthorizer::allowInsert):
41135         (WebCore::DatabaseAuthorizer::allowUpdate):
41136         (WebCore::DatabaseAuthorizer::allowRead):
41137         (WebCore::DatabaseAuthorizer::allowReindex):
41138         (WebCore::DatabaseAuthorizer::allowWrite): a new private method that
41139         checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or
41140         NoAccess mode.
41141         (WebCore::DatabaseAuthorizer::setReadOnly):
41142         (WebCore::DatabaseAuthorizer::setPermissions):
41143         * storage/DatabaseAuthorizer.h:
41144         * storage/SQLStatement.cpp:
41145         (WebCore::SQLStatement::create):
41146         (WebCore::SQLStatement::SQLStatement):
41147         (WebCore::SQLStatement::execute):
41148         * storage/SQLStatement.h:
41149         * storage/SQLStatementSync.cpp:
41150         (WebCore::SQLStatementSync::SQLStatementSync):
41151         (WebCore::SQLStatementSync::execute):
41152         * storage/SQLStatementSync.h:
41153         * storage/SQLTransaction.cpp:
41154         (WebCore::SQLTransaction::executeSQL):
41155         * storage/SQLTransactionSync.cpp:
41156         (WebCore::SQLTransactionSync::executeSQL):
41157         * workers/WorkerContext.h:
41158         (WebCore::WorkerContext::allowDatabaseAccess):
41159
41160 2010-12-02  MORITA Hajime  <morrita@google.com>
41161
41162         Reviewed by Dimitri Glazkov.
41163
41164         [chromium] Fix drawing of inset box shadows
41165         https://bugs.webkit.org/show_bug.cgi?id=41576
41166
41167         When clearing outside clipped path, the context contains unexpected transform.
41168         Fixed to restore original state before the clear.
41169
41170         * platform/graphics/skia/PlatformContextSkia.cpp:
41171         (WebCore::PlatformContextSkia::clipPathAntiAliased):
41172         (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
41173
41174 2010-12-14  Anders Carlsson  <andersca@apple.com>
41175
41176         Reviewed by Sam Weinig.
41177
41178         Mouse Events Not Received in Run Applet in their Own Process Mode
41179         https://bugs.webkit.org/show_bug.cgi?id=51078
41180         <rdar://problem/8333491>
41181
41182         Make sure that Widget::handleEvent is called for applets as well.
41183
41184         * html/HTMLAppletElement.cpp:
41185         (WebCore::HTMLAppletElement::defaultEventHandler):
41186         * html/HTMLAppletElement.h:
41187
41188 2010-12-14  Simon Fraser  <simon.fraser@apple.com>
41189
41190         Reviewed by Chris Marrin.
41191
41192         Parts of page disappear
41193         https://bugs.webkit.org/show_bug.cgi?id=41701
41194         
41195         The page has text-indent: -1000000px on an element that becomes
41196         compositing, causing a huge tiled layer to get created.
41197         
41198         r63452 aimed to fix this by clamping layer bounds to the viewport,
41199         but did not do so for pages running accelerated animations (since
41200         we don't want to clamp for transform animations). However, this
41201         page only has an opacity animation.
41202         
41203         So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false)
41204         for transform animations.
41205
41206         Test: compositing/geometry/limit-layer-bounds-opacity-transition.html
41207
41208         * rendering/RenderLayerBacking.cpp:
41209         (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation()
41210         with the appropriate properties, and clean up confusing logic that was used to
41211         compute the return value. We want to return true if either property is accelerated.
41212
41213         (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation()
41214         with the appropriate property.
41215         
41216         * rendering/RenderLayerCompositor.h:
41217         * rendering/RenderLayerCompositor.cpp:
41218         (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in,
41219         and only turn off overlap testing if we see a transform animation.
41220
41221 2010-12-14  Brady Eidson  <beidson@apple.com>
41222
41223         Reviewed by Alexey Proskuryakov.
41224
41225         <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138
41226         Authorization header is sent from an HTTP Auth protected site on redirect
41227         Test: http/tests/misc/authentication-sent-to-redirect.html
41228
41229         Add helper to clear the Auth headers from a resource request:
41230         * platform/network/ResourceRequestBase.cpp:
41231         (WebCore::ResourceRequestBase::clearHTTPAuthorization):
41232         * platform/network/ResourceRequestBase.h:
41233
41234         Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them:
41235         * platform/network/cf/ResourceHandleCFNet.cpp:
41236         (WebCore::ResourceHandle::willSendRequest):
41237         * platform/network/mac/ResourceHandleMac.mm:
41238         (WebCore::ResourceHandle::willSendRequest):
41239
41240 2010-12-14  Simon Fraser  <simon.fraser@apple.com>
41241
41242         Reviewed by Chris Marrin.
41243
41244         Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL
41245         https://bugs.webkit.org/show_bug.cgi?id=51072
41246
41247         Fix a crash when painting a layer whose PlatformCALayer has been deleted,
41248         by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer
41249         is destroyed.
41250         
41251         I was not able to reduce the page to a simple testcase.
41252
41253         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
41254         (PlatformCALayer::~PlatformCALayer):
41255
41256 2010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41257
41258         Unreviewed, build fix.
41259
41260         [Qt] Fix the list of header files in WebCore.pro after r74049.
41261
41262         No new tests as there is no new functionality.
41263
41264         * WebCore.pro:
41265
41266 2010-12-14  Yael Aharon  <yael.aharon@nokia.com>
41267
41268         Reviewed by Andreas Kling.
41269
41270         [Qt] Focus rings are ugly, rects should be united instead of drawn individually
41271         https://bugs.webkit.org/show_bug.cgi?id=49953
41272
41273         Create a QPainterPath and add to it the focus rects, one at a time.
41274         Combine the 2 drawFocusRing functions into one function drawFocusRingForPath.
41275
41276         Tests: fast/css/focus-ring-detached.html
41277                fast/css/focus-ring-multiline.html
41278
41279         * platform/graphics/qt/GraphicsContextQt.cpp:
41280         (WebCore::drawFocusRingForPath):
41281         (WebCore::GraphicsContext::drawFocusRing):
41282
41283 2010-12-14  Mark Rowe  <mrowe@apple.com>
41284
41285         Fix the Qt build.
41286
41287         * xml/XSLTProcessorQt.cpp:
41288         (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit
41289         since QVariant can be constructed from either a QString or a bool.
41290
41291 2010-12-14  Simon Fraser  <simon.fraser@apple.com>
41292
41293         Reviewed by Dan Bernstein.
41294
41295         compositing/masks/simple-composited-mask.html failure
41296         https://bugs.webkit.org/show_bug.cgi?id=49746
41297
41298         Geometry of composited layers with a mask depends on the loading
41299         of the mask image, since maskClipRect() is used for the layer bounds.
41300         
41301         So when RenderBox::imageChanged() is called for an image used by
41302         a mask on a layer with a composited mask, call the newly-renamed
41303         layer->contentsChanged() method. This percolates down into RenderLayerBacking,
41304         ending in a layer geometry update.
41305         
41306         Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added
41307         an enum to say what changed, for somewhat more efficient updating.
41308         
41309         Also, when the mask layer gets resized, make sure we mark it as needing
41310         display.
41311         
41312         Tested by pixel result of compositing/masks/simple-composited-mask.html
41313
41314         * html/canvas/CanvasRenderingContext2D.cpp:
41315         (WebCore::CanvasRenderingContext2D::didDraw):
41316         * html/canvas/WebGLRenderingContext.cpp:
41317         (WebCore::WebGLRenderingContext::markContextChanged):
41318         (WebCore::WebGLRenderingContext::reshape):
41319         * rendering/RenderBox.cpp:
41320         (WebCore::layersUseImage):
41321         (WebCore::RenderBox::imageChanged):
41322         * rendering/RenderImage.cpp:
41323         (WebCore::RenderImage::imageDimensionsChanged):
41324         (WebCore::RenderImage::notifyFinished):
41325         * rendering/RenderLayer.cpp:
41326         (WebCore::RenderLayer::contentChanged):
41327         * rendering/RenderLayer.h:
41328         * rendering/RenderLayerBacking.cpp:
41329         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
41330         (WebCore::RenderLayerBacking::contentChanged):
41331         * rendering/RenderLayerBacking.h:
41332         * rendering/RenderVideo.cpp:
41333         (WebCore::RenderVideo::updatePlayer):
41334
41335 2010-12-14  Mark Rowe  <mrowe@apple.com>
41336
41337         Reviewed by Sam Weinig.
41338
41339         <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
41340
41341         We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in
41342         to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly.
41343
41344         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
41345         (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.
41346
41347 2010-12-14  David Hyatt  <hyatt@apple.com>
41348
41349         Reviewed by Dan Bernstein.
41350
41351         https://bugs.webkit.org/show_bug.cgi?id=50970
41352         
41353         It's arguably a bug, but we don't let inline flow layers paint floating
41354         descendants.  The containing block of the inline flow paints them instead.
41355         However our shouldPaint logic has always been flawed and has turned off propagation
41356         of painting when an inline flow layer is enclosing the float.
41357         
41358         Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise
41359         and for now limit it to RenderBoxes. 
41360         
41361         Added fast/block/float/floatstack.html
41362
41363         * rendering/RenderBlock.cpp:
41364         (WebCore::RenderBlock::addOverhangingFloats):
41365         * rendering/RenderBox.cpp:
41366         (WebCore::RenderBox::enclosingFloatPaintingLayer):
41367         * rendering/RenderBox.h:
41368         * rendering/RenderObject.cpp:
41369         * rendering/RenderObject.h:
41370
41371 2010-12-14  Mihai Parparita  <mihaip@chromium.org>
41372
41373         Reviewed by Dimitri Glazkov.
41374
41375         Move asynchronous event dispatching out of Document
41376         https://bugs.webkit.org/show_bug.cgi?id=49785
41377         
41378         Move asynchonous event code out of Document and into a standalone
41379         EventQueue class (which supports async events for both regular nodes
41380         and the window object).
41381
41382         No new tests necessary, since no new functionality is exposed (existing
41383         layout tests pass).
41384
41385         * Android.mk:
41386         * CMakeLists.txt:
41387         * GNUmakefile.am:
41388         * WebCore.gypi:
41389         * WebCore.pro:
41390         * WebCore.vcproj/WebCore.vcproj:
41391         * WebCore.xcodeproj/project.pbxproj:
41392         * dom/Document.cpp:
41393         (WebCore::Document::Document):
41394         (WebCore::Document::enqueueWindowEvent):
41395         (WebCore::Document::enqueueHashchangeEvent):
41396         * dom/DOMAllInOne.cpp:
41397         (WebCore::Document::eventQueue):
41398         * dom/Document.h:
41399         * dom/EventQueue.cpp: Added.
41400         (WebCore::EventQueue::EventQueue):
41401         (WebCore::EventQueue::enqueueEvent):
41402         (WebCore::EventQueue::pendingEventTimerFired):
41403         (WebCore::EventQueue::dispatchEvent):
41404         * dom/EventQueue.h: Added.
41405         * storage/StorageEventDispatcher.cpp:
41406         (WebCore::StorageEventDispatcher::dispatch):
41407
41408 2010-12-14  Kyounga Ra  <kyounga.ra@gmail.com>
41409
41410         Reviewed by Adam Barth.
41411
41412         <noscript> is rendered with enabled XHTMLMP.
41413         https://bugs.webkit.org/show_bug.cgi?id=48493
41414
41415         * html/HTMLElement.cpp:
41416         (WebCore::HTMLElement::rendererIsNeeded):
41417
41418 2010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41419
41420         Reviewed by Eric Seidel.
41421
41422         [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported
41423         https://bugs.webkit.org/show_bug.cgi?id=50231
41424
41425         No new tests as there is no new functionality.
41426
41427         Guard CONFIG+=link_pkgconfig with !symbian.
41428
41429         * WebCore.pro:
41430
41431 2010-12-14  Sheriff Bot  <webkit.review.bot@gmail.com>
41432
41433         Unreviewed, rolling out r74040.
41434         http://trac.webkit.org/changeset/74040
41435         https://bugs.webkit.org/show_bug.cgi?id=51050
41436
41437         Breaks 2d.shadow.canvas.transparent.2 and
41438         2d.shadow.image.transparent.2 (Requested by helder on
41439         #webkit).
41440
41441         * platform/graphics/ContextShadow.cpp:
41442         (WebCore::ContextShadow::ContextShadow):
41443         (WebCore::ContextShadow::calculateLayerBoundingRect):
41444         * platform/graphics/ContextShadow.h:
41445         (WebCore::ContextShadow::offset):
41446         * platform/graphics/qt/ContextShadowQt.cpp:
41447         (WebCore::ContextShadow::beginShadowLayer):
41448         (WebCore::ContextShadow::endShadowLayer):
41449         * platform/graphics/qt/GraphicsContextQt.cpp:
41450         (WebCore::GraphicsContext::fillPath):
41451         (WebCore::GraphicsContext::strokePath):
41452         (WebCore::GraphicsContext::fillRect):
41453         (WebCore::GraphicsContext::fillRoundedRect):
41454         (WebCore::GraphicsContext::setPlatformShadow):
41455
41456 2010-12-14  Nate Chapin  <japhet@chromium.org>
41457
41458         Unreviewed, fixing qt (hopefully for real this time).
41459
41460         Remove a couple more references to loader.h.
41461
41462         * xml/XSLStyleSheetQt.cpp:
41463         * xml/XSLTProcessorQt.cpp:
41464
41465 2010-12-14  Nate Chapin  <japhet@chromium.org>
41466
41467         Unreviewed, fix mac and qt builds.
41468
41469         Missed a couple of references to loader.h and
41470         improperly added CachedResourceRequest.h to
41471         WebCore.xcodeproj.
41472
41473         * WebCore.xcodeproj/project.pbxproj:
41474         * platform/android/TemporaryLinkStubs.cpp:
41475         * platform/qt/TemporaryLinkStubsQt.cpp:
41476
41477 2010-12-14  Nate Chapin  <japhet@chromium.org>
41478
41479         Reviewed by Adam Barth.
41480
41481         Rename Loader to CachedResourceRequest.
41482         https://bugs.webkit.org/show_bug.cgi?id=50848
41483
41484         No new tests, rename only.
41485
41486         * Android.mk:
41487         * CMakeLists.txt:
41488         * GNUmakefile.am:
41489         * WebCore.gypi:
41490         * WebCore.pro:
41491         * WebCore.vcproj/WebCore.vcproj:
41492         * WebCore.xcodeproj/project.pbxproj:
41493         * css/CSSStyleSelector.cpp:
41494         * loader/cache/CachedCSSStyleSheet.cpp:
41495         * loader/cache/CachedFont.cpp:
41496         * loader/cache/CachedResource.cpp:
41497         (WebCore::CachedResource::setRequest):
41498         * loader/cache/CachedResource.h:
41499         * loader/cache/CachedResourceLoader.cpp:
41500         (WebCore::CachedResourceLoader::load):
41501         (WebCore::CachedResourceLoader::loadDone):
41502         (WebCore::CachedResourceLoader::cancelRequests):
41503         * loader/cache/CachedResourceLoader.h:
41504         * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp.
41505         * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h.
41506         * loader/loader.cpp: Removed.
41507         * loader/loader.h: Removed.
41508         * xml/XSLStyleSheetLibxslt.cpp:
41509         * xml/XSLTProcessor.cpp:
41510         * xml/XSLTProcessorLibxslt.cpp:
41511
41512 2010-12-14  David Hyatt  <hyatt@apple.com>
41513
41514         Reviewed by Tim Hatcher.
41515
41516         https://bugs.webkit.org/show_bug.cgi?id=46422
41517
41518         Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for
41519         making printing and pagination work with vertical writing modes.
41520
41521         * page/FrameView.cpp:
41522         (WebCore::FrameView::forceLayoutForPagination):
41523         * rendering/LayoutState.cpp:
41524         (WebCore::LayoutState::LayoutState):
41525         (WebCore::LayoutState::clearPaginationInformation):
41526         * rendering/LayoutState.h:
41527         (WebCore::LayoutState::LayoutState):
41528         (WebCore::LayoutState::isPaginated):
41529         (WebCore::LayoutState::pageLogicalHeight):
41530         (WebCore::LayoutState::pageLogicalHeightChanged):
41531         * rendering/RenderBlock.cpp:
41532         (WebCore::RenderBlock::layoutBlock):
41533         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
41534         (WebCore::RenderBlock::insertFloatingObject):
41535         (WebCore::RenderBlock::layoutColumns):
41536         (WebCore::RenderBlock::nextPageTop):
41537         (WebCore::RenderBlock::applyBeforeBreak):
41538         (WebCore::RenderBlock::applyAfterBreak):
41539         (WebCore::RenderBlock::adjustForUnsplittableChild):
41540         (WebCore::RenderBlock::adjustLinePositionForPagination):
41541         * rendering/RenderBlock.h:
41542         * rendering/RenderBox.cpp:
41543         (WebCore::RenderBox::computeLogicalHeight):
41544         * rendering/RenderFlexibleBox.cpp:
41545         (WebCore::RenderFlexibleBox::layoutBlock):
41546         * rendering/RenderTable.cpp:
41547         (WebCore::RenderTable::layout):
41548         * rendering/RenderTableRow.cpp:
41549         (WebCore::RenderTableRow::layout):
41550         * rendering/RenderTableSection.cpp:
41551         (WebCore::RenderTableSection::layoutRows):
41552         * rendering/RenderView.cpp:
41553         (WebCore::RenderView::RenderView):
41554         (WebCore::RenderView::layout):
41555         * rendering/RenderView.h:
41556         (WebCore::RenderView::pageLogicalHeight):
41557         (WebCore::RenderView::setPageLogicalHeight):
41558
41559 2010-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
41560
41561         Fix GTK build by adding source files that were accidentally skipped in
41562         r74044. Sorry!
41563
41564         * GNUmakefile.am: Added SliderThumbElement.
41565
41566 2010-12-14  Beth Dakin  <bdakin@apple.com>
41567
41568         Reviewed by Darin Adler.
41569
41570         Fix for https://bugs.webkit.org/show_bug.cgi?id=50974 
41571         getComputedStyle() returns wrong values for zoomed elements when 
41572         display is none
41573         -and corresponding-
41574         <rdar://problem/8522731>
41575
41576         If there is no renderer but the RenderStyle's value is a fixed 
41577         length, send it through zoomAdjustedPixelValue(). There's not much 
41578         we can do for other length types without a renderer.
41579         * css/CSSComputedStyleDeclaration.cpp:
41580         (WebCore::zoomAdjustedPixelValueForLength):
41581         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
41582
41583 2010-12-13  Dimitri Glazkov  <dglazkov@chromium.org>
41584
41585         Reviewed by David Levin.
41586
41587         Move SliderThumbElement into its own file.
41588         https://bugs.webkit.org/show_bug.cgi?id=50973
41589
41590         No change in behavior, so no tests.
41591
41592         * Android.mk: Added SliderThumbElement.
41593         * CMakeLists.txt: Ditto.
41594         * WebCore.gyp/WebCore.gyp: Ditto.
41595         * WebCore.gypi: Ditto.
41596         * WebCore.pro: Ditto.
41597         * WebCore.vcproj/WebCore.vcproj: Ditto.
41598         * WebCore.xcodeproj/project.pbxproj: Ditto,
41599         * html/shadow/SliderThumbElement.cpp: Added.
41600         * html/shadow/SliderThumbElement.h: Added.
41601         * rendering/RenderSlider.cpp: Removed code that was moved into
41602             SliderThumbElement.
41603
41604 2010-12-13  Alexey Proskuryakov  <ap@apple.com>
41605
41606         Reviewed by Adam Barth.
41607
41608         https://bugs.webkit.org/show_bug.cgi?id=50953
41609         DNS Prefetch should be an opt-in feature
41610
41611         No new tests, can't test DNS.
41612
41613         * dom/Document.h: Made initDNSPrefetch public, since Page now calls it.
41614
41615         * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged):
41616         * page/Page.h:
41617         Documents cache the value of this setting, so they need to be notified of changes. In particular,
41618         the first document in a page is created before settings are applied.
41619
41620         * page/Settings.cpp:
41621         (WebCore::Settings::Settings): Changed default to false.
41622         (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change.
41623
41624 2010-12-14  Helder Correia  <helder@sencha.com>
41625
41626         Reviewed by Ariya Hidayat.
41627
41628         [Qt] Canvas shadow offset should not be affected by any transformation
41629         https://bugs.webkit.org/show_bug.cgi?id=50422
41630
41631         On a canvas context, shadows are currently affected by all
41632         transformations except scaling. According to the spec:
41633         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
41634
41635         "The shadowOffsetX and shadowOffsetY attributes specify the distance
41636         that the shadow will be offset in the positive horizontal and positive
41637         vertical distance respectively. Their values are in coordinate space
41638         units. They are not affected by the current transformation matrix."
41639
41640         NOTE: this applies only to canvas, not to box shadows.
41641
41642         Test: fast/canvas/canvas-transforms-fillRect-shadow.html
41643
41644         * platform/graphics/ContextShadow.cpp:
41645         (WebCore::ContextShadow::ContextShadow):
41646         (WebCore::ContextShadow::calculateLayerBoundingRect):
41647         * platform/graphics/ContextShadow.h:
41648         (WebCore::ContextShadow::setShadowsIgnoreTransforms):
41649         (WebCore::ContextShadow::shadowsIgnoreTransforms):
41650         (WebCore::ContextShadow::offset):
41651         * platform/graphics/qt/ContextShadowQt.cpp:
41652         (WebCore::ContextShadow::beginShadowLayer):
41653         (WebCore::ContextShadow::endShadowLayer):
41654         * platform/graphics/qt/GraphicsContextQt.cpp:
41655         (WebCore::mustUseContextShadow):
41656         (WebCore::GraphicsContext::fillPath):
41657         (WebCore::GraphicsContext::strokePath):
41658         (WebCore::GraphicsContext::fillRect):
41659         (WebCore::GraphicsContext::fillRoundedRect):
41660         (WebCore::GraphicsContext::setPlatformShadow):
41661
41662 2010-12-14  Alexander Pavlov  <apavlov@chromium.org>
41663
41664         Reviewed by Yury Semikhatsky.
41665
41666         Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted
41667         https://bugs.webkit.org/show_bug.cgi?id=51034
41668
41669         * inspector/front-end/CSSStyleModel.js:
41670         (WebInspector.CSSStyleModel.prototype._onRevert):
41671         * inspector/front-end/ElementsPanel.js:
41672         (WebInspector.ElementsPanel):
41673         (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
41674         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
41675         (WebInspector.ElementsPanel.prototype._styleSheetChanged):
41676
41677 2010-12-14  Andreas Kling  <andreas.kling@nokia.com>
41678
41679         Reviewed by Kenneth Rohde Christiansen.
41680
41681         [Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
41682         https://bugs.webkit.org/show_bug.cgi?id=51037
41683
41684         It's enough to restore the CompositeOperator after drawing.
41685
41686         * platform/graphics/qt/ImageQt.cpp:
41687         (WebCore::Image::drawPattern):
41688
41689 2010-12-14  Eric Carlson  <eric.carlson@apple.com>
41690
41691         Reviewed by Dan Bernstein.
41692
41693         <rdar://problem/8763862>
41694         r72017 used incorrect compiler conditional.
41695
41696         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
41697         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
41698
41699 2010-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
41700
41701         Reviewed by Martin Robinson.
41702
41703         [GTK] Simplify context-menu handling code
41704         https://bugs.webkit.org/show_bug.cgi?id=49658
41705
41706         * platform/ContextMenuItem.h:
41707         * platform/gtk/ContextMenuGtk.cpp:
41708         (WebCore::ContextMenu::appendItem):
41709         * platform/gtk/ContextMenuItemGtk.cpp:
41710         (WebCore::ContextMenuItem::ContextMenuItem):
41711         (WebCore::ContextMenuItem::~ContextMenuItem):
41712         (WebCore::ContextMenuItem::releasePlatformDescription):
41713         (WebCore::ContextMenuItem::type):
41714         (WebCore::ContextMenuItem::setType):
41715         (WebCore::ContextMenuItem::action):
41716         (WebCore::ContextMenuItem::setAction):
41717         (WebCore::ContextMenuItem::title):
41718         (WebCore::ContextMenuItem::setTitle):
41719         (WebCore::ContextMenuItem::platformSubMenu):
41720         (WebCore::ContextMenuItem::setSubMenu):
41721         (WebCore::ContextMenuItem::setChecked):
41722         (WebCore::ContextMenuItem::setEnabled):
41723
41724 2010-12-14  Mario Sanchez Prada  <msanchez@igalia.com>
41725
41726         Reviewed by Xan Lopez.
41727
41728         [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects
41729         https://bugs.webkit.org/show_bug.cgi?id=27048
41730
41731         Handle focus change for text objects based in caret changes.
41732
41733         As text objects (such as paragraphs) seem not to accept focus in
41734         WebCore in the same way other objects (text controls) do, a
41735         Gtk-specific workaround is needed to expose this states and the
41736         related events to ATK-based assistive technologies.
41737
41738         Test: platform/gtk/accessibility/caret-browsing-text-focus.html
41739
41740         Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE
41741         state, and that the ATK_STATE_FOCUSED state is added to those
41742         text objects containing the currently active caret selection.
41743
41744         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
41745         (selectionBelongsToObject): Moved upwards to use it from
41746         the new isTextWithCaret() function.
41747         (isTextWithCaret): New, checks whether an accessibility object
41748         represents a text object with the current caret selection on it.
41749         (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state
41750         when also when isTextWithCaret(coreObject) returns true.
41751         (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE
41752         state to text objects and those with the ATK_ROLE_PARAGRAPH role.
41753         (webkit_accessible_text_get_n_selections): Optimize return expression.
41754
41755         Make sure the proper events associated to a change of focus are
41756         emitted, based on caret changes across different accessibility
41757         objects. Also, refactored the code in more manageable and
41758         understandable helper functions.
41759
41760         * editing/gtk/SelectionControllerGtk.cpp:
41761         (WebCore::emitTextSelectionChange): New, includes the specific
41762         code formerly placed in notifyAccessibilityForSelectionChange() to
41763         emit the 'text-caret-moved' and 'text-selection-change' signals.
41764         (WebCore::maybeEmitTextFocusChange): New, takes care of emitting
41765         the 'focus-event' and 'state-changed::focused' signals when
41766         needed, that is, when a change in the selection happens across
41767         different accessible objects.
41768         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
41769         Refactored some code here, by using the new helper functions.
41770
41771 2010-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
41772
41773         Reviewed by Pavel Feldman.
41774
41775         Web Inspector: regroup Inspector.idl entries.
41776         Just for better visibility.
41777
41778         https://bugs.webkit.org/show_bug.cgi?id=51025
41779
41780         * inspector/Inspector.idl:
41781
41782 2010-12-14  Alexander Pavlov  <apavlov@chromium.org>
41783
41784         Reviewed by Yury Semikhatsky.
41785
41786         Web Inspector: Reverted stylesheet breaks style data
41787         https://bugs.webkit.org/show_bug.cgi?id=51030
41788
41789         * inspector/InspectorStyleSheet.cpp:
41790         (WebCore::InspectorStyleSheet::reparseStyleSheet):
41791
41792 2010-12-14  Mads Ager  <ager@chromium.org>
41793
41794         Reviewed by Pavel Feldman.
41795
41796         [V8] Reflected unsigned attributes should be in the range [0, 2^31)
41797         https://bugs.webkit.org/show_bug.cgi?id=51023
41798
41799         Follow the changes made to CodeGeneratorJS.pm to return 0 for
41800         reflected unsigned attributes that are outside the allowed range.
41801         See https://bugs.webkit.org/show_bug.cgi?id=50472
41802
41803         * bindings/scripts/CodeGeneratorV8.pm:
41804
41805 2010-12-14  Charlie Reis  <creis@chromium.org>
41806
41807         Reviewed by Darin Adler.
41808
41809         Remove stale include of Document.h in V8DOMWrapper.h
41810         https://bugs.webkit.org/show_bug.cgi?id=50607
41811
41812         We no longer need to include Document.h or V8DOMMap.h in
41813         V8DOMWrapper.  Removing them to avoid dependencies.
41814
41815         * bindings/v8/V8DOMWrapper.h:
41816
41817 2010-12-14  Julien Chaffraix  <jchaffraix@codeaurora.org>
41818
41819         Reviewed by Darin Adler.
41820
41821         Test for: EventSource fails to connect if Content-Type header has a charset attribute
41822         https://bugs.webkit.org/show_bug.cgi?id=45372
41823
41824         Tests: http/tests/eventsource/eventsource-content-type-charset.html
41825                http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html
41826
41827         * page/EventSource.cpp:
41828         (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type
41829         header directly. This makes the detection of the "text/stream" mimeType more accurate.
41830
41831 2010-12-14  Pieter Senster  <psenster@google.com>
41832
41833         Reviewed by Dirk Schulze.
41834
41835         Incorporate the channel offsets from the ColorMatrix filter in the filter calculation
41836         https://bugs.webkit.org/show_bug.cgi?id=50682
41837
41838         Test: svg/filters/feColorMatrix-offset.svg
41839
41840         * platform/graphics/filters/FEColorMatrix.cpp:
41841         (WebCore::matrix):
41842
41843 2010-12-14  Jarred Nicholls  <jarred@sencha.com>
41844
41845         Reviewed by Kenneth Rohde Christiansen.
41846
41847         Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer)
41848
41849         No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles.
41850
41851         * platform/qt/ClipboardQt.cpp:
41852         (WebCore::ClipboardQt::files):
41853
41854 2010-12-13  Antonio Gomes  <agomes@rim.com>
41855
41856         Rubber stamped by Daniel Bates.
41857
41858         Spatial Navigation: code clean up (part V)
41859         https://bugs.webkit.org/show_bug.cgi?id=50666
41860
41861         No new tests needed.
41862
41863         * page/SpatialNavigation.cpp:
41864         (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not
41865         supposed to change within this function.
41866         * page/SpatialNavigation.h: Ditto.
41867
41868 2010-12-13  takano takumi  <takano@apple.com>
41869
41870         Reviewed by Dan Bernstein.
41871
41872         GlyphPage::fill() is slow on vertical writing (Mac)
41873         https://bugs.webkit.org/show_bug.cgi?id=50865
41874
41875         No test. Just a performance improvement.
41876
41877         * platform/graphics/Font.cpp:
41878         (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji).
41879         (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols.
41880         * platform/graphics/Font.h:
41881         * platform/graphics/FontFastPath.cpp:
41882         (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph().
41883         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
41884         (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not.
41885         For vertical writing, if the current page contains only ideographs, we go CG path.
41886         (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path.
41887
41888 2010-12-13  Antonio Gomes  <agomes@rim.com>
41889
41890         Reviewed by Daniel Bates.
41891
41892         Spatial Navigation: code clean up (part IV)
41893         https://bugs.webkit.org/show_bug.cgi?id=50666
41894
41895         Avoid calling canScrollInDirection more than necessary.
41896
41897         No new tests needed.
41898
41899         * page/FocusController.cpp:
41900         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection()
41901         to within the scrollInDirection().
41902         * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function.
41903         (WebCore::scrollInDirection):
41904
41905 2010-12-13  Antonio Gomes  <agomes@rim.com>
41906
41907         Reviewed by Daniel Bates.
41908
41909         Spatial Navigation: code clean up (part III)
41910         https://bugs.webkit.org/show_bug.cgi?id=50666
41911
41912         No new tests needed.
41913
41914         * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and
41915         WebCore::frameOwnerElement helper functions.
41916         (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer
41917         wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false
41918         otherwise.
41919         * page/SpatialNavigation.cpp:
41920         (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with
41921         the FocusCandidate if appropriate.
41922         * page/FocusController.cpp:
41923         (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper.
41924         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto.
41925
41926 2010-12-13  Mike Lawther  <mikelawther@chromium.org>
41927
41928         Reviewed by Daniel Bates.
41929
41930         [skia] ignore transform for canvas shadows
41931         https://bugs.webkit.org/show_bug.cgi?id=50437
41932
41933         * platform/graphics/skia/GraphicsContextSkia.cpp:
41934         (WebCore::GraphicsContext::setPlatformShadow):
41935
41936 2010-12-13  Dai Mikurube  <dmikurube@google.com>
41937
41938         Reviewed by Kent Tamura.
41939
41940         ValidityState's exposed functions should check if willValidate() is true before all
41941         https://bugs.webkit.org/show_bug.cgi?id=50617
41942
41943         Added checking willValidate() to exposed functions. And modified willValidate() behavior
41944         for <button type="submit"> and <input type="submit"> to return true if not disabled and
41945         not readonly.
41946
41947         * html/HTMLButtonElement.cpp:
41948         (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type.
41949         (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec.
41950         * html/HTMLButtonElement.h:
41951         * html/SubmitInputType.cpp:
41952         (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec.
41953         (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available.
41954         * html/SubmitInputType.h:
41955         * html/ValidityState.cpp: Added checking willValidate().
41956         (WebCore::ValidityState::typeMismatch):
41957         (WebCore::ValidityState::patternMismatch):
41958         (WebCore::ValidityState::tooLong):
41959         (WebCore::ValidityState::rangeUnderflow):
41960         (WebCore::ValidityState::rangeOverflow):
41961         (WebCore::ValidityState::stepMismatch):
41962         (WebCore::ValidityState::customError):
41963         * html/ValidityState.h:
41964
41965 2010-12-13  Noel Gordon  <noel.gordon@gmail.com>
41966
41967         Reviewed by David Levin.
41968
41969         [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
41970         https://bugs.webkit.org/show_bug.cgi?id=50545
41971
41972         Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.
41973
41974         No new tests, no change in behaviour.
41975
41976         * platform/graphics/skia/ImageBufferSkia.cpp:
41977         (WebCore::putImageData):
41978
41979 2010-12-13  Gavin Peters  <gavinp@chromium.org>
41980
41981         Reviewed by Adam Barth.
41982
41983         Re land Purpose after bad merge
41984         https://bugs.webkit.org/show_bug.cgi?id=51000
41985
41986         * loader/loader.cpp:
41987         (WebCore::Loader::load):
41988
41989 2010-12-13  Dan Bernstein  <mitz@apple.com>
41990
41991         Reviewed by Simon Fraser.
41992
41993         <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified
41994         https://bugs.webkit.org/show_bug.cgi?id=50979
41995
41996         Many test results updated.
41997
41998         * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and
41999         affectsDescent in the used-fonts code path. Renamed variables for clarity. Added
42000         a check whether usedFonts is empty (which it might be if there is glyph overflow
42001         but no fallback) as an optimization.
42002
42003 2010-12-13  Mark Rowe  <mrowe@apple.com>
42004
42005         Rubber-stamped by Jon Honeycutt.
42006
42007         Remove unnecessary include of Switch module.
42008
42009         There are no switch statements in this file.
42010
42011         * dom/make_names.pl:
42012
42013 2010-12-13  Emil Eklund  <eae@chromium.org>
42014
42015         Reviewed by Dimitri Glazkov.
42016
42017         Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM
42018         tree instead of the render tree.
42019         https://bugs.webkit.org/show_bug.cgi?id=50989
42020
42021         * editing/SelectionController.cpp:
42022         (WebCore::SelectionController::setFocusedNodeIfNeeded):
42023         Walk up DOM/hosted tree rather than render tree and remove FIXME comment
42024         that does't apply (SelectionController and EventHandler needs different
42025         checks).
42026
42027 2010-12-13  Chris Fleizach  <cfleizach@apple.com>
42028
42029         Reviewed by Beth Dakin.
42030
42031         AX: aria-invalid should be supported.
42032         https://bugs.webkit.org/show_bug.cgi?id=50573
42033
42034         Test: platform/mac/accessibility/aria-invalid.html
42035
42036         * accessibility/AXObjectCache.h:
42037         * accessibility/AccessibilityObject.cpp:
42038         (WebCore::AccessibilityObject::invalidStatus):
42039         * accessibility/AccessibilityObject.h:
42040         * accessibility/chromium/AXObjectCacheChromium.cpp
42041         (WebCore::AXObjectCache::postPlatformNotification):
42042         * accessibility/mac/AXObjectCacheMac.mm:
42043         (WebCore::AXObjectCache::postPlatformNotification):
42044         * accessibility/mac/AccessibilityObjectWrapper.mm:
42045         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
42046         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
42047         * dom/Element.cpp:
42048         (WebCore::Element::updateAfterAttributeChanged):
42049         * html/HTMLAttributeNames.in:
42050
42051 2010-12-13  Joone Hur  <joone@kldp.org>
42052
42053         Reviewed by Eric Seidel.
42054
42055         WebKit fails to compile when building with WML support enabled
42056         https://bugs.webkit.org/show_bug.cgi?id=42943
42057
42058         Use TextPosition instead of lineNumber() and columNumber().
42059
42060         No new tests are added, because this is just a build fix.
42061
42062         * dom/XMLDocumentParser.h: Make lineNumber() private.
42063         * wml/WMLErrorHandling.cpp:
42064         (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().
42065
42066 2010-12-13  Chris Fleizach  <cfleizach@apple.com>
42067
42068         Reviewed by Beth Dakin.
42069
42070         AX: lists and list boxes need different attributes
42071         https://bugs.webkit.org/show_bug.cgi?id=50978
42072
42073         Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).
42074
42075         * accessibility/mac/AccessibilityObjectWrapper.mm:
42076         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
42077
42078 2010-12-13  David Hyatt  <hyatt@apple.com>
42079
42080         Reviewed by Sam Weinig.
42081
42082         https://bugs.webkit.org/show_bug.cgi?id=50963
42083
42084         REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
42085        
42086         The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box
42087         of the root layer.  This bounding box was only coincidentally incorporating overflow as part of the 
42088         RenderLayer's bounds.  Since I fixed the RenderLayer bounds to not include layout overflow any longer,
42089         this check is now exposed as incorrect.  Use the entire document size  when computing layer clip
42090         rects.
42091
42092         * rendering/RenderLayer.cpp:
42093         (WebCore::RenderLayer::childrenClipRect):
42094         (WebCore::RenderLayer::selfClipRect):
42095         * rendering/RenderView.h:
42096         (WebCore::RenderView::documentRect):
42097
42098 2010-12-13  Simon Fraser  <simon.fraser@apple.com>
42099
42100         GraphicsContextPrivate.h was removed. Nuke it from the project.
42101         
42102         * WebCore.xcodeproj/project.pbxproj:
42103
42104 2010-12-13  Eric Carlson  <eric.carlson@apple.com>
42105
42106         Reviewed by Antti Koivisto.
42107
42108         HTMLMediaElement::endedPlayback should not return true if duration is zero
42109         https://bugs.webkit.org/show_bug.cgi?id=50962
42110
42111         (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a 
42112         media file can't play if it has no duration, therefore it can't have ended playback.
42113
42114 2010-12-13  Brent Fulgham  <bfulgham@webkit.org>
42115
42116         Unreviewed build fix after r73840.
42117
42118         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file
42119         to pass three arguments to build-generated-files.sh, just like
42120         the official Apple port.
42121
42122 2010-12-13  David Hyatt  <hyatt@apple.com>
42123
42124         Reviewed by Adam Roben.
42125
42126         Make sure the defaultSpaceEventHandler does logical scrolling.
42127
42128         * page/EventHandler.cpp:
42129         (WebCore::EventHandler::defaultSpaceEventHandler):
42130
42131 2010-12-13  Matthew Delaney  <mdelaney@apple.com>
42132
42133         Reviewed by Simon Fraser.
42134
42135         https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas
42136
42137         No new tests necessary.
42138
42139         * Configurations/WebCore.xcconfig: Added IOSurface framework link.
42140         * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead.
42141         * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor.
42142         * platform/graphics/cairo/ImageBufferCairo.cpp:
42143         * platform/graphics/cg/ImageBufferCG.cpp:
42144         * platform/graphics/haiku/ImageBufferHaiku.cpp:
42145         * platform/graphics/qt/ImageBufferQt.cpp:
42146         * platform/graphics/skia/ImageBufferSkia.cpp:
42147         * platform/graphics/wince/ImageBufferWinCE.cpp:
42148         * platform/graphics/wx/ImageBufferWx.cpp:
42149
42150 2010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>
42151
42152         Unreviewed, rolling out r73923.
42153         http://trac.webkit.org/changeset/73923
42154         https://bugs.webkit.org/show_bug.cgi?id=50944
42155
42156         Broke editing/selection/extend-selection-home-end.html on non-
42157         mac platforms. Looks like a real bug. (Requested by ojan on
42158         #webkit).
42159
42160         * editing/SelectionController.cpp:
42161         (WebCore::SelectionController::positionForPlatform):
42162         (WebCore::SelectionController::modifyExtendingForward):
42163
42164 2010-12-13  David Hyatt  <hyatt@apple.com>
42165
42166         Reviewed by Sam Weinig.
42167
42168         https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. 
42169
42170         Add logical scrolling to WebCore.  It basically mirrors physical scrolling but works in abstract logical
42171         directions and only converts to physical when it's time to attempt the scroll.
42172         
42173         Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
42174         frames got skipped over.
42175         
42176         Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
42177         
42178         * WebCore.exp.in:
42179         * page/EventHandler.cpp:
42180         (WebCore::EventHandler::logicalScrollOverflow):
42181         (WebCore::EventHandler::scrollRecursively):
42182         (WebCore::EventHandler::logicalScrollRecursively):
42183         * page/EventHandler.h:
42184         * page/FrameView.cpp:
42185         (WebCore::FrameView::isVerticalDocument):
42186         (WebCore::FrameView::isFlippedDocument):
42187         * page/FrameView.h:
42188         * platform/ScrollTypes.h:
42189         (WebCore::logicalToPhysical):
42190         * platform/ScrollView.cpp:
42191         (WebCore::ScrollView::scroll):
42192         (WebCore::ScrollView::logicalScroll):
42193         * platform/ScrollView.h:
42194         (WebCore::ScrollView::isVerticalDocument):
42195         (WebCore::ScrollView::isFlippedDocument):
42196         * rendering/RenderBox.cpp:
42197         (WebCore::RenderBox::logicalScroll):
42198         * rendering/RenderBox.h:
42199         * rendering/RenderLayer.cpp:
42200         (WebCore::RenderLayer::scroll):
42201         * rendering/RenderListBox.cpp:
42202         (WebCore::RenderListBox::logicalScroll):
42203         * rendering/RenderListBox.h:
42204         * rendering/RenderTextControlSingleLine.cpp:
42205         (WebCore::RenderTextControlSingleLine::logicalScroll):
42206         * rendering/RenderTextControlSingleLine.h:
42207
42208 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42209
42210         Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
42211
42212         REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
42213         https://bugs.webkit.org/show_bug.cgi?id=50950
42214
42215         * Android.jscbindings.mk:
42216         * CMakeLists.txt:
42217         * GNUmakefile.am:
42218         * WebCore.gypi:
42219         * WebCore.order:
42220         * WebCore.pro:
42221         * WebCore.vcproj/WebCore.vcproj:
42222         * WebCore.xcodeproj/project.pbxproj:
42223         * bindings/js/JSBindingsAllInOne.cpp:
42224         * bindings/js/JSDOMBinding.cpp:
42225         (WebCore::reportException):
42226         * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
42227         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
42228         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
42229         (WebCore::JSWorkerContextErrorHandler::handleEvent):
42230         * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
42231         (WebCore::JSWorkerContextErrorHandler::create):
42232         (WebCore::createJSWorkerContextErrorHandler):
42233         * bindings/scripts/CodeGeneratorJS.pm:
42234         * bindings/scripts/CodeGeneratorV8.pm:
42235         * bindings/v8/V8ConsoleMessage.cpp:
42236         (WebCore::V8ConsoleMessage::dispatchNow):
42237         (WebCore::V8ConsoleMessage::handler):
42238         * bindings/v8/V8ConsoleMessage.h:
42239         * bindings/v8/V8WindowErrorHandler.cpp: Removed.
42240         * bindings/v8/V8WindowErrorHandler.h: Removed.
42241         * bindings/v8/WorkerContextExecutionProxy.cpp:
42242         (WebCore::v8MessageHandler):
42243         * bindings/v8/WorkerScriptController.cpp:
42244         (WebCore::WorkerScriptController::evaluate):
42245         * dom/Document.cpp:
42246         (WebCore::Document::reportException):
42247         (WebCore::Document::addMessage):
42248         * dom/Document.h:
42249         * dom/ErrorEvent.cpp:
42250         * dom/ErrorEvent.h:
42251         * dom/Event.cpp:
42252         * dom/Event.h:
42253         * dom/ScriptExecutionContext.cpp:
42254         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
42255         * dom/ScriptExecutionContext.h:
42256         * websockets/WebSocket.cpp:
42257         (WebCore::WebSocket::connect):
42258         * websockets/WebSocketChannel.cpp:
42259         (WebCore::WebSocketChannel::didOpen):
42260         (WebCore::WebSocketChannel::appendToBuffer):
42261         * websockets/WebSocketHandshake.cpp:
42262         (WebCore::WebSocketHandshake::readServerHandshake):
42263         (WebCore::WebSocketHandshake::readStatusLine):
42264         (WebCore::WebSocketHandshake::readHTTPHeaders):
42265         (WebCore::WebSocketHandshake::checkResponseHeaders):
42266         * workers/DefaultSharedWorkerRepository.cpp:
42267         (WebCore::postExceptionTask):
42268         (WebCore::postConsoleMessageTask):
42269         * workers/WorkerContext.cpp:
42270         (WebCore::WorkerContext::WorkerContext):
42271         (WebCore::WorkerContext::reportException):
42272         (WebCore::WorkerContext::addMessage):
42273         * workers/WorkerContext.h:
42274         * workers/WorkerMessagingProxy.cpp:
42275         (WebCore::WorkerExceptionTask::performTask):
42276         (WebCore::postConsoleMessageTask):
42277         * xml/XMLHttpRequest.cpp:
42278         (WebCore::reportUnsafeUsage):
42279
42280 2010-12-13  Antti Koivisto  <antti@apple.com>
42281
42282         Reviewed by Alexey Proskuryakov.
42283
42284         https://bugs.webkit.org/show_bug.cgi?id=50758
42285         <rdar://problem/8722094> 
42286         Defer loading print stylesheets
42287         
42288         - Make preload scanner skip stylesheets with non-screen media types.
42289         - Make it possible to specify non-default load priority from the client.
42290         - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
42291         - Move default priority code from Loader to CachedResource.
42292         - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
42293         - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.
42294
42295         Tests: http/tests/local/link-stylesheet-load-order-preload.html
42296                http/tests/local/link-stylesheet-load-order.html
42297
42298         * WebCore.exp.in:
42299         * WebCore.gypi:
42300         * WebCore.pro:
42301         * WebCore.vcproj/WebCore.vcproj:
42302         * WebCore.xcodeproj/project.pbxproj:
42303         * css/CSSImageValue.cpp:
42304         (WebCore::CSSImageValue::cachedImage):
42305         * html/HTMLLinkElement.cpp:
42306         (WebCore::HTMLLinkElement::process):
42307         * html/parser/HTMLPreloadScanner.cpp:
42308         (WebCore::HTMLNames::PreloadTask::PreloadTask):
42309         (WebCore::HTMLNames::PreloadTask::processAttributes):
42310         (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
42311         (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
42312         (WebCore::HTMLNames::PreloadTask::preload):
42313         * loader/DocumentThreadableLoader.cpp:
42314         (WebCore::DocumentThreadableLoader::loadRequest):
42315         * loader/ResourceLoadPriority.h: Added.
42316         * loader/ResourceLoadScheduler.cpp:
42317         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
42318         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
42319         (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
42320         (WebCore::ResourceLoadScheduler::scheduleLoad):
42321         (WebCore::ResourceLoadScheduler::servePendingRequests):
42322         (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
42323         (WebCore::ResourceLoadScheduler::HostInformation::schedule):
42324         (WebCore::ResourceLoadScheduler::HostInformation::remove):
42325         (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
42326         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
42327         * loader/ResourceLoadScheduler.h:
42328         (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
42329         (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
42330         (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
42331         * loader/cache/CachedResource.cpp:
42332         (WebCore::defaultPriorityForResourceType):
42333         (WebCore::CachedResource::CachedResource):
42334         * loader/cache/CachedResource.h:
42335         (WebCore::CachedResource::loadPriority):
42336         (WebCore::CachedResource::setLoadPriority):
42337         * loader/cache/CachedResourceLoader.cpp:
42338         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
42339         (WebCore::CachedResourceLoader::requestResource):
42340         (WebCore::CachedResourceLoader::requestPreload):
42341         * loader/cache/CachedResourceLoader.h:
42342         * loader/cache/MemoryCache.cpp:
42343         (WebCore::MemoryCache::requestResource):
42344         * loader/cache/MemoryCache.h:
42345         * loader/loader.cpp:
42346         (WebCore::Loader::load):
42347
42348 2010-12-13  Justin Schuh  <jschuh@chromium.org>
42349
42350         Reviewed by Dimitri Glazkov.
42351
42352         Build fix for r73927
42353         https://bugs.webkit.org/show_bug.cgi?id=50946
42354
42355         Reverting CSSCanvasValue::canvasDestroyed to its code before r73927
42356         because it's breaking the build and I changed it only because it
42357         appeared redunudant after r73927.
42358
42359         No behavior changed so no new tests needed.
42360
42361         * css/CSSCanvasValue.cpp:
42362         (WebCore::CSSCanvasValue::canvasDestroyed):
42363
42364 2010-12-13  Matthew Delaney  <mdelaney@apple.com>
42365
42366         Reviewed by nobody, build fix.
42367
42368         Unlinking IOSurface framework from xcodeproj.
42369
42370         * WebCore.xcodeproj/project.pbxproj:
42371
42372 2010-12-13  Justin Schuh  <jschuh@chromium.org>
42373
42374         Reviewed by Dimitri Glazkov.
42375
42376         HTMLCanvasElement should handle multiple observers.
42377         https://bugs.webkit.org/show_bug.cgi?id=50899
42378
42379         Test: fast/canvas/canvas-bg-multiple-removal.html
42380
42381         * css/CSSCanvasValue.cpp:
42382         (WebCore::CSSCanvasValue::~CSSCanvasValue):
42383         (WebCore::CSSCanvasValue::canvasDestroyed):
42384         (WebCore::CSSCanvasValue::element):
42385         * html/HTMLCanvasElement.cpp:
42386         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
42387         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
42388         (WebCore::HTMLCanvasElement::addObserver):
42389         (WebCore::HTMLCanvasElement::removeObserver):
42390         (WebCore::HTMLCanvasElement::didDraw):
42391         (WebCore::HTMLCanvasElement::reset):
42392         * html/HTMLCanvasElement.h:
42393
42394 2010-12-13  Mihai Parparita  <mihaip@chromium.org>
42395
42396         Reviewed by Adam Barth.
42397
42398         [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
42399         https://bugs.webkit.org/show_bug.cgi?id=50841
42400
42401         Test: fast/canvas/strokeText-missing-args.html
42402         
42403         We didn't have isfinite checks for the x and y coordinates that are
42404         passed to strokeText/drawTextInternal (unlike all the other methods,
42405         which got checks in r50910 and r59447).
42406
42407         * html/canvas/CanvasRenderingContext2D.cpp:
42408         (WebCore::CanvasRenderingContext2D::drawTextInternal):
42409
42410 2010-12-09  Matthew Delaney  <mdelaney@apple.com>
42411
42412         Reviewed by Simon Fraser.
42413
42414         Adopt new CG API for canvas
42415         https://bugs.webkit.org/show_bug.cgi?id=50591
42416
42417         No new tests. All current layout tests are sufficient.
42418
42419         * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
42420         * html/canvas/CanvasRenderingContext2D.cpp:
42421         (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
42422         (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
42423         * platform/graphics/ImageBuffer.h:
42424         (WebCore::ImageBuffer::create): Plumb through new flag.
42425         * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
42426         * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
42427         * platform/graphics/cg/ImageBufferData.h: Add in surface ref
42428         * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
42429         * platform/graphics/qt/ImageBufferQt.cpp: ^^
42430         * platform/graphics/skia/ImageBufferSkia.cpp: ^^
42431         * platform/graphics/wince/ImageBufferWinCE.cpp: ^^
42432         * platform/graphics/wx/ImageBufferWx.cpp: ^^
42433         * platform/mac/WebCoreSystemInterface.h: Add new method sigs
42434         * platform/mac/WebCoreSystemInterface.mm: ^^
42435         * rendering/RenderLayerBacking.cpp:
42436         * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.
42437
42438 2010-12-13  Benjamin Kalman  <kalman@chromium.org>
42439
42440         Reviewed by Ojan Vafai.
42441
42442         Shift-End does not select to the end of the line
42443         https://bugs.webkit.org/show_bug.cgi?id=50610
42444
42445         Test: editing/selection/extend-to-line-boundary.html
42446
42447         * editing/SelectionController.cpp:
42448         (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
42449         start/end.
42450         (WebCore::SelectionController::modifyExtendingForward):
42451
42452 2010-12-13  Adam Roben  <aroben@apple.com>
42453
42454         Windows build fix after r73914
42455
42456         * WebCore.vcproj/WebCore.vcproj: Fix malformed XML.
42457
42458 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42459
42460         Unreviewed. Qt build fix.
42461
42462         * dom/ScriptExecutionContext.cpp:
42463         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
42464         * dom/ScriptExecutionContext.h:
42465
42466 2010-12-13  Mario Sanchez Prada  <msanchez@igalia.com>
42467
42468         Reviewed by Xan Lopez.
42469
42470         [Gtk] Additional support is needed for caret browsing
42471         https://bugs.webkit.org/show_bug.cgi?id=25526
42472
42473         Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
42474         browsing is enabled.
42475
42476         This change impacts the GTK-port only as caret browsing is a
42477         feature only used in that platform so far.
42478
42479         Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html
42480
42481         * editing/EditorCommand.cpp:
42482         (WebCore::createCommandMap): Enable the commads when in caret browsing.
42483
42484 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42485
42486         Unreviewed. Qt build fix.
42487
42488         * dom/Event.cpp:
42489         (WebCore::Event::isErrorEvent):
42490         * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
42491         only in workers.
42492
42493 2010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
42494
42495         Reviewed by Yury Semikhatsky.
42496
42497         Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
42498
42499         Debugger and Resources related notification functions of Inspector.idl were
42500         marked as such with help of "domain" attribute. The other changes in js files
42501         are reflecting this change. Some wrappers in WebInspector namespace were dropped,
42502         the others were moved to DebuggerModel class.
42503
42504         https://bugs.webkit.org/show_bug.cgi?id=50906
42505
42506         * inspector/Inspector.idl:
42507         * inspector/InspectorDebuggerAgent.cpp:
42508         (WebCore::InspectorDebuggerAgent::didParseSource):
42509         * inspector/InspectorProfilerAgent.cpp:
42510         (WebCore::InspectorProfilerAgent::resetState):
42511         * inspector/front-end/DOMAgent.js:
42512         (WebInspector.DOMAgent.prototype.didCommitLoad):
42513         * inspector/front-end/Database.js:
42514         * inspector/front-end/DebuggerModel.js:
42515         (WebInspector.DebuggerModel):
42516         (WebInspector.DebuggerModel.prototype.pausedScript):
42517         (WebInspector.DebuggerModel.prototype.resumedScript):
42518         (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
42519         (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
42520         (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
42521         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
42522         (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
42523         (WebInspector.DebuggerModel.prototype.didCreateWorker):
42524         (WebInspector.DebuggerModel.prototype.didDestroyWorker):
42525         * inspector/front-end/ProfilesPanel.js:
42526         (WebInspector.ProfilesPanel):
42527         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
42528         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
42529         * inspector/front-end/ResourceManager.js:
42530         (WebInspector.ResourceManager):
42531         (WebInspector.ResourceManager.prototype._unbindResourceURL):
42532         (WebInspector.ResourceManager.prototype.updateDOMStorage):
42533         (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
42534         (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
42535         (WebInspector.ResourceManager.prototype.didGetFileSystemError):
42536         (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
42537         (WebInspector.ResourceManager.prototype.updateNetworkState):
42538         (WebInspector.ResourceManager.prototype.addDOMStorage):
42539         (WebInspector.ResourceManager.prototype.selectDOMStorage):
42540         (WebInspector.ResourceManager.prototype.addDatabase):
42541         (WebInspector.ResourceManager.prototype.selectDatabase):
42542         (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded):
42543         (WebInspector.ResourceManager.prototype.sqlTransactionFailed):
42544         * inspector/front-end/WorkersSidebarPane.js:
42545         (WebInspector.Worker):
42546         * inspector/front-end/inspector.js:
42547
42548 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42549
42550         Unreviewed. Qt build fix. 
42551
42552         * dom/ErrorEvent.cpp:
42553         * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
42554         only in workers.
42555
42556 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
42557
42558         Reviewed by Adam Barth.
42559
42560         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
42561         https://bugs.webkit.org/show_bug.cgi?id=8519
42562
42563         Uncaught exceptions are propagated to window.onerror hander if one is present.
42564         The handler is expected to be a function accepting three arguments: error message,
42565         resource url and line number where the exception occured.
42566
42567         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
42568         were created in the same isolated world where the exception occured or not.
42569
42570         Tests: fast/events/window-onerror1.html
42571                fast/events/window-onerror10.html
42572                fast/events/window-onerror11.html
42573                fast/events/window-onerror2.html
42574                fast/events/window-onerror3.html
42575                fast/events/window-onerror4.html
42576                fast/events/window-onerror5.html
42577                fast/events/window-onerror6.html
42578                fast/events/window-onerror7.html
42579                fast/events/window-onerror8.html
42580                fast/events/window-onerror9.html
42581                http/tests/security/window-onerror-exception-in-iframe.html
42582                userscripts/window-onerror-for-isolated-world-1.html
42583                userscripts/window-onerror-for-isolated-world-2.html
42584
42585         * Android.jscbindings.mk:
42586         * CMakeLists.txt:
42587         * GNUmakefile.am:
42588         * WebCore.gypi:
42589         * WebCore.order:
42590         * WebCore.pro:
42591         * WebCore.vcproj/WebCore.vcproj:
42592         * WebCore.xcodeproj/project.pbxproj:
42593         * bindings/js/JSBindingsAllInOne.cpp:
42594         * bindings/js/JSDOMBinding.cpp:
42595         (WebCore::reportException):
42596         * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
42597         (WebCore::JSErrorHandler::JSErrorHandler):
42598         (WebCore::JSErrorHandler::~JSErrorHandler):
42599         (WebCore::JSErrorHandler::handleEvent):
42600         * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
42601         (WebCore::JSErrorHandler::create):
42602         (WebCore::createJSErrorHandler):
42603         * bindings/scripts/CodeGeneratorJS.pm:
42604         * bindings/scripts/CodeGeneratorV8.pm:
42605         * bindings/v8/V8ConsoleMessage.cpp:
42606         (WebCore::V8ConsoleMessage::dispatchNow):
42607         (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
42608         reporting mechanism which is also used by JSC bindings.
42609         * bindings/v8/V8ConsoleMessage.h:
42610         * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
42611         (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
42612         (WebCore::V8WindowErrorHandler::callListenerFunction):
42613         * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
42614         (WebCore::V8WindowErrorHandler::create):
42615         * bindings/v8/WorkerContextExecutionProxy.cpp:
42616         (WebCore::v8MessageHandler):
42617         * bindings/v8/WorkerScriptController.cpp:
42618         (WebCore::WorkerScriptController::evaluate):
42619         * dom/Document.cpp:
42620         (WebCore::Document::errorEventTarget):
42621         (WebCore::Document::logExceptionToConsole):
42622         * dom/Document.h:
42623         * dom/ScriptExecutionContext.cpp:
42624         (WebCore::ScriptExecutionContext::PendingException::PendingException):
42625         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
42626         (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
42627         ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
42628         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
42629         * dom/ScriptExecutionContext.h:
42630         * workers/DefaultSharedWorkerRepository.cpp:
42631         (WebCore::postExceptionTask):
42632         * workers/WorkerContext.cpp:
42633         (WebCore::WorkerContext::WorkerContext):
42634         (WebCore::WorkerContext::errorEventTarget):
42635         (WebCore::WorkerContext::logExceptionToConsole):
42636         * workers/WorkerContext.h:
42637         * workers/WorkerMessagingProxy.cpp:
42638         (WebCore::WorkerExceptionTask::performTask):
42639
42640 2010-12-08  Alexander Pavlov  <apavlov@chromium.org>
42641
42642         Reviewed by Joseph Pecoraro.
42643
42644         Web Inspector: Enable CSS property editing name/value-wise (like Firebug does)
42645         https://bugs.webkit.org/show_bug.cgi?id=50565
42646
42647         For CSS property editing, the property name and value have become two fields separated
42648         by a colon (rather than one field containing the full property text.) A user can tab
42649         between the name and value fields forward and backward. A colon typed in the name field
42650         and a semicolon in the value field (unless found inside a string) act as a Tab and focus
42651         the next editable field (while applying the entire property value.)
42652
42653         Now a user can tab through all editable styles for an element, even across rule boundaries.
42654
42655         * inspector/front-end/BreakpointsSidebarPane.js:
42656         (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
42657         * inspector/front-end/DataGrid.js:
42658         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
42659         (WebInspector.DataGrid.prototype._startEditing):
42660         * inspector/front-end/ElementsTreeOutline.js:
42661         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
42662         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
42663         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
42664         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
42665         * inspector/front-end/MetricsSidebarPane.js:
42666         (WebInspector.MetricsSidebarPane.prototype.startEditing):
42667         * inspector/front-end/ObjectPropertiesSection.js:
42668         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
42669         * inspector/front-end/Section.js:
42670         (WebInspector.Section):
42671         (WebInspector.Section.prototype.get subtitleAsTextForTest):
42672         (WebInspector.Section.prototype.get nextSibling):
42673         (WebInspector.Section.prototype.get previousSibling):
42674         * inspector/front-end/SourceFrame.js:
42675         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
42676         * inspector/front-end/StylesSidebarPane.js:
42677         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
42678         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
42679         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
42680         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
42681         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
42682         (WebInspector.StylePropertyTreeElement.prototype.):
42683         (WebInspector.StylePropertyTreeElement.prototype):
42684         * inspector/front-end/TextViewer.js:
42685         (WebInspector.TextViewer.prototype._handleDoubleClick):
42686         * inspector/front-end/WatchExpressionsSidebarPane.js:
42687         (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
42688         * inspector/front-end/inspector.css:
42689         (.child-editing):
42690         * inspector/front-end/inspector.js:
42691         (WebInspector.startEditing.defaultFinishHandler):
42692         (WebInspector.startEditing):
42693         * inspector/front-end/treeoutline.js:
42694         (TreeElement.prototype.select):
42695
42696 2010-12-13  Yael Aharon  <yael.aharon@nokia.com>
42697
42698         Unreviewed.
42699
42700         Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot.
42701
42702         * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style.
42703
42704 2010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>
42705
42706         Unreviewed, rolling out r73898.
42707         http://trac.webkit.org/changeset/73898
42708         https://bugs.webkit.org/show_bug.cgi?id=50919
42709
42710         FileSystem and Database API's were broken (Requested by loislo
42711         on #webkit).
42712
42713         * inspector/Inspector.idl:
42714         * inspector/InspectorDebuggerAgent.cpp:
42715         (WebCore::InspectorDebuggerAgent::didParseSource):
42716         * inspector/InspectorProfilerAgent.cpp:
42717         (WebCore::InspectorProfilerAgent::resetState):
42718         * inspector/front-end/DOMAgent.js:
42719         * inspector/front-end/DebuggerModel.js:
42720         (WebInspector.DebuggerModel):
42721         (WebInspector.DebuggerModel.prototype.debuggerPaused):
42722         (WebInspector.DebuggerModel.prototype.debuggerResumed):
42723         * inspector/front-end/ProfilesPanel.js:
42724         (WebInspector.ProfilesPanel):
42725         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
42726         * inspector/front-end/ResourceManager.js:
42727         (WebInspector.ResourceManager):
42728         (WebInspector.ResourceManager.prototype._registerNotifyHandlers):
42729         (WebInspector.ResourceManager.prototype._unbindResourceURL):
42730         * inspector/front-end/inspector.js:
42731         (WebInspector.addDatabase):
42732         (WebInspector.addDOMStorage):
42733         (WebInspector.updateDOMStorage):
42734         (WebInspector.updateApplicationCacheStatus):
42735         (WebInspector.didGetFileSystemPath):
42736         (WebInspector.didGetFileSystemError):
42737         (WebInspector.didGetFileSystemDisabled):
42738         (WebInspector.updateNetworkState):
42739         (WebInspector.attachDebuggerWhenShown):
42740         (WebInspector.debuggerWasEnabled):
42741         (WebInspector.debuggerWasDisabled):
42742         (WebInspector.profilerWasEnabled):
42743         (WebInspector.profilerWasDisabled):
42744         (WebInspector.parsedScriptSource):
42745         (WebInspector.restoredBreakpoint):
42746         (WebInspector.failedToParseScriptSource):
42747         (WebInspector.pausedScript):
42748         (WebInspector.resumedScript):
42749         (WebInspector.resetProfilesPanel):
42750         (WebInspector.didCommitLoad):
42751         (WebInspector.addProfileHeader):
42752         (WebInspector.setRecordingProfile):
42753         (WebInspector.addHeapSnapshotChunk):
42754         (WebInspector.finishHeapSnapshot):
42755
42756 2010-12-13  Anton Muhin  <antonm@chromium.org>
42757
42758         Reviewed by Pavel Feldman.
42759
42760         [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups
42761         https://bugs.webkit.org/show_bug.cgi?id=50828
42762
42763         * bindings/v8/DOMData.h:
42764         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
42765         (WebCore::DOMData::removeObjectsFromWrapperMap):
42766         * bindings/v8/DOMDataStore.h:
42767         (WebCore::ChunkedTable::visit):
42768         (WebCore::ChunkedTable::visitEntries):
42769         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
42770         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
42771         * bindings/v8/V8DOMMap.cpp:
42772         (WebCore::removeAllDOMObjectsInCurrentThread):
42773         (WebCore::visitDOMNodesInCurrentThread):
42774         (WebCore::visitDOMObjectsInCurrentThread):
42775         (WebCore::visitActiveDOMObjectsInCurrentThread):
42776         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
42777         * bindings/v8/V8DOMMap.h:
42778         (WebCore::WeakReferenceMap::visit):
42779         * bindings/v8/V8GCController.cpp:
42780         (WebCore::DOMObjectVisitor::visitDOMWrapper):
42781         (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper):
42782         (WebCore::GCPrologueVisitor::visitDOMWrapper):
42783         (WebCore::NodeGrouperVisitor::visitDOMWrapper):
42784         (WebCore::NodeGrouperVisitor::applyGrouping):
42785         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
42786         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
42787
42788 2010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>
42789
42790         Unreviewed build fix for r73894.
42791
42792         SVGFEImage should also check its hasResult() in its apply().
42793
42794         * svg/graphics/filters/SVGFEImage.cpp:
42795         (WebCore::FEImage::apply):
42796
42797 2010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
42798
42799         Reviewed by Yury Semikhatsky.
42800
42801         Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
42802
42803         Debugger and Resources related notification functions of Inspector.idl were
42804         marked as such with help of "domain" attribute. The other changes in js files
42805         are reflecting this change. Some wrappers in WebInspector namespace were dropped,
42806         the others were moved to DebuggerModel class.
42807
42808         https://bugs.webkit.org/show_bug.cgi?id=50906
42809
42810         * inspector/Inspector.idl:
42811         * inspector/InspectorDebuggerAgent.cpp:
42812         (WebCore::InspectorDebuggerAgent::didParseSource):
42813         * inspector/InspectorProfilerAgent.cpp:
42814         (WebCore::InspectorProfilerAgent::resetState):
42815         * inspector/front-end/DOMAgent.js:
42816         (WebInspector.DOMAgent.prototype.didCommitLoad):
42817         * inspector/front-end/DebuggerModel.js:
42818         (WebInspector.DebuggerModel):
42819         (WebInspector.DebuggerModel.prototype.pausedScript):
42820         (WebInspector.DebuggerModel.prototype.resumedScript):
42821         (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
42822         (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
42823         (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
42824         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
42825         (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
42826         * inspector/front-end/ProfilesPanel.js:
42827         (WebInspector.ProfilesPanel):
42828         (WebInspector.ProfilesPanel.prototype.addHeapSnapshots):
42829         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
42830         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
42831         * inspector/front-end/ResourceManager.js:
42832         (WebInspector.ResourceManager):
42833         (WebInspector.ResourceManager.prototype._unbindResourceURL):
42834         (WebInspector.ResourceManager.prototype.updateDOMStorage):
42835         (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
42836         (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
42837         (WebInspector.ResourceManager.prototype.didGetFileSystemError):
42838         (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
42839         (WebInspector.ResourceManager.prototype.updateNetworkState):
42840         (WebInspector.ResourceManager.prototype.addDatabase):
42841         (WebInspector.ResourceManager.prototype.addDOMStorage):
42842         * inspector/front-end/inspector.js:
42843
42844 2010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>
42845
42846         Reviewed by Dirk Schulze.
42847
42848         Better result passing in filter primitives
42849         https://bugs.webkit.org/show_bug.cgi?id=49907
42850
42851         SVG filter primitives can use the output of other filters. The
42852         input and output format of a filter can be a premultiplied or
42853         unmultiplied RGBA array, or an image buffer. All filter
42854         primitive results were converted to image buffers before, which
42855         could be an unecessary (and really costly) operation, if
42856         a filter expects its input in the same format as the output
42857         of the input filter primitive. This overhead is removed by
42858         this patch. All apply() methods are updated according to this
42859         new filter primitive interface.
42860
42861         Filters do not generate their results twice (or more) anymore,
42862         when their apply() called multiple times.
42863
42864         The existing tests cover this feature.
42865
42866         * manual-tests/svg-filter-animation.svg: Added.
42867         * platform/graphics/filters/FEBlend.cpp:
42868         (WebCore::FEBlend::apply):
42869         * platform/graphics/filters/FEColorMatrix.cpp:
42870         (WebCore::FEColorMatrix::apply):
42871         * platform/graphics/filters/FEComponentTransfer.cpp:
42872         (WebCore::FEComponentTransfer::apply):
42873         * platform/graphics/filters/FEComposite.cpp:
42874         (WebCore::FEComposite::apply):
42875         * platform/graphics/filters/FEConvolveMatrix.cpp:
42876         (WebCore::FEConvolveMatrix::apply):
42877         * platform/graphics/filters/FEDisplacementMap.cpp:
42878         (WebCore::FEDisplacementMap::apply):
42879         * platform/graphics/filters/FEFlood.cpp:
42880         (WebCore::FEFlood::apply):
42881         * platform/graphics/filters/FEGaussianBlur.cpp:
42882         (WebCore::FEGaussianBlur::apply):
42883         * platform/graphics/filters/FELighting.cpp:
42884         (WebCore::FELighting::apply):
42885         * platform/graphics/filters/FEMerge.cpp:
42886         (WebCore::FEMerge::apply):
42887         * platform/graphics/filters/FEMerge.h:
42888         * platform/graphics/filters/FEMorphology.cpp:
42889         (WebCore::FEMorphology::apply):
42890         * platform/graphics/filters/FEOffset.cpp:
42891         (WebCore::FEOffset::apply):
42892         * platform/graphics/filters/FETile.cpp:
42893         (WebCore::FETile::apply):
42894         * platform/graphics/filters/FETurbulence.cpp:
42895         (WebCore::FETurbulence::apply):
42896         * platform/graphics/filters/FilterEffect.cpp:
42897         (WebCore::FilterEffect::requestedRegionOfInputImageData):
42898         (WebCore::FilterEffect::asImageBuffer):
42899         (WebCore::FilterEffect::asUnmultipliedImage):
42900         (WebCore::FilterEffect::asPremultipliedImage):
42901         (WebCore::FilterEffect::copyImageBytes):
42902         (WebCore::FilterEffect::copyUnmultipliedImage):
42903         (WebCore::FilterEffect::copyPremultipliedImage):
42904         (WebCore::FilterEffect::createImageBufferResult):
42905         (WebCore::FilterEffect::createUnmultipliedImageResult):
42906         (WebCore::FilterEffect::createPremultipliedImageResult):
42907         * platform/graphics/filters/FilterEffect.h:
42908         (WebCore::FilterEffect::hasResult):
42909         * platform/graphics/filters/SourceAlpha.cpp:
42910         (WebCore::SourceAlpha::apply):
42911         * platform/graphics/filters/SourceGraphic.cpp:
42912         (WebCore::SourceGraphic::apply):
42913         * platform/graphics/filters/SourceGraphic.h:
42914         * rendering/RenderSVGResourceFilter.cpp:
42915         (WebCore::RenderSVGResourceFilter::postApplyResource):
42916         * svg/graphics/filters/SVGFEImage.cpp:
42917         (WebCore::FEImage::apply):
42918
42919 2010-12-13  Csaba Osztrogonác  <ossy@webkit.org>
42920
42921         Unreviewed.
42922
42923         * WebCore.pro: Remove non-existant loader/Request.h from build system.
42924
42925 2010-12-13  Noel Gordon  <noel.gordon@gmail.com>
42926
42927         Reviewed by Eric Seidel.
42928
42929         [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10%
42930         https://bugs.webkit.org/show_bug.cgi?id=50804
42931
42932         Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call
42933         viz., compute the unpremultiplatcion in-place. This reduces the run-time
42934         cost of jpeg encoding by 10-15% for my image test set.
42935
42936         No new tests: canvas.toDataURL() is covered by existing tests.
42937
42938         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
42939         (WebCore::preMultipliedBGRAtoRGB):
42940
42941 2010-12-13  Helder Correia  <helder@sencha.com>
42942
42943         Reviewed by Eric Seidel.
42944
42945         [Qt] StillImage::draw() should use ContextShadow
42946         https://bugs.webkit.org/show_bug.cgi?id=50849
42947
42948         The branch that checks for a shadow requirement in StillImage::draw()
42949         is executed when drawing a canvas onto a canvas with
42950         ctx1.drawImage(canvas2, x, y). The current implementation supports
42951         solid shadows only. And if transformations are present, the offset gets
42952         transformed as well. Thus, ContextShadow must be used instead in order
42953         to support blur and correct offset transformations.
42954
42955         Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
42956
42957         * platform/graphics/qt/StillImageQt.cpp:
42958         (WebCore::StillImage::draw):
42959
42960 2010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>
42961
42962         Unreviewed build fix.
42963
42964         * editing/EditingAllInOne.cpp:
42965         Add new file to the all-in-one.
42966
42967 2010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>
42968
42969         Unreviewed build fix.
42970
42971         * WebCore.vcproj/WebCore.vcproj:
42972         Remove accidentally-committed conflict marker.
42973
42974 2010-10-28  MORITA Hajime  <morrita@google.com>
42975
42976         Reviewed by Ojan Vafai.
42977
42978         spellcheck does not check pasted text
42979         https://bugs.webkit.org/show_bug.cgi?id=40092
42980
42981         - Introduced SpellChecker class to encapsulate asynchronous spell
42982           checker state: sequence id, requesting text and target node.
42983           This is also the first step to decompose spell-check related
42984           code to a separate class.
42985         - Added EditorClient::isAsynchronousSpellCheckingEnabled() 
42986           to use async spellcheck API on the platform.
42987           These APIs are touched by SpellChecker.
42988         - Used SpellChecker to check a pasted test. Text to check is
42989           collected from the subtree under the editingRoot.
42990         - Added Setting::m_asynchronousSpellCheckingEnabled to control
42991           async spell checking.
42992
42993         Test: editing/spelling/spellcheck-paste.html
42994
42995         * CMakeLists.txt:
42996         * GNUmakefile.am:
42997         * WebCore.exp.in:
42998         * WebCore.gypi:
42999         * WebCore.pro:
43000         * WebCore.vcproj/WebCore.vcproj:
43001         * WebCore.xcodeproj/project.pbxproj:
43002         * dom/DocumentMarkerController.cpp:
43003         (WebCore::DocumentMarkerController::showMarkers):
43004         (showDocumentMarkers):
43005         * dom/DocumentMarkerController.h:
43006         * dom/PositionIterator.cpp:
43007         (WebCore::PositionIterator::setOffsetInLeafNode):
43008         * dom/PositionIterator.h:
43009         * editing/Editor.cpp:
43010         (WebCore::Editor::replaceSelectionWithFragment):
43011         (WebCore::Editor::Editor):
43012         (WebCore::findFirstMarkable):
43013         (WebCore::Editor::selectionStartHasSpellingMarkerFor):
43014         * editing/Editor.h:
43015         (WebCore::Editor::spellChecker):
43016         * editing/SpellChecker.cpp: Added.
43017         (WebCore::SpellChecker::SpellChecker):
43018         (WebCore::SpellChecker::~SpellChecker):
43019         (WebCore::SpellChecker::initRequest):
43020         (WebCore::SpellChecker::clearRequest):
43021         (WebCore::SpellChecker::isAsynchronousEnabled):
43022         (WebCore::SpellChecker::canCheckAsynchronously):
43023         (WebCore::SpellChecker::isBusy):
43024         (WebCore::SpellChecker::isValid):
43025         (WebCore::SpellChecker::isCheckable):
43026         (WebCore::SpellChecker::requestCheckingFor):
43027         (WebCore::forwardIterator):
43028         (WebCore::SpellChecker::didCheck):
43029         * editing/SpellChecker.h: Added.
43030         (WebCore::SpellCheckingResult::SpellCheckingResult):
43031         (WebCore::SpellCheckingResult::type):
43032         (WebCore::SpellCheckingResult::location):
43033         (WebCore::SpellCheckingResult::length):
43034         * loader/EmptyClients.h:
43035         (WebCore::EmptyEditorClient::requestCheckingOfString):
43036         * page/EditorClient.h:
43037         * page/Settings.cpp:
43038         (WebCore::Settings::Settings):
43039         * page/Settings.h:
43040         (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
43041         (WebCore::Settings::asynchronousSpellCheckingEnabled):
43042
43043 2010-12-09  Antonio Gomes  <agomes@rim.com>
43044
43045         Reviewed by Daniel Bates.
43046
43047         Spatial Navigation: code clean up (part II)
43048         https://bugs.webkit.org/show_bug.cgi?id=50666
43049
43050         No new tests needed.
43051
43052         * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from
43053         the top of FocusController.cpp, and added the 'static' keyword where the function is implemented;
43054         * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it;
43055         (WebCore::FocusCandidate::FocusCandidate):
43056         (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node';
43057         * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones;
43058         Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp;
43059         And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore.
43060
43061 2010-12-12  Philippe Normand  <pnormand@igalia.com>
43062
43063         Reviewed by Xan Lopez.
43064
43065         build-webkit --gtk --minimal fails
43066         https://bugs.webkit.org/show_bug.cgi?id=46267
43067
43068         No new tests, build fix only.
43069
43070         * GNUmakefile.am: Include some JS bindings generated headers in
43071         the build even if their corresponding feature is disabled. They
43072         are needed to make the DOM bindings build.
43073
43074 2010-12-12  Sam Magnuson  <smagnuso@gmail.com>
43075
43076         Reviewed by Eric Seidel.
43077
43078         [Qt] Compile with QT_NO_QUUID_STRING.
43079         https://bugs.webkit.org/show_bug.cgi?id=49745
43080
43081         * platform/UUID.cpp:
43082         (WebCore::createCanonicalUUIDString):
43083
43084 2010-12-12  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
43085
43086         Reviewed by Eric Seidel.
43087
43088         [Qt] Missing style for date pickers on Qt Mobile theme
43089         https://bugs.webkit.org/show_bug.cgi?id=50628
43090
43091         * css/themeQtMobile.css:
43092
43093 2010-12-11  Alice Liu  <alice.liu@apple.com>
43094
43095         Mac build fix.
43096
43097         * platform/network/mac/ResourceResponseMac.mm:
43098         (WebCore::ResourceResponse::platformLazyInit):
43099         Resolve string[0] ambiguity by passing 0U.
43100
43101 2010-12-11  Adam Barth  <abarth@webkit.org>
43102
43103         Reviewed by Sam Weinig.
43104
43105         [V8] Move to DOMWindow::setLocation
43106         https://bugs.webkit.org/show_bug.cgi?id=50876
43107
43108         Recently, JavaScriptCore moved to implementing setLocation in WebCore.
43109         This patch change V8 to use that common code path.  I haven't removed
43110         the old code path because it's still used for other things (like
43111         assigning window.location.href), but I'll move the rest over in a
43112         future patch.
43113
43114         * bindings/v8/custom/V8DOMWindowCustom.cpp:
43115         (WebCore::V8DOMWindow::locationAccessorSetter):
43116         * bindings/v8/specialization/V8BindingState.cpp:
43117         (WebCore::::getFirstWindow):
43118         * bindings/v8/specialization/V8BindingState.h:
43119
43120 2010-10-11  Diego Gonzalez  <diegohcg@webkit.org>
43121
43122         Reviewed by Kenneth Rohde Christiansen.
43123
43124         [Qt] Mock DeviceOrientation client for DRT
43125         https://bugs.webkit.org/show_bug.cgi?id=47490
43126
43127         * WebCore.pro:
43128
43129 2010-12-11  Joone Hur  <joone@kldp.org>
43130
43131         Reviewed by Alexey Proskuryakov.
43132
43133         enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch
43134         https://bugs.webkit.org/show_bug.cgi?id=50871
43135
43136         Fix the warning which occurs when enumeration value is not handled in switch.
43137
43138         No new tests, no change in behavior.
43139
43140         * bindings/js/JSXMLHttpRequestCustom.cpp:
43141         (WebCore::JSXMLHttpRequest::response):
43142
43143 2010-12-11  Patrick Gansterer  <paroga@webkit.org>
43144
43145         Reviewed by Darin Adler.
43146
43147         Add an overload to makeString for Vector<char>
43148         https://bugs.webkit.org/show_bug.cgi?id=50123
43149
43150         This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
43151
43152         * platform/graphics/cg/ImageBufferCG.cpp:
43153         (WebCore::ImageBuffer::toDataURL):
43154         * platform/graphics/gtk/ImageBufferGtk.cpp:
43155         (WebCore::ImageBuffer::toDataURL):
43156         * platform/graphics/haiku/ImageBufferHaiku.cpp:
43157         (WebCore::ImageBuffer::toDataURL):
43158         * platform/graphics/skia/ImageBufferSkia.cpp:
43159         (WebCore::ImageBuffer::toDataURL):
43160
43161 2010-12-10  Alexey Proskuryakov  <ap@apple.com>
43162
43163         Mac build fix.
43164
43165         * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
43166         Resolve string[0] ambiguity by passing 0U.
43167
43168 2010-12-10  Steve Falkenburg  <sfalken@apple.com>
43169
43170         Windows production build fix.
43171         
43172         Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts.
43173
43174         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
43175         * WebCore.vcproj/build-generated-files.sh:
43176
43177 2010-12-10  John Knottenbelt  <jknotten@chromium.org>
43178
43179         Reviewed by Eric Seidel.
43180
43181         Remove WebCore/platform/mac/GeolocationService.{h,mm}
43182         https://bugs.webkit.org/show_bug.cgi?id=50074
43183
43184         Remove unused non-client-based geolocation code.
43185
43186         * platform/mac/GeolocationServiceMac.h: Removed.
43187         * platform/mac/GeolocationServiceMac.mm: Removed.
43188
43189 2010-12-10  Alexey Proskuryakov  <ap@apple.com>
43190
43191         Reviewed by Darin Adler.
43192
43193         https://bugs.webkit.org/show_bug.cgi?id=46573
43194         <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work
43195
43196         Test: http/tests/mime/quoted-charset.php
43197
43198         * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
43199         * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
43200         Work around a CFNetwork issue, strip quotes if they are present.
43201
43202 2010-12-10  Vincent Scheib  <scheib@chromium.org>
43203
43204         Reviewed by James Robinson.
43205
43206         Shader::loadShader() must initialize variable passed to getShaderiv
43207         https://bugs.webkit.org/show_bug.cgi?id=50842
43208
43209         Test: fast/canvas/canvas-largedraws.html
43210
43211         * platform/graphics/gpu/Shader.cpp:
43212         (WebCore::Shader::loadShader):
43213
43214 2010-12-10  Vincent Scheib  <scheib@chromium.org>
43215
43216         Reviewed by James Robinson.
43217
43218         Texture::updateSubRect should pass IntRect by reference
43219         https://bugs.webkit.org/show_bug.cgi?id=50845
43220
43221         No test, changing to pass by ref.
43222
43223         * platform/graphics/gpu/Texture.cpp:
43224         (WebCore::Texture::updateSubRect):
43225         * platform/graphics/gpu/Texture.h:
43226
43227 2010-12-10  Darin Adler  <darin@apple.com>
43228
43229         Reviewed by Sam Weinig.
43230
43231         Move open and showModalDialog implementations from bindings into DOM class DOMWindow
43232         https://bugs.webkit.org/show_bug.cgi?id=50836
43233
43234         * bindings/js/JSDOMWindowCustom.cpp:
43235         (WebCore::JSDOMWindow::open): Removed most of the code and changed to call
43236         DOMWindow::open.
43237         (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the
43238         arguments and return value in showModalDialog.
43239         (WebCore::DialogHandler::dialogCreated): Ditto.
43240         (WebCore::DialogHandler::returnValue): Ditto.
43241         (WebCore::setUpDialog): Added. Function passed to showModalDialog that just
43242         casts pointer to DialogHandler can calls dialogCreated.
43243         (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed
43244         to call DOMWindow::showModalDialog.
43245         (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by
43246         renaming local variables and getting rid of a needless ones.
43247
43248         * page/DOMWindow.cpp:
43249         (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function
43250         to the WindowFeatures class.
43251         (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame,
43252         because that's the frame we pass in here. Also added an overload so this can be
43253         called on a window rather than a frame.
43254         (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are
43255         the same as in open and showModalDialog. Factored the JavaScript security check
43256         into a new function named isInsecureScriptAccess.
43257         (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function.
43258         (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and
43259         showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp
43260         used to.
43261         (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the
43262         JavaScript language binding part, and with a bit of refactoring to share code
43263         with the rest of the DOMWindow class.
43264         (WebCore::DOMWindow::showModalDialog): Ditto.
43265
43266         * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs
43267         in alphabetical order so they are not scattered thorugh the file. Removed redundant
43268         includes. Added some blank lines for clarity. Added an open function and a
43269         showModalDialog function. Added private createWindow and isInsecureScriptAccess
43270         functions.
43271
43272         * page/WindowFeatures.cpp:
43273         (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity.
43274         (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty
43275         instead of checking length. Added a new constructor for use when making dialogs,
43276         with code from the showModalDialog function.
43277         (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef.
43278         (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef.
43279         Renamed a local variable and tweaked the comments a bit.
43280         (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from
43281         DOMWindow::parseDialogFeatures and refactored a bit.
43282
43283         * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures
43284         function, DialogFeaturesMap typedef, and made setWindowFeature function private.
43285
43286 2010-12-10  Chris Fleizach  <cfleizach@apple.com>
43287
43288         Reviewed by Darin Adler.
43289
43290         AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
43291         https://bugs.webkit.org/show_bug.cgi?id=50574
43292
43293         Refactors accessibility hit testing to allow for a more flexible model when handling elements
43294         with fake sub-elements (like sliders or list boxes).
43295
43296         Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root
43297         accessibility render object. Then subclassers are able to override 
43298         elementAccessibilityHitTest to return their own specific elements.
43299
43300         * accessibility/AccessibilityListBox.cpp:
43301         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
43302         * accessibility/AccessibilityListBox.h:
43303         * accessibility/AccessibilityObject.h:
43304         (WebCore::AccessibilityObject::accessibilityHitTest):
43305         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
43306         * accessibility/AccessibilityRenderObject.cpp:
43307         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
43308         * accessibility/AccessibilityRenderObject.h:
43309         * accessibility/AccessibilitySlider.cpp:
43310         (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
43311         * accessibility/AccessibilitySlider.h:
43312         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
43313         (webkit_accessible_component_ref_accessible_at_point):
43314         * accessibility/mac/AccessibilityObjectWrapper.mm:
43315         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
43316
43317 2010-12-10  Kenneth Russell  <kbr@google.com>
43318
43319         Reviewed by Darin Adler.
43320
43321         Clean up assertion in Extensions3DOpenGL.cpp
43322         https://bugs.webkit.org/show_bug.cgi?id=50852
43323
43324         Built Release mode to test. No functionality change.
43325
43326         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43327         (WebCore::Extensions3DOpenGL::ensureEnabled):
43328
43329 2010-12-10  Cosmin Truta  <ctruta@chromium.org>
43330
43331         Reviewed by Eric Seidel.
43332
43333         Crash while processing ill-formed <textPath> ouside of <text>
43334         https://bugs.webkit.org/show_bug.cgi?id=47759
43335
43336         Renderers within a <text> subtree are created only when their corresponding elements
43337         satisfy the content model.
43338
43339         Test: svg/custom/invalid-text-content.svg
43340
43341         * svg/SVGTRefElement.cpp:
43342         (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model.
43343         (WebCore::SVGTRefElement::rendererIsNeeded): Added.
43344         * svg/SVGTRefElement.h:
43345         * svg/SVGTSpanElement.cpp:
43346         (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model.
43347         (WebCore::SVGTSpanElement::rendererIsNeeded): Added.
43348         * svg/SVGTSpanElement.h: Changed indentation.
43349         * svg/SVGTextElement.cpp:
43350         (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted.
43351         * svg/SVGTextPathElement.cpp:
43352         (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model.
43353         (WebCore::SVGTextPathElement::rendererIsNeeded): Added.
43354         * svg/SVGTextPathElement.h:
43355
43356 2010-12-10  Zhenyao Mo  <zmo@google.com>
43357
43358         Reviewed by Adam Barth.
43359
43360         Use enums instead of booleans in ImageSource/ImageDecoder constructors
43361         https://bugs.webkit.org/show_bug.cgi?id=50818
43362
43363         This patch basically defines two enum type in ImageSource: AlphaOption
43364         and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder
43365         constructor parameters instead of boolean typs.
43366
43367         * platform/graphics/ImageSource.cpp:
43368         (WebCore::ImageSource::ImageSource):
43369         (WebCore::ImageSource::setData):
43370         * platform/graphics/ImageSource.h: Define the two enum types.
43371         * platform/graphics/cg/GraphicsContext3DCG.cpp:
43372         (WebCore::GraphicsContext3D::getImageData):
43373         * platform/graphics/cg/ImageSourceCG.cpp:
43374         (WebCore::ImageSource::ImageSource):
43375         * platform/graphics/qt/ImageDecoderQt.cpp:
43376         (WebCore::ImageDecoder::create):
43377         (WebCore::ImageDecoderQt::ImageDecoderQt):
43378         * platform/graphics/qt/ImageDecoderQt.h:
43379         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
43380         (WebCore::GraphicsContext3D::getImageData):
43381         * platform/image-decoders/ImageDecoder.cpp:
43382         (WebCore::ImageDecoder::create):
43383         * platform/image-decoders/ImageDecoder.h:
43384         (WebCore::ImageDecoder::ImageDecoder):
43385         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
43386         (WebCore::BMPImageDecoder::BMPImageDecoder):
43387         * platform/image-decoders/bmp/BMPImageDecoder.h:
43388         * platform/image-decoders/gif/GIFImageDecoder.cpp:
43389         (WebCore::GIFImageDecoder::GIFImageDecoder):
43390         * platform/image-decoders/gif/GIFImageDecoder.h:
43391         * platform/image-decoders/ico/ICOImageDecoder.cpp:
43392         (WebCore::ICOImageDecoder::ICOImageDecoder):
43393         (WebCore::ICOImageDecoder::decodeAtIndex):
43394         * platform/image-decoders/ico/ICOImageDecoder.h:
43395         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
43396         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
43397         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
43398         * platform/image-decoders/png/PNGImageDecoder.cpp:
43399         (WebCore::PNGImageDecoder::PNGImageDecoder):
43400         * platform/image-decoders/png/PNGImageDecoder.h:
43401         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
43402         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
43403         * platform/image-decoders/webp/WEBPImageDecoder.h:
43404
43405 2010-12-10  Ryosuke Niwa  <rniwa@webkit.org>
43406
43407         Reviewed by Darin Adler.
43408
43409         REGRESSION(r73799): editing/execCommand/4920488.html fails
43410         https://bugs.webkit.org/show_bug.cgi?id=50854
43411
43412         The regression was caused by Range::processContents's not extracting
43413         m_end.container()->firstChild(). Fixed the bug by always adding the first child.
43414
43415         * dom/Range.cpp:
43416         (WebCore::Range::processContents):
43417
43418 2010-12-10  Adam Barth  <abarth@webkit.org>
43419
43420         Reviewed by Eric Seidel.
43421
43422         REGRESSION: Infinite redirect on developer.apple.com
43423         https://bugs.webkit.org/show_bug.cgi?id=45627
43424
43425         Tests: fast/loader/form-submit-aborts-parsing.html
43426                fast/loader/location-change-aborts-parsing.html
43427
43428         This patch is not pretty, but it fixes the bug.  I stole this approach
43429         from the old HTML parser (as suggested by Eric Seidel).  The other
43430         approaches that folks tried for this bug are better, but it's inclear
43431         how to get them to work correctly.  I've added a large FIXME comment.
43432
43433         * html/parser/HTMLDocumentParser.cpp:
43434         (WebCore::HTMLDocumentParser::pumpTokenizer):
43435         * html/parser/HTMLTreeBuilder.h:
43436         (WebCore::HTMLTreeBuilder::isParsingFragment):
43437
43438 2010-12-10  Brian Weinstein  <bweinstein@apple.com>
43439
43440         Reviewed by Ada Chan.
43441
43442         When we are creating a ContextMenuItem, only call setSubMenu if we have
43443         a subMenu to set.
43444
43445         * platform/ContextMenuItem.cpp:
43446         (WebCore::ContextMenuItem::ContextMenuItem):
43447
43448 2010-12-10  Kenneth Russell  <kbr@google.com>
43449
43450         Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed
43451         for Release builds.
43452
43453         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43454
43455 2010-12-10  Kenneth Russell  <kbr@google.com>
43456
43457         Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG.
43458
43459         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43460         (WebCore::Extensions3DOpenGL::ensureEnabled):
43461
43462 2010-12-10  Kenneth Russell  <kbr@google.com>
43463
43464         Reviewed by James Robinson.
43465
43466         Implement extension entry points and remove EXTENSIONS enum
43467         https://bugs.webkit.org/show_bug.cgi?id=40316
43468
43469         Implemented WebGLRenderingContext's getSupportedExtensions and
43470         getExtensions entry points, and, to verify them, added support for
43471         the first specified WebGL extension, OES_texture_float. This
43472         extension is now advertised in the Chromium and WebKit ports when
43473         the underlying hardware supports it.
43474
43475         The new OES_texture_float test in the WebGL conformance suite
43476         verifies the allocation and population of floating point textures,
43477         and their use as render targets. However, because this extension
43478         is optional, it is not easily testable with a layout test; there
43479         is only one set of expectations for a given test, and two would be
43480         needed, one when the extension is available and one when it is not.
43481
43482         Tested with the oes-texture-float.html WebGL conformance test in
43483         Chromium and WebKit on Mac OS X on hardware that supports the
43484         extension. Also verified with a configuration that does not
43485         advertise the extension that this same test passes.
43486
43487         * CMakeLists.txt:
43488         * DerivedSources.make:
43489         * GNUmakefile.am:
43490         * WebCore.gypi:
43491         * WebCore.pri:
43492         * WebCore.pro:
43493         * WebCore.xcodeproj/project.pbxproj:
43494         * bindings/js/JSWebGLRenderingContextCustom.cpp:
43495         (WebCore::toJS):
43496         (WebCore::JSWebGLRenderingContext::markChildren):
43497         (WebCore::JSWebGLRenderingContext::getExtension):
43498         (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
43499         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
43500         (WebCore::toV8Object):
43501         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
43502         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
43503         * html/canvas/OESTextureFloat.cpp: Added.
43504         (WebCore::OESTextureFloat::OESTextureFloat):
43505         (WebCore::OESTextureFloat::~OESTextureFloat):
43506         (WebCore::OESTextureFloat::getName):
43507         (WebCore::OESTextureFloat::create):
43508         * html/canvas/OESTextureFloat.h: Added.
43509         * html/canvas/OESTextureFloat.idl: Added.
43510         * html/canvas/WebGLExtension.cpp: Added.
43511         (WebCore::WebGLExtension::WebGLExtension):
43512         (WebCore::WebGLExtension::~WebGLExtension):
43513         * html/canvas/WebGLExtension.h: Added.
43514         * html/canvas/WebGLRenderingContext.cpp:
43515         (WebCore::WebGLRenderingContext::getExtension):
43516         (WebCore::WebGLRenderingContext::getSupportedExtensions):
43517         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
43518         (WebCore::WebGLRenderingContext::validateTexFuncData):
43519         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
43520         (WebCore::WebGLRenderingContext::getExtensionNumber):
43521         * html/canvas/WebGLRenderingContext.h:
43522         * html/canvas/WebGLRenderingContext.idl:
43523         * platform/graphics/Extensions3D.h:
43524         * platform/graphics/GraphicsContext3D.cpp:
43525         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
43526         (WebCore::GraphicsContext3D::extractTextureData):
43527         (WebCore::doUnpackingAndPacking):
43528         (WebCore::doPacking):
43529         (WebCore::doFloatingPointPacking):
43530         (WebCore::GraphicsContext3D::packPixels):
43531         * platform/graphics/GraphicsContext3D.h:
43532         * platform/graphics/chromium/Extensions3DChromium.h:
43533         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43534         (WebCore::Extensions3DOpenGL::supports):
43535         (WebCore::Extensions3DOpenGL::ensureEnabled):
43536         * platform/graphics/opengl/Extensions3DOpenGL.h:
43537         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
43538         (WebCore::GraphicsContext3D::texImage2D):
43539         * platform/graphics/qt/Extensions3DQt.cpp:
43540         (WebCore::Extensions3DQt::ensureEnabled):
43541         * platform/graphics/qt/Extensions3DQt.h:
43542
43543 2010-12-10  Darin Adler  <darin@apple.com>
43544
43545         Try to fix Windows build.
43546
43547         * dom/Range.cpp:
43548         (WebCore::Range::processContents): Put typedef of NodeVector inside the function
43549         instead of at the top of the file, since the use is restricted to this function.
43550         There's another NodeVector in ContainerNode.cpp.
43551
43552 2010-12-09  Brian Weinstein  <bweinstein@apple.com>
43553
43554         Reviewed by Adam Roben.
43555
43556         Prep for WebKit2: Context menu support on Windows
43557         https://bugs.webkit.org/show_bug.cgi?id=50514
43558         
43559         Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems
43560         were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to
43561         be to work in WebKit2.
43562         
43563         This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform
43564         representation of context menus. This patch also has Windows adopt them.
43565         
43566         Cross-platform context menus change the API of context menus and the ContextMenuClient. There
43567         is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed
43568         by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked
43569         title, action, type, and submenu).
43570         
43571         This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems
43572         function to allow for customization of the context menu.
43573         
43574         For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from
43575         a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done
43576         in ContextMenuWin.cpp and ContextMenuItemWin.cpp.
43577
43578         No new tests, no change in behavior.
43579
43580         * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now).
43581         * loader/EmptyClients.h:
43582         (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS
43583             is on.
43584         * page/ContextMenuClient.h: Ditto. 
43585         * page/ContextMenuController.cpp:
43586         (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of 
43587             getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on.
43588         * platform/ContextMenu.cpp: Added.
43589         (WebCore::ContextMenu::ContextMenu): Empty constructor.
43590         (WebCore::ContextMenu::setItems): Sets the items in the menu.
43591         (WebCore::ContextMenu::items): Returns the items in the menu.
43592         (WebCore::ContextMenu::itemAtIndex):
43593         (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending
43594             into submenus.
43595         (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu.
43596         * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for
43597             CROSS_PLATFORM_CONTEXT_MENUS.
43598         (WebCore::ContextMenu::appendItem): Appends an item to the menu.
43599         * platform/ContextMenuItem.cpp: Added.
43600         (WebCore::ContextMenuItem::ContextMenuItem):
43601         (WebCore::ContextMenuItem::~ContextMenuItem):
43602         (WebCore::ContextMenuItem::setSubMenu):
43603         * platform/ContextMenuItem.h:
43604         (WebCore::ContextMenuItem::type): Returns the type.
43605         (WebCore::ContextMenuItem::setType): Sets the type.
43606         (WebCore::ContextMenuItem::action): Returns the action.
43607         (WebCore::ContextMenuItem::setAction): Sets the action.
43608         (WebCore::ContextMenuItem::title): Returns the title.
43609         (WebCore::ContextMenuItem::setTitle): Sets the title.
43610         (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked.
43611         (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked.
43612         (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled.
43613         (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled.
43614         (WebCore::ContextMenuItem::submenu): Returns the submenu.
43615         * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if 
43616             CROSS_PLATFORM_CONTEXT_MENUS is on.
43617         * platform/win/ContextMenuItemWin.cpp:
43618         (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO.
43619         (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO.
43620         * platform/win/ContextMenuWin.cpp:
43621         (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU.
43622         (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU.
43623
43624 2010-12-10  Emil Eklund  <eae@chromium.org>
43625
43626         Reviewed by Adam Barth.
43627
43628         Fix crash in ReplaceSelectionCommand::doApply when selection is modified
43629         during execution.
43630         https://bugs.webkit.org/show_bug.cgi?id=50840
43631
43632         Test: editing/execCommand/insertHTML-mutation-crash.html
43633
43634         * editing/ReplaceSelectionCommand.cpp:
43635         (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
43636         Replaced raw node pointer with RefPtr.
43637         
43638         (WebCore::ReplaceSelectionCommand::doApply):
43639         Replaced raw node pointer with RefPtr and added null check.
43640
43641 2010-12-10  Emil Eklund  <eae@chromium.org>
43642
43643         Reviewed by Adam Barth.
43644
43645         Fix crash in Range::processContents when modified during mutation event.
43646         https://bugs.webkit.org/show_bug.cgi?id=50710
43647
43648         Test: fast/dom/Range/range-extractContents.html
43649
43650         * dom/Range.cpp:
43651         (WebCore::Range::processContents):
43652         Replace raw pointers with RefPtrs and add checks.
43653
43654 2010-12-09  Enrica Casucci  <enrica@apple.com>
43655
43656         Reviewed by Alexey Proskuryakov.
43657
43658         Implement IME support for Mac.
43659         <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
43660         https://bugs.webkit.org/show_bug.cgi?id=50788
43661
43662         * dom/KeyboardEvent.h:
43663         (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor,
43664         since it is now used for more than one command.
43665
43666 2010-12-10  Jessie Berlin  <jberlin@apple.com>
43667
43668         Windows build fix. Unreviewed.
43669
43670         * WebCore.vcproj/WebCore.vcproj:
43671         Remove duplicate </File> tag.
43672
43673 2010-12-09  Jenn Braithwaite  <jennb@chromium.org>
43674
43675         Reviewed by Adam Barth.
43676
43677         TextResourceDecoder::checkForHeadCharset can look way past the limit.
43678         https://bugs.webkit.org/show_bug.cgi?id=47397
43679
43680         Replaced charset detection algorithm with real parser.
43681         Added tests for parser bugs mentioned in the thread for this bug report.
43682         Converted hixie's encoding parsing tests to a layout test.
43683
43684         Tests: fast/encoding/bracket-in-script.html
43685                fast/encoding/bracket-in-tag.html
43686                fast/encoding/escaped-bracket.html
43687                fast/encoding/meta-in-body.html
43688                fast/encoding/meta-in-script.html
43689                fast/encoding/meta-in-title.html
43690                fast/encoding/mismatched-end-tag.html
43691                fast/encoding/namespace-meta.html
43692                fast/encoding/not-http-equiv-content.html
43693                fast/encoding/parser-tests.html
43694                fast/encoding/quotes-in-title.html
43695                fast/encoding/tag-name-digit.html
43696                http/tests/misc/charset-sniffer-end-sniffing.html
43697
43698         * Android.mk:
43699         * CMakeLists.txt:
43700         * GNUmakefile.am:
43701         * WebCore.gypi:
43702         * WebCore.pro:
43703         * WebCore.vcproj/WebCore.vcproj:
43704         * WebCore.xcodeproj/project.pbxproj:
43705         * html/parser/HTMLMetaCharsetParser.cpp: Added.
43706         (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
43707         (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
43708         (WebCore::HTMLMetaCharsetParser::extractCharset):
43709         (WebCore::HTMLMetaCharsetParser::processMeta):
43710         (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
43711         * html/parser/HTMLMetaCharsetParser.h: Added.
43712         (WebCore::HTMLMetaCharsetParser::create):
43713         (WebCore::HTMLMetaCharsetParser::encoding):
43714         * loader/TextResourceDecoder.cpp:
43715         (WebCore::TextResourceDecoder::checkForHeadCharset):
43716         (WebCore::TextResourceDecoder::checkForMetaCharset):
43717         * loader/TextResourceDecoder.h:
43718
43719 2010-12-10 Nate Chapin  <japhet@chromium.org>
43720
43721         Reviewed by Antti Koivisto.
43722
43723         Merge Loader and Request. Currently, Loader is a singleton attached
43724         to MemoryCache. Our goal is to remove knowledge of the loading process
43725         from MemoryCache, so we should attach Loader to CachedResourceLoader instead.
43726         Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton,
43727         which removes the main reason for Request existing as a separate class (to store per-request
43728         state that Loader couldn't).
43729
43730         Loader will be given a more descriptive name in a later patch.
43731
43732         https://bugs.webkit.org/show_bug.cgi?id=49837
43733
43734         Refactor only, no new tests.
43735
43736         * Android.mk:
43737         * CMakeLists.txt:
43738         * GNUmakefile.am:
43739         * WebCore.gypi:
43740         * WebCore.pro:
43741         * loader/FrameLoader.cpp:
43742         * loader/Request.cpp:
43743         * loader/Request.h:
43744         * loader/cache/CachedFont.cpp:
43745         * loader/cache/CachedImage.cpp:
43746         * loader/cache/CachedResource.cpp:
43747         * loader/cache/CachedResource.h:
43748         * loader/cache/CachedResourceLoader.cpp:
43749         (WebCore::CachedResourceLoader::CachedResourceLoader):
43750         (WebCore::CachedResourceLoader::~CachedResourceLoader):
43751         (WebCore::CachedResourceLoader::requestImage):
43752         (WebCore::CachedResourceLoader::setAutoLoadImages):
43753         (WebCore::CachedResourceLoader::load):
43754         (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false),
43755             plus other CachedResourceLoader cleanup that had been handled in Loader.
43756         (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader.
43757         (WebCore::CachedResourceLoader::requestCount):
43758         * loader/cache/CachedResourceLoader.h:
43759         (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true)
43760         * loader/cache/MemoryCache.h:
43761         * loader/loader.cpp:
43762         (WebCore::Loader::Loader):
43763         (WebCore::Loader::~Loader):
43764         (WebCore::Loader::load):
43765         (WebCore::Loader::willSendRequest):
43766         (WebCore::Loader::didFinishLoading):
43767         (WebCore::Loader::didFail):
43768         (WebCore::Loader::didReceiveResponse):
43769         (WebCore::Loader::didReceiveData):
43770         (WebCore::Loader::didReceiveCachedMetadata):
43771         * loader/loader.h:
43772         (WebCore::Loader::cachedResourceLoader):
43773
43774 2010-12-10  Martin Robinson  <mrobinson@igalia.com>
43775
43776         Unreviewed, rolling out r73703.
43777         http://trac.webkit.org/changeset/73703
43778         https://bugs.webkit.org/show_bug.cgi?id=49658
43779
43780         This patch is causing crashes on the GTK+ bots.
43781
43782         * platform/ContextMenuItem.h:
43783         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
43784         * platform/gtk/ContextMenuGtk.cpp:
43785         (WebCore::ContextMenu::appendItem):
43786         * platform/gtk/ContextMenuItemGtk.cpp:
43787         (WebCore::ContextMenuItem::ContextMenuItem):
43788         (WebCore::ContextMenuItem::~ContextMenuItem):
43789         (WebCore::ContextMenuItem::createNativeMenuItem):
43790         (WebCore::ContextMenuItem::releasePlatformDescription):
43791         (WebCore::ContextMenuItem::type):
43792         (WebCore::ContextMenuItem::setType):
43793         (WebCore::ContextMenuItem::action):
43794         (WebCore::ContextMenuItem::setAction):
43795         (WebCore::ContextMenuItem::title):
43796         (WebCore::ContextMenuItem::setTitle):
43797         (WebCore::ContextMenuItem::platformSubMenu):
43798         (WebCore::ContextMenuItem::setSubMenu):
43799         (WebCore::ContextMenuItem::setChecked):
43800         (WebCore::ContextMenuItem::setEnabled):
43801
43802 2010-12-08  Mihai Parparita  <mihaip@chromium.org>
43803
43804         Reviewed by Darin Adler.
43805
43806         fast/canvas/canvas-getImageData-negative-source.html fails on Mac
43807         https://bugs.webkit.org/show_bug.cgi?id=47901
43808
43809         Test: fast/canvas/canvas-getImageData-rounding.html
43810         
43811         static_cast<unsigned> is generally not what we want in
43812         convertLogicalToDevice. It produces inconsistent results when compiling
43813         for 32-bit vs. 64-bit, and in any case we weren't getting correct
43814         rounding behavior for source rectangles (e.g. we should get a source rect
43815         of width 2 if the source X is 0.9 and the source width is 0.2, but we
43816         were getting only one of width 1).
43817
43818         * html/HTMLCanvasElement.cpp:
43819         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
43820         (WebCore::HTMLCanvasElement::convertToValidDeviceSize):
43821         * html/HTMLCanvasElement.h:
43822
43823 2010-12-10  Hironori Bono  <hbono@chromium.org>
43824
43825         Reviewed by Ojan Vafai.
43826
43827         [Chromium] Use libjpeg-turbo instead of libjpeg
43828         https://bugs.webkit.org/show_bug.cgi?id=50054
43829
43830         This change replaces the hard-coded path to the GYP files of the JPEG
43831         library with a 'libjpeg_gyp_path' variable, which is added by Chromium
43832         r68453. (When building WebKit Chromium, this change sets its value to
43833         '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing
43834         the current behavior.)
43835
43836         No new tests since this does not change the code at all.
43837
43838         * WebCore.gyp/WebCore.gyp:
43839
43840 2010-12-10  Chris Marrin  <cmarrin@apple.com>
43841
43842         Reviewed by Simon Fraser.
43843
43844         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
43845         https://bugs.webkit.org/show_bug.cgi?id=49388
43846
43847         Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside
43848         the implementation.
43849
43850         * platform/graphics/ca/GraphicsLayerCA.cpp:
43851         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
43852         * platform/graphics/ca/PlatformCAAnimation.h:
43853         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
43854         (hasNonZeroBeginTimeFlag):
43855         (setNonZeroBeginTimeFlag):
43856         (PlatformCAAnimation::PlatformCAAnimation):
43857         (PlatformCAAnimation::setBeginTime):
43858
43859 2010-12-10  Pavel Podivilov  <podivilov@chromium.org>
43860
43861         Reviewed by Pavel Feldman.
43862
43863         Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor.
43864         https://bugs.webkit.org/show_bug.cgi?id=50679
43865
43866         * inspector/front-end/Script.js:
43867         * inspector/front-end/ScriptView.js:
43868         (WebInspector.ScriptView):
43869         * inspector/front-end/ScriptsPanel.js:
43870         (WebInspector.ScriptsPanel.prototype.reset):
43871         * inspector/front-end/SourceFrame.js:
43872         (WebInspector.SourceFrame):
43873         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
43874         (WebInspector.SourceFrame.prototype._breakpointAdded):
43875         (WebInspector.SourceFrame.prototype._doEditLine):
43876         (WebInspector.SourceFrame.prototype._commitEditLine):
43877         (WebInspector.SourceFrame.prototype._breakpoints):
43878         (WebInspector.SourceFrame.prototype._sourceIDForLine):
43879         * inspector/front-end/SourceView.js:
43880         (WebInspector.SourceView):
43881
43882 2010-12-10  Andreas Kling  <kling@webkit.org>
43883
43884         Reviewed by Eric Seidel.
43885
43886         Don't do GraphicsContext save/restore just to preserve the CompositeOperator
43887         https://bugs.webkit.org/show_bug.cgi?id=50070
43888
43889         Add GraphicsContext::compositeOperation() so we don't have to do a full
43890         save/restore if the only context-tainting call is setCompositeOperation().
43891
43892         GraphicsContext::setCompositeOperation() now stores the op in its state
43893         and calls a port-specific setPlatformCompositeOperation().
43894
43895         No new tests, this is an optimization.
43896
43897         * platform/graphics/GraphicsContext.cpp:
43898         (WebCore::GraphicsContext::setCompositeOperation):
43899         (WebCore::GraphicsContext::compositeOperation):
43900         * platform/graphics/GraphicsContext.h:
43901         * platform/graphics/GraphicsContextPrivate.h:
43902         (WebCore::GraphicsContextState::GraphicsContextState):
43903         * platform/graphics/Image.cpp:
43904         (WebCore::Image::fillWithSolidColor):
43905         * platform/graphics/cairo/GraphicsContextCairo.cpp:
43906         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43907         * platform/graphics/cg/GraphicsContextCG.cpp:
43908         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43909         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
43910         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43911         * platform/graphics/mac/GraphicsContextMac.mm:
43912         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43913         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
43914         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43915         * platform/graphics/qt/GraphicsContextQt.cpp:
43916         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43917         * platform/graphics/skia/GraphicsContextSkia.cpp:
43918         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43919         * platform/graphics/skia/SkiaUtils.cpp:
43920         (WebCore::WebCoreCompositeToSkiaComposite):
43921         * platform/graphics/wince/GraphicsContextWinCE.cpp:
43922         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43923         * platform/graphics/wx/GraphicsContextWx.cpp:
43924         (WebCore::GraphicsContext::setPlatformCompositeOperation):
43925         * rendering/RenderBoxModelObject.cpp:
43926         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
43927         * rendering/RenderView.cpp:
43928         (WebCore::RenderView::paintBoxDecorations):
43929
43930 2010-12-10  Renata Hodovan  <reni@webkit.org>
43931
43932         Reviewed by Andreas Kling.
43933
43934         GraphicsContext: Merge m_common and m_data
43935         https://bugs.webkit.org/show_bug.cgi?id=49914
43936
43937         Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
43938         and m_common became unnecessary. They are removed.
43939         Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
43940         make the constructor of GraphicsContext clearer.
43941         Besides add a getter to the private GraphicsContext::m_state member, because some inline
43942         functions in cairo need it.
43943
43944         No new test is needed, because this is a refactoring.
43945
43946         * WebCore.xcodeproj/project.pbxproj:
43947         * platform/graphics/GraphicsContext.cpp:
43948         (WebCore::GraphicsContext::GraphicsContext):
43949         (WebCore::GraphicsContext::~GraphicsContext):
43950         (WebCore::GraphicsContext::save):
43951         (WebCore::GraphicsContext::restore):
43952         (WebCore::GraphicsContext::setStrokeThickness):
43953         (WebCore::GraphicsContext::setStrokeStyle):
43954         (WebCore::GraphicsContext::setStrokeColor):
43955         (WebCore::GraphicsContext::setShadow):
43956         (WebCore::GraphicsContext::clearShadow):
43957         (WebCore::GraphicsContext::getShadow):
43958         (WebCore::GraphicsContext::strokeThickness):
43959         (WebCore::GraphicsContext::strokeStyle):
43960         (WebCore::GraphicsContext::strokeColor):
43961         (WebCore::GraphicsContext::strokeColorSpace):
43962         (WebCore::GraphicsContext::fillRule):
43963         (WebCore::GraphicsContext::setFillRule):
43964         (WebCore::GraphicsContext::setFillColor):
43965         (WebCore::GraphicsContext::fillColor):
43966         (WebCore::GraphicsContext::fillColorSpace):
43967         (WebCore::GraphicsContext::setShouldAntialias):
43968         (WebCore::GraphicsContext::shouldAntialias):
43969         (WebCore::GraphicsContext::state):
43970         (WebCore::GraphicsContext::setStrokePattern):
43971         (WebCore::GraphicsContext::setFillPattern):
43972         (WebCore::GraphicsContext::setStrokeGradient):
43973         (WebCore::GraphicsContext::setFillGradient):
43974         (WebCore::GraphicsContext::fillGradient):
43975         (WebCore::GraphicsContext::strokeGradient):
43976         (WebCore::GraphicsContext::fillPattern):
43977         (WebCore::GraphicsContext::strokePattern):
43978         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
43979         (WebCore::GraphicsContext::updatingControlTints):
43980         (WebCore::GraphicsContext::setUpdatingControlTints):
43981         (WebCore::GraphicsContext::setPaintingDisabled):
43982         (WebCore::GraphicsContext::paintingDisabled):
43983         (WebCore::GraphicsContext::textDrawingMode):
43984         (WebCore::GraphicsContext::setTextDrawingMode):
43985         * platform/graphics/GraphicsContext.h:
43986         (WebCore::GraphicsContextState::GraphicsContextState):
43987         * platform/graphics/GraphicsContextPrivate.h: Removed.
43988         * platform/graphics/cairo/GraphicsContextCairo.cpp:
43989         (WebCore::setPlatformFill):
43990         (WebCore::setPlatformStroke):
43991         (WebCore::drawPathShadow):
43992         (WebCore::fillCurrentCairoPath):
43993         (WebCore::strokeCurrentCairoPath):
43994         (WebCore::GraphicsContext::platformInit):
43995         (WebCore::GraphicsContext::platformDestroy):
43996         (WebCore::GraphicsContext::fillPath):
43997         (WebCore::GraphicsContext::strokePath):
43998         (WebCore::GraphicsContext::fillRect):
43999         (WebCore::GraphicsContext::setPlatformShadow):
44000         (WebCore::GraphicsContext::strokeRect):
44001         (WebCore::GraphicsContext::setAlpha):
44002         (WebCore::GraphicsContext::getAlpha):
44003         * platform/graphics/cg/GraphicsContextCG.cpp:
44004         (WebCore::GraphicsContext::platformInit):
44005         (WebCore::GraphicsContext::platformDestroy):
44006         (WebCore::GraphicsContext::applyStrokePattern):
44007         (WebCore::GraphicsContext::applyFillPattern):
44008         (WebCore::GraphicsContext::drawPath):
44009         (WebCore::GraphicsContext::fillPath):
44010         (WebCore::GraphicsContext::strokePath):
44011         (WebCore::GraphicsContext::fillRect):
44012         (WebCore::GraphicsContext::setPlatformShadow):
44013         (WebCore::GraphicsContext::strokeRect):
44014         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
44015         (WebCore::GraphicsContext::platformInit):
44016         (WebCore::GraphicsContext::platformDestroy):
44017         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
44018         (WebCore::GraphicsContext::platformInit):
44019         (WebCore::GraphicsContext::platformDestroy):
44020         (WebCore::GraphicsContext::fillPath):
44021         (WebCore::GraphicsContext::strokePath):
44022         (WebCore::GraphicsContext::clip):
44023         (WebCore::GraphicsContext::clipOut):
44024         (WebCore::GraphicsContext::addInnerRoundedRectClip):
44025         * platform/graphics/qt/GraphicsContextQt.cpp:
44026         (WebCore::GraphicsContext::platformInit):
44027         (WebCore::GraphicsContext::platformDestroy):
44028         (WebCore::GraphicsContext::fillPath):
44029         (WebCore::GraphicsContext::strokePath):
44030         (WebCore::GraphicsContext::fillRect):
44031         (WebCore::GraphicsContext::setPlatformShadow):
44032         * platform/graphics/skia/GraphicsContextSkia.cpp:
44033         (WebCore::GraphicsContext::platformInit):
44034         (WebCore::GraphicsContext::platformDestroy):
44035         (WebCore::GraphicsContext::fillPath):
44036         (WebCore::GraphicsContext::setPlatformShadow):
44037         * platform/graphics/win/GraphicsContextCGWin.cpp:
44038         (WebCore::GraphicsContext::GraphicsContext):
44039         (WebCore::GraphicsContext::platformInit):
44040         * platform/graphics/win/GraphicsContextCairoWin.cpp:
44041         (WebCore::GraphicsContext::GraphicsContext):
44042         (WebCore::GraphicsContext::platformInit):
44043         * platform/graphics/wince/GraphicsContextWinCE.cpp:
44044         (WebCore::GraphicsContext::platformInit):
44045         (WebCore::GraphicsContext::platformDestroy):
44046         (WebCore::GraphicsContext::fillPath):
44047         (WebCore::GraphicsContext::fillRect):
44048         * platform/graphics/wx/GraphicsContextWx.cpp:
44049         (WebCore::GraphicsContext::platformInit):
44050         (WebCore::GraphicsContext::platformDestroy):
44051
44052 2010-12-10  Pavel Podivilov  <podivilov@chromium.org>
44053
44054         Reviewed by Yury Semikhatsky.
44055
44056         Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
44057         https://bugs.webkit.org/show_bug.cgi?id=50809
44058
44059         * inspector/Inspector.idl:
44060         * inspector/InspectorController.cpp:
44061         (WebCore::InspectorController::InspectorController):
44062         (WebCore::InspectorController::setEventListenerBreakpoint):
44063         (WebCore::InspectorController::removeEventListenerBreakpoint):
44064         (WebCore::InspectorController::hasEventListenerBreakpoint):
44065         (WebCore::InspectorController::setXHRBreakpoint):
44066         (WebCore::InspectorController::removeXHRBreakpoint):
44067         (WebCore::InspectorController::hasXHRBreakpoint):
44068         (WebCore::InspectorController::clearNativeBreakpoints):
44069         * inspector/InspectorController.h:
44070         * inspector/InspectorDOMAgent.cpp:
44071         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
44072         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
44073         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
44074         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
44075         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
44076         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
44077         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
44078         * inspector/InspectorDOMAgent.h:
44079         * inspector/InspectorInstrumentation.cpp:
44080         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
44081         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
44082         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
44083         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
44084         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
44085         * inspector/front-end/BreakpointManager.js:
44086         (WebInspector.BreakpointManager):
44087         (WebInspector.NativeBreakpoint):
44088         (WebInspector.DOMBreakpoint):
44089         (WebInspector.EventListenerBreakpoint):
44090         (WebInspector.XHRBreakpoint):
44091         * inspector/front-end/CallStackSidebarPane.js:
44092         (WebInspector.CallStackSidebarPane):
44093         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
44094         * inspector/front-end/DebuggerModel.js:
44095         (WebInspector.DebuggerModel.prototype.debuggerPaused):
44096
44097 2010-12-10  Adam Roben  <aroben@apple.com>
44098
44099         Windows production build fix after r72555
44100
44101         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
44102         "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
44103         .vsprops files, rather than $(WebKitLibrariesDir).
44104
44105 2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44106
44107         Reviewed by nobody, build fix.
44108
44109         [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710.
44110
44111         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
44112         (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
44113         (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
44114         * platform/network/qt/QtNAMThreadSafeProxy.h:
44115
44116 2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44117
44118         Reviewed by nobody, build fix.
44119
44120         [Qt] Fix the build with Qt 4.6 broken in 73710.
44121
44122         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
44123         (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
44124         * platform/network/qt/QtNAMThreadSafeProxy.h:
44125
44126 2010-12-10  Emil Eklund  <eae@chromium.org>
44127
44128         Reviewed by Eric Seidel.
44129
44130         Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
44131         https://bugs.webkit.org/show_bug.cgi?id=49982
44132
44133         * page/EventHandler.cpp:
44134         (WebCore::EventHandler::dispatchMouseEvent):
44135         Walk up DOM/hosted tree rather than render tree.
44136
44137 2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44138
44139         Reviewed by Kenneth Rohde Christiansen.
44140
44141         [Qt] Support a QNetworkAccessManager affined to a different thread.
44142         https://bugs.webkit.org/show_bug.cgi?id=50080
44143
44144         This patch introduce thread safe proxy classes for QNetworkAccessManager
44145         and QNetworkReply.
44146         If run in the same thread, these objects will forward the calls with
44147         Qt::DirectConnection bindings, while in the other case they will use
44148         Qt::QueuedConnection to carry requests accross threads.
44149
44150         This patch basically:
44151         - Makes sure that all access goes through these objects
44152         - Reorders signal connections to make sure we are connected when the
44153           signal comes
44154         - Makes sure that no QObject in the WebCore thread is a child of the
44155           reply which might be in a different thread.
44156         - Forward the data directly in QByteArrays in signals instead of collecting
44157           the data when the signal is handled.
44158
44159         New test: tst_QWebPage::networkAccessManagerOnDifferentThread
44160
44161         * WebCore.pro:
44162         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
44163         (WebCore::MediaPlayerPrivateQt::commitLoad):
44164         * platform/network/qt/QNetworkReplyHandler.cpp:
44165         (WebCore::FormDataIODevice::FormDataIODevice):
44166         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
44167         (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler):
44168         (WebCore::QNetworkReplyHandler::setLoadMode):
44169         (WebCore::QNetworkReplyHandler::abort):
44170         (WebCore::QNetworkReplyHandler::release):
44171         (WebCore::ignoreHttpError):
44172         (WebCore::QNetworkReplyHandler::finish):
44173         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
44174         (WebCore::QNetworkReplyHandler::forwardData):
44175         (WebCore::QNetworkReplyHandler::start):
44176         (WebCore::QNetworkReplyHandler::sendQueuedItems):
44177         * platform/network/qt/QNetworkReplyHandler.h:
44178         * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added.
44179         * platform/network/qt/QtNAMThreadSafeProxy.h: Added.
44180         * platform/network/qt/ResourceHandleQt.cpp:
44181         (WebCore::ResourceHandle::willLoadFromCache):
44182         * platform/qt/CookieJarQt.cpp:
44183         (WebCore::networkAccessManager):
44184         (WebCore::setCookies):
44185         (WebCore::cookies):
44186         (WebCore::cookieRequestHeaderFieldValue):
44187         (WebCore::cookiesEnabled):
44188
44189 2010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44190
44191         Reviewed by Kenneth Rohde Christiansen.
44192
44193         [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes.
44194         https://bugs.webkit.org/show_bug.cgi?id=50761
44195
44196         This patch change the order to check if m_reply is null instead,
44197         explicitly deleting the reply before calling start() for a redirect,
44198         or after calling didFinishLoading()/didFail() in other cases.
44199
44200         * platform/network/qt/QNetworkReplyHandler.cpp:
44201         (WebCore::QNetworkReplyHandler::finish):
44202
44203 2010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44204
44205         Reviewed by Kenneth Rohde Christiansen.
44206
44207         [Qt] Make sure we send the response before any data.
44208         https://bugs.webkit.org/show_bug.cgi?id=50760
44209
44210         This patch make sure the data available flag is set before
44211         we call sendResponseIfNeeded.
44212
44213         * platform/network/qt/QNetworkReplyHandler.cpp:
44214         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
44215         (WebCore::QNetworkReplyHandler::finish):
44216         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
44217         (WebCore::QNetworkReplyHandler::forwardData):
44218         (WebCore::QNetworkReplyHandler::resetState):
44219         * platform/network/qt/QNetworkReplyHandler.h:
44220
44221 2010-12-10  Koan-Sin Tan  <koansin.tan@gmail.com>
44222
44223         Reviewed by Dan Bernstein.
44224
44225         Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
44226         https://bugs.webkit.org/show_bug.cgi?id=50668
44227
44228         No new tests. Note that, as said in the bug report discussion,
44229         I did have a test case for the bug. However, to show the test 
44230         case you need some "broken" Microsoft copyrighted fonts, such
44231         as DFKai-SB.
44232
44233         * platform/graphics/Font.cpp:
44234         (WebCore::Font::isCJKIdeograph):
44235
44236 2010-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
44237
44238         Reviewed by Martin Robinson.
44239
44240         [GTK] Simplify context-menu handling code
44241         https://bugs.webkit.org/show_bug.cgi?id=49658
44242
44243         * platform/ContextMenuItem.h:
44244         * platform/gtk/ContextMenuGtk.cpp:
44245         (WebCore::ContextMenu::appendItem):
44246         * platform/gtk/ContextMenuItemGtk.cpp:
44247         (WebCore::ContextMenuItem::ContextMenuItem):
44248         (WebCore::ContextMenuItem::~ContextMenuItem):
44249         (WebCore::ContextMenuItem::releasePlatformDescription):
44250         (WebCore::ContextMenuItem::type):
44251         (WebCore::ContextMenuItem::setType):
44252         (WebCore::ContextMenuItem::action):
44253         (WebCore::ContextMenuItem::setAction):
44254         (WebCore::ContextMenuItem::title):
44255         (WebCore::ContextMenuItem::setTitle):
44256         (WebCore::ContextMenuItem::platformSubMenu):
44257         (WebCore::ContextMenuItem::setSubMenu):
44258         (WebCore::ContextMenuItem::setChecked):
44259         (WebCore::ContextMenuItem::setEnabled):
44260
44261 2010-12-10  Philippe Normand  <pnormand@igalia.com>
44262
44263         Reviewed by Gustavo Noronha Silva.
44264
44265         [GStreamer] un-needed methods
44266         https://bugs.webkit.org/show_bug.cgi?id=50805
44267
44268         No new tests, code cleanup only.
44269
44270         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44271         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
44272
44273 2010-12-10  Philippe Normand  <pnormand@igalia.com>
44274
44275         Reviewed by Gustavo Noronha Silva.
44276
44277         [GStreamer] data: source could also support non-base64 encoded URIs
44278         https://bugs.webkit.org/show_bug.cgi?id=30007
44279
44280         Removed our ancient implementation of dataurisrc. We should now
44281         use the one in gst-plugins-bad which is more mature.
44282
44283         * GNUmakefile.am:
44284         * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
44285         * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
44286         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44287         (WebCore::doGstInit):
44288
44289 2010-12-10  Zoltan Herczeg  <zherczeg@webkit.org>
44290
44291         Reviewed by Eric Seidel.
44292
44293         [Qt] Fix crashes in debug mode
44294         https://bugs.webkit.org/show_bug.cgi?id=49976
44295
44296         The m_methods hashmap of QtInstance contains InternalFunctions
44297         whose depend on the current RuntimeObject. When we recreate the
44298         RuntimeObject, we should also reset this hashmap.
44299
44300         * bridge/qt/qt_instance.cpp:
44301         (JSC::Bindings::QtInstance::newRuntimeObject):
44302
44303 2010-12-10  François Sausset  <sausset@gmail.com>
44304
44305         Reviewed by Eric Seidel.
44306
44307         MathML: update baselinePosition() call in RenderMathMLBlock.cpp 
44308         https://bugs.webkit.org/show_bug.cgi?id=50540
44309
44310         The call of baselinePosition() is outdated: new arguments added.
44311
44312         * mathml/RenderMathMLBlock.cpp:
44313         (WebCore::RenderMathMLBlock::paint):
44314
44315 2010-12-10  Hans Wennborg  <hans@chromium.org>
44316
44317         Reviewed by Jeremy Orlow.
44318
44319         IndexedDB: Numeric keys are floats.
44320         https://bugs.webkit.org/show_bug.cgi?id=50674
44321
44322         Use floating point to represent numeric keys,
44323         add version meta data to the SQLite db,
44324         and migrate object stores that use integers.
44325
44326         * bindings/v8/IDBBindingUtilities.cpp:
44327         (WebCore::createIDBKeyFromValue):
44328         * bindings/v8/custom/V8IDBKeyCustom.cpp:
44329         (WebCore::toV8):
44330         * storage/IDBFactoryBackendImpl.cpp:
44331         (WebCore::createTables):
44332         (WebCore::migrateDatabase):
44333         (WebCore::IDBFactoryBackendImpl::open):
44334         * storage/IDBKey.cpp:
44335         (WebCore::IDBKey::IDBKey):
44336         (WebCore::IDBKey::fromQuery):
44337         (WebCore::IDBKey::bind):
44338         (WebCore::IDBKey::bindWithNulls):
44339         * storage/IDBKey.h:
44340         (WebCore::IDBKey::create):
44341         (WebCore::IDBKey::number):
44342
44343 2010-12-10  Martin Robinson  <mrobinson@igalia.com>
44344
44345         Reviewed by Xan Lopez.
44346
44347         [Gtk] style="font-family: courier" makes text disappear
44348         https://bugs.webkit.org/show_bug.cgi?id=47452
44349
44350         Don't ever use fonts that do not have any of the three charmaps that
44351         Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
44352         a font that doesn't have one of these charmaps, use the next font in
44353         the list.
44354
44355         Test: platform/gtk/fonts/font-with-no-valid-encoding.html
44356
44357         * platform/graphics/freetype/FontCacheFreeType.cpp:
44358         (WebCore::FontCache::createFontPlatformData): Check whether the
44359         font we selected has a valid Fontconfig charmap.
44360         * platform/graphics/freetype/FontPlatformData.h: Added new method definition.
44361         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
44362         (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
44363         verifies that a font has a valid Fontconfig charmap.
44364
44365 2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
44366
44367         Reviewed by Ojan Vafai.
44368
44369         Make DOM Mutation Events Asynchronous
44370         https://bugs.webkit.org/show_bug.cgi?id=46936
44371
44372         Implemented DOM mutations events as scoped events. A scoped event is an event whose
44373         dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
44374         EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
44375         on its constructor and destructor respectively.
44376
44377         When the scoping level is 0 (initial level), scoped events are dispatched as soon as
44378         they are enqueued and act like synchronous events. When the scoping level is greater than 0,
44379         however, events are queued in ScopedEventQueue and their dispatches are delayed until
44380         the scoping level goes back to 0 (by the destruction of EventQueueScope).
44381
44382         DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
44383         DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
44384         scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
44385         of the events until the completion of each call of EditCommand::doApply.
44386
44387         Test: fast/events/mutation/execCommands.html
44388
44389         * Android.mk: Added ScopedEventQueue.cpp.
44390         * CMakeLists.txt: Ditto.
44391         * WebCore.pro: Ditto.
44392         * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
44393         * WebCore.gypi:  Ditto.
44394         * WebCore.vcproj/project.vcproj: Ditto.
44395         * WebCore.xcodeproj/project.pbxproj: Ditto.
44396         * dom/ContainerNode.cpp:
44397         (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
44398         (WebCore::dispatchChildRemovalEvents): Ditto.
44399         * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
44400         * dom/Element.cpp:
44401         (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
44402         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
44403         * dom/Node.cpp:
44404         (WebCore::Node::dispatchScopedEvent): Added.
44405         (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
44406         * dom/Node.h:
44407         * dom/ScopedEventQueue.cpp: Added.
44408         (WebCore::ScopedEventQueue::initialize): Added.
44409         (WebCore::ScopedEventQueue::enqueueEvent): Added.
44410         (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
44411         (WebCore::ScopedEventQueue::dispatchEvent): Added.
44412         (WebCore::ScopedEventQueue::instance): Added.
44413         (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
44414         (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
44415         * dom/ScopedEventQueue.h: Added.
44416         (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
44417         (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
44418         (WebCore::EventQueueScope::EventQueueScope): Added.
44419         (WebCore::EventQueueScope::~EventQueueScope): Added.
44420         * editing/EditCommand.cpp:
44421         (WebCore::EditCommand::apply): Instantiates EventQueueScope.
44422
44423 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
44424
44425         Unreviewed, rolling out r73684.
44426         http://trac.webkit.org/changeset/73684
44427         https://bugs.webkit.org/show_bug.cgi?id=50801
44428
44429         "missing bug number" (Requested by rniwa on #webkit).
44430
44431         * Android.mk:
44432         * CMakeLists.txt:
44433         * GNUmakefile.am:
44434         * WebCore.gypi:
44435         * WebCore.pro:
44436         * WebCore.vcproj/WebCore.vcproj:
44437         * WebCore.xcodeproj/project.pbxproj:
44438         * dom/ContainerNode.cpp:
44439         (WebCore::dispatchChildInsertionEvents):
44440         (WebCore::dispatchChildRemovalEvents):
44441         * dom/DOMAllInOne.cpp:
44442         * dom/Element.cpp:
44443         (WebCore::Element::dispatchAttrRemovalEvent):
44444         (WebCore::Element::dispatchAttrAdditionEvent):
44445         * dom/Node.cpp:
44446         (WebCore::Node::dispatchSubtreeModifiedEvent):
44447         (WebCore::Node::dispatchUIEvent):
44448         * dom/Node.h:
44449         * dom/ScopedEventQueue.cpp: Removed.
44450         * dom/ScopedEventQueue.h: Removed.
44451         * editing/EditCommand.cpp:
44452         (WebCore::EditCommand::apply):
44453
44454 2010-12-09  Qi Zhang  <qi.2.zhang@nokia.com>
44455
44456         Reviewed by Kenneth Rohde Christiansen.
44457
44458         [Qt] enable orientation flag when QtMobility available
44459         https://bugs.webkit.org/show_bug.cgi?id=50781
44460
44461         When QtMobility available, enable orientation flag by default.
44462
44463         * features.pri:
44464
44465 2010-12-09  Kenichi Ishibashi  <bashi@google.com>
44466
44467         Reviewed by Kent Tamura.
44468
44469         Improve validation API support of <object> and <keygen>
44470         https://bugs.webkit.org/show_bug.cgi?id=50663
44471
44472         Adds validation API to HTMLObjectElement class.
44473         Makes HTMLKeygenElement::willValidate() return false.
44474
44475         Test: fast/forms/setCustomValidity-existence.html
44476
44477         * html/HTMLKeygenElement.h:
44478         (WebCore::HTMLKeygenElement::willValidate): Added.
44479         * html/HTMLObjectElement.h:
44480         (WebCore::HTMLObjectElement::validationMessage): Added.
44481         (WebCore::HTMLObjectElement::checkValidity): Added.
44482         (WebCore::HTMLObjectElement::setCustomValidity): Added.
44483         * html/HTMLObjectElement.idl: Added validation API properties.
44484
44485 2010-12-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
44486
44487         Reviewed by Kent Tamura.
44488
44489         Make sure a non-zero value is used for tile-width to avoid a crash
44490         https://bugs.webkit.org/show_bug.cgi?id=50341
44491
44492         The scaled tile width can be very small at times (e.g. with 'style: font 1
44493         required'). So use a minimum width of 1 instead of using 0 (which leads to a
44494         crash).
44495
44496         Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
44497
44498         * rendering/RenderThemeChromiumSkia.cpp:
44499         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
44500
44501 2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
44502
44503         Reviewed by Ojan Vafai.
44504
44505         Implemented DOM mutations events as scoped events. A scoped event is an event whose
44506         dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
44507         EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
44508         on its constructor and destructor respectively.
44509
44510         When the scoping level is 0 (initial level), scoped events are dispatched as soon as
44511         they are enqueued and act like synchronous events. When the scoping level is greater than 0,
44512         however, events are queued in ScopedEventQueue and their dispatches are delayed until
44513         the scoping level goes back to 0 (by the destruction of EventQueueScope).
44514
44515         DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
44516         DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
44517         scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
44518         of the events until the completion of each call of EditCommand::doApply.
44519
44520         Test: fast/events/mutation/execCommands.html
44521
44522         * Android.mk: Added ScopedEventQueue.cpp.
44523         * CMakeLists.txt: Ditto.
44524         * WebCore.pro: Ditto.
44525         * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
44526         * WebCore.gypi:  Ditto.
44527         * WebCore.vcproj/project.vcproj: Ditto.
44528         * WebCore.xcodeproj/project.pbxproj: Ditto.
44529         * dom/ContainerNode.cpp:
44530         (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
44531         (WebCore::dispatchChildRemovalEvents): Ditto.
44532         * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
44533         * dom/Element.cpp:
44534         (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
44535         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
44536         * dom/Node.cpp:
44537         (WebCore::Node::dispatchScopedEvent): Added.
44538         (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
44539         * dom/Node.h:
44540         * dom/ScopedEventQueue.cpp: Added.
44541         (WebCore::ScopedEventQueue::initialize): Added.
44542         (WebCore::ScopedEventQueue::enqueueEvent): Added.
44543         (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
44544         (WebCore::ScopedEventQueue::dispatchEvent): Added.
44545         (WebCore::ScopedEventQueue::instance): Added.
44546         (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
44547         (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
44548         * dom/ScopedEventQueue.h: Added.
44549         (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
44550         (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
44551         (WebCore::EventQueueScope::EventQueueScope): Added.
44552         (WebCore::EventQueueScope::~EventQueueScope): Added.
44553         * editing/EditCommand.cpp:
44554         (WebCore::EditCommand::apply): Instantiates EventQueueScope.
44555
44556 2010-12-09  Sam Weinig  <sam@webkit.org>
44557
44558         Reviewed by Gavin Barraclough.
44559
44560         Fix scrolling with mouse wheel in WebKit2 views.  Once
44561         we coalesce wheel events, we can re-enable this.
44562
44563         * platform/mac/ScrollAnimatorMac.mm:
44564         (WebCore::ScrollAnimatorMac::scroll):
44565
44566 2010-12-09  Abhishek Arya  <inferno@chromium.org>
44567
44568         Reviewed by James Robinson.
44569
44570         For details element, ensure that if we ended up being inline that we set out replaced
44571         flag so that we are treated like an inline block.
44572         https://bugs.webkit.org/show_bug.cgi?id=50671
44573
44574         Test: fast/html/details-element-render-inline-crash.html
44575
44576         * rendering/RenderDetails.cpp:
44577         (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
44578         * rendering/RenderDetails.h: function definition.
44579
44580 2010-12-09  Jasmin Lapalme  <jlapalme@druide.com>
44581
44582         Reviewed by Alexey Proskuryakov.
44583
44584         Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
44585         https://bugs.webkit.org/show_bug.cgi?id=50708
44586
44587         Test: fast/xsl/utf8-chunks.xml
44588
44589         * xml/XSLTProcessorLibxslt.cpp:
44590         (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.
44591
44592 2010-12-09  Vincent Scheib  <scheib@chromium.org>
44593
44594         Reviewed by James Robinson.
44595
44596         Clip update rectangle for Texture::updateSubRect to texture size
44597         https://bugs.webkit.org/show_bug.cgi?id=49929
44598
44599         Test: fast/canvas/canvas-largedraws.html
44600
44601         * platform/graphics/gpu/Texture.cpp:
44602         (WebCore::Texture::updateSubRect):
44603
44604 2010-12-09  Kenneth Russell  <kbr@google.com>
44605
44606         Unreviewed. Another speculative Gtk build fix after r73669. Add
44607         needed derived sources to GNUmakefile.am.
44608
44609         * GNUmakefile.am:
44610
44611 2010-12-09  Kenneth Russell  <kbr@google.com>
44612
44613         Unreviewed. Speculative Gtk build fix after
44614         https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
44615         all of the WebGL classes' IDL files.
44616
44617         * CMakeLists.txt:
44618
44619 2010-12-09  Zhenyao Mo  <zmo@google.com>
44620
44621         Reviewed by Kenneth Russell.
44622
44623         Expose constructor functions for instanceof checks of WebGL objects
44624         https://bugs.webkit.org/show_bug.cgi?id=36512
44625
44626         Test: fast/canvas/webgl/instanceof-test.html
44627
44628         * bindings/generic/RuntimeEnabledFeatures.h:
44629         (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
44630         (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
44631         (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
44632         (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
44633         (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
44634         (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
44635         (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
44636         (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
44637         * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
44638         * html/canvas/WebGLBuffer.idl: Ditto.
44639         * html/canvas/WebGLFramebuffer.idl: Ditto.
44640         * html/canvas/WebGLProgram.idl: Ditto.
44641         * html/canvas/WebGLRenderbuffer.idl: Ditto.
44642         * html/canvas/WebGLShader.idl: Ditto.
44643         * html/canvas/WebGLTexture.idl: Ditto.
44644         * html/canvas/WebGLUniformLocation.idl: Ditto.
44645         * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.
44646
44647 2010-12-09  Timothy Hatcher  <timothy@apple.com>
44648
44649         Export Color::white and Color::transparent.
44650
44651         Reviewed by Anders Carlsson.
44652
44653         * WebCore.exp.in:
44654
44655 2010-12-09  Sam Weinig  <sam@webkit.org>
44656
44657         Fix failing Mac tests.
44658
44659         * platform/mac/ScrollAnimatorMac.mm:
44660         (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
44661         AppleScrollAnimationEnabled is false.
44662
44663 2010-12-09  James Robinson  <jamesr@chromium.org>
44664
44665         Reviewed by Kenneth Russell.
44666
44667         [chromium] Compositor needs to manage its VRAM use
44668         https://bugs.webkit.org/show_bug.cgi?id=49629
44669
44670         This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
44671         used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
44672         RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
44673         Video, and WebGL) and the root layer are still unmanaged.
44674
44675         The TextureManager works by providing tokens to callers that want to use a managed texture.
44676         The token can be used to request a texture, see if the previously requested texture is still
44677         available, and to protect/unprotect textures when they cannot be collected.  Whenever a
44678         texture is created the manager attempts to free up the least recently used textures until the
44679         total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
44680         limit it will not return any new textures until some old textures are released.
44681
44682         A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
44683         previously requested texture is still available for use and reserve the LayerTexture's underlying
44684         storage between the updateContentsIfDirty() and the draw() call.
44685
44686         Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
44687         updateContentsIfDirty().
44688
44689         Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
44690                platform/chromium/compositing/lots-of-img-layers.html
44691
44692         * WebCore.gypi:
44693         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
44694         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
44695         * platform/graphics/chromium/Canvas2DLayerChromium.h:
44696         * platform/graphics/chromium/ContentLayerChromium.cpp:
44697         (WebCore::ContentLayerChromium::cleanupResources):
44698         (WebCore::ContentLayerChromium::updateContentsIfDirty):
44699         (WebCore::ContentLayerChromium::updateTextureRect):
44700         (WebCore::ContentLayerChromium::draw):
44701         * platform/graphics/chromium/ContentLayerChromium.h:
44702         * platform/graphics/chromium/ImageLayerChromium.cpp:
44703         (WebCore::ImageLayerChromium::updateContentsIfDirty):
44704         * platform/graphics/chromium/ImageLayerChromium.h:
44705         * platform/graphics/chromium/LayerChromium.h:
44706         (WebCore::LayerChromium::updateContentsIfDirty):
44707         (WebCore::LayerChromium::draw):
44708         * platform/graphics/chromium/LayerRendererChromium.cpp:
44709         (WebCore::LayerRendererChromium::LayerRendererChromium):
44710         (WebCore::LayerRendererChromium::useShader):
44711         (WebCore::LayerRendererChromium::prepareToDrawLayers):
44712         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
44713         (WebCore::LayerRendererChromium::drawLayers):
44714         (WebCore::LayerRendererChromium::getFramebufferPixels):
44715         (WebCore::LayerRendererChromium::createLayerTexture):
44716         (WebCore::LayerRendererChromium::deleteLayerTexture):
44717         (WebCore::LayerRendererChromium::updateLayersRecursive):
44718         (WebCore::LayerRendererChromium::useRenderSurface):
44719         (WebCore::LayerRendererChromium::drawLayer):
44720         (WebCore::LayerRendererChromium::setScissorToRect):
44721         (WebCore::LayerRendererChromium::setDrawViewportRect):
44722         (WebCore::LayerRendererChromium::initializeSharedObjects):
44723         (WebCore::LayerRendererChromium::cleanupSharedObjects):
44724         * platform/graphics/chromium/LayerRendererChromium.h:
44725         (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
44726         (WebCore::LayerRendererChromium::textureManager):
44727         * platform/graphics/chromium/LayerTexture.cpp: Added.
44728         (WebCore::LayerTexture::LayerTexture):
44729         (WebCore::LayerTexture::~LayerTexture):
44730         (WebCore::LayerTexture::isValid):
44731         (WebCore::LayerTexture::reserve):
44732         (WebCore::LayerTexture::unreserve):
44733         (WebCore::LayerTexture::bindTexture):
44734         (WebCore::LayerTexture::framebufferTexture2D):
44735         * platform/graphics/chromium/LayerTexture.h: Added.
44736         (WebCore::LayerTexture::create):
44737         * platform/graphics/chromium/PluginLayerChromium.cpp:
44738         (WebCore::PluginLayerChromium::updateContentsIfDirty):
44739         * platform/graphics/chromium/PluginLayerChromium.h:
44740         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
44741         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
44742         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
44743         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
44744         (WebCore::RenderSurfaceChromium::cleanupResources):
44745         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
44746         (WebCore::RenderSurfaceChromium::draw):
44747         * platform/graphics/chromium/RenderSurfaceChromium.h:
44748         (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
44749         (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
44750         (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
44751         (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
44752         (WebCore::RenderSurfaceChromium::SharedValues::initialized):
44753         * platform/graphics/chromium/TextureManager.cpp: Added.
44754         (WebCore::memoryUseBytes):
44755         (WebCore::TextureManager::TextureManager):
44756         (WebCore::TextureManager::getToken):
44757         (WebCore::TextureManager::releaseToken):
44758         (WebCore::TextureManager::hasTexture):
44759         (WebCore::TextureManager::protectTexture):
44760         (WebCore::TextureManager::unprotectTexture):
44761         (WebCore::TextureManager::reduceMemoryToLimit):
44762         (WebCore::TextureManager::addTexture):
44763         (WebCore::TextureManager::removeTexture):
44764         (WebCore::TextureManager::requestTexture):
44765         * platform/graphics/chromium/TextureManager.h: Added.
44766         (WebCore::TextureManager::create):
44767         * platform/graphics/chromium/VideoLayerChromium.cpp:
44768         (WebCore::VideoLayerChromium::updateContentsIfDirty):
44769         * platform/graphics/chromium/VideoLayerChromium.h:
44770         * platform/graphics/chromium/WebGLLayerChromium.cpp:
44771         (WebCore::WebGLLayerChromium::updateContentsIfDirty):
44772         * platform/graphics/chromium/WebGLLayerChromium.h:
44773
44774 2010-12-09  Darin Adler  <darin@apple.com>
44775
44776         Reviewed by Sam Weinig.
44777
44778         Rework my recent setLocation refactoring to use DOMWindow instead of Frame.
44779         It's difficult to make correct security decisions based on Frame since a
44780         Frame can navigate to a new document.
44781
44782         Fixes some test failures that I somehow missed before the last check-in.
44783
44784         * bindings/js/JSDOMWindowBase.cpp:
44785         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
44786         shell DOMWindow; not sure this one matters, but it's closer to the old
44787         code before my last patch. Also pass the DOMWindow rather than the
44788         frame to crossDomainAccessErrorMessage.
44789
44790         * bindings/js/JSDOMWindowCustom.cpp:
44791         (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
44792         to the DOMWindow::setLocation function.
44793
44794         * page/DOMWindow.cpp:
44795         (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
44796         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
44797
44798         * page/DOMWindow.h: Update new functions to take DOMWindow rather
44799         than Frame.
44800
44801 2010-12-09  Sam Weinig  <sam@webkit.org>
44802
44803         Try and fix the mac build.
44804
44805         * WebCore.exp.in:
44806
44807 2010-12-09  Dan Bernstein  <mitz@apple.com>
44808
44809         Reviewed by Dave Hyatt.
44810
44811         Removed an unused variable.
44812
44813         * rendering/InlineFlowBox.cpp:
44814         (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
44815
44816 2010-12-09  Darin Adler  <darin@apple.com>
44817
44818         Reviewed by Geoffrey Garen.
44819
44820         Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
44821         https://bugs.webkit.org/show_bug.cgi?id=50640
44822
44823         * bindings/js/JSDOMBinding.cpp:
44824         (WebCore::printErrorMessageForFrame): Removed body; just call through to
44825         DOMWindow::printErrorMessage.
44826
44827         * bindings/js/JSDOMWindowBase.cpp:
44828         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
44829         just call through to DOMWindow::crossDomainAccessErrorMessage.
44830
44831         * bindings/js/JSDOMWindowCustom.cpp:
44832         (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
44833         firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
44834         of the body and moved it into DOMWindow::setLocation.
44835
44836         * page/DOMWindow.cpp:
44837         (WebCore::DOMWindow::setLocation): Added. Does all the same work that
44838         JSDOMWindow::setLocation used to do, but in a way that's not specific
44839         to JavaScript.
44840         (WebCore::DOMWindow::printErrorMessage): Added.
44841         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
44842
44843         * page/DOMWindow.h: Added setLocation, printErrorMessage, and
44844         crossDomainAccessErrorMessage.
44845
44846 2010-12-09  Sam Weinig  <sam@webkit.org>
44847
44848         Reviewed by Dan Bernstein.
44849
44850         WebKit2 needs smooth scrolling support on the mac
44851         <rdar://problem/8219402>
44852
44853         * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
44854         * platform/mac/ScrollAnimatorMac.cpp: Removed.
44855         * platform/mac/ScrollAnimatorMac.h:
44856         * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
44857         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
44858         (-[ScrollAnimationHelperDelegate bounds]):
44859         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
44860         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
44861         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
44862         (-[ScrollAnimationHelperDelegate superview]):
44863         (-[ScrollAnimationHelperDelegate documentView]):
44864         (-[ScrollAnimationHelperDelegate window]):
44865         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
44866         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
44867         (WebCore::ScrollAnimatorMac::scroll):
44868         (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
44869         (WebCore::ScrollAnimatorMac::currentPosition):
44870         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
44871         Add implementation of ScrollAnimator for the Mac.
44872
44873 2010-12-09  Brady Eidson  <beidson@apple.com>
44874
44875         Reviewed by Anders Carlsson.
44876
44877         <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
44878         WebKit2 ContextMenuClient support
44879
44880         Export some symbols and headers needed by WebKit2 Mac:
44881         * WebCore.exp.in:
44882         * WebCore.xcodeproj/project.pbxproj:
44883
44884 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
44885
44886         Unreviewed, rolling out r73635.
44887         http://trac.webkit.org/changeset/73635
44888         https://bugs.webkit.org/show_bug.cgi?id=50778
44889
44890         'Side-effects on 3 css tests needs closer review' (Requested
44891         by mwenge on #webkit).
44892
44893         * platform/graphics/qt/ImageQt.cpp:
44894         (loadResourcePixmap):
44895         * platform/qt/RenderThemeQt.cpp:
44896         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
44897         (WebCore::RenderThemeQt::paintSearchField):
44898         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
44899         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
44900         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
44901         * platform/qt/RenderThemeQt.h:
44902
44903 2010-12-09  Robert Hogan  <robert@webkit.org>
44904
44905         Reviewed by Andreas Kling.
44906
44907         [Qt] Search input field doesn't have cancel button
44908
44909         Add a cancel button to the search field and make it customizable
44910         by the client. For now, use the close dialog button associated
44911         with the application's style as the default.
44912
44913         https://bugs.webkit.org/show_bug.cgi?id=42887
44914
44915         * platform/graphics/qt/ImageQt.cpp:
44916         (loadResourcePixmap):
44917         * platform/qt/RenderThemeQt.cpp:
44918         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
44919         (WebCore::RenderThemeQt::paintSearchField):
44920         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
44921         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
44922         (WebCore::RenderThemeQt::convertToPaintingRect):
44923         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
44924         * platform/qt/RenderThemeQt.h:
44925
44926 2010-12-09  Yael Aharon  <yael.aharon@nokia.com>
44927
44928         Reviewed by Antonio Gomes.
44929
44930         Spatial Navigation: Crash when handling iframe of size 0.
44931         https://bugs.webkit.org/show_bug.cgi?id=50730
44932
44933         if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is
44934         that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node,
44935         thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial
44936         navigation algorithm.
44937
44938         Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html
44939
44940         * page/FocusController.cpp:
44941         (WebCore::updateFocusCandidateIfNeeded):
44942
44943 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
44944
44945         Unreviewed, rolling out r73616.
44946         http://trac.webkit.org/changeset/73616
44947         https://bugs.webkit.org/show_bug.cgi?id=50772
44948
44949         Breaks chromium win build (Requested by hwennborg on #webkit).
44950
44951         * bindings/v8/IDBBindingUtilities.cpp:
44952         (WebCore::createIDBKeyFromValue):
44953         * bindings/v8/custom/V8IDBKeyCustom.cpp:
44954         (WebCore::toV8):
44955         * storage/IDBFactoryBackendImpl.cpp:
44956         (WebCore::createTables):
44957         (WebCore::IDBFactoryBackendImpl::open):
44958         * storage/IDBKey.cpp:
44959         (WebCore::IDBKey::IDBKey):
44960         (WebCore::IDBKey::fromQuery):
44961         (WebCore::IDBKey::bind):
44962         (WebCore::IDBKey::bindWithNulls):
44963         * storage/IDBKey.h:
44964         (WebCore::IDBKey::create):
44965         (WebCore::IDBKey::number):
44966
44967 2010-12-09  Antonio Gomes  <agomes@rim.com>
44968
44969         Rubber stamped by by Gustavo Noronha Silva.
44970
44971         Buildfix for GTK+ with building with -no-video.
44972
44973         paintStockIcon static function was implemented under the ENABLE(VIDEO) guard
44974         but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration()
44975         and RenderThemeGtk::paintSearchFieldCancelButton() methods.
44976
44977         * platform/gtk/RenderThemeGtk.cpp:
44978         (WebCore::getMediaElementFromRenderObject):
44979
44980 2010-12-07  Antonio Gomes  <agomes@rim.com>
44981
44982         Reviewed by Daniel Bates.
44983
44984         Spatial Navigation: code clean up
44985         https://bugs.webkit.org/show_bug.cgi?id=50666
44986
44987         Patch unifies two FocusCandidate constructors, making caller sites
44988         simpler. Now the special handling HTMLAreaElement gets is done within
44989         the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)).
44990
44991         No new tests needed.
44992
44993         * page/FocusController.cpp:
44994         (WebCore::FocusController::findFocusCandidateInContainer):
44995         * page/SpatialNavigation.cpp:
44996         (WebCore::FocusCandidate::FocusCandidate):
44997
44998 2010-12-09  Philippe Normand  <pnormand@igalia.com>
44999
45000         Reviewed by Eric Carlson.
45001
45002         [GStreamer] disable fullscreen on MacOS Tiger and Leopard
45003         https://bugs.webkit.org/show_bug.cgi?id=50748
45004
45005         Don't support fullscreen video on Tiger and Leopard, just like the
45006         QTKit player.
45007
45008         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
45009         (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
45010
45011 2010-12-06  Philippe Normand  <pnormand@igalia.com>
45012
45013         Reviewed by Martin Robinson.
45014
45015         [GTK] Support the Mozilla-style Fullscreen Javascript API
45016         https://bugs.webkit.org/show_bug.cgi?id=50572
45017
45018         * GNUmakefile.am: enable the Javascript Fullscreen API feature if
45019         it's been requested at configure time.
45020
45021 2010-12-09  Yong Li  <yoli@rim.com>
45022
45023         Reviewed by Darin Adler.
45024
45025         Check the return value of ImageBuffer::create()
45026         to avoid crash when ImageBuffer::create() fails.
45027         https://bugs.webkit.org/show_bug.cgi?id=50631
45028
45029         No new test because it relies on the platform implementation
45030         of ImageBuffer. It is hard to make ImageBuffer::create() fail
45031         in most ports.
45032
45033         * platform/graphics/GeneratedImage.cpp:
45034         (WebCore::GeneratedImage::drawPattern):
45035
45036 2010-12-09  Maciej Stachowiak  <mjs@apple.com>
45037
45038         Reviewed by Dan Bernstein.
45039
45040         Implement "Use Selection for Find" in WebKit2
45041         https://bugs.webkit.org/show_bug.cgi?id=50737
45042         <rdar://problem/8564881>
45043
45044         Implement a TakeFindStringFromSelection editor command. This is
45045         used solely to implement the "Use Selection for Find" menu command
45046         on Mac, and is not made available to script. On WebKit2, it is
45047         very convenient to reuse the editing machinery since this command
45048         is very similar to Copy.
45049
45050         * editing/Editor.h:
45051         * editing/EditorCommand.cpp:
45052         (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function.
45053         (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage
45054         (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command.
45055         * editing/mac/EditorMac.mm:
45056         (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy
45057         since it would make no sense to enable "Use Selection for Find" when viewing a standalone image
45058         document.
45059         (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
45060         to the special Find pasteboard.
45061
45062 2010-12-09  Abhishek Arya  <inferno@chromium.org>
45063
45064         Reviewed by Dimitri Glazkov.
45065
45066         As part of r73559, I added the referenceNode check to validate whether the root
45067         node of the iterator matches the node which is getting moved to other document.
45068         referenceNode is initialized to root, however can get moved using previousNode
45069         and nextNode methods, so it is required to use root directly.
45070         https://bugs.webkit.org/show_bug.cgi?id=50764
45071
45072         Test: fast/dom/node-iterator-reference-node-moved-crash.html
45073
45074         * dom/Document.cpp:
45075         (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
45076
45077 2010-12-08  Dimitri Glazkov  <dglazkov@chromium.org>
45078
45079         Reviewed by Darin Adler.
45080
45081         Provide a generic way to store shadowParent on a Node.
45082         https://bugs.webkit.org/show_bug.cgi?id=50184
45083
45084         This patch makes TreeShared::m_parent act as either parentNode() or
45085         shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
45086
45087         Refactoring, so no new tests. See performance result testing in bug.
45088
45089         * dom/Element.cpp:
45090         (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
45091         * dom/Node.cpp:
45092         (WebCore::Node::shadowHost): Added.
45093         (WebCore::Node::setShadowHost): Added.
45094         (WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
45095         (WebCore::Node::isContentRichlyEditable): Ditto.
45096         (WebCore::Node::nextRenderer): Ditto.
45097         (WebCore::Node::virtualComputedStyle): Ditto.
45098         (WebCore::Node::canStartSelection): Ditto.
45099         (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
45100         (WebCore::Node::getEventAncestors): Ditto.
45101         (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). 
45102         * dom/Node.h: Added an extra flag and adjusted bit counts.
45103         (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
45104         (WebCore::Node::parentNode): Made to recognize flag.
45105         (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
45106         (WebCore::Node::parentNodeGuaranteedHostFree): Added.
45107         (WebCore::Node::shadowParentNode): Made non-virtual and const.
45108         * editing/TextIterator.cpp:
45109         (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
45110         (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
45111         (WebCore::previousInPostOrderCrossingShadowBoundaries):  Ditto.
45112         (WebCore::setUpFullyClippedStack): Ditto.
45113         (WebCore::TextIterator::advance): Ditto.
45114         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
45115         * page/DOMSelection.cpp:
45116         (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
45117         (WebCore::DOMSelection::focusNode): Ditto.
45118         (WebCore::DOMSelection::baseNode): Ditto.
45119         (WebCore::DOMSelection::extentNode): Ditto.
45120         (WebCore::DOMSelection::getRangeAt): Ditto.
45121         * rendering/MediaControlElements.cpp:
45122         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
45123             Changed to setShadowHost().
45124         (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
45125         (WebCore::MediaControlShadowRootElement::detach): Added an override to
45126             explicitly set shadowHost to 0. Otherwise, the element will leak.
45127         * rendering/MediaControlElements.h: Added detach def, removed members that are
45128             no longer needed.
45129         * rendering/RenderSVGShadowTreeRootContainer.cpp:
45130         (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
45131             Added explicit clearing of shadowHost to avoid leaking and crashes,
45132             because SVG shadow DOM can be dynamically attached/detached, producing
45133             stale nodes in over/out event handling.
45134         * rendering/RenderSlider.cpp:
45135         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
45136         * rendering/RenderTextControlSingleLine.cpp:
45137         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
45138             Added explicit clearing of shadowHost and explicit destruction to
45139             avoid out-of-order removal of children.
45140         * rendering/RenderTreeAsText.cpp:
45141         (WebCore::nodePosition): Simplified code.
45142         * rendering/SVGShadowTreeElements.cpp:
45143         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
45144             setting of shadowHost.
45145         (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
45146         (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
45147         * rendering/SVGShadowTreeElements.h: Added def, removed members that are
45148              no longer needed.
45149         * rendering/ShadowElement.cpp:
45150         (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
45151         * rendering/ShadowElement.h: Removed members that are no longer needed.
45152         (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
45153         (WebCore::ShadowElement::detach): Added.
45154         * rendering/TextControlInnerElements.cpp:
45155         (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
45156             of shadowHost.
45157         (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
45158             isShadowNode().
45159         (WebCore::TextControlInnerElement::detach): Added.
45160         * rendering/TextControlInnerElements.h: Removed members that are no
45161             longer needed.
45162         * svg/SVGElement.cpp:
45163         (WebCore::SVGElement::ownerSVGElement): Simplified code.
45164         (WebCore::SVGElement::viewportElement): Ditto.
45165         * svg/SVGLocatable.cpp:
45166         (WebCore::SVGLocatable::computeCTM): Ditto.
45167         * svg/SVGStyledElement.cpp:
45168         (WebCore::SVGStyledElement::title): Ditto.
45169         * svg/SVGUseElement.cpp:
45170         (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
45171
45172 2010-12-09  Brady Eidson  <beidson@apple.com>
45173
45174         Reviewed by Maciej Stachowiak.
45175
45176         <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
45177         WebKit2 Authentication Support
45178
45179         * WebCore.exp.in:
45180
45181 2010-12-09  Peter Beverloo  <peter@lvp-media.com>
45182
45183         Reviewed by Maciej Stachowiak.
45184
45185         Default CSS definitions for the figure and figcaption elements.
45186
45187         Tests: fast/html/figcaption-element.html
45188                fast/html/figure-element.html
45189
45190         * css/html.css:
45191         (figure): The default figure-style equals a blockquote
45192         (figcaption): A non-sectioning block-level element
45193
45194 2010-12-09  Yury Semikhatsky  <yurys@chromium.org>
45195
45196         Reviewed by Pavel Feldman.
45197
45198         Web Inspector: Console records for failed XHRs should contain call stack and request method
45199         https://bugs.webkit.org/show_bug.cgi?id=50390
45200
45201         When inspector front-end is open we capture call stack at the place where request is sent and
45202         pass the stack along with other request data. There is a new type of console messages which
45203         is NetworkErrorMessageType, all messages of that type will have requestId field initialized
45204         with the corresponding network request identifier so that later on when we need to display
45205         that message in the front-end we could pull request data from the Network panel using
45206         this identifier. If there are no data for given requestId message formatting falls back to
45207         the old implementation which lacks such things as call stack, request method and exact
45208         source location.
45209
45210         * inspector/ConsoleMessage.cpp:
45211         (WebCore::ConsoleMessage::ConsoleMessage):
45212         (WebCore::ConsoleMessage::addToFrontend):
45213         (WebCore::ConsoleMessage::isEqual):
45214         * inspector/ConsoleMessage.h:
45215         * inspector/Inspector.idl:
45216         * inspector/InspectorController.cpp:
45217         (WebCore::InspectorController::didReceiveResponse):
45218         (WebCore::InspectorController::didFailLoading):
45219         * inspector/InspectorResourceAgent.cpp:
45220         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
45221         * inspector/front-end/ConsoleView.js:
45222         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
45223         (WebInspector.ConsoleMessage):
45224         (WebInspector.ConsoleMessage.prototype._formatMessage):
45225         (WebInspector.ConsoleMessage.prototype.toMessageElement):
45226         (WebInspector.ConsoleMessage.prototype.toString):
45227         (WebInspector.ConsoleMessage.prototype.isEqual):
45228         * inspector/front-end/ResourceManager.js:
45229         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
45230         * inspector/front-end/inspector.js:
45231         (WebInspector.addConsoleMessage):
45232         * page/Console.h:
45233
45234 2010-12-09  Dai Mikurube  <dmikurube@google.com>
45235
45236         Reviewed by Kent Tamura.
45237
45238         Implement "required" attribute for select tags
45239         https://bugs.webkit.org/show_bug.cgi?id=50380
45240
45241         Test: fast/forms/select-live-pseudo-selectors.html
45242               platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
45243
45244         * dom/SelectElement.cpp:
45245         (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
45246         (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
45247         * html/HTMLSelectElement.cpp:
45248         (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
45249         (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
45250         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
45251         (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
45252         (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
45253         (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
45254         (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
45255         (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
45256         (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
45257         (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
45258         (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
45259         (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
45260         (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
45261         (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
45262         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
45263         (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
45264         * html/HTMLSelectElement.h:
45265         (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
45266         * html/HTMLSelectElement.idl: Added a required attribute to select elements..
45267         * html/ValidityState.cpp:
45268         (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
45269         * wml/WMLSelectElement.h:
45270         (WebCore::WMLSelectElement::updateValidity): Added. It does nothing.
45271
45272 2010-12-07  Jeremy Orlow  <jorlow@chromium.org>
45273
45274         Reviewed by Steve Block.
45275
45276         IndexedDB returns the wrong exceptions
45277         https://bugs.webkit.org/show_bug.cgi?id=50632
45278
45279         IndexedDB exceptions need to have an offset so they can
45280         be distinguished from DOM exceptions.  We also need to
45281         add strings for the various exceptions.  Lastly, make
45282         IDBDatabaseException use the common exception base class.
45283
45284         * bindings/js/JSDOMBinding.cpp:
45285         (WebCore::setDOMException):
45286         * bindings/v8/V8Proxy.cpp:
45287         (WebCore::V8Proxy::setDOMException):
45288         * dom/ExceptionCode.cpp:
45289         (WebCore::getExceptionCodeDescription):
45290         * dom/ExceptionCode.h:
45291         * storage/IDBDatabaseError.h:
45292         (WebCore::IDBDatabaseError::code):
45293         * storage/IDBDatabaseException.h:
45294         (WebCore::IDBDatabaseException::create):
45295         (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
45296         (WebCore::IDBDatabaseException::IDBDatabaseException):
45297         * storage/IDBDatabaseException.idl:
45298
45299 2010-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
45300
45301         Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
45302         GDK window size.
45303
45304         * plugins/gtk/gtk2xtbin.c:
45305         (gtk_xtbin_realize):
45306
45307 2010-12-09  Siddharth Mathur  <siddharth.mathur@nokia.com>
45308
45309         Reviewed by Laszlo Gombos.
45310
45311         Use BUILDING_WEBKIT like other ports
45312         https://bugs.webkit.org/show_bug.cgi?id=50713
45313
45314         * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
45315
45316 2010-12-08  Erik Arvidsson  <arv@chromium.org>
45317
45318         Reviewed by Darin Adler.
45319
45320         Replace getAttribute().isNull() with fastHasAttribute()
45321         https://bugs.webkit.org/show_bug.cgi?id=50719
45322
45323         Covered by existing tests.
45324
45325         * dom/SelectElement.cpp:
45326         (WebCore::SelectElement::reset):
45327         * html/HTMLAppletElement.cpp:
45328         (WebCore::HTMLAppletElement::rendererIsNeeded):
45329         * html/HTMLCollection.cpp:
45330         (WebCore::HTMLCollection::itemAfter):
45331         * html/HTMLFormControlElement.cpp:
45332         (WebCore::HTMLFormControlElement::formNoValidate):
45333         * html/HTMLFormElement.cpp:
45334         (WebCore::HTMLFormElement::noValidate):
45335         * html/HTMLInputElement.cpp:
45336         (WebCore::HTMLInputElement::defaultChecked):
45337         (WebCore::HTMLInputElement::multiple):
45338         (WebCore::HTMLInputElement::webkitdirectory):
45339         * html/HTMLOptionElement.cpp:
45340         (WebCore::HTMLOptionElement::defaultSelected):
45341         * html/HTMLScriptElement.cpp:
45342         (WebCore::HTMLScriptElement::asyncAttributeValue):
45343         (WebCore::HTMLScriptElement::deferAttributeValue):
45344         * rendering/RenderFileUploadControl.cpp:
45345         (WebCore::RenderFileUploadControl::allowsMultipleFiles):
45346         (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
45347
45348 2010-12-08  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
45349
45350         Reviewed by Martin Robinson.
45351
45352         Full page size flash plugins do not show in all situations
45353         https://bugs.webkit.org/show_bug.cgi?id=47742
45354
45355         This patch moves the plugin widget size allocation after the
45356         NPP_SetWindow is called with the effect that the resize of Flash
45357         content no longer result in grey flash. This seems logical since the
45358         widget tree cannot be fully constructed before the plugin receives
45359         the new container window.
45360
45361         Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
45362
45363         * plugins/gtk/PluginViewGtk.cpp:
45364         (WebCore::PluginView::setNPWindowIfNeeded):
45365
45366 2010-12-08  David Hyatt  <hyatt@apple.com>
45367
45368         Reviewed by Simon Fraser.
45369
45370         Fix regression from xji's wheel scroll patch.  The vertical case is looking at the horizontal
45371         maximum position and not the vertical position.
45372
45373         * platform/ScrollView.cpp:
45374         (WebCore::ScrollView::wheelEvent):
45375
45376 2010-12-08  Sam Weinig  <sam@webkit.org>
45377
45378         Reviewed by Darin Adler.
45379
45380         Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
45381         https://bugs.webkit.org/show_bug.cgi?id=50726
45382
45383         * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.
45384
45385 2010-12-08  Matthew Delaney  <mdelaney@apple.com>
45386
45387         Reviewed by Simon Fraser.
45388
45389         Add getter and setters for acceleratesRendering flag on layers
45390         https://bugs.webkit.org/show_bug.cgi?id=50717
45391
45392         * platform/graphics/GraphicsLayer.cpp:
45393         * platform/graphics/ca/GraphicsLayerCA.cpp:
45394         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
45395         Plumbed through acceleratedRendering flag.
45396
45397 2010-12-07  Zhenyao Mo  <zmo@google.com>
45398
45399         Reviewed by Kenneth Russell.
45400
45401         WebGLUniformLocation objects must be invalidated during linkProgram
45402         https://bugs.webkit.org/show_bug.cgi?id=37118
45403
45404         * html/canvas/WebGLProgram.cpp:
45405         (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0.
45406         (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead.
45407         * html/canvas/WebGLProgram.h:
45408         (WebCore::WebGLProgram::getLinkCount): Get link count.
45409         (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1.
45410         * html/canvas/WebGLRenderingContext.cpp:
45411         (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated.
45412         (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram.
45413         * html/canvas/WebGLUniformLocation.cpp:
45414         (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation.
45415         (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's.
45416         (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's.
45417         * html/canvas/WebGLUniformLocation.h:
45418
45419 2010-12-08  Adele Peterson  <adele@apple.com>
45420
45421         Reviewed by Darin Adler.
45422
45423         Fix for https://bugs.webkit.org/show_bug.cgi?id=50725
45424         <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high
45425
45426         Test: fast/forms/placeholder-position.html
45427
45428         Since we center the inner text element for single line text controls, 
45429         we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class.
45430
45431         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder):
45432         * rendering/RenderTextControl.h:
45433         * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop):
45434         * rendering/RenderTextControlMultiLine.h:
45435         * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
45436         * rendering/RenderTextControlSingleLine.h:
45437
45438 2010-12-08  Chris Rogers  <crogers@google.com>
45439
45440         Reviewed by Kenneth Russell.
45441
45442         Add web audio files to mac port Xcode projects
45443         https://bugs.webkit.org/show_bug.cgi?id=50721
45444
45445         No new tests since audio API is not yet implemented.
45446
45447         * WebCore.xcodeproj/project.pbxproj:
45448         * bindings/js/JSDOMWindowCustom.cpp:
45449         (WebCore::JSDOMWindow::webkitAudioContext):
45450
45451 2010-12-08  Kent Tamura  <tkent@chromium.org>
45452
45453         Reviewed by Alexey Proskuryakov.
45454
45455         Yensign hack should work with Shift_JIS and ISO-2022-JP encodings.
45456         https://bugs.webkit.org/show_bug.cgi?id=49714
45457
45458         IE chooses a font which shows a yensign for 0x5c code point for a page
45459         encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000,
45460         x-sjis, and Windows-31J.
45461         We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and
45462         Shift_JIS_X0213-2000. This change adds other encodings above.
45463
45464         Also, we move the HashSet initialization for isJapanese() and
45465         backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of
45466         ease of making them multi-thread safe.
45467
45468         * platform/text/TextEncoding.cpp:
45469         (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding().
45470         (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn().
45471         * platform/text/TextEncodingRegistry.cpp:
45472         (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName().
45473         (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn().
45474         (WebCore::isJapaneseEncoding):
45475         (WebCore::shouldShowBackslashAsCurrencySymbolIn):
45476         (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets().
45477         * platform/text/TextEncodingRegistry.h:
45478
45479 2010-12-08  Andy Estes  <aestes@apple.com>
45480
45481         Reviewed by Darin Adler.
45482
45483         Reflected unsigned attributes should be in the range [0, 2^31).
45484         https://bugs.webkit.org/show_bug.cgi?id=50472
45485
45486         HTML5 says that unsigned reflected attributes should be in the range
45487         [0, 2^31). When a value isn't in this range, a default value (or 0)
45488         should be returned instead. Update the JS bindings code generator to
45489         ensure 0 is returned when a content attribute value falls outside of
45490         this range.
45491
45492         Tests: bindings/scripts/test/TestObj.idl
45493                fast/html/marquee-element.html
45494
45495         * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the
45496         content attribute as a 32-bit signed int when converting a native value
45497         to an unsigned JS value.
45498         * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute
45499         to test code generation.
45500         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results.
45501         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
45502         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
45503         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
45504         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
45505         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
45506         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
45507         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
45508         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
45509
45510 2010-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
45511
45512         Reviewed by Martin Robinson.
45513
45514         [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk
45515         https://bugs.webkit.org/show_bug.cgi?id=50623
45516
45517         We don't need to cache the icons since the will be cached by GTK+,
45518         and they will be rendered using the state and text direction.
45519
45520         * platform/gtk/RenderThemeGtk.cpp:
45521         (WebCore::paintStockIcon):
45522         (WebCore::getMediaButtonIconSize):
45523         (WebCore::RenderThemeGtk::initMediaColors):
45524         (WebCore::RenderThemeGtk::initMediaButtons):
45525         (WebCore::RenderThemeGtk::RenderThemeGtk):
45526         (WebCore::RenderThemeGtk::~RenderThemeGtk):
45527         (WebCore::RenderThemeGtk::gtkIconState):
45528         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
45529         (WebCore::centerRectVerticallyInParentInputElement):
45530         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
45531         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
45532         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
45533         (WebCore::RenderThemeGtk::platformColorsDidChange):
45534         (WebCore::RenderThemeGtk::paintMediaButton):
45535         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
45536         (WebCore::RenderThemeGtk::paintMediaMuteButton):
45537         (WebCore::RenderThemeGtk::paintMediaPlayButton):
45538         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
45539         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
45540         * platform/gtk/RenderThemeGtk.h:
45541
45542 2010-12-08  Abhishek Arya  <inferno@chromium.org>
45543
45544         Reviewed by Dimitri Glazkov.
45545
45546         Detach node iterator and move to new document when node gets moved.
45547         https://bugs.webkit.org/show_bug.cgi?id=50697
45548
45549         Test: fast/dom/node-iterator-document-moved-crash.html
45550
45551         * dom/Document.cpp: Method that takes a node and new document as argument.
45552         It detaches the node iterators belonging to the current document and attaches
45553         them to the new document.
45554         (WebCore::Document::moveNodeIteratorsToNewDocument):
45555         * dom/Document.h: Function definition.
45556         * dom/Node.cpp: When node is moved to another document, call the function to move
45557         the iterators appropriately.
45558         (WebCore::Node::setDocument):
45559
45560 2010-12-08  James Robinson  <jamesr@chromium.org>
45561
45562         Reviewed by Kenneth Russell.
45563
45564         [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
45565         https://bugs.webkit.org/show_bug.cgi?id=50702
45566
45567         Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
45568
45569         Test: compositing/text-on-large-layer.html
45570
45571         * platform/graphics/chromium/ContentLayerChromium.cpp:
45572         (WebCore::ContentLayerChromium::draw):
45573
45574 2010-12-08  Ryosuke Niwa  <rniwa@webkit.org>
45575
45576         Reviewed by Dan Bernstein.
45577
45578         REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails
45579         https://bugs.webkit.org/show_bug.cgi?id=33503
45580
45581         The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction.
45582         When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text,
45583         and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA,
45584         then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2.
45585
45586         Case 1. CBA appears in a RTL block:
45587           In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2).
45588           Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected.
45589         Case 2. CBA appears in a LTR block:
45590           Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds
45591           to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA.
45592           Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0),
45593           and clicking on the visual right should put it at Position("CBA", 2).
45594
45595         The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block.
45596         Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition.
45597
45598         Tests: editing/selection/caret-ltr-2-left.html
45599                editing/selection/caret-ltr-2.html
45600                editing/selection/caret-ltr-right.html
45601                editing/selection/caret-ltr.html
45602                editing/selection/caret-rtl-2-left.html
45603                editing/selection/caret-rtl-right.html
45604
45605         * rendering/InlineTextBox.cpp:
45606         (WebCore::InlineTextBox::offsetForPosition):
45607
45608 2010-12-08  Anders Carlsson  <andersca@apple.com>
45609
45610         Reviewed by Darin Adler.
45611
45612         Fix some clang++ warnings (one of which was an actual bug)
45613         https://bugs.webkit.org/show_bug.cgi?id=50700
45614
45615         * page/mac/DragControllerMac.mm:
45616         (WebCore::DragController::dragOperation):
45617         Add parentheses to silent a clang warning.
45618
45619         * page/mac/EventHandlerMac.mm:
45620         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
45621         Fix || vs && precedence bug uncovered by clang.
45622
45623         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
45624         (WebCore::GraphicsContext3D::reshape):
45625         Use an early return to avoid a warning.
45626
45627 2010-12-08  Chris Marrin  <cmarrin@apple.com>
45628
45629         Reviewed by Simon Fraser.
45630
45631         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
45632         https://bugs.webkit.org/show_bug.cgi?id=49388
45633
45634         Added copy constructors and casting operators to go between 
45635         TransformationMatrix and CATransform3D. Also added a copy
45636         constructor to go from CGAffineTransform to TransformationMatrix.
45637         Used these new methods to clean up platform CA code. This will
45638         make it easier to port to Windows.
45639
45640         I also fixed a couple of build issues found when trying out a 
45641         Windows build.
45642
45643         This is a resubmission of changesets r73477 and r73483 with a 
45644         fix for the SL build. The failure was because TransformationMatrix
45645         included QuartzCore/CATransform3D.h which brought in some system
45646         libraries, including Quickdraw, which has a definition for
45647         'Cursor' which clashed with WebCore's 'Cursor' class. So I had
45648         to qualify its use in WebChromeClient.cpp in WebKit2.
45649
45650         * WebCore.xcodeproj/project.pbxproj:
45651         * platform/graphics/ca/GraphicsLayerCA.cpp:
45652         (WebCore::GraphicsLayerCA::updateContentsTransform):
45653         (WebCore::GraphicsLayerCA::ensureCloneLayers):
45654         (WebCore::GraphicsLayerCA::fetchCloneLayers):
45655         * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp.
45656         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
45657         (PlatformCAAnimation::setFromValue):
45658         (PlatformCAAnimation::setToValue):
45659         (PlatformCAAnimation::setValues):
45660         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
45661         (PlatformCALayer::transform):
45662         (PlatformCALayer::setTransform):
45663         (PlatformCALayer::sublayerTransform):
45664         (PlatformCALayer::setSublayerTransform):
45665         (PlatformCALayer::contentsTransform):
45666         (PlatformCALayer::setContentsTransform):
45667         * platform/graphics/cg/TransformationMatrixCG.cpp:
45668         (WebCore::TransformationMatrix::TransformationMatrix):
45669         * platform/graphics/transforms/TransformationMatrix.h:
45670
45671 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
45672
45673         Reviewed by John Sullivan.
45674
45675         Layering Violation in ContextMenu - member variable of type HitTestResult
45676         https://bugs.webkit.org/show_bug.cgi?id=50586
45677         
45678         ContextMenu had a layering violation by having a member variable of type HitTestResult, because
45679         classes in WebCore/platform can't know about classes in WebCore.
45680         
45681         This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
45682         All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
45683         allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
45684         in ContextMenuController, and the rest of the code is in the platform-specific files.
45685
45686         No change in behavior, no new tests.
45687
45688         * Android.mk: Removed ContextMenu.cpp.
45689         * CMakeLists.txt: Ditto.
45690         * GNUmakefile.am: Ditto.
45691         * WebCore.gypi: Ditto.
45692         * WebCore.pro: Ditto.
45693         * WebCore.vcproj/WebCore.vcproj: Ditto.
45694         * WebCore.xcodeproj/project.pbxproj: Ditto.
45695
45696         * page/ContextMenuController.cpp:
45697         (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
45698         (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
45699             of the ContextMenu.
45700         (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
45701             variable.
45702         (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
45703         (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
45704         (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
45705             This allowed us to move checkOrEnableIfNeeded from ContextMenu.
45706
45707         These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
45708         All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
45709         of validating the menu.
45710         (WebCore::separatorItem): Moved from ContextMenu.
45711         (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
45712         (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
45713         (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
45714         (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
45715         (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
45716         (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
45717         (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
45718         (WebCore::selectionContainsPossibleWord): Ditto.
45719         (WebCore::ContextMenuController::populate): Ditto.
45720         (WebCore::ContextMenuController::addInspectElementItem): Ditto.
45721         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
45722         
45723         * page/ContextMenuController.h:
45724         (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
45725
45726         * platform/ContextMenu.cpp: Removed.
45727         * platform/ContextMenu.h:
45728         * platform/efl/ContextMenuEfl.cpp:
45729         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45730         (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
45731         * platform/gtk/ContextMenuGtk.cpp:
45732         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45733         (WebCore::ContextMenu::appendItem): Ditto.
45734         * platform/haiku/ContextMenuHaiku.cpp:
45735         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45736         (WebCore::ContextMenu::appendItem): Ditto.
45737         (WebCore::ContextMenu::insertItem): Ditto.
45738         * platform/mac/ContextMenuMac.mm:
45739         (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
45740             the context menu.
45741         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45742         (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
45743         (WebCore::ContextMenu::insertItem): Ditto.
45744         * platform/win/ContextMenuWin.cpp:
45745         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45746         (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
45747         * platform/wx/ContextMenuWx.cpp:
45748         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
45749         (ContextMenu::appendItem): Ditto.
45750
45751 2010-12-08  Martin Robinson  <mrobinson@igalia.com>
45752
45753         Reviewed by John Sullivan.
45754
45755         [GTK] Layering violation in ContextMenuGtk.cpp
45756         https://bugs.webkit.org/show_bug.cgi?id=50676
45757
45758         ContextMenuGtk accesses the page's ContextMenuController, which is a layering
45759         violation. This was fixed for Mac with change r73469. We make a similar fix here
45760         by moving the "activated" signal connection to the WebKit layer.
45761
45762         * platform/gtk/ContextMenuGtk.cpp:
45763         (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
45764         is a layering violation.
45765
45766 2010-12-08  Jessie Berlin  <jberlin@apple.com>
45767
45768         Reviewed by Adam Roben.
45769
45770         WebKit2: Implement WebChromeClient::exceededDatabaseQuota
45771         https://bugs.webkit.org/show_bug.cgi?id=50656
45772
45773         * WebCore.exp.in:
45774         Export the symbol for SecurityOrigin::databaseIdentifier.
45775
45776 2010-12-08  Csaba Osztrogonác  <ossy@webkit.org>
45777
45778         Unreviewed, rolling out r73521.
45779         http://trac.webkit.org/changeset/73521
45780         https://bugs.webkit.org/show_bug.cgi?id=50640
45781
45782         It broke 90 layout tests
45783
45784         * bindings/js/JSDOMBinding.cpp:
45785         (WebCore::printErrorMessageForFrame):
45786         * bindings/js/JSDOMWindowBase.cpp:
45787         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
45788         * bindings/js/JSDOMWindowCustom.cpp:
45789         (WebCore::JSDOMWindow::setLocation):
45790         * page/DOMWindow.cpp:
45791         * page/DOMWindow.h:
45792
45793 2010-12-08  David Hyatt  <hyatt@apple.com>
45794
45795         Reviewed by Anders Carlsson.
45796
45797         https://bugs.webkit.org/show_bug.cgi?id=50576
45798
45799         REGRESSION in position of autocomplete popup on RTL page.
45800
45801         RTL static position computation did not subtract out the width of the enclosing box if the
45802         immediate parent was a RenderInline.  This bug was exposed by properly changing the RenderView
45803         to be RTL when the document was RTL.
45804
45805         Added three new tests in fast/block/positioning.
45806
45807         * rendering/RenderBox.cpp:
45808         (WebCore::RenderBox::computePositionedLogicalWidth):
45809
45810 2010-12-08  Xiaomei Ji  <xji@chromium.org>
45811
45812         Reviewed by David Hyatt.
45813
45814         Fix backward mouse wheeling not working when scroll position is below 0.
45815         https://bugs.webkit.org/show_bug.cgi?id=50370
45816
45817         Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
45818                fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
45819
45820         * platform/ScrollView.cpp:
45821         (WebCore::ScrollView::wheelEvent):
45822
45823 2010-12-08  Simon Fraser  <simon.fraser@apple.com>
45824
45825         Reviewed by Dan Bernstein.
45826
45827         Fix pauseAnimation API to work with shorthand properties
45828         https://bugs.webkit.org/show_bug.cgi?id=50639
45829         
45830         The pause API is always called with a long-hand property, but that
45831         property may be animating via a shorthand. Detect this, and pause
45832         such shorthand animations.
45833
45834         * page/animation/AnimationBase.cpp:
45835         (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
45836         of wrappers used by a shorthand wrapper.
45837
45838         (WebCore::gatherEnclosingShorthandProperties): Utility function that walks
45839         through the shorthand wrappers, keeping track of which can affect the given
45840         property.
45841         (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
45842         of shorthand properties that can affect the given property.
45843
45844         * page/animation/AnimationBase.h: New method.
45845         * page/animation/CompositeAnimation.cpp:
45846         (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the
45847         property itself, check whether it's being animated via shorthands.
45848
45849 2010-12-08  David Hyatt  <hyatt@apple.com>
45850
45851         Reviewed by Beth Dakin.
45852
45853         <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885
45854
45855         Make sure the transform applied to the RenderView for page scaling is incorporated into the
45856         docTop/Bottom/Left/Right accessors.
45857
45858         * rendering/RenderView.cpp:
45859         (WebCore::RenderView::docTop):
45860         (WebCore::RenderView::docBottom):
45861         (WebCore::RenderView::docLeft):
45862         (WebCore::RenderView::docRight):
45863
45864 2010-12-08  Ilya Tikhonovsky  <loislo@chromium.org>
45865
45866         Reviewed by Yury Semikhatsky.
45867
45868         Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
45869         for TimelineAgent functions.
45870
45871         https://bugs.webkit.org/show_bug.cgi?id=50690
45872
45873         * inspector/Inspector.idl:
45874         * inspector/front-end/TimelineAgent.js:
45875         * inspector/front-end/TimelinePanel.js:
45876         (WebInspector.TimelinePanel):
45877         (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted):
45878         (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped):
45879
45880 2010-12-08  Philippe Normand  <pnormand@igalia.com>
45881
45882         Reviewed by Gustavo Noronha Silva.
45883
45884         [GTK] media/fullscreen* failing on 64-bits Debug
45885         https://bugs.webkit.org/show_bug.cgi?id=50394
45886
45887         Avoid emiting durationchanged in the case where the previous
45888         duration was 0 because that case is already handled by the
45889         HTMLMediaElement.
45890
45891         Test: media/media-fullscreen*.html
45892
45893         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
45894         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
45895
45896 2010-12-07  Darin Adler  <darin@apple.com>
45897
45898         Reviewed by Geoffrey Garen.
45899
45900         Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
45901         https://bugs.webkit.org/show_bug.cgi?id=50640
45902
45903         * bindings/js/JSDOMBinding.cpp:
45904         (WebCore::printErrorMessageForFrame): Removed body; just call through to
45905         DOMWindow::printErrorMessage.
45906
45907         * bindings/js/JSDOMWindowBase.cpp:
45908         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
45909         just call through to DOMWindow::crossDomainAccessErrorMessage.
45910
45911         * bindings/js/JSDOMWindowCustom.cpp:
45912         (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
45913         firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
45914         of the body and moved it into DOMWindow::setLocation.
45915
45916         * page/DOMWindow.cpp:
45917         (WebCore::DOMWindow::setLocation): Added. Does all the same work that
45918         JSDOMWindow::setLocation used to do, but in a way that's not specific
45919         to JavaScript.
45920         (WebCore::DOMWindow::printErrorMessage): Added.
45921         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
45922
45923         * page/DOMWindow.h: Added setLocation, printErrorMessage, and
45924         crossDomainAccessErrorMessage.
45925
45926 2010-12-08  Alejandro G. Castro  <alex@igalia.com>
45927
45928         Unreviewed, rolling out r73494.
45929         http://trac.webkit.org/changeset/73494
45930         https://bugs.webkit.org/show_bug.cgi?id=50380
45931
45932         The tests added are crashing in the debug bots (macn and gtk)
45933
45934         * html/HTMLSelectElement.cpp:
45935         (WebCore::HTMLSelectElement::deselectItems):
45936         (WebCore::HTMLSelectElement::setSelectedIndex):
45937         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
45938         (WebCore::HTMLSelectElement::listBoxSelectItem):
45939         (WebCore::HTMLSelectElement::add):
45940         (WebCore::HTMLSelectElement::remove):
45941         (WebCore::HTMLSelectElement::restoreFormControlState):
45942         (WebCore::HTMLSelectElement::parseMappedAttribute):
45943         (WebCore::HTMLSelectElement::selectAll):
45944         (WebCore::HTMLSelectElement::reset):
45945         (WebCore::HTMLSelectElement::updateListBoxSelection):
45946         (WebCore::HTMLSelectElement::setLength):
45947         * html/HTMLSelectElement.h:
45948         (WebCore::HTMLSelectElement::isOptionalFormControl):
45949         * html/HTMLSelectElement.idl:
45950         * html/ValidityState.cpp:
45951         (WebCore::ValidityState::valueMissing):
45952
45953 2010-12-07  Ilya Tikhonovsky  <loislo@chromium.org>
45954
45955         Reviewed by Pavel Feldman.
45956
45957         Web Inspector: Inspector protocol cleanup task. Remove
45958         WebInspector wrappers for DOMAgent functions.
45959
45960         There were a lot of wrappers in WebInspector namespace
45961         for different WebInspector agents functions. As far as we have a
45962         generic mechanic for such functions we can remove these
45963         wrappers and register domAgent instance as a handler for
45964         DOM domain notifications.
45965
45966         https://bugs.webkit.org/show_bug.cgi?id=50626
45967
45968         * inspector/Inspector.idl:
45969         * inspector/front-end/DOMAgent.js:
45970         (WebInspector.DOMNode):
45971         (WebInspector.DOMAgent):
45972         (WebInspector.DOMAgent.prototype.attributesUpdated):
45973         (WebInspector.DOMAgent.prototype.characterDataModified):
45974         (WebInspector.DOMAgent.prototype.setDocument):
45975         (WebInspector.DOMAgent.prototype.setDetachedRoot):
45976         (WebInspector.DOMAgent.prototype.setChildNodes):
45977         (WebInspector.DOMAgent.prototype.childNodeCountUpdated):
45978         (WebInspector.DOMAgent.prototype.childNodeInserted):
45979         (WebInspector.DOMAgent.prototype.childNodeRemoved):
45980         (WebInspector.EventListeners.getEventListenersForNodeAsync):
45981         * inspector/front-end/inspector.js:
45982         (WebInspector.didCommitLoad):
45983
45984 2010-12-08  Yury Semikhatsky  <yurys@chromium.org>
45985
45986         Reviewed by Pavel Feldman.
45987
45988         Web Inspector: remove groupLevel counter from console messages
45989         https://bugs.webkit.org/show_bug.cgi?id=50672
45990
45991         * inspector/ConsoleMessage.cpp:
45992         (WebCore::ConsoleMessage::ConsoleMessage):
45993         (WebCore::ConsoleMessage::addToFrontend):
45994         (WebCore::ConsoleMessage::isEqual):
45995         * inspector/ConsoleMessage.h:
45996         * inspector/InspectorController.cpp:
45997         (WebCore::InspectorController::InspectorController):
45998         (WebCore::InspectorController::addMessageToConsole):
45999         (WebCore::InspectorController::clearConsoleMessages):
46000         (WebCore::InspectorController::startGroup):
46001         (WebCore::InspectorController::endGroup):
46002         * inspector/InspectorController.h:
46003         * inspector/front-end/ConsoleView.js:
46004         (WebInspector.ConsoleView.createFilterElement):
46005         (WebInspector.ConsoleView):
46006         (WebInspector.ConsoleView.prototype.filter):
46007         (WebInspector.ConsoleView.prototype.afterShow):
46008         (WebInspector.ConsoleView.prototype.addMessage):
46009         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
46010         (WebInspector.ConsoleView.prototype.clearMessages):
46011         (WebInspector.ConsoleMessage):
46012         (WebInspector.ConsoleMessage.createTextMessage):
46013         (WebInspector.ConsoleMessage.prototype.toMessageElement):
46014         (WebInspector.ConsoleMessage.prototype._addMessageHeader):
46015         (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
46016         (WebInspector.ConsoleMessage.prototype.toString):
46017         (WebInspector.ConsoleMessage.prototype.isEqual):
46018         (WebInspector.ConsoleGroup):
46019         * inspector/front-end/Resource.js:
46020         (WebInspector.Resource.prototype._checkWarning):
46021         * inspector/front-end/SourceFrame.js:
46022         (WebInspector.SourceFrame.prototype._addMessageToSource):
46023         * inspector/front-end/inspector.js:
46024         (WebInspector.addConsoleMessage):
46025         (WebInspector.log.logMessage):
46026         (WebInspector.log):
46027
46028 2010-12-07  Pavel Podivilov  <podivilov@chromium.org>
46029
46030         Reviewed by Pavel Feldman.
46031
46032         Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
46033         https://bugs.webkit.org/show_bug.cgi?id=50567
46034
46035         Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.
46036
46037         * English.lproj/localizedStrings.js:
46038         * WebCore.gypi:
46039         * WebCore.vcproj/WebCore.vcproj:
46040         * inspector/front-end/Breakpoint.js: Added.
46041         (WebInspector.Breakpoint): Moved from BreakpointManager.js.
46042         * inspector/front-end/BreakpointManager.js:
46043         (WebInspector.BreakpointManager): Remove debugger-related methods.
46044         * inspector/front-end/CallStackSidebarPane.js:
46045         (WebInspector.CallStackSidebarPane):
46046         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
46047         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
46048         * inspector/front-end/DebuggerModel.js: Added.
46049         (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager.
46050         * inspector/front-end/ScriptsPanel.js:
46051         (WebInspector.ScriptsPanel):
46052         (WebInspector.ScriptsPanel.prototype.continueToLine):
46053         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
46054         (WebInspector.ScriptsPanel.prototype.editScriptSource):
46055         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
46056         (WebInspector.ScriptsPanel.prototype._debuggerResumed):
46057         (WebInspector.ScriptsPanel.prototype.reset):
46058         * inspector/front-end/SourceFrame.js:
46059         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
46060         (WebInspector.SourceFrameDelegate.prototype.addBreakpoint):
46061         (WebInspector.SourceFrameDelegate.prototype.breakpoints):
46062         (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
46063         * inspector/front-end/WebKit.qrc:
46064         * inspector/front-end/inspector.html:
46065         * inspector/front-end/inspector.js:
46066         (WebInspector.createJSBreakpointsSidebarPane):
46067         (WebInspector.restoredBreakpoint):
46068         (WebInspector.pausedScript):
46069         (WebInspector.resumedScript):
46070         (WebInspector.reset):
46071
46072 2010-12-08  Pavel Podivilov  <podivilov@chromium.org>
46073
46074         Reviewed by Pavel Feldman.
46075
46076         Web Inspector: SourceFrame refactoring.
46077         https://bugs.webkit.org/show_bug.cgi?id=50223
46078
46079         SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining
46080         it's own storages. Move common code from ScriptView and SourceView to SourceFrame.
46081
46082         * inspector/front-end/BreakpointManager.js:
46083         (WebInspector.BreakpointManager.prototype.findBreakpoints):
46084         (WebInspector.BreakpointManager.prototype.findBreakpoint):
46085         * inspector/front-end/Script.js:
46086         (WebInspector.Script):
46087         (WebInspector.Script.prototype.get linesCount):
46088         (WebInspector.Script.prototype.get source):
46089         (WebInspector.Script.prototype.set source):
46090         * inspector/front-end/ScriptView.js:
46091         (WebInspector.ScriptView):
46092         (WebInspector.ScriptView.prototype._scriptSourceChanged):
46093         (WebInspector.ScriptFrameDelegateImpl):
46094         (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts):
46095         (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete):
46096         (WebInspector.ScriptFrameDelegateImpl.prototype.scripts):
46097         * inspector/front-end/ScriptsPanel.js:
46098         (WebInspector.ScriptsPanel):
46099         * inspector/front-end/SourceFrame.js:
46100         (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView.
46101         (WebInspector.SourceFrameDelegate):
46102         (WebInspector.SourceFrameDelegate.prototype.canEditScripts):
46103         (WebInspector.SourceFrameDelegate.prototype.editLineComplete):
46104         (WebInspector.SourceFrameDelegate.prototype.scripts):
46105         * inspector/front-end/SourceView.js:
46106         (WebInspector.SourceView):
46107         (WebInspector.SourceView.prototype._contentLoaded):
46108         (WebInspector.ResourceFrameDelegateImpl):
46109         (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts):
46110         (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete):
46111         (WebInspector.ResourceFrameDelegateImpl.prototype.scripts):
46112
46113 2010-12-08  Yuta Kitamura  <yutak@chromium.org>
46114
46115         Unreviewed, rolling out r73492.
46116         http://trac.webkit.org/changeset/73492
46117         https://bugs.webkit.org/show_bug.cgi?id=49914
46118
46119         Caused a lot of pixel test failures and broke Windows build.
46120
46121         * WebCore.xcodeproj/project.pbxproj:
46122         * platform/graphics/GraphicsContext.cpp:
46123         (WebCore::GraphicsContext::createGraphicsContextPrivate):
46124         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
46125         (WebCore::GraphicsContext::save):
46126         (WebCore::GraphicsContext::restore):
46127         (WebCore::GraphicsContext::setStrokeThickness):
46128         (WebCore::GraphicsContext::setStrokeStyle):
46129         (WebCore::GraphicsContext::setStrokeColor):
46130         (WebCore::GraphicsContext::setShadow):
46131         (WebCore::GraphicsContext::clearShadow):
46132         (WebCore::GraphicsContext::getShadow):
46133         (WebCore::GraphicsContext::strokeThickness):
46134         (WebCore::GraphicsContext::strokeStyle):
46135         (WebCore::GraphicsContext::strokeColor):
46136         (WebCore::GraphicsContext::strokeColorSpace):
46137         (WebCore::GraphicsContext::fillRule):
46138         (WebCore::GraphicsContext::setFillRule):
46139         (WebCore::GraphicsContext::setFillColor):
46140         (WebCore::GraphicsContext::fillColor):
46141         (WebCore::GraphicsContext::fillColorSpace):
46142         (WebCore::GraphicsContext::setShouldAntialias):
46143         (WebCore::GraphicsContext::shouldAntialias):
46144         (WebCore::GraphicsContext::setStrokePattern):
46145         (WebCore::GraphicsContext::setFillPattern):
46146         (WebCore::GraphicsContext::setStrokeGradient):
46147         (WebCore::GraphicsContext::setFillGradient):
46148         (WebCore::GraphicsContext::fillGradient):
46149         (WebCore::GraphicsContext::strokeGradient):
46150         (WebCore::GraphicsContext::fillPattern):
46151         (WebCore::GraphicsContext::strokePattern):
46152         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
46153         (WebCore::GraphicsContext::updatingControlTints):
46154         (WebCore::GraphicsContext::setUpdatingControlTints):
46155         (WebCore::GraphicsContext::setPaintingDisabled):
46156         (WebCore::GraphicsContext::paintingDisabled):
46157         (WebCore::GraphicsContext::textDrawingMode):
46158         (WebCore::GraphicsContext::setTextDrawingMode):
46159         * platform/graphics/GraphicsContext.h:
46160         * platform/graphics/GraphicsContextPrivate.h: Added.
46161         (WebCore::GraphicsContextState::GraphicsContextState):
46162         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
46163         * platform/graphics/cairo/GraphicsContextCairo.cpp:
46164         (WebCore::setPlatformFill):
46165         (WebCore::setPlatformStroke):
46166         (WebCore::drawPathShadow):
46167         (WebCore::fillCurrentCairoPath):
46168         (WebCore::strokeCurrentCairoPath):
46169         (WebCore::GraphicsContext::GraphicsContext):
46170         (WebCore::GraphicsContext::~GraphicsContext):
46171         (WebCore::GraphicsContext::fillPath):
46172         (WebCore::GraphicsContext::strokePath):
46173         (WebCore::GraphicsContext::fillRect):
46174         (WebCore::GraphicsContext::setPlatformShadow):
46175         (WebCore::GraphicsContext::strokeRect):
46176         (WebCore::GraphicsContext::setAlpha):
46177         (WebCore::GraphicsContext::getAlpha):
46178         * platform/graphics/cg/GraphicsContextCG.cpp:
46179         (WebCore::GraphicsContext::GraphicsContext):
46180         (WebCore::GraphicsContext::~GraphicsContext):
46181         (WebCore::GraphicsContext::applyStrokePattern):
46182         (WebCore::GraphicsContext::applyFillPattern):
46183         (WebCore::GraphicsContext::drawPath):
46184         (WebCore::GraphicsContext::fillPath):
46185         (WebCore::GraphicsContext::strokePath):
46186         (WebCore::GraphicsContext::fillRect):
46187         (WebCore::GraphicsContext::setPlatformShadow):
46188         (WebCore::GraphicsContext::strokeRect):
46189         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
46190         (WebCore::GraphicsContext::GraphicsContext):
46191         (WebCore::GraphicsContext::~GraphicsContext):
46192         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
46193         (WebCore::GraphicsContext::GraphicsContext):
46194         (WebCore::GraphicsContext::~GraphicsContext):
46195         (WebCore::GraphicsContext::fillPath):
46196         (WebCore::GraphicsContext::strokePath):
46197         (WebCore::GraphicsContext::clip):
46198         (WebCore::GraphicsContext::clipOut):
46199         (WebCore::GraphicsContext::addInnerRoundedRectClip):
46200         * platform/graphics/qt/GraphicsContextQt.cpp:
46201         (WebCore::GraphicsContext::GraphicsContext):
46202         (WebCore::GraphicsContext::~GraphicsContext):
46203         (WebCore::GraphicsContext::fillPath):
46204         (WebCore::GraphicsContext::strokePath):
46205         (WebCore::GraphicsContext::fillRect):
46206         (WebCore::GraphicsContext::setPlatformShadow):
46207         * platform/graphics/skia/GraphicsContextSkia.cpp:
46208         (WebCore::GraphicsContext::GraphicsContext):
46209         (WebCore::GraphicsContext::~GraphicsContext):
46210         (WebCore::GraphicsContext::fillPath):
46211         (WebCore::GraphicsContext::setPlatformShadow):
46212         * platform/graphics/win/GraphicsContextCGWin.cpp:
46213         (WebCore::GraphicsContext::GraphicsContext):
46214         * platform/graphics/win/GraphicsContextCairoWin.cpp:
46215         (WebCore::GraphicsContext::GraphicsContext):
46216         * platform/graphics/wince/GraphicsContextWinCE.cpp:
46217         (WebCore::GraphicsContext::GraphicsContext):
46218         (WebCore::GraphicsContext::~GraphicsContext):
46219         (WebCore::GraphicsContext::fillPath):
46220         (WebCore::GraphicsContext::fillRect):
46221         * platform/graphics/wx/GraphicsContextWx.cpp:
46222         (WebCore::GraphicsContext::GraphicsContext):
46223         (WebCore::GraphicsContext::~GraphicsContext):
46224
46225 2010-12-08  Dai Mikurube  <dmikurube@google.com>
46226
46227         Reviewed by Kent Tamura.
46228
46229         Implement "required" attribute for select tags
46230         https://bugs.webkit.org/show_bug.cgi?id=50380
46231
46232         Test: fast/forms/select-live-pseudo-selectors.html
46233               platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
46234
46235         * html/HTMLSelectElement.cpp:
46236         (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
46237         (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
46238         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
46239         (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
46240         (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
46241         (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
46242         (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
46243         (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
46244         (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
46245         (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
46246         (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
46247         (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
46248         (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
46249         (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
46250         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
46251         * html/HTMLSelectElement.h:
46252         (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
46253         * html/HTMLSelectElement.idl: Added a required attribute to select elements..
46254         * html/ValidityState.cpp:
46255         (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
46256
46257 2010-12-08  Renata Hodovan  <reni@webkit.org>
46258
46259         Reviewed by Andreas Kling.
46260
46261         GraphicsContext: Merge m_common and m_data
46262         https://bugs.webkit.org/show_bug.cgi?id=49914
46263
46264         Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
46265         and m_common became unnecessary. They are removed.
46266         Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
46267         make the constructor of GraphicsContext clearer.
46268         Besides add a getter to the private GraphicsContext::m_state member, because some inline
46269         functions in cairo need it.
46270
46271         No new test is needed, because this is a refactoring.
46272
46273         * WebCore.xcodeproj/project.pbxproj:
46274         * platform/graphics/GraphicsContext.cpp:
46275         (WebCore::GraphicsContext::GraphicsContext):
46276         (WebCore::GraphicsContext::~GraphicsContext):
46277         (WebCore::GraphicsContext::save):
46278         (WebCore::GraphicsContext::restore):
46279         (WebCore::GraphicsContext::setStrokeThickness):
46280         (WebCore::GraphicsContext::setStrokeStyle):
46281         (WebCore::GraphicsContext::setStrokeColor):
46282         (WebCore::GraphicsContext::setShadow):
46283         (WebCore::GraphicsContext::clearShadow):
46284         (WebCore::GraphicsContext::getShadow):
46285         (WebCore::GraphicsContext::strokeThickness):
46286         (WebCore::GraphicsContext::strokeStyle):
46287         (WebCore::GraphicsContext::strokeColor):
46288         (WebCore::GraphicsContext::strokeColorSpace):
46289         (WebCore::GraphicsContext::fillRule):
46290         (WebCore::GraphicsContext::setFillRule):
46291         (WebCore::GraphicsContext::setFillColor):
46292         (WebCore::GraphicsContext::fillColor):
46293         (WebCore::GraphicsContext::fillColorSpace):
46294         (WebCore::GraphicsContext::setShouldAntialias):
46295         (WebCore::GraphicsContext::shouldAntialias):
46296         (WebCore::GraphicsContext::state):
46297         (WebCore::GraphicsContext::setStrokePattern):
46298         (WebCore::GraphicsContext::setFillPattern):
46299         (WebCore::GraphicsContext::setStrokeGradient):
46300         (WebCore::GraphicsContext::setFillGradient):
46301         (WebCore::GraphicsContext::fillGradient):
46302         (WebCore::GraphicsContext::strokeGradient):
46303         (WebCore::GraphicsContext::fillPattern):
46304         (WebCore::GraphicsContext::strokePattern):
46305         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
46306         (WebCore::GraphicsContext::updatingControlTints):
46307         (WebCore::GraphicsContext::setUpdatingControlTints):
46308         (WebCore::GraphicsContext::setPaintingDisabled):
46309         (WebCore::GraphicsContext::paintingDisabled):
46310         (WebCore::GraphicsContext::textDrawingMode):
46311         (WebCore::GraphicsContext::setTextDrawingMode):
46312         * platform/graphics/GraphicsContext.h:
46313         (WebCore::GraphicsContextState::GraphicsContextState):
46314         * platform/graphics/GraphicsContextPrivate.h: Removed.
46315         * platform/graphics/cairo/GraphicsContextCairo.cpp:
46316         (WebCore::setPlatformFill):
46317         (WebCore::setPlatformStroke):
46318         (WebCore::drawPathShadow):
46319         (WebCore::fillCurrentCairoPath):
46320         (WebCore::strokeCurrentCairoPath):
46321         (WebCore::GraphicsContext::platformInit):
46322         (WebCore::GraphicsContext::platformDestroy):
46323         (WebCore::GraphicsContext::fillPath):
46324         (WebCore::GraphicsContext::strokePath):
46325         (WebCore::GraphicsContext::fillRect):
46326         (WebCore::GraphicsContext::setPlatformShadow):
46327         (WebCore::GraphicsContext::strokeRect):
46328         (WebCore::GraphicsContext::setAlpha):
46329         (WebCore::GraphicsContext::getAlpha):
46330         * platform/graphics/cg/GraphicsContextCG.cpp:
46331         (WebCore::GraphicsContext::platformInit):
46332         (WebCore::GraphicsContext::platformDestroy):
46333         (WebCore::GraphicsContext::applyStrokePattern):
46334         (WebCore::GraphicsContext::applyFillPattern):
46335         (WebCore::GraphicsContext::drawPath):
46336         (WebCore::GraphicsContext::fillPath):
46337         (WebCore::GraphicsContext::strokePath):
46338         (WebCore::GraphicsContext::fillRect):
46339         (WebCore::GraphicsContext::setPlatformShadow):
46340         (WebCore::GraphicsContext::strokeRect):
46341         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
46342         (WebCore::GraphicsContext::platformInit):
46343         (WebCore::GraphicsContext::platformDestroy):
46344         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
46345         (WebCore::GraphicsContext::platformInit):
46346         (WebCore::GraphicsContext::platformDestroy):
46347         (WebCore::GraphicsContext::fillPath):
46348         (WebCore::GraphicsContext::strokePath):
46349         (WebCore::GraphicsContext::clip):
46350         (WebCore::GraphicsContext::clipOut):
46351         (WebCore::GraphicsContext::addInnerRoundedRectClip):
46352         * platform/graphics/qt/GraphicsContextQt.cpp:
46353         (WebCore::GraphicsContext::platformInit):
46354         (WebCore::GraphicsContext::platformDestroy):
46355         (WebCore::GraphicsContext::fillPath):
46356         (WebCore::GraphicsContext::strokePath):
46357         (WebCore::GraphicsContext::fillRect):
46358         (WebCore::GraphicsContext::setPlatformShadow):
46359         * platform/graphics/skia/GraphicsContextSkia.cpp:
46360         (WebCore::GraphicsContext::platformInit):
46361         (WebCore::GraphicsContext::platformDestroy):
46362         (WebCore::GraphicsContext::fillPath):
46363         (WebCore::GraphicsContext::setPlatformShadow):
46364         * platform/graphics/win/GraphicsContextCGWin.cpp:
46365         (WebCore::GraphicsContext::platformInit):
46366         * platform/graphics/win/GraphicsContextCairoWin.cpp:
46367         (WebCore::GraphicsContext::platformInit):
46368         * platform/graphics/wince/GraphicsContextWinCE.cpp:
46369         (WebCore::GraphicsContext::platformInit):
46370         (WebCore::GraphicsContext::platformDestroy):
46371         (WebCore::GraphicsContext::fillPath):
46372         (WebCore::GraphicsContext::fillRect):
46373         * platform/graphics/wx/GraphicsContextWx.cpp:
46374         (WebCore::GraphicsContext::platformInit):
46375         (WebCore::GraphicsContext::platformDestroy):
46376
46377 2010-12-07  Anton Muhin  <antonm@chromium.org>
46378
46379         Reviewed by Nate Chapin.
46380
46381         Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
46382         https://bugs.webkit.org/show_bug.cgi?id=50246
46383
46384         * bindings/v8/V8DOMMap.h:
46385         (WebCore::AbstractWeakReferenceMap::Visitor::startMap):
46386         (WebCore::AbstractWeakReferenceMap::Visitor::endMap):
46387         (WebCore::WeakReferenceMap::visit):
46388         * bindings/v8/V8GCController.cpp:
46389         (WebCore::GrouperItem::GrouperItem):
46390         (WebCore::GrouperItem::groupId):
46391         (WebCore::makeV8ObjectGroups):
46392         (WebCore::NodeGrouperVisitor::NodeGrouperVisitor):
46393         (WebCore::NodeGrouperVisitor::visitDOMWrapper):
46394         (WebCore::NodeGrouperVisitor::applyGrouping):
46395         (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor):
46396         (WebCore::DOMObjectGrouperVisitor::startMap):
46397         (WebCore::DOMObjectGrouperVisitor::endMap):
46398         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
46399         (WebCore::V8GCController::gcPrologue):
46400
46401 2010-12-07  Daniel Bates  <dbates@rim.com>
46402
46403         Reviewed by Martin Robinson.
46404
46405         Implement focus ring support for image maps
46406         https://bugs.webkit.org/show_bug.cgi?id=50371
46407
46408         Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
46409         drawing a focus ring for image maps.
46410
46411         Tests: fast/images/imagemap-circle-focus-ring.html
46412                fast/images/imagemap-polygon-focus-ring.html
46413
46414         * platform/graphics/cairo/GraphicsContextCairo.cpp:
46415         (WebCore::adjustFocusRingColor): Added.
46416         (WebCore::adjustFocusRingLineWidth): Added.
46417         (WebCore::focusRingStrokeStyle): Added.
46418         (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color,
46419         line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(),
46420         and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...).
46421
46422 2010-12-07  Sergio Villar Senin  <svillar@igalia.com>
46423
46424         Reviewed by Xan Lopez.
46425
46426         [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
46427         https://bugs.webkit.org/show_bug.cgi?id=50577
46428
46429         Try to download cached resources again if they are no longer
46430         accesible by the cache.
46431
46432         * platform/network/soup/cache/soup-request-http.c:
46433         (send_async_cb):
46434         (webkit_soup_request_http_send_async):
46435
46436 2010-12-06  MORITA Hajime  <morrita@google.com>
46437
46438         Reviewed by Dimitri Glazkov.
46439
46440         RenderIndicator subclasses should not change the render tree during layout.
46441         https://bugs.webkit.org/show_bug.cgi?id=50026
46442
46443         The old code created shadow elements during a layout computation,
46444         that makes the layout state inconsisntent and cause an assertion failure. 
46445         This change created shadow elements before the layout to avoid  
46446         state inconsistencies.
46447         
46448         Instead of creating shadows on demand, RenderMeter and
46449         RenderProgress now create all necessary shadows before layouts,
46450         and change its visibilities during the layout: Changing
46451         visibilities doesn't trigger relayout and keep the state
46452         consistent.
46453         
46454         RenderMeter uses new HidablePartElement for shadow elements,
46455         which can toggle visibiliby between hidden and original value.
46456
46457         Test: fast/dom/HTMLMeterElement/meter-element-crash.html
46458
46459         * html/HTMLMeterElement.cpp:
46460         (WebCore::HTMLMeterElement::attach): Calling updateFromElement()
46461         * html/HTMLMeterElement.h:
46462         * html/HTMLProgressElement.cpp:
46463         (WebCore::HTMLProgressElement::attach): Calling updateFromElement()
46464         * html/HTMLProgressElement.h:
46465         * rendering/RenderIndicator.cpp:
46466         * rendering/RenderIndicator.h:
46467         * rendering/RenderMeter.cpp:
46468         (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility.
46469         (WebCore::MeterPartElement::createForPart):
46470         (WebCore::MeterPartElement::hide):
46471         (WebCore::MeterPartElement::restoreVisibility):
46472         (WebCore::MeterPartElement::updateStyleForPart):
46473         (WebCore::MeterPartElement::saveVisibility):
46474         (WebCore::RenderMeter::~RenderMeter):
46475         (WebCore::RenderMeter::createPart): Extracted
46476         (WebCore::RenderMeter::updateFromElement): Had a shadow generation.
46477         (WebCore::RenderMeter::layoutParts): Removed shadow generation code.
46478         (WebCore::RenderMeter::shouldHaveParts):
46479         (WebCore::RenderMeter::valuePartRect): Adopted orientation.
46480         (WebCore::RenderMeter::orientation): Morphed from isHorizontal()
46481         (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation
46482         (WebCore::RenderMeter::barPseudoId): Adopted orientation.
46483         * rendering/RenderMeter.h:
46484         (WebCore::RenderMeter::shadowAttached):
46485         * rendering/RenderProgress.cpp:
46486         (WebCore::RenderProgress::updateFromElement): Had a shadow generation.
46487         (WebCore::RenderProgress::layoutParts):
46488         * rendering/RenderProgress.h:
46489         * rendering/ShadowElement.cpp:
46490         (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart().
46491         (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart().
46492         * rendering/ShadowElement.h:
46493
46494 2010-11-29  Mihai Parparita  <mihaip@chromium.org>
46495
46496         Reviewed by Adam Barth.
46497
46498         returning to a POST result within a frame does a GET instead of a POST
46499         https://bugs.webkit.org/show_bug.cgi?id=10199
46500         
46501         FrameLoader::loadURLIntoChildFrame had a check for whether a frame
46502         had a HistoryItem, and if so used that item's URL. However, that did
46503         not handle the case where the HistoryItem had FormData and thus was the
46504         result of a POST request. FrameLoader::navigateToDifferentDocument (now
46505         renamed to loadDifferentDocumentItem) does all that, so just switch to
46506         using it instead.
46507         
46508         Besides the bug fix, the only difference in behavior is that we use the
46509         HistoryItem's URL instead of original URL when restoring it in a child
46510         frame. This seems desirable too (for consistency with other browsers, and
46511         so that we can avoid form double-submits for forms that that do
46512         POST-then-redirect), and is tested by
46513         fast/history/history-back-initial-vs-final-url.html.
46514         
46515         Tests: fast/history/history-back-initial-vs-final-url.html
46516                http/tests/navigation/post-frames-goback1.html
46517                http/tests/navigation/postredirect-frames-goback1.html
46518
46519         * loader/FrameLoader.cpp:
46520         (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using
46521             loadDifferentDocumentItem. Also cleaned up ordering slightly (if
46522             on the archive path, there's no need to do any of the other checks).
46523         (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from
46524             navigateToDifferentDocument so that calling it from loadItem and
46525             loadURLIntoChildFrame flows more easily.
46526         (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from
46527             navigateWithinDocument.
46528         (WebCore::FrameLoader::loadItem): Update callsites to the above methods.
46529         * loader/FrameLoader.h:
46530
46531 2010-12-07  Dan Bernstein  <mitz@apple.com>
46532
46533         Reviewed by Darin Adler.
46534
46535         Made tables repaint correctly in all writing modes
46536         Part of: Make tables work with vertical text
46537         https://bugs.webkit.org/show_bug.cgi?id=46417
46538
46539         Tests: fast/repaint/table-writing-modes-h.html
46540                fast/repaint/table-writing-modes-v.html
46541
46542         * rendering/RenderTableSection.cpp:
46543         (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
46544         columns to repaint based on the logical extent of the repaint rect.
46545
46546 2010-12-07  Alexey Marinichev  <amarinichev@chromium.org>
46547
46548         Reviewed by James Robinson.
46549
46550         [chromium] compositor lost context recovery fix
46551         https://bugs.webkit.org/show_bug.cgi?id=50614
46552
46553         To test, load a page that triggers the compositor, kill the GPU
46554         process and hover over a link to redraw and thus restart the GPU
46555         process.  Without this patch it will assert in
46556         ContentLayerChromium::updateTextureRect; with this patch it will not.
46557
46558         * platform/graphics/chromium/LayerChromium.cpp:
46559         (WebCore::LayerChromium::setNeedsDisplay):
46560
46561 2010-12-07  Anders Carlsson  <andersca@apple.com>
46562
46563         Fix the last clang++ build error.
46564
46565         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46566         (PlatformCALayer::animationForKey):
46567         Cast the returned animation to the correct type.
46568
46569 2010-12-07  Anders Carlsson  <andersca@apple.com>
46570
46571         Fix some clang++ build errors.
46572
46573         * platform/graphics/ca/GraphicsLayerCA.cpp:
46574         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
46575         Remove unused variable.
46576
46577         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
46578         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46579         Fix constness of pointers.
46580
46581 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
46582
46583         Reviewed by Chris Marrin.
46584
46585         Fix the Color -> CGColorRef conversions for the debug colors
46586         used for compositing layers.
46587
46588         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46589         (PlatformCALayer::setBackgroundColor):
46590         (PlatformCALayer::setBorderColor):
46591
46592 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
46593
46594         Reviewed by John Sullivan.
46595
46596         Part of Layering Violation in ContextMenu
46597         https://bugs.webkit.org/show_bug.cgi?id=50586
46598         
46599         ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
46600         a ContextMenuItem, and calling through to the ContextMenuController to validate it
46601         and call a function when it was selected.
46602         
46603         It was a layering violation to have this class here, because ContextMenu can't know
46604         about ContextMenuController.
46605         
46606         This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
46607         and sets up the menu targets there.
46608
46609         No change in behavior, no new tests.
46610
46611         * WebCore.exp.in: Added function that needs to be exported.
46612         * platform/mac/ContextMenuMac.mm:
46613         (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
46614         (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
46615         (WebCore::ContextMenu::insertItem): Ditto.
46616
46617 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
46618
46619         Reviewed by Dan Bernstein.
46620
46621         -webkit-transition Fails on Multiple text-shadow Shadows
46622         https://bugs.webkit.org/show_bug.cgi?id=42281
46623         
46624         When transitioning multiple shadows, the blend function for
46625         ShadowData dropped all but the first and last shadow because
46626         of a failure to append to the end of the list. Fixed.
46627
46628         Test: transitions/multiple-text-shadow-transition.html
46629
46630         * page/animation/AnimationBase.cpp:
46631         (WebCore::PropertyWrapperShadow::blend):
46632
46633 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
46634
46635         Reviewed by Beth Dakin.
46636
46637         CSS animation doesn't work for border-radius
46638         https://bugs.webkit.org/show_bug.cgi?id=48340
46639         
46640         Include CSSPropertyBorderRadius in the list of shorthand
46641         properties, so that the individual border-radius properties
46642         get animated.
46643
46644         Test: transitions/border-radius-transition.html
46645
46646         * page/animation/AnimationBase.cpp:
46647         (WebCore::addShorthandProperties):
46648
46649 2010-12-07  Maciej Stachowiak  <mjs@apple.com>
46650
46651         Reviewed by Kent Tamura.
46652
46653         Implement HTML5 hidden attribute
46654         https://bugs.webkit.org/show_bug.cgi?id=40511
46655
46656         Test: fast/html/hidden-attr.html
46657
46658         * html/HTMLElement.cpp:
46659         (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
46660         (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
46661
46662 2010-12-07  Kenneth Russell  <kbr@google.com>
46663
46664         Reviewed by David Levin.
46665
46666         Fix compilation of core web audio files on Windows
46667         https://bugs.webkit.org/show_bug.cgi?id=50603
46668
46669         Changed a few constructs using C99 features of math.h to use
46670         wtf/MathExtras.h instead. Changed inline definitions of a couple of
46671         const static doubles in classes to out-of-line. Built Chrome with
46672         web audio enabled on Windows and Mac OS X to test these changes.
46673
46674         No new tests since audio API is not yet implemented.
46675
46676         * WebCore.gypi:
46677         * platform/audio/AudioResampler.cpp:
46678         * platform/audio/Biquad.cpp:
46679         (WebCore::Biquad::setLowpassParams):
46680         (WebCore::Biquad::setHighpassParams):
46681         (WebCore::Biquad::setLowShelfParams):
46682         * platform/audio/Cone.cpp:
46683         (WebCore::ConeEffect::gain):
46684         * platform/audio/EqualPowerPanner.cpp:
46685         (WebCore::EqualPowerPanner::pan):
46686         * platform/audio/FFTFrame.cpp:
46687         (WebCore::FFTFrame::interpolateFrequencyComponents):
46688         (WebCore::FFTFrame::extractAverageGroupDelay):
46689         (WebCore::FFTFrame::addConstantGroupDelay):
46690         * platform/audio/HRTFKernel.cpp:
46691         * platform/audio/HRTFPanner.cpp:
46692         * webaudio/AudioBufferSourceNode.cpp:
46693         (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
46694         * webaudio/AudioPannerNode.cpp:
46695         (WebCore::AudioPannerNode::getAzimuthElevation):
46696         * webaudio/AudioParam.cpp: Added.
46697         (AudioParam::setValue):
46698         (AudioParam::smooth):
46699         * webaudio/AudioParam.h:
46700         * webaudio/RealtimeAnalyser.cpp:
46701
46702 2010-11-25  Philippe Normand  <pnormand@igalia.com>
46703
46704         Reviewed by Martin Robinson.
46705
46706         [GStreamer] faster elements linking
46707         https://bugs.webkit.org/show_bug.cgi?id=50067
46708
46709         Perform less checks during GStreamer elements linking if building
46710         against GStreamer >= 0.10.30.
46711
46712         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
46713         (WebCore::GStreamerGWorld::enterFullscreen):
46714         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
46715         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
46716
46717 2010-12-07  Philippe Normand  <pnormand@igalia.com>
46718
46719         Reviewed by Gustavo Noronha Silva.
46720
46721         [GStreamer] ::buffered() should return multiple ranges in some cases
46722         https://bugs.webkit.org/show_bug.cgi?id=45101
46723
46724         Improved the ::buffered() method thanks to the new buffering query
46725         support that landed in GStreamer 0.10.31. The method now
46726         queries the media buffered-ranges on the pipeline and queue2
46727         handles it if it's buffering the media to disk.
46728
46729         The webkitwebsrc element also gained BYTES duration query
46730         support. This is needed in the rare cases where uridecodebin
46731         configures its queue before the HTTP server returns the media
46732         Content-Length.
46733
46734         Test: http/tests/media/video-buffered.html
46735
46736         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
46737         (WebCore::MediaPlayerPrivateGStreamer::buffered):
46738         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
46739         (webkit_web_src_init):
46740         (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
46741         if it's aware of the media content-length.
46742         * platform/gtk/RenderThemeGtk.cpp:
46743         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
46744         the second and next buffered ranges.
46745
46746 2010-12-07  Yael Aharon  <yael.aharon@nokia.com>
46747
46748         Reviewed by Antonio Gomes.
46749
46750         Spatial navigation not Working for Map and Area Tags
46751         https://bugs.webkit.org/show_bug.cgi?id=47142
46752
46753         Give area elements special treatment in spatial navigation algorithm by getting the
46754         rect of the area from the associated image. Since area elements are likely to overlap
46755         if they are not rects, or if authors are not careful, we flatten the rect of area elements.
46756
46757         Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
46758                fast/spatial-navigation/snav-imagemap-area-without-image.html
46759                fast/spatial-navigation/snav-imagemap-overlapped-areas.html
46760                fast/spatial-navigation/snav-imagemap-simple.html
46761
46762         * page/FocusController.cpp:
46763         (WebCore::FocusController::findFocusCandidateInContainer):
46764         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
46765         (WebCore::FocusController::advanceFocusDirectionally):
46766         * page/SpatialNavigation.cpp:
46767         (WebCore::FocusCandidate::FocusCandidate):
46768         (WebCore::virtualRectForDirection):
46769         (WebCore::virtualRectForAreaElementAndDirection):
46770         * page/SpatialNavigation.h:
46771         (WebCore::FocusCandidate::FocusCandidate):
46772
46773 2010-12-07  Darin Adler  <darin@apple.com>
46774
46775         Try to fix V8 build.
46776
46777         * bindings/generic/BindingDOMWindow.h:
46778         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
46779
46780 2010-12-07  Darin Adler  <darin@apple.com>
46781
46782         Another build fix.
46783
46784         * loader/CrossOriginAccessControl.cpp: Added a missing include.
46785
46786 2010-12-07  Darin Adler  <darin@apple.com>
46787
46788         Try to fix build.
46789
46790         * plugins/PluginView.cpp:
46791         (WebCore::PluginView::start): Pass security origin.
46792         (WebCore::PluginView::getURLNotify): Ditto.
46793         (WebCore::PluginView::getURL): Ditto.
46794         (WebCore::PluginView::handlePost): Ditto.
46795
46796 2010-12-06  Darin Adler  <darin@apple.com>
46797
46798         Reviewed by Sam Weinig.
46799
46800         Pass security origin to make local file decision correctly
46801         https://bugs.webkit.org/show_bug.cgi?id=48603
46802
46803         * bindings/generic/BindingDOMWindow.h:
46804         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
46805         (WebCore::BindingDOMWindow::open): Ditto.
46806         * bindings/generic/BindingFrame.h:
46807         (WebCore::BindingFrame::navigateIfAllowed): Ditto.
46808
46809         * bindings/js/JSDOMWindowCustom.cpp:
46810         (WebCore::JSDOMWindow::setLocation): Pass security origin.
46811         (WebCore::createWindow): Ditto.
46812         (WebCore::JSDOMWindow::open): Ditto.
46813
46814         * bindings/js/JSDocumentCustom.cpp:
46815         (WebCore::JSDocument::setLocation): Pass security origin.
46816
46817         * dom/Document.cpp:
46818         (WebCore::Document::processHttpEquiv): Pass security origin.
46819
46820         * inspector/InspectorController.cpp:
46821         (WebCore::InspectorController::openInInspectedWindow):
46822         Pass security origin.
46823
46824         * loader/FrameLoader.cpp:
46825         (WebCore::FrameLoader::changeLocation): Added a security origin
46826         argument, passed through to urlSelected.
46827         (WebCore::FrameLoader::urlSelected): Replaced the resource request
46828         and frame name arguments with a frame load request arguments in one
46829         overload, and changed the other overload to pass in the current
46830         frame's document for the security origin.
46831         (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
46832         check before the referrer computation because it no longer needs
46833         to look at the referrer. Replaced the call to canDisplay that
46834         used the target frame's security origin and the call to
46835         deprecatedCanDisplay with a single call to canDisplay that uses
46836         the requester security origin.
46837
46838         * loader/FrameLoader.h: Updated for argument changes above.
46839
46840         * loader/NavigationScheduler.cpp:
46841         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
46842         a security origin.
46843         (WebCore::ScheduledURLNavigation::fire): Pass the security origin
46844         in to FrameLoader::changeLocation.
46845         (WebCore::ScheduledURLNavigation::securityOrigin): Added.
46846         (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
46847         origin argument.
46848         (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
46849         (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
46850         (WebCore::ScheduledRefresh::fire): Pass the security origin in to
46851         FrameLoader::changeLocation.
46852         (WebCore::ScheduledFormSubmission::fire): Include the security
46853         origin when constructing form submission.
46854         (WebCore::NavigationScheduler::scheduleRedirect): Include the security
46855         origin when creating the scheduled navigation object.
46856         (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
46857         (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
46858
46859         * loader/NavigationScheduler.h: Added the security origin argument
46860         to scheduleLocationChange.
46861
46862         * loader/SubframeLoader.cpp:
46863         (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
46864         origin when calling scheduleLocationChange.
46865         * loader/appcache/ApplicationCacheGroup.cpp:
46866         (WebCore::ApplicationCacheGroup::selectCache): Ditto.
46867
46868         * page/ContextMenuController.cpp:
46869         (WebCore::openNewWindow): Pass in the security origin.
46870         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
46871
46872         * page/FrameLoadRequest.h: Added a security origin called the requester
46873         to all FrameLoadRequest objects.
46874
46875         * page/XSSAuditor.cpp:
46876         (WebCore::XSSAuditor::findInRequest): Added the security origin.
46877
46878 2010-12-07  Yury Semikhatsky  <yurys@chromium.org>
46879
46880         Reviewed by Pavel Feldman.
46881
46882         Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
46883         https://bugs.webkit.org/show_bug.cgi?id=50627
46884
46885         * bindings/v8/ScriptDebugServer.cpp:
46886         (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
46887         not been initialized yet.
46888
46889 2010-12-07  Csaba Osztrogonác  <ossy@webkit.org>
46890
46891         Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
46892
46893         * page/animation/AnimationBase.cpp:
46894         (WebCore::addShorthandProperties):
46895
46896 2010-12-07  Martin Robinson  <mrobinson@igalia.com>
46897
46898         Unreviewed, rolling out r73392.
46899         http://trac.webkit.org/changeset/73392
46900         https://bugs.webkit.org/show_bug.cgi?id=50489
46901
46902         This commit caused crashes on the GTK+ bots
46903
46904         * bindings/ScriptControllerBase.cpp:
46905         (WebCore::ScriptController::executeIfJavaScriptURL):
46906         * dom/Document.cpp:
46907         (WebCore::Document::Document):
46908         (WebCore::Document::close):
46909         (WebCore::Document::lastModified):
46910         (WebCore::Document::finishedParsing):
46911         (WebCore::Document::initSecurityContext):
46912         (WebCore::Document::updateURLForPushOrReplaceState):
46913         * dom/Document.h:
46914         * dom/ProcessingInstruction.cpp:
46915         (WebCore::ProcessingInstruction::checkStyleSheet):
46916         * dom/ScriptElement.cpp:
46917         (WebCore::ScriptElement::scriptCharset):
46918         * html/HTMLLinkElement.cpp:
46919         (WebCore::HTMLLinkElement::process):
46920         * html/MediaDocument.cpp:
46921         (WebCore::MediaDocument::replaceMediaElementTimerFired):
46922         * html/PluginDocument.cpp:
46923         (WebCore::PluginDocumentParser::createDocumentStructure):
46924         * loader/DocumentLoader.cpp:
46925         (WebCore::DocumentLoader::DocumentLoader):
46926         (WebCore::DocumentLoader::finishedLoading):
46927         (WebCore::DocumentLoader::commitData):
46928         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
46929         (WebCore::DocumentLoader::setFrame):
46930         * loader/DocumentLoader.h:
46931         * loader/DocumentWriter.cpp:
46932         (WebCore::DocumentWriter::begin):
46933         * loader/DocumentWriter.h:
46934         * loader/FrameLoader.cpp:
46935         (WebCore::FrameLoader::FrameLoader):
46936         (WebCore::FrameLoader::init):
46937         (WebCore::FrameLoader::clear):
46938         (WebCore::FrameLoader::receivedFirstData):
46939         (WebCore::FrameLoader::transitionToCommitted):
46940         (WebCore::FrameLoader::open):
46941         (WebCore::FrameLoader::finishedLoadingDocument):
46942         (WebCore::FrameLoader::addExtraFieldsToRequest):
46943         * loader/FrameLoader.h:
46944         (WebCore::FrameLoader::writer):
46945         * loader/cache/CachedResourceLoader.cpp:
46946         (WebCore::CachedResourceLoader::requestPreload):
46947         * platform/network/FormDataBuilder.cpp:
46948         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
46949         * svg/graphics/SVGImage.cpp:
46950         (WebCore::SVGImage::dataChanged):
46951
46952 2010-12-07  Patrick Gansterer  <paroga@webkit.org>
46953
46954         Reviewed by Andreas Kling.
46955
46956         [CMake] Remove WebKitGenerators
46957         https://bugs.webkit.org/show_bug.cgi?id=50445
46958
46959         Move remaining logic into main CMakeLists.txt.
46960
46961         * CMakeLists.txt:
46962
46963 2010-12-07  Justin Schuh  <jschuh@chromium.org>
46964
46965         Reviewed by Nikolas Zimmermann.
46966
46967         Clear old SVG cursor entry before adding a new one
46968         https://bugs.webkit.org/show_bug.cgi?id=50549
46969
46970         Test: svg/css/cursor-replace.svg
46971
46972         * css/CSSCursorImageValue.cpp:
46973         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
46974         * svg/SVGCursorElement.cpp:
46975         (WebCore::SVGCursorElement::~SVGCursorElement):
46976         (WebCore::SVGCursorElement::removeClient):
46977         (WebCore::SVGCursorElement::removeReferencedElement):
46978         * svg/SVGCursorElement.h:
46979         * svg/SVGElement.cpp:
46980         (WebCore::SVGElement::setCursorElement):
46981         (WebCore::SVGElement::cursorElementRemoved):
46982         (WebCore::SVGElement::setCursorImageValue):
46983         (WebCore::SVGElement::cursorImageElementRemoved):
46984         * svg/SVGElement.h:
46985
46986 2010-12-07  Kenichi Ishibashi  <bashi@google.com>
46987
46988         Reviewed by Kent Tamura.
46989
46990         Let HTMLObjectElement be a form associated element
46991         https://bugs.webkit.org/show_bug.cgi?id=48821
46992
46993         Introduces FormAssociatedElement class which would be a super class
46994         of form assocated elements. Some of member functions and variables of
46995         HTMLFormControlElement are migrated into this class.
46996         Following the HTML5 spec, HTMLFormControlElement class and
46997         HTMLObjectElement class are subclasses of it for now.
46998
46999         Test: fast/forms/form-collection-elements-order.html
47000
47001         * Android.mk: Added FormAssociatedElement.cpp
47002         * CMakeLists.txt: Ditto.
47003         * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
47004         * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
47005         * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
47006         * WebCore.pro: Ditto.
47007         * WebCore.vcproj/WebCore.vcproj: Ditto.
47008         * WebCore.xcodeproj/project.pbxproj: Ditto.
47009         * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
47010         * dom/Document.cpp:
47011         (WebCore::Document::registerFormElementWithFormAttribute): Modified to
47012         use FormAssociatedElement instead of HTMLFormControlElement
47013         (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
47014         (WebCore::Document::resetFormElementsOwner):
47015         * dom/Document.h: Ditto.
47016         * html/DOMFormData.cpp: Ditto.
47017         (WebCore::DOMFormData::DOMFormData):
47018         * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
47019         (WebCore::FormAssociatedElement::FormAssociatedElement):
47020         (WebCore::FormAssociatedElement::~FormAssociatedElement):
47021         (WebCore::FormAssociatedElement::validity):
47022         (WebCore::FormAssociatedElement::insertedIntoTree):
47023         (WebCore::FormAssociatedElement::removedFromTree):
47024         (WebCore::FormAssociatedElement::removeFromForm):
47025         (WebCore::FormAssociatedElement::resetFormOwner):
47026         (WebCore::FormAssociatedElement::formAttributeChanged):
47027         (WebCore::toHTMLElement):
47028         * html/FormAssociatedElement.h: Ditto.
47029         (WebCore::FormAssociatedElement::ref):
47030         (WebCore::FormAssociatedElement::deref):
47031         (WebCore::FormAssociatedElement::formDestroyed):
47032         (WebCore::FormAssociatedElement::setForm):
47033         * html/HTMLElement.h: Changed the access level of findFormAncestor().
47034         * html/HTMLFormCollection.cpp:
47035         (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
47036         instead of HTMLFormControlElement.
47037         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
47038         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
47039         * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
47040         hierarchy.
47041         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
47042         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
47043         (WebCore::HTMLFormControlElement::insertedIntoTree):
47044         (WebCore::HTMLFormControlElement::removedFromTree):
47045         (WebCore::HTMLFormControlElement::supportsFocus):
47046         (WebCore::HTMLFormControlElement::checkValidity):
47047         (WebCore::HTMLFormControlElement::virtualForm):
47048         (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
47049         (WebCore::HTMLFormControlElement::attributeChanged):
47050         * html/HTMLFormControlElement.h: Ditto.
47051         (WebCore::HTMLFormControlElement::form):
47052         (WebCore::HTMLFormControlElement::disabled):
47053         (WebCore::HTMLFormControlElement::type):
47054         (WebCore::HTMLFormControlElement::refFormAssociatedElement):
47055         (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
47056         * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
47057         instead of HTMLFormControlElement.
47058         (WebCore::HTMLFormElement::submitImplicitly):
47059         (WebCore::HTMLFormElement::validateInteractively):
47060         (WebCore::HTMLFormElement::submit):
47061         (WebCore::HTMLFormElement::reset):
47062         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
47063         (WebCore::HTMLFormElement::formElementIndex):
47064         (WebCore::HTMLFormElement::registerFormElement):
47065         (WebCore::HTMLFormElement::removeFormElement):
47066         (WebCore::HTMLFormElement::defaultButton):
47067         (WebCore::HTMLFormElement::checkValidity):
47068         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
47069         (WebCore::HTMLFormElement::documentDidBecomeActive):
47070         * html/HTMLFormElement.h: Ditto.
47071         (WebCore::HTMLFormElement::associatedElements):
47072         * html/HTMLInputElement.cpp: Ditto.
47073         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
47074         * html/HTMLObjectElement.cpp: Modified regarding with the change of class
47075         hierarchy.
47076         (WebCore::HTMLObjectElement::HTMLObjectElement):
47077         (WebCore::HTMLObjectElement::~HTMLObjectElement):
47078         (WebCore::HTMLObjectElement::create):
47079         (WebCore::HTMLObjectElement::attributeChanged):
47080         (WebCore::HTMLObjectElement::insertedIntoTree):
47081         (WebCore::HTMLObjectElement::removedFromTree):
47082         (WebCore::HTMLObjectElement::appendFormData):
47083         (WebCore::HTMLObjectElement::formControlName):
47084         * html/HTMLObjectElement.h: Ditto.
47085         (WebCore::HTMLObjectElement::form):
47086         (WebCore::HTMLObjectElement::isFormControlElement):
47087         (WebCore::HTMLObjectElement::isEnumeratable):
47088         (WebCore::HTMLObjectElement::refFormAssociatedElement):
47089         (WebCore::HTMLObjectElement::derefFormAssociatedElement):
47090         * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
47091         * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
47092         instead of HTMLFormControlElement.
47093         (WebCore::ValidationMessage::ValidationMessage):
47094         (WebCore::ValidationMessage::create):
47095         * html/ValidationMessage.h: Ditto.
47096         * html/ValidityState.cpp: Ditto.
47097         (WebCore::ValidityState::validationMessage):
47098         (WebCore::ValidityState::setCustomErrorMessage):
47099         (WebCore::ValidityState::valueMissing):
47100         (WebCore::ValidityState::typeMismatch):
47101         (WebCore::ValidityState::patternMismatch):
47102         (WebCore::ValidityState::tooLong):
47103         (WebCore::ValidityState::rangeUnderflow):
47104         (WebCore::ValidityState::rangeOverflow):
47105         (WebCore::ValidityState::stepMismatch):
47106         * html/ValidityState.h: Ditto.
47107         (WebCore::ValidityState::create):
47108         (WebCore::ValidityState::ValidityState):
47109         * loader/FormSubmission.cpp: Ditto.
47110         (WebCore::FormSubmission::create):
47111
47112 2010-12-06  Pavel Feldman  <pfeldman@chromium.org>
47113
47114         Not reviewed. Rolling out r72988 for breaking iframes.
47115
47116         * css/CSSImportRule.cpp:
47117         (WebCore::CSSImportRule::insertedIntoParent):
47118
47119 2010-12-06  Hironori Bono  <hbono@chromium.org>
47120
47121         Reviewed by David Levin.
47122
47123         [Chromium] Refactor FontCacheChromiumWin.cpp
47124         https://bugs.webkit.org/show_bug.cgi?id=50611
47125         
47126         This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
47127
47128         No new tests are added since this is a refactoring.
47129
47130         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
47131         (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
47132         (WebCore::toGDIFontWeight): Moved to the beginning of the file.
47133         (WebCore::FillLogFont): Moved to the beginning of the file.
47134         (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
47135         (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
47136         (WebCore::FontCache::platformInit): Moved after the static functions.
47137
47138 2010-12-06  Alexey Marinichev  <amarinichev@chromium.org>
47139
47140         Reviewed by Kenneth Russell.
47141
47142         Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
47143         https://bugs.webkit.org/show_bug.cgi?id=50364
47144
47145         No new tests since there is currently no way to force a context lost event.
47146
47147         * html/canvas/WebGLRenderingContext.cpp:
47148         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
47149         (WebCore::WebGLRenderingContext::create):
47150         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
47151         (WebCore::WebGLRenderingContext::isContextLost):
47152         (WebCore::WebGLRenderingContext::loseContext):
47153         (WebCore::WebGLRenderingContext::restoreContext):
47154         * html/canvas/WebGLRenderingContext.h:
47155         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
47156
47157 2010-12-06  David Hyatt  <hyatt@apple.com>
47158
47159         Reviewed by Simon Fraser.
47160
47161         https://bugs.webkit.org/show_bug.cgi?id=50593
47162         
47163         Fix background canvas painting for documents with left/top overflow.  The math from the original RTL patch was incorrect.
47164         
47165         Just use the RenderView's document dimensions always.
47166
47167         * rendering/RenderBox.cpp:
47168         (WebCore::RenderBox::paintRootBoxDecorations):
47169
47170 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
47171
47172         Reviewed by Beth Dakin.
47173
47174         CSS animation doesn't work for border-radius
47175         https://bugs.webkit.org/show_bug.cgi?id=48340
47176         
47177         Include CSSPropertyBorderRadius in the list of shorthand
47178         properties, so that the individual border-radius properties
47179         get animated.
47180
47181         Test: transitions/border-radius-transition.html
47182
47183         * page/animation/AnimationBase.cpp:
47184         (WebCore::addShorthandProperties):
47185
47186 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47187
47188         Reviewed by Tony Chang.
47189
47190         ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
47191         https://bugs.webkit.org/show_bug.cgi?id=49938
47192
47193         Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
47194         instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
47195         by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
47196         EditingStyle::extractAndRemoveBlockProperties.
47197
47198         No new tests are added since this is a refactoring.
47199
47200         * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
47201         * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
47202         (WebCore::CSSMutableStyleDeclaration::merge):
47203         * css/CSSMutableStyleDeclaration.h:
47204         * editing/ApplyStyleCommand.cpp:
47205         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
47206         (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
47207         * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
47208         (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
47209         * editing/CompositeEditCommand.cpp:
47210         (WebCore::CompositeEditCommand::applyStyle): Ditto.
47211         (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
47212         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
47213         * editing/CompositeEditCommand.h:
47214         * editing/DeleteSelectionCommand.cpp:
47215         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
47216         * editing/EditCommand.cpp:
47217         * editing/EditCommand.h:
47218         * editing/EditingStyle.cpp:
47219         (WebCore::EditingStyle::~EditingStyle): Added.
47220         (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
47221         (WebCore::EditingStyle::copy): Added.
47222         (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
47223         * editing/EditingStyle.h:
47224         * editing/Editor.cpp:
47225         (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
47226         (WebCore::Editor::applyParagraphStyle): Ditto.
47227         (WebCore::Editor::computeAndSetTypingStyle): Ditto.
47228         * editing/InsertLineBreakCommand.cpp:
47229         (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
47230         * editing/InsertParagraphSeparatorCommand.cpp:
47231         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
47232         * editing/InsertTextCommand.cpp:
47233         (WebCore::InsertTextCommand::input): Ditto.
47234         * editing/RemoveFormatCommand.cpp:
47235         (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
47236         * editing/ReplaceSelectionCommand.cpp:
47237         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
47238         * editing/SelectionController.cpp:
47239         (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
47240         * editing/SelectionController.h:
47241
47242 2010-12-05  Ryosuke Niwa  <rniwa@webkit.org>
47243
47244         Reviewed by Tony Chang.
47245
47246         Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
47247         https://bugs.webkit.org/show_bug.cgi?id=47300
47248
47249         The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
47250         contains more than one paragraphs even when the refNode is fully selected.
47251
47252         Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
47253         such a situation.
47254
47255         Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
47256         is not properly updated when the end of selection resides in the node split by
47257         rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
47258
47259         Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
47260
47261         * editing/ApplyBlockElementCommand.cpp:
47262         (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
47263         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
47264         m_endOfLastParagraph when the position points to the node split by this function.
47265         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
47266         * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
47267         * editing/FormatBlockCommand.cpp:
47268         (WebCore::FormatBlockCommand::formatRange): See above.
47269         * editing/FormatBlockCommand.h:
47270         * editing/IndentOutdentCommand.cpp:
47271         (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
47272         * editing/IndentOutdentCommand.h:
47273
47274 2010-12-03  Zhenyao Mo  <zmo@google.com>
47275
47276         Reviewed by Kenneth Russell.
47277
47278         Postpone gl delete* calls until shaders/programs are no longer attached
47279         https://bugs.webkit.org/show_bug.cgi?id=50501
47280
47281         * html/canvas/WebGLBuffer.cpp:
47282         (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
47283         * html/canvas/WebGLFramebuffer.cpp:
47284         (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
47285         * html/canvas/WebGLObject.cpp:
47286         (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
47287         * html/canvas/WebGLObject.h:
47288         (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
47289         (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
47290         (WebCore::WebGLObject::isDeleted): Make this public.
47291         * html/canvas/WebGLProgram.cpp:
47292         (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
47293         * html/canvas/WebGLRenderbuffer.cpp:
47294         (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
47295         * html/canvas/WebGLRenderingContext.cpp:
47296         (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
47297         (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
47298         * html/canvas/WebGLShader.cpp:
47299         (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
47300         * html/canvas/WebGLTexture.cpp:
47301         (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
47302
47303 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47304
47305         Yet unreviewed another Leopard build fix for r73380.
47306
47307         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
47308         (PlatformCAAnimation::setKeyTimes):
47309         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
47310         (PlatformCALayer::platformCALayer):
47311
47312 2010-12-06  Andy Estes  <aestes@apple.com>
47313
47314         Reviewed by Darin Adler.
47315
47316         Marquee elements do not stop animating when scrollAmount is set to 0.
47317         https://bugs.webkit.org/show_bug.cgi?id=50434
47318
47319         Test: fast/html/marquee-scrollamount.html
47320
47321         * rendering/RenderMarquee.cpp:
47322         (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
47323
47324 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47325
47326         Unreviewed Leopard buildfix for r73380.
47327
47328         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
47329         (PlatformCAAnimation::setTimingFunctions):
47330         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
47331         (PlatformCALayer::PlatformCALayer):
47332
47333 2010-12-06  Philippe Normand  <pnormand@igalia.com>
47334
47335         Reviewed by Martin Robinson.
47336
47337         [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
47338         https://bugs.webkit.org/show_bug.cgi?id=44157
47339
47340         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
47341         (webKitWebSrcNeedDataMainCb):
47342         (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
47343         with cross-platform ResourceHandle::setDefersLoading calls.
47344
47345 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47346
47347         Unreviewed Leopard build fix for r73388.
47348
47349         * accessibility/AccessibilitySlider.cpp:
47350         (WebCore::AccessibilitySlider::maxValueForRange):
47351         (WebCore::AccessibilitySlider::minValueForRange):
47352
47353 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
47354
47355         Unreviewed build fix for Leopard after r73379.
47356
47357         * platform/graphics/cg/GraphicsContextCG.cpp:
47358         (WebCore::GraphicsContext::setAllowsFontSmoothing):
47359
47360 2010-12-06  Nate Chapin  <japhet@chromium.org>
47361
47362         Reviewed by Adam Barth.
47363
47364         Make DocumentWriter a member of DocumentLoader
47365         instead of FrameLoader.
47366         https://bugs.webkit.org/show_bug.cgi?id=50489
47367
47368         Refactor, no new tests.
47369
47370         * bindings/ScriptControllerBase.cpp:
47371         (WebCore::ScriptController::executeIfJavaScriptURL):
47372         * dom/Document.cpp:
47373         (WebCore::Document::Document):
47374         (WebCore::Document::close):
47375         (WebCore::Document::lastModified):
47376         (WebCore::Document::finishedParsing):
47377         (WebCore::Document::initSecurityContext):
47378         (WebCore::Document::updateURLForPushOrReplaceState):
47379         * dom/Document.h:
47380         (WebCore::Document::setDocumentLoader):
47381         (WebCore::Document::loader):
47382         * dom/ProcessingInstruction.cpp:
47383         (WebCore::ProcessingInstruction::checkStyleSheet):
47384         * dom/ScriptElement.cpp:
47385         (WebCore::ScriptElement::scriptCharset):
47386         * html/HTMLLinkElement.cpp:
47387         (WebCore::HTMLLinkElement::process):
47388         * html/MediaDocument.cpp:
47389         (WebCore::MediaDocument::replaceMediaElementTimerFired):
47390         * html/PluginDocument.cpp:
47391         (WebCore::PluginDocumentParser::createDocumentStructure):
47392         * loader/DocumentLoader.cpp:
47393         (WebCore::DocumentLoader::DocumentLoader):
47394         (WebCore::DocumentLoader::finishedLoading):
47395         (WebCore::DocumentLoader::commitData):
47396         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
47397         (WebCore::DocumentLoader::setFrame):
47398         * loader/DocumentLoader.h:
47399         (WebCore::DocumentLoader::writer):
47400         * loader/DocumentWriter.h:
47401         (WebCore::DocumentWriter::setFrame):
47402         * loader/FrameLoader.cpp:
47403         (WebCore::FrameLoader::FrameLoader):
47404         (WebCore::FrameLoader::init):
47405         (WebCore::FrameLoader::clear):
47406         (WebCore::FrameLoader::receivedFirstData):
47407         (WebCore::FrameLoader::transitionToCommitted):
47408         (WebCore::FrameLoader::open):
47409         (WebCore::FrameLoader::finishedLoadingDocument):
47410         (WebCore::FrameLoader::addExtraFieldsToRequest):
47411         * loader/FrameLoader.h:
47412         (WebCore::FrameLoader::notifier):
47413         * loader/cache/CachedResourceLoader.cpp:
47414         (WebCore::CachedResourceLoader::requestPreload):
47415         * platform/network/FormDataBuilder.cpp:
47416         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
47417         * svg/graphics/SVGImage.cpp:
47418         (WebCore::SVGImage::dataChanged):
47419
47420 2010-12-06  Mark Rowe  <mrowe@apple.com>
47421
47422         Build fix.
47423
47424         * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
47425         That's just plain wrong.
47426
47427 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
47428
47429         Reviewed by Darin Adler.
47430
47431         HTML5 Slider does not work correctly with VoiceOver
47432         https://bugs.webkit.org/show_bug.cgi?id=50505
47433
47434         Address a few problems with the Mac implementation for the accessibility slider.
47435             1) The value indicator is not hit testable.
47436             2) The value indicator does not return an AXValue.
47437             3) In the slider, the min/max values are not correct when min/max attributes are not present.
47438             4) When you change the value with the keyboard, it doesn't send out the right notification.
47439             5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
47440  
47441         Test: platform/mac/accessibility/html-slider-indicator.html
47442
47443         * accessibility/AccessibilityObject.cpp:
47444         (WebCore::AccessibilityObject::getAttribute):
47445             Use fastGetAttribute on Element, instead of getAttribute.
47446         * accessibility/AccessibilityObject.h:
47447         (WebCore::AccessibilityObject::isInputSlider):
47448         * accessibility/AccessibilityRenderObject.cpp:
47449         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
47450         * accessibility/AccessibilitySlider.cpp:
47451         (WebCore::AccessibilitySlider::doAccessibilityHitTest):
47452         (WebCore::AccessibilitySlider::maxValueForRange):
47453         (WebCore::AccessibilitySlider::minValueForRange):
47454         * accessibility/AccessibilitySlider.h:
47455         (WebCore::AccessibilitySlider::isInputSlider):
47456         * accessibility/mac/AccessibilityObjectWrapper.mm:
47457         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
47458         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
47459         * html/HTMLInputElement.cpp:
47460         (WebCore::HTMLInputElement::applyStep):
47461
47462 2010-12-06  David Hyatt  <hyatt@apple.com>
47463
47464         Reviewed by Simon Fraser.
47465
47466         Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
47467         O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
47468
47469         This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
47470         in the engine to cache all the information required to properly handle scrolling.
47471
47472         In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
47473         affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
47474         wasn't actually used to determine scroll width or scroll height.  It didn't propagate across self-painting layer
47475         boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
47476         visual overflow rects.
47477
47478         In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
47479         is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
47480         been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
47481         work with writing modes.
47482
47483         In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
47484         Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
47485         A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
47486         a huge number of tests would change.
47487
47488         Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.
47489
47490         * page/FrameView.cpp:
47491         (WebCore::FrameView::adjustViewSize):
47492         (WebCore::FrameView::forceLayoutForPagination):
47493         Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
47494         to account for writing modes.
47495
47496         * platform/graphics/IntRect.h:
47497         (WebCore::IntRect::shiftLeftEdgeTo):
47498         (WebCore::IntRect::shiftRightEdgeTo):
47499         (WebCore::IntRect::shiftTopEdgeTo):
47500         (WebCore::IntRect::shiftBottomEdgeTo):
47501         New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
47502
47503         * rendering/InlineBox.h:
47504         (WebCore::InlineBox::frameRect):
47505         frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
47506
47507         * rendering/InlineFlowBox.cpp:
47508         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
47509         All of the overflow setting in the inline direction has been removed from this function.  All line overflow is computed
47510         at once now in a single function: computeOverflow.
47511
47512         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
47513         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
47514         (WebCore::InlineFlowBox::addReplacedChildOverflow):
47515         Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
47516
47517         (WebCore::InlineFlowBox::computeOverflow):
47518         The new function that computes both horizontal and vertical overflow for a line box.
47519
47520         (WebCore::InlineFlowBox::setLayoutOverflow):
47521         (WebCore::InlineFlowBox::setVisualOverflow):
47522         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
47523         New functions that set the overflow computed by computeOverflow.  These replace setBlockDirectionOverflowPositions
47524         and setInlineDirectionOverflowPositions.  They essentially do the same thing, but they operate on rectangles.
47525
47526         (WebCore::InlineFlowBox::nodeAtPoint):
47527         (WebCore::InlineFlowBox::paint):
47528         Changed to use visual overflow instead of visible overflow.  (Visible overflow as a union of layout and visual
47529         overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
47530
47531         * rendering/InlineFlowBox.h:
47532         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
47533         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
47534         Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
47535         converting to block coordinates at the end.
47536
47537         * rendering/RenderBlock.cpp:
47538         (WebCore::RenderBlock::layoutBlock):
47539         (WebCore::RenderBlock::addOverflowFromChildren):
47540         (WebCore::RenderBlock::computeOverflow):
47541         (WebCore::RenderBlock::addOverflowFromFloats):
47542         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
47543         Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow.  The addOverflowFromChildren
47544         method is virtual so that RenderListItem and RenderTable can subclass it.  RenderListItem has to position its list marker and
47545         propagate marker overflow up, and RenderTable adds in overflow from its sections.
47546
47547         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
47548         (WebCore::RenderBlock::layoutPositionedObjects):
47549         When only positioned objects lay out, overflow must still be recomputed.  The refactoring of overflow computation into a single
47550         callable method: computeOverflow, makes it possible for this to be done easily.
47551
47552         (WebCore::RenderBlock::paint):
47553         visible -> visual.
47554
47555         (WebCore::RenderBlock::addOverhangingFloats):
47556         The propagation of float overflow has changed substantially.  The basic rules are:
47557             (1) The float must be in our floating objects list to contribute to overflow.
47558             (2) The float must be a descendant to contribute to overflow.
47559             (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
47560                 so the float needs to be included in its overflow.
47561
47562         (WebCore::RenderBlock::nodeAtPoint):
47563         visible -> visual.
47564
47565         (WebCore::RenderBlock::layoutColumns):
47566         Remove column overflow computation from layoutColumns and move it to computeOverflow.
47567
47568         (WebCore::RenderBlock::adjustLinePositionForPagination):
47569         visible -> visual.
47570
47571         * rendering/RenderBlock.h:
47572         (WebCore::RenderBlock::scrollbarsChanged):
47573         Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
47574
47575         * rendering/RenderBlockLineLayout.cpp:
47576         (WebCore::RenderBlock::layoutInlineChildren):
47577         (WebCore::RenderBlock::determineStartPosition):
47578         (WebCore::RenderBlock::matchedEndLine):
47579         (WebCore::RenderBlock::addOverflowFromInlineChildren):
47580         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
47581         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
47582         visible -> visual.
47583
47584         * rendering/RenderBox.cpp:
47585         (WebCore::RenderBox::scrollWidth):
47586         (WebCore::RenderBox::scrollHeight):
47587         Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
47588
47589         (WebCore::RenderBox::paintRootBoxDecorations):
47590         Use docLeft and docTop here, so that writing modes are handled.
47591
47592         (WebCore::RenderBox::clippedOverflowRectForRepaint):
47593         visible -> visual.
47594
47595         (WebCore::RenderBox::addOverflowFromChild):
47596         (WebCore::RenderBox::addLayoutOverflow):
47597         (WebCore::RenderBox::addVisualOverflow):
47598         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
47599         (WebCore::RenderBox::visualOverflowRectForPropagation):
47600         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
47601         (WebCore::RenderBox::layoutOverflowRectForPropagation):
47602         * rendering/RenderBox.h:
47603         The new overflow system for boxes.  Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
47604         for transforms, relative positioning and writing mode differences.
47605
47606         (WebCore::RenderBox::layoutOverflowRect):
47607         (WebCore::RenderBox::topLayoutOverflow):
47608         (WebCore::RenderBox::bottomLayoutOverflow):
47609         (WebCore::RenderBox::leftLayoutOverflow):
47610         (WebCore::RenderBox::rightLayoutOverflow):
47611         Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
47612
47613         (WebCore::RenderBox::clientLogicalBottom):
47614         New helper for obtaining the logical bottom of the client box.
47615
47616         (WebCore::RenderBox::clientBoxRect):
47617         New helper for obtaining the clientLeft/Top/Width/Height box.
47618
47619         * rendering/RenderBoxModelObject.h:
47620         (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
47621         Helper for obtaining the relative position offset transposed for vertical writing modes.  Used by line overflow.
47622
47623         * rendering/RenderFlexibleBox.cpp:
47624         (WebCore::RenderFlexibleBox::layoutBlock):
47625         Changed flexible boxes to just call the base class computeOverflow method.
47626
47627         * rendering/RenderInline.cpp:
47628         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
47629         (WebCore::RenderInline::clippedOverflowRectForRepaint):
47630         visible -> visual.
47631
47632         * rendering/RenderInline.h:
47633         * rendering/RenderLayer.cpp:
47634         (WebCore::RenderLayer::updateLayerPosition):
47635         Changed layers to no longer incorporate right/bottom overflow into width/height.  This is the reason many layout
47636         tests change.  (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
47637         layers now.)
47638
47639         (WebCore::RenderLayer::overflowTop):
47640         (WebCore::RenderLayer::overflowBottom):
47641         (WebCore::RenderLayer::overflowLeft):
47642         (WebCore::RenderLayer::overflowRight):
47643         overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
47644         to set up the scroll area.
47645
47646         (WebCore::RenderLayer::computeScrollDimensions):
47647         Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
47648
47649         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
47650         Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
47651         bottom works.
47652
47653         (WebCore::performOverlapTests):
47654         (WebCore::RenderLayer::paintLayer):
47655         Fix a bug in performOverlapTests.  It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
47656         of the layer (see why I hate layers even having dimensions?).  Changed it to use the bounding box of the layer instead.
47657
47658         (WebCore::RenderLayer::hitTest):
47659         Fix a bug in hit testing.  It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
47660         for left/top overflow in a ScrollView (hate hate hate layers having dimensions).  I changed it to use the hit test rect instead,
47661         so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
47662
47663         (WebCore::RenderLayer::localBoundingBox):
47664         visible -> visual.
47665
47666         * rendering/RenderLayer.h:
47667         Added the new overflowTop/Left/Right/Bottom accessors.
47668
47669         * rendering/RenderLineBoxList.cpp:
47670         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
47671         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
47672         (WebCore::RenderLineBoxList::paint):
47673         (WebCore::RenderLineBoxList::hitTest):
47674         visible -> visual.
47675
47676         * rendering/RenderListItem.cpp:
47677         (WebCore::RenderListItem::addOverflowFromChildren):
47678         (WebCore::RenderListItem::positionListMarker):
47679         * rendering/RenderListItem.h:
47680         RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
47681
47682         * rendering/RenderListMarker.cpp:
47683         (WebCore::RenderListMarker::paint):
47684         visible -> visual.
47685
47686         * rendering/RenderMarquee.cpp:
47687         (WebCore::RenderMarquee::computePosition):
47688         Changed to use overflow functions instead of rightmost/lowestPosition.
47689
47690         * rendering/RenderMedia.cpp:
47691         * rendering/RenderMedia.h:
47692         Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
47693
47694         * rendering/RenderOverflow.h:
47695         (WebCore::RenderOverflow::RenderOverflow):
47696         (WebCore::RenderOverflow::setLayoutOverflow):
47697         (WebCore::RenderOverflow::setVisualOverflow):
47698         Add new setters for layout and visual overflow as rects.
47699
47700         * rendering/RenderReplaced.cpp:
47701         (WebCore::RenderReplaced::shouldPaint):
47702         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
47703         visible -> visual.
47704
47705         * rendering/RenderRubyRun.cpp:
47706         (WebCore::RenderRubyRun::layout):
47707         Call computeOverflow to recompute our overflow information after we adjust the ruby.
47708
47709         * rendering/RenderTable.cpp:
47710         (WebCore::RenderTable::layout):
47711         (WebCore::RenderTable::addOverflowFromChildren):
47712         (WebCore::RenderTable::paint):
47713         * rendering/RenderTable.h:
47714         Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
47715
47716         * rendering/RenderTableCell.cpp:
47717         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
47718         visible -> visual.
47719
47720         (WebCore::RenderTableCell::scrollbarsChanged):
47721         Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
47722         a bug in table layout.  If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
47723         cell, then the cell won't lay out properly the second time (after the scrollbars have been added).  We have to adjust the intrinsic
47724         padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
47725
47726         * rendering/RenderTableCell.h:
47727         (WebCore::RenderTableCell::hasVisualOverflow):
47728         visible -> visual.
47729
47730         * rendering/RenderTableSection.cpp:
47731         (WebCore::RenderTableSection::layoutRows):
47732         * rendering/RenderTableSection.h:
47733         visible -> visual.  Removed the leftmost/rightmost/topmost/bottommostPosition functions.
47734
47735         * rendering/RenderTreeAsText.cpp:
47736         (WebCore::writeLayers):
47737         Added a hack to render tree dumping to include right/bottom overflow for the root layer only.  This keeps a zillion layout tests
47738         from failing.
47739
47740         * rendering/RenderView.cpp:
47741         (WebCore::RenderView::layout):
47742         (WebCore::RenderView::docTop):
47743         (WebCore::RenderView::docBottom):
47744         (WebCore::RenderView::docLeft):
47745         (WebCore::RenderView::docRight):
47746         * rendering/RenderView.h:
47747         (WebCore::RenderView::docHeight):
47748         (WebCore::RenderView::docWidth):
47749         RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes.  These methods
47750         are now the preferred way to query for the physical dimensions of a document.
47751
47752         * rendering/RootInlineBox.cpp:
47753         (WebCore::RootInlineBox::addHighlightOverflow):
47754         Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
47755
47756         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
47757         Remove the computation of block direction overflow, since it now all happens at once after the line is built.
47758
47759         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
47760         * rendering/RootInlineBox.h:
47761         Added a new helper function for incorporating the end padding into a line.  This end padding also includes the single pixel for a caret
47762         in LTR if needed.
47763
47764 2010-12-06  Chris Marrin  <cmarrin@apple.com>
47765
47766         Reviewed by Simon Fraser.
47767
47768         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
47769         https://bugs.webkit.org/show_bug.cgi?id=49388
47770
47771         Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
47772         identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
47773         with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
47774         platform neutral as long as implementations of those two classes are available. 
47775         Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
47776         rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
47777         to avoid confusion since both names were used to refer to the same thing. 
47778
47779         This patch is only for Mac. Windows implementation has not changed.
47780
47781         * WebCore.xcodeproj/project.pbxproj:
47782         * platform/graphics/GraphicsLayer.h:
47783         * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
47784         * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
47785         * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
47786         * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
47787         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
47788         (toCAMediaTimingFunction):
47789         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
47790         (PlatformCALayer::PlatformCALayer):
47791         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
47792         * platform/graphics/chromium/GraphicsLayerChromium.h:
47793         * platform/graphics/mac/GraphicsLayerMac.h: Removed.
47794         * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
47795         * platform/graphics/mac/WebLayer.h:
47796         * platform/graphics/mac/WebLayer.mm:
47797         (-[WebLayer setNeedsDisplay]):
47798         (-[WebLayer setNeedsDisplayInRect:]):
47799         (-[WebLayer display]):
47800         (-[WebLayer drawInContext:]):
47801         * platform/graphics/mac/WebTiledLayer.h:
47802         * platform/graphics/mac/WebTiledLayer.mm:
47803         (-[WebTiledLayer setNeedsDisplay]):
47804         (-[WebTiledLayer setNeedsDisplayInRect:]):
47805         (-[WebTiledLayer display]):
47806         (-[WebTiledLayer drawInContext:]):
47807         * platform/graphics/qt/GraphicsLayerQt.cpp:
47808         (WebCore::GraphicsLayerQtImpl::flushChanges):
47809         * platform/graphics/qt/GraphicsLayerQt.h:
47810         * platform/graphics/win/GraphicsLayerCACF.cpp:
47811         * platform/graphics/win/GraphicsLayerCACF.h:
47812
47813 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
47814
47815         Reviewed by Dan Bernstein.
47816
47817         Font antialiasing (smoothing) changes when elements are rendered into compositing layers
47818         https://bugs.webkit.org/show_bug.cgi?id=23364
47819
47820         Text rendered by Core Graphics over a transparent background looks bad because of 
47821         font smoothing, so turn off smoothing when rendering text into compositing layers.
47822
47823         * platform/graphics/GraphicsContext.h:
47824         * platform/graphics/cg/GraphicsContextCG.cpp:
47825         (WebCore::GraphicsContext::setAllowsFontSmoothing):
47826         * platform/graphics/mac/WebLayer.mm:
47827         (drawLayerContents):
47828
47829 2010-12-06  Patrick Gansterer  <paroga@webkit.org>
47830
47831         Reviewed by Andreas Kling.
47832
47833         [WINCE] Add build system
47834         https://bugs.webkit.org/show_bug.cgi?id=50522
47835
47836         * CMakeListsWinCE.txt: Added.
47837
47838 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
47839
47840         Reviewed by Oliver Hunt.
47841
47842         AX does not support HTML5 "required"
47843         https://bugs.webkit.org/show_bug.cgi?id=50507
47844
47845         Test: platform/mac/accessibility/html5-required-attribute.html
47846
47847         * accessibility/AccessibilityRenderObject.cpp:
47848         (WebCore::AccessibilityRenderObject::isRequired):
47849
47850 2010-12-06  Alejandro G. Castro  <alex@igalia.com>
47851
47852         Reviewed by Martin Robinson.
47853
47854         [GTK] using shadows leaks memory
47855         https://bugs.webkit.org/show_bug.cgi?id=50541
47856
47857         Fixed leaks in the shadow code.
47858         * platform/graphics/cairo/CairoUtilities.cpp:
47859         (WebCore::drawPatternToCairoContext): adoptRef instead of just
47860         getting a new reference.
47861         * platform/graphics/cairo/GraphicsContextCairo.cpp:
47862         (WebCore::drawPathShadow): handle cairo_path_t with smart
47863         pointers.
47864
47865 2010-12-06  Yury Semikhatsky  <yurys@chromium.org>
47866
47867         Reviewed by Pavel Feldman.
47868
47869         [v8] Web Inspector: remove duplicate code for capturing stack trace
47870         https://bugs.webkit.org/show_bug.cgi?id=50461
47871
47872         No new tests. Covered with existing inspector tests.
47873
47874         * bindings/js/ScriptCallStackFactory.cpp:
47875         (WebCore::createScriptCallStack):
47876         * bindings/js/ScriptCallStackFactory.h:
47877         * bindings/v8/ScriptCallStackFactory.cpp:
47878         (WebCore::toScriptCallFrame):
47879         (WebCore::toScriptCallFramesVector):
47880         (WebCore::createScriptCallStack):
47881         * bindings/v8/ScriptCallStackFactory.h:
47882         * bindings/v8/V8ConsoleMessage.cpp:
47883         (WebCore::V8ConsoleMessage::handler):
47884         * inspector/ScriptCallFrame.cpp:
47885         (WebCore::ScriptCallFrame::ScriptCallFrame):
47886         (WebCore::ScriptCallFrame::isEqual):
47887         (WebCore::ScriptCallFrame::buildInspectorObject):
47888         * inspector/ScriptCallFrame.h:
47889         (WebCore::ScriptCallFrame::sourceURL):
47890         * inspector/ScriptCallStack.h:
47891         * inspector/TimelineRecordFactory.cpp:
47892         (WebCore::TimelineRecordFactory::createGenericRecord):
47893         * inspector/front-end/ConsoleView.js:
47894         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
47895
47896 == Rolled over to ChangeLog-2010-12-06 ==