1 2011-02-15 Gavin Barraclough <barraclough@apple.com>
3 Reviewed by Geoff Garen.
5 Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
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.
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().
19 * bindings/js/JSDOMWindowShell.h:
20 Update JSObject -> JSNonFinalObject.
22 2011-02-16 Carol Szabo <carol.szabo@nokia.com>
24 Reviewed by David Hyatt.
26 REGRESSION: Use after free in WebCore::RenderCounter::destroyCounterNode
27 https://bugs.webkit.org/show_bug.cgi?id=54478
29 Test: fast/css/counters/render-tree-reorg-crash.html
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.
36 2011-02-16 Hans Wennborg <hans@chromium.org>
38 Reviewed by Jeremy Orlow.
40 IndexedDB: Inject auto increment keys via key path on insertion
41 https://bugs.webkit.org/show_bug.cgi?id=54457
43 Inject auto increment keys via key path for object stores using key
44 path and auto increment.
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):
63 2011-02-16 Sergio Villar Senin <svillar@igalia.com>
65 Reviewed by Martin Robinson.
67 [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader
68 https://bugs.webkit.org/show_bug.cgi?id=54537
70 Headers removed from the SoupMessage should be also removed from
71 the ResourceRequest when updating the latter from the former.
73 * platform/network/soup/ResourceRequestSoup.cpp:
74 (WebCore::ResourceRequest::updateFromSoupMessage):
76 2011-02-16 Ilya Tikhonovsky <loislo@chromium.org>
78 Reviewed by Yury Semikhatsky.
80 Web Inspector: split all the functions of Inspector backend API by domain.
81 https://bugs.webkit.org/show_bug.cgi?id=54558
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.
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):
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):
221 2011-02-16 Mario Sanchez Prada <msanchez@igalia.com>
223 Reviewed by Martin Robinson.
225 [GTK] events missing when a document is (re)loaded
226 https://bugs.webkit.org/show_bug.cgi?id=25831
228 Make sure webArea returns a proper name and that a signal
229 'state-change::defunct' is emitted when detaching the wrapper.
231 Test: platform/gtk/accessibility/document-reload-events.html
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.
239 2011-02-15 Nikolas Zimmermann <nzimmermann@rim.com>
241 Reviewed by Dirk Schulze.
243 Pixel tests differences on 10.6.6 32bit vs. 64bit
244 https://bugs.webkit.org/show_bug.cgi?id=54474
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.
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.
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.
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.
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);
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.
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!
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.
281 These combined patches fix the pixel test baseline changes.
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.
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):
324 2011-02-16 Andreas Kling <kling@webkit.org>
326 Reviewed by Dirk Schulze.
328 SVGAnimateElement incorrectly uses Color::nameForRenderTreeAsText()
329 https://bugs.webkit.org/show_bug.cgi?id=54547
331 * svg/SVGAnimateElement.cpp:
332 (WebCore::SVGAnimateElement::applyResultsToTarget):
334 2011-02-14 Mikhail Naganov <mnaganov@chromium.org>
336 Reviewed by Pavel Feldman.
338 Web Inspector: [Chromium] Landing detailed heap snapshots, part 3.
339 https://bugs.webkit.org/show_bug.cgi?id=54385
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;
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:
363 2011-02-16 Sheriff Bot <webkit.review.bot@gmail.com>
365 Unreviewed, rolling out r78655.
366 http://trac.webkit.org/changeset/78655
367 https://bugs.webkit.org/show_bug.cgi?id=54543
369 Causes too many test failures in chromium (Requested by
370 mnaganov on #webkit).
372 * bindings/js/JSEventListener.cpp:
373 (WebCore::JSEventListener::handleEvent):
374 * bindings/js/JSEventTarget.cpp:
376 * bindings/v8/V8AbstractEventListener.cpp:
377 (WebCore::V8AbstractEventListener::invokeEventHandler):
378 * dom/EventTarget.cpp:
380 * storage/IDBRequest.cpp:
381 * storage/IDBRequest.h:
383 2011-02-16 Ilya Tikhonovsky <loislo@chromium.org>
385 Reviewed by Yury Semikhatsky.
387 Web Inspector: move Database and DOMStorage related things from InspectorAgent to the corresponding agents.
389 https://bugs.webkit.org/show_bug.cgi?id=54455
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.
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):
429 2011-02-15 John Sullivan <sullivan@apple.com>
431 Reviewed by Antti Koivisto.
433 Dan Bernstein came up with this fix while we debugged it. I just typed.
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
439 <rdar://problem/8998838>
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()
447 2011-02-15 Csaba Osztrogonác <ossy@webkit.org>
451 [Qt][V8] Buildfix. Add missing USE(JSC) guard.
453 * plugins/qt/PluginViewQt.cpp:
455 2011-02-15 Ami Fischman <fischman@chromium.org>
457 Reviewed by David Levin.
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
464 https://bugs.webkit.org/show_bug.cgi?id=27798
465 http://crbug.com/72623
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).
471 * css/mediaControlsChromium.css:
473 2011-02-15 Ryosuke Niwa <rniwa@webkit.org>
475 Reviewed by Darin Adler.
477 Extract a function to process ancestor and their sibling nodes from processContents
478 https://bugs.webkit.org/show_bug.cgi?id=54425
480 Extracted processAncestorsAndTheirSiblings.
483 (WebCore::Range::processContents): Calls processContents.
484 (WebCore::Range::processAncestorsAndTheirSiblings): Extracted from processContents.
487 2011-02-15 Kent Tamura <tkent@chromium.org>
489 Reviewed by Darin Fisher.
491 [Chromium] Rendering error of spin buttons on layers
492 https://bugs.webkit.org/show_bug.cgi?id=54427
494 Test: fast/forms/input-appearance-spinbutton-layer.html
496 * rendering/RenderThemeChromiumWin.cpp:
497 Add checks for multiple ThemePainter instances.
498 (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
499 Avoid to create multiple ThemePainter instances.
501 2011-02-15 Chris Rogers <crogers@google.com>
503 Reviewed by Kenneth Russell.
505 Fix race condition in JavaScriptAudioNode
506 https://bugs.webkit.org/show_bug.cgi?id=54518
508 No new tests since audio API is not yet implemented.
510 * webaudio/JavaScriptAudioNode.cpp:
511 (WebCore::JavaScriptAudioNode::process):
513 2011-02-10 Jeremy Orlow <jorlow@chromium.org>
515 Reviewed by Nate Chapin.
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
520 When an exception is thrown but not handled within an IDBRequests success/error event,
521 we should abort the transaction.
523 Test: storage/indexeddb/exception-in-event-aborts.html
525 * bindings/js/JSEventListener.cpp:
526 (WebCore::JSEventListener::handleEvent):
527 * bindings/js/JSEventTarget.cpp:
529 * bindings/v8/V8AbstractEventListener.cpp:
530 (WebCore::V8AbstractEventListener::invokeEventHandler):
531 * dom/EventTarget.cpp:
532 (WebCore::EventTarget::uncaughtExceptionInEventHandler):
534 * storage/IDBRequest.cpp:
535 (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
536 * storage/IDBRequest.h:
538 2011-02-15 Ian Henderson <ianh@apple.com>
540 Reviewed by Darin Adler.
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
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.
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
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
577 2011-02-15 James Robinson <jamesr@chromium.org>
579 Reviewed by Alexey Proskuryakov.
581 requestAnimationFrame callbacks should not fire within a modal dialog
582 https://bugs.webkit.org/show_bug.cgi?id=53188
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.
588 Test: fast/animation/request-animation-frame-during-modal.html
591 * bindings/js/ScriptDebugServer.cpp:
592 (WebCore::ScriptDebugServer::setJavaScriptPaused):
594 (WebCore::Document::Document):
595 (WebCore::Document::suspendScriptedAnimationControllerCallbacks):
596 (WebCore::Document::resumeScriptedAnimationControllerCallbacks):
597 (WebCore::Document::webkitRequestAnimationFrame):
598 (WebCore::Document::webkitCancelRequestAnimationFrame):
599 (WebCore::Document::serviceScriptedAnimations):
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):
620 2011-02-14 Jeremy Orlow <jorlow@chromium.org>
622 Reviewed by Darin Fisher.
624 Add initial support for per-origin quotas to IndexedDB
625 https://bugs.webkit.org/show_bug.cgi?id=54421
627 Add support for non-persistent per-origin quotas. If one is
628 specified, it overrides the default.
630 No tests as this is only exposed via the Chromium webkit API.
632 * storage/IDBFactoryBackendImpl.cpp:
633 (WebCore::IDBFactoryBackendImpl::open):
634 (WebCore::IDBFactoryBackendImpl::setQuota):
635 * storage/IDBFactoryBackendImpl.h:
636 * storage/IDBFactoryBackendInterface.h:
638 2011-02-15 Adam Barth <abarth@webkit.org>
640 Reviewed by Darin Adler.
642 XSLT with output method HTML and images crashes in debug mode
643 https://bugs.webkit.org/show_bug.cgi?id=54462
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.
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.
655 This patch also removes removeAllChildren, which has not effect in this
656 situation and should never have been added in the first place.
658 Test: fast/parser/xslt-with-html.xml
661 (WebCore::Document::setContent):
662 (WebCore::Document::explicitClose):
664 2011-02-15 Oliver Hunt <oliver@apple.com>
667 https://bugs.webkit.org/show_bug.cgi?id=54415
671 2011-02-15 David Kilzer <ddkilzer@apple.com>
673 <http://webkit.org/b/54487> Minor header clean up in RenderLayerBacking.cpp
675 Reviewed by Darin Adler.
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
682 2011-02-14 Oliver Hunt <oliver@apple.com>
684 Reviewed by Gavin Barraclough and Geoff Garen.
686 Refactor handles and weak pointers to become nicer and more automatic
687 https://bugs.webkit.org/show_bug.cgi?id=54415
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.
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):
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:
777 (WebCore::EventTarget::markJSEventListeners):
778 * xml/XMLHttpRequest.cpp:
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:
788 2011-02-15 Jia Pu <jpu@apple.com>
790 Reviewed by Darin Adler.
792 Autocorrection should respect undo.
793 https://bugs.webkit.org/show_bug.cgi?id=52221
794 <rdar://problem/8663399>
796 Manual test: manual-tests/autocorrection/undo-autocorrection.html
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
803 4. If applicable, notify spell checking service to record this reversion.
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.
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.
816 * WebCore.exp.in: Updated for changes in Editor and ReplaceSelectionCommand.
818 * WebCore.xcodeproj/project.pbxproj: Updated for new source files.
820 * editing/CompositeEditCommand.cpp:
821 (WebCore::CompositeEditCommand::moveParagraphs): Adopted new signature of ReplaceSelectionCommand::create().
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.
838 * editing/Editor.h: Added Editor::unappliedSpellCorrection().
840 * editing/EditorCommand.cpp:
841 (WebCore::executeInsertFragment): Adopted new signature of ReplaceSelectionCommand::create().
843 * editing/MoveSelectionCommand.cpp:
844 (WebCore::MoveSelectionCommand::doApply): Ditto.
846 * editing/ReplaceSelectionCommand.cpp:
847 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Replaced all boolean arguments
850 * editing/ReplaceSelectionCommand.h:
851 (WebCore::ReplaceSelectionCommand::create): Ditto.
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):
861 * editing/SelectionController.h:
862 (WebCore::SelectionController::setSelection): Replaced all boolean arguments with an enum value.
864 * editing/SetSelectionCommand.cpp: Added.
865 (WebCore::SetSelectionCommand::SetSelectionCommand):
866 (WebCore::SetSelectionCommand::doApply):
867 (WebCore::SetSelectionCommand::doUnapply):
869 * editing/SetSelectionCommand.h: Added.
870 (WebCore::SetSelectionCommand::create):
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):
880 * editing/mac/SpellingCorrectionCommand.h: Added.
881 (WebCore::SpellingCorrectionCommand::create):
883 * loader/EmptyClients.h: Updated for the new function declared in EditorClient.
884 (WebCore::EmptyEditorClient::recordAutocorrectionResponse):
886 * manual-tests/autocorrection/undo-autocorrection.html: Added.
888 * page/ContextMenuController.cpp:
889 (WebCore::ContextMenuController::contextMenuItemSelected): Adopted new signature of ReplaceSelectionCommand::create().
891 * page/DragController.cpp:
892 (WebCore::DragController::concludeEditDrag): Ditto.
894 * page/EditorClient.h: Added EditorClient::recordAutocorrectionResponse().
896 2011-02-15 Beth Dakin <bdakin@apple.com>
898 Reviewed by Darin Adler.
900 Speculative fix for <rdar://problem/8998498> CrashTracer: [USER]
901 8 crashes in WebProcess calling setOverlayScrollerState:forceImmediately:
903 My best guess is that this is crashing because
904 willRemoveVerticalScrollbar()/Horizontal was not being called
905 properly from the RenderLayer destructor.
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):
913 For consistency's sake, I also moved didAddVerticalScrollbar()
914 /Horizontal to createScrollbar(). Again, only call for native
916 * rendering/RenderLayer.cpp:
917 (WebCore::RenderLayer::createScrollbar):
918 (WebCore::RenderListBox::createScrollbar):
920 These functions no longer call didAdd/willRemove.
921 (WebCore::RenderLayer::setHasHorizontalScrollbar):
922 (WebCore::RenderLayer::setHasVerticalScrollbar):
923 * rendering/RenderListBox.cpp:
924 (WebCore::RenderListBox::setHasVerticalScrollbar):
926 Remove unnecessary ScrollableArea::-prefix
927 * platform/ScrollView.cpp:
928 (WebCore::ScrollView::setHasHorizontalScrollbar):
929 (WebCore::ScrollView::setHasVerticalScrollbar):
931 2011-02-15 Joseph Pecoraro <joepeck@webkit.org>
933 Reviewed by David Kilzer.
935 Cleanup Some Potential ENABLE(INSPECTOR) Related Building Issues
936 https://bugs.webkit.org/show_bug.cgi?id=54048
938 * WebCore.exp.in: moved inspector only export into ENABLE(INSPECTOR) block.
939 * bindings/js/ScriptHeapSnapshot.h: include no longer needed.
941 2011-02-15 Stephen White <senorblanco@chromium.org>
943 Reviewed by James Robinson.
945 [chromium] clearRect() is incorrect in accelerated 2D canvas.
946 https://bugs.webkit.org/show_bug.cgi?id=54497
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.
953 Covered by fast/canvas/canvas-strokeRect.html.
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().
963 2011-02-15 Pratik Solanki <psolanki@apple.com>
965 Move WTF_USE_CFNETWORK to Platform.h
966 https://bugs.webkit.org/show_bug.cgi?id=54168
968 Reviewed by Darin Adler.
970 * config.h: Remove WTF_USE_CFNETWORK.
972 2011-02-15 Kenneth Russell <kbr@google.com>
974 Reviewed by Darin Fisher.
976 Allow controlling minimum DOMTimer interval on a per-page basis
977 https://bugs.webkit.org/show_bug.cgi?id=54312
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.
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.
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
998 A new method, setMinimumTimerInterval, has been added to
999 LayoutTestController, implemented in all ports of DumpRenderTree,
1000 and used in new layout tests.
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.
1007 - The new layout tests on the WebKit Mac and Chromium (Mac,
1009 - Hooked up the new API in Chromium and ran some simple manual
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
1019 (WebCore::Document::minimumTimerInterval):
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):
1031 (WebCore::DOMTimer::defaultMinTimerInterval):
1032 (WebCore::DOMTimer::setDefaultMinTimerInterval):
1034 (WebCore::Page::Page):
1035 (WebCore::Page::setMinimumTimerInterval):
1036 (WebCore::Page::minimumTimerInterval):
1038 * page/Settings.cpp:
1039 (WebCore::Settings::setDefaultMinDOMTimerInterval):
1040 (WebCore::Settings::defaultMinDOMTimerInterval):
1041 (WebCore::Settings::setMinDOMTimerInterval):
1042 (WebCore::Settings::minDOMTimerInterval):
1045 (WebCore::TimerBase::augmentFireInterval):
1046 (WebCore::TimerBase::augmentRepeatInterval):
1048 2011-02-15 Simon Fraser <simon.fraser@apple.com>
1050 Reviewed by Beth Dakin.
1052 Fix scrollbar rendering crash when rendered into a layer
1053 https://bugs.webkit.org/show_bug.cgi?id=54494
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.
1060 * platform/ScrollableArea.h:
1061 * rendering/RenderLayer.cpp:
1062 * rendering/RenderLayer.h:
1063 * rendering/RenderListBox.cpp:
1064 * rendering/RenderListBox.h:
1066 2011-02-15 Simon Fraser <simon.fraser@apple.com>
1068 Let Xcode have its way with the project.
1070 * WebCore.xcodeproj/project.pbxproj:
1072 2011-02-15 Simon Fraser <simon.fraser@apple.com>
1074 Fix Mac builds that don't use rubber-band scrolling
1075 by moving m_drawingIntoLayer out of the #ifdef.
1077 * platform/mac/ScrollAnimatorMac.h:
1078 * platform/mac/ScrollAnimatorMac.mm:
1079 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1081 2011-02-15 Martin Robinson <mrobinson@igalia.com>
1083 Reviewed by Xan Lopez.
1085 [Freetype] Better map CSS font weight to Fontconfig font weight
1086 https://bugs.webkit.org/show_bug.cgi?id=54323
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.
1094 2011-02-15 Simon Fraser <simon.fraser@apple.com>
1096 Reviewed by Sam Weinig.
1098 Fix scrollbar rendering crash when rendered into a layer
1099 https://bugs.webkit.org/show_bug.cgi?id=54494
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
1108 The fix is to track whether we're drawing into a layer via the
1109 GraphicsContext, rather than asking about compositing layers.
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.
1117 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1118 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1119 Store a bool for whether this context targets a layer.
1121 * platform/graphics/mac/WebLayer.mm:
1122 (drawLayerContents): Call setIsCALayerContext(true).
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.
1130 * platform/mac/ScrollAnimatorMac.mm:
1131 (-[ScrollbarPainterDelegate layer]): Use isDrawingIntoLayer()
1132 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Init the flag.
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.
1139 2011-02-15 Anders Carlsson <andersca@apple.com>
1141 Reviewed by Darin Adler.
1143 Add NPP_GetSitesWithData and NPP_URLRedirectNotify to the NPAPI headers
1144 https://bugs.webkit.org/show_bug.cgi?id=54481
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.
1153 Sync with the official NPAPI repository, adding 64-bit integer types and
1154 removing a duplicate license header.
1156 * plugins/npfunctions.h:
1159 2011-02-15 Antti Koivisto <antti@apple.com>
1161 Reviewed by Darin Adler.
1163 https://bugs.webkit.org/show_bug.cgi?id=54486
1164 Crashes under CachedResourceLoader::revalidateResource
1166 CachedResourceLoader might get deleted from under one of its methods.
1167 Try to catch a more informative crash stack.
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:
1182 2011-02-15 Andreas Kling <kling@webkit.org>
1184 Reviewed by Darin Adler.
1186 Optimize Color::serialized()
1187 https://bugs.webkit.org/show_bug.cgi?id=54452
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().
1193 * platform/graphics/Color.cpp:
1194 (WebCore::appendHexNumber):
1195 (WebCore::Color::serialized):
1197 2011-02-15 Jarred Nicholls <jarred@sencha.com>
1199 Reviewed by Alexey Proskuryakov.
1201 XMLHttpRequest::abort() doesn't clear response data
1202 https://bugs.webkit.org/show_bug.cgi?id=54118
1204 Properly clear all buffer data on abort, so no memory hangs around unnecessarily.
1206 No new tests because there is no observable effect except for less memory used.
1208 * xml/XMLHttpRequest.cpp:
1209 (WebCore::XMLHttpRequest::abort):
1211 2011-02-15 Andreas Kling <kling@webkit.org>
1213 Reviewed by Darin Adler.
1215 Rename Color::name() to Color::nameForRenderTreeAsText()
1216 https://bugs.webkit.org/show_bug.cgi?id=54464
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.
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):
1241 (WebCore::SVGColor::cssText):
1243 2011-02-15 Andras Becsi <abecsi@webkit.org>
1245 Rubber-stamped by Andreas Kling.
1249 No new tests needed.
1251 * WebCore.pro: add missing ASCII to header name.
1253 2011-02-15 Pavel Feldman <pfeldman@chromium.org>
1255 Reviewed by Yury Semikhatsky.
1257 Web Inspector: test whether inspector gets populated with databases and storages upon opening.
1258 https://bugs.webkit.org/show_bug.cgi?id=54469
1260 Tests: http/tests/inspector-enabled/database-open.html
1261 http/tests/inspector-enabled/dom-storage-open.html
1263 * inspector/front-end/DOMStorage.js:
1264 * inspector/front-end/Database.js:
1265 (WebInspector.DatabaseDispatcher.prototype.addDatabase):
1267 2011-02-15 Andreas Kling <kling@webkit.org>
1269 Reviewed by Darin Adler.
1271 Share the helper functions used by Latin-1 and UTF-8 text codecs
1272 https://bugs.webkit.org/show_bug.cgi?id=54446
1274 Move MachineWord, UCharByteFiller and the other helper functions
1275 into TextCodecASCIIFastPath.h where they can be used by both
1276 TextCodecUTF8 and TextCodecLatin1.
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):
1293 2011-02-15 Leo Yang <leo.yang@torchmobile.com.cn>
1295 Reviewed by Kent Tamura.
1297 Code style issue in WebCore/dom/InputElement.cpp
1298 https://bugs.webkit.org/show_bug.cgi?id=54428
1300 Remove 2 extra spaces in InputElement.cpp line 221.
1302 Code style fix, No new tests.
1304 * dom/InputElement.cpp:
1305 (WebCore::InputElement::handleBeforeTextInsertedEvent):
1307 2011-02-15 Philippe Normand <pnormand@igalia.com>
1309 Reviewed by Martin Robinson.
1311 [GStreamer] Video player sets system volume to 100%
1312 https://bugs.webkit.org/show_bug.cgi?id=54140
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
1319 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1320 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1322 2011-02-15 Adam Barth <abarth@webkit.org>
1324 Reviewed by Eric Seidel.
1326 Sketch script-src for Content Security Policy
1327 https://bugs.webkit.org/show_bug.cgi?id=54381
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.
1334 Test: http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html
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:
1345 2011-02-15 Antti Koivisto <antti@apple.com>
1347 Reviewed by Andreas Kling.
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
1352 Don't use fast path for SVG. There are some additional rules for shadow trees that are not
1353 implemented on fast path.
1355 * css/CSSStyleSelector.cpp:
1356 (WebCore::CSSStyleSelector::checkSelector):
1358 2011-02-15 Andras Becsi <abecsi@webkit.org>
1360 Reviewed by Csaba Osztrogonác.
1362 [Qt] Redesign the build system
1363 https://bugs.webkit.org/show_bug.cgi?id=51339
1367 Introduce CodeGenerators.pri and add common includepaths to WebCore.pri,
1368 thus unnecessary duplications can be removed from project files.
1370 No new tests needed.
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.
1378 2011-02-15 Charlie Reis <creis@chromium.org>
1380 Reviewed by Mihai Parparita.
1382 Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy
1383 https://bugs.webkit.org/show_bug.cgi?id=54219
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().
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.
1393 2011-02-15 Bill Budge <bbudge@chromium.org>
1395 Reviewed by David Levin.
1397 SubresourceLoader should expose finish time
1398 https://bugs.webkit.org/show_bug.cgi?id=54287
1400 No tests needed, exposes no new functionality
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:
1416 2011-02-15 Antti Koivisto <antti@apple.com>
1418 Reviewed by Darin Adler.
1420 Enable fast path selector checking for child and subselector combinators
1421 https://bugs.webkit.org/show_bug.cgi?id=54360
1423 * css/CSSStyleSelector.cpp:
1424 (WebCore::isFastCheckableSelector):
1425 (WebCore::fastCheckSingleSelector):
1426 (WebCore::checkClassValue):
1427 (WebCore::checkIdValue):
1428 (WebCore::checkTagValue):
1429 (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
1431 2011-02-15 Yury Semikhatsky <yurys@chromium.org>
1433 Reviewed by Pavel Feldman.
1435 Web Inspector: console auto-scroll is broken when there are both scrollers.
1436 https://bugs.webkit.org/show_bug.cgi?id=54273
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.
1442 2011-02-14 Alexander Pavlov <apavlov@chromium.org>
1444 Reviewed by Yury Semikhatsky.
1446 Web Inspector: highlighter works incorrect at build.chromium.org WebKit cells
1447 https://bugs.webkit.org/show_bug.cgi?id=53910
1449 Use enclosingBoundingBox for the absolute margin quad as the reference box for a tooltip.
1451 * inspector/InspectorAgent.cpp:
1452 (WebCore::InspectorAgent::drawNodeHighlight):
1454 2011-02-15 Dirk Schulze <krit@webkit.org>
1456 Rubber-stamped by Nikolas Zimmermann.
1458 SVG animation doesn't support attribute value 'inherit'
1459 https://bugs.webkit.org/show_bug.cgi?id=54410
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.
1465 * svg/SVGAnimateElement.cpp:
1466 (WebCore::SVGAnimateElement::calculateFromAndToValues):
1467 (WebCore::SVGAnimateElement::calculateFromAndByValues):
1469 2011-02-15 Adam Roben <aroben@apple.com>
1471 Windows build fix after r78533
1473 * WebCore.vcproj/WebCore.vcproj: Fix bad XML syntax.
1475 2011-02-15 Gavin Peters <gavinp@chromium.org>
1477 Reviewed by Antti Koivisto.
1479 SharedBuffer::buffer() does not do what you think.
1480 https://bugs.webkit.org/show_bug.cgi?id=54420
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):
1493 2011-02-15 Dirk Schulze <krit@webkit.org>
1495 Reviewed by Nikolas Zimmermann.
1497 SVG animation doesn't support attribute value 'inherit'
1498 https://bugs.webkit.org/show_bug.cgi?id=54410
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
1504 This fixes the following tests on the W3C test suite:
1505 * animate-elem-84-t.svg
1506 * animate-elem-85-t.svg
1508 Tests: svg/animations/animate-currentColor.html
1509 svg/animations/animate-inherit-css-property.html
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):
1534 2011-02-15 Antti Koivisto <antti@apple.com>
1536 Reviewed by Andreas Kling.
1538 r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html
1539 https://bugs.webkit.org/show_bug.cgi?id=54418
1541 Check for zero buffer length.
1543 * platform/text/TextCodecUTF8.cpp:
1544 (WebCore::TextCodecUTF8::decode):
1546 2011-02-15 MORITA Hajime <morrita@google.com>
1548 Unreviewed build fix.
1550 * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct.
1552 2011-01-26 MORITA Hajime <morrita@google.com>
1554 Reviewed by Ryosuke Niwa.
1556 Refactoring: Extract TextCheckerClient from EditorClient
1557 https://bugs.webkit.org/show_bug.cgi?id=53213
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.
1565 No new tests. No behavioral change.
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):
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.
1603 * platform/text/TextCheckerClient.h: Added.
1604 (WebCore::TextCheckerClient::~TextCheckerClient):
1606 2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
1608 Reviewed by Adam Barth.
1610 Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
1611 https://bugs.webkit.org/show_bug.cgi?id=52417
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.
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.
1620 No new tests are added since this is a WebKit/WebCore interface change.
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:
1630 2011-02-14 Jeremy Orlow <jorlow@chromium.org>
1636 2011-02-11 Jeremy Orlow <jorlow@chromium.org>
1638 Reviewed by Nate Chapin.
1640 Finish up implementing the new event model in IndexedDB
1641 https://bugs.webkit.org/show_bug.cgi?id=54331
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.
1650 * bindings/generic/RuntimeEnabledFeatures.h:
1651 * bindings/js/JSEventCustom.cpp:
1653 * bindings/v8/custom/V8EventCustom.cpp:
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):
1695 2011-02-14 Enrica Casucci <enrica@apple.com>
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
1701 Reviewed by Dan Bernstein.
1703 We don't have the complete solution that fixes this problem for WebKit2 yet.
1704 This patch fixes the regression in WebKit.
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.
1710 2011-02-14 Levi Weintraub <leviw@chromium.org>
1712 Reviewed by Alexey Proskuryakov.
1714 Strikethrough disappears when posting a message on odnoklassniki.ru
1715 https://bugs.webkit.org/show_bug.cgi?id=53475
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>.
1722 Test: editing/execCommand/strikethrough-uses-strike-tag.html
1724 * editing/ApplyStyleCommand.cpp:
1725 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1727 2011-02-14 Pratik Solanki <psolanki@apple.com>
1729 Remove dead code in FormDataStreamCFNet.cpp
1730 https://bugs.webkit.org/show_bug.cgi?id=54401
1732 Reviewed by Darin Adler.
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.
1738 * platform/network/cf/FormDataStreamCFNet.cpp:
1740 2011-02-14 Andreas Kling <kling@webkit.org>
1742 Reviewed by Darin Adler.
1744 GraphicsContext: Add clip(IntRect) overload for Qt
1745 https://bugs.webkit.org/show_bug.cgi?id=54365
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.
1751 * platform/graphics/GraphicsContext.cpp:
1752 (WebCore::GraphicsContext::clip):
1753 * platform/graphics/GraphicsContext.h:
1754 * platform/graphics/qt/GraphicsContextQt.cpp:
1755 (WebCore::GraphicsContext::clip):
1757 2011-02-14 Darin Adler <darin@apple.com>
1759 Reviewed by Alexey Proskuryakov.
1761 Add built-in decoder for UTF-8 for improved performance
1762 https://bugs.webkit.org/show_bug.cgi?id=53898
1764 Covered by existing tests; not adding new tests at this time.
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
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.
1781 * platform/text/TextCodecICU.h: Updated for above changes. Changed
1782 indentation. Made most functions private, including virtual function
1783 overrides. Marked ICUConverterWrapper noncopyable.
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.
1803 * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
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.
1812 2011-02-14 Adam Barth <abarth@webkit.org>
1814 Reviewed by Eric Seidel.
1816 Add basic parser for Content Security Policy
1817 https://bugs.webkit.org/show_bug.cgi?id=54379
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.
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.
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:
1837 2011-02-14 Andrew Wason <rectalogic@rectalogic.com>
1839 Reviewed by Kenneth Russell.
1841 [Qt] WebKit fails to compile for Qt when WebGL enabled
1842 https://bugs.webkit.org/show_bug.cgi?id=53431
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
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
1879 2011-02-14 Tony Chang <tony@chromium.org>
1881 Reviewed by Dimitri Glazkov.
1883 <select> elements don't honor border:0px in chromium-linux
1884 https://bugs.webkit.org/show_bug.cgi?id=51152
1886 No new tests, covered by existing pixel results (fast/forms/basic-selects.html
1887 convers lots of cases).
1889 * css/themeChromiumLinux.css:
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
1898 2011-02-14 Xiaomei Ji <xji@chromium.org>
1900 Reviewed by Dan Bernstein.
1902 Fix rendering of ISO-8859-8 when dir="rtl".
1903 https://bugs.webkit.org/show_bug.cgi?id=52128
1905 Test: fast/text/international/iso-8859-8.html
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().
1918 2011-02-14 Alexis Menard <alexis.menard@nokia.com>
1920 Reviewed by Andreas Kling.
1922 [Qt] Crash on application exit after constructing and destroying a QWebView twice
1923 https://bugs.webkit.org/show_bug.cgi?id=54000
1925 Check the value is valid before use it.
1927 * platform/qt/SharedTimerQt.cpp:
1928 (WebCore::SharedTimerQt::~SharedTimerQt):
1930 2011-02-14 Alexander Pavlov <apavlov@chromium.org>
1932 Reviewed by Yury Semikhatsky.
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
1937 * inspector/front-end/ResourceHeadersView.js:
1938 (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
1940 2011-02-14 Adrienne Walker <enne@google.com>
1942 Reviewed by James Robinson.
1944 [chromium] Modify LayerTilerChromium to use TilingData.
1945 https://bugs.webkit.org/show_bug.cgi?id=54143
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.
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:
1997 2011-02-14 Andrey Adaikin <aandrey@google.com>
1999 Reviewed by Pavel Feldman.
2001 Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization
2002 https://bugs.webkit.org/show_bug.cgi?id=54388
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):
2028 2011-02-14 Pavel Podivilov <podivilov@chromium.org>
2030 Reviewed by Yury Semikhatsky.
2032 Web Inspector: use call frame column to determine execution line in source frame.
2033 https://bugs.webkit.org/show_bug.cgi?id=54001
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
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:
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):
2072 2011-02-14 Christian Dywan <christian@lanedo.com>
2074 Reviewed by Gustavo Noronha Silva.
2076 Regression: Back, Forward, Reload hidden in context menu
2077 https://bugs.webkit.org/show_bug.cgi?id=54393
2079 * page/ContextMenuController.cpp: Always show Back, Forward,
2080 Reload and Stop context menu items for the GTK+ port.
2082 2011-02-14 Johnny Ding <jnd@chromium.org>
2084 Reviewed by Andreas Kling.
2086 Move the finiteness check into common code.
2088 Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
2090 * html/canvas/CanvasRenderingContext2D.cpp:
2091 (WebCore::CanvasRenderingContext2D::isPointInPath):
2093 2011-02-14 Roland Steiner <rolandsteiner@chromium.org>
2095 Reviewed by Kent Tamura.
2097 Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded()
2098 https://bugs.webkit.org/show_bug.cgi?id=54377
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.
2104 createInnerBlockStyle(): only search fields create an inner block, and
2105 these can never have spin buttons.
2107 No new tests. (Refactoring - covered by existing tests)
2109 * rendering/RenderTextControlSingleLine.cpp:
2110 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2111 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2113 2011-02-10 Pavel Podivilov <podivilov@chromium.org>
2115 Reviewed by Yury Semikhatsky.
2117 Web Inspector: refactoring, extract SourceMapping from SourceFrameContent.
2118 https://bugs.webkit.org/show_bug.cgi?id=54195
2120 Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript.
2121 Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details.
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):
2164 2011-02-14 Pavel Feldman <pfeldman@chromium.org>
2166 Reviewed by Yury Semikhatsky.
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
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):
2181 2011-02-14 Kenichi Ishibashi <bashi@chromium.org>
2183 Reviewed by Andreas Kling.
2185 css style="max-width:none" works wrong
2186 https://bugs.webkit.org/show_bug.cgi?id=53743
2188 Fix a bug that "max-width:none" works wrong.
2189 See also: http://trac.webkit.org/changeset/13462
2191 Test: fast/css/max-width-none.html
2193 * css/CSSStyleSelector.cpp:
2194 (WebCore::CSSStyleSelector::applyProperty): For max-width of none,
2195 set it to Length(undefinedLength, Fixed), which is the correct
2198 2011-02-14 Antti Koivisto <antti@apple.com>
2200 Reviewed by Andreas Kling.
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
2205 Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc.
2208 (WebCore::Document::Document):
2209 (WebCore::Document::recalcStyle):
2210 (WebCore::Document::recalcStyleSelector):
2213 2011-02-14 Naoki Takano <takano.naoki@gmail.com>
2215 Reviewed by Kent Tamura.
2217 [Chromium] Fix wrong popup position for RTL(again)
2218 https://bugs.webkit.org/show_bug.cgi?id=54375
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.
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
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.
2231 2011-02-14 Alejandro G. Castro <alex@igalia.com>
2233 Unreviewed, rolling out r78451.
2234 http://trac.webkit.org/changeset/78451
2235 https://bugs.webkit.org/show_bug.cgi?id=53898
2237 It is causing crashes in some bots
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):
2263 2011-02-13 Antti Koivisto <antti@apple.com>
2265 Reviewed by Dan Bernstein.
2267 https://bugs.webkit.org/show_bug.cgi?id=54376
2268 Make sorting of matched rules faster
2271 - cache specificity, it is slow to compute
2272 - inline compare function
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:
2283 2011-02-12 Darin Adler <darin@apple.com>
2285 Reviewed by Alexey Proskuryakov.
2287 Add built-in decoder for UTF-8 for improved performance
2288 https://bugs.webkit.org/show_bug.cgi?id=53898
2290 Covered by existing tests; not adding new tests at this time.
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.
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.
2305 * platform/text/TextCodecICU.h: Updated for above changes. Changed
2306 indentation. Made most functions private, including virtual function
2307 overrides. Marked ICUConverterWrapper noncopyable.
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.
2327 * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
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.
2336 2011-02-13 Mark Rowe <mrowe@apple.com>
2338 Reviewed by Maciej Stachowiak.
2340 <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods.
2342 * platform/network/mac/AuthenticationMac.mm:
2343 (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
2344 (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
2346 2011-02-13 Simon Fraser <simon.fraser@apple.com>
2348 Reviewed by Andreas Kling.
2350 Repeating gradients drawn incorrectly
2351 https://bugs.webkit.org/show_bug.cgi?id=53502
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
2358 Test: fast/gradients/css3-repeating-end-fill.html
2360 * css/CSSGradientValue.cpp:
2361 (WebCore::CSSGradientValue::addStops):
2363 2011-02-13 Benjamin Poulain <benjamin.poulain@nokia.com>
2365 Reviewed by Andreas Kling.
2367 Unused variable result in RenderBlock::addOverflowFromFloats()
2368 https://bugs.webkit.org/show_bug.cgi?id=54363
2370 Remove the unused variable.
2372 * rendering/RenderBlock.cpp:
2373 (WebCore::RenderBlock::addOverflowFromFloats):
2375 2011-02-13 Cameron Zwarich <zwarich@apple.com>
2377 Reviewed by Anders Carlsson.
2379 WebCore fails to build with Clang's -Woverloaded-virtual
2380 https://bugs.webkit.org/show_bug.cgi?id=54367
2382 * loader/PingLoader.h:
2383 (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature
2386 2011-02-13 Nico Weber <thakis@chromium.org>
2388 Reviewed by Anders Carlsson.
2390 RenderBR::width() tries but fails to override RenderText::width()
2391 https://bugs.webkit.org/show_bug.cgi?id=54301
2393 The superclass method's signature changed, e.g. in
2394 http://trac.webkit.org/changeset/57215, but the subclass was not
2397 * rendering/RenderBR.h:
2398 (WebCore::RenderBR::width):
2400 2011-02-13 Andreas Kling <kling@webkit.org>
2402 Reviewed by Dirk Schulze.
2404 Canvas: 2d.fillStyle.parse.system.html fails
2405 https://bugs.webkit.org/show_bug.cgi?id=39168
2407 Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org>
2408 and Jan Erik Hanssen <jhanssen@sencha.com>
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.
2415 (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
2418 * css/CSSParser.h: Added the new parseSystemColor method.
2420 * html/canvas/CanvasRenderingContext2D.cpp:
2421 (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
2422 (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
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.
2430 * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
2432 2011-02-13 Jeremy Moskovich <jeremy@chromium.org>
2434 Reviewed by Adam Barth.
2436 Add a compile-time option to completely disable WebArchive support.
2437 https://bugs.webkit.org/show_bug.cgi?id=52712
2439 Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
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
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.
2449 No behavior changes so no new tests.
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:
2469 * platform/MIMETypeRegistry.cpp:
2470 (WebCore::initializeSupportedNonImageMimeTypes):
2472 2011-02-13 Aparna Nandyal <aparna.nand@wipro.com>
2474 Reviewed by Andreas Kling.
2476 [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL.
2477 https://bugs.webkit.org/show_bug.cgi?id=53320
2479 The encoding that was done is corrected in the fix.
2480 Replaced the KURL encoding function with QUrl API.
2482 * platform/qt/DragDataQt.cpp:
2483 (WebCore::DragData::asURL):
2485 2011-02-13 Leo Yang <leo.yang.c@gmail.com>
2487 Reviewed by Andreas Kling.
2489 Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX()
2490 https://bugs.webkit.org/show_bug.cgi?id=54351
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.
2495 No functionality change, no new tests.
2497 * rendering/RenderBoxModelObject.cpp:
2498 (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2500 2011-02-13 Jarred Nicholls <jarred@sencha.com>
2502 Reviewed by Simon Fraser.
2504 getComputedStyle returns wrong value for margin-right
2505 https://bugs.webkit.org/show_bug.cgi?id=13343
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.
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
2517 * css/CSSComputedStyleDeclaration.cpp:
2518 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2520 2011-02-13 Adam Barth <abarth@webkit.org>
2522 Reviewed by Sam Weinig.
2524 crypto.getRandomValues should throw TYPE_MISMATCH_ERR
2525 https://bugs.webkit.org/show_bug.cgi?id=54346
2527 As requested by Sam.
2530 (WebCore::Crypto::getRandomValues):
2532 2011-02-13 Alexey Proskuryakov <ap@apple.com>
2534 Reviewed by Dan Bernstein.
2536 https://bugs.webkit.org/show_bug.cgi?id=54349
2537 Inline some accessors in PrintContext
2539 No change in behavior, so no tests.
2542 * page/PrintContext.cpp:
2543 * page/PrintContext.h:
2544 (WebCore::PrintContext::pageCount):
2545 (WebCore::PrintContext::pageRect):
2546 Inline pageCount() and pageRect() to match pageRects().
2548 2011-02-13 Sam Weinig <sam@webkit.org>
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.
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:
2574 2011-02-13 Sam Weinig <sam@webkit.org>
2576 Reviewed by Dan Bernstein.
2578 Some Scrollbar functions assume an attached ScrollableArea but can be called without one
2579 https://bugs.webkit.org/show_bug.cgi?id=54262
2581 Make sure that all calls to the scrollable area are null checked.
2583 * platform/Scrollbar.cpp:
2584 (WebCore::Scrollbar::autoscrollPressedPart):
2585 (WebCore::Scrollbar::moveThumb):
2586 (WebCore::Scrollbar::mouseMoved):
2588 2011-02-13 Sam Weinig <sam@webkit.org>
2590 Roll out r78424. It broke a bunch of tests.
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:
2604 2011-02-12 Sam Weinig <sam@webkit.org>
2606 Reviewed by Dan Bernstein.
2608 WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)
2609 <rdar://problem/8984760>
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.
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.
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.
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.
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.
2644 2011-02-12 Adam Barth <abarth@webkit.org>
2646 Reviewed by Sam Weinig.
2648 crypto.getRandomValues should support all integer array types
2649 https://bugs.webkit.org/show_bug.cgi?id=54342
2651 As discussed on whatwg, we should support all the integer array types.
2653 Test: security/crypto-random-values-types.html
2656 (WebCore::Crypto::getRandomValues):
2658 2011-02-12 Adam Barth <abarth@webkit.org>
2660 Reviewed by Mark Rowe.
2662 Use /dev/urandom as the OSRandomSource on OS(DARWIN)
2663 https://bugs.webkit.org/show_bug.cgi?id=54279
2665 Update the ifdef. OS(UNIX) includes OS(DARWIN), so this change is
2670 2011-02-11 Zhenyao Mo <zmo@google.com>
2672 Reviewed by Kenneth Russell.
2674 [chromium] Allow turning off multisampling through web preference settings
2675 https://bugs.webkit.org/show_bug.cgi?id=54321
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):
2685 2011-02-12 Ryosuke Niwa <rniwa@webkit.org>
2687 Reviewed by Tony Chang.
2689 Deploy EditingStyle in applyBlockStyle and applyInlineStyle
2690 https://bugs.webkit.org/show_bug.cgi?id=53911
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.
2697 No new tests are added since this is a refactoring.
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.
2716 2011-02-12 Jochen Eisinger <jochen@chromium.org>
2718 Reviewed by Jeremy Orlow.
2720 Implement IDBObjectStore::clear
2721 https://bugs.webkit.org/show_bug.cgi?id=54193
2723 Test: storage/indexeddb/objectstore-clear.html
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:
2736 2011-02-12 Adam Barth <abarth@webkit.org>
2738 Another attempt to fix the EFL build. Looks like we're missing one
2743 2011-02-12 Adam Barth <abarth@webkit.org>
2745 Attempt to fix the EFL build. Apparently the CMake build had no
2746 concept of ArrayBuffers.
2750 2011-02-12 Ryosuke Niwa <rniwa@webkit.org>
2752 Unreviewed build fix.
2755 (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode.
2756 (WebCore::Range::processContents):
2757 (WebCore::Range::processContentsBetweenOffsets):
2759 2011-02-12 Adam Barth <abarth@webkit.org>
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
2767 2011-02-12 Adam Barth <abarth@webkit.org>
2769 Apparently lines in .pro files need to be \-terminated.
2773 2011-02-11 Ryosuke Niwa <rniwa@webkit.org>
2775 Reviewed by Darin Adler.
2777 Extract a function to process contents for one node from Range::processContents
2778 https://bugs.webkit.org/show_bug.cgi?id=54282
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.
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).
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).
2792 No new tests are added since this is a refactoring.
2795 (WebCore::highestAncestorUnderCommonRoot): Added.
2796 (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
2797 processContentsBetweenOffsets.
2798 (WebCore::Range::processContentsBetweenOffsets): Added.
2801 2011-02-12 Adam Barth <abarth@webkit.org>
2803 Attempt to fix the Qt Windows build.
2807 2011-02-12 Adam Barth <abarth@webkit.org>
2809 Reviewed by Kenneth Russell.
2811 Enable ArrayBuffers by default
2812 https://bugs.webkit.org/show_bug.cgi?id=54310
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.
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:
2864 (WebCore::Crypto::getRandomValues):
2867 * page/DOMWindow.idl:
2868 * workers/WorkerContext.idl:
2870 2011-02-11 Yael Aharon <yael.aharon@nokia.com>
2872 Reviewed by Darin Adler.
2874 Background image positioning on RTL text
2875 https://bugs.webkit.org/show_bug.cgi?id=32862
2877 When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order.
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
2884 * rendering/InlineFlowBox.cpp:
2885 (WebCore::InlineFlowBox::paintFillLayer):
2887 2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
2889 Unreviewed, rolling out r78044.
2890 http://trac.webkit.org/changeset/78044
2891 https://bugs.webkit.org/show_bug.cgi?id=54318
2893 Broke Safari extensions (Requested by eseidel on #webkit).
2895 * platform/KURL.cpp:
2896 (WebCore::KURL::parse):
2898 2011-02-11 Beth Dakin <bdakin@apple.com>
2900 Reviewed by Sam Weinig.
2902 Fix for <rdar://problem/8976456> Scrollbars for overflow
2903 areas never appear for WKScrollbarPainter scrollers
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):
2912 2011-02-11 Eric Seidel <eric@webkit.org>
2914 Reviewed by Adam Barth.
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
2919 * platform/KURL.cpp:
2920 (WebCore::isDefaultPortForScheme):
2921 (WebCore::KURL::parse):
2923 2011-02-11 Mike Reed <reed@google.com>
2925 Reviewed by James Robinson.
2927 Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend
2928 is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp
2930 No new tests. All existing canvas layouttests exercise this code path
2932 * platform/graphics/skia/PlatformContextSkia.cpp:
2933 (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
2935 2011-02-11 Adam Klein <adamk@chromium.org>
2937 Reviewed by Darin Adler.
2939 Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry
2940 https://bugs.webkit.org/show_bug.cgi?id=54304
2942 This avoids potential crashes in HashMap, as WTF's StringHash doesn't
2943 accept empty Strings.
2945 * platform/SchemeRegistry.cpp:
2946 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
2947 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
2948 (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
2950 2011-02-11 Adam Klein <adamk@chromium.org>
2952 Reviewed by Darin Fisher.
2954 [fileapi] Add support for filesystem: URI handling
2955 https://bugs.webkit.org/show_bug.cgi?id=53529
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
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.
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
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
2976 * fileapi/Entry.cpp:
2977 (WebCore::Entry::toURI):
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
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:
3003 2011-02-11 Beth Dakin <bdakin@apple.com>
3005 Reviewed by Darin Adler.
3007 Fix for <rdar://problem/8961061> CrashTracer: [USER]
3008 1 crash at com.apple.WebCore:
3009 -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62
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):
3021 2011-02-11 Chris Rogers <crogers@google.com>
3023 Reviewed by Kenneth Russell.
3025 Throw exception when AudioContext's createBuffer() fails to properly decode audio file data
3026 https://bugs.webkit.org/show_bug.cgi?id=54158
3028 No new tests since audio API is not yet implemented.
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:
3039 2011-02-11 Mike Reed <reed@google.com>
3041 Reviewed by James Robinson.
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
3047 No new tests. Existing canvas tests exercise this...
3048 fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html
3050 * platform/graphics/skia/ImageBufferSkia.cpp:
3051 (WebCore::ImageBuffer::toDataURL):
3053 2011-02-11 Andrew Wason <rectalogic@rectalogic.com>
3055 Reviewed by David Levin.
3057 Files missing ENABLE_VIDEO #ifdef
3058 https://bugs.webkit.org/show_bug.cgi?id=53390
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).
3068 2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
3070 Unreviewed, rolling out r78331.
3071 http://trac.webkit.org/changeset/78331
3072 https://bugs.webkit.org/show_bug.cgi?id=54295
3074 This patch broke 11 tests in GTK bots (Requested by svillar on
3077 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3078 (webkit_accessible_get_name):
3079 (webkit_accessible_detach):
3081 2011-02-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3083 Reviewed by Xan Lopez.
3085 [GDOM] Video element needs proper wrapping
3086 https://bugs.webkit.org/show_bug.cgi?id=54231
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.
3091 * bindings/gobject/GNUmakefile.am:
3092 * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3093 (WebKit::createVideoWrapper):
3094 (WebKit::createHTMLElementWrapper):
3096 2011-02-11 Dirk Schulze <krit@webkit.org>
3098 Reviewed by Andreas Kling.
3100 SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual)
3101 https://bugs.webkit.org/show_bug.cgi?id=54259
3103 Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to
3104 avoid overloading a virtual function.
3106 No change of functionality. Just fixing a build warning, so no new tests.
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):
3219 2011-02-11 Andrey Adaikin <aandrey@google.com>
3221 Reviewed by Pavel Feldman.
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
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):
3242 2011-02-10 Nate Chapin <japhet@chromium.org>
3244 Reviewed by Adam Barth.
3246 Make DocumentWriter a member of DocumentLoader
3247 instead of FrameLoader.
3248 https://bugs.webkit.org/show_bug.cgi?id=50489
3250 Refactor, no new tests.
3252 * bindings/ScriptControllerBase.cpp:
3253 (WebCore::ScriptController::executeIfJavaScriptURL):
3255 (WebCore::Document::Document):
3256 (WebCore::Document::explicitClose):
3257 (WebCore::Document::lastModified):
3258 (WebCore::Document::initSecurityContext):
3259 (WebCore::Document::updateURLForPushOrReplaceState):
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):
3293 2011-02-10 Pavel Feldman <pfeldman@chromium.org>
3295 Reviewed by Yury Semikhatsky.
3297 Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines.
3298 https://bugs.webkit.org/show_bug.cgi?id=54227
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):
3366 2011-02-11 Pavel Feldman <pfeldman@chromium.org>
3368 Reviewed by Yury Semikhatsky.
3370 Web Inspector: command line API $0 regressed.
3371 https://bugs.webkit.org/show_bug.cgi?id=54283
3373 * inspector/InjectedScriptSource.js:
3375 2011-02-11 Janne Koskinen <janne.p.koskinen@digia.com>
3377 Reviewed by Andreas Kling.
3379 [Qt][S60] Vertical borders of buttons and frames are misaligned
3380 https://bugs.webkit.org/show_bug.cgi?id=51169
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.
3386 * platform/graphics/qt/GraphicsContextQt.cpp:
3387 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3389 2011-02-11 Mario Sanchez Prada <msanchez@igalia.com>
3391 Reviewed by Xan Lopez.
3393 [GTK] events missing when a document is (re)loaded
3394 https://bugs.webkit.org/show_bug.cgi?id=25831
3396 Make sure webArea returns a proper name and that a signal
3397 'state-change::defunct' is emitted when detaching the wrapper.
3399 Test: platform/gtk/accessibility/document-reload-events.html
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.
3407 2011-02-11 Pavel Feldman <pfeldman@chromium.org>
3409 Reviewed by Yury Semikhatsky.
3411 Web Inspector: command line's API inspect() is broken.
3412 https://bugs.webkit.org/show_bug.cgi?id=54275
3414 Test: inspector/command-line-api.html
3416 * inspector/InjectedScriptSource.js:
3418 2011-02-11 Adam Barth <abarth@webkit.org>
3420 Turns out window.crypto is supposed to be readonly.
3422 * page/DOMWindow.idl:
3424 2011-02-11 Adam Barth <abarth@webkit.org>
3426 Actually add Crypto.cpp to the Windows build. I'm terrible.
3428 * WebCore.vcproj/WebCore.vcproj:
3430 2011-02-11 Adam Barth <abarth@webkit.org>
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.
3436 * page/DOMWindow.idl:
3441 2011-02-10 Antti Koivisto <antti@apple.com>
3443 Reviewed by Dave Hyatt.
3445 Enable ancestor identifier filtering for tree building
3446 https://bugs.webkit.org/show_bug.cgi?id=54241
3448 Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent
3449 element stack as needed.
3451 This roughly halves the remaining time in style matching over a typical page load.
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):
3461 (WebCore::Document::styleSelectorIfExists):
3463 (WebCore::Element::beginParsingChildren):
3464 (WebCore::Element::finishParsingChildren):
3467 2011-02-10 Adam Barth <abarth@webkit.org>
3469 Reviewed by Eric Seidel.
3471 WebKit should have a cryptographic RNG
3472 https://bugs.webkit.org/show_bug.cgi?id=22049
3474 Add crypto.getRandomValues. Yes, all these diffs are required to
3475 expose a single function to the DOM.
3477 Test: security/crypto-random-values.html
3481 * DerivedSources.cpp:
3482 * DerivedSources.make:
3483 * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
3488 * WebCore.vcproj/WebCore.vcproj:
3489 * WebCore.xcodeproj/project.pbxproj:
3490 * bindings/js/JSDOMWindowCustom.cpp:
3491 * bindings/v8/custom/V8DOMWindowCustom.cpp:
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):
3503 (WebCore::DOMWindow::optionalCrypto):
3504 * page/DOMWindow.idl:
3506 2011-02-11 Ryuan Choi <ryuan.choi@samsung.com>
3508 Unreviewed build fix.
3510 [GTK] Build break with 2.18.3
3511 https://bugs.webkit.org/show_bug.cgi?id=54057
3513 * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h
3515 2011-02-11 Cosmin Truta <ctruta@chromium.org>
3517 Reviewed by Adam Barth.
3519 Templatize KURLGooglePrivate::init
3520 https://bugs.webkit.org/show_bug.cgi?id=53749
3522 No new tests. Refactoring.
3524 * platform/KURLGoogle.cpp:
3525 (WebCore::KURLGooglePrivate::init):
3526 * platform/KURLGooglePrivate.h:
3528 2011-02-10 Andy Estes <aestes@apple.com>
3530 Reviewed by Eric Seidel.
3532 Convert ContainerNode::firstElementChild() to a free function.
3533 https://bugs.webkit.org/show_bug.cgi?id=54269
3535 No new tests. No change in behavior.
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*.
3543 * dom/ContainerNode.h:
3544 (WebCore::ContainerNode::lastChild):
3545 (WebCore::Node::lastChild):
3547 (WebCore::Document::cacheDocumentElement):
3549 (WebCore::Element::firstElementChild):
3551 (WebCore::firstElementChild):
3552 * html/parser/HTMLTreeBuilder.cpp:
3553 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
3555 2011-02-10 Mads Ager <ager@chromium.org>
3557 Reviewed by Nate Chapin.
3559 [V8] Don't crash on exception getting event handler function
3560 https://bugs.webkit.org/show_bug.cgi?id=54216
3562 Check for exceptions when attempting to get the handleEvent property
3563 of an event-handler object.
3565 Test: fast/dom/exception-getting-event-handler.html
3567 * bindings/v8/V8EventListener.cpp:
3568 (WebCore::V8EventListener::getListenerFunction):
3570 2011-02-10 Naoki Takano <takano.naoki@gmail.com>
3572 Reviewed by James Robinson.
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
3577 globalAlpha is not applied to fillPath() and fillRect().
3579 Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
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.
3586 2011-02-10 Andy Estes <aestes@apple.com>
3588 Reviewed by Adam Barth.
3590 Remove an unneeded argument from HTMLDocument::create().
3591 https://bugs.webkit.org/show_bug.cgi?id=54268
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.
3597 Also fix some style issues in Document.h and HTMLDocument.h caught by
3600 No new tests. No change in behavior.
3603 (WebCore::Document::Document):
3605 * html/HTMLDocument.cpp:
3606 (WebCore::HTMLDocument::HTMLDocument):
3607 * html/HTMLDocument.h:
3608 (WebCore::HTMLDocument::create):
3610 2011-02-10 Michael Saboff <msaboff@apple.com>
3612 Reviewed by Geoffrey Garen.
3614 Cached JavaScript Parser Data Being Left in Memory Cache
3615 https://bugs.webkit.org/show_bug.cgi?id=54245
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
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:
3632 2011-02-10 Cosmin Truta <ctruta@chromium.org>
3634 Reviewed by David Levin.
3636 Fix style in KURLGooglePrivate
3637 https://bugs.webkit.org/show_bug.cgi?id=54228
3639 Replace occurrences of NULL with 0, '\0' or null (as applicable),
3640 to appease check-webkit-style.
3642 No new tests. This is a style fix.
3644 * platform/KURLGoogle.cpp:
3645 * platform/KURLGooglePrivate.h:
3647 2011-02-10 Andy Estes <aestes@apple.com>
3649 Reviewed by Darin Adler.
3651 HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3652 https://bugs.webkit.org/show_bug.cgi?id=48719
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.
3661 With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
3664 Test: fast/parser/fragment-parser-doctype.html
3666 * dom/ContainerNode.h:
3667 (WebCore::ContainerNode::firstElementChild): Add a method that returns
3668 the first element-typed child from a ContainerNode.
3670 (WebCore::Document::cacheDocumentElement): Call
3671 ContainerNode::firstElementChild() to retrieve and cache the document
3673 * html/parser/HTMLConstructionSite.cpp:
3674 (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the
3676 (WebCore::HTMLConstructionSite::detach): Clear the reference to the
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:
3696 2011-02-10 Beth Dakin <bdakin@apple.com>
3698 Reviewed by Oliver Hunt.
3700 Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes
3701 in WebProcess at com.apple.AppKit:
3702 -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154
3704 * platform/mac/ScrollAnimatorMac.mm:
3705 (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
3707 2011-02-09 Jeremy Orlow <jorlow@chromium.org>
3709 Reviewed by Nate Chapin.
3711 IndexedDB event targets need to ensure their wrappers aren't garbage collected
3712 https://bugs.webkit.org/show_bug.cgi?id=54144
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).
3719 There's really no way to test this deterministically. Testing by hand makes
3720 it seem like this patch works as expected though.
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:
3744 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
3746 Reviewed by Andreas Kling.
3748 [Qt] create pkg-config files for mingw
3749 https://bugs.webkit.org/show_bug.cgi?id=54238
3751 (mingw is mostly the same as unix)
3753 This change was applied in the Qt repository (qt/src/3rdparty/webkit),
3754 so we should do the same here in QtWebKit.
3756 Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by
3757 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
3758 45fe2dddc3a0677b9ec9fce09f07cd4129e37afa
3762 2011-02-10 Andreas Kling <kling@webkit.org>
3764 Reviewed by Antti Koivisto.
3766 RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform
3767 https://bugs.webkit.org/show_bug.cgi?id=54246
3769 * rendering/style/RenderStyle.h:
3771 2011-02-10 Dirk Schulze <krit@webkit.org>
3773 Reviewed by Andreas Kling.
3775 SVG animation avoid unnecessary adjust for currentColor
3776 https://bugs.webkit.org/show_bug.cgi?id=54243
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.
3785 No change of functionality, no new tests.
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):
3795 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
3797 Reviewed by Andreas Kling.
3799 [Qt] Remove the use of deprecated qFindChildren()
3800 https://bugs.webkit.org/show_bug.cgi?id=54232
3802 This was applied on the Qt repository and affects QtWebKit there.
3803 (13833beb641289c45faed337848d37280195aadc)
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).
3809 Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
3810 review reported as being from the mailing list.
3812 The changes are result of the following commands:
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
3820 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3821 (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon):
3823 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
3825 Reviewed by Andreas Kling.
3827 [Qt] Rename build target from "embedded" to "qpa"
3828 https://bugs.webkit.org/show_bug.cgi?id=54233
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).
3834 On the Qt repository, this was changed by two commits:
3836 13a0b4935900093607f2b3b7688e1452d22770fd
3837 (from embedded to embedded_lite)
3839 9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab
3840 (from embedded_lite to qpa)
3844 2011-02-10 Kenneth Russell <kbr@google.com>
3846 Reviewed by James Robinson.
3848 Incorporate algorithm for processing paths into GPU-renderable triangle meshes
3849 https://bugs.webkit.org/show_bug.cgi?id=45521
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.
3859 No tests yet; pixel tests will eventually be used to verify this
3860 algorithm and prevent regressions.
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.
3917 2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
3919 Reviewed by Andreas Kling.
3921 [Qt] Remove the use of deprecated qVariant*
3922 https://bugs.webkit.org/show_bug.cgi?id=54229
3924 This was applied on the Qt repository and affects QtWebKit there.
3925 (633f3f45e5420663cf4ceadea79e62fea44cd2eb)
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).
3931 Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
3932 review reported as being from the mailing list.
3934 The changes are result of the following commands:
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
3943 * bridge/qt/qt_runtime.cpp:
3944 (JSC::Bindings::convertValueToQVariant):
3945 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3946 (WebCore::MediaPlayerPrivateQt::commitLoad):
3948 2011-02-10 Nico Weber <thakis@chromium.org>
3950 Reviewed by Darin Adler.
3952 Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]"
3953 https://bugs.webkit.org/show_bug.cgi?id=54221
3955 The method name conflicts with ContainerNode::getRect() so rename it to
3956 computeRect(). Rename getPath() to computePath() for consistency as
3959 No intended functionality change, covered by existing tests.
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):
3972 2011-02-10 Alexis Menard <alexis.menard@nokia.com>
3974 Reviewed by Andreas Kling.
3976 [Qt] Default focus ring is too wide
3977 https://bugs.webkit.org/show_bug.cgi?id=51854
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.
3985 * platform/graphics/qt/GraphicsContextQt.cpp:
3986 (WebCore::drawFocusRingForPath):
3987 (WebCore::GraphicsContext::drawFocusRing):
3989 2011-02-10 Martin Robinson <mrobinson@igalia.com>
3991 Reviewed by Gustavo Noronha Silva.
3993 [Soup] ResourceHandleSoup does not ever call didSendData for file uploads
3994 https://bugs.webkit.org/show_bug.cgi?id=52090
3996 Call didSendData as body data is uploaded to the server. This is necessary
3997 for XHR upload events to function properly.
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.
4009 2011-02-10 Bill Budge <bbudge@chromium.org>
4011 Reviewed by David Levin.
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
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):
4030 2011-02-10 Dirk Schulze <krit@webkit.org>
4032 Reviewed by Nikolas Zimmermann.
4034 SVGAnimateElement needs information about the animated attribute type
4035 https://bugs.webkit.org/show_bug.cgi?id=53442
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.
4045 No change of functionality, so no new test cases.
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):
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:
4288 2011-02-10 Alexis Menard <alexis.menard@nokia.com>
4290 Reviewed by Andreas Kling.
4292 Fix a Warning after removing FileSystem support for the inspector.
4296 2011-02-10 Chris Fleizach <cfleizach@apple.com>
4298 Reviewed by Anders Carlsson.
4300 AX: AX needs to stop using WebCoreViewFactory
4301 https://bugs.webkit.org/show_bug.cgi?id=54153
4303 WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
4304 to get off of it and use WebCoreSystemInterface, like other clients.
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:
4340 2011-02-10 Alexis Menard <alexis.menard@nokia.com>
4342 Reviewed by Andreas Kling.
4344 [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
4345 https://bugs.webkit.org/show_bug.cgi?id=54201
4347 Add files for the fullscreen video playback handling. It also fix
4352 2011-02-09 Pavel Feldman <pfeldman@chromium.org>
4354 Reviewed by Yury Semikhatsky.
4356 Web Inspector: Remove FileSystem support from the inspector.
4357 https://bugs.webkit.org/show_bug.cgi?id=50695
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:
4390 2011-02-10 Sheriff Bot <webkit.review.bot@gmail.com>
4392 Unreviewed, rolling out r78219.
4393 http://trac.webkit.org/changeset/78219
4394 https://bugs.webkit.org/show_bug.cgi?id=54215
4396 breaks editing/style/iframe-onload-crash.html on GTK 64-bit
4397 Debug (Requested by philn-tp on #webkit).
4400 * dom/DocumentFragment.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:
4425 2011-02-10 Andras Becsi <abecsi@webkit.org>
4427 Rubber-stamped by Csaba Osztrogonác.
4429 [Qt][V8] Fix the build.
4431 No new tests needed.
4433 * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header.
4434 * loader/cache/CachedScript.h: do not use extra qualification for base class enum.
4436 2011-02-10 Alexander Pavlov <apavlov@chromium.org>
4438 Reviewed by Yury Semikhatsky.
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
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:
4450 * inspector/front-end/TextPrompt.js:
4451 (WebInspector.TextPrompt.prototype.complete):
4453 2011-02-10 Renata Hodovan <reni@webkit.org>
4455 Reviewed by Dirk Schulze.
4457 SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change.
4458 https://bugs.webkit.org/show_bug.cgi?id=54186
4460 The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
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
4471 * svg/SVGFESpecularLightingElement.cpp:
4472 (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
4473 * svg/SVGFESpecularLightingElement.h:
4475 2011-02-10 Andrey Adaikin <aandrey@google.com>
4477 Reviewed by Pavel Feldman.
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
4482 * inspector/front-end/SourceFrame.js:
4483 (WebInspector.SourceFrame.prototype.addMessage):
4484 (WebInspector.SourceFrame.prototype._addMessageToSource):
4485 (WebInspector.SourceFrame.prototype._createConditionElement):
4487 2011-02-10 Ryosuke Niwa <rniwa@webkit.org>
4489 Reviewed by Eric Seidel.
4491 Make canHaveChildrenForEditing more efficient
4492 https://bugs.webkit.org/show_bug.cgi?id=53564
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.
4498 As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
4499 and any elements except:
4501 HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input,
4502 meter, object, output, progress, and select.
4504 WML: br, do, img, input, and select.
4506 No new tests are added since this change cannot be tested directly.
4509 (WebCore::Document::canContainRangeEndPoint): Added; returns false.
4510 * dom/DocumentFragment.h:
4511 (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
4513 (WebCore::Element::canContainRangeEndPoint): Ditto.
4515 (WebCore::Node::canContainRangeEndPoint): Added; returns false.
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.
4555 2011-02-10 Pavel Feldman <pfeldman@chromium.org>
4557 Reviewed by Yury Semikhatsky.
4559 Web Inspector: define interface per domain in Inspector.idl.
4560 https://bugs.webkit.org/show_bug.cgi?id=54135
4562 * inspector/CodeGeneratorInspector.pm:
4563 * inspector/Inspector.idl:
4565 2011-02-10 Andrey Adaikin <aandrey@google.com>
4567 Reviewed by Pavel Feldman.
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
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):
4586 2011-02-10 takano takumi <takano@apple.com>
4588 Reviewed by Dan Bernstein.
4590 A full-width character rotated leftward 90 degrees in text-combine
4591 https://bugs.webkit.org/show_bug.cgi?id=54169
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.
4598 2011-02-10 Alexey Proskuryakov <ap@apple.com>
4600 Reviewed by Darin Adler.
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)
4606 No new test, because I can't reproduce the observable effect with my gcc build.
4608 * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an
4609 empty path check - an empty path was causing an exception in Foundation.
4611 2011-02-09 Andrey Kosyakov <caseq@chromium.org>
4613 Reviewed by Pavel Feldman.
4615 Web Inspector: Network & Resource panels make multiple requests for images with no content
4616 https://bugs.webkit.org/show_bug.cgi?id=54085
4618 - Added success parameter to resourceContent
4619 - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors
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):
4632 2011-02-10 Renata Hodovan <reni@webkit.org>
4634 Reviewed by Dirk Schulze.
4636 Move the light source implementations into their own files.
4637 https://bugs.webkit.org/show_bug.cgi?id=53996
4639 Splitting LightSource.cpp into 3 files.
4641 No new tests are added since this is a refactoring.
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):
4679 2011-02-10 Avi Drissman <avi@google.com>
4681 Reviewed by Darin Fisher.
4683 <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654.
4684 https://bugs.webkit.org/show_bug.cgi?id=50969
4686 Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983.
4688 * platform/chromium/PopupMenuChromium.cpp:
4689 (WebCore::PopupListBox::updateFromElement):
4690 * platform/chromium/PopupMenuChromium.h:
4692 2011-02-10 Hans Wennborg <hans@chromium.org>
4694 Reviewed by Jeremy Orlow.
4696 IndexedDB: Update the semantics of put()
4697 https://bugs.webkit.org/show_bug.cgi?id=54102
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.
4703 This reflects the spec changes suggested here:
4704 http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976
4706 Extracting key-selection logic into its own function
4707 to make it a bit easier on the eyes.
4709 * storage/IDBObjectStoreBackendImpl.cpp:
4710 (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
4711 (WebCore::IDBObjectStoreBackendImpl::putInternal):
4712 * storage/IDBObjectStoreBackendImpl.h:
4713 (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache):
4715 2011-02-09 Antti Koivisto <antti@apple.com>
4717 Reviewed by Darin Adler.
4719 https://bugs.webkit.org/show_bug.cgi?id=54103
4720 Implement fast path for matching simple selectors
4722 Implement a fast path for single and descendant selectors consisting
4723 of id, class and tag selectors only.
4725 Selectors like this are marked on style selector initialization. When
4726 encountered during style matching they are resolved using a fast path.
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).
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:
4745 2011-02-09 Simon Fraser <simon.fraser@apple.com>
4747 Reviewed by Dan Bernstein.
4749 REGRESSION (r77101) box-shadow sometimes renders incorrectly
4750 https://bugs.webkit.org/show_bug.cgi?id=54160
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.
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.
4762 Test: fast/box-shadow/shadow-buffer-partial.html
4764 * platform/graphics/ShadowBlur.cpp:
4765 (WebCore::ShadowBlur::endShadowLayer):
4767 2011-02-09 Beth Dakin <bdakin@apple.com>
4769 Reviewed by Maciej Stachowiak.
4771 Fix for <rdar://problem/8977051> CrashTracer: 8 crashes
4772 in WebProcess at com.apple.WebCore:
4773 -[ScrollbarPartAnimation setCurrentProgress:] + 364
4775 The ScrollbarPartAnimation must be sent by reference!
4776 * platform/mac/ScrollAnimatorMac.mm:
4777 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
4779 2011-02-09 Ryosuke Niwa <rniwa@webkit.org>
4781 Reviewed by Darin Adler.
4783 REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange
4784 https://bugs.webkit.org/show_bug.cgi?id=54053
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.
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.
4793 Test: fast/forms/file-input-hit-test.html
4795 * editing/VisibleSelection.cpp:
4796 (WebCore::VisibleSelection::toNormalizedRange):
4797 * rendering/RenderFileUploadControl.cpp:
4798 (WebCore::RenderFileUploadControl::positionForPoint):
4799 * rendering/RenderFileUploadControl.h:
4801 2011-02-09 Sam Weinig <sam@webkit.org>
4803 Reviewed by Beth Dakin.
4805 Overlay scrollbars crash used with a RenderListBox.
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
4816 2011-02-09 Beth Dakin <bdakin@apple.com>
4818 Reviewed by Simon Fraser.
4820 Fix for <rdar://problem/8966868> ScrollbarPainterDelegate
4821 must return a layer if layer-backed to avoid crashing
4823 New virtual function scrollbarWillRenderIntoCompositingLayer()
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:
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]):
4840 2011-02-09 Yael Aharon <yael.aharon@nokia.com>
4842 Reviewed by Darin Adler.
4844 Replace static_cast<HTMLElement*> with toHTMLElement
4845 https://bugs.webkit.org/show_bug.cgi?id=54117
4847 No new tests since no new functionality was introduced.
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):
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:
4871 (WebCore::Document::body):
4873 (WebCore::Element::deprecatedCreateContextualFragment):
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):
4932 2011-02-09 Mike Reed <reed@google.com>
4934 Reviewed by Kenneth Russell.
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
4940 No new tests. Existing canvas tests suffice
4941 e.g. LayoutTests/canvas/philip/...
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):
4951 2011-02-09 Adam Barth <abarth@webkit.org>
4953 Reviewed by Eric Seidel.
4955 document.close shouldn't affect non-script-created parsers
4956 https://bugs.webkit.org/show_bug.cgi?id=53689
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
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.
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
4979 (WebCore::Document::removePendingSheet):
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
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!
4997 2011-02-09 Abhishek Arya <inferno@chromium.org>
4999 Reviewed by James Robinson.
5001 [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer
5002 https://bugs.webkit.org/show_bug.cgi?id=54132
5004 * platform/graphics/chromium/LayerTilerChromium.cpp:
5005 (WebCore::LayerTilerChromium::resizeLayer):
5007 2011-02-09 Xiyuan Xia <xiyuan@chromium.org>
5009 Reviewed by Tony Chang.
5011 [Chromium] Use #f7f7f7 for select popup background on chromium/linux
5012 https://bugs.webkit.org/show_bug.cgi?id=54115
5014 No new tests since no behavior change.
5016 * css/themeChromiumLinux.css:
5017 (select[size="1"] option):
5019 2011-02-09 Adam Barth <abarth@webkit.org>
5021 Reviewed by Eric Seidel.
5023 REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console
5024 https://bugs.webkit.org/show_bug.cgi?id=41187
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.
5029 No tests! See https://bugs.webkit.org/show_bug.cgi?id=54134
5031 * html/parser/HTMLDocumentParser.h:
5032 * html/parser/HTMLTreeBuilder.cpp:
5033 (WebCore::HTMLTreeBuilder::parseError):
5034 * html/parser/HTMLTreeBuilder.h:
5036 2011-02-09 Naoki Takano <takano.naoki@gmail.com>
5038 Reviewed by Kenneth Russell.
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
5043 This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests.
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.
5050 2011-02-09 Chris Rogers <crogers@google.com>
5052 Reviewed by Kenneth Russell.
5054 Fix scaling and thread safety of FFTFrameFFTW
5055 https://bugs.webkit.org/show_bug.cgi?id=54045
5057 No new tests since audio API is not yet implemented.
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):
5076 2011-02-09 Chris Fleizach <cfleizach@apple.com>
5078 Reviewed by Darin Adler.
5080 AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object
5081 https://bugs.webkit.org/show_bug.cgi?id=54126
5083 This is a Mac-only accessibility API concept and doesn't belong in the core AX object.
5085 * accessibility/AccessibilityObject.h:
5086 (WebCore::AccessibilityObject::node):
5087 * accessibility/mac/AccessibilityObjectWrapper.mm:
5088 (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
5090 2011-02-09 Nebojsa Ciric <cira@chromium.org>
5092 Reviewed by Darin Fisher.
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
5099 Test: fast/js/i18n-bindings-locale.html
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):
5109 2011-02-08 Dimitri Glazkov <dglazkov@chromium.org>
5111 Reviewed by Darin Adler.
5113 REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget
5114 https://bugs.webkit.org/show_bug.cgi?id=52065
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.
5121 2011-02-09 Yael Aharon <yael.aharon@nokia.com>
5123 Reviewed by Darin Adler.
5125 Add convenience method toHTMLElement(Node*)
5126 https://bugs.webkit.org/show_bug.cgi?id=54105
5128 No new tests since no new functionality introduced.
5130 * html/HTMLElement.h:
5131 (WebCore::toHTMLElement):
5133 2011-02-09 Sam Weinig <sam@webkit.org>
5135 Reviewed by Dan Bernstein.
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
5141 Take the overhang into account when calculating position for elements with position: fixed.
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):
5153 2011-02-09 Simon Fraser <simon.fraser@apple.com>
5155 Reviewed by Dirk Schulze.
5157 Enhance ShadowBlur to tile inset box shadows
5158 https://bugs.webkit.org/show_bug.cgi?id=51567
5160 Add a tiling code path to ShadowBlur for rendering inset
5163 Test: fast/box-shadow/inset-box-shadows.html
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:
5189 2011-02-09 Jochen Eisinger <jochen@chromium.org>
5191 Reviewed by Adam Barth.
5193 Disable script elements when a CSP header is present
5194 https://bugs.webkit.org/show_bug.cgi?id=53867
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
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:
5215 2011-02-09 Patrick Gansterer <paroga@webkit.org>
5217 Unreviewed WinCE build fix for r78047.
5219 ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS),
5220 so they shouldn't cause problems with correct preprocessor defines.
5224 2011-02-09 Ilya Tikhonovsky <loislo@chromium.org>
5226 Reviewed by Pavel Feldman.
5228 Web Inspector: InspectorAgent should know nothing about InspectorController instance.
5230 https://bugs.webkit.org/show_bug.cgi?id=54100
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):
5242 2011-02-09 Pavel Podivilov <podivilov@chromium.org>
5244 Reviewed by Pavel Feldman.
5246 Web Inspector: source frame scroll position is not restored.
5247 https://bugs.webkit.org/show_bug.cgi?id=54101
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):
5262 2011-02-09 Pavel Feldman <pfeldman@chromium.org>
5264 Reviewed by Yury Semikhatsky.
5266 Web Inspector: follow up on InspectorAgent split -
5267 removing unnecessary methods from InspectorController.
5268 https://bugs.webkit.org/show_bug.cgi?id=54093
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:
5286 2011-02-07 Chris Marrin <cmarrin@apple.com>
5288 Reviewed by Simon Fraser.
5290 LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing
5291 https://bugs.webkit.org/show_bug.cgi?id=53513
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.
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.
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:
5312 2011-02-09 Lucas De Marchi <lucas.demarchi@profusion.mobi>
5314 Unreviewed build fix.
5316 [EFL] Remove double definition of ContextMenu.
5317 https://bugs.webkit.org/show_bug.cgi?id=50762
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
5324 No new tests because no new functionality.
5328 2011-02-09 Adam Roben <aroben@apple.com>
5330 Windows Production build fix
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.
5336 2011-02-09 Eric Seidel <eric@webkit.org>
5338 Reviewed by Adam Barth.
5340 Hostnames should cannonicalize to lowercase (to match every other browser)
5341 https://bugs.webkit.org/show_bug.cgi?id=54084
5343 * platform/KURL.cpp:
5344 (WebCore::KURL::parse):
5346 2011-02-09 Peter Varga <pvarga@webkit.org>
5349 Reviewed by Gavin Barraclough.
5351 Replace PCRE with Yarr in WebCore
5352 https://bugs.webkit.org/show_bug.cgi?id=53496
5354 No new tests needed.
5356 * Android.jscbindings.mk:
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:
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):
5372 2011-02-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
5374 Reviewed by Eric Seidel.
5376 [EFL] Add dummy functions for HTML5 Video's control UI
5377 https://bugs.webkit.org/show_bug.cgi?id=53906
5379 In WebKit EFL, there are no implementations for HTML5 control UI.
5380 First, dummy functions are added.
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:
5398 2011-02-09 Eric Seidel <eric@webkit.org>
5400 Reviewed by Adam Barth.
5402 Make WebKit's fragment cannonicalization match other browsers
5403 https://bugs.webkit.org/show_bug.cgi?id=53850
5405 This doesn't make us match perfectly, but it brings us closer.
5407 * platform/KURL.cpp:
5408 (WebCore::appendEscapingBadChars):
5409 (WebCore::escapeAndAppendFragment):
5410 (WebCore::KURL::parse):
5412 2011-02-09 Hans Wennborg <hans@chromium.org>
5414 Reviewed by Jeremy Orlow.
5416 IndexedDB: Cursors should skip deleted entries
5417 https://bugs.webkit.org/show_bug.cgi?id=53690
5419 Add test to check that the cursor skips deleted entries.
5421 Test: storage/indexeddb/cursor-skip-deleted.html
5423 * storage/IDBCursorBackendImpl.cpp:
5424 (WebCore::IDBCursorBackendImpl::currentRowExists):
5425 (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
5426 * storage/IDBCursorBackendImpl.h:
5428 2011-02-08 Pavel Podivilov <podivilov@chromium.org>
5430 Reviewed by Yury Semikhatsky.
5432 Web Inspector: script formatter should not create a worker for each script.
5433 https://bugs.webkit.org/show_bug.cgi?id=54010
5435 * inspector/front-end/ScriptFormatter.js:
5436 (WebInspector.ScriptFormatter):
5437 (WebInspector.ScriptFormatter.prototype._formatScript):
5438 (WebInspector.ScriptFormatter.prototype._handleMessage):
5439 (WebInspector.ScriptFormatter.prototype._handleError):
5441 2011-02-08 Pavel Podivilov <podivilov@chromium.org>
5443 Reviewed by Pavel Feldman.
5445 Web Inspector: sync uglifyjs parser files.
5446 https://bugs.webkit.org/show_bug.cgi?id=54003
5448 * inspector/front-end/UglifyJS/parse-js.js:
5449 * inspector/front-end/UglifyJS/process.js:
5451 2011-02-08 Ryosuke Niwa <rniwa@webkit.org>
5453 Reviewed by Darin Adler.
5455 REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor
5456 https://bugs.webkit.org/show_bug.cgi?id=53196
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.
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.
5466 Test: editing/style/query-typing-style.html
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.
5479 2011-02-08 Sam Weinig <sam@webkit.org>
5481 Reviewed by Maciej Stachowiak.
5483 REGRESSION (r76831): Subframes are printed blank
5484 <rdar://problem/8945867>
5486 * page/FrameView.cpp:
5487 (WebCore::FrameView::paintOverhangAreas):
5488 Don't paint overhangs when printing.
5490 2011-02-07 Jeremy Orlow <jorlow@chromium.org>
5492 Reviewed by Nate Chapin.
5494 Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction)
5495 https://bugs.webkit.org/show_bug.cgi?id=53975
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).
5500 Test: storage/indexeddb/transaction-event-propagation.html
5502 * bindings/v8/V8DOMWrapper.cpp:
5503 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
5505 (WebCore::Event::isIDBAbortEvent):
5506 (WebCore::Event::isIDBCompleteEvent):
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):
5535 2011-02-08 Kenneth Russell <kbr@google.com>
5537 Reviewed by James Robinson.
5539 Add cache for GPU-accelerated path processing results
5540 https://bugs.webkit.org/show_bug.cgi?id=45519
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.
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):
5563 2011-02-08 Zhenyao Mo <zmo@google.com>
5565 Reviewed by Kenneth Russell.
5567 Rename GraphicsContext3D::WebGLEnumType
5568 https://bugs.webkit.org/show_bug.cgi?id=45708
5570 * html/canvas/WebGLProgram.cpp:
5571 (WebCore::WebGLProgram::getAttachedShader):
5572 * html/canvas/WebGLProgram.h:
5573 * platform/graphics/GraphicsContext3D.h:
5575 2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
5577 Unreviewed, rolling out r77980.
5578 http://trac.webkit.org/changeset/77980
5579 https://bugs.webkit.org/show_bug.cgi?id=54043
5581 "Crashes on Windows and Linux..." (Requested by leviw on
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):
5595 (WebCore::Position::upstream):
5596 (WebCore::Position::downstream):
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):
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):
5656 2011-02-08 Jia Pu <jpu@apple.com>
5658 Reviewed by Darin Adler.
5660 VisibleSelection::setWithoutValidation() should allow caret selection.
5661 https://bugs.webkit.org/show_bug.cgi?id=53943
5663 Test: editing/undo/undo-paste-when-caret-is-not-in-range.html
5665 * editing/VisibleSelection.cpp:
5666 (WebCore::VisibleSelection::setWithoutValidation):
5668 2011-02-08 Martin Robinson <mrobinson@igalia.com>
5670 Reviewed by Xan Lopez.
5672 [GTK] Remove the last remnants of the Mozilla theme drawing code
5673 https://bugs.webkit.org/show_bug.cgi?id=54035
5675 Remove all Mozilla theme drawing code.
5677 No new tests. This change only removes dead code.
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.
5693 2011-02-08 Yael Aharon <yael.aharon@nokia.com>
5695 Reviewed by Antti Koivisto.
5697 Crash when logging into gmail.com with frame flattening turned on.
5698 https://bugs.webkit.org/show_bug.cgi?id=52449
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.
5709 Tests: fast/frames/flattening/iframe-flattening-crash.html
5710 fast/frames/flattening/iframe-flattening-selection-crash.html
5712 * page/FrameView.cpp:
5713 (WebCore::FrameView::layout):
5714 (WebCore::FrameView::performPostLayoutTasks):
5716 2011-02-08 Andy Estes <aestes@apple.com>
5718 Reviewed by Darin Adler.
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
5724 * html/HTMLElement.cpp:
5725 (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
5726 attribute to 'plaintext-only' should not throw an exception.
5728 2011-02-08 Dan Bernstein <mitz@apple.com>
5730 Reviewed by Simon Fraser.
5732 RenderRubyRun::m_beingDestroyed is redundant
5733 https://bugs.webkit.org/show_bug.cgi?id=54042
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:
5740 2011-02-08 Levi Weintraub <leviw@chromium.org>
5742 Reviewed by Ryosuke Niwa.
5744 Stop instantiating legacy editing Positions in VisiblePosition
5745 https://bugs.webkit.org/show_bug.cgi?id=52919
5747 Changing VisiblePosition completely away from legacy positions.
5749 No new tests since this is functionaly equivalent.
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):
5764 (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
5765 (WebCore::Position::downstream): ditto
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):
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):
5825 2011-02-08 Michael Saboff <msaboff@apple.com>
5827 JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
5828 https://bugs.webkit.org/show_bug.cgi?id=53716
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().
5837 * bridge/jsc/BridgeJSC.cpp:
5838 (JSC::Bindings::Instance::willDestroyRuntimeObject):
5839 * bridge/runtime_root.cpp:
5840 (JSC::Bindings::RootObject::removeRuntimeObject):
5842 2011-02-08 Beth Dakin <bdakin@apple.com>
5844 Reviewed by Darin Adler.
5846 Fix for <rdar://problem/8953365> CrashTracer: 14
5847 crashes in WebProcess at com.apple.WebCore:
5848 -[ScrollKnobAnimation setCurrentProgress:] + 258
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
5857 Remove scrollbarPainterDelegate() since it's not used anymore.
5858 * platform/mac/ScrollAnimatorMac.h:
5859 * platform/mac/ScrollAnimatorMac.mm:
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:]):
5868 New function to inform the delegates that the ScrollAnimator
5870 (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
5871 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
5873 2011-02-08 Adam Barth <abarth@webkit.org>
5875 Reviewed by Eric Seidel.
5877 Remove orphan code from old parser
5878 https://bugs.webkit.org/show_bug.cgi?id=53984
5880 This code appears to be unused.
5882 * html/HTMLParserErrorCodes.cpp:
5883 * html/HTMLParserErrorCodes.h:
5884 * html/HTMLParserQuirks.h:
5885 * loader/EmptyClients.h:
5886 * page/ChromeClient.h:
5888 2011-02-08 Martin Robinson <mrobinson@igalia.com>
5890 Reviewed by Gustavo Noronha Silva.
5892 [GTK] Move scrollbar rendering out of gtk2drawing.c
5893 https://bugs.webkit.org/show_bug.cgi?id=52836
5895 Replace gtk2drawing.c scrollbar rendering with our own version. This
5896 is the last use of the Mozilla theme drawing code.
5898 No new tests. This should not change the rendering of the default
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.
5925 2011-02-08 Simon Fraser <simon.fraser@apple.com>
5927 Reviewed by Dan Bernstein.
5929 Inset shadow with large offset renders incorrectly
5930 https://bugs.webkit.org/show_bug.cgi?id=53882
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.
5936 Test: fast/box-shadow/inset-shadow-large-offset.html
5938 * rendering/RenderBoxModelObject.cpp:
5939 (WebCore::areaCastingShadowInHole): Return a rect that covers the area
5940 which contributes to the inset shadow.
5942 (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
5943 to compute the outerRect.
5945 2011-02-08 Zhenyao Mo <zmo@google.com>
5947 Reviewed by Kenneth Russell.
5949 drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
5950 https://bugs.webkit.org/show_bug.cgi?id=54017
5952 * html/canvas/WebGLRenderingContext.cpp:
5953 (WebCore::WebGLRenderingContext::drawElements):
5955 2011-01-28 Dimitri Glazkov <dglazkov@chromium.org>
5957 Reviewed by Darin Adler.
5959 Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
5960 https://bugs.webkit.org/show_bug.cgi?id=53190
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
5968 Refactoring, covered by existing tests.
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
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.
6027 2011-02-08 Xiaomei Ji <xji@chromium.org>
6029 Reviewed by Dan Bernstein.
6031 Fix pop-up button text not rendered correctly according to its direction
6033 https://bugs.webkit.org/show_bug.cgi?id=53642
6035 In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi
6036 changes, set it needs layout.
6038 Test: fast/text/international/pop-up-button-text-alignment-and-direction.html
6040 * rendering/RenderMenuList.cpp:
6041 (WebCore::RenderMenuList::adjustInnerStyle):
6043 2011-02-08 Ilya Tikhonovsky <loislo@chromium.org>
6045 Unreviewed build fix for Qt-minimal.
6047 * inspector/InspectorInstrumentation.h:
6048 (WebCore::InspectorInstrumentation::hasFrontend):
6050 2011-02-02 Ilya Tikhonovsky <loislo@chromium.org>
6052 Reviewed by Yury Semikhatsky.
6054 Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
6056 https://bugs.webkit.org/show_bug.cgi?id=53169
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.
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):
6142 2011-02-08 George Wright <gwright@rim.com>
6144 Reviewed by Adam Barth.
6146 https://bugs.webkit.org/show_bug.cgi?id=53949
6148 Ensure that we pack the colour byte order correctly for Skia using
6149 Skia's SkPackARGB32 function.
6151 * platform/image-decoders/ImageDecoder.h:
6152 (WebCore::ImageFrame::setRGBA):
6154 2011-02-08 George Wright <gwright@rim.com>
6156 Reviewed by Darin Adler.
6158 https://bugs.webkit.org/show_bug.cgi?id=53951
6160 Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
6161 pass the full image dimensions.
6163 * platform/graphics/GraphicsContext.cpp:
6164 (WebCore::GraphicsContext::drawImageBuffer):
6166 2011-02-08 Patrick Gansterer <paroga@webkit.org>
6168 Reviewed by Adam Roben.
6170 [WIN] Add missing includes and forward declarations for DownloadBundle
6171 https://bugs.webkit.org/show_bug.cgi?id=53881
6173 * platform/network/cf/DownloadBundle.h:
6174 * platform/network/win/DownloadBundleWin.cpp:
6175 (WebCore::DownloadBundle::appendResumeData):
6177 2011-02-08 Patrick Gansterer <paroga@webkit.org>
6179 Reviewed by Adam Roben.
6181 [WIN] Add missing include in WKCAImageQueue
6182 https://bugs.webkit.org/show_bug.cgi?id=53890
6184 * platform/graphics/win/WKCAImageQueue.cpp:
6186 2011-02-08 Patrick Gansterer <paroga@webkit.org>
6188 Reviewed by Adam Roben.
6190 [WIN] Add missing includes and forward declarations for CFNetwork
6191 https://bugs.webkit.org/show_bug.cgi?id=53883
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:
6200 2011-02-08 Patrick Gansterer <paroga@webkit.org>
6202 Unreviewed WinCE build fix for r77870.
6204 * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.
6206 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
6208 Reviewed by Yury Semikhatsky.
6210 Web Inspector: open network resource url in new tab upon double click.
6211 https://bugs.webkit.org/show_bug.cgi?id=53930
6213 * inspector/front-end/NetworkPanel.js:
6214 (WebInspector.NetworkDataGridNode.prototype.createCells):
6215 (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
6217 2011-02-08 Yonathan Randolph <yonathan@gmail.com>
6219 Reviewed by Pavel Feldman.
6221 Web Inspector: $x: any node should work in optional context parameter.
6222 https://bugs.webkit.org/show_bug.cgi?id=50138
6224 * inspector/InjectedScriptSource.js:
6226 2011-02-08 Patrick Gansterer <paroga@webkit.org>
6228 Unreviewed WinCE build fix for r77870.
6230 Remove the global namespace prefix from GlobalLock/GlobalUnlock.
6232 * platform/win/ClipboardUtilitiesWin.cpp:
6234 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
6236 Not reviewed: re-apply r77924.
6238 Test: inspector/console-api-on-call-frame.html
6240 * inspector/InjectedScriptSource.js:
6241 * inspector/front-end/ExtensionServer.js:
6242 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
6244 2011-02-08 Andreas Kling <kling@webkit.org>
6246 Reviewed by Tor Arne Vestbø.
6248 REGRESSION(r77312): Unbreak TiledBackingStore.
6250 Due to an off-by-one error, we were no longer rendering the
6251 rightmost column and bottom row of tiles.
6253 Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().
6255 * platform/graphics/TiledBackingStore.cpp:
6256 (WebCore::TiledBackingStore::invalidate):
6257 (WebCore::TiledBackingStore::updateTileBuffers):
6258 (WebCore::TiledBackingStore::paint):
6259 (WebCore::TiledBackingStore::createTiles):
6261 2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
6263 Unreviewed, rolling out r77924.
6264 http://trac.webkit.org/changeset/77924
6265 https://bugs.webkit.org/show_bug.cgi?id=53997
6267 Breaks inspector tests. (Requested by pfeldman on #webkit).
6269 * inspector/InjectedScriptSource.js:
6273 2011-02-08 Andrey Kosyakov <caseq@chromium.org>
6275 Reviewed by Pavel Feldman.
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
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):
6311 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
6313 Reviewed by Yury Semikhatsky.
6315 Web Inspector: do not hide scope variables with command line api.
6316 https://bugs.webkit.org/show_bug.cgi?id=53497
6318 Test: inspector/console-api-on-call-frame.html
6320 * inspector/InjectedScriptSource.js:
6322 2011-02-08 Pavel Feldman <pfeldman@chromium.org>
6324 Reviewed by Yury Semikhatsky.
6326 Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
6327 https://bugs.webkit.org/show_bug.cgi?id=53914
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):
6340 2011-02-08 Antti Koivisto <antti@apple.com>
6342 Reviewed by Cameron Zwarich.
6344 Skip over sibling selectors when collecting descendant selector hashes
6345 https://bugs.webkit.org/show_bug.cgi?id=53987
6347 Skip instead of bailing out. This will allow optimizing some sibling selector cases.
6349 * css/CSSStyleSelector.cpp:
6350 (WebCore::RuleData::RuleData):
6351 (WebCore::RuleData::collectIdentifierHashes):
6352 (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
6353 * css/CSSStyleSelector.h:
6355 2011-02-07 Cris Neckar <cdn@chromium.org>
6357 Reviewed by Jian Li.
6359 Fix null deref in DOMURL
6360 https://bugs.webkit.org/show_bug.cgi?id=53811
6362 Test: fast/files/domurl-script-execution-context-crash.html
6365 (WebCore::DOMURL::DOMURL):
6367 2011-02-07 Mark Rowe <mrowe@apple.com>
6369 Fix the 32-bit build.
6371 * platform/mac/ScrollAnimatorMac.mm:
6372 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
6373 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.
6375 2011-02-07 Xiyuan Xia <xiyuan@chromium.org>
6377 Reviewed by Tony Chang.
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
6382 Added manual test select_webkit_appearance_off_popup_alignment.html.
6384 * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
6385 * platform/chromium/PopupMenuChromium.cpp:
6386 (WebCore::PopupListBox::layout):
6388 2011-02-07 Aparna Nandyal <aparna.nand@wipro.com>
6390 Reviewed by Andreas Kling.
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
6395 Added copy option for Qt platform if selection is a link.
6396 Added a test in tst_qwebpage.cpp.
6398 * page/ContextMenuController.cpp:
6399 (WebCore::ContextMenuController::populate):
6401 2011-02-07 Mike Reed <reed@google.com>
6403 Reviewed by Kenneth Russell.
6405 Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
6406 when drawing <canvas>. Disabled by default.
6408 No new tests. existing canvas layouttests apply
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):
6418 2011-02-07 Jay Civelli <jcivelli@chromium.org>
6420 Reviewed by Darin Fisher.
6422 Removing unused code from PopupMenuChromium.
6423 https://bugs.webkit.org/show_bug.cgi?id=53866
6425 * platform/chromium/PopupMenuChromium.cpp:
6426 (WebCore::PopupListBox::layout):
6427 (WebCore::PopupMenuChromium::show):
6428 * platform/chromium/PopupMenuChromium.h:
6430 2011-02-07 Kenichi Ishibashi <bashi@chromium.org>
6432 Reviewed by Andreas Kling.
6434 HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
6435 https://bugs.webkit.org/show_bug.cgi?id=53791
6437 Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().
6439 Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html
6441 * html/HTMLOutputElement.cpp:
6442 (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
6445 2011-02-07 Benjamin Poulain <ikipou@gmail.com>
6447 Reviewed by Kenneth Rohde Christiansen.
6449 [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
6450 https://bugs.webkit.org/show_bug.cgi?id=52289
6452 Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
6453 in the same thread as the QNetworkAccessManager.
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):
6462 2011-02-07 Alexey Marinichev <amarinichev@chromium.org>
6464 Reviewed by Kenneth Russell.
6466 Hook up WebGraphicsContext3D::setContextLostCallback.
6467 https://bugs.webkit.org/show_bug.cgi?id=53722
6469 Test: fast/canvas/webgl/context-lost.html, comment out the line with
6470 extension.loseContext() and kill the GPU process "Lose context"
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
6486 2011-02-07 Patrick Gansterer <paroga@webkit.org>
6488 Reviewed by Eric Seidel.
6490 Add missing PaintInfo include in RenderThemeWin.cpp
6491 https://bugs.webkit.org/show_bug.cgi?id=53885
6493 * rendering/RenderThemeWin.cpp:
6495 2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
6497 Reviewed by Andreas Kling.
6499 [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
6500 https://bugs.webkit.org/show_bug.cgi?id=52974
6502 Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
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:
6514 2011-02-07 Kenichi Ishibashi <bashi@chromium.org>
6516 Reviewed by Kent Tamura.
6518 HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
6519 https://bugs.webkit.org/show_bug.cgi?id=53970
6521 Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
6522 return the right value.
6524 Test: fast/dom/HTMLObjectElement/form/nested-form-element.html
6526 * html/HTMLObjectElement.cpp:
6527 (WebCore::HTMLObjectElement::virtualForm): Added.
6528 * html/HTMLObjectElement.h: Added virtualForm().
6530 2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
6532 Unreviewed Leopard build fix.
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.
6538 2011-02-07 Enrica Casucci <enrica@apple.com>
6540 Reviewed by Sam Weinig.
6542 Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
6544 When moving code from WebKit to WebCore we needed to move some additional
6545 functions previously in NSStringExtras.
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):
6557 2011-02-07 Lucas Forschler <lforschler@apple.com>
6559 Reviewed by Geoff Garen.
6561 Tr #2, Fix the Leopard 32bit debug build.
6563 No new tests required.
6565 * WebCore.xcodeproj/project.pbxproj:
6566 * accessibility/AccessibilityAllInOne.cpp:
6568 2011-02-07 Beth Dakin <bdakin@apple.com>
6570 Reviewed by Sam Weinig.
6572 Fix for <rdar://problem/8946961> Fix repaint problems
6573 with WKScrollbarPainter scrollers while resizing the window
6575 Remove setPainterForPainterController() and
6576 removePainterFromPainterController() since they aren't
6578 * platform/mac/ScrollAnimatorMac.h:
6580 Return early if they alpha hasn't changed.
6581 * platform/mac/ScrollAnimatorMac.mm:
6582 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
6583 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
6585 If we're in a live resize, restore alpha to 1.
6586 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6587 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6589 2011-02-07 Beth Dakin <bdakin@apple.com>
6591 Reviewed by Eric Seidel.
6593 Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
6594 USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
6597 Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
6598 than the silly, old in-file #define.
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):
6610 2011-02-07 Enrica Casucci <enrica@apple.com>
6612 Reviewed Adam Roben and Darin Adler.
6614 WebKit2: drag and drop support on Windows.
6615 https://bugs.webkit.org/show_bug.cgi?id=52775
6616 <rdar://problem/8514409>
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):
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
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:
6663 2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
6665 Unreviewed, rolling out r77848.
6666 http://trac.webkit.org/changeset/77848
6667 https://bugs.webkit.org/show_bug.cgi?id=53963
6669 caused 6 test failures (Requested by othermaciej on #webkit).
6671 * rendering/RenderBlockLineLayout.cpp:
6672 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
6674 2011-02-04 Kenneth Russell <kbr@google.com>
6676 Reviewed by James Robinson.
6678 Add shaders for GPU accelerated path rendering
6679 https://bugs.webkit.org/show_bug.cgi?id=45520
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.
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.
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):
6712 2011-02-07 Dan Bernstein <mitz@apple.com>
6714 Reviewed by Oliver Hunt.
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
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.
6726 2011-02-07 Sam Weinig <sam@webkit.org>
6728 Reviewed by Anders Carlsson.
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
6734 * WebCore.exp.in: Add export.
6736 2011-02-07 Geoffrey Garen <ggaren@apple.com>
6738 Reviewed by Darin Adler.
6740 Assertion failure in ~JSGlobalObject when loading apple.com HTML5
6741 transitions demo page
6742 https://bugs.webkit.org/show_bug.cgi?id=53853
6744 This was a long-standing bookkeeping bug uncovered by some heap refactoring.
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.
6755 2011-02-07 Jian Li <jianli@chromium.org>
6757 Reviewed by David Levin.
6759 Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
6761 https://bugs.webkit.org/show_bug.cgi?id=53104
6763 Covered by the existing tests.
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.
6785 2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
6787 Unreviewed, rolling out r77845.
6788 http://trac.webkit.org/changeset/77845
6789 https://bugs.webkit.org/show_bug.cgi?id=53946
6791 build failure (Requested by lforschler_ on #webkit).
6793 * WebCore.xcodeproj/project.pbxproj:
6794 * accessibility/AccessibilityAllInOne.cpp:
6796 2011-02-07 Darin Adler <darin@apple.com>
6798 https://bugs.webkit.org/show_bug.cgi?id=53939
6799 fast/css/text-overflow-ellipsis.html failure after r77818/77819
6801 * platform/text/TextCodecICU.cpp:
6802 (WebCore::TextCodecICU::registerExtendedEncodingNames):
6803 Add back the "utf8" synonym for "UTF-8".
6805 2011-02-07 David Hyatt <hyatt@apple.com>
6807 Reviewed by Dan Bernstein.
6809 Remove an unnecessary extra computeLogicalWidth() from line layout.
6811 * rendering/RenderBlockLineLayout.cpp:
6812 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
6814 2011-02-07 Lucas Forschler <lforschler@apple.com>
6816 Reviewed by Geoffrey Garen.
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"
6822 * WebCore.xcodeproj/project.pbxproj:
6823 * accessibility/AccessibilityAllInOne.cpp:
6825 2011-02-07 Sam Weinig <sam@webkit.org>
6829 * platform/mac/ScrollAnimatorMac.mm:
6830 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
6831 (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
6832 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
6833 (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
6835 2011-02-07 Sam Weinig <sam@webkit.org>
6837 Reviewed by Beth Dakin.
6839 Add mechanism to inform the ScrollAnimator when Scrollbars are added
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.
6849 * platform/ScrollView.cpp:
6850 (WebCore::ScrollView::setHasHorizontalScrollbar):
6851 (WebCore::ScrollView::setHasVerticalScrollbar):
6852 Call new ScrollableArea functions.
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.
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.
6875 2011-02-07 Anders Carlsson <andersca@apple.com>
6877 Reviewed by Dan Bernstein.
6879 Missing text match markers with accelerated content
6880 https://bugs.webkit.org/show_bug.cgi?id=53934
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.
6885 (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
6886 window before asking for the text match rects).
6888 * editing/Editor.cpp:
6889 (WebCore::Editor::countMatchesForText):
6891 2011-02-07 Antti Koivisto <antti@apple.com>
6893 Reviewed by Andreas Kling.
6895 REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
6896 https://bugs.webkit.org/show_bug.cgi?id=53900
6898 Ignore link elements in shadow trees.
6901 (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
6902 (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
6904 Some asserts to catch cases like this.
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:
6915 2011-02-07 Darin Adler <darin@apple.com>
6917 Turn UTF-8 decoder off for now so we can look into failing tests
6918 without leaving the tree red.
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.
6946 2011-02-07 Anders Carlsson <andersca@apple.com>
6948 Reviewed by Maciej Stachowiak.
6950 Don't exclude overlay scrollers from the page overlay bounds
6951 https://bugs.webkit.org/show_bug.cgi?id=53924
6953 Export ScrollbarTheme::nativeTheme.
6957 2011-02-07 Zhenyao Mo <zmo@google.com>
6959 Reviewed by Kenneth Russell.
6961 Crash in glDrawArrays with NaCl crystal model
6962 https://bugs.webkit.org/show_bug.cgi?id=52831
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:
6969 2011-02-07 Chris Fleizach <cfleizach@apple.com>
6971 Reviewed by Darin Adler.
6973 WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
6974 https://bugs.webkit.org/show_bug.cgi?id=53842
6976 Test: platform/mac/accessibility/aria-sort.html
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:
6986 2011-02-07 Darin Adler <darin@apple.com>
6988 Reviewed by Antti Koivisto.
6990 Add built-in decoder for UTF-8 for improved performance
6991 https://bugs.webkit.org/show_bug.cgi?id=53898
6993 Correct behavior is covered by existing tests.
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.
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.
7010 * platform/text/TextCodecUTF16.cpp:
7011 (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
7014 * platform/text/TextCodecUTF8.cpp: Added.
7015 * platform/text/TextCodecUTF8.h: Added.
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.
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.
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.
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.
7044 2011-02-07 Mario Sanchez Prada <msanchez@igalia.com>
7046 Reviewed by Xan Lopez.
7048 [Gtk] atk_text_get_caret_offset fails for list items
7049 https://bugs.webkit.org/show_bug.cgi?id=53436
7051 Consider list item markers when calculating the offset.
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().
7059 2011-02-07 Yi Shen <yi.4.shen@nokia.com>
7061 Reviewed by Tor Arne Vestbø.
7063 [Qt] Fix LayoutTests/media/restore-from-page-cache.html
7064 https://bugs.webkit.org/show_bug.cgi?id=53621
7066 Changed the networkState to MediaPlayer::Loaded when
7067 MediaPlayerPrivateQt has enough data.
7069 Test: media/restore-from-page-cache.html
7071 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
7072 (WebCore::MediaPlayerPrivateQt::updateStates):
7074 2011-01-31 Pavel Podivilov <podivilov@chromium.org>
7076 Reviewed by Yury Semikhatsky.
7078 Web Inspector: implement beautification of scripts inlined in html documents.
7079 https://bugs.webkit.org/show_bug.cgi?id=52706
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.
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:
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):
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:
7119 2011-02-07 Pavel Feldman <pfeldman@chromium.org>
7121 Reviewed by Yury Semikhatsky.
7123 Web Inspector: "Reveal in elements panel" does not always work.
7124 https://bugs.webkit.org/show_bug.cgi?id=53775
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):
7141 2011-02-07 Adam Barth <abarth@webkit.org>
7143 Reviewed by Eric Seidel.
7145 Relative .. in URL paths shouldn't skip adjacent / characters
7146 https://bugs.webkit.org/show_bug.cgi?id=53907
7148 Our new behavior matches Firefox, Chrome, and IE.
7150 * platform/KURL.cpp:
7151 (WebCore::copyPathRemovingDots):
7153 2011-02-07 Maciej Stachowiak <mjs@apple.com>
7155 Reviewed by Antti Koivisto.
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>
7161 * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
7163 * WebCore.exp.in: Export a handful of KURL symbols.
7165 2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
7167 Reviewed by Darin Adler.
7169 OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
7170 https://bugs.webkit.org/show_bug.cgi?id=52867
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.
7225 2011-02-06 Kent Tamura <tkent@chromium.org>
7229 * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
7231 2011-02-03 Dominic Cooney <dominicc@google.com>
7233 Reviewed by Dimitri Glazkov.
7235 Convert <keygen> option elements to a shadow DOM
7236 https://bugs.webkit.org/show_bug.cgi?id=51379
7238 Covered by existing tests e.g. fast/html/keygen.html,
7239 html5lib/runner.html, etc.
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.
7267 2011-02-06 Benjamin Poulain <ikipou@gmail.com>
7269 Reviewed by Kenneth Rohde Christiansen.
7271 [Qt] Fix coding style errors in ClipboardQt.h
7272 https://bugs.webkit.org/show_bug.cgi?id=43520
7274 Fix coding style: order of header and indentation.
7276 * platform/qt/ClipboardQt.h:
7277 (WebCore::ClipboardQt::create):
7278 (WebCore::ClipboardQt::clipboardData):
7279 (WebCore::ClipboardQt::invalidateWritableData):
7281 2011-02-06 Antti Koivisto <antti@apple.com>
7283 Reviewed by Maciej Stachowiak.
7285 Use bloom filter for descendant selector filtering
7286 https://bugs.webkit.org/show_bug.cgi?id=53880
7288 Bloom filter is faster than a hash set in this kind of use.
7290 Shark thinks this speeds up style matching by ~30% on sites
7291 with lots of descendant selectors.
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:
7302 2011-02-06 Maciej Stachowiak <mjs@apple.com>
7304 Reviewed by Antti Koivisto.
7306 media/video-document-types.html sometimes crashes the WebProcess
7307 https://bugs.webkit.org/show_bug.cgi?id=53884
7309 No new tests. Already covered by media/video-document-types.html
7311 * html/HTMLMediaElement.cpp:
7312 (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
7313 when cancelling the load.
7315 2011-02-06 Patrick Gansterer <paroga@webkit.org>
7317 Reviewed by Adam Roben.
7319 [WIN] Use WCHAR instead of TCHAR
7320 https://bugs.webkit.org/show_bug.cgi?id=53863
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.
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:
7351 2011-02-06 Patrick Gansterer <paroga@webkit.org>
7353 Reviewed by Andreas Kling.
7355 Replace FLT_MAX with std::numeric_limits
7356 https://bugs.webkit.org/show_bug.cgi?id=53861
7358 Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
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):
7375 2011-02-06 Patrick Gansterer <paroga@webkit.org>
7377 Reviewed by Andreas Kling.
7379 [CMake] Add dependencies for Visual Studio projects
7380 https://bugs.webkit.org/show_bug.cgi?id=53773
7382 Add a JavaScriptCore dependecy to WebCore, so CMake can
7383 generate the correct build order for the solution.
7387 2011-02-06 Patrick Gansterer <paroga@webkit.org>
7389 Reviewed by Andreas Kling.
7391 [CMake] Unify ENABLE_SVG sections
7392 https://bugs.webkit.org/show_bug.cgi?id=53778
7396 2011-02-06 Andreas Kling <kling@webkit.org>
7398 Reviewed by Dirk Schulze.
7400 Refactor Font::normalizeSpaces() to avoid an extra String copy.
7401 https://bugs.webkit.org/show_bug.cgi?id=53871
7403 Have normalizeSpaces() take UChar*,length arguments instead of a
7404 String, since all call sites were creating temporaries from these
7407 Font::normalizeSpaces() now always makes 1 String copy,
7408 instead of 1 in the best case and 2 in the worst case.
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):
7422 (WebCore::SVGTextRunWalker::walk):
7424 2011-02-06 Andreas Kling <kling@webkit.org>
7426 Reviewed by Dirk Schulze.
7428 Fix potential buffer overrun in SVGTextRunWalker::walk()
7429 https://bugs.webkit.org/show_bug.cgi?id=53870
7431 A new String was created from a UChar* with a 'length' argument
7432 that could be greater than the number of UChars available.
7435 (WebCore::SVGTextRunWalker::walk):
7437 2011-02-05 Adam Barth <abarth@webkit.org>
7439 Reviewed by Eric Seidel.
7441 Remove unused parameter related to XSSAuditor
7442 https://bugs.webkit.org/show_bug.cgi?id=53862
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:
7458 2011-02-05 Adam Barth <abarth@webkit.org>
7464 2011-02-05 Adam Barth <abarth@webkit.org>
7466 Reviewed by Eric Seidel.
7469 https://bugs.webkit.org/show_bug.cgi?id=53859
7471 The job of the XSSAuditor is now done by the XSSFilter. In the future,
7472 we might rename XSSFilter to XSSAuditor.
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):
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.
7509 2011-02-05 Anders Carlsson <andersca@apple.com>
7511 Reviewed by Darin Adler.
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>
7517 Export a function needed by WebKit2.
7521 2011-02-05 Patrick Gansterer <paroga@webkit.org>
7523 Reviewed by Alexey Proskuryakov.
7525 Use Document::encoding() instead of DocumentWriter::encoding()
7526 https://bugs.webkit.org/show_bug.cgi?id=53398
7528 This change makes the code more readable, when a subresource
7529 inherits the character encoding of the document.
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):
7542 2011-02-05 Adam Barth <abarth@webkit.org>
7544 Reviewed by Eric Seidel.
7546 Introduce URLString to represent a canonicalized URL represented by a string
7547 https://bugs.webkit.org/show_bug.cgi?id=53847
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.
7555 * WebCore.xcodeproj/project.pbxproj:
7556 * platform/KURL.cpp:
7557 (WebCore::KURL::KURL):
7559 (WebCore::KURL::urlString):
7561 2011-02-05 Robert Hogan <robert@webkit.org>
7563 Reviewed by Antonio Gomes.
7565 [Qt] Style widgets not rendering
7566 https://bugs.webkit.org/show_bug.cgi?id=53849
7568 * html/HTMLObjectElement.cpp:
7569 (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
7571 2011-02-05 Jochen Eisinger <jochen@chromium.org>
7573 Reviewed by Adam Barth.
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
7578 * WebCore.xcodeproj/project.pbxproj:
7580 (WebCore::Document::contentSecurityPolicy):
7581 * loader/MainResourceLoader.cpp:
7582 (WebCore::MainResourceLoader::didReceiveResponse):
7583 * page/ContentSecurityPolicy.cpp:
7584 (WebCore::ContentSecurityPolicy::didReceiveHeader):
7585 * page/ContentSecurityPolicy.h:
7587 2011-02-05 Eric Seidel <eric@webkit.org>
7589 Reviewed by Adam Barth.
7591 Safari should lowercase schemes in cannonicalized urls to match every other browser
7592 https://bugs.webkit.org/show_bug.cgi?id=53848
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
7597 * platform/KURL.cpp:
7598 (WebCore::KURL::parse):
7599 - Just lowercase the scheme when copying.
7601 2011-02-05 Antti Koivisto <antti@apple.com>
7603 Reviewed by Dave Hyatt.
7605 Optimize matching of descendant selectors
7606 https://bugs.webkit.org/show_bug.cgi?id=49876
7607 <rdar://problem/8772822>
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.
7612 This speeds up style recalculations 3-6x on many major web sites.
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):
7626 (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
7627 (WebCore::StyleSelectorParentPusher::push):
7628 (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
7629 (WebCore::Element::attach):
7630 (WebCore::Element::recalcStyle):
7632 2011-02-05 Nate Chapin <japhet@chromium.org>
7634 Reviewed by Adam Barth.
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
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):
7653 2011-02-04 Adam Barth <abarth@webkit.org>
7655 Reviewed by Maciej Stachowiak.
7657 Crash in WebCore::TextEncoding::decode below XSSFilter::init
7658 https://bugs.webkit.org/show_bug.cgi?id=53837
7660 Add missing null check.
7662 Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
7664 * html/parser/XSSFilter.cpp:
7665 (WebCore::XSSFilter::init):
7667 2011-02-04 Simon Fraser <simon.fraser@apple.com>
7669 Reviewed by Dan Bernstein.
7671 Crashes in ShadowBlur via WebKit2 FindController
7672 https://bugs.webkit.org/show_bug.cgi?id=53830
7674 Fix a crash cause by re-entering ShadowBlur, and add assertions to
7675 detect when it happens.
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
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.
7686 Not testable because CSS shadows clip out the inside of the rect
7687 being shadowed, and SVG uses fillPath, even for rects.
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):
7696 2011-02-04 Carlos Garcia Campos <cgarcia@igalia.com>
7698 Reviewed by Martin Robinson.
7700 [GTK] Don't use a fixed size for search field icons
7701 https://bugs.webkit.org/show_bug.cgi?id=50624
7703 Use the parent input content box to make sure the icon fits in the
7704 search field, scaling it down when needed.
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):
7718 2011-02-04 Hironori Bono <hbono@chromium.org>
7720 Reviewed by Adam Barth.
7722 [chromium] JPEG corruption
7723 https://bugs.webkit.org/show_bug.cgi?id=53250
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
7730 Test: fast/images/cmyk-jpeg-with-color-profile.html
7732 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
7733 (WebCore::JPEGImageReader::decode):
7735 2011-02-04 Xiyuan Xia <xiyuan@chromium.org>
7737 Reviewed by Tony Chang.
7739 [Chromium] Option text in select popup does not align with menulist button text
7740 https://bugs.webkit.org/show_bug.cgi?id=53632
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.
7746 * rendering/RenderMenuList.cpp:
7747 (WebCore::RenderMenuList::clientPaddingLeft):
7748 (WebCore::RenderMenuList::clientPaddingRight):
7750 2011-02-04 Anders Carlsson <andersca@apple.com>
7752 Reviewed by Sam Weinig and Beth Dakin.
7754 REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
7755 <rdar://problem/8962457>
7757 * platform/ScrollView.cpp:
7758 (WebCore::ScrollView::scrollContents):
7759 Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
7761 * platform/ScrollableArea.cpp:
7762 (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
7763 Make sure to invalidate both scrollbars if overlay scrollers are enabled.
7765 2011-02-04 Adam Barth <abarth@webkit.org>
7767 Reviewed by Eric Seidel.
7769 PluginDocuments don't create widgets for plugins on back/forward
7770 https://bugs.webkit.org/show_bug.cgi?id=53474
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.
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.
7787 Test: plugins/plugin-document-back-forward.html
7789 * html/PluginDocument.cpp:
7790 (WebCore::PluginDocumentParser::appendBytes):
7791 * page/FrameView.cpp:
7792 (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
7795 2011-02-04 Charlie Reis <creis@chromium.org>
7797 Reviewed by Mihai Parparita.
7799 Crash in WebCore::HistoryController::itemsAreClones
7800 https://bugs.webkit.org/show_bug.cgi?id=52819
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.
7807 * loader/HistoryController.cpp:
7808 * loader/HistoryController.h:
7810 2011-02-04 Carol Szabo <carol.szabo@nokia.com>
7812 Reviewed by David Hyatt.
7816 CSS 2.1 failure: content-*
7817 https://bugs.webkit.org/show_bug.cgi?id=52126
7819 Test: fast/css/counters/content-021.html
7821 * rendering/CounterNode.cpp:
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
7845 Debug helper functions used to debug Counter bugs.
7847 2011-02-04 Dan Bernstein <mitz@apple.com>
7851 * html/parser/XSSFilter.cpp:
7852 (WebCore::HTMLNames::containsJavaScriptURL):
7854 2011-02-04 Dan Bernstein <mitz@apple.com>
7856 Reviewed by Anders Carlsson.
7858 Make an infinite loop introduced in r77454 finite.
7860 * html/parser/XSSFilter.cpp:
7861 (WebCore::HTMLNames::containsJavaScriptURL):
7863 2011-02-04 Jer Noble <jer.noble@apple.com>
7865 Reviewed by Eric Carlson.
7867 Frame accurate seeking isn't always accurate
7868 https://bugs.webkit.org/show_bug.cgi?id=52697
7870 Test: media/video-frame-accurate-seek.html
7872 Make seeking slightly more accurate by rounding instead of truncating
7873 when converting from seconds-in-float to time/timeScale.
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):
7882 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
7884 Reviewed by Nate Chapin.
7886 Second IndexedDB events overhaul patch
7887 https://bugs.webkit.org/show_bug.cgi?id=53813
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.
7893 Test: storage/indexeddb/request-event-propagation.html
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:
7938 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
7940 Reviewed by Nate Chapin.
7942 First step towards event propogation within IndexedDB
7943 https://bugs.webkit.org/show_bug.cgi?id=53795
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.
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.
7956 Test: storage/indexeddb/error-causes-abort-by-default.html
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):
7985 2011-02-04 Daniel Cheng <dcheng@chromium.org>
7987 Reviewed by Dmitry Titov.
7989 Clone WebClipboard to be frame-specific.
7990 https://bugs.webkit.org/show_bug.cgi?id=53727
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.
8000 No new tests because no new functionality.
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:
8018 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
8020 Revert https://bugs.webkit.org/show_bug.cgi?id=53795
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):
8047 2011-02-04 Martin Galpin <martin@66laps.com>
8049 Reviewed by David Levin.
8051 CORS origin header not set on GET when a preflight request is required.
8052 https://bugs.webkit.org/show_bug.cgi?id=50773
8054 Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
8056 * loader/DocumentThreadableLoader.cpp:
8057 (WebCore::DocumentThreadableLoader::preflightSuccess):
8058 Explicitly set the request origin after a preflight request succeeds.
8060 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
8062 Reviewed by Nate Chapin.
8064 First step towards event propogation within IndexedDB
8065 https://bugs.webkit.org/show_bug.cgi?id=53795
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.
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.
8078 Test: storage/indexeddb/error-causes-abort-by-default.html
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):
8107 2011-02-04 Dimitri Glazkov <dglazkov@chromium.org>
8109 Reviewed by Csaba Osztrogonác.
8111 [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
8112 https://bugs.webkit.org/show_bug.cgi?id=53674
8114 * css/mediaControlsQt.css:
8116 2011-02-04 Dan Bernstein <mitz@apple.com>
8118 Reviewed by Darin Adler and Dave Hyatt.
8120 <rdar://problem/8902704> Make ruby text size 50% by default
8121 https://bugs.webkit.org/show_bug.cgi?id=53723
8124 (ruby > rt): Changed the font-size from 60% to 50%.
8126 2011-02-04 Antti Koivisto <antti@apple.com>
8128 Reviewed by Dimitri Glazkov.
8130 https://bugs.webkit.org/show_bug.cgi?id=53610
8131 Regression: adjacent sibling selector not working as expected
8132 <rdar://problem/8960033>
8134 https://bugs.webkit.org/show_bug.cgi?id=53574
8135 REGRESSION (r76012): :last-child:after not working as expected
8136 <rdar://problem/8948643>
8138 Test for additional conditions in parent style that prevent sharing.
8140 Tests: fast/selectors/style-sharing-adjacent-selector.html
8141 fast/selectors/style-sharing-last-child.html
8143 * css/CSSStyleSelector.cpp:
8144 (WebCore::parentStylePreventsSharing):
8145 (WebCore::CSSStyleSelector::locateSharedStyle):
8147 2011-02-04 Mark Mentovai <mark@chromium.org>
8149 Reviewed by Dimitri Glazkov.
8151 Chromium GYP build fix.
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.
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.
8165 The build now includes a postbuild step to prevent
8166 http://crbug.com/71537 from regressing again. The build will fail upon
8169 https://bugs.webkit.org/show_bug.cgi?id=53630
8171 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
8172 direct_dependent_settings as needed, add the check_objc_rename
8174 * WebCore.gyp/mac/check_objc_rename.sh: Added.
8176 2011-02-04 Robert Hogan <robert@webkit.org>
8178 Reviewed by Darin Fisher.
8180 Move chromium iframe shim code to cross-platform file
8181 https://bugs.webkit.org/show_bug.cgi?id=52594
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.
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):
8198 2011-02-04 Xiaomei Ji <xji@chromium.org>
8200 Reviewed by David Levin.
8202 Implement "<option> should implement the dir attribute" for chromium port after r76983.
8203 https://bugs.webkit.org/show_bug.cgi?id=50969
8205 Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
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.
8215 2011-02-04 Jeremy Orlow <jorlow@chromium.org>
8217 Build fix from merge mistake.
8219 * storage/IDBTransaction.cpp:
8220 (WebCore::IDBTransaction::ensureEventTargetData):
8222 2011-02-04 Levi Weintraub <leviw@chromium.org>
8224 Reviewed by Darin Adler.
8226 Remove unneeded function declarations in comments in EditorClient.h
8227 https://bugs.webkit.org/show_bug.cgi?id=53745
8229 Removing unused commented out function declarations. No tests since this is just cleanup.
8231 * page/EditorClient.h:
8233 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
8235 Reviewed by Nate Chapin.
8237 Refactor IDBRequest and IDBTransaction a bit
8238 https://bugs.webkit.org/show_bug.cgi?id=53565
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.
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:
8278 2011-02-01 Jeremy Orlow <jorlow@chromium.org>
8280 Reviewed by Nate Chapin.
8282 Remove the timeout event from IndexedDB
8283 https://bugs.webkit.org/show_bug.cgi?id=53521
8285 Remove timeout and ontimeout from IDBTransaction per the spec.
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:
8312 2011-02-04 Chris Fleizach <cfleizach@apple.com>
8314 Reviewed by Darin Adler.
8316 AX: Can't set accessibility overridden attributes on web objects
8317 https://bugs.webkit.org/show_bug.cgi?id=53725
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.
8324 * accessibility/mac/AccessibilityObjectWrapper.mm:
8325 (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
8327 2011-02-03 Dimitri Glazkov <dglazkov@chromium.org>
8329 Reviewed by Kent Tamura.
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
8334 Test: fast/repaint/slider-thumb-drag-release.html
8336 * html/shadow/SliderThumbElement.cpp:
8337 (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
8338 that the thumb is repainted.
8340 2011-02-04 Mikhail Naganov <mnaganov@chromium.org>
8342 Reviewed by Pavel Feldman.
8344 Web Inspector: Add "show more" data grid node and waiting message UI components.
8345 https://bugs.webkit.org/show_bug.cgi?id=53763
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);
8351 - waiting message is used for informing user about long lasting
8352 operations (with a possibility to cancel them).
8354 * English.lproj/localizedStrings.js:
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):
8365 * inspector/front-end/inspector.html:
8367 2011-02-04 Adele Peterson <adele@apple.com>
8369 Reviewed by Dan Bernstein.
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
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
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.
8391 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
8393 Reviewed by Pavel Feldman.
8395 Web Inspector: evaluate on hover does not work on a breakpoint.
8396 https://bugs.webkit.org/show_bug.cgi?id=53768
8398 * inspector/front-end/SourceFrame.js:
8399 (WebInspector.SourceFrame.prototype._mouseHover):
8401 2011-02-04 Sheriff Bot <webkit.review.bot@gmail.com>
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
8408 It broke Windows builds (Requested by Ossy_ on #webkit).
8410 * Android.jscbindings.mk:
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:
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):
8428 2011-02-04 Peter Varga <pvarga@webkit.org>
8430 Rubber-stamped by Csaba Osztrogonác.
8432 Replace PCRE with Yarr in WebCore
8433 https://bugs.webkit.org/show_bug.cgi?id=53496
8435 Speculative windows build fix.
8437 No new tests needed.
8439 * platform/text/RegularExpression.cpp:
8441 2011-02-04 Peter Varga <pvarga@webkit.org>
8444 Reviewed by Gavin Barraclough.
8446 Replace PCRE with Yarr in WebCore
8447 https://bugs.webkit.org/show_bug.cgi?id=53496
8449 No new tests needed.
8451 * Android.jscbindings.mk:
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:
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):
8467 2011-02-04 Pavel Feldman <pfeldman@chromium.org>
8469 Reviewed by Yury Semikhatsky.
8471 Web Inspector: Network panel filtering is broken.
8472 https://bugs.webkit.org/show_bug.cgi?id=53764
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):
8484 2011-02-04 Andrey Kosyakov <caseq@chromium.org>
8486 Reviewed by Pavel Feldman.
8488 Web Inspector: support overriding user agent strings
8489 https://bugs.webkit.org/show_bug.cgi?id=51485
8491 Test: http/tests/inspector/extensions-useragent.html
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):
8507 2011-02-04 Pavel Podivilov <podivilov@chromium.org>
8509 Reviewed by Pavel Feldman.
8511 Web Inspector: scripts panel displays wrong file name after reload.
8512 https://bugs.webkit.org/show_bug.cgi?id=53761
8514 * inspector/front-end/ScriptsPanel.js:
8515 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
8517 2011-02-03 Yury Semikhatsky <yurys@chromium.org>
8519 Reviewed by Pavel Feldman.
8521 Web Inspector: remove settings related methods from InspectorClient
8522 https://bugs.webkit.org/show_bug.cgi?id=53686
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:
8539 2011-02-03 Anton Muhin <antonm@chromium.org>
8541 Reviewed by Adam Barth.
8543 [v8] frame several more JS code invocations into v8::TryCatch
8544 https://bugs.webkit.org/show_bug.cgi?id=53594
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.)
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
8559 2011-02-03 Maciej Stachowiak <mjs@apple.com>
8561 Reviewed by Dan Bernstein.
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>
8567 * WebCore.exp.in: Add export now needed by WebKit2
8569 2011-02-03 Victoria Kirst <vrk@google.com>
8571 Reviewed by James Robinson.
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.
8577 [chromium] Fix pink video bug with gpu-acceleration enabled
8578 https://bugs.webkit.org/show_bug.cgi?id=53568
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):
8586 2011-02-03 James Kozianski <koz@chromium.org>
8588 Reviewed by Dimitri Glazkov.
8590 Add navigator.registerProtocolHandler behind a flag.
8591 https://bugs.webkit.org/show_bug.cgi?id=52609
8593 This method is described in the HTML5 specification here,
8594 http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
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.
8599 New layout test fast/dom/registerProtocolHandler.html.
8601 * Configurations/FeatureDefines.xcconfig:
8602 * loader/EmptyClients.h:
8603 (WebCore::EmptyChromeClient::registerProtocolHandler):
8605 (WebCore::Chrome::registerProtocolHandler):
8607 * page/ChromeClient.h:
8608 * page/Navigator.cpp:
8609 (WebCore::verifyCustomHandlerURL):
8610 (WebCore::verifyProtocolHandlerScheme):
8611 (WebCore::Navigator::registerProtocolHandler):
8613 * page/Navigator.idl:
8615 2011-02-03 Brian Ryner <bryner@chromium.org>
8617 Reviewed by Darin Fisher.
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
8622 https://bugs.webkit.org/show_bug.cgi?id=53699
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):
8631 2011-02-03 Adam Langley <agl@chromium.org>
8633 Reviewed by Adam Barth.
8635 Plumb mixed script URL to FrameLoaderClient
8636 https://bugs.webkit.org/show_bug.cgi?id=52384
8638 Regressions covered by http/tests/security/mixedContent/*
8640 * loader/EmptyClients.h:
8641 (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
8642 * loader/FrameLoader.cpp:
8643 (WebCore::FrameLoader::checkIfRunInsecureContent):
8644 * loader/FrameLoaderClient.h:
8646 2011-02-03 Simon Fraser <simon.fraser@apple.com>
8648 Reviewed by Dan Bernstein.
8650 REGRESSION: Artifacts on box-shadow corners in some cases
8651 https://bugs.webkit.org/show_bug.cgi?id=53731
8653 Fix overdrawing artifacts in ShadowBlur's tiling code path,
8654 which show up in shadows using a color with alpha.
8656 Test: fast/box-shadow/shadow-tiling-artifact.html
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.
8664 2011-02-03 Adam Barth <abarth@webkit.org>
8666 Reviewed by Alexey Proskuryakov.
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
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.
8680 * platform/KURL.cpp:
8681 (WebCore::decodeURLEscapeSequences):
8683 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
8685 Reviewed by Pavel Feldman.
8687 Web Inspector: click on a breakpoint highlights wrong line in source frame.
8688 https://bugs.webkit.org/show_bug.cgi?id=53692
8690 * inspector/front-end/BreakpointsSidebarPane.js:
8691 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
8693 2011-02-03 Anton Muhin <antonm@chromium.org>
8695 Reviewed by Adam Barth.
8697 [v8] Bail out if to string conversion returned empty handle
8698 https://bugs.webkit.org/show_bug.cgi?id=53687
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.
8705 See http://code.google.com/p/chromium/issues/detail?id=71544
8707 There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
8709 * bindings/v8/V8Binding.cpp:
8710 (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
8711 * bindings/v8/V8Binding.h:
8712 (WebCore::V8ParameterBase::prepareBase): Ditto
8714 2011-02-03 Adam Barth <abarth@webkit.org>
8716 Attempt to fix Chromium build.
8718 * html/parser/XSSFilter.cpp:
8720 2011-02-03 Dirk Pranke <dpranke@chromium.org>
8722 Unreviewed, rolling out r77562.
8723 http://trac.webkit.org/changeset/77562
8724 https://bugs.webkit.org/show_bug.cgi?id=53630
8726 broke chromium mac build
8728 * WebCore.gyp/WebCore.gyp:
8729 * WebCore.gyp/mac/check_objc_rename.sh: Removed.
8731 2011-02-03 Adam Barth <abarth@webkit.org>
8733 Reviewed by Daniel Bates.
8735 XSS Auditor severely affects loading performance after submitting a large form
8736 https://bugs.webkit.org/show_bug.cgi?id=49845
8738 Switch over from the XSSAuditor to the XSSFilter, improving performance
8741 * html/parser/XSSFilter.cpp:
8742 (WebCore::XSSFilter::filterToken):
8743 * page/XSSAuditor.cpp:
8744 (WebCore::XSSAuditor::isEnabled):
8746 2011-02-03 Dirk Pranke <dpranke@chromium.org>
8748 Unreviewed, rolling out r77567.
8749 http://trac.webkit.org/changeset/77567
8750 https://bugs.webkit.org/show_bug.cgi?id=53468
8752 broke chromium linux svg, canvas tests, possibly win also?
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):
8762 2011-02-02 MORITA Hajime <morrita@google.com>
8764 Reviewed by Dimitri Glazkov.
8766 Refactoring: <progress> should not use ShadowElement
8767 https://bugs.webkit.org/show_bug.cgi?id=53583
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
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.
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):
8806 2011-02-03 Jia Pu <jpu@apple.com>
8808 Reversion should not be marked as misspelled.
8809 https://bugs.webkit.org/show_bug.cgi?id=53255
8811 This patch includes fix for reported bug, and also some housekeeping changes.
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
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.
8829 * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
8831 * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
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.
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.
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.
8872 * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
8874 * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
8875 were broken by relocated WebCore directory.
8877 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
8879 * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
8881 * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
8883 * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
8885 * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
8887 * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
8889 * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
8891 * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
8893 * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
8895 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
8896 were broken by relocated WebCore directory.
8898 * rendering/InlineTextBox.cpp:
8899 (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
8901 2011-02-03 Abhishek Arya <inferno@chromium.org>
8903 Unreviewed, qt build fix.
8905 * rendering/RenderBlock.cpp:
8906 (WebCore::RenderBlock::removeFloatingObject):
8908 2011-02-03 Brian Salomon <bsalomon@google.com>
8910 Reviewed by James Robinson.
8912 Handle non-raster backed images in getUnmultipliedImageData()
8913 https://bugs.webkit.org/show_bug.cgi?id=53468
8915 No new tests. Existing canvas tests sufficient
8916 LayoutTests/canvas/philip/...
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):
8926 2011-02-03 Abhishek Arya <inferno@chromium.org>
8928 Reviewed by James Robinson.
8930 Enforce more limits on root inline boxes height calculations.
8931 https://bugs.webkit.org/show_bug.cgi?id=53729
8933 Test: fast/overflow/overflow-height-float-not-removed-crash.html
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.
8942 2011-02-03 David Levin <levin@chromium.org>
8944 Reviewed by Adam Barth and Oliver Hunt.
8946 Worker.importScript() should clean errors for cross origin imports.
8947 https://bugs.webkit.org/show_bug.cgi?id=52871
8949 Test: http/tests/workers/worker-importScriptsOnError.html
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
8969 (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
8970 * workers/WorkerScriptLoader.h:
8972 2011-02-03 Mark Mentovai <mark@chromium.org>
8974 Reviewed by Dimitri Glazkov.
8976 Chromium GYP build fix.
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.
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.
8990 The build now includes a postbuild step to prevent
8991 http://crbug.com/71537 from regressing again. The build will fail upon
8994 https://bugs.webkit.org/show_bug.cgi?id=53630
8996 * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
8997 direct_dependent_settings as needed, add the check_objc_rename
8999 * WebCore.gyp/mac/check_objc_rename.sh: Added.
9001 2011-02-03 Adam Barth <abarth@webkit.org>
9003 Reviewed by Eric Seidel.
9005 Make XSSFilter go fast by adding a SuffixTree
9006 https://bugs.webkit.org/show_bug.cgi?id=53665
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).
9011 * html/parser/XSSFilter.cpp:
9012 (WebCore::XSSFilter::init):
9013 (WebCore::XSSFilter::isContainedInRequest):
9014 * html/parser/XSSFilter.h:
9016 2011-02-03 Mihai Parparita <mihaip@chromium.org>
9018 Reviewed by Alexey Proskuryakov.
9020 REGRESSION (r77355): Page cache layout tests crash
9021 https://bugs.webkit.org/show_bug.cgi?id=53648
9023 Test: fast/events/pagehide-timeout.html
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
9029 * history/CachedFrame.cpp:
9030 (WebCore::CachedFrame::CachedFrame):
9032 2011-02-03 Jeremy Orlow <jorlow@chromium.org>
9034 Reviewed by Nate Chapin.
9036 SerializedScriptValue should not require v8 to create undefined and null values
9037 https://bugs.webkit.org/show_bug.cgi?id=53730
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
9044 This is necessary because these methods are called by IndexedDB in the browser
9045 process where v8 is not spun up.
9047 No functionality changed and not possible to test.
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:
9058 2011-02-03 Beth Dakin <bdakin@apple.com>
9060 Reviewed by Sam Weinig.
9062 Fix for <rdar://problem/8944544> Ability to animate track
9063 for WKPainter scrollers
9065 Two new WebKitSystemInterface functions.
9067 * platform/mac/WebCoreSystemInterface.h:
9068 * platform/mac/WebCoreSystemInterface.mm:
9070 Use Scrollbar::convertFromContainingView() to return the right point.
9071 * platform/mac/ScrollAnimatorMac.mm:
9072 (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
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:]):
9082 Scrollbars need invalodating after the overlay state changes.
9083 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
9085 2011-02-03 Sam Weinig <sam@webkit.org>
9087 Reviewed by Beth Dakin.
9089 Scroll thumb jumps to top when resizing horizontally.
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.
9096 2011-02-03 Justin Schuh <jschuh@chromium.org>
9098 Reviewed by Dirk Schulze.
9100 startAnimations should use a local, RefCounted Vector.
9101 https://bugs.webkit.org/show_bug.cgi?id=53458
9103 Test: svg/custom/use-animation-in-fill.html
9105 * svg/SVGDocumentExtensions.cpp:
9106 (WebCore::SVGDocumentExtensions::startAnimations):
9108 2011-02-03 Adam Barth <abarth@webkit.org>
9110 Reviewed by Daniel Bates.
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
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.
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:
9131 2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
9133 Reviewed by Kenneth Russell.
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
9140 Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
9143 * platform/graphics/chromium/LayerRendererChromium.cpp:
9144 (WebCore::LayerRendererChromium::drawLayer):
9146 2011-02-03 Dan Bernstein <mitz@apple.com>
9148 Reviewed by Anders Carlsson.
9150 <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
9151 https://bugs.webkit.org/show_bug.cgi?id=53709
9153 Covered by rendering of fast/text/emphasis-vertical.html
9155 * platform/graphics/mac/SimpleFontDataMac.mm:
9156 (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
9159 2011-02-02 Levi Weintraub <leviw@chromium.org>
9161 Reviewed by Ryosuke Niwa.
9163 Moving cursor down in table cycles at the end of a row
9164 https://bugs.webkit.org/show_bug.cgi?id=50012
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.
9169 Test: editing/selection/move-by-line-cycles-in-table.html
9171 * editing/visible_units.cpp:
9172 (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
9175 2011-02-03 Pavel Podivilov <podivilov@chromium.org>
9177 Reviewed by Pavel Feldman.
9179 Web Inspector: remove dead code related to changes panel.
9180 https://bugs.webkit.org/show_bug.cgi?id=53688
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:
9193 2011-02-02 Sam Weinig <sam@webkit.org>
9195 Reviewed by Anders Carlsson.
9197 Add notification of the end of a rubber band.
9198 <rdar://problem/8940648>
9201 Add additional exprots.
9203 * page/ChromeClient.h:
9204 (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
9205 * page/FrameView.cpp:
9206 (WebCore::FrameView::didCompleteRubberBand):
9208 * platform/ScrollView.cpp:
9209 (WebCore::ScrollView::didCompleteRubberBand):
9210 * platform/ScrollView.h:
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.
9221 * platform/mac/ScrollAnimatorMac.mm:
9222 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
9223 Call the new hook when the rubberband ends.
9225 2011-02-02 Evan Martin <evan@chromium.org>
9227 Reviewed by Tony Chang.
9229 [chromium] complex joining characters positioned in wrong place
9230 https://bugs.webkit.org/show_bug.cgi?id=53637
9232 Provide the correct font metrics to Harfbuzz related to the font design space.
9233 There are used in some fonts for GPOS positioning.
9235 Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
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):
9247 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
9249 Reviewed by Kent Tamura.
9251 REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
9252 https://bugs.webkit.org/show_bug.cgi?id=53634
9254 Test: fast/dom/HTMLInputElement/input-slider-update.html
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
9264 * html/RangeInputType.h: Added def.
9266 2011-02-02 Pavel Podivilov <podivilov@chromium.org>
9268 Reviewed by Pavel Feldman.
9270 Web Inspector: do not share source frames between resources panel and scripts panel.
9271 https://bugs.webkit.org/show_bug.cgi?id=53584
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).
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):
9292 2011-02-03 Simon Fraser <simon.fraser@apple.com>
9296 * platform/graphics/ShadowBlur.cpp:
9297 (WebCore::ShadowBlur::blurLayerImage):
9299 2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
9301 Reviewed by Pavel Feldman.
9303 Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
9304 https://bugs.webkit.org/show_bug.cgi?id=53592
9306 In JSC there is no limit, thus 'undefined' value is returned.
9307 For V8, the limit reported by the VM is returned.
9309 * Android.jscbindings.mk:
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:
9332 2011-01-27 Philippe Normand <pnormand@igalia.com>
9334 Reviewed by Martin Robinson.
9336 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
9337 https://bugs.webkit.org/show_bug.cgi?id=53125
9339 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
9340 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
9342 2011-02-03 Simon Fraser <simon.fraser@apple.com>
9344 Reviewed by Sam Weinig.
9346 ShadowBlur radius for CSS shadows is slightly too big
9347 https://bugs.webkit.org/show_bug.cgi?id=53660
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.
9353 Fix with a small fudge factor to reduce the kernel diameter slightly
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.
9360 * platform/graphics/ShadowBlur.cpp:
9361 (WebCore::ShadowBlur::blurLayerImage):
9362 (WebCore::ShadowBlur::drawRectShadowWithTiling):
9364 2011-02-01 Pavel Podivilov <podivilov@chromium.org>
9366 Reviewed by Pavel Feldman.
9368 Web Inspector: introduce new api for managing JavaScript breakpoints.
9369 https://bugs.webkit.org/show_bug.cgi?id=53235
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.
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.
9378 * bindings/js/ScriptDebugServer.cpp:
9379 (WebCore::ScriptDebugServer::setBreakpoint):
9380 (WebCore::ScriptDebugServer::removeBreakpoint):
9381 * bindings/js/ScriptDebugServer.h:
9382 * bindings/v8/DebuggerScript.js:
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:
9438 2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
9440 Reviewed by Dirk Schulze.
9442 small text which is scaled to be large renders pixelated
9443 https://bugs.webkit.org/show_bug.cgi?id=12448
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
9448 misplaced text in SVG
9449 https://bugs.webkit.org/show_bug.cgi?id=17053
9451 Don't render very small (but zoomed) text inside SVG
9452 https://bugs.webkit.org/show_bug.cgi?id=19393
9454 Tiny fonts scaled up end up too large in Safari
9455 https://bugs.webkit.org/show_bug.cgi?id=20192
9457 Stretched SVG Text has awful glyph spacing
9458 https://bugs.webkit.org/show_bug.cgi?id=21774
9460 REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
9461 https://bugs.webkit.org/show_bug.cgi?id=49846
9463 [Gtk] Text height in zoomed SVG is 1px too high
9464 https://bugs.webkit.org/show_bug.cgi?id=50313
9466 SVG text smaller than 0.5px not displayed properly
9467 https://bugs.webkit.org/show_bug.cgi?id=50528
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.
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>
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.)
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.
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)
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))
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:
9517 2011-02-03 Pavel Feldman <pfeldman@chromium.org>
9519 Reviewed by Yury Semikhatsky.
9521 Web Inspector: resources panel doesn't show frames after reload.
9522 https://bugs.webkit.org/show_bug.cgi?id=53430
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):
9533 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
9535 Reviewed by Pavel Feldman.
9537 Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
9538 https://bugs.webkit.org/show_bug.cgi?id=53492
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):
9570 2011-02-03 Adam Barth <abarth@webkit.org>
9572 Reviewed by Daniel Bates.
9574 Teach XSSFilter about data URLs
9575 https://bugs.webkit.org/show_bug.cgi?id=53662
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.
9580 Test: http/tests/security/xssAuditor/data-urls-work.html
9582 * html/parser/XSSFilter.cpp:
9583 (WebCore::XSSFilter::init):
9584 (WebCore::XSSFilter::filterToken):
9586 2011-02-02 Chris Evans <cevans@chromium.org>
9588 Reviewed by Darin Fisher.
9590 window.find() can fail when switching case sensitivity
9591 https://bugs.webkit.org/show_bug.cgi?id=53654
9593 Reset the pattern to a safe one when done, to avoid usearch_reset()
9594 indirectly touching the old, stale text pointer.
9596 Test: fast/text/find-window.html
9598 * editing/TextIterator.cpp:
9599 (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
9601 2011-02-02 Adam Barth <abarth@webkit.org>
9603 Reviewed by Daniel Bates.
9605 Teach XSSFilter that <param> elements can contain URLs
9606 https://bugs.webkit.org/show_bug.cgi?id=53652
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.
9614 http/tests/security/xssAuditor/object-*
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:
9628 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
9630 Reviewed by David Levin.
9632 GCC compiler on ARM issues bogus warnings and fails to compile.
9633 https://bugs.webkit.org/show_bug.cgi?id=53620
9635 Despite warnings explicitly being disallowed (-Wno-uninitialized),
9636 gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
9638 "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
9640 The fix is to add an extra condition, which somehow pacifies the compiler.
9642 * css/CSSPrimitiveValue.cpp:
9643 (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
9645 2011-02-02 Adam Barth <abarth@webkit.org>
9647 Reviewed by Daniel Bates.
9649 Teach XSSFilter about X-XSS-Protection
9650 https://bugs.webkit.org/show_bug.cgi?id=53640
9652 This patch causes us to pass:
9653 http/tests/security/xssAuditor/full-block-*
9654 http/tests/security/xssAuditor/no-protection-script-tag.html
9656 * html/parser/XSSFilter.cpp:
9657 (WebCore::XSSFilter::XSSFilter):
9658 (WebCore::XSSFilter::init):
9659 (WebCore::XSSFilter::filterToken):
9660 * html/parser/XSSFilter.h:
9662 2011-02-02 Adam Barth <abarth@webkit.org>
9664 Reviewed by Daniel Bates.
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
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.
9675 http/tests/security/xssAuditor/javascript-link*
9677 * html/parser/XSSFilter.cpp:
9678 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
9680 2011-02-02 Dan Bernstein <mitz@apple.com>
9682 Reviewed by Sam Weinig.
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
9687 Test: fast/text/bidi-embedding-pop-and-push-same-2.html
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.
9695 2011-02-02 Sam Weinig <sam@webkit.org>
9697 Reviewed by Dan Bernstein.
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.
9703 * platform/ScrollView.cpp:
9704 (WebCore::ScrollView::calculateOverhangAreasForPainting):
9706 2011-02-02 Jeremy Orlow <jorlow@chromium.org>
9708 Reviewed by Nate Chapin.
9710 IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
9711 https://bugs.webkit.org/show_bug.cgi?id=52722
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.
9717 There should be no behavior change.
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:
9733 2011-02-02 Mark Rowe <mrowe@apple.com>
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
9743 2011-02-02 Adam Barth <abarth@webkit.org>
9745 Reviewed by Daniel Bates.
9747 Teach XSSFilter about JavaScript URLs
9748 https://bugs.webkit.org/show_bug.cgi?id=53635
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.
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*
9759 * html/parser/XSSFilter.cpp:
9760 (WebCore::HTMLNames::containsJavaScriptURL):
9761 (WebCore::XSSFilter::filterTokenInitial):
9762 (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
9763 * html/parser/XSSFilter.h:
9765 2011-02-02 Dan Bernstein <mitz@apple.com>
9767 Reviewed by Sam Weinig, even though this is just a...
9771 * platform/mac/ScrollAnimatorMac.mm:
9772 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
9774 2011-02-02 Mark Rowe <mrowe@apple.com>
9776 Reviewed by Beth Dakin.
9778 <rdar://problem/8952012> Crash on launch inside scrollbar code.
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.
9784 * platform/mac/ScrollAnimatorMac.mm:
9785 (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
9786 * platform/mac/ScrollbarThemeMac.mm:
9787 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
9789 2011-02-02 Beth Dakin <bdakin@apple.com>
9795 2011-02-02 Patrick Gansterer <paroga@webkit.org>
9797 Unreviewed WinCE build fix for r77397.
9799 * page/wince/FrameWinCE.cpp:
9800 (WebCore::computePageRectsForFrame):
9802 2011-02-02 Patrick Gansterer <paroga@webkit.org>
9804 Unreviewed WinCE build fix for r77398.
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):
9821 2011-02-02 Jian Li <jianli@chromium.org>
9823 Reviewed by Kenneth Russell.
9825 [V8] Accessing DataView with index of -1 returns 0, doesn't throw
9826 https://bugs.webkit.org/show_bug.cgi?id=53559
9828 Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
9830 * html/canvas/DataView.h:
9831 (WebCore::DataView::beyondRange):
9833 2011-02-02 Sam Weinig <sam@webkit.org>
9835 Reviewed by Beth Dakin.
9837 Add ChromeClient function to paint custom overhang areas.
9838 https://bugs.webkit.org/show_bug.cgi?id=53639
9841 (WebCore::ChromeClient::paintCustomOverhangArea):
9842 * page/ChromeClient.h:
9843 Add ChromeClient function.
9845 * page/FrameView.cpp:
9846 (WebCore::FrameView::paintOverhangAreas):
9848 Call out the the ChromeClient, call ScrollView base implementation
9849 if the ChromeClient returns false.
9851 * platform/ScrollView.cpp:
9852 (WebCore::ScrollView::paintOverhangAreas):
9853 * platform/ScrollView.h:
9854 Add dirty rect for use when painting overhang areas.
9856 2011-02-02 Peter Kasting <pkasting@google.com>
9858 Not reviewed, build fix.
9860 Fix compile after r77427.
9861 https://bugs.webkit.org/show_bug.cgi?id=53455
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):
9876 2011-02-02 Peter Kasting <pkasting@google.com>
9878 Reviewed by David Levin.
9880 Clean up ImageDecoder's comments (remove/trim/clarify).
9881 https://bugs.webkit.org/show_bug.cgi?id=53455
9883 This also renames or eliminates a couple of functions for clarity, and
9884 switches a couple erroneous strncmp() calls to memcmp().
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:
9922 2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
9924 [chromium] Adding support for reflections to the accelerated
9926 https://bugs.webkit.org/show_bug.cgi?id=53179
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
9939 Tests: Covered by existing layout tests in compositing/reflections.
9940 Please see above for exceptions.
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):
9961 2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
9963 Reviewed by Tony Chang.
9965 [Chromium] Select popup with padding has white strip on right
9966 https://bugs.webkit.org/show_bug.cgi?id=53602
9968 No new tests as this change restores old behavior.
9970 * platform/chromium/PopupMenuChromium.cpp:
9971 (WebCore::PopupListBox::layout):
9973 2011-02-02 Beth Dakin <bdakin@apple.com>
9975 Reviewed by Mark Rowe.
9977 Fix for <rdar://problem/8950343> CrashTracer: [USER]
9978 1 crash in WebProcess at com.apple.WebCore:
9979 WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
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):
9987 2011-02-02 Zhenyao Mo <zmo@google.com>
9989 Reviewed by Kenneth Russell.
9991 bufferData and bufferSubData should generate INVALID_VALUE with negative input
9992 https://bugs.webkit.org/show_bug.cgi?id=53626
9994 * html/canvas/WebGLRenderingContext.cpp:
9995 (WebCore::WebGLRenderingContext::bufferData):
9996 (WebCore::WebGLRenderingContext::bufferSubData):
9998 2011-02-02 Jeff Miller <jeffm@apple.com>
10000 Reviewed by Darin Adler and Steve Falkenburg.
10002 Add DerivedSources.make to some Visual Studio projects
10003 https://bugs.webkit.org/show_bug.cgi?id=53607
10005 * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
10007 2011-02-02 Cris Neckar <cdn@chromium.org>
10009 Reviewed by James Robinson.
10011 Refcount domwindows when dispatching device orientation events.
10012 https://bugs.webkit.org/show_bug.cgi?id=53623
10014 Test: fast/events/device-orientation-crash.html
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:
10025 2011-02-02 Zhenyao Mo <zmo@google.com>
10027 Reviewed by Kenneth Russell.
10029 A deleted object should never been bound again
10030 https://bugs.webkit.org/show_bug.cgi?id=53604
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.
10050 2011-02-02 Alejandro G. Castro <alex@igalia.com>
10052 Unreviewed Efl buildfix after r77399.
10054 * CMakeListsEfl.txt:
10056 2011-02-02 Kenneth Russell <kbr@google.com>
10058 Reviewed by James Robinson.
10060 Rename Typed Array subset to subarray
10061 https://bugs.webkit.org/show_bug.cgi?id=53618
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:
10094 2011-02-02 Adam Barth <abarth@webkit.org>
10096 Reviewed by Eric Seidel.
10098 Add an empty file for Content Security Policy
10099 https://bugs.webkit.org/show_bug.cgi?id=53573
10101 Posting this as a separate patch because editing the build files is so
10109 * WebCore.vcproj/WebCore.vcproj:
10110 * WebCore.xcodeproj/project.pbxproj:
10112 2011-02-02 Dan Winship <danw@gnome.org>
10114 Reviewed by Martin Robinson.
10116 [GTK] remove old data: URI handler, fix the SoupRequest-based one
10118 https://bugs.webkit.org/show_bug.cgi?id=50885
10120 * platform/network/soup/ResourceHandleSoup.cpp:
10121 (WebCore::sendRequestCallback): Do content-type sniffing here for
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
10127 (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
10128 code that was a no-op for file: URIs, but would break some data:
10131 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
10133 Update even more references to right() and bottom() in Chromium. Sheesh.
10135 * platform/graphics/chromium/LayerRendererChromium.cpp:
10136 (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
10138 2011-02-02 Alejandro G. Castro <alex@igalia.com>
10140 Unreviewed Gtk3 buildfix after r77286.
10142 https://bugs.webkit.org/show_bug.cgi?id=53520
10143 Remove the physical terminology from IntRect and FloatRect.
10145 * platform/gtk/RenderThemeGtk3.cpp:
10146 (WebCore::RenderThemeGtk::paintMenuList):
10148 2011-02-02 Anders Carlsson <andersca@apple.com>
10152 * platform/mac/ScrollAnimatorMac.mm:
10153 (WebCore::ScrollAnimatorMac::pinnedInDirection):
10155 2011-02-02 David Hyatt <hyatt@apple.com>
10157 Reviewed by Dan Bernstein.
10159 https://bugs.webkit.org/show_bug.cgi?id=53619
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.
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):
10189 2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
10191 Update more references to right() and bottom() in Chromium Win.
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.
10199 2011-02-02 Adam Roben <aroben@apple.com>
10201 Encode/decode FormData and FormDataElement objects consistently
10203 Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
10204 that contains form data fails (asserts in Debug build)
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>.
10210 Reviewed by Darin Adler.
10212 * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
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
10222 (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
10223 matches its type and how we decode it.
10225 2011-02-02 Dan Winship <danw@gnome.org>
10227 Reviewed by Martin Robinson.
10229 [GTK] drop soup cache stuff, which has been moved to libsoup
10230 https://bugs.webkit.org/show_bug.cgi?id=50747
10232 Use libsoup-based cache/requester API and remove the WebCore version
10233 of this functionality. This has been pushed upstream fully.
10235 No new tests because this should not change functionality.
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
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.
10269 2011-02-02 David Hyatt <hyatt@apple.com>
10271 Reviewed by Darin Adler.
10273 https://bugs.webkit.org/show_bug.cgi?id=53520
10275 Remove physical accessors from IntRect and FloatRect.
10277 * page/FrameView.cpp:
10278 (WebCore::FrameView::adjustPageHeightDeprecated):
10279 * platform/graphics/FloatRect.h:
10280 * platform/graphics/IntRect.h:
10282 2011-02-02 David Hyatt <hyatt@apple.com>
10284 Reviewed by Dan Bernstein.
10286 https://bugs.webkit.org/show_bug.cgi?id=53614
10288 Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
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):
10371 2011-02-02 Steve Lacey <sjl@chromium.org>
10373 Reviewed by Eric Carlson.
10375 Implement basic media statistics on media elements.
10376 https://bugs.webkit.org/show_bug.cgi?id=53322
10378 * Configurations/FeatureDefines.xcconfig:
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):
10403 2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
10405 Reviewed by David Hyatt.
10407 More conversion from right()/bottom() to maxX()/maxY().
10409 * page/qt/FrameQt.cpp:
10410 (WebCore::Frame::dragImageForSelection):
10411 * platform/graphics/qt/GraphicsContextQt.cpp:
10412 (WebCore::GraphicsContext::roundToDevicePixels):
10414 2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
10416 [wx] Build fixes for wxWebKit.
10418 * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
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:
10434 2011-02-02 David Hyatt <hyatt@apple.com>
10436 Reviewed by Darin Adler.
10438 More right()/bottom() to maxX()/maxY() conversion.
10440 * page/chromium/FrameChromium.cpp:
10441 (WebCore::Frame::nodeImage):
10442 (WebCore::Frame::dragImageForSelection):
10444 2011-02-02 Sam Weinig <sam@webkit.org>
10446 Fix windows clean build.
10448 * DerivedSources.make:
10450 2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
10452 Reviewed by Pavel Feldman.
10454 Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
10456 https://bugs.webkit.org/show_bug.cgi?id=53606
10458 Display progress while taking a snapshot, and hints while loading
10459 and parsing. This is needed because taking detailed heap snapshots
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):
10477 2011-02-02 David Hyatt <hyatt@apple.com>
10479 Reviewed by Darin Adler.
10481 More conversion from right()/bottom() to maxX()/maxY().
10483 * platform/win/PopupMenuWin.cpp:
10484 (WebCore::PopupMenuWin::calculatePositionAndSize):
10485 (WebCore::PopupMenuWin::paint):
10487 2011-02-02 David Hyatt <hyatt@apple.com>
10489 Reviewed by Darin Adler.
10491 Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
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):
10560 2011-02-02 Antti Koivisto <antti@apple.com>
10562 Reviewed by Maciej Stachowiak.
10564 Use Vector instead of a linked list for rules in CSSStyleSelector
10565 https://bugs.webkit.org/show_bug.cgi?id=53581
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).
10571 - shrink the vectors to fit after collecting the rules
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):
10612 2011-02-02 Andrey Adaikin <aandrey@google.com>
10614 Reviewed by Pavel Feldman.
10616 Web Inspector: Use DIVs instead of TABLE in TextViewer
10617 https://bugs.webkit.org/show_bug.cgi?id=53299
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):
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):
10707 2011-02-02 Hans Wennborg <hans@chromium.org>
10709 Reviewed by Jeremy Orlow.
10711 IndexedDB: Implement support for cursor updates
10712 https://bugs.webkit.org/show_bug.cgi?id=53421
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.
10720 Test: storage/indexeddb/cursor-update.html
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:
10736 2011-02-02 Naoki Takano <takano.naoki@gmail.com>
10738 Reviewed by Kent Tamura.
10740 Fix popup menu RTL bug introduced by Changeset 75982.
10741 https://bugs.webkit.org/show_bug.cgi?id=53567
10743 PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
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
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.
10753 2011-02-02 Alejandro G. Castro <alex@igalia.com>
10755 Reviewed by Martin Robinson.
10757 [GTK] Fix dist compilation
10758 https://bugs.webkit.org/show_bug.cgi?id=53579
10760 * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
10763 2011-02-02 Dai Mikurube <dmikurube@google.com>
10765 Reviewed by David Levin.
10767 Make mime type lookup in File::create(path) thread-safe
10768 https://bugs.webkit.org/show_bug.cgi?id=47700
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.
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.
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):
10806 2011-02-01 Adam Barth <abarth@webkit.org>
10808 Reviewed by Alexey Proskuryakov.
10810 Improve readability of updateWidget by converting bool parameter to an enum
10811 https://bugs.webkit.org/show_bug.cgi?id=53576
10813 As requested on webkit-dev.
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):
10830 2011-02-01 James Robinson <jamesr@chromium.org>
10832 Reviewed by Adam Barth.
10834 [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
10835 https://bugs.webkit.org/show_bug.cgi?id=53566
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.
10840 * bindings/v8/V8Proxy.h:
10842 2011-02-01 Adam Barth <abarth@webkit.org>
10844 Reviewed by Andreas Kling.
10846 Remove useless comment
10847 https://bugs.webkit.org/show_bug.cgi?id=53549
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).
10854 * html/HTMLPlugInImageElement.cpp:
10855 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
10857 2011-02-01 James Simonsen <simonjam@chromium.org>
10859 Reviewed by Tony Gentilcore.
10861 [WebTiming] Remove asserts that verify timestamp order
10862 https://bugs.webkit.org/show_bug.cgi?id=53548
10864 Covered by existing tests.
10866 * loader/FrameLoader.cpp:
10867 (WebCore::FrameLoader::stopLoading): Remove assert.
10868 * page/DOMWindow.cpp:
10869 (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
10871 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
10873 Add the 'default_targets' enclosure to the flags.
10875 * WebCore.gyp/WebCore.gyp: Did it.
10877 2011-02-01 Mihai Parparita <mihaip@chromium.org>
10879 Reviewed by James Robinson.
10881 Async event handlers should not fire within a modal dialog
10882 https://bugs.webkit.org/show_bug.cgi?id=53202
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).
10889 Test: fast/events/scroll-event-during-modal-dialog.html
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:
10907 2011-02-01 Patrick Gansterer <paroga@webkit.org>
10909 Reviewed by Andreas Kling.
10911 Change wrong PLATFORM(WIN) to USE(WININET)
10912 https://bugs.webkit.org/show_bug.cgi?id=53547
10914 * platform/network/ResourceHandle.h:
10916 2011-02-01 Beth Dakin <bdakin@apple.com>
10920 * platform/mac/ScrollAnimatorMac.mm:
10921 (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
10923 2011-01-25 Martin Robinson <mrobinson@igalia.com>
10925 Reviewed by Gustavo Noronha Silva.
10927 [GTK] Two tests crash after r76555
10928 https://bugs.webkit.org/show_bug.cgi?id=53057
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.
10934 * platform/network/soup/ResourceHandleSoup.cpp:
10935 (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
10937 2011-02-01 Martin Robinson <mrobinson@igalia.com>
10939 Reviewed by Eric Seidel.
10941 [GTK] GObject DOM bindings do no support the CallWith attribute
10942 https://bugs.webkit.org/show_bug.cgi?id=53331
10944 Disable building GObject DOM bindings for IndexedDB because we do not support
10945 the CallWith attribute at this time.
10947 * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
10949 2011-02-01 Darin Adler <darin@apple.com>
10951 Reviewed by Brady Eidson.
10953 Fix a couple loose ends from the back/forward tree encode/decode work
10954 https://bugs.webkit.org/show_bug.cgi?id=53537
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.
10963 2011-02-01 Tony Chang <tony@chromium.org>
10965 Reviewed by Kent Tamura.
10967 [chromium] disable arm uninitialized variable warnings
10968 https://bugs.webkit.org/show_bug.cgi?id=53553
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
10975 * WebCore.gyp/WebCore.gyp:
10977 2011-02-01 chris reiss <christopher.reiss@nokia.com>
10979 Reviewed by Adam Barth.
10981 Self-replicating code makes Safari hang and eventually crash
10982 https://bugs.webkit.org/show_bug.cgi?id=15123
10985 Here we are replicating the Firefox safeguard against
10986 recursive document.write( ) 's.
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 :
10995 var t = document.body.innerHTML;
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).
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.)
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
11011 * dom/Document.cpp:
11012 (WebCore::Document::Document):
11013 (WebCore::Document::write):
11016 2011-02-01 Johnny Ding <jnd@chromium.org>
11018 Reviewed by Darin Adler.
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
11023 Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
11025 * html/HTMLAnchorElement.cpp:
11026 (WebCore::handleLinkClick):
11028 2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
11030 Unreviewed Qt buildfix after r77286.
11032 https://bugs.webkit.org/show_bug.cgi?id=53520
11033 Remove the physical terminology from IntRect and FloatRect.
11035 * platform/graphics/TiledBackingStore.cpp:
11036 (WebCore::TiledBackingStore::createTiles):
11038 2011-02-01 Sam Weinig <sam@webkit.org>
11040 Fix Mac production builds.
11042 * DerivedSources.make:
11043 * WebCore.xcodeproj/project.pbxproj:
11044 * platform/mac/ScrollAnimatorMac.h:
11045 * platform/mac/ScrollbarThemeMac.h:
11047 2011-02-01 Darin Adler <darin@apple.com>
11049 Reviewed by Chris Fleizach.
11051 REGRESSION: Removing focus from area element causes unwanted scrolling
11052 https://bugs.webkit.org/show_bug.cgi?id=50169
11054 Test: fast/images/imagemap-scroll.html
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.
11065 * html/HTMLAreaElement.h: Updated for above changes.
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.
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.
11082 2011-02-01 Patrick Gansterer <paroga@webkit.org>
11084 Unreviewed WinCE build fix for r77286.
11086 * platform/graphics/wince/GraphicsContextWinCE.cpp:
11087 (WebCore::TransparentLayerDC::TransparentLayerDC):
11089 2011-02-01 Chris Fleizach <cfleizach@apple.com>
11091 Reviewed by Darin Adler.
11093 AX: AXPosition of AXScrollArea is wrong
11094 https://bugs.webkit.org/show_bug.cgi?id=53511
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.
11100 Test: platform/mac/accessibility/webkit-scrollarea-position.html
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:
11110 2011-02-01 Zhenyao Mo <zmo@google.com>
11112 Reviewed by Kenneth Russell.
11114 getUniform should support SAMPLER_2D or SAMPLER_CUBE
11115 https://bugs.webkit.org/show_bug.cgi?id=52190
11117 * html/canvas/WebGLRenderingContext.cpp:
11118 (WebCore::WebGLRenderingContext::getUniform):
11120 2011-02-01 Zhenyao Mo <zmo@google.com>
11122 Reviewed by Darin Adler.
11124 Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
11125 https://bugs.webkit.org/show_bug.cgi?id=53531
11127 With this fix, running WebGL conformance tests should no longer crash randomly.
11129 * platform/graphics/cg/GraphicsContext3DCG.cpp:
11130 (WebCore::GraphicsContext3D::getImageData):
11132 2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
11134 One more Chromium build fix after r77286.
11136 * platform/chromium/ScrollbarThemeChromiumMac.mm:
11137 (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
11139 2011-02-01 Sam Weinig <sam@webkit.org>
11141 Fix the build for Beth.
11143 * platform/mac/ScrollAnimatorMac.mm:
11144 (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
11146 2011-02-01 Sam Weinig <sam@webkit.org>
11148 Reviewed by Beth Dakin.
11150 Part 2 for <rdar://problem/8492788>
11151 Adopt WKScrollbarPainterController
11153 Use header detection to define scrollbar painting controller #define.
11156 * platform/mac/ScrollAnimatorMac.h:
11157 * platform/mac/ScrollbarThemeMac.h:
11158 * platform/mac/WebCoreSystemInterface.h:
11159 * platform/mac/WebCoreSystemInterface.mm:
11161 2011-02-01 David Hyatt <hyatt@apple.com>
11163 Reviewed by Oliver Hunt.
11165 https://bugs.webkit.org/show_bug.cgi?id=53520
11167 Remove the physical terminology from IntRect and FloatRect.
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.
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.
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:
11200 (WebCore::areRectsFullyAligned):
11201 (WebCore::areRectsMoreThanFullScreenApart):
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):
11350 2011-02-01 Beth Dakin <bdakin@apple.com>
11352 Reviewed by Sam Weinig.
11354 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
11356 Lots of new WebCoreSystemInterface functions to export.
11358 * platform/mac/WebCoreSystemInterface.h:
11359 * platform/mac/WebCoreSystemInterface.mm:
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):
11368 Let the scrollAnimator know when the window has become
11369 active or inactive.
11370 * page/FocusController.cpp:
11371 (WebCore::FocusController::setActive):
11373 Let the scrollAnimator know when all of these things
11375 * page/FrameView.cpp:
11376 (WebCore::FrameView::setContentsSize):
11377 (WebCore::FrameView::didMoveOnscreen):
11378 (WebCore::FrameView::willMoveOffscreen):
11379 (WebCore::FrameView::currentMousePosition):
11380 (WebCore::FrameView::contentsResized):
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:
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):
11416 Let the scrollAnimator know when this is happening.
11417 * platform/ScrollView.cpp:
11418 (WebCore::ScrollView::paint):
11420 New function lets the scrollAnimator get the current
11422 * platform/ScrollView.h:
11423 (WebCore::ScrollView::currentMousePosition):
11425 New function that returns the scrollAnimator when needed.
11426 * platform/ScrollableArea.h:
11427 (WebCore::ScrollableArea::scrollAnimator):
11429 Keep track of if we're in a live resize using a new memeber
11431 * platform/mac/ScrollAnimatorMac.h:
11432 (WebCore::ScrollAnimatorMac::inLiveResize):
11433 * platform/mac/ScrollAnimatorMac.mm:
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:]):
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):
11464 Implement ScrollableArea's virtual function contentsSize() for access
11465 through the scrollAnimator.
11466 * rendering/RenderLayer.h:
11467 (WebCore::RenderLayer::contentsSize):
11469 2011-02-01 Carol Szabo <carol.szabo@nokia.com>
11471 Reviewed by David Hyatt.
11473 layoutTestController.counterValueForElementById does not return the correct value
11474 https://bugs.webkit.org/show_bug.cgi?id=53037
11476 Test: fast/css/counters/deep-before.html
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.
11484 2011-02-01 Anton Muhin <antonm@chromium.org>
11486 Reviewed by Adam Barth.
11488 Allow access for security origin same as this.
11489 https://bugs.webkit.org/show_bug.cgi?id=53440
11491 Hard to test as newly added path currently is never hit.
11493 * page/SecurityOrigin.cpp:
11494 (WebCore::SecurityOrigin::canAccess): allow access if this == other
11496 2011-01-31 Oliver Hunt <oliver@apple.com>
11498 Reviewed by Geoffrey Garen.
11500 Update JSObject storage for new marking API
11501 https://bugs.webkit.org/show_bug.cgi?id=53467
11503 Update WebCore to handle new anonymous slot behaviour.
11505 * bindings/js/JSDOMWindowShell.cpp:
11506 (WebCore::JSDOMWindowShell::setWindow):
11507 * bindings/js/WorkerScriptController.cpp:
11508 (WebCore::WorkerScriptController::initScript):
11509 * bindings/scripts/CodeGeneratorJS.pm:
11511 2011-02-01 Xiaomei Ji <xji@chromium.org>
11513 Reviewed by David Hyatt.
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
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>
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.
11527 The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
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
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>
11541 Test: fast/dom/34176.html
11543 * rendering/RenderBlockLineLayout.cpp:
11544 (WebCore::parentIsConstructedOrHaveNext):
11545 (WebCore::RenderBlock::createLineBoxes):
11547 2011-02-01 Abhishek Arya <inferno@chromium.org>
11549 Reviewed by Dan Bernstein.
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
11555 Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
11557 * dom/Document.cpp:
11558 (WebCore::Document::addStyleSheetCandidateNode):
11560 2011-02-01 Dave Hyatt <hyatt@apple.com>
11562 Reviewed by Darin Adler.
11564 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
11565 with vertical text.
11567 Change printing functions to check writing-mode and properly swap width and height
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
11574 Rewrite computePageRects to handle both RTL documents properly as well as vertical
11575 text documents properly.
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):
11597 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
11599 Reviewed by Pavel Feldman.
11601 Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
11603 https://bugs.webkit.org/show_bug.cgi?id=53500
11605 * inspector/InspectorProfilerAgent.cpp:
11606 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
11608 2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
11610 Reviewed by Pavel Feldman.
11612 Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
11614 https://bugs.webkit.org/show_bug.cgi?id=53173
11616 Adding code for accessing heap snapshot data and
11617 performing graph calculations.
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):
11634 2011-02-01 Adam Roben <aroben@apple.com>
11636 Fix linker warnings in Release_LTCG builds
11638 * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
11639 configurations, since they get pulled in via DOMAllInOne.cpp.
11641 2011-02-01 Alexander Pavlov <apavlov@chromium.org>
11643 Reviewed by Yury Semikhatsky.
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
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):
11655 2011-02-01 Anton Muhin <antonm@chromium.org>
11657 Reviewed by Adam Barth.
11659 Propagate parent document security origin to newly create Document XML response
11660 https://bugs.webkit.org/show_bug.cgi?id=53444
11662 Covered by the existing tests.
11664 * xml/XMLHttpRequest.cpp:
11665 (WebCore::XMLHttpRequest::responseXML):
11667 2011-02-01 Yury Semikhatsky <yurys@chromium.org>
11669 Unreviewed. Rollout r77230 which caused many layout tests
11670 crashes on Chromium Debug bots.
11672 Async event handlers should not fire within a modal dialog
11673 https://bugs.webkit.org/show_bug.cgi?id=53202
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:
11683 2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
11685 Reviewed by Dirk Schulze.
11687 LightElement changes does not require relayout.
11688 https://bugs.webkit.org/show_bug.cgi?id=53232
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.
11695 Duplicated 'id' attributes removed from svg-filter-animation.svg.
11697 Existing dynamic-update tests covers this feature.
11699 5x speedup on manual-tests/svg-filter-animation.svg
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:
11752 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
11754 Reviewed by Dimitri Glazkov.
11756 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
11757 https://bugs.webkit.org/show_bug.cgi?id=53289
11759 Moving the nested class DocumentOrderedMap from Document into separate files,
11760 updating code where necessary.
11762 No new tests. (refactoring)
11769 * WebCore.vcproj/WebCore.vcproj:
11770 * WebCore.xcodeproj/project.pbxproj:
11771 * dom/Document.cpp:
11772 (WebCore::Document::getElementById):
11773 (WebCore::Document::getImageMap):
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:
11791 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
11793 Reviewed by Martin Robinson.
11795 [Gtk] atk_text_set_caret_offset fails for list items
11796 https://bugs.webkit.org/show_bug.cgi?id=53388
11798 Allow using text ranges across list items.
11800 * accessibility/gtk/AccessibilityObjectAtk.cpp:
11801 (WebCore::AccessibilityObject::allowsTextRanges): Add list items
11802 to the list of accessibility objects supporting text ranges.
11804 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
11806 Reviewed by Martin Robinson.
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
11811 Fixed wrong calculation getting the range extents.
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.
11817 2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
11819 Reviewed by Martin Robinson.
11821 [GTK] Caret Offset is one off at the end of wrapped lines
11822 https://bugs.webkit.org/show_bug.cgi?id=53300
11824 Consider linebreaks as special cases.
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().
11832 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
11834 Unreviewed, rolling out r77229.
11835 http://trac.webkit.org/changeset/77229
11836 https://bugs.webkit.org/show_bug.cgi?id=53289
11838 revert mysterious build breakage
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):
11859 (WebCore::Document::DocumentOrderedMap::contains):
11860 (WebCore::Document::DocumentOrderedMap::containsMultiple):
11861 * dom/DocumentOrderedMap.cpp: Removed.
11862 * dom/DocumentOrderedMap.h: Removed.
11864 2011-02-01 Mihai Parparita <mihaip@chromium.org>
11866 Reviewed by James Robinson.
11868 Async event handlers should not fire within a modal dialog
11869 https://bugs.webkit.org/show_bug.cgi?id=53202
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).
11876 Test: fast/events/scroll-event-during-modal-dialog.html
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):
11889 2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
11891 Reviewed by Dimitri Glazkov.
11893 Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
11894 https://bugs.webkit.org/show_bug.cgi?id=53289
11896 Moving the nested class DocumentOrderedMap from Document into separate files,
11897 updating code where necessary.
11899 No new tests. (refactoring)
11906 * WebCore.vcproj/WebCore.vcproj:
11907 * WebCore.xcodeproj/project.pbxproj:
11908 * dom/Document.cpp:
11909 (WebCore::Document::getElementById):
11910 (WebCore::Document::getImageMap):
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:
11928 2011-02-01 Naoki Takano <takano.naoki@gmail.com>
11930 Reviewed by Darin Fisher.
11932 [Chromium] Autofill should work with HTML5 form elements
11933 https://bugs.webkit.org/show_bug.cgi?id=51809
11934 http://crbug.com/65654
11936 No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
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.
11945 2011-02-01 Kent Tamura <tkent@chromium.org>
11947 Reviewed by Dan Bernstein.
11949 REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
11950 https://bugs.webkit.org/show_bug.cgi?id=53272
11952 * editing/TextIterator.cpp:
11953 (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
11955 2011-01-31 Alexey Proskuryakov <ap@apple.com>
11957 Reviewed by Maciej Stachowiak.
11959 https://bugs.webkit.org/show_bug.cgi?id=53466
11960 Move WebKit2 to printing via API methods
11962 * WebCore.exp.in: Export IntRect::scale().
11964 2011-01-31 Patrick Gansterer <paroga@webkit.org>
11966 Reviewed by Adam Barth.
11968 Remove obsolete comment after r41871
11969 https://bugs.webkit.org/show_bug.cgi?id=53406
11973 2011-01-31 Simon Fraser <simon.fraser@apple.com>
11975 Fix according to reviewer comments: can just use Color::black now.
11977 * platform/graphics/ShadowBlur.cpp:
11978 (WebCore::ShadowBlur::drawInsetShadow):
11979 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
11981 2011-01-31 Simon Fraser <simon.fraser@apple.com>
11983 Reviewed by Sam Weinig.
11985 Clean up ShadowBlur
11986 https://bugs.webkit.org/show_bug.cgi?id=53472
11988 Some minor ShadowBlur cleanup.
11990 * platform/graphics/ShadowBlur.h:
11991 * platform/graphics/ShadowBlur.cpp:
11992 (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
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.
12011 2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
12013 Reviewed by Kenneth Rohde Christiansen.
12015 [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
12016 https://bugs.webkit.org/show_bug.cgi?id=46748
12018 This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
12019 Added a regression test to tst_QWebFrame.
12021 * bridge/qt/qt_instance.cpp:
12022 (JSC::Bindings::QtInstance::QtInstance):
12024 2011-01-27 MORITA Hajime <morrita@google.com>
12026 Reviewed by Dimitri Glazkov.
12028 Convert <progress> shadow DOM to a DOM-based shadow.
12029 https://bugs.webkit.org/show_bug.cgi?id=50660
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
12037 No new tests. No behavioral change.
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:
12064 2011-01-31 Charlie Reis <creis@chromium.org>
12066 Reviewed by Mihai Parparita.
12068 Add sanity check to help diagnose bug 52819
12069 https://bugs.webkit.org/show_bug.cgi?id=53402
12071 Crash early if the children of fromItem look invalid.
12073 * loader/HistoryController.cpp:
12075 2011-01-31 Kalle Vahlman <kalle.vahlman@movial.com>
12077 Reviewed by Andreas Kling.
12079 [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
12080 https://bugs.webkit.org/show_bug.cgi?id=53325
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.
12087 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
12088 (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
12089 * platform/graphics/qt/MediaPlayerPrivateQt.h:
12091 2011-01-31 Emil A Eklund <eae@chromium.org>
12093 Reviewed by Darin Adler.
12095 Setting "selected" attribute to false should have no effect in single line <select>
12096 https://bugs.webkit.org/show_bug.cgi?id=52436
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.
12102 Test: fast/dom/HTMLSelectElement/selected-false.html
12104 * dom/SelectElement.cpp:
12105 (WebCore::SelectElement::setSelectedIndex):
12107 2011-01-31 Alexander Pavlov <apavlov@chromium.org>
12109 Reviewed by Yury Semikhatsky.
12111 Web Inspector: Console source references need a left-margin
12112 https://bugs.webkit.org/show_bug.cgi?id=53308
12114 * inspector/front-end/inspector.css:
12115 (.console-message-url): Added a 4px margin on the left.
12117 2011-01-31 Carol Szabo <carol.szabo@nokia.com>
12119 Reviewed by David Hyatt.
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
12126 No new tests. No change in functionality
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
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
12143 * rendering/RenderObjectChildList.h:
12145 2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com>
12147 Reviewed by David Hyatt.
12149 Add background-clip to background shorthand
12150 https://bugs.webkit.org/show_bug.cgi?id=52080
12152 Added background-clip to background-shorthand. Also made changes to
12153 include webkitMaskClip to the mask shorthand to keep both in sync.
12155 * css/CSSParser.cpp:
12156 (WebCore::CSSParser::parseValue):
12157 (WebCore::CSSParser::parseFillShorthand):
12159 2011-01-31 Darin Adler <darin@apple.com>
12161 Reviewed by Adele Peterson.
12163 WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
12164 https://bugs.webkit.org/show_bug.cgi?id=53460
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.
12173 2011-01-31 Dan Bernstein <mitz@apple.com>
12175 Reviewed by Adele Peterson.
12177 Inter-ideograph justification should apply to hiragana and katakana as well
12178 https://bugs.webkit.org/show_bug.cgi?id=53464
12180 Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
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):
12189 2011-01-31 Dimitri Glazkov <dglazkov@chromium.org>
12191 Reviewed by James Robinson.
12193 REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
12194 https://bugs.webkit.org/show_bug.cgi?id=53314
12196 Fixes media/controls-strict.html on Chromium.
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.
12202 2011-01-31 Kent Tamura <tkent@chromium.org>
12204 Reviewed by Dimitri Glazkov.
12206 Validation message bubble shouldn't inherit text-security style
12207 https://bugs.webkit.org/show_bug.cgi?id=53457
12209 No new tests because the validation message feature depends on timers
12210 and is enabled only in Chromium port.
12213 (::-webkit-validation-bubble): Reset -webkit-text-security.
12215 2011-01-31 Michael Saboff <msaboff@apple.com>
12217 Reviewed by Geoffrey Garen.
12219 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
12220 https://bugs.webkit.org/show_bug.cgi?id=53271
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
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.
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.
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:
12247 2011-01-31 Andreas Kling <kling@webkit.org>
12249 Unbreak Qt build after r77151.
12251 * bridge/qt/qt_instance.cpp:
12252 (JSC::Bindings::QtInstance::removeCachedMethod):
12253 (JSC::Bindings::QtInstance::markAggregate):
12255 2011-01-31 takano takumi <takano@apple.com>
12257 Reviewed by Dave Hyatt.
12259 Implement text-combine rendering code
12260 https://bugs.webkit.org/show_bug.cgi?id=50621
12262 Test: fast/text/international/text-combine-image-test.html
12264 * Android.mk: Added RenderCombineText.cpp/h
12265 * CMakeLists.txt: Added RenderCombineText.cpp/h
12266 * GNUmakefile.am: Added RenderCombineText.cpp/h
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.
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:
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=):
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:
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):
12340 * platform/graphics/qt/FontCustomPlatformData.h:
12342 * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
12343 (WebCore::FontCustomPlatformData::fontPlatformData):
12345 * platform/graphics/skia/FontCustomPlatformData.cpp:
12346 (WebCore::FontCustomPlatformData::fontPlatformData):
12348 * platform/graphics/skia/FontCustomPlatformData.h:
12350 * platform/graphics/win/FontCustomPlatformData.cpp:
12351 (WebCore::FontCustomPlatformData::fontPlatformData):
12353 * platform/graphics/win/FontCustomPlatformData.h:
12355 * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
12357 (WebCore::FontCustomPlatformData::fontPlatformData):
12359 * platform/graphics/win/FontCustomPlatformDataCairo.h:
12361 * platform/graphics/wince/FontCustomPlatformData.cpp:
12362 (WebCore::FontCustomPlatformData::fontPlatformData):
12364 * platform/graphics/wince/FontCustomPlatformData.h:
12366 * platform/graphics/wx/FontCustomPlatformData.cpp:
12367 (WebCore::FontCustomPlatformData::fontPlatformData):
12369 * platform/graphics/wx/FontCustomPlatformData.h:
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):
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.
12418 2011-01-31 Oliver Hunt <oliver@apple.com>
12420 Convert markstack to a slot visitor API
12421 https://bugs.webkit.org/show_bug.cgi?id=53219
12423 rolling r77098, r77099, r77100, r77109, and
12424 r77111 back in, along with a few more Qt fix attempts.
12426 * ForwardingHeaders/runtime/WriteBarrier.h: Added.
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:
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:
12502 2011-01-31 Dan Winship <danw@gnome.org>
12504 Reviewed by Gustavo Noronha Silva.
12506 wss (websockets ssl) support for gtk via new gio TLS support
12507 https://bugs.webkit.org/show_bug.cgi?id=50344
12509 Update to use GPollableOutputStream and GTlsConnection to
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):
12520 2011-01-31 Abhishek Arya <inferno@chromium.org>
12522 Reviewed by Dimitri Glazkov.
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
12528 Test: fast/forms/textarea-node-removed-from-document-crash.html
12530 * rendering/RenderTextControlMultiLine.cpp:
12531 (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
12533 2011-01-27 Abhishek Arya <inferno@chromium.org>
12535 Reviewed by Dave Hyatt.
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
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
12547 * rendering/RenderTable.cpp:
12548 (WebCore::RenderTable::addChild):
12550 2011-01-31 Shane Stephens <shanestephens@google.com>
12552 Reviewed by Simon Fraser.
12554 AffineTransform::translateRight incorrectly computes a translateLeft.
12555 https://bugs.webkit.org/show_bug.cgi?id=52551
12557 Removed translateRight and converted all uses to perform standard
12558 matrix multiplication.
12560 No new tests because patch doesn't modify functionality.
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):
12575 2011-01-31 Mario Sanchez Prada <msanchez@igalia.com>
12577 Reviewed by Martin Robinson.
12579 [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
12580 https://bugs.webkit.org/show_bug.cgi?id=53389
12582 Return FALSE when not able to set the caret at the specified offset.
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.
12588 2011-01-28 Pavel Feldman <pfeldman@chromium.org>
12590 Reviewed by Yury Semikhatsky.
12592 Web Inspector: copy HAR to clipboard instead of saving blob on export.
12593 https://bugs.webkit.org/show_bug.cgi?id=53328
12595 * inspector/front-end/NetworkPanel.js:
12596 (WebInspector.NetworkPanel.prototype._exportAll):
12597 (WebInspector.NetworkPanel.prototype._exportResource):
12599 2011-01-30 Pavel Feldman <pfeldman@chromium.org>
12601 Reviewed by Timothy Hatcher.
12603 Web Inspector: speed up network panel rendering.
12604 https://bugs.webkit.org/show_bug.cgi?id=53397
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):
12619 2011-01-31 Peter Varga <pvarga@webkit.org>
12621 Reviewed by Andreas Kling.
12623 Remove wrec from WebCore
12624 https://bugs.webkit.org/show_bug.cgi?id=53298
12626 No new tests needed.
12628 * Android.jscbindings.mk:
12629 * ForwardingHeaders/wrec/WREC.h: Removed.
12630 * WebCore.vcproj/WebCore.vcproj:
12631 * WebCore.vcproj/copyForwardingHeaders.cmd:
12633 2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
12635 Unreviewed, rolling out r76969.
12636 http://trac.webkit.org/changeset/76969
12637 https://bugs.webkit.org/show_bug.cgi?id=53418
12639 "It is causing crashes in GTK+ and Leopard bots" (Requested by
12640 alexg__ on #webkit).
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:
12648 2011-01-31 Antti Koivisto <antti@apple.com>
12654 * css/CSSSelectorList.h:
12655 (WebCore::CSSSelectorList::next):
12657 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
12659 Unreviewed. Fix Chromium compilation on Linux.
12661 * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
12662 * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
12664 2011-01-31 Yury Semikhatsky <yurys@chromium.org>
12666 Unreviewed. Fix Chromium compilation on Mac broken by r77101.
12668 * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
12670 2011-01-31 Mikhail Naganov <mnaganov@chromium.org>
12672 Reviewed by Yury Semikhatsky.
12674 WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
12676 https://bugs.webkit.org/show_bug.cgi?id=53309
12678 * English.lproj/localizedStrings.js:
12679 * inspector/front-end/ProfilesPanel.js:
12680 (WebInspector.ProfilesPanel):
12682 2011-01-31 Carlos Garcia Campos <cgarcia@igalia.com>
12684 Unreviewed, fix the build with current GTK+ 3.x.
12686 * plugins/gtk/gtk2xtbin.c:
12687 * plugins/gtk/gtk2xtbin.h:
12689 2011-01-30 Kenichi Ishibashi <bashi@google.com>
12691 Reviewed by Kent Tamura.
12693 Dangling form associated elements should not be registered on the document
12694 https://bugs.webkit.org/show_bug.cgi?id=53223
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.
12700 Test: fast/forms/dangling-form-element-crash.html
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().
12720 2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
12722 Unreviewed, rolling out r77098, r77099, r77100, r77109, and
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
12733 * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
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:
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:
12809 2011-01-30 Sheriff Bot <webkit.review.bot@gmail.com>
12811 Unreviewed, rolling out r77107.
12812 http://trac.webkit.org/changeset/77107
12813 https://bugs.webkit.org/show_bug.cgi?id=53412
12815 Caused 5 new form-related test crashes (Requested by smfr on
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:
12835 2011-01-30 Simon Fraser <simon.fraser@apple.com>
12837 Reviewed by Sam Weinig.
12839 Enhance ShadowBlur to render inset box shadows
12840 https://bugs.webkit.org/show_bug.cgi?id=51567
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.
12846 Test: fast/box-shadow/inset-box-shadow-radius.html
12848 * platform/graphics/ShadowBlur.cpp:
12849 * platform/graphics/ShadowBlur.h: New method for inset
12851 (WebCore::ShadowBlur::drawInsetShadow):
12853 * platform/graphics/GraphicsContext.cpp: #ifdef out
12854 fillRectWithRoundedHole() for CG.
12856 * platform/graphics/cg/GraphicsContextCG.cpp:
12857 (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
12858 a shadow with a radius > 0, use ShadowBlur.
12860 2011-01-28 Kenneth Russell <kbr@google.com>
12862 Reviewed by Chris Marrin.
12864 WebGL shows PNG Textures with indexed colors too dark
12865 https://bugs.webkit.org/show_bug.cgi?id=47477
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.
12871 * platform/graphics/cg/GraphicsContext3DCG.cpp:
12872 (WebCore::GraphicsContext3D::getImageData):
12874 2011-01-27 MORITA Hajime <morrita@google.com>
12876 Reviewed by Dimitri Glazkov.
12878 Convert <progress> shadow DOM to a DOM-based shadow.
12879 https://bugs.webkit.org/show_bug.cgi?id=50660
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
12887 No new tests. No behavioral change.
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:
12913 2011-01-30 Simon Fraser <simon.fraser@apple.com>
12915 Reviewed by Ariya Hidayat.
12917 Enhance ShadowBlur to render inset box shadows; Part 1.
12918 https://bugs.webkit.org/show_bug.cgi?id=51567
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.
12924 * platform/graphics/GraphicsContext.cpp:
12925 (WebCore::GraphicsContext::fillRectWithRoundedHole):
12926 * platform/graphics/GraphicsContext.h:
12927 * rendering/RenderBoxModelObject.cpp:
12928 (WebCore::RenderBoxModelObject::paintBoxShadow):
12930 2011-01-23 MORITA Hajime <morrita@google.com>
12932 Reviewed by Eric Seidel.
12934 REGRESSION: Inset shadow with too large border radius misses rounded corner.
12935 https://bugs.webkit.org/show_bug.cgi?id=52800
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.
12943 This change moved setRect() before
12944 getRoundedInnerBorderWithBorderWidths() not to modify the valid
12945 RoundedIntRect value.
12947 Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
12949 * rendering/RenderBoxModelObject.cpp:
12950 (WebCore::RenderBoxModelObject::paintBoxShadow):
12952 2011-01-30 Simon Fraser <simon.fraser@apple.com>
12954 Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
12957 * WebCore.vcproj/WebCore.vcproj:
12959 2011-01-30 Simon Fraser <simon.fraser@apple.com>
12961 Reviewed by Dan Bernstein.
12963 -webkit-box-shadow causes awful scroll/resize/redraw performance
12964 https://bugs.webkit.org/show_bug.cgi?id=22102
12966 Use ShadowBlur for CG, whe rendering shadows on rects and
12967 rounded rects outside of canvas.
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().
12974 Test: fast/box-shadow/box-shadow-transformed.html
12976 * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
12977 for canvas, to indicate that it should use the deprecated radius
12979 (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
12980 (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
12981 (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
12983 * platform/graphics/GraphicsContext.cpp:
12984 (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
12986 * platform/graphics/GraphicsContext.h:
12987 (WebCore::GraphicsContextState::GraphicsContextState): Add a
12988 shadowsUseLegacyRadius bit to the state.
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.
12999 * rendering/RenderBoxModelObject.cpp:
13000 (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
13001 for -webkit-box-shadow.
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.
13009 2011-01-30 Oliver Hunt <oliver@apple.com>
13011 Try to fix Qt build (again).
13013 * bridge/qt/qt_runtime.cpp:
13014 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
13015 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
13017 2011-01-30 Oliver Hunt <oliver@apple.com>
13019 Try to fix Qt build.
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:
13027 2011-01-30 Oliver Hunt <oliver@apple.com>
13029 Convert markstack to a slot visitor API
13030 https://bugs.webkit.org/show_bug.cgi?id=53219
13032 rolling r77006 and r77020 back in.
13034 * ForwardingHeaders/runtime/WriteBarrier.h: Added.
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:
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:
13106 2011-01-30 Simon Fraser <simon.fraser@apple.com>
13108 Reviewed by Sam Weinig.
13110 Make ContextShadow code cross-platform
13111 https://bugs.webkit.org/show_bug.cgi?id=51312
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.
13118 Add ShadowBlur to the Mac Xcode project, but don't use it
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):
13149 2011-01-29 Simon Fraser <simon.fraser@apple.com>
13151 Reviewed by Dan Bernstein.
13153 CSS3 gradients with em-based stops fail to repaint when font size changes
13154 https://bugs.webkit.org/show_bug.cgi?id=51845
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.
13161 Test: fast/repaint/gradients-em-stops-repaint.html
13163 * css/CSSGradientValue.cpp:
13164 (WebCore::CSSGradientValue::image):
13165 (WebCore::CSSGradientValue::isCacheable):
13166 * css/CSSGradientValue.h:
13168 2011-01-29 Geoffrey Garen <ggaren@apple.com>
13170 Undo try to fix the Qt build.
13172 My guess didn't work.
13176 2011-01-29 Geoffrey Garen <ggaren@apple.com>
13178 Try to fix the Qt build.
13180 * WebCore.pro: Added platform/text/CharacterNames.h.
13182 2011-01-28 Geoffrey Garen <ggaren@apple.com>
13184 Reviewed by Maciej Stachowiak.
13186 Some more Heap cleanup.
13187 https://bugs.webkit.org/show_bug.cgi?id=53357
13189 Updated for JavaScriptCore changes.
13191 * bindings/js/ScriptGCEvent.cpp:
13192 (WebCore::ScriptGCEvent::getHeapSize):
13194 2011-01-29 Adam Barth <abarth@webkit.org>
13196 Reviewed by Daniel Bates.
13198 Fix XSSFilter crash when extracting the source for a token twice
13199 https://bugs.webkit.org/show_bug.cgi?id=53368
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.
13206 * html/parser/HTMLSourceTracker.cpp:
13207 (WebCore::HTMLSourceTracker::end):
13208 (WebCore::HTMLSourceTracker::sourceForToken):
13209 * html/parser/HTMLSourceTracker.h:
13211 2011-01-29 Maciej Stachowiak <mjs@apple.com>
13213 Reviewed by Dan Bernstein.
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
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):
13226 2011-01-29 Daniel Bates <dbates@rim.com>
13228 Reviewed by Maciej Stachowiak.
13230 Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
13231 https://bugs.webkit.org/show_bug.cgi?id=53382
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.
13239 2011-01-29 Sam Weinig <sam@webkit.org>
13241 Reviewed by Jon Honeycutt.
13243 Fix 32-bit build on the Mac.
13245 * platform/mac/ScrollAnimatorMac.mm:
13246 (WebCore::roundTowardZero):
13247 (WebCore::roundToDevicePixelTowardZero):
13248 Use floats instead of doubles to avoid double-to-float conversion
13251 2011-01-29 Simon Fraser <simon.fraser@apple.com>
13253 Reviewed by Adam Barth.
13255 Use clampToInteger() functions in a few places
13256 https://bugs.webkit.org/show_bug.cgi?id=53363
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.
13264 2011-01-29 Patrick Gansterer <paroga@webkit.org>
13266 Reviewed by David Kilzer.
13268 Move CharacterNames.h into WTF directory
13269 https://bugs.webkit.org/show_bug.cgi?id=49618
13271 * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
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:
13319 2011-01-29 Dan Winship <danw@gnome.org>
13321 Reviewed by Xan Lopez.
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
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):
13339 2011-01-29 Adam Barth <abarth@webkit.org>
13341 Reviewed by Daniel Bates.
13343 XSSFilter should replace URLs with about:blank instead of the empty string
13344 https://bugs.webkit.org/show_bug.cgi?id=53370
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.
13350 * html/parser/XSSFilter.cpp:
13351 (WebCore::XSSFilter::filterObjectToken):
13352 (WebCore::XSSFilter::filterEmbedToken):
13354 2011-01-29 Adam Barth <abarth@webkit.org>
13356 Reviewed by Daniel Bates.
13358 XSSFilter should pass xssAuditor/script-tag-addslashes*
13359 https://bugs.webkit.org/show_bug.cgi?id=53365
13361 We need to canonicalize strings to avoid being tricked by addslashes.
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
13368 (WebCore::HTMLNames::canonicalize):
13369 (WebCore::HTMLNames::decodeURL):
13370 (WebCore::XSSFilter::isContainedInRequest):
13372 2011-01-29 Adam Barth <abarth@webkit.org>
13374 Reviewed by Daniel Bates.
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
13380 We're supposed to allow loading same-origin resources even if they
13381 appear as part of the request.
13383 Also, we're supposed to look at the POST data too. :)
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:
13392 2011-01-29 Adam Barth <abarth@webkit.org>
13394 Reviewed by Daniel Bates.
13396 XSSFilter should pass 16 of the xssAuditor/script-tag* tests
13397 https://bugs.webkit.org/show_bug.cgi?id=53362
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
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:
13411 2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
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>
13417 Reviewed by Alice Liu.
13419 * WebCore.vcproj/WebCore.vcproj:
13420 Added new files to project.
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
13427 (WebCore::DownloadBundle::fileExtension):
13429 (WebCore::DownloadBundle::appendResumeData):
13430 Ditto - but modified to return bool rather than HRESULT and to clean up
13432 (WebCore::DownloadBundle::extractResumeData):
13433 Ditto - modified to clean up whitespace.
13435 2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
13437 Unreviewed, rolling out r77050.
13438 http://trac.webkit.org/changeset/77050
13439 https://bugs.webkit.org/show_bug.cgi?id=53371
13441 Caused a crash in Chromium's test_shell_tests (Requested by
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:
13450 2011-01-28 Eric Seidel <eric@webkit.org>
13452 Reviewed by Darin Adler.
13454 HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
13455 https://bugs.webkit.org/show_bug.cgi?id=48719
13457 It's unclear exactly what the Peacekeeper benchmark is testing,
13458 because I haven't found a way to run it myself.
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.
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.
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.
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:
13483 2011-01-28 Johnny Ding <jnd@chromium.org>
13485 Reviewed by Adam Barth.
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
13491 Test: fast/events/popup-blocked-from-iframe-src.html
13493 * bindings/ScriptControllerBase.cpp:
13494 (WebCore::ScriptController::executeIfJavaScriptURL):
13496 2011-01-28 Simon Fraser <simon.fraser@apple.com>
13498 Reviewed by Gavin Barraclough.
13500 Add various clampToInt() methods to MathExtras.h
13501 https://bugs.webkit.org/show_bug.cgi?id=52910
13503 Use clampToInteger() from MathExtras.h
13505 * css/CSSParser.cpp:
13506 (WebCore::CSSParser::parseCounter):
13508 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
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
13515 "Broke Windows tests" (Requested by rniwa on #webkit).
13517 * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
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:
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:
13588 2011-01-28 Adam Barth <abarth@webkit.org>
13590 Reviewed by Eric Seidel.
13592 XSSFilter should log to the console when it blocks something
13593 https://bugs.webkit.org/show_bug.cgi?id=53354
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).
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:
13616 2011-01-28 Adam Barth <abarth@webkit.org>
13618 Reviewed by Daniel Bates.
13620 Wire up settings->xssAuditorEnabled to XSSFilter
13621 https://bugs.webkit.org/show_bug.cgi?id=53345
13623 * html/parser/XSSFilter.cpp:
13624 (WebCore::XSSFilter::XSSFilter):
13625 (WebCore::XSSFilter::filterToken):
13626 * html/parser/XSSFilter.h:
13628 2011-01-28 Adam Barth <abarth@webkit.org>
13630 Reviewed by Daniel Bates.
13632 Teach XSSFilter about <meta> and <base> tags
13633 https://bugs.webkit.org/show_bug.cgi?id=53339
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.
13640 * html/parser/XSSFilter.cpp:
13641 (WebCore::XSSFilter::filterToken):
13642 (WebCore::XSSFilter::filterMetaToken):
13643 (WebCore::XSSFilter::filterBaseToken):
13644 * html/parser/XSSFilter.h:
13646 2011-01-28 Adam Barth <abarth@webkit.org>
13648 Reviewed by Daniel Bates.
13650 Teach XSSFilter about <applet>
13651 https://bugs.webkit.org/show_bug.cgi?id=53338
13653 HTML5 is pretty light on information about how the <applet> tag works.
13654 According to this site:
13656 http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
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.
13663 * html/parser/XSSFilter.cpp:
13664 (WebCore::XSSFilter::filterToken):
13665 (WebCore::XSSFilter::filterAppletToken):
13666 * html/parser/XSSFilter.h:
13668 2011-01-28 Adam Barth <abarth@webkit.org>
13670 Reviewed by Daniel Bates.
13672 Teach the XSSFilter about object and embed tags
13673 https://bugs.webkit.org/show_bug.cgi?id=53336
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>).
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:
13689 2011-01-28 Oliver Hunt <oliver@apple.com>
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:
13700 2011-01-28 Antti Koivisto <antti@apple.com>
13702 Reviewed by Simon Fraser.
13704 CSS styles are shared based on uninitialized property values
13705 https://bugs.webkit.org/show_bug.cgi?id=53285
13709 * dom/NamedNodeMap.cpp:
13710 (WebCore::NamedNodeMap::mappedMapsEquivalent):
13712 2011-01-27 Oliver Hunt <oliver@apple.com>
13714 Reviewed by Geoffrey Garen.
13716 Convert markstack to a slot visitor API
13717 https://bugs.webkit.org/show_bug.cgi?id=53219
13719 Update WebCore to the new marking apis, correct bindings
13722 * ForwardingHeaders/runtime/WriteBarrier.h: Added.
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:
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:
13782 2011-01-28 Sam Weinig <sam@webkit.org>
13784 Reviewed by Anders Carlsson.
13786 Keyboard scrolling doesn’t work in WebKit2
13787 <rdar://problem/8909672>
13789 * platform/mac/ScrollAnimatorMac.mm:
13790 (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
13791 (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
13792 Add additional necessary delegate methods.
13794 2011-01-29 Darin Adler <darin@apple.com>
13796 Reviewed by Dan Bernstein.
13798 Re-land this patch with the missing null check that caused crashes in layout tests.
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
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.
13807 * page/EventHandler.cpp:
13808 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
13809 * page/EventHandler.h: Ditto.
13811 * rendering/RenderObject.cpp:
13812 (WebCore::areNonIdenticalCursorListsEqual): Added.
13813 (WebCore::areCursorsEqual): Added.
13814 (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
13815 cursor styles changed.
13817 2011-01-28 Justin Schuh <jschuh@chromium.org>
13819 Reviewed by Eric Seidel.
13821 We should hold RefPtrs to SVG font faces
13822 https://bugs.webkit.org/show_bug.cgi?id=53270
13824 Test: svg/custom/use-multiple-on-nested-disallowed-font.html
13826 * css/CSSFontFaceSource.cpp:
13827 (WebCore::CSSFontFaceSource::getFontData):
13828 * css/CSSFontFaceSource.h:
13829 * svg/SVGFontFaceElement.cpp:
13830 (WebCore::SVGFontFaceElement::associatedFontElement):
13831 * svg/SVGFontFaceElement.h:
13833 2011-01-28 Zhenyao Mo <zmo@google.com>
13835 Reviewed by Kenneth Russell.
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
13840 * html/canvas/WebGLRenderingContext.cpp:
13841 (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
13843 2011-01-28 Tom Sepez <tsepez@chromium.org>
13845 Reviewed by Eric Seidel.
13847 NULL pointer crash in TextIterator::handleTextBox()
13848 https://bugs.webkit.org/show_bug.cgi?id=53267
13850 Test: fast/css/rtl-nth-child-first-letter-crash.html
13852 * editing/TextIterator.cpp:
13853 (WebCore::TextIterator::handleTextBox):
13855 2011-01-28 Adrienne Walker <enne@google.com>
13857 Reviewed by Kenneth Russell.
13859 [chromium] Remove a spurious diagnostic CRASH check.
13860 https://bugs.webkit.org/show_bug.cgi?id=52379
13862 * platform/graphics/chromium/LayerTilerChromium.cpp:
13863 (WebCore::LayerTilerChromium::invalidateRect):
13865 2011-01-28 Dan Bernstein <mitz@apple.com>
13867 Reviewed by Sam Weinig.
13869 <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
13870 https://bugs.webkit.org/show_bug.cgi?id=19785
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.
13878 * loader/EmptyClients.h:
13879 (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
13880 * manual-tests/pop-up-alignment-and-direction.html: Added.
13882 (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
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.
13906 2011-01-28 Adam Barth <abarth@webkit.org>
13908 Reviewed by Daniel Bates.
13910 Teach XSSFilter how to filter <script> elements
13911 https://bugs.webkit.org/show_bug.cgi?id=53279
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
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
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
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.
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:
13949 2011-01-28 Adam Barth <abarth@webkit.org>
13951 Reviewed by Daniel Bates.
13953 Sketch out new XSS filter design (disabled by default)
13954 https://bugs.webkit.org/show_bug.cgi?id=53205
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.
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.
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.
13981 2011-01-28 Michael Saboff <msaboff@apple.com>
13983 Reviewed by Geoffrey Garen.
13985 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
13986 https://bugs.webkit.org/show_bug.cgi?id=53271
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.
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.
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:
14006 2011-01-28 Adam Roben <aroben@apple.com>
14008 Notify CACFLayerTreeHost when the context is flushed
14010 LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
14011 timers were never starting.
14013 Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
14014 76858 broke ~36 animations, compositing, and transitions tests
14016 Reviewed by Sam Weinig.
14018 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
14019 (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
14020 start our render timer.
14022 2011-01-28 Antti Koivisto <antti@apple.com>
14024 Reviewed by Dan Bernstein.
14026 Remove dead code that tried to map from CSS values to parser values
14027 https://bugs.webkit.org/show_bug.cgi?id=53318
14029 * css/CSSFunctionValue.cpp:
14030 * css/CSSFunctionValue.h:
14031 * css/CSSPrimitiveValue.cpp:
14032 * css/CSSPrimitiveValue.h:
14034 * css/CSSValueList.cpp:
14035 * css/CSSValueList.h:
14037 2011-01-28 Enrica Casucci <enrica@apple.com>
14039 Reviewed by Adam Roben.
14041 Some drag and drop tests fail since r76824
14042 https://bugs.webkit.org/show_bug.cgi?id=53304
14044 There were '||' instead of '&&' in the checks for valid
14047 * platform/win/ClipboardWin.cpp:
14048 (WebCore::ClipboardWin::getData):
14049 (WebCore::ClipboardWin::types):
14050 (WebCore::ClipboardWin::files):
14052 2011-01-28 Martin Robinson <mrobinson@igalia.com>
14054 [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
14055 https://bugs.webkit.org/show_bug.cgi?id=52889
14057 Build fix for WebAudio. Include WebAudio source files on the source
14058 list when WebAudio is enabled.
14060 * GNUmakefile.am: Include missing source files.
14062 2011-01-28 Sam Weinig <sam@webkit.org>
14064 Reviewed by Maciej Stachowiak.
14066 Add basic rubber banding support
14067 <rdar://problem/8219429>
14068 https://bugs.webkit.org/show_bug.cgi?id=53277
14070 * page/EventHandler.cpp:
14071 (WebCore::EventHandler::handleGestureEvent):
14072 Pass gesture events to the FrameView.
14074 * platform/ScrollAnimator.cpp:
14075 (WebCore::ScrollAnimator::handleGestureEvent):
14076 * platform/ScrollAnimator.h:
14077 Add stubbed out implementation.
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.
14092 (WebCore::ScrollableArea::contentsSize):
14093 (WebCore::ScrollableArea::overhangAmount):
14094 Add additional virtual functions for information needed by the animator.
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.
14119 2011-01-28 Dan Bernstein <mitz@apple.com>
14121 Reviewed by Anders Carlsson.
14123 Changing unicode-bidi doesn’t force layout
14124 https://bugs.webkit.org/show_bug.cgi?id=53311
14126 Test: fast/dynamic/unicode-bidi.html
14128 * rendering/style/RenderStyle.cpp:
14129 (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.
14131 2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
14133 Reviewed by Kent Tamura.
14135 Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
14136 https://bugs.webkit.org/show_bug.cgi?id=53122
14138 This is the first step in converting HTMLMediaElement to the new shadow DOM.
14140 Should not regress any existing tests. No observable change in behavior.
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.
14199 2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
14201 Reviewed by Eric Carlson.
14203 Split MediaControls out of RenderMedia.
14204 https://bugs.webkit.org/show_bug.cgi?id=53252
14206 Near-mechanical moving of stuff, no change in behavior, thus no new tests.
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.
14239 2011-01-28 Pavel Feldman <pfeldman@chromium.org>
14241 Reviewed by Yury Semikhatsky.
14243 Web Inspector: allow remote debugging with front-end
14244 served from the cloud.
14245 https://bugs.webkit.org/show_bug.cgi?id=53303
14247 * inspector/front-end/inspector.js:
14249 2011-01-28 Aparna Nandyal <aparna.nand@wipro.com>
14251 Reviewed by Andreas Kling.
14253 Setting value of m_PressedPos to make scrolling smooth
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
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
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.
14268 * platform/qt/ScrollbarQt.cpp:
14269 (WebCore::Scrollbar::contextMenu):
14271 2011-01-28 Andrey Kosyakov <caseq@chromium.org>
14273 Reviewed by Pavel Feldman.
14275 Web Inspector: [Extensions API] add JSON schema for extensions API
14276 https://bugs.webkit.org/show_bug.cgi?id=53236
14278 * inspector/front-end/ExtensionAPISchema.json: Added.
14280 2011-01-27 Zhenyao Mo <zmo@google.com>
14282 Reviewed by Kenneth Russell.
14284 Remove _LENGTH enumerants
14285 https://bugs.webkit.org/show_bug.cgi?id=53259
14287 * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
14288 (WebCore::WebGLRenderingContext::getProgramParameter):
14289 (WebCore::WebGLRenderingContext::getShaderParameter):
14290 * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.
14292 2011-01-28 Alexander Pavlov <apavlov@chromium.org>
14294 Reviewed by Yury Semikhatsky.
14296 Web Inspector: syntax highlight inline JS and CSS in HTML resources
14297 https://bugs.webkit.org/show_bug.cgi?id=30831
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:
14305 2011-01-28 Alexander Pavlov <apavlov@chromium.org>
14307 Reviewed by Yury Semikhatsky.
14309 Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
14310 https://bugs.webkit.org/show_bug.cgi?id=53295
14312 Select the current word suffix before switching to the next suggestion.
14314 * inspector/front-end/StylesSidebarPane.js:
14317 2011-01-28 Alejandro G. Castro <alex@igalia.com>
14319 Reviewed by Xan Lopez.
14321 [GTK] Fix dist compilation for the release
14322 https://bugs.webkit.org/show_bug.cgi?id=53290
14324 * GNUmakefile.am: Added inspector files to the extra dist.
14326 2011-01-28 Ilya Sherman <isherman@chromium.org>
14328 Reviewed by Andreas Kling.
14330 Const-correct HTMLSelectElement and WebSelectElement
14331 https://bugs.webkit.org/show_bug.cgi?id=53293
14333 * html/HTMLSelectElement.cpp:
14334 (WebCore::HTMLSelectElement::value): const.
14335 * html/HTMLSelectElement.h:
14337 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
14339 Unreviewed, rolling out r76893.
14340 http://trac.webkit.org/changeset/76893
14341 https://bugs.webkit.org/show_bug.cgi?id=53287
14343 It made some tests crash on GTK and Qt debug bots (Requested
14344 by Ossy on #webkit).
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:
14352 2011-01-27 Greg Coletta <greg.coletta@nokia.com>
14354 Reviewed by Laszlo Gombos.
14356 Get rid of prefix header dependency for WebKit2 build system
14357 https://bugs.webkit.org/show_bug.cgi?id=50174
14359 Guard EmptyProtocalDefinitions.h to make sure it's not included twice.
14361 * platform/mac/EmptyProtocolDefinitions.h:
14363 2011-01-27 Abhishek Arya <inferno@chromium.org>
14365 Reviewed by Dan Bernstein.
14367 Recalc table sections if needed before calculating the first line
14369 https://bugs.webkit.org/show_bug.cgi?id=53265
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.
14377 Test: fast/table/recalc-section-first-body-crash-main.html
14379 * rendering/RenderTable.cpp:
14380 (WebCore::RenderTable::firstLineBoxBaseline):
14382 2011-01-27 Adrienne Walker <enne@google.com>
14384 Reviewed by Kenneth Russell.
14386 [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
14387 https://bugs.webkit.org/show_bug.cgi?id=52379
14389 Test: LayoutTests/compositing (to verify these weren't triggered)
14391 * platform/graphics/chromium/LayerTilerChromium.cpp:
14392 (WebCore::LayerTilerChromium::invalidateRect):
14393 (WebCore::LayerTilerChromium::update):
14395 2011-01-27 Alexander Pavlov <apavlov@chromium.org>
14397 Reviewed by Pavel Feldman.
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
14402 * inspector/front-end/StylesSidebarPane.js:
14403 (WebInspector.StylePropertyTreeElement.prototype):
14405 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
14407 Unreviewed, rolling out r76891.
14408 http://trac.webkit.org/changeset/76891
14409 https://bugs.webkit.org/show_bug.cgi?id=53280
14411 Makes every layout test crash (Requested by othermaciej on
14414 * page/EventHandler.cpp:
14415 * page/EventHandler.h:
14416 * rendering/RenderObject.cpp:
14417 (WebCore::RenderObject::styleDidChange):
14419 2011-01-27 Ryosuke Niwa <rniwa@webkit.org>
14421 Unreviewed, rolling out r76839.
14422 http://trac.webkit.org/changeset/76839
14423 https://bugs.webkit.org/show_bug.cgi?id=49744
14427 * rendering/RenderBox.cpp:
14428 (WebCore::RenderBox::localCaretRect):
14430 2011-01-27 Emil A Eklund <eae@chromium.org>
14432 Reviewed by Darin Adler.
14434 contentEditable formatBlock crashes on divs with contenteditable="false"
14435 https://bugs.webkit.org/show_bug.cgi?id=53263
14437 Check if editableRootForPosition returns null for position.
14439 Test: editing/execCommand/format-block-contenteditable-false.html
14441 * editing/FormatBlockCommand.cpp:
14442 (WebCore::FormatBlockCommand::formatRange):
14444 2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
14446 Reviewed by Darin Adler.
14448 Remove RenderMedia members that aren't used.
14449 https://bugs.webkit.org/show_bug.cgi?id=53245
14451 Refactoring, no change in behavior, so no new tests.
14453 * rendering/RenderMedia.h: Removed unused member variables.
14455 2011-01-27 Michael Saboff <msaboff@apple.com>
14457 Reviewed by Darin Adler.
14459 Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
14460 https://bugs.webkit.org/show_bug.cgi?id=53271
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.
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:
14473 2011-01-27 Kenneth Russell <kbr@google.com>
14475 Reviewed by James Robinson.
14477 Rename Typed Array slice() to subset()
14478 https://bugs.webkit.org/show_bug.cgi?id=53273
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:
14515 2011-01-27 Darin Adler <darin@apple.com>
14517 Reviewed by Dan Bernstein.
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
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.
14526 * page/EventHandler.cpp:
14527 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
14528 * page/EventHandler.h: Ditto.
14530 * rendering/RenderObject.cpp:
14531 (WebCore::areNonIdenticalCursorListsEqual): Added.
14532 (WebCore::areCursorsEqual): Added.
14533 (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
14534 cursor styles changed.
14536 2011-01-27 Leo Yang <leo.yang@torchmobile.com.cn>
14538 Reviewed by Dirk Schulze.
14540 SVG Use Cycle is not detected
14541 https://bugs.webkit.org/show_bug.cgi?id=52544
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.
14548 Test: svg/custom/recursive-use2.svg
14550 * svg/SVGUseElement.cpp:
14551 (WebCore::SVGUseElement::buildInstanceTree):
14553 2011-01-27 Zhenyao Mo <zmo@google.com>
14555 Reviewed by Kenneth Russell.
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
14560 Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html
14562 * html/canvas/WebGLRenderingContext.cpp:
14563 (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.
14565 2011-01-27 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
14567 Reviewed by Andreas Kling.
14569 [Qt] Add fullscreen media control button for html video
14570 https://bugs.webkit.org/show_bug.cgi?id=51543
14572 Implement media control fullscreen button for QtWebKit html5 video.
14574 * css/mediaControlsQt.css:
14575 (video::-webkit-media-controls-fullscreen-button):
14576 * platform/qt/RenderThemeQt.cpp:
14577 (WebCore::RenderThemeQt::paintMediaFullscreenButton):
14579 2011-01-27 Nate Chapin <japhet@chromium.org>
14581 Reviewed by Adam Barth.
14583 Remove FrameLoader::url() and update callers to use
14585 https://bugs.webkit.org/show_bug.cgi?id=41165
14587 Refactor, no new tests.
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):
14632 (WebCore::Page::goToItem):
14634 2011-01-27 Stephen White <senorblanco@chromium.org>
14636 Reviewed by Darin Adler.
14638 Fix performance regression in ImageQualityController::objectDestroyed().
14639 https://bugs.webkit.org/show_bug.cgi?id=52645
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.
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
14679 2011-01-27 Adrienne Walker <enne@google.com>
14681 Reviewed by James Robinson.
14683 [chromium] Tiled compositor crashes if compositing turned off mid-paint
14684 https://bugs.webkit.org/show_bug.cgi?id=53198
14686 * platform/graphics/chromium/LayerRendererChromium.cpp:
14687 (WebCore::LayerRendererChromium::drawLayers):
14688 * platform/graphics/chromium/LayerTilerChromium.cpp:
14689 (WebCore::LayerTilerChromium::update):
14690 (WebCore::LayerTilerChromium::draw):
14692 2011-01-27 Carol Szabo <carol.szabo@nokia.com>
14694 Reviewed by David Hyatt.
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
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.
14704 * rendering/RenderCounter.cpp:
14705 (WebCore::findPlaceForCounter):
14706 Removed old workaround as this patch hopefully fixes the real
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.
14725 2011-01-27 Adam Roben <aroben@apple.com>
14727 Add WKCACFViewLayerTreeHost
14729 This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.
14731 Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
14732 WKCACFView for rendering
14734 * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.
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.
14747 * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.
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.
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.
14759 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.
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
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
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
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.
14786 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.
14788 2011-01-27 Adam Roben <aroben@apple.com>
14790 Move LegacyCACFLayerTreeHost into its own files
14792 More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
14793 should use WKCACFView for rendering
14795 Reviewed by Simon Fraser.
14797 * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.
14799 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.
14801 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
14802 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.
14804 2011-01-27 Patrick Gansterer <paroga@webkit.org>
14806 Unreviewed WinCE build fix for r76824.
14808 * platform/wince/DragDataWinCE.cpp:
14809 (WebCore::DragData::dragDataMap):
14811 2011-01-27 Adam Roben <aroben@apple.com>
14813 Split CACFLayerTreeHost into base and derived classes
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.
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.
14821 Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
14822 should use WKCACFView for rendering
14824 Reviewed by Simon Fraser.
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
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
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
14847 (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
14848 CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
14849 CACFLayerTreeHost's data members directly.
14851 (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
14852 (WebCore::CACFLayerTreeHost::destroyRenderer):
14853 Moved some code to the new LegacyCACFLayerTreeHost function.
14855 (WebCore::LegacyCACFLayerTreeHost::resize):
14856 (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
14857 Moved these functions to LegacyCACFLayerTreeHost.
14859 (WebCore::LegacyCACFLayerTreeHost::paint):
14860 (WebCore::CACFLayerTreeHost::paint):
14861 Moved some code to the new LegacyCACFLayerTreeHost function.
14863 (WebCore::LegacyCACFLayerTreeHost::render):
14864 (WebCore::LegacyCACFLayerTreeHost::renderSoon):
14865 Moved these functions to LegacyCACFLayerTreeHost.
14867 (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
14869 (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.
14871 (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
14872 to this new function...
14873 (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.
14875 (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
14876 (WebCore::LegacyCACFLayerTreeHost::resetDevice):
14877 Moved these functions to LegacyCACFLayerTreeHost.
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.
14883 2011-01-27 Adam Roben <aroben@apple.com>
14885 Move CACFLayerTreeHostClient to its own header file
14887 Rubber-stamped by Steve Falkenburg.
14889 * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
14892 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.
14894 * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.
14896 * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added.
14898 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
14899 from the header file.
14901 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
14902 with more specific ones, plus a forward-declaration.
14904 2011-01-27 James Simonsen <simonjam@chromium.org>
14906 Reviewed by Tony Chang.
14908 [Chromium] Simplify small caps logic in complex text on linux
14909 https://bugs.webkit.org/show_bug.cgi?id=53207
14911 Test: fast/text/atsui-multiple-renderers.html
14912 fast/text/atsui-small-caps-punctuation-size.html
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.
14918 2011-01-27 Adam Barth <abarth@webkit.org>
14920 In which I attempt to fix the EFL build.
14924 2011-01-25 Levi Weintraub <leviw@chromium.org>
14926 Reviewed by Darin Adler.
14928 Adding border and padding to the calculation of the local caret rect for RenderBoxes.
14929 Corrected for mistake in r76625
14931 Undo moves caret to invalid position
14932 https://bugs.webkit.org/show_bug.cgi?id=49744
14934 Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
14935 editing/selection/caret-painting-after-paste-undo.html
14937 * rendering/RenderBox.cpp:
14938 (WebCore::RenderBox::localCaretRect):
14940 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
14942 Unreviewed, rolling out r76825.
14943 http://trac.webkit.org/changeset/76825
14944 https://bugs.webkit.org/show_bug.cgi?id=53256
14946 "caused crashes on GTK and chromium" (Requested by rniwa on
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):
14957 2011-01-27 Adam Barth <abarth@webkit.org>
14959 Reviewed by Eric Seidel.
14961 Generalize the mechanism view-source uses to remember the source for an HTMLToken
14962 https://bugs.webkit.org/show_bug.cgi?id=53200
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
14971 No functional change. This code change is somewhat tested by our
14972 view-source layout tests.
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
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
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.
15027 2011-01-27 Sam Weinig <sam@webkit.org>
15029 Fix all the builds.
15031 * platform/ScrollView.cpp:
15032 (WebCore::ScrollView::paintOverhangAreas): Add parameters.
15034 2011-01-27 Sam Weinig <sam@webkit.org>
15036 Reviewed by Dave Hyatt.
15038 Add ability to do an unconstrained scroll on a ScrollView
15039 https://bugs.webkit.org/show_bug.cgi?id=53249
15041 * platform/ScrollView.cpp:
15042 (WebCore::ScrollView::ScrollView):
15043 Initialize m_constrainsScrollingToContentEdge to true.
15045 (WebCore::ScrollView::setScrollOffset):
15046 Only constrain the offset if the m_constrainsScrollingToContentEdge is set.
15048 (WebCore::ScrollView::updateScrollbars):
15049 Simplify expression converting an IntSize to an IntPoint.
15051 (WebCore::ScrollView::paint):
15052 Paint the overhang if there is any.
15054 (WebCore::ScrollView::calculateOverhangAreasForPainting):
15055 Calculate the overhang in viewport coordinates for painting.
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.
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.
15071 2011-01-27 Dirk Schulze <krit@webkit.org>
15073 Reviewed by Nikolas Zimmermann.
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
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.
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
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
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:
15117 2011-01-27 Cris Neckar <cdn@chromium.org>
15119 Reviewed by Dimitri Glazkov.
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
15124 Test: fast/css/css-keyframe-style-crash.html
15126 * css/CSSRuleList.cpp:
15127 (WebCore::CSSRuleList::deleteRule):
15128 * css/WebKitCSSKeyframesRule.cpp:
15129 (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
15131 2011-01-27 Rob Buis <rwlbuis@gmail.com>
15133 Reviewed by Kent Tamura.
15135 Color changes to option elements in a select multiple aren't drawn immediately
15136 https://bugs.webkit.org/show_bug.cgi?id=49790
15138 Redirect style changes on <option> element to the owner <select> element.
15140 Test: fast/repaint/select-option-background-color.html
15142 * html/HTMLOptionElement.cpp:
15143 (WebCore::HTMLOptionElement::setRenderStyle):
15145 2011-01-19 Stephen White <senorblanco@chromium.org>
15147 Reviewed by Darin Adler.
15149 Fix performance regression in ImageQualityController::objectDestroyed().
15150 https://bugs.webkit.org/show_bug.cgi?id=52645
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.
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.
15187 2011-01-26 Enrica Casucci <enrica@apple.com>
15189 Reviewed by Darin Adler and Adam Roben.
15191 WebKit2: add support for drag and drop on Windows
15192 https://bugs.webkit.org/show_bug.cgi?id=52775
15193 <rdar://problem/8514409>
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
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.
15205 * platform/DragData.cpp:
15206 * platform/DragData.h:
15207 * platform/win/ClipboardUtilitiesWin.cpp:
15208 (WebCore::getWebLocData):
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):
15241 2011-01-27 Mario Sanchez Prada <msanchez@igalia.com>
15243 Reviewed by Martin Robinson.
15245 [GTK] Space characters in source document interfere with reported caret offset
15246 https://bugs.webkit.org/show_bug.cgi?id=53033
15248 Calculate caret offset from rendered text instead of from node contents.
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.
15255 2011-01-26 Alexey Proskuryakov <ap@apple.com>
15257 Reviewed by Darin Adler.
15259 https://bugs.webkit.org/show_bug.cgi?id=53197
15260 <rdar://problem/8895682> Make WebKit2 printing asynchronous
15262 * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
15264 * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
15265 transformation as spoolPages does for consistency.
15267 2011-01-27 David Grogan <dgrogan@google.com>
15269 Reviewed by Jeremy Orlow.
15271 initial support for close() in indexeddb backend
15272 https://bugs.webkit.org/show_bug.cgi?id=53150
15274 Test: storage/indexeddb/transaction-after-close.html
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):
15286 2011-01-27 Dirk Schulze <krit@webkit.org>
15288 Reviewed by Nikolas Zimmermann.
15290 SVG animation doesn't support calcMode discrete for number and color values.
15291 https://bugs.webkit.org/show_bug.cgi?id=53189
15293 Add support for calcMode discrete on number and color animation.
15295 Tests: svg/animations/animate-color-calcMode-discrete.html
15296 svg/animations/animate-number-calcMode-discrete.html
15298 * svg/SVGAnimateElement.cpp:
15299 (WebCore::SVGAnimateElement::calculateAnimatedValue):
15301 2011-01-26 Zhenyao Mo <zmo@google.com>
15303 Reviewed by Kenneth Russell.
15305 shaderSource needs to preserve original source
15306 https://bugs.webkit.org/show_bug.cgi?id=52833
15308 Test: fast/canvas/webgl/gl-getshadersource.html
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):
15320 2011-01-27 Patrick Gansterer <paroga@webkit.org>
15322 Unreviewed WinCE build fix for r76743.
15324 * platform/graphics/wince/FontWinCE.cpp:
15325 (WebCore::TextRunComponent::TextRunComponent):
15327 2011-01-27 Pavel Podivilov <podivilov@chromium.org>
15329 Reviewed by Pavel Feldman.
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
15334 * inspector/front-end/ScopeChainSidebarPane.js:
15335 (WebInspector.ScopeChainSidebarPane):
15336 (WebInspector.ScopeChainSidebarPane.prototype.update):
15338 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
15340 Unreviewed, rolling out r76789.
15341 http://trac.webkit.org/changeset/76789
15342 https://bugs.webkit.org/show_bug.cgi?id=53238
15344 Broke GTK layout tests (Requested by podivilov on #webkit).
15346 * inspector/front-end/ScopeChainSidebarPane.js:
15347 (WebInspector.ScopeChainSidebarPane):
15348 (WebInspector.ScopeChainSidebarPane.prototype.update):
15350 2011-01-27 Yury Semikhatsky <yurys@chromium.org>
15352 Reviewed by Pavel Feldman.
15354 Web Inspector: store all settings related to the agents on the frontend side
15355 https://bugs.webkit.org/show_bug.cgi?id=53174
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
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:
15416 2011-01-27 Pavel Podivilov <podivilov@chromium.org>
15418 Reviewed by Pavel Feldman.
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
15423 * inspector/front-end/ScopeChainSidebarPane.js:
15424 (WebInspector.ScopeChainSidebarPane):
15425 (WebInspector.ScopeChainSidebarPane.prototype.update):
15427 2011-01-27 Alexander Pavlov <apavlov@chromium.org>
15429 Reviewed by Pavel Feldman.
15431 Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
15432 https://bugs.webkit.org/show_bug.cgi?id=53171
15434 * inspector/front-end/inspector.js:
15435 (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
15437 2011-01-27 Yury Semikhatsky <yurys@chromium.org>
15439 Reviewed by Pavel Feldman.
15441 [V8] Crash in WebCore::addMessageToConsole
15442 https://bugs.webkit.org/show_bug.cgi?id=53227
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):
15448 2011-01-27 Hans Wennborg <hans@chromium.org>
15450 Reviewed by Jeremy Orlow.
15452 IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
15453 https://bugs.webkit.org/show_bug.cgi?id=53178
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())
15460 No new functionality, so no new tests.
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:
15474 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
15476 Unreviewed, rolling out r76773.
15477 http://trac.webkit.org/changeset/76773
15478 https://bugs.webkit.org/show_bug.cgi?id=53230
15480 breaks multiple GTK media tests (Requested by philn-tp on
15483 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
15484 (WebCore::mimeTypeCache):
15486 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
15488 Unreviewed, rolling out r76770.
15489 http://trac.webkit.org/changeset/76770
15490 https://bugs.webkit.org/show_bug.cgi?id=53229
15492 Some inspector tests fail (Requested by yurys on #webkit).
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:
15563 2011-01-26 Philippe Normand <pnormand@igalia.com>
15565 Reviewed by Martin Robinson.
15567 [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
15568 https://bugs.webkit.org/show_bug.cgi?id=53125
15570 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
15571 (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
15573 2011-01-26 Yury Semikhatsky <yurys@chromium.org>
15575 Reviewed by Pavel Feldman.
15577 Web Inspector: store all settings related to the agents on the frontend side
15578 https://bugs.webkit.org/show_bug.cgi?id=53174
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
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:
15630 2011-01-27 Dan Bernstein <mitz@apple.com>
15632 Reviewed by Sam Weinig.
15634 REGRESSION (r76743): Uneven spacing in right-to-left justified text
15635 https://bugs.webkit.org/show_bug.cgi?id=53225
15637 Fixes failure in fast/text/atsui-spacing-features.html
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.
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.
15657 2011-01-26 Adam Roben <aroben@apple.com>
15659 Don't create the Direct3D device before it's first needed
15661 We only need the device once we decide to render. There's no point in creating it before
15664 Reviewed by Sam Weinig.
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).
15673 2011-01-26 Adam Roben <aroben@apple.com>
15675 Add assertions that CACFLayerTreeHost gains and loses an HWND only once
15677 CACFLayerTreeHost doesn't support any other use pattern.
15679 Reviewed by Sam Weinig.
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.
15686 * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
15688 2011-01-26 Adam Roben <aroben@apple.com>
15690 Notify layers that their animations have started when we flush the context, not when we
15693 r76372 separated context flushing from rendering, but this bit of code got left behind.
15695 Reviewed by Sam Weinig.
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
15706 * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
15708 2011-01-26 Adam Roben <aroben@apple.com>
15710 Small cleanup in MediaPlayerPrivateFullscreenWindow
15712 Reviewed by Sam Weinig.
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.
15722 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
15724 2011-01-26 Sam Weinig <sam@webkit.org>
15726 Reviewed by Adam Roben.
15728 Move ScrollView scroll wheel code to ScrollAnimator.
15730 * platform/ScrollAnimator.cpp:
15731 (WebCore::ScrollAnimator::handleWheelEvent):
15732 * platform/ScrollAnimator.h:
15733 Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
15735 * platform/ScrollView.cpp:
15736 (WebCore::ScrollView::wheelEvent):
15737 Call down to the ScrollableArea.
15739 * platform/ScrollableArea.cpp:
15740 (WebCore::ScrollableArea::handleWheelEvent):
15741 Call down to the ScrollAnimator.
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.
15752 2011-01-26 David Kilzer <ddkilzer@apple.com>
15754 <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
15755 <rdar://problem/8821760>
15757 Reviewed by Antti Koivisto.
15759 This adds support for HTTP pipelining in CFNetwork, but does not
15760 enable it. To enable it post-SnowLeopard, use this command:
15762 defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
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
15768 defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
15770 * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
15771 _wkSetHTTPPipeliningPriority.
15773 * loader/DocumentThreadableLoader.cpp:
15774 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
15775 Copy the priority to preflightRequest.
15777 * loader/ResourceLoadScheduler.cpp:
15778 (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
15779 at the end of the method to use an early return.
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().
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().
15792 * platform/mac/WebCoreSystemInterface.h:
15793 (wkGetHTTPPipeliningPriority): Added.
15794 (wkSetHTTPPipeliningPriority): Added.
15795 * platform/mac/WebCoreSystemInterface.mm:
15796 (wkGetHTTPPipeliningPriority): Added.
15797 (wkSetHTTPPipeliningPriority): Added.
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.
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.
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
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.
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.
15843 2011-01-26 Beth Dakin <bdakin@apple.com>
15845 Reviewed by Darin Adler.
15847 Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
15848 when using WKScrollbars.
15850 New WebKitSystemInterface Functionality.
15852 * platform/mac/WebCoreSystemInterface.h:
15853 * platform/mac/WebCoreSystemInterface.mm:
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:
15859 Just patching this function in a better way than I did
15861 (WebCore::updateArrowPlacement):
15863 Call into WK for the right values.
15864 (WebCore::ScrollbarThemeMac::scrollbarThickness):
15865 (WebCore::ScrollbarThemeMac::hasThumb):
15866 (WebCore::ScrollbarThemeMac::minimumThumbLength):
15868 Return false if there are no buttons.
15869 (WebCore::ScrollbarThemeMac::hasButtons):
15871 Return an empty IntRect if there are not buttons.
15872 (WebCore::buttonRepaintRect):
15874 2011-01-26 Sam Weinig <sam@webkit.org>
15876 Reviewed by Maciej Stachowiak.
15878 Add events to represent the start/end of a gesture scroll
15879 https://bugs.webkit.org/show_bug.cgi?id=53215
15884 * WebCore.xcodeproj/project.pbxproj:
15887 * page/EventHandler.cpp:
15888 (WebCore::EventHandler::handleGestureEvent):
15889 * page/EventHandler.h:
15890 Add entry point for handling gesture events.
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.
15900 2011-01-26 Dan Bernstein <mitz@apple.com>
15902 Reviewed by Dave Hyatt.
15904 <rdar://problem/8446709> Allow inter-ideograph justification for CJK
15905 https://bugs.webkit.org/show_bug.cgi?id=53184
15907 Tests: fast/text/justify-ideograph-complex.html
15908 fast/text/justify-ideograph-simple.html
15909 fast/text/justify-ideograph-vertical.html
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
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
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.
16003 2011-01-26 Andy Estes <aestes@apple.com>
16005 Rubber-stamped by Darin Adler.
16007 Inline HTMLObjectElement::hasValidClassId().
16009 * html/HTMLObjectElement.cpp:
16010 (WebCore::HTMLObjectElement::hasValidClassId):
16012 2011-01-26 Evan Martin <evan@chromium.org>
16014 Reviewed by Tony Chang.
16016 [chromium] crash on getBoundingClientRect in complex text
16017 https://bugs.webkit.org/show_bug.cgi?id=53199
16019 Use the correct array bound; we want the number of characters processed by
16020 the shaper, not the longest continuous script run length.
16022 Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
16024 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
16025 (WebCore::ComplexTextController::nextScriptRun):
16026 * platform/graphics/chromium/ComplexTextControllerLinux.h:
16027 (WebCore::ComplexTextController::numCodePoints):
16029 2011-01-26 Emil A Eklund <eae@chromium.org>
16031 Reviewed by Alexey Proskuryakov.
16033 Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
16034 https://bugs.webkit.org/show_bug.cgi?id=52084
16036 Test: fast/dom/css-delete-doc.html
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):
16057 2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
16059 Reviewed by Kent Tamura.
16061 Reduce ref-count churn in shadowPseudoId.
16062 https://bugs.webkit.org/show_bug.cgi?id=53136
16064 Refactoring, so no new tests.
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.
16087 2011-01-26 Dave Hyatt <hyatt@apple.com>
16089 Reviewed by Dan Bernstein.
16091 https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
16093 Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
16096 Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
16097 elements work properly.
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).
16104 * rendering/InlineTextBox.h:
16105 (WebCore::InlineTextBox::calculateBoundaries):
16106 Fix calculateBoundaries to be physical rather than logical.
16108 * rendering/LayoutState.cpp:
16109 (WebCore::LayoutState::addForcedColumnBreak):
16110 * rendering/LayoutState.h:
16111 Rename childY to childLogicalOffset.
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.
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.
16158 * rendering/RenderBox.h:
16159 (WebCore::RenderBox::clientLogicalBottom):
16160 Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
16162 * rendering/RenderFlexibleBox.cpp:
16163 (WebCore::RenderFlexibleBox::layoutBlock):
16164 Better terminology for pagination.
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.
16176 * rendering/RenderObject.cpp:
16177 (WebCore::RenderObject::mapLocalToContainer):
16178 Add code to be flipped block-aware with columns.
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.
16188 * rendering/RenderText.cpp:
16189 (WebCore::RenderText::absoluteQuads):
16190 (WebCore::RenderText::absoluteQuadsForRange):
16191 Fix a bug where vertical text wasn't taken into account.
16193 2011-01-26 Dimitri Glazkov <dglazkov@chromium.org>
16195 Unreviewed, rolling out r76719.
16196 http://trac.webkit.org/changeset/76719
16197 https://bugs.webkit.org/show_bug.cgi?id=53122
16199 Broke a bunch of media tests in Chromium/Qt/GTK.
16201 2011-01-26 Tony Chang <tony@chromium.org>
16203 Reviewed by Ryosuke Niwa.
16205 [gtk] strip NUL characters when copying text/html on GTK+
16206 https://bugs.webkit.org/show_bug.cgi?id=52508
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.
16213 * editing/MarkupAccumulator.h: mark function as virtual
16214 * editing/markup.cpp:
16215 (WebCore::StyledMarkupAccumulator::appendString):
16216 (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
16218 2011-01-26 Mario Sanchez Prada <msanchez@igalia.com>
16220 Reviewed by Martin Robinson.
16222 [GTK] Reliable crash with getTextAtOffset()
16223 https://bugs.webkit.org/show_bug.cgi?id=53131
16225 Properly calculate length in bytes for a UTF8 substring.
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.
16231 2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
16233 Reviewed by Kent Tamura.
16235 Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
16236 https://bugs.webkit.org/show_bug.cgi?id=53122
16238 This is the first step in converting HTMLMediaElement to the new shadow DOM.
16240 Should not regress any existing tests. No observable change in behavior.
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.
16299 2011-01-26 Kenneth Russell <kbr@google.com>
16301 Reviewed by James Robinson.
16303 Fix multisampling support in DrawingBuffer
16304 https://bugs.webkit.org/show_bug.cgi?id=53154
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.
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.
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):
16325 2011-01-26 Tony Chang <tony@chromium.org>
16329 [chromium] revert r68310 because of race conditions detected by tsans
16330 https://bugs.webkit.org/show_bug.cgi?id=53185
16332 Causes stability problems for Chromium, http://crbug.com/70589
16334 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
16335 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
16337 2011-01-26 Justin Schuh <jschuh@chromium.org>
16339 Reviewed by Adam Barth.
16341 Make fireEventsAndUpdateStyle use stack local vectors.
16342 https://bugs.webkit.org/show_bug.cgi?id=46760
16344 Test: animations/animation-add-events-in-handler.html
16346 * page/animation/AnimationController.cpp:
16347 (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
16349 2011-01-26 Nate Chapin <japhet@chromium.org>
16351 Reviewed by Adam Barth.
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
16357 Refactor only, no new tests.
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().
16384 2011-01-25 Brian Weinstein <bweinstein@apple.com>
16386 Reviewed by Antti Koivisto.
16388 Crashes loading pages when cancelling subresource loads through WebKit
16389 https://bugs.webkit.org/show_bug.cgi?id=53123
16390 <rdar://problem/8914361>
16392 Fix a crash that happened when cancelling subresource loads through WebKit.
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.
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).
16401 Test: fast/loader/willSendRequest-null-for-preload.html
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.
16417 2011-01-25 Pavel Podivilov <podivilov@chromium.org>
16419 Reviewed by Pavel Feldman.
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
16424 Test: inspector/console-substituted.html
16426 * inspector/InjectedScriptSource.js:
16429 2011-01-26 Carlos Garcia Campos <cgarcia@igalia.com>
16431 Reviewed by Martin Robinson.
16433 [cairo] Use CAIRO_OPERATOR_DARKEN when available
16434 https://bugs.webkit.org/show_bug.cgi?id=53084
16436 Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
16437 CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
16439 * platform/graphics/cairo/CairoUtilities.cpp:
16440 (WebCore::toCairoOperator):
16442 2011-01-26 Pavel Feldman <pfeldman@chromium.org>
16444 Reviewed by Yury Semikhatsky.
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
16450 * inspector/front-end/ObjectPropertiesSection.js:
16451 (WebInspector.ObjectPropertyTreeElement.prototype.update):
16453 2011-01-26 Andrey Kosyakov <caseq@chromium.org>
16455 Reviewed by Pavel Feldman.
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
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):
16471 2011-01-26 Carol Szabo <carol.szabo@nokia.com>
16473 Reviewed by Simon Hausmann.
16475 Fixed TiledBacking store to take into account new dirty regions caused by
16476 paint time layouts.
16478 Flawed rendering design for QtWebKit resulting in artifacts being displayed
16479 https://bugs.webkit.org/show_bug.cgi?id=49184
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.
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.
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.
16495 2011-01-26 Patrick Gansterer <paroga@webkit.org>
16497 Reviewed by Andreas Kling.
16499 [SKIA] Remove "current path" of GraphicsContext
16500 https://bugs.webkit.org/show_bug.cgi?id=53124
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:
16512 2011-01-26 Zalan Bujtas <zbujtas@gmail.com>
16514 Reviewed by Andreas Kling.
16516 [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
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.
16522 No new tests as this is already covered by ACID3.
16524 * platform/graphics/qt/PathQt.cpp:
16525 (WebCore::Path::normalAngleAtLength):
16527 2011-01-26 Pavel Feldman <pfeldman@chromium.org>
16529 Reviewed by Yury Semikhatsky.
16531 Web Inspector: live edit does not update source snippet.
16532 https://bugs.webkit.org/show_bug.cgi?id=53097
16534 * inspector/front-end/ScriptsPanel.js:
16535 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
16537 2011-01-26 Pavel Feldman <pfeldman@chromium.org>
16539 Reviewed by Yury Semikhatsky.
16541 Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
16542 https://bugs.webkit.org/show_bug.cgi?id=53018
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:
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):
16573 2011-01-26 Hironori Bono <hbono@chromium.org>
16575 Reviewed by Kent Tamura.
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
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.
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.
16593 2011-01-26 James Robinson <jamesr@chromium.org>
16595 Reviewed by Nate Chapin.
16597 Add a DOMTimeStamp parameter to the requestAnimationFrame callback
16598 https://bugs.webkit.org/show_bug.cgi?id=53142
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.
16606 Test: fast/animation/request-animation-frame-timestamps.html
16608 * bindings/scripts/CodeGeneratorV8.pm:
16609 * bindings/scripts/test/V8/V8TestCallback.cpp:
16610 (WebCore::V8TestCallback::callbackWithClass2Param):
16611 * dom/Document.cpp:
16612 (WebCore::Document::serviceScriptedAnimations):
16614 * dom/RequestAnimationFrameCallback.h:
16615 * dom/RequestAnimationFrameCallback.idl:
16616 * page/FrameView.cpp:
16617 (WebCore::FrameView::serviceScriptedAnimations):
16618 * page/FrameView.h:
16620 2011-01-25 Yuzo Fujishima <yuzo@google.com>
16622 Unreviewed attempt to fix compilation error for Chromium Clang.
16624 * platform/graphics/mac/ComplexTextController.cpp:
16625 (WebCore::ComplexTextController::advance):
16627 2011-01-25 Ned Holbrook <nholbrook@apple.com>
16629 Reviewed by Dan Bernstein.
16631 ComplexTextController incorrectly conflates string length and range of indexes
16632 https://bugs.webkit.org/show_bug.cgi?id=52760
16634 Test: fast/text/offsetForPosition-complex-fallback.html
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):
16650 2011-01-25 Sam Weinig <sam@webkit.org>
16652 Reviewed by David Hyatt.
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
16657 Test: fast/overflow/overflow-rtl-vertical-origin.html
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.
16664 2011-01-25 Steve Falkenburg <sfalken@apple.com>
16666 Windows production build fix.
16667 Use correct configuration-specific path in makefile.
16669 * WebCore.vcproj/WebCore.make:
16671 2011-01-25 Kent Tamura <tkent@chromium.org>
16673 Reviewed by Dimitri Glazkov.
16675 Radio button group state is not restored correctly
16676 https://bugs.webkit.org/show_bug.cgi?id=50442
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.
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
16687 Test: fast/forms/state-restore-radio-group.html
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()
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.
16722 2011-01-25 Kent Tamura <tkent@chromium.org>
16724 Reviewed by Dimitri Glazkov.
16726 HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
16727 https://bugs.webkit.org/show_bug.cgi?id=52565
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().
16740 2011-01-25 Kent Tamura <tkent@chromium.org>
16742 Reviewed by Dimitri Glazkov.
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
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.
16754 2011-01-25 Kent Tamura <tkent@chromium.org>
16756 Reviewed by Dimitri Glazkov.
16758 API to support localized numbers for <input type=number>
16759 https://bugs.webkit.org/show_bug.cgi?id=45730
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.
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.
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
16774 No new tests because this doesn't change any behavior.
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().
16810 2011-01-25 Alexey Proskuryakov <ap@apple.com>
16812 Reviewed by Darin Adler.
16814 https://bugs.webkit.org/show_bug.cgi?id=53143
16817 * WebCore.xcodeproj/project.pbxproj:
16818 * platform/graphics/IntRectHash.h: Added.
16820 * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
16822 2011-01-25 Ilya Sherman <isherman@chromium.org>
16824 Reviewed by Ryosuke Niwa.
16826 Remove trailing whitespace in HTMLInputElement.cpp
16827 https://bugs.webkit.org/show_bug.cgi?id=53152
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):
16838 2011-01-25 Mike Reed <reed@google.com>
16840 Reviewed by James Robinson.
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
16846 https://bugs.webkit.org/show_bug.cgi?id=53149
16848 Test: Covered by existing <canvas> tests using gpu.
16850 * platform/graphics/chromium/DrawingBufferChromium.cpp:
16851 (WebCore::DrawingBuffer::DrawingBuffer):
16852 * platform/graphics/gpu/DrawingBuffer.cpp:
16853 (WebCore::DrawingBuffer::reset):
16855 2011-01-25 Cris Neckar <cdn@chromium.org>
16857 Reviewed by Adam Barth.
16859 Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
16860 https://bugs.webkit.org/show_bug.cgi?id=53038
16862 Test: fast/dom/window-domurl-crash.html
16864 * dom/ScriptExecutionContext.cpp:
16865 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
16866 (WebCore::ScriptExecutionContext::createdDomUrl):
16867 (WebCore::ScriptExecutionContext::destroyedDomUrl):
16868 * dom/ScriptExecutionContext.h:
16869 (WebCore::ScriptExecutionContext::domUrls):
16871 (WebCore::DOMURL::DOMURL):
16872 (WebCore::DOMURL::~DOMURL):
16873 (WebCore::DOMURL::contextDestroyed):
16875 (WebCore::DOMURL::scriptExecutionContext):
16877 2011-01-23 Antti Koivisto <antti@apple.com>
16879 Reviewed by Darin Adler.
16881 https://bugs.webkit.org/show_bug.cgi?id=52983
16882 Eliminate m_tagHistory pointer from CSSSelector
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).
16889 * WebCore.xcodeproj/project.pbxproj:
16891 Make CSSSelector.h a private header.
16893 * css/CSSGrammar.y:
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.
16900 * css/CSSPageRule.cpp:
16901 (WebCore::CSSPageRule::CSSPageRule):
16902 * css/CSSPageRule.h:
16903 (WebCore::CSSPageRule::create):
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):
16915 (WebCore::CSSParser::reusableSelectorVector):
16917 CSSSelector -> CSSParserSelector.
16918 Use OwnPtr in selector vector.
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):
16939 Linked list used during parsing.
16940 Avoid recursive destruction.
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):
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.
16967 * css/CSSSelectorList.cpp:
16968 (WebCore::CSSSelectorList::adoptSelectorVector):
16970 Flatten everything to an array.
16972 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
16973 * css/CSSSelectorList.h:
16974 (WebCore::CSSSelectorList::hasOneSelector):
16975 (WebCore::CSSSelectorList::next):
16977 Skip over the subparts of multipart selectors to find the next selector.
16979 * css/CSSStyleRule.h:
16980 (WebCore::CSSStyleRule::adoptSelectorVector):
16982 CSSSelector -> CSSParserSelector.
16984 * css/CSSStyleSelector.cpp:
16985 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
16986 (WebCore::CSSRuleSet::addRule):
16987 (WebCore::collectIdsAndSiblingRulesFromList):
16988 (WebCore::CSSStyleSelector::matchPageRulesForList):
16990 (WebCore::Node::querySelector):
16991 * dom/SelectorNodeList.cpp:
16992 (WebCore::createSelectorNodeList):
16996 2011-01-25 James Simonsen <simonjam@chromium.org>
16998 Reviewed by Tony Chang.
17000 [Chromium] Support small caps in complex text on linux
17001 https://bugs.webkit.org/show_bug.cgi?id=53051
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.
17008 2011-01-25 Steve Falkenburg <sfalken@apple.com>
17010 Rubber-stamped by Adam Roben.
17012 Windows production build fix.
17013 Use correct environment variable escaping
17015 * WebCore.vcproj/WebCore.make:
17017 2011-01-25 Adam Barth <abarth@webkit.org>
17019 Reviewed by Eric Seidel.
17021 Empty URLs are never display isolated
17022 https://bugs.webkit.org/show_bug.cgi?id=53053
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).
17028 * platform/SchemeRegistry.cpp:
17029 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
17031 2011-01-25 Sam Weinig <sam@webkit.org>
17033 Reviewed by Anders Carlsson.
17035 Pipe a timestamp down into the PlatformWheelEvent for the Mac.
17036 https://bugs.webkit.org/show_bug.cgi?id=53111
17038 * platform/PlatformWheelEvent.h:
17039 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17040 (WebCore::PlatformWheelEvent::timestamp):
17041 Add timestamp member.
17043 * platform/mac/WheelEventMac.mm:
17044 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17045 Initialize the timestamp from the event.
17047 2011-01-25 Sheriff Bot <webkit.review.bot@gmail.com>
17049 Unreviewed, rolling out r76625.
17050 http://trac.webkit.org/changeset/76625
17051 https://bugs.webkit.org/show_bug.cgi?id=53119
17053 "incorrect pixel test results" (Requested by rniwa on
17056 * rendering/RenderBox.cpp:
17057 (WebCore::RenderBox::localCaretRect):
17059 2011-01-25 Patrick Gansterer <paroga@webkit.org>
17061 Unreviewed WinCE build fix for r76614.
17063 * platform/FileSystem.h:
17065 2011-01-21 Levi Weintraub <leviw@chromium.org>
17067 Reviewed by Darin Adler.
17069 Adding border and padding to the calculation of the local caret rect for RenderBoxes.
17071 Undo moves caret to invalid position
17072 https://bugs.webkit.org/show_bug.cgi?id=49744
17074 Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
17075 editing/selection/caret-painting-after-paste-undo.html
17077 * rendering/RenderBox.cpp:
17078 (WebCore::RenderBox::localCaretRect):
17080 2011-01-25 Sam Weinig <sam@webkit.org>
17082 Reviewed by Anders Carlsson.
17084 Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
17085 https://bugs.webkit.org/show_bug.cgi?id=53107
17087 * platform/PlatformWheelEvent.h:
17088 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17089 (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
17090 * platform/mac/WheelEventMac.mm:
17091 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17093 2011-01-20 Jer Noble <jer.noble@apple.com>
17095 Reviewed by Eric Carlson.
17097 REGRESSION (r72119): Audio never plays on Star Wars intro animation
17098 https://bugs.webkit.org/show_bug.cgi?id=52467
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
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.
17109 Test: media/audio-mpeg4-supported.html
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.
17118 2011-01-25 Hans Wennborg <hans@chromium.org>
17120 Reviewed by Jeremy Orlow.
17122 IndexedDB: Remove PlatformBridge::idbShutdown()
17123 https://bugs.webkit.org/show_bug.cgi?id=53077
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.
17129 No new tests: this does not change any functionality.
17131 * platform/chromium/PlatformBridge.h:
17132 * storage/IDBFactoryBackendInterface.cpp:
17133 * storage/IDBFactoryBackendInterface.h:
17134 (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
17135 * storage/chromium/IDBFactoryBackendInterface.cpp:
17137 2011-01-25 Darin Adler <darin@apple.com>
17139 Reviewed by Anders Carlsson.
17141 WebKit is using CSBackupSetItemExcluded incorrectly
17142 https://bugs.webkit.org/show_bug.cgi?id=53095
17143 rdar://problem/8790540
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.
17153 * platform/FileSystem.cpp:
17154 (WebCore::canExcludeFromBackup): Added.
17155 (WebCore::excludeFromBackup): Added.
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.
17161 * platform/cf/FileSystemCF.cpp:
17162 (WebCore::pathAsURL): Added.
17164 * platform/mac/FileSystemMac.mm:
17165 (WebCore::canExcludeFromBackup): Added.
17166 (WebCore::excludeFromBackup): Added.
17168 * platform/network/cf/FormDataStreamCFNet.cpp:
17169 (WebCore::advanceCurrentStream): Changed to call pathAsURL.
17170 * platform/network/mac/FormDataStreamMac.mm:
17171 (WebCore::advanceCurrentStream): Ditto.
17173 2011-01-25 Helder Correia <helder@sencha.com>
17175 Reviewed by Dirk Schulze.
17177 REGRESSION(75139): SVG gradients are not applied to texts
17178 https://bugs.webkit.org/show_bug.cgi?id=52531
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.
17184 Test: svg/css/composite-shadow-text.svg
17186 * platform/graphics/cg/GraphicsContextCG.cpp:
17187 (WebCore::GraphicsContext::fillRect):
17189 2011-01-25 Benjamin Kalman <kalman@chromium.org>
17191 Reviewed by Ryosuke Niwa.
17193 Cannot extend or modify forward by word over a non-contenteditable region
17194 https://bugs.webkit.org/show_bug.cgi?id=53070
17196 Test: editing/selection/extend-forward-by-word-over-non-editable.html
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.
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).
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):
17216 2011-01-25 Yael Aharon <yael.aharon@nokia.com>
17218 Unreviewed build fix.
17219 After r76466, efsrv.lib is used unconditionally.
17220 Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
17224 2011-01-24 Zhenyao Mo <zmo@google.com>
17226 Reviewed by Kenneth Russell.
17228 Style cleanup for WebGLRenderingContext
17229 https://bugs.webkit.org/show_bug.cgi?id=52352
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:
17255 2011-01-24 Chris Marrin <cmarrin@apple.com>
17257 Reviewed by Eric Seidel.
17259 Change ENABLE_3D_CANVAS to ENABLE_WEBGL
17260 https://bugs.webkit.org/show_bug.cgi?id=53041
17262 * Configurations/FeatureDefines.xcconfig:
17263 * DerivedSources.cpp:
17266 * bindings/generic/RuntimeEnabledFeatures.h:
17267 * bindings/js/JSArrayBufferCustom.cpp:
17268 * bindings/js/JSCanvasRenderingContextCustom.cpp:
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):
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:
17395 2011-01-25 Mikhail Naganov <mnaganov@chromium.org>
17397 Reviewed by Pavel Feldman.
17399 Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
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.
17406 https://bugs.webkit.org/show_bug.cgi?id=52624
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):
17472 2011-01-25 Yury Semikhatsky <yurys@chromium.org>
17474 Reviewed by Pavel Feldman.
17476 Web Inspector: remove "attached" state related methods from InspectorAgent
17477 https://bugs.webkit.org/show_bug.cgi?id=53086
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:
17489 2011-01-25 Qi Zhang <qi.2.zhang@nokia.com>
17491 Reviewed by Laszlo Gombos.
17493 [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
17494 https://bugs.webkit.org/show_bug.cgi?id=51873
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.
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):
17510 2011-01-25 Zoltan Herczeg <zherczeg@webkit.org>
17512 Reviewed by Dirk Schulze.
17514 Repaint SVG elements with filter instead of relayout where possible
17515 https://bugs.webkit.org/show_bug.cgi?id=52200
17517 This patch allows repainting of filters, when their
17518 attribute changes does not require relayout.
17520 Existing dynamic-update tests cover this feature.
17522 * platform/graphics/filters/FilterEffect.cpp:
17523 (WebCore::FilterEffect::clearResult): Clearing the currently stored image
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.
17573 2011-01-25 Dirk Schulze <krit@webkit.org>
17575 Reviewed by Nikolas Zimmermann.
17577 SVG is missing to-animation support for Path
17578 https://bugs.webkit.org/show_bug.cgi?id=52982
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.
17584 Test: svg/animations/animate-path-to-animation.html
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.
17594 2011-01-25 Pavel Feldman <pfeldman@chromium.org>
17596 Reviewed by Yury Semikhatsky.
17598 Web Inspector: bind resources to URLs upon adding them into the tree.
17599 https://bugs.webkit.org/show_bug.cgi?id=53013
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):
17637 2011-01-25 Nikolas Zimmermann <nzimmermann@rim.com>
17639 Reviewed by Dirk Schulze.
17641 Introduce FontMetrics abstraction
17642 https://bugs.webkit.org/show_bug.cgi?id=51456
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.
17647 Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
17649 * platform/graphics/SimpleFontData.cpp:
17650 (WebCore::SimpleFontData::SimpleFontData):
17651 (WebCore::SimpleFontData::initCharWidths):
17653 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
17655 Reviewed by Pavel Feldman.
17657 Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
17658 https://bugs.webkit.org/show_bug.cgi?id=52999
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):
17686 2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com>
17688 Reviewed by Martin Robinson.
17690 [GTK] Crash in some pages containing flash
17691 https://bugs.webkit.org/show_bug.cgi?id=53016
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.
17698 * plugins/gtk/PluginPackageGtk.cpp:
17699 (WebCore::webkitgtkXError):
17700 (WebCore::PluginPackage::load):
17702 2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com>
17704 Reviewed by Martin Robinson.
17706 [GTK] Implement spin buttons in RenderThemeGtk
17707 https://bugs.webkit.org/show_bug.cgi?id=51454
17709 Paint inner up/down buttons for spin button elements when building
17712 Test results will land with the GTK+ 2.x version of this patch.
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):
17724 2011-01-24 Mihai Parparita <mihaip@chromium.org>
17726 Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
17729 * loader/cache/CachedResource.cpp:
17730 (WebCore::CachedResource::~CachedResource):
17732 2011-01-24 Mihai Parparita <mihaip@chromium.org>
17734 Reviewed by Tony Chang.
17736 Add runtime checks for invariants in memory cache
17737 https://bugs.webkit.org/show_bug.cgi?id=53059
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.
17742 Just some checks, no new tests necessary.
17744 * css/CSSImageValue.cpp:
17745 (WebCore::CSSImageValue::cachedImage):
17746 * loader/cache/CachedResource.h:
17747 * loader/cache/CachedResource.cpp:
17748 (WebCore::CachedResource::~CachedResource):
17750 2011-01-24 Simon Fraser <simon.fraser@apple.com>
17752 Reviewed by Dan Bernstein.
17754 Leaking CSSRuleDataList objects
17755 https://bugs.webkit.org/show_bug.cgi?id=53062
17757 Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
17759 * css/CSSStyleSelector.cpp:
17760 (WebCore::CSSRuleSet::~CSSRuleSet):
17762 2011-01-24 Simon Fraser <simon.fraser@apple.com>
17764 Reviewed by Eric Seidel.
17766 Refcount Images used in rendering code
17767 https://bugs.webkit.org/show_bug.cgi?id=52701
17769 Change StyleImage::image(RenderObject*, const IntSize&) and
17770 CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
17771 return PassRefPtr<Image>, and adjust other code accordingly.
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.
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):
17808 2011-01-24 Tony Chang <tony@chromium.org>
17810 Unreviewed, round ascent and descent to match old code.
17812 * platform/graphics/chromium/SimpleFontDataLinux.cpp:
17813 (WebCore::SimpleFontData::platformInit):
17815 2011-01-24 Simon Fraser <simon.fraser@apple.com>
17817 Reviewed by Chris Marrin.
17819 perspective() transform function should take lengths
17820 https://bugs.webkit.org/show_bug.cgi?id=52683
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.
17826 Test: animations/3d/transform-perspective.html
17827 transforms/3d/general/3dtransform-values.html
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
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.
17846 2011-01-24 Kent Tamura <tkent@chromium.org>
17848 Reviewed by Dimitri Glazkov.
17850 [Windows] Textfield <input>s have different widths.
17851 https://bugs.webkit.org/show_bug.cgi?id=48405
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.
17859 Test: fast/forms/input-widths.html
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.
17870 2011-01-24 Kent Tamura <tkent@chromium.org>
17872 Reviewed by Dimitri Glazkov.
17874 Some bugs of search cancel button and spin button about state change in
17876 https://bugs.webkit.org/show_bug.cgi?id=46950
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.
17885 Tests: fast/forms/input-number-change-type-on-focus.html
17886 fast/forms/search-hide-cancel-on-cancel.html
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().
17905 2011-01-24 Ryosuke Niwa <rniwa@webkit.org>
17907 Reviewed by Ojan Vafai.
17909 Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
17910 https://bugs.webkit.org/show_bug.cgi?id=52781
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.
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.
17920 * editing/CompositeEditCommand.cpp:
17921 * editing/htmlediting.cpp:
17922 (WebCore::stringWithRebalancedWhitespace): Written.
17923 * editing/htmlediting.h:
17924 (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
17926 2011-01-24 Kenneth Russell <kbr@google.com>
17928 Reviewed by James Robinson.
17930 Web Audio API: port FFTFrame to FFTW
17931 https://bugs.webkit.org/show_bug.cgi?id=52989
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.
17938 * WebCore.gyp/WebCore.gyp:
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):
17953 2011-01-24 Anders Carlsson <andersca@apple.com>
17955 Reviewed by Dan Bernstein.
17957 Reset the page scale factor on standard frame loads
17958 https://bugs.webkit.org/show_bug.cgi?id=53058
17959 <rdar://problem/8908844>
17961 Add a symbol needed by WebKit2.
17965 2011-01-24 Ryosuke Niwa <rniwa@webkit.org>
17967 Reviewed by Eric Seidel.
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
17973 Stop instantiating legacy editing positions in the following files.
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):
18002 2011-01-24 Peter Kasting <pkasting@google.com>
18004 Reviewed by Darin Adler.
18006 Roll back r67261 ("Don't fire onclick on middle clicks") due to
18008 https://bugs.webkit.org/show_bug.cgi?id=46733
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):
18020 2011-01-24 Martin Robinson <mrobinson@igalia.com>
18022 Reviewed by Eric Seidel.
18024 [GTK] Many DOM XHTML tests time out
18025 https://bugs.webkit.org/show_bug.cgi?id=52553
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).
18031 * platform/network/soup/ResourceHandleSoup.cpp:
18032 (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
18033 load if it fails up front.
18035 2011-01-24 Zhenyao Mo <zmo@google.com>
18037 Reviewed by Eric Seidel.
18039 Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
18040 https://bugs.webkit.org/show_bug.cgi?id=52338
18042 Removed the long/unsigned long types and corresponding get functions
18043 and use int/unsigned int instead.
18045 * bindings/js/JSWebGLRenderingContextCustom.cpp:
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:
18068 2011-01-24 Zhenyao Mo <zmo@google.com>
18070 Reviewed by Darin Adler.
18072 Remove sizeInBytes from GraphicsContext3D's various implementations
18073 https://bugs.webkit.org/show_bug.cgi?id=52339
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:
18081 2011-01-24 Adam Roben <aroben@apple.com>
18083 Windows Production build fix
18085 * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
18087 2011-01-24 Anton Muhin <antonm@chromium.org>
18089 Reviewed by Nate Chapin.
18091 [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
18092 https://bugs.webkit.org/show_bug.cgi?id=52911
18094 Plain refactoring, covered by the existing tests.
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.
18120 2011-01-24 Shane Stephens <shanestephens@google.com>
18122 Reviewed by Chris Marrin.
18124 TransformationMatrix multiply operations apply operands in wrong order.
18125 https://bugs.webkit.org/show_bug.cgi?id=52780
18127 Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
18130 Remove TransformationMatrix::multiply, which was actually doing a multLeft.
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".
18138 Convert all call sites for these methods to provide operands in the correct order.
18140 No new tests as patch adds no new functionality.
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):
18167 2011-01-24 Andrei Popescu <andreip@google.com>
18169 Reviewed by Nate Chapin.
18171 IndexedDatabase methods should not take arguments of type OptionsObject
18172 https://bugs.webkit.org/show_bug.cgi?id=53012
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.
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
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:
18206 2011-01-24 Pavel Feldman <pfeldman@chromium.org>
18208 Reviewed by Yury Semikhatsky.
18210 Web Inspector: extract dispatch API from network manager.
18211 https://bugs.webkit.org/show_bug.cgi?id=53009
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):
18243 2011-01-24 Yury Semikhatsky <yurys@chromium.org>
18245 Reviewed by Pavel Feldman.
18247 Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
18248 https://bugs.webkit.org/show_bug.cgi?id=53007
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.
18253 * bindings/js/ScriptDebugServer.cpp:
18254 * bindings/js/ScriptDebugServer.h:
18256 (WebCore::Page::Page):
18258 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
18260 Reviewed by Pavel Feldman.
18262 Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
18263 https://bugs.webkit.org/show_bug.cgi?id=53002
18266 * inspector/front-end/ApplicationCacheItemsView.js:
18267 (WebInspector.ApplicationCacheItemsView.prototype._update):
18268 * inspector/front-end/DOMAgent.js:
18269 (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
18271 2011-01-24 Andreas Kling <kling@webkit.org>
18273 Reviewed by Kenneth Rohde Christiansen.
18275 [Qt] Fix warnings about unregistering an invalid timer
18276 https://bugs.webkit.org/show_bug.cgi?id=53006
18278 The ShadowBuffer's purge timer ID was initialized with 0 which lead
18279 to us calling QObject::killTimer(0), causing some qWarnings.
18281 * platform/graphics/qt/ContextShadowQt.cpp:
18282 (WebCore::ShadowBuffer::ShadowBuffer):
18283 (WebCore::ShadowBuffer::schedulePurge):
18285 2011-01-21 Mikhail Naganov <mnaganov@chromium.org>
18287 Reviewed by Pavel Feldman.
18289 Web Inspector: [Chromium] Fix heap snapshot table sorting.
18291 Fix table sorting to avoid qsort instability artefacts.
18293 https://bugs.webkit.org/show_bug.cgi?id=52914
18295 * inspector/front-end/HeapSnapshotView.js:
18296 (WebInspector.HeapSnapshotView.prototype._sortData):
18297 (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
18298 (WebInspector.HeapSnapshotDataGridList.propertyComparator):
18300 2011-01-24 Mikhail Naganov <mnaganov@chromium.org>
18302 Reviewed by Yury Semikhatsky.
18304 Web Inspector: Find duplicate strings in localizedStrings.js, update it.
18306 https://bugs.webkit.org/show_bug.cgi?id=53005
18308 * English.lproj/localizedStrings.js:
18310 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
18312 Unreviewed, build fix for r76509.
18314 * inspector/InspectorDebuggerAgent.cpp:
18315 (WebCore::InspectorDebuggerAgent::setBreakpoint):
18317 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
18319 Unreviewed, build fix for r76509.
18321 * bindings/js/ScriptDebugServer.h:
18323 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
18325 Reviewed by Yury Semikhatsky.
18327 Web Inspector: set breakpoints by line:column.
18328 https://bugs.webkit.org/show_bug.cgi?id=52615
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:
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):
18370 2011-01-24 Peter Beverloo <peter@chromium.org>
18372 Reviewed by Pavel Feldman.
18374 Web Inspector: recognize application/x-font-woff as a valid mime-type.
18375 https://bugs.webkit.org/show_bug.cgi?id=52977
18379 * inspector/front-end/inspector.js:
18381 2011-01-24 Pavel Podivilov <podivilov@chromium.org>
18383 Unreviewed, fix for r76497.
18385 * inspector/front-end/ResourcesPanel.js:
18386 (WebInspector.ResourcesPanel.prototype.show):
18388 2011-01-24 Andreas Kling <kling@webkit.org>
18390 Reviewed by Tor Arne Vestbø.
18392 [Qt] Use rad2deg() from WTF instead of rolling our own.
18393 https://bugs.webkit.org/show_bug.cgi?id=52993
18395 * platform/graphics/qt/GraphicsContextQt.cpp:
18396 (WebCore::GraphicsContext::rotate):
18397 * platform/graphics/qt/PathQt.cpp:
18398 (WebCore::Path::addArc):
18400 2011-01-24 Sergio Villar Senin <svillar@igalia.com>
18402 Reviewed by Martin Robinson.
18404 [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
18405 https://bugs.webkit.org/show_bug.cgi?id=52885
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
18414 * platform/network/soup/ResourceHandleSoup.cpp:
18415 (WebCore::closeCallback):
18416 (WebCore::readCallback):
18418 2011-01-21 Pavel Podivilov <podivilov@chromium.org>
18420 Reviewed by Pavel Feldman.
18422 Web Inspector: eliminate SourceView and ScriptView classes.
18423 https://bugs.webkit.org/show_bug.cgi?id=52896
18425 SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
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:
18459 2011-01-24 Andras Becsi <abecsi@webkit.org>
18461 Reviewed by Csaba Osztrogonác.
18463 [Qt] Move project files into Source
18464 https://bugs.webkit.org/show_bug.cgi?id=52891
18466 No new tests needed.
18471 2011-01-24 Kent Tamura <tkent@chromium.org>
18473 Unreviewed, trivial fix.
18475 Fix a Chromium-only assertion failure by r76491.
18476 https://bugs.webkit.org/show_bug.cgi?id=38982
18478 Separate icon loading from the FileChooser constructor in order to avoid
18479 ref() before adoptRef().
18481 * platform/FileChooser.cpp:
18482 (WebCore::FileChooser::FileChooser):
18483 (WebCore::FileChooser::initialize):
18484 (WebCore::FileChooser::create):
18485 * platform/FileChooser.h:
18487 2011-01-24 MORITA Hajime <morrita@google.com>
18489 Reviewed by Kent Tamura.
18491 TextControlInnerElement::m_shadowParent should be removed.
18492 https://bugs.webkit.org/show_bug.cgi?id=52998
18494 No new tests. No behavioral change.
18496 * rendering/TextControlInnerElements.cpp:
18497 (WebCore::TextControlInnerElement::TextControlInnerElement):
18498 * rendering/TextControlInnerElements.h:
18500 2011-01-24 Yury Semikhatsky <yurys@chromium.org>
18502 Reviewed by Pavel Feldman.
18504 REGRESSION (r72895): console.trace crashes
18505 https://bugs.webkit.org/show_bug.cgi?id=52981
18507 - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
18509 - Use PassRefPtr for objects whos ownership is passed to the inspector.
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):
18550 2010-01-24 Kent Tamura <tkent@chromium.org>
18552 Reviewed by Darin Fisher.
18554 [Chromium] Support icon loading for <input type=file>
18555 https://bugs.webkit.org/show_bug.cgi?id=38982
18557 An icon data in Chromium port is represented as WebCore::Image. We
18558 don't need OS-specific code anymore.
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:
18569 2011-01-21 Pavel Podivilov <podivilov@chromium.org>
18571 Reviewed by Pavel Feldman.
18573 Web Inspector: move search functions from SourceView to SourceFrame.
18574 https://bugs.webkit.org/show_bug.cgi?id=52895
18576 This is the last step before eliminating SourceView and ScriptView since
18577 this classes just delegate everything to SourceFrame.
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):
18605 2011-01-24 Sheriff Bot <webkit.review.bot@gmail.com>
18607 Unreviewed, rolling out r76463.
18608 http://trac.webkit.org/changeset/76463
18609 https://bugs.webkit.org/show_bug.cgi?id=52993
18611 It broke canvas/philip/tests/2d.path.stroke.skew.html
18612 (Requested by Ossy on #webkit).
18614 * platform/graphics/qt/GraphicsContextQt.cpp:
18615 (WebCore::GraphicsContext::rotate):
18616 * platform/graphics/qt/PathQt.cpp:
18617 (WebCore::Path::addArc):
18619 2011-01-23 Andrey Kosyakov <caseq@chromium.org>
18621 Reviewed by Pavel Feldman.
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
18626 * inspector/front-end/NetworkPanel.js:
18627 (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
18628 (WebInspector.NetworkPanel.prototype._positionSummaryBar):
18629 (WebInspector.NetworkPanel.prototype._toggleGridMode):
18631 2011-01-19 MORITA Hajime <morrita@google.com>
18633 Reviewed by Ryosuke Niwa.
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
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.
18643 Test: editing/inserting/insert-composition-whitespace.html
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):
18672 2011-01-23 Mark Rowe <mrowe@apple.com>
18674 Follow-up to r76477.
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.
18682 Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
18684 * WebCore.xcodeproj/project.pbxproj:
18686 2011-01-23 Mark Rowe <mrowe@apple.com>
18688 Build fix after r76459.
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.
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
18701 * inspector/InspectorInstrumentation.cpp:
18702 (WebCore::InspectorInstrumentation::inspectorAgents):
18703 * inspector/InspectorInstrumentation.h:
18704 (WebCore::InspectorInstrumentation::bindInspectorAgent):
18705 (WebCore::InspectorInstrumentation::unbindInspectorAgent):
18706 (WebCore::InspectorInstrumentation::inspectorAgentForPage):
18708 2011-01-21 Vangelis Kokkevis <vangelis@chromium.org>
18710 Reviewed by Kenneth Russell.
18712 [chromium] Add support for -webkit-mask properties to the
18713 accelerated compositing path.
18714 https://bugs.webkit.org/show_bug.cgi?id=49780
18716 Tests: Existing tests in LayoutTests/compositing/masks
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):
18749 2011-01-23 Patrick Gansterer <paroga@webkit.org>
18751 Reviewed by Darin Adler.
18753 Use WTF::StringHasher in WebCore
18754 https://bugs.webkit.org/show_bug.cgi?id=52934
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):
18767 2011-01-23 Patrick Gansterer <paroga@webkit.org>
18769 Reviewed by David Kilzer.
18771 Add an overload to base64Encode with String output
18772 https://bugs.webkit.org/show_bug.cgi?id=50122
18774 This change removes duplicated code.
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):
18797 2011-01-23 Patrick Gansterer <paroga@webkit.org>
18799 Reviewed by David Kilzer.
18801 Add String::containsOnlyLatin1()
18802 https://bugs.webkit.org/show_bug.cgi?id=52979
18804 Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
18806 * page/DOMWindow.cpp:
18807 (WebCore::DOMWindow::btoa):
18808 (WebCore::DOMWindow::atob):
18810 2011-01-23 Patrick Gansterer <paroga@webkit.org>
18812 Reviewed by Andreas Kling.
18814 [CMake] Add missing CodeGenerator dependencies
18815 https://bugs.webkit.org/show_bug.cgi?id=52976
18819 2011-01-23 Yael Aharon <yael.aharon@nokia.com>
18821 Reviewed by Kenneth Rohde Christiansen.
18823 [Qt][Symbian] Fix --minimal build
18824 https://bugs.webkit.org/show_bug.cgi?id=52839
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.
18833 Build fix so no new tests.
18836 * plugins/symbian/PluginPackageSymbian.cpp:
18838 2011-01-23 Andreas Kling <kling@webkit.org>
18840 Reviewed by Tor Arne Vestbø.
18842 [Qt] Use rad2deg() from WTF instead of rolling our own.
18844 * platform/graphics/qt/GraphicsContextQt.cpp:
18845 (WebCore::GraphicsContext::rotate):
18846 * platform/graphics/qt/PathQt.cpp:
18847 (WebCore::Path::addArc):
18849 2011-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
18851 Reviewed by Andreas Kling.
18853 Viewport meta: Always adjust device dimensions to the device pixel ratio.
18855 * dom/ViewportArguments.cpp:
18856 (WebCore::computeViewportAttributes):
18858 2011-01-23 Andreas Kling <kling@webkit.org>
18860 Reviewed by Kenneth Rohde Christiansen.
18862 Don't scale absolute geometry specified by viewport meta tag.
18864 * dom/ViewportArguments.cpp:
18865 (WebCore::computeViewportAttributes):
18867 2011-01-23 Ilya Tikhonovsky <loislo@chromium.org>
18869 Unreviewed build fix.
18871 Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
18873 Touch Inspector.idl.
18875 * inspector/Inspector.idl:
18877 2011-01-22 Ilya Tikhonovsky <loislo@chromium.org>
18879 Reviewed by Pavel Feldman.
18881 Web Inspector: next step in splitting InspectorController.
18883 Splitting InspectorController is a bit tricky process.
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;
18890 The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
18892 As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
18894 https://bugs.webkit.org/show_bug.cgi?id=52955
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:
19103 2011-01-22 Chris Rogers <crogers@google.com>
19105 Rubber-stamped by Anders Carlsson.
19107 Fix FFTFrameStub to compile properly
19108 https://bugs.webkit.org/show_bug.cgi?id=52969
19110 No new tests since this is a build fix.
19112 * platform/audio/FFTFrameStub.cpp:
19113 (WebCore::FFTFrame::FFTFrame):
19115 2011-01-22 Andrei Popescu <andreip@google.com>
19117 Reviewed by Jeremy Orlow.
19119 IndexedDB corrupts data on disk
19120 https://bugs.webkit.org/show_bug.cgi?id=52890
19122 We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
19123 Test: storage/indexeddb/data-corruption.html
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):
19141 2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
19143 Not reviewed. Fix WinCE build.
19145 * platform/graphics/wince/GraphicsContextWinCE.cpp:
19146 (WebCore::GraphicsContext::drawText):
19147 * rendering/RenderThemeWinCE.cpp:
19148 (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
19150 2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
19152 Reviewed by Dirk Schulze.
19154 REGRESSION: Vertical line metrics incorrect
19155 https://bugs.webkit.org/show_bug.cgi?id=52960
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.
19160 Restore old line spacing behaviour to fix the regression.
19161 Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
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):
19196 2011-01-22 Andreas Kling <kling@webkit.org>
19198 Reviewed by Kenneth Rohde Christiansen.
19200 [Qt] fast/backgrounds/svg-as-mask.html fails
19201 https://bugs.webkit.org/show_bug.cgi?id=52906
19203 Transparency layers should start out with in SourceOver mode with
19204 alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
19206 * platform/graphics/qt/TransparencyLayer.h:
19207 (WebCore::TransparencyLayer::TransparencyLayer):
19209 2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
19213 Introduce FontMetrics abstraction
19214 https://bugs.webkit.org/show_bug.cgi?id=51456
19216 Fix Chromium/Win build.
19218 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
19219 (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
19221 2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com>
19223 Reviewed by Dirk Schulze.
19225 Introduce FontMetrics abstraction
19226 https://bugs.webkit.org/show_bug.cgi?id=51456
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.
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.
19237 Shouldn't affect existing tests.
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):
19407 2011-01-22 Ryosuke Niwa <rniwa@webkit.org>
19409 Reviewed by Eric Seidel.
19411 Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
19412 https://bugs.webkit.org/show_bug.cgi?id=52759
19414 Stopped instantiating legacy editing positions in the following files.
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):
19424 (WebCore::Frame::visiblePositionForPoint):
19425 * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
19426 * rendering/RenderBlock.h: Ditto.
19428 2011-01-22 Adrienne Walker <enne@google.com>
19430 Reviewed by James Robinson.
19432 [chromium] Fix compositor repaints for offscreen fixed elements
19433 https://bugs.webkit.org/show_bug.cgi?id=52681
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.
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.
19442 * page/FrameView.cpp:
19443 (WebCore::FrameView::scrollContentsFastPath):
19444 * platform/graphics/chromium/LayerRendererChromium.cpp:
19445 (WebCore::LayerRendererChromium::invalidateRootLayerRect):
19447 2011-01-22 Alexey Proskuryakov <ap@apple.com>
19449 Reviewed by Dan Bernstein.
19451 https://bugs.webkit.org/show_bug.cgi?id=52951
19452 WebKit2 generates a bad PDF for cross process messaging
19454 * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
19455 draw inside the requested rectangle.
19457 2011-01-21 Yury Semikhatsky <yurys@chromium.org>
19459 Reviewed by Adam Barth.
19461 Regression: new window.onerror() implementation leaks cross-origin Javascript errors
19462 https://bugs.webkit.org/show_bug.cgi?id=52903
19464 In case of an exception in a script from different domain only generic message
19465 will be passed to window.onerror hander.
19467 Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
19468 http/tests/security/cross-origin-script-window-onerror.html
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.
19481 2011-01-21 Andreas Kling <kling@webkit.org>
19483 Reviewed by Kenneth Rohde Christiansen.
19485 [Qt] Always set composition mode through GraphicsContext
19486 https://bugs.webkit.org/show_bug.cgi?id=52940
19488 GraphicsContext tracks the current composition mode so we should
19489 never call through to the QPainter directly.
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.
19496 * platform/graphics/qt/ImageQt.cpp:
19497 (WebCore::Image::drawPattern):
19498 (WebCore::BitmapImage::draw):
19500 2011-01-21 Dan Bernstein <mitz@apple.com>
19502 Reviewed by Adele Peterson.
19504 Inconsistent handling of no-break space in justification logic
19505 https://bugs.webkit.org/show_bug.cgi?id=52938
19507 Test: fast/text/justify-nbsp.html
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.
19513 2011-01-21 Charlie Reis <creis@chromium.org>
19515 Reviewed by Darin Fisher.
19517 Crash in WebCore::HistoryController::itemsAreClones
19518 https://bugs.webkit.org/show_bug.cgi?id=52819
19520 Adds sanity checks to help diagnose the crash.
19522 * loader/HistoryController.cpp:
19524 2011-01-21 Andreas Kling <kling@webkit.org>
19526 Reviewed by Ariya Hidayat.
19528 [Qt] Let QPainter decide whether a composition mode is supported or not
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.)
19534 Delegate this decision to QPainter instead (this will cause warnings
19535 if an unsupported mode is used, but that's a good thing.)
19537 * platform/graphics/qt/GraphicsContextQt.cpp:
19538 (WebCore::GraphicsContext::clearRect):
19539 (WebCore::GraphicsContext::setPlatformCompositeOperation):
19540 * platform/graphics/qt/TransparencyLayer.h:
19541 (WebCore::TransparencyLayer::TransparencyLayer):
19543 2011-01-21 Chris Rogers <crogers@google.com>
19545 Reviewed by Kenneth Russell.
19547 fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
19548 https://bugs.webkit.org/show_bug.cgi?id=52933
19550 No new tests since this just fixes the build
19552 * webaudio/RealtimeAnalyser.h:
19554 2011-01-21 Chris Rogers <crogers@google.com>
19556 Reviewed by Kenneth Russell.
19558 Fix audio build: change ChromiumBridge to PlatformBridge
19559 https://bugs.webkit.org/show_bug.cgi?id=52928
19561 No new tests since audio API is not yet implemented.
19563 * platform/audio/chromium/AudioBusChromium.cpp:
19564 (WebCore::AudioBus::loadPlatformResource):
19566 2011-01-21 Chris Rogers <crogers@google.com>
19568 Reviewed by Kenneth Russell.
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
19573 No new tests since audio API is not yet implemented.
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):
19586 2011-01-21 Tony Chang <tony@chromium.org>
19588 Reviewed by Sam Weinig.
19590 reduce number of FrameLoaderClient::didChangeScrollOffset calls
19591 https://bugs.webkit.org/show_bug.cgi?id=52915
19593 Only notify of changes in scroll offset when there actually is a change.
19594 This regressed in r76291.
19596 Covered by Chromium browser_tests.
19598 * platform/ScrollAnimator.cpp:
19599 (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
19601 2011-01-21 Pavel Feldman <pfeldman@chromium.org>
19603 Reviewed by Yury Semikhatsky.
19605 Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
19606 https://bugs.webkit.org/show_bug.cgi?id=52900
19608 * inspector/InspectorController.cpp:
19609 (WebCore::InspectorController::~InspectorController):
19610 (WebCore::InspectorController::inspectedPageDestroyed):
19612 2011-01-21 Chris Rogers <crogers@google.com>
19614 Reviewed by Darin Fisher.
19616 Add run-time enable support for the web audio API
19617 https://bugs.webkit.org/show_bug.cgi?id=52741
19619 No new tests since audio API is not yet implemented.
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):
19631 (WebCore::Settings::webAudioEnabled):
19633 2011-01-21 Martin Robinson <mrobinson@igalia.com>
19635 Reviewed by Xan Lopez.
19637 [GTK] Menulist text often collides with separator
19638 https://bugs.webkit.org/show_bug.cgi?id=51155
19640 Move menulist rendering to RenderThemeGtk and correct padding code
19641 for separators in menulists.
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
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.
19672 (moz_gtk_get_widget_border):
19673 (moz_gtk_widget_paint):
19674 * platform/gtk/gtk3drawing.c:
19676 (moz_gtk_get_widget_border):
19677 (moz_gtk_widget_paint):
19678 * platform/gtk/gtkdrawing.h:
19680 2011-01-21 Sam Weinig <sam@webkit.org>
19682 Fix chromium mac build.
19684 * platform/chromium/ScrollbarThemeChromiumMac.mm:
19685 (WebCore::scrollbarStateToThemeState):
19686 (WebCore::ScrollbarThemeChromiumMac::paint):
19688 2011-01-21 Sam Weinig <sam@webkit.org>
19690 Fix the windows build.
19692 * platform/ScrollbarThemeComposite.cpp:
19693 (WebCore::ScrollbarThemeComposite::paint):
19695 2011-01-21 Chris Rogers <crogers@google.com>
19697 Reviewed by Kenneth Russell.
19699 Add chromium bundled audio spatialization resources to WebAudio.grd
19700 https://bugs.webkit.org/show_bug.cgi?id=52651
19702 No new tests since audio API is not yet implemented.
19704 * WebCore.gyp/WebCore.gyp:
19705 * platform/audio/chromium/AudioBusChromium.cpp:
19706 (WebCore::AudioBus::loadPlatformResource):
19708 2011-01-21 Xiyuan Xia <xiyuan@chromium.org>
19710 Reviewed by Tony Chang.
19712 Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
19713 https://bugs.webkit.org/show_bug.cgi?id=52826
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:
19738 2011-01-21 Sam Weinig <sam@webkit.org>
19740 Reviewed by Anders Carlsson.
19742 Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
19743 https://bugs.webkit.org/show_bug.cgi?id=52779
19745 Rename ScrollbarClient -> ScrollableArea.
19747 - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
19748 since that was its only use case.
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:
19860 2011-01-21 Darin Adler <darin@apple.com>
19864 * rendering/mathml/RenderMathMLFraction.cpp:
19865 (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.
19867 2011-01-21 Anton Muhin <antonm@chromium.org>
19869 Reviewed by Nate Chapin.
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
19874 Test: fast/dom/htmlcollection-conversion-throws-exception.html
19876 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
19877 (WebCore::getItem):
19879 2011-01-21 Adam Roben <aroben@apple.com>
19881 Separate flushing layer changes from rendering in CACFLayerTreeHost
19884 1) A change is made to a GraphicsLayer.
19885 2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
19887 3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
19888 flush and then renders.
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.
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.
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).
19917 Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
19918 CACFLayerTreeHost, but shouldn't be
19920 Reviewed by Simon Fraser.
19922 * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.
19924 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
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
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.
19942 * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
19943 CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
19944 m_isFlushingLayerChanges.
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):
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.
19973 * platform/graphics/ca/win/LayerChangesFlusher.h: Added.
19975 2011-01-21 Simon Fraser <simon.fraser@apple.com>
19977 Reviewed by Sam Weinig.
19979 GraphicsLayer should be non-copyable
19980 https://bugs.webkit.org/show_bug.cgi?id=52909
19982 Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
19983 on that and KeyframeValueList.
19985 * platform/graphics/GraphicsLayer.h:
19987 2011-01-21 Simon Fraser <simon.fraser@apple.com>
19989 Reviewed by Sam Weinig.
19991 Report the sized used by canvases and types arrays
19992 https://bugs.webkit.org/show_bug.cgi?id=52856
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.
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.
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.
20018 * html/HTMLCanvasElement.cpp:
20019 (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
20020 with the size of the canvas backing store.
20022 * html/canvas/TypedArrayBase.h:
20023 (WebCore::TypedArrayBase::byteLength): byteLength needs to
20026 * platform/graphics/ImageBuffer.h: Add dataSize() method.
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().
20043 2011-01-21 Adam Roben <aroben@apple.com>
20045 Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]
20047 Also renamed a few functions and data members to match.
20049 Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
20051 Reviewed by Simon Fraser.
20053 * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.
20055 * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
20058 * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.
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.
20063 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
20064 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
20065 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
20066 Updated for renames.
20068 2011-01-21 Patrick Gansterer <paroga@paroga.com>
20070 Original patch from François Sausset <sausset@gmail.com>
20072 Reviewed by Darin Adler.
20074 Code cleaning in rendering/mathml/RenderMathMLFraction.cpp
20075 https://bugs.webkit.org/show_bug.cgi?id=52201
20077 Replace unneeded doubles by floats and remove unneeded casts.
20079 * rendering/mathml/RenderMathMLFraction.cpp:
20080 (WebCore::RenderMathMLFraction::paint):
20081 * rendering/mathml/RenderMathMLFraction.h:
20083 2011-01-21 Dimitri Glazkov <dglazkov@chromium.org>
20085 Reviewed by Darin Adler.
20087 REGRESSION(r73618): Clicking on a search input causes a crash.
20088 https://bugs.webkit.org/show_bug.cgi?id=52905
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.
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.
20098 Test: fast/dom/search-shadow-host-crash.html
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.
20107 2011-01-21 Adam Roben <aroben@apple.com>
20109 Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes"
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.
20115 Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in
20116 WKCACFLayerRenderer and friends is confusing
20118 Reviewed by Simon Fraser.
20120 * platform/graphics/win/WKCACFLayerRenderer.cpp:
20121 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
20122 (WebCore::WKCACFLayerRenderer::render):
20123 Updated for renames.
20125 (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from
20126 syncCompositingStateSoon, and updated for other renames.
20128 * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to
20129 * m_shouldFlushPendingGraphicsLayerChanges.
20130 (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from
20131 syncCompositingState.
20133 2011-01-21 Adam Roben <aroben@apple.com>
20135 Clean up PlatformCAAnimationWin
20137 Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient
20139 Reviewed by Simon Fraser.
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.
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().
20154 (PlatformCAAnimation::setFillMode):
20155 (PlatformCAAnimation::setTimingFunction):
20156 (PlatformCAAnimation::setValueFunction):
20157 (PlatformCAAnimation::setTimingFunctions):
20158 Updated for changes to the above conversion functions.
20160 2011-01-21 Charlie Reis <creis@chromium.org>
20162 Reviewed by Darin Fisher.
20164 FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
20165 https://bugs.webkit.org/show_bug.cgi?id=48812
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
20171 Test: http/tests/navigation/back-twice-without-commit.html
20172 Test: http/tests/navigation/forward-and-cancel.html
20174 * loader/FrameLoader.cpp:
20175 * loader/FrameLoader.h:
20176 * loader/FrameLoaderTypes.h:
20177 * WebCore.exp.in: Update stopAllLoaders signature.
20179 2011-01-21 Carlos Garcia Campos <cgarcia@igalia.com>
20181 Reviewed by Martin Robinson.
20183 [GTK] Show caps lock indicator in password fields
20184 https://bugs.webkit.org/show_bug.cgi?id=52878
20186 Test: manual-tests/password-caps-lock.html
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:
20196 2011-01-21 Pavel Podivilov <podivilov@chromium.org>
20198 Reviewed by Pavel Feldman.
20200 Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
20201 https://bugs.webkit.org/show_bug.cgi?id=52874
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.
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):
20236 2011-01-21 John Knottenbelt <jknotten@chromium.org>
20238 Reviewed by Jeremy Orlow.
20240 Turn off uninitialized errors for ARM linux build.
20241 https://bugs.webkit.org/show_bug.cgi?id=52893
20243 Fix ARM compiler breakage.
20245 * WebCore.gyp/WebCore.gyp:
20247 2011-01-21 Mikhail Naganov <mnaganov@chromium.org>
20249 Reviewed by Yury Semikhatsky.
20251 Web Inspector: [Chromium] REGRESSION: Using the "Back" button
20252 while profiling causes renderer crash.
20254 https://bugs.webkit.org/show_bug.cgi?id=52808
20256 * inspector/InspectorProfilerAgent.cpp:
20257 (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
20258 (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
20260 2011-01-20 Ilya Tikhonovsky <loislo@chromium.org>
20262 Reviewed by Pavel Feldman.
20264 Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
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.
20270 https://bugs.webkit.org/show_bug.cgi?id=52869
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):
20286 2011-01-12 Pavel Podivilov <podivilov@chromium.org>
20288 Reviewed by Pavel Feldman.
20290 Web Inspector: breakpoints are restored incorrectly when reverting live edit.
20291 https://bugs.webkit.org/show_bug.cgi?id=52300
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.
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):
20326 2011-01-21 Adam Klein <adamk@chromium.org>
20328 Reviewed by Eric Seidel.
20330 [chromium] Rename ChromiumBridge to PlatformBridge
20331 https://bugs.webkit.org/show_bug.cgi?id=52471
20333 No tests added as this is a rename; no change in behavior.
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:
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):
20493 2011-01-21 Sheriff Bot <webkit.review.bot@gmail.com>
20495 Unreviewed, rolling out r76335.
20496 http://trac.webkit.org/changeset/76335
20497 https://bugs.webkit.org/show_bug.cgi?id=52875
20499 profiler tests were broken (Requested by loislo on #webkit).
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):
20514 2011-01-21 Ilya Tikhonovsky <loislo@chromium.org>
20516 Reviewed by Yury Semikhatsky.
20518 Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
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.
20524 https://bugs.webkit.org/show_bug.cgi?id=52869
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):
20540 2011-01-20 Sam Weinig <sam@webkit.org>
20542 Reviewed by Gavin Barraclough.
20544 Fix failing tests from r76291.
20546 * platform/ScrollView.cpp:
20547 (WebCore::ScrollView::scrollPosition):
20548 (WebCore::ScrollView::updateScrollbars):
20549 Take the scroll origin into account in more places.
20551 2011-01-20 Kent Tamura <tkent@chromium.org>
20553 Unreviewed, sorting an Xcode project file.
20555 * WebCore.xcodeproj/project.pbxproj:
20557 2011-01-20 Ben Vanik <ben.vanik@gmail.com>
20559 Reviewed by Kenneth Russell.
20561 Implementation of the OES_standard_derivatives WebGL extension.
20562 https://bugs.webkit.org/show_bug.cgi?id=51678
20564 Changes are modeled off of the existing OESTextureFloat extension. New files,
20565 extension retrieval, etc all match the existing code.
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.
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.
20577 * DerivedSources.make:
20582 * WebCore.xcodeproj/project.pbxproj:
20583 * bindings/js/JSWebGLRenderingContextCustom.cpp:
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
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.
20624 2011-01-20 Xiaomei Ji <xji@chromium.org>
20626 Reviewed by Dan Bernstein.
20628 Fix regression(r71566): PDF in RTL block might messes up text directionality.
20629 https://bugs.webkit.org/show_bug.cgi?id=52776
20631 Test: fast/dom/52776.html
20633 * platform/text/BidiResolver.h:
20634 (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
20635 (WebCore::::lowerExplicitEmbeddingLevel):
20636 (WebCore::::raiseExplicitEmbeddingLevel):
20637 (WebCore::::createBidiRunsForLine):
20639 2011-01-20 Beth Dakin <bdakin@apple.com>
20641 Reviewed by Anders Carlsson.
20643 Follow-on for <rdar://problem/8890255>
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):
20650 2011-01-20 Levi Weintraub <leviw@chromium.org>
20654 Fixing build breakage.
20656 * editing/SelectionController.cpp:
20657 (WebCore::SelectionController::willBeModified):
20659 2011-01-20 Levi Weintraub <leviw@chromium.org>
20661 Reviewed by Ryosuke Niwa.
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
20666 Test: editing/selection/rtl-move-selection-right-left.html
20668 * editing/SelectionController.cpp:
20669 (WebCore::SelectionController::willBeModified):
20670 Respecting the direction of the containing block when switching selection base and extent in
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.
20678 2011-01-20 Nate Chapin <japhet@chromium.org>
20680 Reviewed by Adam Barth.
20682 Null-check m_frame in DOMWindow::setLocation(), since it's
20683 possible to reach this point without it having been checked
20685 https://bugs.webkit.org/show_bug.cgi?id=52769
20687 Test: fast/dom/Window/Location/set-location-after-close.html
20689 * page/DOMWindow.cpp:
20690 (WebCore::DOMWindow::setLocation):
20692 2011-01-20 Chang Shu <chang.shu@nokia.com>
20694 Reviewed by Darin Adler.
20696 setContentEditable with invalid string should throw exception.
20697 https://bugs.webkit.org/show_bug.cgi?id=52057
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."
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.
20713 2011-01-19 Adrienne Walker <enne@google.com>
20715 Reviewed by James Robinson.
20717 [chromium] Composited render surfaces should allow writes to alpha channel.
20718 https://bugs.webkit.org/show_bug.cgi?id=52766
20720 Test: LayoutTests/platform/chromium/compositing
20722 * platform/graphics/chromium/LayerRendererChromium.cpp:
20723 (WebCore::LayerRendererChromium::drawLayers):
20725 2011-01-14 Jer Noble <jer.noble@apple.com>
20727 Reviewed by Eric Carlson.
20729 REGRESSION (r71842): Compass video is not playing in Safari welcome page
20730 https://bugs.webkit.org/show_bug.cgi?id=52506
20732 New test: LayoutTests/media/video-currentTime-delay.html
20734 Call invalidateCachedTime() every time one of the cached property dependencies changes,
20735 i.e. m_paused and m_playbackRate.
20737 * html/HTMLMediaElement.cpp:
20738 (WebCore::HTMLMediaElement::prepareForLoad):
20739 (WebCore::HTMLMediaElement::setReadyState):
20740 (WebCore::HTMLMediaElement::setPlaybackRate):
20741 (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
20743 2011-01-20 Beth Dakin <bdakin@apple.com>
20745 Reviewed by Geoffrey Garen.
20747 Fix for <rdar://problem/8890255>
20749 Allow WebKitSystemInterface to draw scrollbars
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:
20761 2011-01-20 Sam Weinig <sam@webkit.org>
20763 Reviewed by Dave Hyatt.
20765 Cleanup Scrollbar/ScrollbarClient relationship
20766 https://bugs.webkit.org/show_bug.cgi?id=52779
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
20773 There are now two ways to scroll a scrollable area:
20774 - ScrollbarClient::scroll()
20775 - ScrollbarClient::scrollToOffsetWithoutAnimation()
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).
20784 * WebCore.xcodeproj/project.pbxproj:
20785 Move Scrollbar.cpp to the right place.
20787 * accessibility/AccessibilityScrollbar.cpp:
20788 (WebCore::AccessibilityScrollbar::setValue):
20789 Initiate the scroll through the scrollbar client, rather than the
20792 * page/FrameView.cpp:
20793 (WebCore::FrameView::scrollTo):
20794 * page/FrameView.h:
20795 Condense the two valueChanged overrides to a single override of the
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.
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.
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.
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
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.
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.
20886 * rendering/RenderMarquee.cpp:
20887 (WebCore::RenderMarquee::start):
20888 Simplify initial paint to just do an immediate scroll to the position.
20890 2011-01-20 Patrick Gansterer <paroga@webkit.org>
20892 Unreviewed WinCE build fix for r76170.
20894 * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
20895 * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
20897 2011-01-20 James Robinson <jamesr@chromium.org>
20899 Reviewed by Darin Fisher.
20901 Implement mozilla's requestAnimationFrame API
20902 https://bugs.webkit.org/show_bug.cgi?id=51218
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.
20910 Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
20911 This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
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().
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
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
20937 * dom/Document.cpp:
20938 (WebCore::Document::Document):
20939 (WebCore::Document::webkitRequestAnimationFrame):
20940 (WebCore::Document::webkitCancelRequestAnimationFrame):
20941 (WebCore::Document::serviceScriptedAnimations):
20943 * dom/RequestAnimationFrameCallback.h: Added.
20944 (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
20945 * dom/RequestAnimationFrameCallback.idl: Added.
20946 * loader/EmptyClients.h:
20947 (WebCore::EmptyChromeClient::scheduleAnimation):
20949 (WebCore::Chrome::scheduleAnimation):
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:
20963 2011-01-20 James Robinson <jamesr@chromium.org>
20965 Reviewed by Nate Chapin.
20967 [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
20968 https://bugs.webkit.org/show_bug.cgi?id=52837
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.
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.
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):
21004 2011-01-20 James Robinson <jamesr@chromium.org>
21006 Reviewed by Eric "Baller" Seidel.
21008 RenderTableSection's setNeedsCellRecalc needs to null check table()
21009 https://bugs.webkit.org/show_bug.cgi?id=52770
21011 Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
21012 This can be null during detach(). Test constructed by Eric Seidel.
21014 Test: fast/css-generated-content/table-with-scrollbar-corner.html
21016 * rendering/RenderTableSection.cpp:
21017 (WebCore::RenderTableSection::setNeedsCellRecalc):
21018 * rendering/RenderTableSection.h:
21020 2011-01-20 Dirk Schulze <krit@webkit.org>
21022 Reviewed by Rob Buis.
21024 SVG Pattern doesn't take preserveAspectRatio of references Pattern
21025 https://bugs.webkit.org/show_bug.cgi?id=52802
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.
21030 Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
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):
21042 2011-01-20 Dan Bernstein <mitz@apple.com>
21044 Reviewed by Adele Peterson.
21046 <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
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
21051 <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
21052 https://bugs.webkit.org/show_bug.cgi?id=52265
21054 Test: fast/block/line-layout/negative-max-height.html
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
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.
21065 2011-01-20 Yi Shen <yi.4.shen@nokia.com>
21067 Reviewed by Eric Carlson.
21069 Clean up the Media Controls CSS for Qt
21070 https://bugs.webkit.org/show_bug.cgi?id=52822
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.
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):
21115 2011-01-20 Alexander Pavlov <apavlov@chromium.org>
21117 Reviewed by Pavel Feldman.
21119 Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
21120 https://bugs.webkit.org/show_bug.cgi?id=52816
21122 * inspector/front-end/StylesSidebarPane.js:
21123 (WebInspector.StylePropertyTreeElement.prototype):
21125 2011-01-20 Dawit Alemayehu <adawit@kde.org>
21127 Reviewed by Andreas Kling.
21129 [Qt] Fix Layering violation in MediaPlayerPrivateQt.
21130 https://bugs.webkit.org/show_bug.cgi?id=52733
21132 No new tests. no behavioral change.
21134 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
21135 (WebCore::MediaPlayerPrivateQt::commitLoad):
21137 2011-01-20 Nate Chapin <japhet@chromium.org>
21139 Reviewed by Darin Fisher.
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.
21147 https://bugs.webkit.org/show_bug.cgi?id=52631
21149 * bindings/v8/V8NPUtils.cpp:
21150 (WebCore::convertV8ObjectToNPVariant):
21152 2011-01-20 Andreas Kling <kling@webkit.org>
21154 Reviewed by Ariya Hidayat.
21156 [Qt] Fill shadow scratch buffer with proper transparent pixels
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.
21162 * platform/graphics/qt/ContextShadowQt.cpp:
21163 (WebCore::ShadowBuffer::scratchImage):
21165 2011-01-19 Adam Roben <aroben@apple.com>
21167 Remove WKCACFContextFlusher
21169 It wasn't doing anything.
21171 Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
21173 Reviewed by Simon Fraser.
21175 * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
21178 * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
21179 * platform/graphics/win/WKCACFContextFlusher.h: Removed.
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.
21186 2011-01-19 Adam Roben <aroben@apple.com>
21188 Only flush our own context when we get resized
21190 Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
21191 changes get flushed whenever any composited page is resized
21193 Reviewed by Simon Fraser.
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!
21199 2011-01-19 Adam Roben <aroben@apple.com>
21201 Make WKCACFLayerRenderer ref-counted
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.
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
21210 Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
21213 Reviewed by Simon Fraser.
21215 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
21216 (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
21217 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
21218 Updated for WKCACFLayerRenderer changes.
21220 * platform/graphics/win/WKCACFLayerRenderer.cpp:
21221 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
21223 (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
21224 returns a PassOwnPtr.
21225 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
21226 WKCACFLayerRendererClient.
21228 * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
21230 (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
21232 2011-01-20 Csaba Osztrogonác <ossy@webkit.org>
21234 [Qt][V8] Unreviewed buildfix after r76248.
21236 * bindings/v8/ScriptCachedFrameData.h: Add missing include.
21238 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
21240 Reviewed by Yury Semikhatsky.
21242 Web Inspector: enable resource agent upon request.
21243 https://bugs.webkit.org/show_bug.cgi?id=52815
21245 We should not send network-related notifications unless front-end
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:
21274 2011-01-20 Zoltan Horvath <zoltan@webkit.org>
21276 Reviewed by Csaba Osztrogonác.
21278 Refactoring of the custom allocation framework
21279 https://bugs.webkit.org/show_bug.cgi?id=49897
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.
21285 2011-01-20 Mikhail Naganov <mnaganov@chromium.org>
21287 Reviewed by Pavel Feldman.
21289 Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
21291 Profiles are now not cleared unless renderer instance was changed.
21293 https://bugs.webkit.org/show_bug.cgi?id=52807
21295 * inspector/InspectorController.cpp:
21296 (WebCore::InspectorController::restoreProfiler):
21297 * inspector/InspectorProfilerAgent.cpp:
21298 (WebCore::InspectorProfilerAgent::resetState):
21299 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
21300 * inspector/InspectorProfilerAgent.h:
21302 2011-01-20 Alexander Pavlov <apavlov@chromium.org>
21304 Unreviewed, add new JS file refs missing from r76116.
21307 * WebCore.vcproj/WebCore.vcproj:
21308 * inspector/front-end/WebKit.qrc:
21310 2011-01-20 Alexander Pavlov <apavlov@chromium.org>
21312 Reviewed by Pavel Feldman.
21314 Web Inspector: Crash when adding a rule for an ImageDocument
21315 https://bugs.webkit.org/show_bug.cgi?id=52811
21317 * inspector/InspectorCSSAgent.cpp:
21318 (WebCore::InspectorCSSAgent::addRule2):
21319 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
21321 2011-01-20 Ilya Tikhonovsky <loislo@chromium.org>
21323 Reviewed by Pavel Feldman.
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
21331 https://bugs.webkit.org/show_bug.cgi?id=52806
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):
21368 2011-01-19 Pavel Podivilov <podivilov@chromium.org>
21370 Reviewed by Yury Semikhatsky.
21372 Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
21373 https://bugs.webkit.org/show_bug.cgi?id=52723
21375 Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
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:
21411 2011-01-20 Dirk Schulze <krit@webkit.org>
21413 Reviewed by Andreas Kling.
21415 SVG Pattern doesn't take the viewBox of a referenced Pattern
21416 https://bugs.webkit.org/show_bug.cgi?id=52804
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.
21423 Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
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):
21435 2011-01-19 Stephen White <senorblanco@chromium.org>
21437 [Re-land of r76159 with a compile fix for the Chromium linux shlib
21440 Reviewed by James Robinson.
21442 Implement accelerated path drawing and clipping for the Canvas2D GPU
21444 https://bugs.webkit.org/show_bug.cgi?id=52627
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.
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
21455 * WebCore.gyp/WebCore.gyp:
21456 Add internal_glu include path to chromium build.
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
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:
21560 Fix some warnings treated as errors for the Linux Release build.
21563 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
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)
21569 * inspector/InspectorContorller.h:
21570 * inspector/InspectorContorller.cpp:
21571 * inspector/InspectorRuntimeAgent.h:
21572 * inspector/InspectorRuntimeAgent.cpp:
21574 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
21576 Not reviewed: build fix.
21578 * inspector/InspectorState.h:
21579 (WebCore::InspectorState::setBoolean):
21580 (WebCore::InspectorState::setString):
21581 (WebCore::InspectorState::setLong):
21583 2011-01-20 Pavel Feldman <pfeldman@chromium.org>
21585 Reviewed by Yury Semikhatsky.
21587 Web Inspector: further simplify InspectorState.
21588 https://bugs.webkit.org/show_bug.cgi?id=52731
21590 This change moves XHR logging flag into console agent,
21591 removes InspectorState pushing to the front-end.
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:
21621 2011-01-20 Csaba Osztrogonác <ossy@webkit.org>
21623 Unreviewed buildfix.
21625 [Qt][V8] Remove unnecessary files after r76224.
21629 2011-01-20 Ilya Tikhonovsky <loislo@chromium.org>
21631 Reviewed by Yury Semikhatsky.
21633 Web Inspector: prepare for extracting InspectorAgent from InspectorController.
21634 https://bugs.webkit.org/show_bug.cgi?id=52797
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):
21652 2011-01-20 Sheriff Bot <webkit.review.bot@gmail.com>
21654 Unreviewed, rolling out r76215.
21655 http://trac.webkit.org/changeset/76215
21656 https://bugs.webkit.org/show_bug.cgi?id=52799
21658 Caused regressions in Chromium; morrita is going to look at it
21659 tomrorow (Requested by jorlow on #webkit).
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):
21681 2010-12-14 Yury Semikhatsky <yurys@chromium.org>
21683 Reviewed by Adam Barth.
21685 [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
21686 https://bugs.webkit.org/show_bug.cgi?id=51044
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):
21707 2011-01-19 MORITA Hajime <morrita@google.com>
21709 Reviewed by Eric Seidel.
21711 ShadowElement::m_shadowParent should be removed
21712 https://bugs.webkit.org/show_bug.cgi?id=52558
21714 No new tests. No behavioral change.
21716 * rendering/ShadowElement.h:
21717 (WebCore::ShadowElement::ShadowElement):
21719 2011-01-20 Hans Wennborg <hans@chromium.org>
21721 Reviewed by Jeremy Orlow.
21723 IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
21724 https://bugs.webkit.org/show_bug.cgi?id=52725
21726 Let IDBObjectStore.get() fire the onsuccess handler with the value
21727 'undefined' for when an object does not exist in the store.
21729 Update SerializedScriptValue to provide such an undefined value.
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):
21738 2010-12-27 Yury Semikhatsky <yurys@chromium.org>
21740 Reviewed by Pavel Feldman.
21742 WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
21743 https://bugs.webkit.org/show_bug.cgi?id=8519
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.
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.
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
21768 * Android.jscbindings.mk:
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):
21809 * dom/ErrorEvent.cpp:
21810 * dom/ErrorEvent.h:
21812 (WebCore::Event::isErrorEvent):
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):
21847 2011-01-19 MORITA Hajime <morrita@google.com>
21849 Reviewed by Ryosuke Niwa.
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
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.
21859 Test: editing/inserting/insert-composition-whitespace.html
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):
21888 2011-01-19 Dominic Cooney <dominicc@google.com>
21890 Reviewed by Kent Tamura.
21892 Make <keygen> no longer appear to be a <select> element to script.
21893 https://bugs.webkit.org/show_bug.cgi?id=52557
21895 The intent is to put <keygen> options into shadow DOM. This change
21896 takes the first step by hiding the <select> element from
21899 Test: fast/dom/HTMLKeygenElement/keygen.html
21901 * CMakeLists.txt: Adds new IDL-derived wrapper.
21902 * DerivedSources.cpp:
21903 * DerivedSources.make:
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.
21921 2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
21923 Unreviewed, rolling out r76203.
21924 http://trac.webkit.org/changeset/76203
21925 https://bugs.webkit.org/show_bug.cgi?id=52784
21927 Broke Win compile on Chromium bots (Requested by dimich on
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:
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):
22088 2011-01-19 Helder Correia <helder@sencha.com>
22090 Reviewed by Andreas Kling.
22092 [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
22093 https://bugs.webkit.org/show_bug.cgi?id=52705
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()].
22099 Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
22100 fast/canvas/canvas-strokeRect-alpha-shadow.html
22102 * platform/graphics/qt/GraphicsContextQt.cpp:
22103 (WebCore::GraphicsContext::strokePath):
22105 2011-01-19 Darin Fisher <darin@chromium.org>
22107 Reviewed by Mihai Parparita.
22109 Re-initialize the HistoryItem fully when navigating to a HistoryItem,
22110 or replacing a HistoryItem, results in a different URL.
22112 https://bugs.webkit.org/show_bug.cgi?id=49654
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
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
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:
22138 2011-01-19 Adam Klein <adamk@chromium.org>
22140 Reviewed by Darin Fisher.
22142 [chromium] Rename ChromiumBridge to PlatformBridge
22143 https://bugs.webkit.org/show_bug.cgi?id=52471
22145 No tests added as this is a rename; no change in behavior.
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:
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):
22305 2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
22307 Unreviewed, rolling out r76187.
22308 http://trac.webkit.org/changeset/76187
22309 https://bugs.webkit.org/show_bug.cgi?id=52778
22311 Broke caret-showing tests on SnowLeopard and Chromium
22312 (Requested by dimich on #webkit).
22314 * rendering/RenderText.cpp:
22315 (WebCore::RenderText::localCaretRect):
22317 2011-01-19 Yuzo Fujishima <yuzo@google.com>
22319 Reviewed by Kent Tamura.
22321 Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
22322 https://bugs.webkit.org/show_bug.cgi?id=52279
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.
22331 Test: fast/css/first-letter-anonymous-block-crash.html
22333 * rendering/RenderBlock.cpp:
22334 (WebCore::RenderBlock::updateFirstLetter):
22336 2011-01-19 James Robinson <jamesr@chromium.org>
22338 Unreviewed, rolling out r76194.
22339 http://trac.webkit.org/changeset/76194
22340 https://bugs.webkit.org/show_bug.cgi?id=51218
22342 Caused mysterious compile failure on the chromium win
22343 build.webkit.org bots
22346 * dom/Document.cpp:
22347 (WebCore::Document::Document):
22349 * dom/RequestAnimationFrameCallback.h: Removed.
22350 * dom/RequestAnimationFrameCallback.idl: Removed.
22351 * loader/EmptyClients.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:
22362 2011-01-19 Simon Fraser <simon.fraser@apple.com>
22364 Reviewed by Sam Weinig.
22366 GraphicsLayers in subframes can get sync'd multiple times
22367 https://bugs.webkit.org/show_bug.cgi?id=52489
22369 Some cleanup that will work towards fixing this bug.
22371 Tested by existing iframe compositing tests.
22373 * WebCore.exp.in: syncCompositingStateRecursive()
22374 was renamed to syncCompositingStateIncludingSubframes().
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.
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
22396 2011-01-19 James Robinson <jamesr@chromium.org>
22398 Reviewed by Darin Fisher.
22400 Implement mozilla's requestAnimationFrame API
22401 https://bugs.webkit.org/show_bug.cgi?id=51218
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.
22409 Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
22410 This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
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().
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
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
22436 * dom/Document.cpp:
22437 (WebCore::Document::Document):
22438 (WebCore::Document::webkitRequestAnimationFrame):
22439 (WebCore::Document::webkitCancelRequestAnimationFrame):
22440 (WebCore::Document::serviceScriptedAnimations):
22442 * dom/RequestAnimationFrameCallback.h: Added.
22443 (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
22444 * dom/RequestAnimationFrameCallback.idl: Added.
22445 * loader/EmptyClients.h:
22446 (WebCore::EmptyChromeClient::scheduleAnimation):
22448 (WebCore::Chrome::scheduleAnimation):
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:
22462 2011-01-13 Martin Robinson <mrobinson@igalia.com>
22464 Reviewed by Daniel Bates.
22466 [GTK] Move progress bar painting out of gtk2drawing.c
22467 https://bugs.webkit.org/show_bug.cgi?id=52385
22469 Move progress bar painting to RenderThemeGtk2 and share some animation
22470 logic between the GTK+ 2.x and GTK+ 3.x port.
22472 No new tests. This should not change functionality.
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.
22494 2011-01-19 Dmitry Titov <dimich@chromium.org>
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)
22500 The change broke Chromium Linux-shlib build.
22503 Accelerated canvas2D has bad clipping performance.
22504 https://bugs.webkit.org/show_bug.cgi?id=52627
22506 * WebCore.gyp/WebCore.gyp:
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:
22547 2011-01-19 Levi Weintraub <leviw@google.com>
22549 Reviewed by Darin Adler.
22551 Re-committing this with the proper expected results.
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.
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
22560 Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
22562 * rendering/RenderText.cpp:
22563 (WebCore::RenderText::localCaretRect):
22565 2011-01-18 MORITA Hajime <morrita@google.com>
22567 Reviewed by David Levin.
22569 ElementRareData::m_shadowRoot should not be RefPtr.
22570 https://bugs.webkit.org/show_bug.cgi?id=51914
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
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.)
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.
22589 No new tests. No behavioral change.
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):
22600 2011-01-12 Martin Robinson <mrobinson@igalia.com>
22602 Reviewed by Gustavo Noronha Silva.
22604 [GTK] Move text field painting out of gtk2drawing.c
22605 https://bugs.webkit.org/show_bug.cgi?id=52327
22607 No new tests. This should not change behavior.
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:
22623 2011-01-19 Antti Koivisto <antti@apple.com>
22625 Reviewed by Oliver Hunt.
22627 Cache function offsets to speed up javascript parsing
22628 https://bugs.webkit.org/show_bug.cgi?id=52622
22630 Use cache to save function offsets and some other info.
22631 This avoids quite a bit of work when reparsing the source.
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:
22645 2011-01-11 Martin Robinson <mrobinson@igalia.com>
22647 Reviewed by Gustavo Noronha Silva.
22649 [GTK] Move toggle button rendering out of gtk2drawing.c
22650 https://bugs.webkit.org/show_bug.cgi?id=52258
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.
22680 2011-01-19 Tony Gentilcore <tonyg@chromium.org>
22682 Unreviewed build fix.
22684 Build fix for r76170
22685 https://bugs.webkit.org/show_bug.cgi?id=52758
22687 * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
22689 2011-01-19 David D. Kilzer <ddkilzer@apple.com>
22691 <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
22693 Reviewed by Eric Carlson.
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):
22705 2011-01-19 Tony Gentilcore <tonyg@chromium.org>
22707 Reviewed by Mihai Parparita.
22709 Perform some forward declaration
22710 https://bugs.webkit.org/show_bug.cgi?id=52522
22712 No new tests because no new functionality.
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:
22751 2011-01-19 Adrienne Walker <enne@google.com>
22753 Reviewed by Kenneth Russell.
22755 [chromium] Tiled compositor should use texture manager
22756 https://bugs.webkit.org/show_bug.cgi?id=52418
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):
22773 2011-01-19 Stephen White <senorblanco@chromium.org>
22775 Unreviewed; build fix for chromium.
22777 * platform/graphics/chromium/GLES2Canvas.cpp:
22778 (WebCore::GLES2Canvas::fillPath):
22780 2011-01-18 Stephen White <senorblanco@chromium.org>
22782 Reviewed by James Robinson.
22784 Implement accelerated path drawing and clipping for the Canvas2D GPU
22786 https://bugs.webkit.org/show_bug.cgi?id=52627
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.
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
22797 * WebCore.gyp/WebCore.gyp:
22798 Add internal_glu include path to chromium build.
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
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:
22902 Fix some warnings treated as errors for the Linux Release build.
22904 2011-01-19 Sheriff Bot <webkit.review.bot@gmail.com>
22906 Unreviewed, rolling out r76144.
22907 http://trac.webkit.org/changeset/76144
22908 https://bugs.webkit.org/show_bug.cgi?id=52737
22910 Broke tests on multiple bots, mostly Chromium Canaries
22911 (Requested by dimich on #webkit).
22913 * rendering/RenderText.cpp:
22914 (WebCore::RenderText::localCaretRect):
22916 2011-01-19 Simon Fraser <simon.fraser@apple.com>
22918 Reviewed by Adam Roben.
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
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.
22926 Test: fast/gradients/zero-range-repeating-gradient-hang.html
22928 * css/CSSGradientValue.cpp:
22929 (WebCore::CSSGradientValue::addStops):
22931 2011-01-14 Dimitri Glazkov <dglazkov@chromium.org>
22933 Reviewed by Darin Adler.
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
22938 This change has two parts:
22940 1) Utilize shadow DOM event retargeting to get rid of forwarding events
22942 2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
22944 These two are highly co-dependent. It looked ugly when I tried to
22947 No change in behavior, covered by existing tests.
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
22976 * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
22978 2011-01-19 Shane Stephens <shanestephens@google.com>
22980 Reviewed by Chris Marrin.
22982 Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
22983 https://bugs.webkit.org/show_bug.cgi?id=48031
22985 Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
22986 operator*= usage and switched operand order.
22988 No new tests as this refactor doesn't add functionality.
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):
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):
23043 2011-01-19 Chang Shu <chang.shu@nokia.com>
23045 Reviewed by Darin Adler.
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;
23051 https://bugs.webkit.org/show_bug.cgi?id=52056
23053 * html/HTMLElement.cpp:
23054 (WebCore::HTMLElement::contentEditable):
23056 2011-01-19 Levi Weintraub <leviw@chromium.org>
23058 Reviewed by Darin Adler.
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.
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
23067 Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
23069 * rendering/RenderText.cpp:
23070 (WebCore::RenderText::localCaretRect):
23072 2011-01-19 Chris Marrin <cmarrin@apple.com>
23074 Reviewed by Simon Fraser.
23076 WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
23077 https://bugs.webkit.org/show_bug.cgi?id=52695
23079 Added ASSERTs to the places we assume a non-null superlayer.
23081 * platform/graphics/ca/GraphicsLayerCA.cpp:
23082 (WebCore::GraphicsLayerCA::ensureStructuralLayer):
23083 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
23085 2011-01-18 Beth Dakin <bdakin@apple.com>
23087 Reviewed by Maciej Stachowiak.
23089 Fix for <rdar://problem/8882916> Overlay scrollers require
23090 content to layout underneath the scrollbar area
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.
23096 Treat overlay scrollers the same way as the !includeScrollbars
23098 * platform/ScrollView.cpp:
23099 (WebCore::ScrollView::visibleContentRect):
23101 No corner rect for overlay scrollers.
23102 (WebCore::ScrollView::scrollCornerRect):
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):
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:
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):
23127 2011-01-18 Evan Martin <evan@chromium.org>
23129 Reviewed by Tony Chang.
23131 [chromium] simplify complex text code, fixing a handful of layout tests
23132 https://bugs.webkit.org/show_bug.cgi?id=52661
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).
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):
23153 2011-01-19 Pavel Feldman <pfeldman@chromium.org>
23155 Reviewed by Yury Semikhatsky.
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
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:
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):
23217 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
23219 Reviewed by Yury Semikhatsky.
23221 Web Inspector: add UglifyJS parser and formatter files
23222 https://bugs.webkit.org/show_bug.cgi?id=51702
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.
23243 * inspector/front-end/utilities.js:
23246 2011-01-19 Pavel Podivilov <podivilov@chromium.org>
23248 Reviewed by Yury Semikhatsky.
23250 Web Inspector: [JSC] scripts have incorrect starting line (always 1).
23251 https://bugs.webkit.org/show_bug.cgi?id=52721
23253 Test: inspector/debugger-scripts.html
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):
23267 2011-01-19 Satish Sampath <satish@chromium.org>
23269 Reviewed by Jeremy Orlow.
23271 Send origin/url as part of speech input requests to the embedder.
23272 https://bugs.webkit.org/show_bug.cgi?id=52718
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.
23284 2011-01-19 Hans Wennborg <hans@chromium.org>
23286 Reviewed by Jeremy Orlow.
23288 IndexedDB: Support auto-increment keys
23289 https://bugs.webkit.org/show_bug.cgi?id=52576
23291 Add support for auto-increment keys.
23293 Test: storage/indexeddb/objectstore-autoincrement.html
23295 * storage/IDBDatabase.cpp:
23296 (WebCore::IDBDatabase::createObjectStore):
23297 * storage/IDBObjectStoreBackendImpl.cpp:
23298 (WebCore::genAutoIncrementKey):
23299 (WebCore::IDBObjectStoreBackendImpl::putInternal):
23301 2011-01-19 Csaba Osztrogonác <ossy@webkit.org>
23303 Reviewed by Laszlo Gombos and Tor Arne Vestbø.
23305 [Qt] Remove unnecessary "../Source" from paths
23306 after moving source files into Source is finished.
23311 2011-01-19 Alexander Pavlov <apavlov@chromium.org>
23313 Reviewed by Pavel Feldman.
23315 Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
23316 https://bugs.webkit.org/show_bug.cgi?id=52212
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.
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):
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:
23343 2011-01-19 Dai Mikurube <dmikurube@google.com>
23345 Reviewed by Kent Tamura.
23347 Implement onformchange and onforminput event handlers
23348 https://bugs.webkit.org/show_bug.cgi?id=26141
23350 Tests: fast/forms/formchange-event.html
23351 fast/forms/forminput-event.html
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.
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.
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().
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().
23399 2011-01-19 Andrey Kosyakov <caseq@chromium.org>
23401 Reviewed by Pavel Feldman.
23403 Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
23404 https://bugs.webkit.org/show_bug.cgi?id=52707
23406 * inspector/front-end/ExtensionAPI.js:
23407 (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
23409 2011-01-19 Levi Weintraub <leviw@google.com>
23411 Reviewed by Ryosuke Niwa.
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.
23417 remove rangeCompliantEquivalent and replace it with Position methods
23418 https://bugs.webkit.org/show_bug.cgi?id=25057
23420 No new tests as this is a refactor that doesn't change behavior.
23423 * dom/Document.cpp:
23424 (WebCore::Document::caretRangeFromPoint):
23425 * dom/Position.cpp:
23426 (WebCore::Position::parentAnchoredEquivalent):
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):
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):
23465 2011-01-19 Peter Rybin <peter.rybin@gmail.com>
23467 Reviewed by Yury Semikhatsky.
23469 Web Inspector: script column offset is incorrect
23470 https://bugs.webkit.org/show_bug.cgi?id=52580
23472 Column is updated in 3 places, 2 less probable places contained error.
23475 * platform/text/SegmentedString.cpp:
23476 (WebCore::SegmentedString::advanceSlowCase):
23477 * platform/text/SegmentedString.h:
23478 (WebCore::SegmentedString::advancePastNewline):
23480 2011-01-18 Pavel Feldman <pfeldman@chromium.org>
23482 Reviewed by Yury Semikhatsky.
23484 Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
23485 https://bugs.webkit.org/show_bug.cgi?id=52652
23487 Calls served by the InjectedScript should be first class protocol
23488 citizens, not dispatched via single protocol message.
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:
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:
23554 2011-01-18 Anton Muhin <antonm@chromium.org>
23556 Reviewed by Adam Barth.
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
23561 Covered by the existing tests.
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):
23570 2011-01-18 MORITA Hajime <morrita@google.com>
23572 Reviewed by Ryosuke Niwa.
23574 Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
23575 https://bugs.webkit.org/show_bug.cgi?id=52608
23577 No new tests. no behavioral change.
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):
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:
23603 2011-01-18 Ben Vanik <ben.vanik@gmail.com>
23605 Reviewed by Kenneth Russell.
23607 Updating ANGLE in WebKit to r533.
23608 https://bugs.webkit.org/show_bug.cgi?id=47194
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.
23622 2011-01-18 MORITA Hajime <morrita@google.com>
23624 Reviewed by Simon Fraser.
23626 Refactoring: Extract RoundedIntRect class
23627 https://bugs.webkit.org/show_bug.cgi?id=51664
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.
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):
23712 2011-01-18 MORITA Hajime <morrita@google.com>
23714 Reviewed by Simon Fraser.
23716 Refactoring: Extract RoundedIntRect class
23717 https://bugs.webkit.org/show_bug.cgi?id=51664
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.
23725 No new tests. No behavioral change.
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):
23802 2011-01-18 Victoria Kirst <vrk@chromium.org>
23804 Reviewed by Kenneth Russell.
23806 [chromium] Adding support for YV16 video frame formats.
23807 https://bugs.webkit.org/show_bug.cgi?id=52345
23809 * platform/graphics/chromium/VideoLayerChromium.cpp:
23810 (WebCore::VideoLayerChromium::determineTextureFormat):
23811 (WebCore::VideoLayerChromium::draw):
23813 2011-01-18 David Hyatt <hyatt@apple.com>
23815 Reviewed by Dan Bernstein.
23817 <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
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.
23823 Added /fast/block/float/float-overflow-hidden-containing-block-width.html.
23825 * rendering/RenderBox.cpp:
23826 (WebCore::RenderBox::shrinkToAvoidFloats):
23828 2011-01-18 Zhenyao Mo <zmo@google.com>
23830 Reviewed by Kenneth Russell.
23832 Make CheckedInt<long> and CheckedInt<unsigned long> work
23833 https://bugs.webkit.org/show_bug.cgi?id=52401
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.
23841 2011-01-18 Kenneth Russell <kbr@google.com>
23843 Reviewed by David Levin.
23845 Must strip comments from WebGL shaders before enforcing character set
23846 https://bugs.webkit.org/show_bug.cgi?id=52390
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.
23853 Tested with WebGL layout tests, conformance test suite and several
23854 WebGL demos in both Safari and Chromium.
23856 * html/canvas/WebGLRenderingContext.cpp:
23857 (WebCore::StripComments::StripComments::process):
23858 (WebCore::WebGLRenderingContext::shaderSource):
23860 2011-01-18 Ryosuke Niwa <rniwa@webkit.org>
23862 Reviewed by Eric Seidel.
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
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.
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):
23896 2011-01-18 Benjamin Kalman <kalman@chromium.org>
23898 Reviewed by Ryosuke Niwa.
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
23903 This is a purely aesthetic change.
23905 * editing/TextIterator.cpp:
23906 (WebCore::SimplifiedBackwardsTextIterator::advance):
23907 * editing/visible_units.cpp:
23908 (WebCore::previousBoundary):
23910 2011-01-18 Adam Klein <adamk@chromium.org>
23912 Reviewed by Darin Fisher.
23914 [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
23915 https://bugs.webkit.org/show_bug.cgi?id=42236
23917 * platform/chromium/ChromiumBridge.h:
23918 * platform/chromium/WidgetChromium.cpp:
23919 (WebCore::Widget::setCursor):
23921 2011-01-18 Chris Fleizach <cfleizach@apple.com>
23923 Reviewed by Darin Adler.
23925 REGRESSION: A problem with Voiceover and finding links
23926 https://bugs.webkit.org/show_bug.cgi?id=52324
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.
23934 Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html
23936 * accessibility/AccessibilityObject.cpp:
23937 (WebCore::AccessibilityObject::elementAccessibilityHitTest):
23938 * accessibility/AccessibilityRenderObject.cpp:
23939 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
23940 * accessibility/mac/AccessibilityObjectWrapper.mm:
23941 (-[AccessibilityObjectWrapper scrollViewParent]):
23943 2011-01-18 Adam Roben <aroben@apple.com>
23945 Call alternate CFHTTPCookie functions if available
23947 Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.
23949 Reviewed by Darin Adler.
23951 * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
23952 pull in the alternate CFHTTPCookie functions.
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
23963 (WebCore::filterCookies):
23964 (WebCore::getRawCookies):
23965 (WebCore::deleteCookie):
23966 Changed to use the wrapper functions.
23968 2011-01-18 Martin Robinson <mrobinson@igalia.com>
23970 Reviewed by Eric Seidel.
23972 [GTK] Filenames are converted to URLs during edit drags
23973 https://bugs.webkit.org/show_bug.cgi?id=52096
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.
23980 2011-01-18 Helder Correia <helder@sencha.com>
23982 Reviewed by Kenneth Rohde Christiansen.
23984 [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
23985 https://bugs.webkit.org/show_bug.cgi?id=52611
23987 This is related to bug 52559. The shadow color alpha must be multiplied
23988 by the context brush alpha.
23990 Test: fast/canvas/canvas-fillPath-alpha-shadow.html
23992 * platform/graphics/qt/GraphicsContextQt.cpp:
23993 (WebCore::GraphicsContext::fillPath):
23995 2011-01-18 Andrey Kosyakov <caseq@chromium.org>
23997 Reviewed by Yury Semikhatsky.
23999 Web Inspector: fail resource.requestContent() immediately for WebSocket resources
24000 https://bugs.webkit.org/show_bug.cgi?id=52628
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)
24011 2011-01-18 Helder Correia <helder@sencha.com>
24013 Reviewed by Dirk Schulze.
24015 REGRESSION(75139): SVG gradients are not applied to texts
24016 https://bugs.webkit.org/show_bug.cgi?id=52531
24018 r75139 caused a problem with filling and stroking text with a gradient
24019 fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
24022 Test: svg/css/text-gradient-shadow.svg
24024 * platform/graphics/cg/GraphicsContextCG.cpp:
24025 (WebCore::GraphicsContext::fillRect):
24027 2011-01-18 Leo Yang <leo.yang@torchmobile.com.cn>
24029 Reviewed by Nikolas Zimmermann.
24031 Unable to indirectly animate visibility of SVGUseElement
24032 https://bugs.webkit.org/show_bug.cgi?id=50240
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.
24039 Test: svg/custom/use-inherit-style.svg
24041 * svg/SVGUseElement.cpp:
24042 (WebCore::SVGUseElement::recalcStyle):
24044 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
24046 Reviewed by Yury Semikhatsky.
24048 Web Inspector: provide script length to frontend.
24049 https://bugs.webkit.org/show_bug.cgi?id=52620
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):
24060 2011-01-18 Zoltan Herczeg <zherczeg@webkit.org>
24062 Rubber-stamped by Csaba Osztrogonác
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.
24070 2011-01-17 Andrey Kosyakov <caseq@chromium.org>
24072 Reviewed by Yury Semikhatsky.
24074 Web Inspector: [refactoring] use events to notify NetworkManager clients
24075 https://bugs.webkit.org/show_bug.cgi?id=52588
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):
24110 2011-01-18 Pavel Feldman <pfeldman@chromium.org>
24112 Reviewed by Yury Semikhatsky.
24114 Web Inspector: preserve pause on exception state in settings.
24115 https://bugs.webkit.org/show_bug.cgi?id=52619
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):
24133 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
24135 Reviewed by Yury Semikhatsky.
24137 Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame.
24138 https://bugs.webkit.org/show_bug.cgi?id=52623
24140 * inspector/front-end/ConsoleView.js:
24141 (WebInspector.ConsoleMessage):
24142 (WebInspector.ConsoleMessage.prototype._formatMessage):
24144 2011-01-18 Pavel Feldman <pfeldman@chromium.org>
24146 Revert r76017. No need to guard InspectorInstrumentation:: in WebCore.
24149 (WebCore::networkStateChanged):
24151 2011-01-18 Konstantin Tokarev <annulen@yandex.ru>
24153 Reviewed by Kent Tamura.
24155 Fixed compilation when Inspector is disabled
24156 https://bugs.webkit.org/show_bug.cgi?id=52564
24159 (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard
24161 2011-01-18 MORITA Hajime <morrita@google.com>
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
24170 The r76004 broke pixel tests.
24171 (The failure was missed due to the tolerance.)
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:
24218 2011-01-17 Pavel Podivilov <podivilov@chromium.org>
24220 Reviewed by Yury Semikhatsky.
24222 Web Inspector: add source column field to debugger call frames.
24223 https://bugs.webkit.org/show_bug.cgi?id=52443
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:
24245 * bindings/v8/JavaScriptCallFrame.cpp:
24246 (WebCore::JavaScriptCallFrame::column):
24247 * bindings/v8/JavaScriptCallFrame.h:
24248 * inspector/InjectedScriptSource.js:
24250 * inspector/JavaScriptCallFrame.idl:
24252 2011-01-18 Antti Koivisto <antti@apple.com>
24254 Reviewed by Dave Hyatt.
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
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.
24264 This patch gets the style sharing back to 25-40% range on most web sites.
24266 * css/CSSMutableStyleDeclaration.h:
24267 (WebCore::CSSMutableStyleDeclaration::propertiesEqual):
24269 Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent.
24271 * css/CSSSelector.h:
24272 (WebCore::CSSSelector::isSiblingSelector):
24274 Test for selectors that are affected by the sibling elements.
24276 * css/CSSStyleSelector.cpp:
24277 (WebCore::elementCanUseSimpleDefaultStyle):
24278 (WebCore::collectSiblingRulesInDefaultStyle):
24279 (WebCore::assertNoSiblingRulesInDefaultStyle):
24281 Extract sibling rules from the MathML default stylesheet.
24282 Assert that no other default stylesheet has them.
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):
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.
24296 * css/CSSStyleSelector.h:
24297 * dom/NamedNodeMap.cpp:
24298 (WebCore::NamedNodeMap::mappedMapsEquivalent):
24300 Check also for CSSValue mutation from DOM.
24302 * mathml/MathMLMathElement.cpp:
24303 (WebCore::MathMLMathElement::insertedIntoDocument):
24304 * mathml/MathMLMathElement.h:
24306 MathML default style sheet has sibling rules which don't get noticed by the normal document
24307 stylesheet parsing.
24309 * rendering/style/RenderStyle.h:
24310 (WebCore::InheritedFlags::setFirstChildState):
24311 (WebCore::InheritedFlags::setLastChildState):
24312 (WebCore::InheritedFlags::setChildIndex):
24314 These all make style non-shareable (unique).
24316 2011-01-18 MORITA Hajime <morrita@google.com>
24318 Unreviewed crash fix on release builds.
24320 * rendering/RenderBoxModelObject.cpp:
24321 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24323 2011-01-18 Pavel Podivilov <podivilov@chromium.org>
24325 Unreviewed, update localizedStrings.js.
24327 * English.lproj/localizedStrings.js:
24329 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
24331 Reviewed by Pavel Feldman.
24333 Web Inspector: implement script beautifier prototype.
24334 https://bugs.webkit.org/show_bug.cgi?id=51588
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:
24360 2011-01-18 Philippe Normand <pnormand@igalia.com>
24362 Unreviewed, GTK build fix as follow-up of r76004.
24364 * GNUmakefile.am: Include RoundedIntRect files in the build
24366 2011-01-18 Philippe Normand <pnormand@igalia.com>
24368 Unreviewed, rolling out r76002.
24369 http://trac.webkit.org/changeset/76002
24370 https://bugs.webkit.org/show_bug.cgi?id=49790
24372 breaks a bunch of fast/forms tests on mac and GTK
24374 * html/HTMLOptionElement.cpp:
24375 (WebCore::HTMLOptionElement::setRenderStyle):
24377 2011-01-18 MORITA Hajime <morrita@google.com>
24379 Unreviewed windows build fix.
24381 * WebCore.vcproj/WebCore.vcproj:
24383 2011-01-17 MORITA Hajime <morrita@google.com>
24385 Reviewed by Simon Fraser.
24387 Refactoring: Extract RoundedIntRect class
24388 https://bugs.webkit.org/show_bug.cgi?id=51664
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.
24396 No new tests. No behavioral change.
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):
24481 2011-01-17 Rob Buis <rwlbuis@gmail.com>
24483 Reviewed by Kent Tamura.
24485 Color changes to option elements in a select multiple aren't drawn immediately
24486 https://bugs.webkit.org/show_bug.cgi?id=49790
24488 Redirect style changes on <option> element to the owner <select> element.
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
24494 * html/HTMLOptionElement.cpp:
24495 (WebCore::HTMLOptionElement::setRenderStyle):
24497 2011-01-17 MORITA Hajime <morrita@google.com>
24499 Unreviewed, rolling out r75995.
24500 http://trac.webkit.org/changeset/75995
24501 https://bugs.webkit.org/show_bug.cgi?id=51914
24503 Causes assertion failures.
24506 (WebCore::Element::shadowRoot):
24507 (WebCore::Element::setShadowRoot):
24508 (WebCore::Element::removeShadowRoot):
24509 * dom/ElementRareData.h:
24510 (WebCore::ElementRareData::ElementRareData):
24512 2011-01-17 MORITA Hajime <morrita@google.com>
24514 Unreviewed, rolling out r75999.
24515 http://trac.webkit.org/changeset/75999
24518 (WebCore::Element::removeShadowRoot):
24520 2011-01-17 MORITA Hajime <morrita@google.com>
24522 Unreviewed crash fix, which introduced at r75995
24525 (WebCore::Element::removeShadowRoot):
24527 2011-01-17 MORITA Hajime <morrita@google.com>
24529 Reviewed by Dimitri Glazkov.
24531 ElementRareData::m_shadowRoot should not be RefPtr.
24532 https://bugs.webkit.org/show_bug.cgi?id=51914
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.
24538 No test, no behavioral change.
24541 (WebCore::Element::shadowRoot):
24542 (WebCore::Element::setShadowRoot):
24543 (WebCore::Element::removeShadowRoot):
24544 * dom/ElementRareData.h:
24545 (WebCore::ElementRareData::ElementRareData):
24547 2011-01-17 Maciej Stachowiak <mjs@apple.com>
24549 Reviewed by Dan Bernstein.
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
24554 No new tests. Existing tests crash in WebKit2 without this fix.
24556 I suspect there are other consequences besides the WebKit2 crash, but I
24557 was unable to identify any for certain.
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.
24563 2011-01-17 Adam Roben <aroben@apple.com>
24565 Simplify WKCACFLayerRenderer's API
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.)
24573 Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use
24575 Reviewed by Chris Marrin.
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
24592 * platform/graphics/win/WKCACFLayerRenderer.cpp:
24593 (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
24594 setHostWindow instead of destroyRenderer; the former calls the latter
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
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.
24604 * platform/graphics/win/WKCACFLayerRenderer.h: Removed
24605 WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
24606 Make createRenderer, destroyRenderer, and renderSoon private.
24608 2011-01-17 Adam Roben <aroben@apple.com>
24610 Remove special-cased support for providing content for the root layer
24612 Clients will just have to provide content through the normal
24613 GraphicsLayer channels now!
24615 Support for <http://webkit.org/b/52582> WebView should paint directly
24616 into a GraphicsLayer when in accelerated compositing mode
24618 Reviewed by Simon Fraser and Chris Marrin.
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'
24630 (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
24631 came from setNeedsDisplay.
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).
24638 2011-01-17 Adam Roben <aroben@apple.com>
24640 Remove contexts from WKCACFContextFlusher before destroying them
24642 We aren't really using WKCACFContextFlusher for anything useful at the
24643 moment, but that will probably change in the near future.
24645 I couldn't come up with a way to test this because it isn't possible to
24646 resize a window in DumpRenderTree.
24648 Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
24649 WKCACFContextFlusher::flushAllContexts when resizing window on page
24650 that uses accelerated compositing
24652 Reviewed by Simon Fraser.
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.)
24660 2011-01-17 Adam Roben <aroben@apple.com>
24662 Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
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
24672 Covered by compositing/tiling/huge-layer-resize.html.
24674 Fixes <http://webkit.org/b/52597> Crash beneath
24675 PlatformCALayer::adoptSublayers when switching out of tiling mode
24676 (null-dereference of a PlatformCALayer)
24678 Reviewed by Darin Adler and Chris Marrin.
24680 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
24681 (PlatformCALayer::adoptSublayers):
24683 Changed to use PlatformCALayerWinInternal::getSublayers.
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.
24690 * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
24693 2011-01-17 Naoki Takano <takano.naoki@gmail.com>
24695 Reviewed by Kent Tamura.
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
24701 Calculate correct location of popup window whenever the items in the window change.
24703 No new tests, because this fix is for Chromium project and hard to test only in WebKit project
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().
24711 2011-01-17 Mark Rowe <mrowe@apple.com>
24713 Fix the 32-bit build.
24717 2011-01-17 Dan Bernstein <mitz@apple.com>
24719 Reviewed by Darin Adler.
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
24724 Test: fast/css/font-face-zero-hash-key.html
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.
24731 2011-01-17 David Kilzer <ddkilzer@apple.com>
24733 <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
24735 Reviewed by Dan Bernstein.
24737 This fixes two issues:
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.
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.
24748 * WebCore.xcodeproj/project.pbxproj:
24750 2011-01-17 Helder Correia <helder@sencha.com>
24752 Reviewed by Andreas Kling.
24754 [Qt] Incorrect shadow alpha with pattern fillStyle
24755 https://bugs.webkit.org/show_bug.cgi?id=52559
24757 The shadow color opacity needs to be set on the shadow painter.
24758 This is related to bug 52556.
24760 Test: fast/canvas/canvas-fillPath-pattern-shadow.html
24762 * platform/graphics/qt/GraphicsContextQt.cpp:
24763 (WebCore::GraphicsContext::fillPath):
24765 2011-01-17 Martin Robinson <mrobinson@igalia.com>
24767 Reviewed by Andreas Kling.
24769 [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
24770 https://bugs.webkit.org/show_bug.cgi?id=52586
24772 No new tests. This is just a merge from upstream.
24774 * platform/network/soup/cache/soup-http-input-stream.c:
24775 (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
24777 2011-01-17 Tony Gentilcore <tonyg@chromium.org>
24779 Reviewed by Alexey Proskuryakov.
24781 Fix some headers with missing or misspelled #ifndef guards
24782 https://bugs.webkit.org/show_bug.cgi?id=52545
24784 No new tests because no new functionality.
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:
24797 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
24799 Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
24801 * inspector/front-end/NetworkPanel.js:
24802 (WebInspector.NetworkPanel.prototype.clear):
24803 (WebInspector.NetworkPanel.prototype.mainResourceChanged):
24805 2011-01-17 Sergio Villar Senin <svillar@igalia.com>
24807 Reviewed by Martin Robinson.
24809 [Gtk] No need to content sniff 304 Not Modified responses
24810 https://bugs.webkit.org/show_bug.cgi?id=52570
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.
24816 No new tests because it does not change functionality, it just
24817 calls didReceiveResponse sooner for 304 Not Modified responses.
24819 * platform/network/soup/ResourceHandleSoup.cpp:
24820 (WebCore::gotHeadersCallback):
24822 2011-01-17 Jessie Berlin <jberlin@apple.com>
24824 Reviewed by Anders Carlsson.
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
24830 Test: http/tests/navigation/go-back-to-error-page.html
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
24837 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
24839 Not reviewed: fixing typo in r75952.
24841 * inspector/front-end/NetworkPanel.js:
24842 (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
24844 2011-01-17 Enrica Casucci <enrica@apple.com>
24846 Reviewed by Alexey Proskuryakov.
24848 Drag and drop support: refactoring of image from link and image from selection
24849 https://bugs.webkit.org/show_bug.cgi?id=52496
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
24856 * page/mac/FrameMac.mm:
24857 (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
24858 to generate the image for drag.
24860 2011-01-17 Dan Bernstein <mitz@apple.com>
24862 Rubber-stamped by Mark Rowe.
24864 Update xcodeproj svn:ignore to include xcuserdata.
24866 * WebCore.xcodeproj: Modified property svn:ignore.
24867 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
24869 2011-01-17 Alexey Proskuryakov <ap@apple.com>
24873 * page/PrintContext.cpp: GCC complained about shortening a double value to float.
24875 2011-01-17 Alexey Proskuryakov <ap@apple.com>
24877 Reviewed by Dan Bernstein.
24879 https://bugs.webkit.org/show_bug.cgi?id=52495
24881 No change in behavior, so no tests.
24883 * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
24885 * page/PrintContext.cpp:
24886 (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
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.
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
24907 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
24909 Reviewed by Yury Semikhatsky.
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
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):
24927 2011-01-17 Andrey Kosyakov <caseq@chromium.org>
24929 Reviewed by Pavel Feldman.
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
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):
24957 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
24959 Reviewed by Yury Semikhatsky.
24961 Web Inspector: restore dom and network state upon frontend reuse.
24962 https://bugs.webkit.org/show_bug.cgi?id=52574
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):
24984 2011-01-17 Csaba Osztrogonác <ossy@webkit.org>
24986 Unreviewed buildfix after r75944.
24990 2011-01-17 Yi Shen <yi.4.shen@nokia.com>
24992 Reviewed by Andreas Kling.
24994 [Qt] Extend the Platform Plugin to support full screen video handler
24995 https://bugs.webkit.org/show_bug.cgi?id=51249
24997 Make MediaPlayerPrivateQt support a fullscreen player.
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.
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):
25013 2011-01-17 Anthony Ricaud <rik@webkit.org>
25015 Reviewed by Kent Tamura.
25017 [HTML5] Revert display:none on datalist
25018 https://bugs.webkit.org/show_bug.cgi?id=52214
25022 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
25024 Reviewed by Yury Semikhatsky.
25026 Web Inspector: simplify debugger enabling routine.
25027 https://bugs.webkit.org/show_bug.cgi?id=52472
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):
25040 2011-01-17 Pavel Podivilov <podivilov@chromium.org>
25042 Reviewed by Pavel Feldman.
25044 Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
25045 https://bugs.webkit.org/show_bug.cgi?id=51738
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.
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):
25084 2011-01-17 John Knottenbelt <jknotten@chromium.org>
25086 Reviewed by Jeremy Orlow.
25088 GeolocationController should call stopUpdating on destruction
25089 https://bugs.webkit.org/show_bug.cgi?id=52216
25091 Test: fast/dom/Geolocation/window-close-crash.html
25093 * page/GeolocationController.cpp:
25094 (WebCore::GeolocationController::~GeolocationController):
25096 2011-01-17 Pavel Feldman <pfeldman@chromium.org>
25098 Not reviewed: Qt build fix.
25100 * inspector/InspectorInstrumentation.h:
25102 2011-01-16 Pavel Feldman <pfeldman@chromium.org>
25104 Reviewed by Yury Semikhatsky.
25106 Web Inspector: make WebCore use InspectorInstrumentation
25107 for instrumentation calls.
25108 https://bugs.webkit.org/show_bug.cgi?id=52532
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.
25116 * dom/Document.cpp:
25117 (WebCore::Document::finishedParsing):
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):
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):
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:
25275 2011-01-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
25277 Unreviewed, rolling out r75923.
25279 GTK guy rolls out the r75914.
25281 * platform/efl/ScrollViewEfl.cpp:
25282 (WebCore::ScrollView::platformInit):
25284 2011-01-17 Helder Correia <helder@sencha.com>
25286 Reviewed by Kenneth Rohde Christiansen.
25288 [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
25289 https://bugs.webkit.org/show_bug.cgi?id=52556
25291 The shadow color opacity needs to be set on the shadow painter.
25292 Additionally, the gradient brush should be transformed.
25294 * platform/graphics/qt/GraphicsContextQt.cpp:
25295 (WebCore::GraphicsContext::fillPath):
25297 2011-01-17 No'am Rosenthal <noam.rosenthal@nokia.com>
25299 Reviewed by Kenneth Rohde Christiansen.
25301 [Qt] Background image rendering is slow
25302 https://bugs.webkit.org/show_bug.cgi?id=50527
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.
25308 Tests in fast/backgrounds/size cover this.
25310 * platform/graphics/qt/ImageQt.cpp:
25311 (WebCore::Image::drawPattern):
25313 2011-01-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
25315 Reviewed by Simon Hausmann.
25317 [Qt] [Symbian] Fix building NPAPI support
25318 https://bugs.webkit.org/show_bug.cgi?id=51981
25320 Make sure that npapi.h is always included outside of the extern "C"
25321 linkage declaration block.
25323 No new tests as there is no new functionality.
25325 * bridge/npruntime.h:
25327 2011-01-17 Philippe Normand <pnormand@igalia.com>
25329 Unreviewed, rolling out r75914.
25330 http://trac.webkit.org/changeset/75914
25331 https://bugs.webkit.org/show_bug.cgi?id=49177
25333 multiple crashes on GTK
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):
25346 2011-01-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
25348 Unreviewed build fix.
25350 Bug 49177's patch enabled platformInit() in super class(ScrollView).
25351 But, it didn't removed the function in ScrollViewEfl.cpp.
25353 * platform/efl/ScrollViewEfl.cpp:
25355 2011-01-16 Dan Bernstein <mitz@apple.com>
25357 Reviewed by Sam Weinig.
25359 <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
25361 Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
25362 quad to a non-empty rect.
25364 * rendering/RenderWidget.cpp:
25365 (WebCore::RenderWidget::setWidget):
25366 (WebCore::RenderWidget::updateWidgetPosition):
25368 2011-01-16 Martin Robinson <mrobinson@igalia.com>
25370 Reviewed by Xan Lopez.
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
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.
25390 2011-01-13 Yuzo Fujishima <yuzo@google.com>
25392 Reviewed by Antti Koivisto.
25394 Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
25395 https://bugs.webkit.org/show_bug.cgi?id=52427
25397 In constructor/destructor of CachedResourceLoader, m_cache has been
25398 used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
25399 while cache() is used everywhere else.
25401 Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
25402 Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
25404 No new tests because the behavior remains the same.
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:
25413 2011-01-16 Adam Barth <abarth@webkit.org>
25415 Rubber-stamped by Eric Seidel.
25417 Move WebKit into Source
25418 https://bugs.webkit.org/show_bug.cgi?id=52530
25420 * WebCore.gyp/WebCore.gyp:
25424 2011-01-16 Simon Fraser <simon.fraser@apple.com>
25426 Reviewed by Dan Bernstein.
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
25431 Fix regression from r75900; m_widget->setFrameRect() can run script that
25432 clears m_widget, so null-check it before calling setBoundsSize().
25434 Tested by fast/replaced/frame-removed-during-resize.html
25436 * rendering/RenderWidget.cpp:
25437 (WebCore::RenderWidget::setWidgetGeometry):
25439 2011-01-16 Simon Fraser <simon.fraser@apple.com>
25441 Keep Leopard build happy.
25443 * platform/mac/WidgetMac.mm:
25444 (WebCore::Widget::setBoundsSize):
25446 2011-01-16 Robert Hogan <robert@webkit.org>
25448 Reviewed by Andreas Kling.
25450 [Qt] plugins/keyboard-events.html fails after r72717
25451 https://bugs.webkit.org/show_bug.cgi?id=50050
25453 * plugins/qt/PluginViewQt.cpp:
25454 (WebCore::setXKeyEventSpecificFields): map event text to keycode
25456 2011-01-16 Simon Fraser <simon.fraser@apple.com>
25458 Reviewed by Dan Bernstein.
25460 Issues with iframes and plugins when the WebView is scaled.
25461 <rdar://problem/6213380>
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.
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).
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:
25488 2011-01-16 Simon Fraser <simon.fraser@apple.com>
25490 Reviewed by Dan Bernstein.
25492 RenderView needs to take transforms on its layer into account
25493 https://bugs.webkit.org/show_bug.cgi?id=52536
25495 The RenderView's coordinate mapping methods failed to
25496 take into account a transform on the RenderView's layer.
25498 No tests because it's not possible to get a transform
25499 on the RenderView's layer through content.
25501 * rendering/RenderView.cpp:
25502 (WebCore::RenderView::mapLocalToContainer):
25503 (WebCore::RenderView::mapAbsoluteToLocalPoint):
25505 2011-01-15 Sheriff Bot <webkit.review.bot@gmail.com>
25507 Unreviewed, rolling out r75708.
25508 http://trac.webkit.org/changeset/75708
25509 https://bugs.webkit.org/show_bug.cgi?id=52521
25511 Breaks Qt build if mobility is not installed. (Requested by
25512 benjaminp on #webkit).
25515 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
25516 (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
25517 * platform/graphics/qt/MediaPlayerPrivateQt.h:
25518 (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
25520 2011-01-15 David Kilzer <ddkilzer@apple.com>
25522 <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
25524 Reviewed by Adele Peterson.
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
25534 Test: fast/dom/Range/range-clone-contents.html
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.
25541 2011-01-15 Adam Barth <abarth@webkit.org>
25543 Rubber-stamped by Eric Seidel.
25545 Move WebKit2 into Source
25546 https://bugs.webkit.org/show_bug.cgi?id=52438
25550 2011-01-15 Joone Hur <joone.hur@collabora.co.uk>
25552 Reviewed by Martin Robinson.
25554 [GTK] Linux build with FileSystem API enabled fails
25555 https://bugs.webkit.org/show_bug.cgi?id=43878
25557 This patch allows WebKitGtk+ to build with FileSystem API option.
25559 No new tests because no new functionality.
25561 * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
25562 * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
25564 2011-01-14 Sam Magnuson <smagnuso@gmail.com>
25566 Reviewed by Kenneth Rohde Christiansen.
25568 [Qt] Compile with QT_NO_GRAPHICSVIEW
25569 https://bugs.webkit.org/show_bug.cgi?id=49750
25571 * platform/graphics/qt/GraphicsLayerQt.cpp:
25572 * platform/graphics/qt/GraphicsLayerQt.h:
25573 * platform/qt/PlatformMouseEventQt.cpp:
25575 2011-01-14 Tony Chang <tony@chromium.org>
25577 Reviewed by Alexey Proskuryakov.
25579 Strip NUL character when copying text on Windows
25580 https://bugs.webkit.org/show_bug.cgi?id=52236
25582 Test: editing/pasteboard/copy-null-characters.html
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.
25589 2011-01-14 Yuzo Fujishima <yuzo@google.com>
25591 Reviewed by Antti Koivisto.
25593 Rename cache() to memoryCache()
25594 https://bugs.webkit.org/show_bug.cgi?id=52433
25596 No new tests because the behavior remains the same.
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:
25634 2011-01-14 Dan Bernstein <mitz@apple.com>
25636 Reviewed by Simon Fraser.
25638 WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
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.
25650 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
25652 Unreviewed build fix.
25654 Fix Qt build after r75837
25655 https://bugs.webkit.org/show_bug.cgi?id=52494
25657 * rendering/style/StyleRareInheritedData.cpp:
25658 * rendering/style/StyleRareNonInheritedData.cpp:
25660 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
25662 Unreviewed build fix.
25664 Fix Qt build after r75837
25665 https://bugs.webkit.org/show_bug.cgi?id=52494
25667 * rendering/style/RenderStyle.cpp:
25669 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
25671 Unreviewed build fix.
25673 Fix Qt build after r75837
25674 https://bugs.webkit.org/show_bug.cgi?id=52494
25676 * editing/EditorCommand.cpp:
25678 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
25680 Unreviewed build fix.
25682 Fix Qt build after r75837
25683 https://bugs.webkit.org/show_bug.cgi?id=52494
25685 * editing/ApplyStyleCommand.cpp:
25687 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
25689 Unreviewed build fix.
25691 Fix Qt build after r75837
25692 https://bugs.webkit.org/show_bug.cgi?id=52494
25694 * css/CSSStyleSelector.cpp:
25696 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
25698 Unreviewed build fix.
25700 Fix Qt build after r75837
25701 https://bugs.webkit.org/show_bug.cgi?id=52494
25703 * rendering/InlineFlowBox.h:
25704 * rendering/RenderBoxModelObject.h:
25706 2011-01-14 Tony Gentilcore <tonyg@chromium.org>
25708 Reviewed by David Levin.
25710 Do some forward declaration in RenderStyle.h
25711 https://bugs.webkit.org/show_bug.cgi?id=52453
25713 No new tests because no new functionality.
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:
25755 2011-01-14 Ryosuke Niwa <rniwa@webkit.org>
25757 Reviewed by Eric Seidel.
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
25763 Removed instantiation of legacy editing positions.
25764 Calls to Position::Position are replaced by calls to Position's convenience functions.
25766 Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
25767 they instantiate right positions for text nodes.
25769 * accessibility/AccessibilityRenderObject.cpp:
25770 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
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.
25790 2011-01-14 Helder Correia <helder@sencha.com>
25792 Reviewed by Simon Fraser.
25794 Shadow is not drawn when filling a path with a gradient
25795 https://bugs.webkit.org/show_bug.cgi?id=51982
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.
25802 Test: fast/canvas/canvas-fillPath-gradient-shadow.html
25804 * platform/graphics/cg/GraphicsContextCG.cpp:
25805 (WebCore::GraphicsContext::fillPath):
25807 2011-01-14 Simon Fraser <simon.fraser@apple.com>
25809 Reviewed by Adam Roben.
25811 Layer syncing should go through the compositor
25812 https://bugs.webkit.org/show_bug.cgi?id=52486
25814 Rather than have FrameView go directly to GraphicsLayer to
25815 sync pending changes, route the call through RenderLayerCompositor.
25817 Add a FIXME about an existing issue with flushing and subframes.
25819 No behavior change, so no tests.
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):
25831 2011-01-14 Abhishek Arya <inferno@chromium.org>
25833 Reviewed by David Hyatt.
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
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.
25844 Test: fast/block/float/floats-not-cleared-crash.html
25846 * rendering/RenderBox.cpp:
25847 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
25849 2011-01-14 Adam Klein <adamk@chromium.org>
25851 Reviewed by Darin Fisher.
25853 [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
25854 https://bugs.webkit.org/show_bug.cgi?id=42237
25856 Remove Chromium-specific implementation from WebCore.
25858 No tests added; this refactor should be covered by existing history-exercising tests.
25860 * WebCore.gyp/WebCore.gyp:
25862 * history/BackForwardListChromium.cpp: Removed.
25863 * history/BackForwardListImpl.h:
25865 2011-01-12 Satish Sampath <satish@chromium.org>
25867 Reviewed by Dimitri Glazkov.
25869 Fix a crash when accessing speech input from script.
25870 https://bugs.webkit.org/show_bug.cgi?id=52325
25872 Test: fast/speech/speech-input-scripting.html
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):
25883 2011-01-14 Abhishek Arya <inferno@chromium.org>
25885 Reviewed by David Hyatt.
25887 Prevent merging of anonymous blocks if one of them is already getting
25889 https://bugs.webkit.org/show_bug.cgi?id=52402
25891 Test: fast/block/merge-anonymous-block-remove-child-crash2.html
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.
25901 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
25903 Not reviewed. Follow up to r75791: fix missing dispatch.
25904 https://bugs.webkit.org/show_bug.cgi?id=52442
25906 * inspector/front-end/DebuggerModel.js:
25907 (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
25909 2011-01-14 Simon Fraser <simon.fraser@apple.com>
25911 Reviewed by Adam Roben.
25913 Issues with contentsScale in GraphicsLayerCA
25914 https://bugs.webkit.org/show_bug.cgi?id=52463
25916 Fix various issues with the recent contentsScale changes:
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.
25926 2011-01-14 Simon Fraser <simon.fraser@apple.com>
25928 Let Xcode have it's way with the project file.
25930 * WebCore.xcodeproj/project.pbxproj:
25932 2011-01-14 Simon Fraser <simon.fraser@apple.com>
25934 Reviewed by Anders Carlsson.
25936 Refactor some FrameView::syncCompositingState code
25937 https://bugs.webkit.org/show_bug.cgi?id=52459
25939 Refactor some code in FrameView related to synchronizing
25940 compositing layer state.
25942 * page/FrameView.cpp:
25943 (WebCore::FrameView::syncCompositingStateForThisFrame):
25944 (WebCore::FrameView::syncCompositingStateRecursive):
25945 (WebCore::FrameView::paintContents):
25946 * page/FrameView.h:
25948 2011-01-14 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
25950 Reviewed by Eric Seidel.
25952 [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
25953 https://bugs.webkit.org/show_bug.cgi?id=30179
25955 * plugins/symbian/PluginViewSymbian.cpp:
25957 2011-01-14 Carlos Garcia Campos <cgarcia@igalia.com>
25959 Reviewed by Martin Robinson.
25961 [GTK] Add volume slider to media player
25962 https://bugs.webkit.org/show_bug.cgi?id=51532
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):
25983 2011-01-14 Joone Hur <joone.hur@collabora.co.uk>
25985 Reviewed by David Levin.
25987 [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
25988 https://bugs.webkit.org/show_bug.cgi?id=52434
25990 No new tests. This code will be tested when an implementation
25991 of beginDragWithFiles is complete.
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.
25999 2011-01-14 Pavel Podivilov <podivilov@chromium.org>
26001 Reviewed by Yury Semikhatsky.
26003 Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
26004 https://bugs.webkit.org/show_bug.cgi?id=52215
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):
26024 2011-01-14 Pavel Podivilov <podivilov@chromium.org>
26026 Reviewed by Yury Semikhatsky.
26028 Web Inspector: provide script column offset to frontend.
26029 https://bugs.webkit.org/show_bug.cgi?id=52377
26031 * bindings/js/ScriptDebugServer.cpp:
26032 (WebCore::ScriptDebugServer::dispatchDidParseSource):
26033 * bindings/js/ScriptSourceCode.h:
26034 (WebCore::ScriptSourceCode::ScriptSourceCode):
26035 * bindings/v8/DebuggerScript.js:
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):
26049 2011-01-14 Ilya Tikhonovsky <loislo@chromium.org>
26051 Unreviewed one line fix for console-xhr-logging test.
26053 The problem was introduced at r75788.
26055 * inspector/InspectorBrowserDebuggerAgent.cpp:
26056 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
26058 2011-01-13 Yury Semikhatsky <yurys@chromium.org>
26060 Reviewed by Pavel Feldman.
26062 Web Inspector: extract console related functionality into InspectorConsoleAgent
26063 https://bugs.webkit.org/show_bug.cgi?id=52282
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):
26127 * page/Console.idl:
26129 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
26131 Reviewed by Yury Semikhatsky.
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
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.
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):
26217 2011-01-14 Csaba Osztrogonác <ossy@webkit.org>
26219 [Qt][V8] Unreviewed buildfix after r75788.
26221 * inspector/InspectorBrowserDebuggerAgent.cpp:
26223 2011-01-12 Ilya Tikhonovsky <loislo@chromium.org>
26225 Reviewed by Yury Semikhatsky.
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.
26231 http://bugs.webkit.org/show_bug.cgi?id=52294
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):
26286 2011-01-14 Andrey Kosyakov <caseq@chromium.org>
26288 Reviewed by Pavel Feldman.
26290 Web Inspector: redirected resources not handled properly in Network panel
26291 https://bugs.webkit.org/show_bug.cgi?id=52292
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):
26335 2011-01-14 Sheriff Bot <webkit.review.bot@gmail.com>
26337 Unreviewed, rolling out r75783.
26338 http://trac.webkit.org/changeset/75783
26339 https://bugs.webkit.org/show_bug.cgi?id=52439
26341 a bit strange but the same patch have broken mac builds at
26342 linking stage. (Requested by loislo2 on #webkit).
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):
26391 2011-01-12 Ilya Tikhonovsky <loislo@chromium.org>
26393 Reviewed by Yury Semikhatsky.
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.
26399 http://bugs.webkit.org/show_bug.cgi?id=52294
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):
26454 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
26456 Not reviewed: build fix.
26458 * WebCore.vcproj/WebCore.vcproj:
26460 2011-01-14 Pavel Feldman <pfeldman@chromium.org>
26462 Reviewed by Yury Semikhatsky.
26464 Web Inspector: extract InspectorSettings from InspectorState,
26466 https://bugs.webkit.org/show_bug.cgi?id=52429
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):
26512 2011-01-14 Sheriff Bot <webkit.review.bot@gmail.com>
26514 Unreviewed, rolling out r75774.
26515 http://trac.webkit.org/changeset/75774
26516 https://bugs.webkit.org/show_bug.cgi?id=52431
26518 gtk builds were broken (Requested by loislo2 on #webkit).
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):
26566 2011-01-12 Ilya Tikhonovsky <loislo@chromium.org>
26568 Reviewed by Yury Semikhatsky.
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.
26574 http://bugs.webkit.org/show_bug.cgi?id=52294
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):
26629 2011-01-13 Kent Tamura <tkent@chromium.org>
26631 Reviewed by Dimitri Glazkov.
26633 Implement form validation message UI
26634 https://bugs.webkit.org/show_bug.cgi?id=48980
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
26642 * Implement ValidationMessage functions
26643 Show the message for <the number of characters> / 20.0 seconds.
26645 No new tests because the feature is disabled by default for now and the
26646 new behavior is strongly timing-dependent.
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):
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.
26683 2011-01-13 Dan Bernstein <mitz@apple.com>
26685 Reviewed by Alexey Proskuryakov.
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
26690 Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
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.
26697 2011-01-13 Dan Bernstein <mitz@apple.com>
26699 Reviewed by Mark Rowe.
26701 Don’t try to compile InjectedScriptSource.js into WebCore.
26703 * WebCore.xcodeproj/project.pbxproj:
26705 2011-01-13 Mike Thole <mthole@apple.com>
26707 Reviewed by Darin Adler and Brady Eidson.
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>
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.
26724 2011-01-13 Evan Martin <evan@chromium.org>
26726 Reviewed by Tony Chang.
26728 [chromium] drop backwards iteration in Linux complex text code
26729 https://bugs.webkit.org/show_bug.cgi?id=52403
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.
26736 No tests, just a refactoring; should be covered by existing tests.
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):
26747 2011-01-13 Dimitri Glazkov <dglazkov@chromium.org>
26749 Reviewed by Darin Adler.
26751 Flip input[type=range] to use the new shadow DOM model.
26752 https://bugs.webkit.org/show_bug.cgi?id=52317
26754 This is a straight-up flip, minimal change to the logic, which will be
26755 refactored in a follow-up patch.
26757 Covered by existing tests.
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
26769 * html/InputType.h: Added defs.
26770 * html/RangeInputType.cpp:
26771 (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
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
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.
26808 2011-01-13 Adam Barth <abarth@webkit.org>
26810 Reviewed by Eric Seidel.
26812 Rename RGBA32Buffer to ImageFrame
26813 https://bugs.webkit.org/show_bug.cgi?id=52363
26815 RGBA32Buffer is a terrible misnomer. ImageFrame is vastly
26816 more accurate. More cleanup to come.
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):
26930 2011-01-13 Dimitri Glazkov <dglazkov@chromium.org>
26932 Reviewed by Darin Adler.
26934 Transferring nodes between documents should be aware of the shadow DOM.
26935 https://bugs.webkit.org/show_bug.cgi?id=52399
26937 No visible change in behavior at the moment.
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
26946 * dom/Document.cpp:
26947 (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
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.
26959 2011-01-12 Enrica Casucci <enrica@apple.com>
26961 Reviewed by Darin Adler.
26963 WebKit2: Add support for drag and drop
26964 https://bugs.webkit.org/show_bug.cgi?id=52343
26965 <rdar://problem/7660558>
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.
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):
27023 2011-01-13 David Kilzer <ddkilzer@apple.com>
27025 Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project
27029 * WebCore.xcodeproj/project.pbxproj: Add missing headers. Note
27030 that the corresponding source files were originally added to the
27033 2011-01-12 Zhenyao Mo <zmo@google.com>
27035 Reviewed by Kenneth Russell.
27037 Use GC3D types in WebGLRenderingContext and related WebGL classes
27038 https://bugs.webkit.org/show_bug.cgi?id=51908
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.
27256 2011-01-13 Jian Li <jianli@chromium.org>
27258 Reviewed by Darin Fisher.
27260 Change createObjectURL and revokeObjectURL to put under webkitURL.
27261 https://bugs.webkit.org/show_bug.cgi?id=52257
27263 Note that we add "webkit" vendor prefix to URL that is introduced in
27264 the latest File API spec.
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.
27270 * Android.derived.jscbindings.mk:
27271 * Android.derived.v8bindings.mk:
27274 * DerivedSources.cpp:
27275 * DerivedSources.make:
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:
27296 2011-01-13 Emil Eklund <eae@chromium.org>
27298 Reviewed by Dimitri Glazkov.
27300 Setting outerText should convert CR/LF to <br>
27301 https://bugs.webkit.org/show_bug.cgi?id=52268
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.
27306 Test: fast/dom/set-outer-text.html
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:
27315 2011-01-13 Zhenyao Mo <zmo@google.com>
27317 Reviewed by Kenneth Russell.
27319 Relax the ESSL valid charset a little bit to include " ' `
27320 https://bugs.webkit.org/show_bug.cgi?id=52396
27322 * html/canvas/WebGLRenderingContext.cpp:
27324 2011-01-13 Adrienne Walker <enne@google.com>
27326 Reviewed by Kenneth Russell.
27328 [chromium] Attempt to fix crash in tiled compositor memcpy
27329 https://bugs.webkit.org/show_bug.cgi?id=52379
27331 * platform/graphics/chromium/LayerTilerChromium.cpp:
27332 (WebCore::LayerTilerChromium::update):
27334 2011-01-13 Dimitri Glazkov <dglazkov@chromium.org>
27336 Unreviewed, rolling out r75725.
27337 http://trac.webkit.org/changeset/75725
27338 https://bugs.webkit.org/show_bug.cgi?id=52317
27340 Caused crashes in layout tests.
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:
27376 2011-01-12 Dimitri Glazkov <dglazkov@chromium.org>
27378 Reviewed by Darin Adler.
27380 Flip input[type=range] to use the new shadow DOM model.
27381 https://bugs.webkit.org/show_bug.cgi?id=52317
27383 This is a straight-up flip, minimal change to the logic, which will be
27384 refactored in a follow-up patch.
27386 Covered by existing tests.
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
27398 * html/InputType.h: Added defs.
27399 * html/RangeInputType.cpp:
27400 (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
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
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.
27437 2011-01-13 Dan Bernstein <mitz@apple.com>
27439 Reviewed by Simon Fraser.
27441 <rdar://problem/8098442> Crash in Widget::setFrameRect()
27442 https://bugs.webkit.org/show_bug.cgi?id=52375
27444 Test: plugins/destroy-on-setwindow.html
27446 * platform/mac/WidgetMac.mm:
27447 (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
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
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.
27457 2011-01-13 Csaba Osztrogonác <ossy@webkit.org>
27459 Unreviewed buildfix after r75715.
27464 2011-01-13 Pavel Feldman <pfeldman@chromium.org>
27466 Not reviewed: Qt build fix.
27470 2011-01-12 Pavel Feldman <pfeldman@chromium.org>
27472 Reviewed by Yury Semikhatsky.
27474 Web Inspector: embed injected script into the backend.
27475 https://bugs.webkit.org/show_bug.cgi?id=52312
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.
27484 * DerivedSources.make:
27486 * WebCore.gyp/WebCore.gyp:
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.
27512 2011-01-13 Mikhail Naganov <mnaganov@chromium.org>
27514 Reviewed by Timothy Hatcher.
27516 Web Inspector: Cleanup after r75613 -- make all UI-facing strings
27517 to be passed directly to WebInspector.UIString
27519 https://bugs.webkit.org/show_bug.cgi?id=52365
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:
27558 2011-01-13 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
27560 Reviewed by Simon Hausmann.
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
27565 Added "c" style static method for the application to hook up for
27566 receiving notifications when a plugin is created.
27568 * plugins/symbian/PluginViewSymbian.cpp:
27569 (qtwebkit_setPluginCreatedCallback):
27570 (WebCore::PluginView::platformStart):
27572 2011-01-13 Yi Shen <yi.4.shen@nokia.com>
27574 Reviewed by Eric Seidel.
27576 [Qt] Use a black background color for the video element on Qt Mobile
27577 https://bugs.webkit.org/show_bug.cgi?id=52252
27579 Use black as the background color for the video element on Qt Mobile.
27581 * css/themeQtMobile.css:
27584 2011-01-13 Yi Shen <yi.4.shen@nokia.com>
27586 Reviewed by Eric Seidel.
27588 [Qt] Use a big central media play control button for video element
27589 https://bugs.webkit.org/show_bug.cgi?id=52315
27591 When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
27592 all other control buttons for the video element are hidden, except
27593 a big centralized play button.
27595 No new tests because no client implements requiresFullscreenForVideoPlayback yet.
27598 * css/mediaControlsQtFullscreen.css: Added.
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):
27628 2011-01-13 Carlos Garcia Campos <cgarcia@igalia.com>
27630 Reviewed by Xan Lopez.
27632 [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
27633 https://bugs.webkit.org/show_bug.cgi?id=52361
27635 Check whether the object state is indeterminate to set the flag
27636 GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
27639 * platform/gtk/RenderThemeGtk3.cpp:
27640 (WebCore::paintToggle):
27642 2011-01-13 Yi Shen <yi.4.shen@nokia.com>
27644 Reviewed by Simon Hausmann.
27646 [Qt] Extend the Platform Plugin to support full screen video handler
27647 https://bugs.webkit.org/show_bug.cgi?id=51249
27649 Make MediaPlayerPrivateQt support a fullscreen player.
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.
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):
27664 2011-01-13 Dan Bernstein <mitz@apple.com>
27666 Reviewed by Dave Hyatt.
27668 <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
27669 https://bugs.webkit.org/show_bug.cgi?id=52359
27671 Test: fast/ruby/text-emphasis.html
27676 2011-01-13 Csaba Osztrogonác <ossy@webkit.org>
27678 Rubber-stamped by David Levin.
27680 Trivial fix after r75682.
27682 * loader/FrameLoader.cpp: Remove accidentally committed debug code.
27683 (WebCore::FrameLoader::shouldClose):
27685 2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
27687 Reviewed by Eric Seidel.
27689 REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
27690 https://bugs.webkit.org/show_bug.cgi?id=52241
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
27697 Test: fast/forms/focus-change-on-keypress.html
27699 * rendering/RenderTextControl.cpp:
27700 (WebCore::setContainerAndOffsetForRange): Added; a helper function.
27701 (WebCore::RenderTextControl::selection): See above.
27703 2011-01-12 Kenichi Ishibashi <bashi@google.com>
27705 Reviewed by Kent Tamura.
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
27710 Calls unregisterFormElementWithFormAttribute() when 'form' attribute
27713 Tests: fast/forms/form-associated-element-crash.html
27714 fast/forms/form-associated-element-crash2.html
27716 * html/FormAssociatedElement.cpp:
27717 (WebCore::FormAssociatedElement::formAttributeChanged):
27719 2011-01-12 Kenichi Ishibashi <bashi@google.com>
27721 Reviewed by Kent Tamura.
27723 M_formElementsWithFormAttribute not cleared when Node is moved to another document.
27724 https://bugs.webkit.org/show_bug.cgi?id=51418
27726 Calls unregisterFormElementWithFormAttribute() when form associated elements
27727 are moved to another document.
27729 Test: fast/forms/change-form-element-document-crash.html
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.
27742 2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
27744 Reviewed by Eric Seidel.
27746 Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
27747 https://bugs.webkit.org/show_bug.cgi?id=52250
27749 Removed instantiation of legacy editing positions.
27750 Calls to Position::Position are replaced by calls to Position's convenience functions.
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].
27758 No tests are added since this is a cleanup.
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.
27783 2011-01-12 Sam Weinig <sam@webkit.org>
27787 * platform/mac/WheelEventMac.mm:
27788 (WebCore::phaseForEvent):
27790 2011-01-12 Sam Weinig <sam@webkit.org>
27794 * platform/mac/WheelEventMac.mm:
27795 (WebCore::phaseForEvent):
27797 2011-01-12 Adam Barth <abarth@webkit.org>
27799 Reviewed by Darin Adler.
27801 Remove premature optimization from SchemeRegistry
27802 https://bugs.webkit.org/show_bug.cgi?id=52283
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.
27809 * platform/SchemeRegistry.cpp:
27810 (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
27812 2011-01-12 Beth Dakin <bdakin@apple.com>
27814 Reviewed by Anders Carlsson.
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>
27821 And now with getters!
27824 2011-01-12 Sam Weinig <sam@webkit.org>
27826 Reviewed by Anders Carlsson.
27828 https://bugs.webkit.org/show_bug.cgi?id=52337
27829 PlatformWheelEvent should know about the scroll phase on the Mac
27831 Add a phase parameter on Mac PlatformWheelEvents.
27833 * platform/PlatformWheelEvent.h:
27834 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
27835 (WebCore::PlatformWheelEvent::phase):
27836 * platform/mac/WheelEventMac.mm:
27837 (WebCore::phaseForEvent):
27838 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
27840 2011-01-12 Chris Marrin <cmarrin@apple.com>
27844 A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
27847 * platform/graphics/ca/GraphicsLayerCA.cpp:
27848 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
27850 2011-01-12 Chris Marrin <cmarrin@apple.com>
27854 Getting rid of an assert that was causing build failures that turns out not to be needed.
27856 * rendering/RenderLayer.cpp:
27857 (WebCore::RenderLayer::paintsWithTransform):
27859 2011-01-12 Chris Marrin <cmarrin@apple.com>
27863 Another fix for Gtk
27865 * rendering/RenderLayer.cpp:
27866 (WebCore::RenderLayer::paintsWithTransform):
27868 2011-01-12 Chris Marrin <cmarrin@apple.com>
27872 Fix for Gtk and Windows builds
27875 (WebCore::Frame::scalePage):
27877 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
27878 (PlatformCALayer::contentsScale):
27879 (PlatformCALayer::setContentsScale):
27881 2011-01-12 Chris Marrin <cmarrin@apple.com>
27885 Fix for the Windows build
27887 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
27889 (setContentsScale):
27891 2011-01-12 Chris Marrin <cmarrin@apple.com>
27897 * platform/graphics/ca/GraphicsLayerCA.cpp:
27898 (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
27899 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
27900 (PlatformCALayer::setContentsScale):
27902 2011-01-11 Matthew Delaney <mdelaney@apple.com>
27904 Reviewed by Simon Fraser.
27906 Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
27907 https://bugs.webkit.org/show_bug.cgi?id=52172
27909 Tests: fast/canvas/canvas-large-dimensions.html
27911 * platform/graphics/cg/ImageBufferCG.cpp:
27912 (WebCore::ImageBuffer::ImageBuffer):
27914 2011-01-12 Daniel Bates <dbates@rim.com>
27915 And Benjamin C Meyer <bmeyer@rim.com>
27917 Build fix when building with Inspector disabled
27918 https://bugs.webkit.org/show_bug.cgi?id=52313
27920 After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
27921 possible to build when the Inspector is disabled.
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.
27937 2011-01-12 Chris Marrin <cmarrin@apple.com>
27941 Fix a build issue from http://trac.webkit.org/changeset/75639.
27943 * platform/graphics/GraphicsLayer.h:
27944 (WebCore::GraphicsLayer::contentsScale):
27945 (WebCore::GraphicsLayer::setContentsScale):
27947 2011-01-12 Chris Marrin <cmarrin@apple.com>
27949 Reviewed by Kevin Decker.
27951 Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
27952 rdar://problem/8824974
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
27959 * rendering/RenderLayer.cpp:
27960 (WebCore::RenderLayer::paintsWithTransform):
27961 * rendering/RenderLayer.h:
27962 * rendering/RenderLayerBacking.cpp:
27963 (WebCore::RenderLayerBacking::paintingGoesToWindow):
27965 2011-01-12 Chris Marrin <cmarrin@apple.com>
27967 Reviewed by Simon Fraser.
27969 Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
27970 rdar://problem/8824974
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.).
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
27983 (WebCore::Frame::updateContentsScale):
27984 (WebCore::Frame::scalePage):
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:
28009 2011-01-12 Stephen White <senorblanco@chromium.org>
28011 Reviewed by James Robinson.
28013 Fix DrawingBuffer issues for depth/stencil, extensions, etc.
28014 https://bugs.webkit.org/show_bug.cgi?id=52310
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.
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
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
28049 2011-01-12 Beth Dakin <bdakin@apple.com>
28051 Reviewed by Anders Carlsson.
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>
28058 Export symbols for ScrollView::setUseFixedLayout() and
28059 ScrollView::setFixedLayoutSize()
28062 2011-01-12 Robert Hogan <robert@webkit.org>
28064 Reviewed by Kenneth Rohde Christiansen.
28066 [Qt] Search input field doesn't have cancel button
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.
28072 Unskip a bunch of search field related tests that pass now:
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
28086 https://bugs.webkit.org/show_bug.cgi?id=42887
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:
28100 2011-01-12 Andrey Kosyakov <caseq@chromium.org>
28102 Reviewed by Pavel Feldman.
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
28108 * inspector/front-end/ResourceCookiesView.js:
28109 (WebInspector.ResourceCookiesView.prototype.show):
28111 2011-01-12 Koan-Sin Tan <koansin.tan@gmail.com>
28113 Reviewed by Martin Robinson.
28115 [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6
28116 https://bugs.webkit.org/show_bug.cgi?id=50867
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.
28126 2011-01-12 Simon Fraser <simon.fraser@apple.com>
28128 Reviewed by Eric Seidel.
28130 [CSS Gradients] One color stop should not paint anything for linear-gradient
28131 https://bugs.webkit.org/show_bug.cgi?id=52259
28133 Share color stop parsing code between linear and radial gradients.
28134 Consider the gradient invalid if it has less than two color stops.
28136 * css/CSSParser.cpp:
28137 (WebCore::CSSParser::parseLinearGradient):
28138 (WebCore::CSSParser::parseRadialGradient):
28139 (WebCore::CSSParser::parseGradientColorStops):
28142 2011-01-12 Mikhail Naganov <mnaganov@chromium.org>
28144 Reviewed by Pavel Feldman.
28146 Fix inconsistencies in Inspector strings found by the new check-inspector-strings script.
28148 https://bugs.webkit.org/show_bug.cgi?id=52295
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:
28162 2011-01-12 Yury Semikhatsky <yurys@chromium.org>
28164 Unreviewed. Fix WML compilation on Mac.
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):
28174 2011-01-12 Justin Schuh <jschuh@chromium.org>
28176 Unreviewed build fix for debug strict compiles.
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.
28181 No behavior changed.
28183 * rendering/CounterNode.cpp:
28184 (WebCore::showTreeAndMark):
28186 2010-12-29 Yury Semikhatsky <yurys@chromium.org>
28188 Reviewed by Pavel Feldman.
28190 inspector/timeline-network-resource.html fails when run twice
28191 https://bugs.webkit.org/show_bug.cgi?id=37394
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.
28197 Network notifications are now sent to InspectorInstrumentation which dispatches
28198 them to interested agents and InspectorController.
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):
28276 2011-01-12 Pavel Podivilov <podivilov@chromium.org>
28278 Reviewed by Pavel Feldman.
28280 Web Inspector: do not replace all tabs with spaces when editing script source
28281 https://bugs.webkit.org/show_bug.cgi?id=52291
28283 * inspector/front-end/SourceFrame.js:
28284 (WebInspector.SourceFrame.prototype.setContent):
28285 (WebInspector.SourceFrame.prototype._editLine):
28287 2011-01-11 Jeremy Orlow <jorlow@chromium.org>
28289 Reviewed by Nate Chapin.
28291 Enforce READ_ONLY transactions in IndexedDB
28292 https://bugs.webkit.org/show_bug.cgi?id=52229
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.
28299 Test: storage/indexeddb/transaction-read-only.html
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):
28312 2011-01-11 Philippe Normand <pnormand@igalia.com>
28314 Reviewed by Eric Seidel.
28316 [GTK] minimal build breaks in RenderThemeGtk3
28317 https://bugs.webkit.org/show_bug.cgi?id=52202
28319 * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around
28322 2011-01-11 Philippe Normand <pnormand@igalia.com>
28324 Reviewed by Eric Carlson.
28326 [GStreamer] PlatformVideoWindowMac implementation
28327 https://bugs.webkit.org/show_bug.cgi?id=50770
28329 This new implementation will be used on Mac OS to display the
28330 fullscreen video window with the GStreamer-based media player.
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):
28341 2011-01-11 Simon Fraser <simon.fraser@apple.com>
28343 Reviewed by Dan Bernstein.
28345 Webkit crashes when a gradient is applied using the first-line pseudo element
28346 https://bugs.webkit.org/show_bug.cgi?id=52225
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.
28352 This patch fixes the crash by returning a null gradient image in this
28355 Test: fast/gradients/gradient-on-pseudoelement-crash.html
28357 * css/CSSGradientValue.cpp:
28358 (WebCore::CSSGradientValue::image):
28360 2011-01-11 Andy Estes <aestes@apple.com>
28362 Reviewed by Darin Adler.
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>
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.
28375 * loader/cache/CachedResourceLoader.cpp:
28376 (WebCore::CachedResourceLoader::loadDone): Call
28377 resourceLoadScheduler()->servePendingRequests().
28379 2011-01-11 Patrick Gansterer <paroga@webkit.org>
28381 Reviewed by Eric Seidel.
28383 Add Document::setContent()
28384 https://bugs.webkit.org/show_bug.cgi?id=52085
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.
28390 * dom/Document.cpp:
28391 (WebCore::Document::setContent):
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.
28404 2011-01-11 Brent Fulgham <bfulgham@webkit.org>
28406 Unreviewed build fix.
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.
28412 2011-01-11 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
28414 Reviewed by Adam Barth.
28416 Use plug-in DB for extensions to MIME type convertion
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.
28424 Attribute lost with Flash plugin without mime type set
28425 https://bugs.webkit.org/show_bug.cgi?id=50657
28427 Test: plugins/no-mime-with-valid-extension.html
28429 * loader/FrameLoader.cpp:
28430 (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME
28432 2011-01-11 James Simonsen <simonjam@chromium.org>
28434 Reviewed by Eric Seidel.
28436 [Web Timing] Rename sslHandshakeStart to secureConnectionStart
28437 https://bugs.webkit.org/show_bug.cgi?id=52239
28439 * page/PerformanceTiming.cpp:
28440 (WebCore::PerformanceTiming::secureConnectionStart):
28441 * page/PerformanceTiming.h:
28442 * page/PerformanceTiming.idl:
28444 2011-01-11 Adam Barth <abarth@webkit.org>
28446 Reviewed by Eric Seidel.
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
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
28457 * page/SecurityOrigin.cpp:
28458 (WebCore::SecurityOrigin::isAccessToURLWhiteListed):
28459 (WebCore::SecurityOrigin::canDisplay):
28460 * page/SecurityOrigin.h:
28461 * platform/SchemeRegistry.cpp:
28462 * platform/SchemeRegistry.h:
28464 2011-01-11 Mihai Parparita <mihaip@chromium.org>
28466 Reviewed by Darin Fisher.
28468 Scroll event should be fired asynchronously
28469 https://bugs.webkit.org/show_bug.cgi?id=45631
28471 Tests: fast/events/fire-scroll-event.html
28472 fast/events/fire-scroll-event-element.html
28473 fast/events/scroll-event-phase.html
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)
28479 Implemented via the EventQueue class added by r74062 (EventQueue now
28480 has a convenience enqueueScrollEvent method).
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):
28493 2011-01-11 Patrick Gansterer <paroga@webkit.org>
28495 Unreviewed WinCE build fix for r75523.
28497 * platform/wince/DragDataWinCE.cpp: Added missing include.
28499 2011-01-11 Abhishek Arya <inferno@chromium.org>
28501 Reviewed by Dimitri Glazkov.
28503 RefPtr the FrameView to prevent scrollbar from getting deleted inside
28505 https://bugs.webkit.org/show_bug.cgi?id=52238
28507 Test: scrollbars/scrollable-iframe-remove-crash.html
28509 * page/DOMWindow.cpp:
28510 (WebCore::DOMWindow::scrollTo):
28512 2011-01-08 Dimitri Glazkov <dglazkov@chromium.org>
28514 Reviewed by David Hyatt.
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
28519 Essentially implements the plumbing for the XBL2 pseudo attribute:
28520 http://dev.w3.org/2006/xbl2/#the-pseudo-attribute
28522 Test: fast/css/unknown-pseudo-element-matching.html
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.
28556 (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded
28559 (WebCore::Element::shadowPseudoId): Added new virtual method to allow
28560 elements to provide the value of pseudo-element selector they would match.
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.
28571 2011-01-11 Dean Jackson <dino@apple.com>
28573 Reviewed by Simon Fraser.
28575 https://bugs.webkit.org/show_bug.cgi?id=52233
28577 WebKitCSSMatrix constructor should accept 'none'
28578 as a valid string parameter.
28580 * css/WebKitCSSMatrix.cpp:
28581 (WebCore::WebKitCSSMatrix::setMatrixValue):
28583 2011-01-11 James Robinson <jamesr@chromium.org>
28585 Reviewed by Dimitri Glazkov.
28587 Set all RenderBlocks as replaced when an inline display type is specified
28588 https://bugs.webkit.org/show_bug.cgi?id=50858
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.
28598 Code cleanup only, no change in behavior so no new tests.
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):
28617 2011-01-11 Dimitri Glazkov <dglazkov@chromium.org>
28619 Reviewed by Eric Seidel.
28621 REGRESSION(r71934) Can't type in search edit field on skin-one.com
28622 https://bugs.webkit.org/show_bug.cgi?id=52195
28624 Restored the original behavior, where the selectstart event is not
28625 dispatched when selection changes inside of the shadow DOM.
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.
28633 2011-01-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
28635 Reviewed by Eric Seidel.
28637 [Qt] Provide plugin coordinates to windowless plugins on Symbian.
28638 https://bugs.webkit.org/show_bug.cgi?id=52213
28640 * plugins/symbian/PluginViewSymbian.cpp:
28641 (WebCore::PluginView::setNPWindowIfNeeded):
28643 2011-01-10 Zhenyao Mo <zmo@google.com>
28645 Reviewed by Kenneth Russell.
28647 Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
28648 https://bugs.webkit.org/show_bug.cgi?id=52068
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:
28662 2011-01-10 Enrica Casucci <enrica@apple.com>
28664 Reviewed by Alexey Proskuryakov.
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.
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.
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):
28758 2011-01-11 Abhishek Arya <inferno@chromium.org>
28760 Reviewed by Dimitri Glazkov.
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
28767 Test: fast/dom/text-node-append-data-remove-crash.html
28769 * html/HTMLElement.cpp:
28770 (WebCore::HTMLElement::setOuterText):
28772 2011-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
28774 Reviewed by Martin Robinson.
28776 [GTK] Add support for <meter> element
28777 https://bugs.webkit.org/show_bug.cgi?id=48713
28779 * GNUmakefile.am: Enable meter element.
28781 2011-01-11 Csaba Osztrogonác <ossy@webkit.org>
28783 Unreviewed buildfix.
28785 [Qt][V8] Add missing include for debug build.
28787 * loader/cache/CachedResourceLoader.cpp:
28789 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
28791 Reviewed by Yury Semikhatsky.
28793 Web Inspector: redirects are lost from the network panel upon navigation.
28794 https://bugs.webkit.org/show_bug.cgi?id=52210
28796 * inspector/front-end/NetworkManager.js:
28797 (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
28799 2011-01-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
28801 Reviewed by Kenneth Rohde Christiansen.
28803 [Qt] Remove uses of QFuture since it isn't supported on all platforms.
28804 https://bugs.webkit.org/show_bug.cgi?id=51204
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):
28814 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
28816 Reviewed by Pavel Feldman.
28818 Web Inspector: recreate script view after live edit.
28819 https://bugs.webkit.org/show_bug.cgi?id=51751
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):
28832 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
28834 Reviewed by Pavel Feldman.
28836 Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager.
28837 https://bugs.webkit.org/show_bug.cgi?id=52205
28839 * inspector/front-end/NetworkManager.js:
28840 (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
28842 2011-01-11 Alexander Pavlov <apavlov@chromium.org>
28844 Reviewed by Pavel Feldman.
28846 Web Inspector: "Audit present state" always disabled
28847 https://bugs.webkit.org/show_bug.cgi?id=52199
28849 Removed all traces of resource tracking checks, as we have it no more.
28851 * English.lproj/localizedStrings.js:
28852 * inspector/front-end/AuditLauncherView.js:
28853 (WebInspector.AuditLauncherView.prototype._createLauncherUI):
28854 * inspector/front-end/AuditsPanel.js:
28856 2011-01-11 Pavel Podivilov <podivilov@chromium.org>
28858 Reviewed by Pavel Feldman.
28860 Web Inspector: move delayed search implementation to SourceFrame.
28861 https://bugs.webkit.org/show_bug.cgi?id=51753
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):
28873 2011-01-11 Ilya Tikhonovsky <loislo@chromium.org>
28875 Reviewed by Pavel Feldman.
28877 Web Inspector: innerFirstChild has a side effect which should be called explicitly.
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.
28885 https://bugs.webkit.org/show_bug.cgi?id=52204
28887 * inspector/InspectorDOMAgent.cpp:
28888 (WebCore::InspectorDOMAgent::startListeningFrameDoc):
28889 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
28890 (WebCore::InspectorDOMAgent::innerFirstChild):
28891 * inspector/InspectorDOMAgent.h:
28893 2011-01-11 Adam Roben <aroben@apple.com>
28895 Delete WKCACFLayer.{cpp,h}
28897 These have been unused since r75262
28899 * platform/graphics/win/WKCACFLayer.cpp: Removed.
28900 * platform/graphics/win/WKCACFLayer.h: Removed.
28902 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
28904 Reviewed by Yury Semikhatsky.
28906 Web Inspector: [regression] Cookies view does not allow columns resize.
28907 https://bugs.webkit.org/show_bug.cgi?id=51877
28909 * inspector/front-end/CookieItemsView.js:
28910 (WebInspector.CookieItemsView.prototype._updateWithCookies):
28912 2011-01-11 Noel Gordon <noel.gordon@gmail.com>
28914 Reviewed by James Robinson.
28916 [chromium] canvas.toDataURL("image/jpeg") should composite onto black.
28917 https://bugs.webkit.org/show_bug.cgi?id=51237
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
28924 I = c(A)F(A) + c(B)F(B)
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.
28933 Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html
28935 * platform/image-encoders/skia/JPEGImageEncoder.cpp:
28936 (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black.
28938 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
28940 Reviewed by Yury Semikhatsky.
28942 Chromium DevTools: get rid of APU-related code in WebKit/chromium.
28943 https://bugs.webkit.org/show_bug.cgi?id=52152
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:
28953 2011-01-11 Pavel Feldman <pfeldman@chromium.org>
28955 Reviewed by Yury Semikhatsky.
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
28961 * inspector/InspectorController.cpp:
28962 (WebCore::InspectorController::willSendRequest):
28963 * loader/ResourceLoadNotifier.cpp:
28964 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
28966 2011-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
28968 Reviewed by Martin Robinson.
28970 [GTK] GRefPtr should not be used with Gtk widgets
28971 https://bugs.webkit.org/show_bug.cgi?id=51241
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().
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):
29000 2010-10-10 David Hyatt <hyatt@apple.com>
29002 Reviewed by Simon Fraser.
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.
29011 * rendering/RenderLayer.cpp:
29012 (WebCore::RenderLayer::hitTest):
29014 2011-01-10 Stephen White <senorblanco@chromium.org>
29016 Reviewed by James Robinson.
29018 Fix canvas->canvas draws on the GPU path.
29019 https://bugs.webkit.org/show_bug.cgi?id=52141
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).
29032 Covered by fast/canvas/drawImage-with-negative-source-destination.html.
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.
29045 2011-01-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
29047 Reviewed by Csaba Osztrogonác.
29049 [Qt] Baseline qt_minimal configuration
29050 https://bugs.webkit.org/show_bug.cgi?id=51313
29052 No new tests as there is no new functionality.
29054 * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the
29055 QT_NO_ANIMATION guard.
29057 * platform/qt/WheelEventQt.cpp:
29058 (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the
29059 QT_NO_WHEELEVENT guard.
29061 2011-01-10 Joe Mason <jmason@rim.com>
29063 Reviewed by Alexey Proskuryakov.
29065 WebSockets: unbounded buffer growth when server sends bad data
29066 https://bugs.webkit.org/show_bug.cgi?id=51253
29068 Fail a websocket handshake after 1024 bytes without a newline, or if it
29069 contains a null byte before the first newline.
29071 Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html
29072 http/tests/websocket/tests/handshake-fail-by-prepended-null.html
29074 * websockets/WebSocketHandshake.cpp:
29075 (WebCore::WebSocketHandshake::readStatusLine):
29077 2011-01-10 Adam Barth <abarth@webkit.org>
29079 Reviewed by Darin Adler.
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
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.
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:
29103 2011-01-10 Jer Noble <jer.noble@apple.com>
29105 Reviewed by Simon Fraser.
29107 https://bugs.webkit.org/show_bug.cgi?id=52095
29108 REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
29111 fullscreen/full-screen-remove-ancestor.html
29112 fullscreen/full-screen-remove.html
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.
29119 In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen().
29120 Don't detach the documentElement, but rather simply call recalcStyle(Force).
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.
29129 2011-01-10 Martin Robinson <mrobinson@igalia.com>
29131 Reviewed by Xan Lopez.
29133 [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release
29134 https://bugs.webkit.org/show_bug.cgi?id=52173
29136 No new tests. This is only a build fix.
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.
29142 2011-01-10 Geoffrey Garen <ggaren@apple.com>
29144 Reviewed by Oliver Hunt.
29146 Moved Collector.* => Heap.*, since the file contains a class named "Heap".
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:
29154 2011-01-10 Leonid Ebril <leonid.ebril@nokia.com>
29156 Reviewed by Kenneth Rohde Christiansen.
29158 https://bugs.webkit.org/show_bug.cgi?id=51879
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.
29164 * plugins/symbian/PluginPackageSymbian.cpp:
29165 (WebCore::PluginPackage::fetchInfo):
29166 (WebCore::PluginPackage::determineQuirks):
29168 2011-01-10 Martin Robinson <mrobinson@igalia.com>
29170 Reviewed by Xan Lopez.
29172 [GTK] Remove unecessary RenderThemeGtk and WidgetRenderingContext code
29173 https://bugs.webkit.org/show_bug.cgi?id=52170
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
29181 No new tests. This should not change functionality.
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.
29213 2011-01-10 Benjamin Poulain <benjamin.poulain@nokia.com>
29215 Reviewed by Kenneth Rohde Christiansen.
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
29220 Test for the availability of cookie jar to return if cookies are enabled or not.
29222 * platform/qt/CookieJarQt.cpp:
29223 (WebCore::cookiesEnabled):
29225 2011-01-10 W. James MacLean <wjmaclean@chromium.org>
29227 Reviewed by Kenneth Russell.
29229 [chromium] Enable reuse of RenderSurface for drawing.
29230 https://bugs.webkit.org/show_bug.cgi?id=51928
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.
29236 Covered by existing test (compositing/geometry/fixed-position.html) when offscreen compositing enabled.
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:
29246 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
29248 Reviewed by Xan Lopez.
29250 [GTK] Port combo box painting to GtkStyleContext
29251 https://bugs.webkit.org/show_bug.cgi?id=51828
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
29258 No new tests. This should not change functionality.
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):
29271 2011-01-10 Evan Martin <evan@chromium.org>
29273 Reviewed by Tony Chang.
29275 [chromium] simplify complex glyph positioning code
29276 https://bugs.webkit.org/show_bug.cgi?id=52159
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.
29282 * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
29283 (WebCore::ComplexTextController::shapeGlyphs):
29284 (WebCore::ComplexTextController::setGlyphXPositions):
29286 2011-01-10 Alejandro G. Castro <alex@igalia.com>
29288 Reviewed by Xan Lopez.
29290 [GTK] Fix gtk2 compilation for master
29291 https://bugs.webkit.org/show_bug.cgi?id=51885
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.
29300 2011-01-10 Ryosuke Niwa <rniwa@webkit.org>
29302 Unreviewed; build fix for r75385.
29304 * rendering/mathml/RenderMathMLFraction.cpp:
29305 (WebCore::RenderMathMLFraction::paint):
29307 2011-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
29309 Unreviewed, rolling out r75341.
29310 http://trac.webkit.org/changeset/75341
29311 https://bugs.webkit.org/show_bug.cgi?id=52157
29313 Regressions on several pixel tests (Requested by jorlow on
29316 * platform/graphics/cg/GraphicsContextCG.cpp:
29317 (WebCore::GraphicsContext::fillPath):
29319 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
29321 Reviewed by Martin Robinson.
29323 [GTK] Port check and radio button painting to GtkStyleContext
29324 https://bugs.webkit.org/show_bug.cgi?id=51815
29326 Use GtkStyleContext API to paint check and radio buttons when
29327 building with GTK+ 3.x.
29329 No new tests. This should not change functionality.
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):
29340 2011-01-10 François Sausset <sausset@gmail.com>
29342 Reviewed by Kenneth Rohde Christiansen.
29344 MathML: vertical alignment & bar thickness adjustments of fractions.
29345 https://bugs.webkit.org/show_bug.cgi?id=50018
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 (+,=,...).
29351 Test: mathml/presentation/fractions.xhtml
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:
29361 2011-01-10 Antti Koivisto <antti@apple.com>
29363 Reviewed by Alexey Proskuryakov.
29365 https://bugs.webkit.org/show_bug.cgi?id=52044
29366 REGRESSION(r74807): No-store is ignored within a document
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.
29371 Test: http/tests/misc/script-no-store.html
29372 (by Alexey Proskuryakov)
29374 * loader/cache/CachedResourceLoader.cpp:
29375 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
29377 2011-01-10 Patrick Gansterer <paroga@webkit.org>
29379 Reviewed by Laszlo Gombos.
29381 [WIN] Add ProxyServerWin.cpp
29382 https://bugs.webkit.org/show_bug.cgi?id=52031
29384 Add stub implementation to fix ENABLE_NETSCAPE_PLUGIN_API on WinCE.
29387 * CMakeListsWinCE.txt:
29388 * platform/network/win/ProxyServerWin.cpp: Added.
29389 (WebCore::proxyServersForURL):
29391 2011-01-10 Alejandro G. Castro <alex@igalia.com>
29393 Reviewed by Martin Robinson.
29395 [cairo] Rendering a lot of arcs on top of each other causes time
29397 https://bugs.webkit.org/show_bug.cgi?id=50869
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.
29403 * platform/graphics/cairo/PathCairo.cpp:
29404 (WebCore::Path::addArc):
29406 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
29408 Reviewed by Martin Robinson.
29410 [GTK] Port text input control painting to GtkStyleContext
29411 https://bugs.webkit.org/show_bug.cgi?id=51870
29413 Use GtkStyleContext API to paint text input controls when building
29416 No new tests. This should not change functionality.
29418 * platform/gtk/RenderThemeGtk3.cpp:
29419 (WebCore::RenderThemeGtk::adjustRepaintRect):
29420 (WebCore::RenderThemeGtk::paintTextField):
29422 2011-01-09 Tony Gentilcore <tonyg@chromium.org>
29424 Reviewed by Alexey Proskuryakov.
29426 Forward declare some headers where possible
29427 https://bugs.webkit.org/show_bug.cgi?id=52133
29429 No new tests because no new functionality.
29432 * dom/BeforeLoadEvent.h:
29435 * dom/StyledElement.cpp:
29436 * dom/StyledElement.h:
29437 * loader/DocumentLoader.h:
29438 * loader/FrameLoader.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:
29485 2011-01-10 Adam Roben <aroben@apple.com>
29487 Windows build fix after r75313
29489 * WebCore.vcproj/build-generated-files.sh: Updated for the change in
29490 this script's path.
29492 2011-01-10 Pavel Podivilov <podivilov@chromium.org>
29494 Reviewed by Pavel Feldman.
29496 Web Inspector: make properties on Array's prototype non-enumerable.
29497 https://bugs.webkit.org/show_bug.cgi?id=51776
29499 * inspector/front-end/utilities.js:
29502 2011-01-10 Yael Aharon <yael.aharon@nokia.com>
29504 Reviewed by Simon Fraser.
29506 Specificity of negated selectors apparently miscalculated
29507 https://bugs.webkit.org/show_bug.cgi?id=41206
29509 Give negated selectors the specificity of the selector they are negating.
29510 This is the same as the behavior of other browsers.
29512 Test: fast/css/pseudo-not.html
29514 * css/CSSSelector.cpp:
29515 (WebCore::CSSSelector::specificityForOneSelector):
29517 2011-01-10 Adam Roben <aroben@apple.com>
29519 Windows build fix after r75353
29521 * WebCore.vcproj/WebCoreCommon.vsprops: Added rendering/mathml to the
29524 2011-01-10 John Knottenbelt <jknotten@chromium.org>
29526 Reviewed by Jeremy Orlow.
29528 [Chromium] Remove non-client-based Geolocation code
29529 https://bugs.webkit.org/show_bug.cgi?id=50921
29531 Code clean up, covered by existing tests.
29533 * WebCore.gyp/WebCore.gyp:
29535 * platform/chromium/ChromiumBridge.h:
29536 * platform/chromium/GeolocationServiceChromium.cpp: Removed.
29537 * platform/chromium/GeolocationServiceChromium.h: Removed.
29539 2011-01-10 Ilya Tikhonovsky <loislo@chromium.org>
29541 Reviewed by Pavel Feldman.
29543 Web Inspector: protocol related change. Rename stepIntoStatement, stepOutOfFunction, stepOverStatement.
29544 stepIntoStatement => stepInto
29545 stepOutOfFunction => stepOut
29546 stepOverStatement => stepOver
29548 https://bugs.webkit.org/show_bug.cgi?id=52142
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):
29561 2011-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
29563 Reviewed by Martin Robinson.
29565 [GTK] Port progressbar painting to GtkStyleContext
29566 https://bugs.webkit.org/show_bug.cgi?id=52054
29568 Use GtkStyleContext API to paint progressbars when building with
29569 GTK+ 3.x. Also add support for indeterminate progressbars.
29571 No new tests. This should not change functionality.
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):
29582 2011-01-10 Andreas Kling <kling@webkit.org>
29584 Reviewed by Darin Adler.
29586 Remove unused class "Pen" in WebCore/platform/graphics
29587 https://bugs.webkit.org/show_bug.cgi?id=49955
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.
29602 2011-01-10 Xan Lopez <xlopez@igalia.com>
29604 Reviewed by Martin Robinson.
29606 [GTK] Create intermediate libWebCore library
29607 https://bugs.webkit.org/show_bug.cgi?id=52116
29609 Create intermediate libWebCore.la to avoid overflowing the linker
29610 in the final link stage.
29612 * GNUmakefile.am: define the new library.
29614 2011-01-09 Sheriff Bot <webkit.review.bot@gmail.com>
29616 Unreviewed, rolling out r75337.
29617 http://trac.webkit.org/changeset/75337
29618 https://bugs.webkit.org/show_bug.cgi?id=52137
29620 It made fast/dom/navigator-detached-no-crash.html crash
29621 (Requested by Ossy on #webkit).
29623 * platform/qt/CookieJarQt.cpp:
29624 (WebCore::cookiesEnabled):
29626 2011-01-09 Mark Rowe <mrowe@apple.com>
29630 * WebCore.xcodeproj/project.pbxproj: Copy SVGResourcesCache.h in to PrivateHeaders
29633 2011-01-09 Dan Bernstein <mitz@apple.com>
29635 Reviewed by Sam Weinig.
29637 <rdar://problem/8765555> WebKit2: Search field focus ring is missing
29639 Provide a focus ring visible rect to AppKit.
29641 * platform/mac/ThemeMac.mm:
29642 (-[WebCoreFlippedView _focusRingVisibleRect]):
29643 (-[WebCoreFlippedView _focusRingClipAncestor]):
29645 2011-01-09 Dirk Schulze <krit@webkit.org>
29647 Reviewed by Rob Buis.
29649 Move MathML renderer to rendering/mathml
29650 https://bugs.webkit.org/show_bug.cgi?id=52131
29652 Move all renderer of MathML to WebCore/rendering/mathml
29654 No change of functionality, no new tests added.
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.
29704 2011-01-08 Simon Fraser <simon.fraser@apple.com>
29706 Reviewed by Alexey Proskuryakov.
29708 HTMLStyleElement.disabled doesn't work (affects jQuery)
29709 https://bugs.webkit.org/show_bug.cgi?id=25287
29711 Fix the disabled property of a HTMLStyleElement to reflect,
29712 and set the disabled state of its style sheet, as required
29715 Based on initial patch by Tarun Nainani.
29717 Test: fast/html/disable-style-element.html
29719 * dom/StyleElement.h:
29720 (WebCore::StyleElement::sheet): Make const.
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).
29729 2011-01-09 Dirk Schulze <krit@webkit.org>
29731 Reviewed by Nikolas Zimmermann.
29733 Rename RenderForeignObject to RenderSVGForeignObject
29734 https://bugs.webkit.org/show_bug.cgi?id=52129
29736 Rename RenderForeignObject to RenderSVGForeignObject to match the naming schema in render/svg.
29738 No change of functionality, no new tests.
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):
29770 2011-01-09 Dirk Schulze <krit@webkit.org>
29772 Reviewed by Nikolas Zimmermann.
29774 Move all SVG renderer to WebCore/rendering/svg
29775 https://bugs.webkit.org/show_bug.cgi?id=52087
29777 No change of functionality. Just moved all SVG renderer to WebCore/rendering/svg.
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.
29915 2011-01-09 Xianzhu Wang <phnixwxz@gmail.com>
29917 Reviewed by Darin Fisher.
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
29923 * loader/FrameLoader.cpp:
29924 (WebCore::createWindow):
29925 * page/ContextMenuController.cpp:
29926 (WebCore::openNewWindow):
29927 * page/DOMWindow.cpp:
29928 (WebCore::DOMWindow::createWindow):
29930 2011-01-09 Dirk Schulze <krit@webkit.org>
29932 Unreviewed sort of Xcode project file.
29934 * WebCore.xcodeproj/project.pbxproj:
29936 2011-01-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
29938 Reviewed by Martin Robinson.
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
29943 * platform/FileSystem.h:
29944 * platform/gtk/FileSystemGtk.cpp: Implement function to get a binary's path
29945 (WebCore::applicationDirectoryPath):
29947 2011-01-08 Martin Robinson <mrobinson@igalia.com>
29949 GTK+ Build fix. Add missing headers to the source list, fixing make dist.
29951 No new tests. This is only a build change.
29953 * GNUmakefile.am: Add missing headers to the source list.
29955 2011-01-08 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
29957 Reviewed by Martin Robinson.
29959 [GTK] WebKit2 GNUmakefile is out of date from trunk
29960 https://bugs.webkit.org/show_bug.cgi?id=51883
29962 Added stubs for WebKit2 compilation.
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):
29973 2011-01-08 Helder Correia <helder@sencha.com>
29975 Reviewed by Simon Fraser.
29977 Shadow is not drawn when filling a path with a gradient
29978 https://bugs.webkit.org/show_bug.cgi?id=51982
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.
29985 Test: fast/canvas/canvas-fillPath-gradient-shadow.html
29987 * platform/graphics/cg/GraphicsContextCG.cpp:
29988 (WebCore::GraphicsContext::fillPath):
29990 2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com>
29992 Reviewed by Kenneth Rohde Christiansen.
29994 [Qt] PasteboardQt.cpp has coding-style errors
29995 https://bugs.webkit.org/show_bug.cgi?id=39771
29997 Update the code to follow the coding style.
29999 * platform/qt/PasteboardQt.cpp:
30000 (WebCore::Pasteboard::writeSelection):
30001 (WebCore::Pasteboard::plainText):
30002 (WebCore::Pasteboard::writePlainText):
30003 (WebCore::Pasteboard::writeURL):
30005 2011-01-08 Tony Gentilcore <tonyg@chromium.org>
30007 Reviewed by Eric Seidel.
30009 HTML5 Conformance Test failure: approved/xhtml5/html_style_in_comment.xhtml
30010 https://bugs.webkit.org/show_bug.cgi?id=48593
30012 XHTML <style> blocks, unlike HTML <style> blocks, should respect HTML
30015 Test: fast/parser/xhtml-html-comment-in-style-block.xhtml
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.
30021 2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com>
30023 Reviewed by Kenneth Rohde Christiansen.
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
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.
30031 * platform/qt/CookieJarQt.cpp:
30032 (WebCore::cookiesEnabled):
30034 2011-01-08 Charlie Reis <creis@chromium.org>
30036 Reviewed by Mihai Parparita.
30038 Canceled frame loads can corrupt back forward list
30039 https://bugs.webkit.org/show_bug.cgi?id=50254
30041 Avoids changing m_currentItem until the navigation commits.
30042 Also resets top-level history items if a subframe navigation is canceled.
30044 * WebCore/loader/FrameLoader.cpp:
30045 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
30046 * WebCore/loader/HistoryController.cpp:
30047 * WebCore/loader/HistoryController.h:
30049 2011-01-08 Chang Shu <chang.shu@nokia.com>
30051 Reviewed by Kenneth Rohde Christiansen.
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
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):
30065 2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com>
30067 Reviewed by Kenneth Rohde Christiansen.
30069 [Qt] CookieJarQt.cpp has coding-style errors
30070 https://bugs.webkit.org/show_bug.cgi?id=39778
30072 Improve the coding style of CookieJarQt.cpp.
30074 * platform/qt/CookieJarQt.cpp:
30075 (WebCore::networkAccessManager):
30076 (WebCore::cookiesEnabled):
30078 2011-01-08 Jeff Miller <jeffm@apple.com>
30080 Rubber-stamped by Dan Bernstein.
30082 Fix QTMovieWin.vcproj to account for moving WebCore to Source\WebCore
30083 https://bugs.webkit.org/show_bug.cgi?id=52114
30085 * WebCore.vcproj/QTMovieWin.vcproj:
30086 Add an extra .. to some InheritedPropertySheets entries since WebCore is now one level deeper.
30088 2011-01-08 Dirk Schulze <krit@webkit.org>
30090 Reviewed by Mihai Parparita.
30092 SVG rendering clean up according to the webkit style rules 2
30093 https://bugs.webkit.org/show_bug.cgi?id=52112
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.
30098 No change of functionality. No test added.
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:
30123 2011-01-08 Dirk Schulze <krit@webkit.org>
30125 Reviewed by Mihai Parparita.
30127 SVG rendering clean up according to the webkit style rules
30128 https://bugs.webkit.org/show_bug.cgi?id=52107
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.
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:
30207 2011-01-07 Adam Barth <abarth@webkit.org>
30209 Rubber-stamped by Eric Seidel.
30211 Move WebCore to Source
30212 https://bugs.webkit.org/show_bug.cgi?id=52050
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.
30217 * Android.derived.jscbindings.mk:
30218 * Android.jscbindings.mk:
30219 * Android.v8bindings.mk:
30221 * WebCore.gyp/WebCore.gyp:
30224 * WebCore.vcproj/WebCore.vcproj:
30225 * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
30226 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
30228 2011-01-07 Justin Garcia <justin.garcia@apple.com>
30230 Reviewed by Dan Bernstein.
30232 https://bugs.webkit.org/show_bug.cgi?id=51851
30233 Implement RenderSVGInlineText::localCaretRect()
30235 * rendering/svg/RenderSVGInlineText.cpp:
30236 (WebCore::RenderSVGInlineText::localCaretRect): Implemented.
30238 2011-01-07 Ryosuke Niwa <rniwa@webkit.org>
30240 Unreviewed; Added the missing null pointer check for r75293.
30242 * dom/Document.cpp:
30243 (WebCore::Document::adoptNode):
30245 2011-01-07 Stephanie Lewis <slewis@apple.com>
30247 Reviewed by Geoff Garen.
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
30252 Add a sampler for printing off process memory statistics.
30257 2011-01-06 Ryosuke Niwa <rniwa@webkit.org>
30259 Reviewed by Adam Barth.
30261 onbeforeunload is broken for framesets
30262 https://bugs.webkit.org/show_bug.cgi?id=19418
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.
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
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.
30276 Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to
30277 NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose.
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
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.
30310 2011-01-07 Martin Robinson <mrobinson@igalia.com>
30312 Build fix for GTK+.
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).
30319 2011-01-07 Ryosuke Niwa <rniwa@webkit.org>
30321 Unreviewed; speculative fix for Windows debug build.
30323 * bindings/js/JSBindingsAllInOne.cpp:
30325 2011-01-07 Ryosuke Niwa <rniwa@webkit.org>
30327 Reviewed by Ojan Vafai.
30329 Adopting an iframe to a child frame results in stack overflow
30330 https://bugs.webkit.org/show_bug.cgi?id=52018
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.
30335 Test: fast/html/adopt-parent-frame.html
30337 * dom/Document.cpp:
30338 (WebCore::Document::adoptNode):
30340 2011-01-07 Mihai Parparita <mihaip@chromium.org>
30342 Reviewed by Darin Fisher.
30344 [Chromium] Scrollbar code cleanup
30345 https://bugs.webkit.org/show_bug.cgi?id=52073
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
30354 No new tests (compiles).
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):
30364 2011-01-07 Jer Noble <jer.noble@apple.com>
30366 GTK Linux build fix: isDocumentRunningFullScreenAnimation should
30367 be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING)
30369 * page/FrameView.cpp:
30371 2011-01-07 Rafael Weinstein <rafaelw@chromium.org>
30373 Reviewed by Eric Seidel.
30375 Cleanup: Fold shadowParentNode into shadowHost
30376 https://bugs.webkit.org/show_bug.cgi?id=51059
30378 Replaces all uses of shadowParentNode.
30380 No new tests because no behavior has changed.
30382 * css/CSSStyleSelector.cpp:
30383 (WebCore::CSSStyleSelector::initForStyleResolve):
30385 (WebCore::Node::shadowHost):
30386 (WebCore::Node::shadowAncestorNode):
30387 (WebCore::eventTargetRespectingSVGTargetRules):
30388 (WebCore::Node::getEventAncestors):
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):
30405 2011-01-07 Chris Marrin <cmarrin@apple.com>
30409 I mistakenly included a Windows only file in a
30410 cross platform file.
30412 * platform/graphics/ca/GraphicsLayerCA.cpp:
30414 2011-01-07 Chris Marrin <cmarrin@apple.com>
30418 Get rid of include of <QuartzCore/QuartzCore.h>
30420 * platform/graphics/ca/GraphicsLayerCA.cpp:
30422 2011-01-07 Jer Noble <jer.noble@apple.com>
30424 Further build fixes. Add a ENABLE(FULLSCREEN_API) guard around
30425 the implementation of requiresCompositingfForFullScreen.
30427 * rendering/RenderLayerCompositor.cpp:
30428 (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
30430 2011-01-07 Jer Noble <jer.noble@apple.com>
30432 No review, build fix only. Removed parameter who was causing
30433 a warning in Release builds.
30435 * dom/Document.cpp:
30436 (WebCore::Document::webkitDidExitFullScreenForElement):
30438 2011-01-07 Chris Marrin <cmarrin@apple.com>
30442 Use new wkCACFLayerGetContextUserData function
30444 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
30446 2011-01-07 James Robinson <jamesr@chromium.org>
30448 Fix compile bustage due to bad merge in 75276.
30450 * page/animation/AnimationController.cpp:
30451 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30453 2010-12-17 Jer Noble <jer@kokode.apple.com>
30455 Reviewed by Simon Fraser.
30457 Implement WebKit Full Screen support.
30458 https://bugs.webkit.org/show_bug.cgi?id=49481
30459 rdar://problem/8247444
30461 Mark for export all those WebCore functions needed by WebFullscreenController.
30465 2010-12-17 Jer Noble <jer@kokode.apple.com>
30467 Reviewed by Simon Fraser.
30469 Implement WebKit Full Screen support.
30470 https://bugs.webkit.org/show_bug.cgi?id=49481
30471 rdar://problem/8247444
30473 screenRect is useful for more than just HTMLMediaElements. Promote it into
30476 * dom/Element.cpp: Moved into Element from HTMLMediaElement.
30477 * dom/Element.h: Ditto.
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.
30483 2010-12-17 Jer Noble <jer@kokode.apple.com>
30485 Reviewed by Simon Fraser.
30487 Implement WebKit Full Screen support.
30488 https://bugs.webkit.org/show_bug.cgi?id=49481
30489 rdar://problem/8247444
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.
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:
30516 2010-12-17 Jer Noble <jer@kokode.apple.com>
30518 Reviewed by Simon Fraser.
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.
30523 https://bugs.webkit.org/show_bug.cgi?id=49481
30524 rdar://problem/8247444
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.
30545 (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen.
30546 (WebCore::Document::fullScreenRenderer): Accessor.
30547 * dom/Document.idl:
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.
30556 2010-12-17 Jer Noble <jer@kokode.apple.com>
30558 Reviewed by Simon Fraser.
30560 Implement WebKit Full Screen support.
30561 https://bugs.webkit.org/show_bug.cgi?id=49481
30562 rdar://problem/8247444
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
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.
30581 2011-01-07 James Robinson <jamesr@chromium.org>
30583 Revert "Implement mozilla's animationTime property"
30584 https://bugs.webkit.org/show_bug.cgi?id=51952
30586 This approach isn't quite right.
30594 * WebCore.vcproj/WebCore.vcproj:
30595 * WebCore.xcodeproj/project.pbxproj:
30596 * page/DOMWindow.cpp:
30597 * page/DOMWindow.h:
30598 * page/DOMWindow.idl:
30602 (WebCore::Page::Page):
30604 * page/animation/AnimationController.cpp:
30605 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
30606 * page/animation/AnimationTimeController.cpp: Removed.
30607 * page/animation/AnimationTimeController.h: Removed.
30609 2011-01-07 Jan Erik Hanssen <jhanssen@sencha.com>
30611 Reviewed by Andreas Kling.
30613 [Qt] Black text on black buttons using a dark theme
30614 https://bugs.webkit.org/show_bug.cgi?id=35024
30616 Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style.
30618 * platform/qt/RenderThemeQt.cpp:
30619 (WebCore::RenderThemeQt::systemColor):
30620 * platform/qt/RenderThemeQt.h:
30622 2011-01-05 Adrienne Walker <enne@google.com>
30624 Reviewed by Kenneth Russell.
30626 Add WEBKIT_lose_context WebGL extension.
30627 https://bugs.webkit.org/show_bug.cgi?id=51492
30629 Tests: fast/canvas/webgl/context-lost-restored.html
30630 fast/canvas/webgl/context-lost.html
30633 * DerivedSources.make:
30638 * WebCore.xcodeproj/project.pbxproj:
30639 * bindings/js/JSWebGLRenderingContextCustom.cpp:
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.
30664 2011-01-07 Chris Marrin <cmarrin@apple.com>
30668 Build fix for Chromium. Missing include.
30670 * page/animation/AnimationBase.cpp:
30672 2011-01-07 Chris Marrin <cmarrin@apple.com>
30678 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
30680 2011-01-06 Gavin Barraclough <barraclough@apple.com>
30682 Reviewed by Geoff Garen.
30684 Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
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:
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.
30700 Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
30703 * bindings/js/DOMWrapperWorld.cpp:
30704 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
30705 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
30706 (WebCore::DOMWrapperWorld::clearWrappers):
30707 * bindings/js/DOMWrapperWorld.h:
30709 2011-01-07 Chris Marrin <cmarrin@apple.com>
30711 Rubber-stamped by Simon Fraser.
30713 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
30714 https://bugs.webkit.org/show_bug.cgi?id=49388
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:
30725 https://bugs.webkit.org/show_bug.cgi?id=52037
30727 This also includes the Mac side changes backed out in
30728 http://trac.webkit.org/changeset/75227.
30730 * WebCore.vcproj/WebCore.vcproj:
30731 * WebCore.vcproj/WebCoreCommon.vsprops:
30732 * WebCore.vcproj/copyForwardingHeaders.cmd:
30733 * WebCore.xcodeproj/project.pbxproj:
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):
30845 2011-01-07 Nate Chapin <japhet@chromium.org>
30847 Reviewed by Darin Fisher.
30849 Let PingLoader send cookies if FrameLoaderClient permits it.
30850 https://bugs.webkit.org/show_bug.cgi?id=51898
30852 Test: http/tests/navigation/ping-cookie.html
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):
30861 2011-01-07 Xan Lopez <xlopez@igalia.com>
30863 Unreviewed, rolling out r75256.
30864 http://trac.webkit.org/changeset/75256
30865 https://bugs.webkit.org/show_bug.cgi?id=50869
30867 Broke GTK+ canvas tests
30869 * platform/graphics/cairo/PathCairo.cpp:
30870 (WebCore::Path::addArc):
30872 2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
30874 Reviewed by Martin Robinson.
30876 [GTK] Port scrollbar painting to GtkStyleContext
30877 https://bugs.webkit.org/show_bug.cgi?id=52051
30879 Use GtkStyleContext API to paint scrollbars when building with
30882 No new tests. This should not change functionality.
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):
30901 2011-01-07 Dan Bernstein <mitz@apple.com>
30903 Reviewed by Darin Adler.
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
30908 Test: fast/text/emphasis-avoid-ruby.html
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
30921 * rendering/InlineTextBox.h:
30923 2011-01-07 Alejandro G. Castro <alex@igalia.com>
30925 Reviewed by Martin Robinson.
30927 [cairo] Rendering a lot of arcs on top of each other causes time
30929 https://bugs.webkit.org/show_bug.cgi?id=50869
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.
30935 * platform/graphics/cairo/PathCairo.cpp:
30936 (WebCore::Path::addArc):
30938 2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
30940 Reviewed by Martin Robinson.
30942 [GTK] Port buttons painting to GtkStyleContext
30943 https://bugs.webkit.org/show_bug.cgi?id=51812
30945 Use GtkStyleContext API to paint buttons when building with GTK+
30948 No new tests. This should not change functionality.
30950 * platform/gtk/RenderThemeGtk3.cpp:
30951 (WebCore::adjustRectForFocus):
30952 (WebCore::RenderThemeGtk::adjustRepaintRect):
30953 (WebCore::RenderThemeGtk::paintButton):
30955 2011-01-07 Zhenyao Mo <zmo@google.com>
30957 Unreviewed, build fix.
30959 * html/canvas/WebGLRenderingContext.cpp:
30960 (WebCore::WebGLRenderingContext::copyTexSubImage2D):
30962 2011-01-06 Zhenyao Mo <zmo@google.com>
30964 Reviewed by Kenneth Russell.
30966 copyTexSubImage2D shouldn't have undefined pixels
30967 https://bugs.webkit.org/show_bug.cgi?id=51559
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:
30979 2011-01-07 Takashi Toyoshima <toyoshim@google.com>
30981 Reviewed by Kenneth Russell.
30983 cleanupAfterGraphicsCall() is never called in
30984 WebGLRenderingContext::checkFramebufferStatus()
30985 https://bugs.webkit.org/show_bug.cgi?id=51668
30987 No new tests. This is a trivial bug.
30989 * html/canvas/WebGLRenderingContext.cpp:
30990 (WebCore::WebGLRenderingContext::checkFramebufferStatus):
30992 2011-01-07 Mario Sanchez Prada <msanchez@igalia.com>
30994 Reviewed by Chris Fleizach.
30996 GTK: AX: atk tests need to be updated after recent changes
30997 https://bugs.webkit.org/show_bug.cgi?id=51932
30999 Make sure we can always get the right accesssible parent for an
31000 AtkObject when traversing the hierarchy bottom up.
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.
31013 2011-01-07 Zhenyao Mo <zmo@google.com>
31015 Unreviewed, Mac 32-bit build fix.
31016 Use float instead of double in GL function arguments to avoid implicit type down casting.
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:
31029 2011-01-07 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com>
31031 Reviewed by Xan Lopez.
31033 [GTK] Port slider painting to GtkStyleContext
31034 https://bugs.webkit.org/show_bug.cgi?id=51874
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.
31040 No new tests. This should not change functionality.
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):
31052 2011-01-07 Benjamin Poulain <benjamin.poulain@nokia.com>
31054 Reviewed by Andreas Kling.
31056 [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile
31057 https://bugs.webkit.org/show_bug.cgi?id=51992
31059 Add the missing header. CString is used in debug by the calls to LOG().
31061 * fileapi/FileReader.cpp:
31063 2011-01-07 Alejandro G. Castro <alex@igalia.com>
31065 Reviewed by Martin Robinson.
31067 Cairo's ContextShadow may mis-render some box shadows
31068 https://bugs.webkit.org/show_bug.cgi?id=51374
31070 The space required for the internal shadow of the corners was not
31071 correctly considered.
31073 * platform/graphics/cairo/ContextShadowCairo.cpp:
31074 (WebCore::ContextShadow::drawRectShadow):
31076 2011-01-06 Adam Barth <abarth@webkit.org>
31078 Reviewed by Darin Adler.
31080 REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt()
31081 https://bugs.webkit.org/show_bug.cgi?id=52013
31083 When excluding line numbers for composite strings, we forgot to exclude
31084 the line number for the current string!
31086 Test: fast/parser/line-number-composite-segmented-string.html
31088 * platform/text/SegmentedString.cpp:
31089 (WebCore::SegmentedString::setExcludeLineNumbers):
31091 2011-01-06 Chris Marrin <cmarrin@apple.com>
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.
31099 2011-01-06 Jenn Braithwaite <jennb@chromium.org>
31101 Reviewed by Dmitry Titov.
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
31106 Test: fast/frames/iframe-reparenting-plugins.html
31109 (WebCore::Frame::~Frame):
31110 (WebCore::Frame::addObserver):
31111 (WebCore::Frame::removeObserver):
31113 (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
31114 Added observer to be notified when frame is destroyed.
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.
31160 2011-01-05 Zhenyao Mo <zmo@google.com>
31162 Reviewed by Kenneth Russell.
31164 Define GC3D types to match GL types and use them in GraphicsContext3D
31165 https://bugs.webkit.org/show_bug.cgi?id=45557
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):
31470 2011-01-06 Martin Robinson <mrobinson@igalia.com>
31472 Reviewed by Eric Seidel.
31474 [GTK] Initial build support for WebGL
31475 https://bugs.webkit.org/show_bug.cgi?id=51716
31477 Add initial build support for WebGL and insert bits of implementation
31478 necessary for clean compilation into GraphicsContext3D.
31480 No new tests. This is just a build change.
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.
31488 2011-01-06 Helder Correia <helder@sencha.com>
31490 Reviewed by Kenneth Rohde Christiansen.
31492 [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow
31493 https://bugs.webkit.org/show_bug.cgi?id=52014
31495 The function is only used by RenderObject to draw box sides.
31496 The shadow branch is never used and thus can be removed.
31498 No new tests are necessary.
31500 * platform/graphics/qt/GraphicsContextQt.cpp:
31501 (WebCore::GraphicsContext::drawConvexPolygon):
31503 2011-01-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
31505 Reviewed by Kenneth Rohde Christiansen.
31507 [Qt] Make sure touch is disabled in the minimal configuration
31508 https://bugs.webkit.org/show_bug.cgi?id=51316
31510 No new tests as there is no new functionality.
31514 2011-01-06 Martin Robinson <mrobinson@igalia.com>
31516 Reviewed by Eric Seidel.
31518 [GTK] Freetype backend does not support WOFF
31519 https://bugs.webkit.org/show_bug.cgi?id=51904
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.
31527 2011-01-06 James Simonsen <simonjam@chromium.org>
31529 Reviewed by Darin Fisher.
31531 [Web Timing] Remove vendor prefix
31532 https://bugs.webkit.org/show_bug.cgi?id=48922
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.
31539 2011-01-06 Chris Marrin <cmarrin@apple.com>
31541 Reviewed by Simon Fraser.
31543 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
31544 https://bugs.webkit.org/show_bug.cgi?id=49388
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.
31552 This change has little impact on the Mac side but makes the Windows
31553 interface simpler, especially when handling video layers on Windows.
31555 * WebCore.xcodeproj/project.pbxproj:
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):
31615 2011-01-06 Tony Gentilcore <tonyg@chromium.org>
31617 Reviewed by Eric Seidel.
31619 Allow framesets after hidden inputs
31620 https://bugs.webkit.org/show_bug.cgi?id=51998
31622 This implements the HTML5 spec update in response to:
31623 http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156
31625 * html/parser/HTMLTreeBuilder.cpp:
31626 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
31628 2010-12-29 Zhenyao Mo <zmo@google.com>
31630 Reviewed by Kenneth Russell.
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
31635 * html/canvas/WebGLRenderingContext.cpp:
31636 (WebCore::WebGLRenderingContext::vertexAttribPointer):
31638 2011-01-06 Patrick Gansterer <paroga@webkit.org>
31640 Reviewed by Eric Seidel.
31642 [WINCE] Remove JSC::g_stackBase
31643 https://bugs.webkit.org/show_bug.cgi?id=51779
31645 * platform/wince/SharedTimerWinCE.cpp:
31646 (WebCore::TimerWindowWndProc):
31648 2011-01-06 Robert Hogan <robert@webkit.org>
31650 Reviewed by Antonio Gomes.
31652 [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge
31654 This allows LayoutTestController to pass WebCore::Node back to
31657 Also amend nodesFromRect-links-and-text.html and
31658 nodesFromRect-inner-documents.html so that they do not produce
31659 platform-specific results.
31662 fast/dom/nodesFromRect-links-and-text.html
31663 fast/dom/nodesFromRect-inner-documents.html
31665 https://bugs.webkit.org/show_bug.cgi?id=48957
31667 * bridge/qt/qt_runtime.cpp:
31668 (JSC::Bindings::QtDRTNodeRuntime::create):
31669 (JSC::Bindings::QtDRTNodeRuntime::get):
31670 (JSC::Bindings::convertValueToQVariant):
31671 (JSC::Bindings::convertQVariantToValue):
31673 2011-01-06 Joone Hur <joone.hur@collabora.co.uk>
31675 Reviewed by Eric Seidel.
31677 WML Parser should treat line/column number in a consistent way
31678 https://bugs.webkit.org/show_bug.cgi?id=51601
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.
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.
31693 2011-01-05 Adam Roben <aroben@apple.com>
31695 Remove some dead code from WKCACFLayerRenderer
31697 Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and
31698 redundant code for reacting to changes to the layer tree
31700 Reviewed by Sam Weinig.
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.
31707 2011-01-06 Chris Fleizach <cfleizach@apple.com>
31709 Reviewed by Beth Dakin.
31711 AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded
31712 https://bugs.webkit.org/show_bug.cgi?id=51995
31714 Test: platform/mac/accessibility/aria-expanded-standard-items.html
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]):
31726 2010-12-28 Zhenyao Mo <zmo@google.com>
31728 Reviewed by Kenneth Russell.
31730 Must generate INVALID_VALUE errors for strings containing out-of-range characters
31731 https://bugs.webkit.org/show_bug.cgi?id=50929
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().
31741 2011-01-06 Yong Li <yoli@rim.com>
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
31747 Test case: WebCore/manual-tests/bugzilla-48077.html.
31749 2011-01-06 James Robinson <jamesr@chromium.org>
31751 Reviewed by Simon Fraser.
31753 Implement mozilla's animationTime property
31754 https://bugs.webkit.org/show_bug.cgi?id=51952
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).
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.
31769 Test: fast/animation/animation-time.html
31772 * page/DOMWindow.cpp:
31773 (WebCore::DOMWindow::webkitAnimationTime):
31774 * page/DOMWindow.h:
31775 * page/DOMWindow.idl:
31777 (WebCore::Frame::currentAnimationTime):
31780 (WebCore::Page::Page):
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):
31794 2011-01-06 Abhishek Arya <inferno@chromium.org>
31796 Reviewed by Simon Fraser.
31798 Null out the parent stylesheet pointer when a css rule is removed.
31799 https://bugs.webkit.org/show_bug.cgi?id=51993
31801 Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html
31802 fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html
31804 * css/CSSRuleList.cpp:
31805 (WebCore::CSSRuleList::deleteRule):
31806 * css/CSSStyleSheet.cpp:
31807 (WebCore::CSSStyleSheet::deleteRule):
31809 2011-01-04 Adrienne Walker <enne@google.com>
31811 Reviewed by Kenneth Russell.
31813 NaN in a TypedArray should be converted to zero only for Float32Array.
31814 https://bugs.webkit.org/show_bug.cgi?id=46990
31816 Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html
31818 * bindings/js/JSArrayBufferViewHelper.h:
31819 (WebCore::convertArrayValue):
31820 (WebCore::constructArrayBufferView):
31821 * html/canvas/Float32Array.h:
31822 (WebCore::Float32Array::set):
31823 (WebCore::Float32Array::item):
31825 2011-01-06 Patrick Gansterer <paroga@webkit.org>
31827 Unreviewed Windows build fix for r75161.
31829 * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added.
31831 2011-01-06 Patrick Gansterer <paroga@webkit.org>
31833 Unreviewed WinCE build fix for r75139.
31835 Try to remove include after adding forward-declaration in r75145.
31837 * platform/graphics/Gradient.h:
31839 2011-01-06 Renata Hodovan <reni@webkit.org>
31841 Reviewed by Andreas Kling.
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.
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.
31852 It's just a refactoring, so we don't need any new tests.
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):
31874 2011-01-06 Yael Aharon <yael.aharon@nokia.com>
31876 Reviewed by Darin Adler.
31878 document.querySelector(':nth-child(foo)') should throw a syntax error
31879 https://bugs.webkit.org/show_bug.cgi?id=51231
31882 CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
31883 https://bugs.webkit.org/show_bug.cgi?id=21815
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.
31888 Tests: fast/css/css3-nth-tokens-script.html
31889 fast/css/css3-nth-tokens-style.html
31891 * css/CSSGrammar.y:
31892 * css/CSSParser.cpp:
31893 (WebCore::isValidNthToken):
31896 2011-01-06 Jan Erik Hanssen <jhanssen@sencha.com>
31898 Reviewed by Andreas Kling.
31900 [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded()
31901 https://bugs.webkit.org/show_bug.cgi?id=51453
31903 Check if m_reply is NULL before accessing.
31905 * manual-tests/load-deferrer-resume-crash.html: Added.
31906 * platform/network/qt/QNetworkReplyHandler.cpp:
31907 (WebCore::QNetworkReplyHandler::setLoadMode):
31908 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
31910 2011-01-06 Andras Becsi <abecsi@webkit.org>
31912 Reviewed by Csaba Osztrogonác.
31914 [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled.
31916 No new tests needed.
31918 * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures.
31920 2011-01-06 Helder Correia <helder@sencha.com>
31922 Reviewed by Kenneth Rohde Christiansen.
31924 [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code
31925 https://bugs.webkit.org/show_bug.cgi?id=51985
31927 r75139 introduced GraphicsContext::hasShadow(). This can now simplify
31928 and unify some code in the Qt and GTK ports.
31930 No new tests necessary for this refactoring.
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):
31943 2011-01-05 Darin Adler <darin@apple.com>
31945 Fix Chromium Mac build.
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.
31953 2011-01-05 Xianzhu Wang <wangxianzhu@google.com>
31955 Reviewed by David Levin.
31957 Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp)
31958 https://bugs.webkit.org/show_bug.cgi?id=51736
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.
31965 * platform/graphics/skia/FontCustomPlatformData.cpp:
31966 (WebCore::RemoteFontStream::read):
31968 2011-01-05 Helder Correia <helder@sencha.com>
31970 Reviewed by Simon Fraser.
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
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.
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
31985 Test: fast/canvas/canvas-fillRect-gradient-shadow.html
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):
31993 2011-01-05 Steve Falkenburg <sfalken@apple.com>
31995 Reviewed by Darin Adler.
31997 Debug and Release builds on Windows clobber each other
31998 https://bugs.webkit.org/show_bug.cgi?id=49185
32000 Changes the structure of WebKitBuild build products directory so we
32001 completely separate each build configuration into independent directories.
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.
32007 Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
32008 defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
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:
32024 2011-01-05 Simon Fraser <simon.fraser@apple.com>
32026 Reviewed by Ariya Hidayat.
32028 Directly composited SVG images fail to render
32029 https://bugs.webkit.org/show_bug.cgi?id=51975
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.
32034 However, CachedImage::image() returns the nullImage() if m_image is null,
32035 which is a BitmapImage, confusing this test.
32037 Test: compositing/images/direct-svg-image.html
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
32045 * rendering/RenderLayerBacking.cpp:
32046 (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
32047 so that we don't test the nullImage.
32049 2011-01-05 Simon Fraser <simon.fraser@apple.com>
32051 Reviewed by Darin Adler.
32053 Fix percentage values in radius of radial gradients
32054 https://bugs.webkit.org/show_bug.cgi?id=51979
32056 Handle percentage values for the ending size of radial gradients.
32058 Test: fast/gradients/css3-radial-gradients3.html
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.
32067 2011-01-05 James Simonsen <simonjam@chromium.org>
32069 Reviewed by Adam Barth.
32071 [Web Timing] Zero out some values on cross-origin redirects
32072 https://bugs.webkit.org/show_bug.cgi?id=49294
32074 Tests: http/tests/misc/webtiming-cross-origin-redirect.php
32075 http/tests/misc/webtiming-origins.html
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.
32096 2011-01-05 Helder Correia <helder@sencha.com>
32098 Reviewed by Ariya Hidayat.
32100 [Qt] Default focus ring is too wide
32101 https://bugs.webkit.org/show_bug.cgi?id=51854
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.
32106 * platform/graphics/qt/GraphicsContextQt.cpp:
32107 (WebCore::drawFocusRingForPath):
32108 * platform/qt/RenderThemeQt.cpp:
32109 (WebCore::RenderThemeQt::platformFocusRingColor):
32110 * platform/qt/RenderThemeQt.h:
32112 2011-01-05 James Simonsen <simonjam@chromium.org>
32114 Reviewed by Darin Fisher.
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
32119 Test: http/tests/misc/webtiming-slow-load.php
32121 * page/PerformanceTiming.cpp:
32122 (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete.
32123 (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound.
32125 2011-01-05 Chris Rogers <crogers@google.com>
32127 Reviewed by Darin Fisher.
32129 Add WebKitClient::createAudioDevice() for Chromium port of web audio API
32130 https://bugs.webkit.org/show_bug.cgi?id=51424
32132 No new tests since audio API is not yet implemented.
32134 * WebCore.gyp/WebCore.gyp:
32137 2011-01-05 Anders Carlsson <andersca@apple.com>
32143 2011-01-05 Anders Carlsson <andersca@apple.com>
32145 Attempt to fix Leopard build.
32149 2011-01-05 Evan Martin <evan@chromium.org>
32151 Reviewed by Tony Chang.
32153 [chromium] refactor complex text on Linux
32154 https://bugs.webkit.org/show_bug.cgi?id=51956
32156 Pull out TextRunWalker from FontLinux.cpp. Put it in its own file.
32157 Rename it to ComplexTextController, to match platform/graphics/mac
32160 No tests because the change is just renaming a class.
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):
32204 2011-01-05 Pratik Solanki <psolanki@apple.com>
32206 Reviewed by Darin Adler.
32208 Merge cf and mac header files with same name
32209 https://bugs.webkit.org/show_bug.cgi?id=51916
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.
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.
32229 2011-01-05 Anders Carlsson <andersca@apple.com>
32231 Reviewed by Adele Peterson.
32233 Implement word transformation
32234 https://bugs.webkit.org/show_bug.cgi?id=51943
32236 Export Editor functions needed by WebKit2.
32240 2011-01-05 Simon Fraser <simon.fraser@apple.com>
32242 Reviewed by Dave Hyatt.
32244 Implement repeating CSS3 gradients
32245 https://bugs.webkit.org/show_bug.cgi?id=51843
32247 Add support for repeating gradients, via the new gradient functions
32248 -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient.
32250 Tests: fast/gradients/css3-repeating-linear-gradients.html
32251 fast/gradients/css3-repeating-radial-gradients.html
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.
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
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.
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.
32285 2011-01-05 Martin Robinson <mrobinson@igalia.com>
32287 Reviewed by Ariya Hidayat.
32289 ContextShadow::blurLayerImage() not endian-safe
32290 https://bugs.webkit.org/show_bug.cgi?id=51822
32292 Correct the channel map in ContextShadow to reflect the different
32293 ordering of pixels on processors with different endianness.
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
32299 * platform/graphics/ContextShadow.cpp:
32300 (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping
32301 based on machine endianness.
32303 2011-01-05 Mihai Parparita <mihaip@chromium.org>
32305 Reviewed by Nate Chapin.
32307 [Chromium] Crash when drawing PDF plug-in scrollbars
32308 https://bugs.webkit.org/show_bug.cgi?id=51942
32310 Pepper plug-in scrollbars don't have a parent, guard against that before
32311 seeing if the parent is a FrameView.
32313 Not testable via layout tests, verified fix by hand.
32315 * platform/chromium/ScrollbarThemeChromiumMac.mm:
32316 (WebCore::ScrollbarThemeChromiumMac::paint):
32318 2011-01-05 Abhishek Arya <inferno@chromium.org>
32322 Update FIXME comment to sound better. Also initialize the block to fix compile.
32324 * rendering/RenderBlock.cpp:
32325 (WebCore::RenderBlock::removeChild):
32327 2011-01-05 Abhishek Arya <inferno@chromium.org>
32329 Reviewed by Dave Hyatt.
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
32334 Test: fast/block/merge-anonymous-block-remove-child-crash.html
32336 * rendering/RenderBlock.cpp:
32337 (WebCore::RenderBlock::removeChild):
32339 2011-01-05 Ryosuke Niwa <rniwa@webkit.org>
32341 Reviewed by Eric Seidel.
32343 ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle*
32344 https://bugs.webkit.org/show_bug.cgi?id=50641
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.
32351 No new tests are added since this is a refactoring.
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:
32371 2011-01-05 Dan Bernstein <mitz@apple.com>
32373 Reviewed by Darin Adler.
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
32378 This changes the results of existing tests in fast/text.
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
32390 2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
32392 Reviewed by Ariya Hidayat.
32394 [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds
32395 https://bugs.webkit.org/show_bug.cgi?id=51888
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.
32400 No new tests as there is no new functionality.
32404 2011-01-05 Sheriff Bot <webkit.review.bot@gmail.com>
32406 Unreviewed, rolling out r74778.
32407 http://trac.webkit.org/changeset/74778
32408 https://bugs.webkit.org/show_bug.cgi?id=51930
32410 Android and QtWebKit-V8 uses V8DOMWindowShell::setContext.
32411 (Requested by bbandix on #webkit).
32413 * bindings/v8/V8DOMWindowShell.cpp:
32414 (WebCore::V8DOMWindowShell::setContext):
32415 * bindings/v8/V8DOMWindowShell.h:
32417 2011-01-05 Yi Shen <yi.4.shen@nokia.com>
32419 Reviewed by Andreas Kling.
32421 [Qt] Animated GIF images does not animate 10x as expected by default.
32422 https://bugs.webkit.org/show_bug.cgi?id=36818
32424 Add a test animated GIF which should be displayed 2 times and stop.
32426 * manual-tests/animated-gif-looping.html:
32427 * manual-tests/resources/animated-2x.gif: Added.
32429 2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
32431 Reviewed by Martin Robinson.
32433 [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3
32434 https://bugs.webkit.org/show_bug.cgi?id=51923
32436 Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and
32437 ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3.
32439 No new tests. This should not change functionality.
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):
32458 2011-01-05 Patrick Gansterer <paroga@webkit.org>
32460 Reviewed by Andreas Kling.
32462 [CMake] Fix the usage of SOURCE_GROUP
32463 https://bugs.webkit.org/show_bug.cgi?id=51739
32467 2011-01-05 Andras Becsi <abecsi@webkit.org>
32469 Reviewed by Csaba Osztrogonác.
32471 [Qt][V8] Fix the build after recent changes.
32473 No new tests needed.
32475 * WebCore.pro: Add missing files, and remove obsolete ones.
32477 2011-01-05 Yong Li <yoli@rim.com>
32479 Reviewed by Adam Barth.
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.
32486 https://bugs.webkit.org/show_bug.cgi?id=48077
32488 Test case: WebCore/manual-tests/bugzilla-48077.html.
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):
32507 2011-01-05 Simon Hausmann <simon.hausmann@nokia.com>
32509 Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva
32511 [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably
32512 https://bugs.webkit.org/show_bug.cgi?id=51926
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:
32520 When the initial query fails, attempt the same query on all source
32521 pads and take the maximum length reported.
32523 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
32524 (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
32526 2011-01-05 Philippe Normand <pnormand@igalia.com>
32528 Rubber-stamped by Eric Seidel.
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
32533 Based on a patch by Mart Raudsepp.
32535 No new tests, build fix only.
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.
32542 2011-01-05 Leo Yang <leo.yang@torchmobile.com.cn>
32544 Reviewed by Dirk Schulze.
32546 Malformed SVG causes crash in updateContainerOffset
32547 https://bugs.webkit.org/show_bug.cgi?id=44610
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>.
32554 Test: svg/custom/recursive-use.svg
32556 * svg/SVGUseElement.cpp:
32557 (WebCore::SVGUseElement::buildInstanceTree):
32558 (WebCore::SVGUseElement::hasCycleUseReferencing):
32559 * svg/SVGUseElement.h:
32561 2011-01-04 Antti Koivisto <antti@apple.com>
32563 Reviewed by Dan Bernstein.
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
32568 Shark says this is a significant performance improvement on some sites with lots of stylesheets.
32570 * dom/Document.cpp:
32571 (WebCore::Document::removePendingSheet):
32573 2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
32575 Reviewed by Martin Robinson.
32577 [GTK] Use GtkStyleContext to get platform colors
32578 https://bugs.webkit.org/show_bug.cgi?id=51830
32580 Use GtkStyleContext API to get platform colors when building with
32583 No new tests. This should not change functionality.
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):
32600 2011-01-05 Carlos Garcia Campos <cgarcia@igalia.com>
32602 Unreviewed. Build fix for GTK when using gtk+-3 after r75009.
32604 * platform/gtk/RenderThemeGtk3.cpp:
32605 (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of
32606 adoptGRefPtr which doesn't exist.
32608 2011-01-05 Alexey Proskuryakov <ap@apple.com>
32610 Reviewed by Sam Weinig.
32612 https://bugs.webkit.org/show_bug.cgi?id=51903
32613 Tell UI process which subframe is largest
32615 * WebCore.exp.in: Exported FrameView::contentsSize().
32617 2011-01-04 Chris Fleizach <cfleizach@apple.com>
32619 Unreviewed. GTK build fix.
32621 WK2: Support Accessibility
32622 https://bugs.webkit.org/show_bug.cgi?id=51859
32624 * page/FrameView.cpp:
32625 (WebCore::FrameView::axObjectCache):
32627 2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com>
32629 Unreviewed, rolling out r74992.
32630 http://trac.webkit.org/changeset/74992
32631 https://bugs.webkit.org/show_bug.cgi?id=51917
32633 Crash in HTMLDocumentParser::suspendScheduledTasks()
32634 (Requested by tkent on #webkit).
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):
32648 2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
32650 Reviewed by Kenneth Rohde Christiansen.
32652 [Qt] [WK2] Add support for non-trivial context menu action
32653 https://bugs.webkit.org/show_bug.cgi?id=51902
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.
32659 * page/ContextMenuController.cpp:
32660 (WebCore::ContextMenuController::contextMenuItemSelected):
32662 2011-01-04 Tony Gentilcore <tonyg@chromium.org>
32664 Reviewed by Ryosuke Niwa.
32666 Avoid manual ref/deref in AsyncScriptRunner by using PendingScript
32667 https://bugs.webkit.org/show_bug.cgi?id=51723
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.
32675 No new tests because no new functionality.
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):
32686 2011-01-04 Jeff Miller <jeffm@apple.com>
32688 Reviewed by Darin Adler.
32690 Member variable and method naming cleanup to be consistent with WebKit2.
32691 https://bugs.webkit.org/show_bug.cgi?id=51228
32693 * page/win/EventHandlerWin.cpp:
32694 (WebCore::EventHandler::eventActivatedView):
32695 Rename activatedWebView() to didActivateWebView().
32697 * platform/PlatformMouseEvent.h:
32698 Rename m_activatedWebView to m_didActivateWebView.
32700 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
32701 Initialize platform-specific member variables in PlatformMouseEvent constructors.
32703 (WebCore::PlatformMouseEvent::didActivateWebView):
32704 Rename activatedWebView() to didActivateWebView().
32706 * platform/win/PlatformMouseEventWin.cpp:
32707 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
32708 Rename m_activatedWebView to m_didActivateWebView.
32710 2011-01-04 Yael Aharon <yael.aharon@nokia.com>
32712 Reviewed by Darin Adler.
32714 CSS3 :nth-child selector and valid whitespace test fails
32715 https://bugs.webkit.org/show_bug.cgi?id=36279
32717 Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs.
32719 Test: fast/css/css3-nth-space.html
32721 * css/tokenizer.flex:
32723 2011-01-04 Chris Fleizach <cfleizach@apple.com>
32725 Unreviewed. Build fix.
32727 WK2: Support Accessibility
32728 https://bugs.webkit.org/show_bug.cgi?id=51859
32730 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
32733 2011-01-04 Cosmin Truta <ctruta@chromium.org>
32735 Reviewed by Eric Seidel.
32737 [chromium] PNG compression settings optimized for speed
32738 https://bugs.webkit.org/show_bug.cgi?id=51719
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").
32746 No change in behaviour, so no new tests.
32748 * platform/image-encoders/skia/PNGImageEncoder.cpp:
32749 (WebCore::PNGImageEncoder::encode):
32751 2011-01-04 Chris Fleizach <cfleizach@apple.com>
32753 Reviewed by Sam Weinig.
32755 WK2: Support Accessibility
32756 https://bugs.webkit.org/show_bug.cgi?id=51859
32758 WK2 doesn't use platform scroll views anymore. Accessibility code
32759 needs to have its own scroll views.
32761 Test: platform/mac/accessibility/webkit-scrollarea.html
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):
32869 2011-01-04 W. James MacLean <wjmaclean@chromium.org>
32871 Reviewed by Kenneth Russell.
32873 [chromium] Add support to compositor to composite to offscreen texture.
32874 https://bugs.webkit.org/show_bug.cgi?id=50833
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.
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):
32891 2011-01-04 Evan Martin <evan@chromium.org>
32893 Reviewed by Tony Chang.
32895 [chromium] depend on harfbuzz explicitly
32896 https://bugs.webkit.org/show_bug.cgi?id=51895
32898 platform/graphics/chromium uses Harfbuzz directly. Rather than
32899 expecting Skia to adjust the include paths, be explicit about
32902 * WebCore.gyp/WebCore.gyp:
32904 2011-01-04 Darin Adler <darin@apple.com>
32906 Reviewed by Brady Eidson.
32908 Add back/forward encoding and decoding to WebKit2
32909 https://bugs.webkit.org/show_bug.cgi?id=51901
32911 * WebCore.exp.in: Export functions used in WebKit2.
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.
32925 2011-01-04 Xiaomei Ji <xji@chromium.org>
32927 Reviewed by Dan Bernstein.
32929 Implement sel.modify('move', 'left'/'right', 'lineBoundary').
32930 https://bugs.webkit.org/show_bug.cgi?id=33435
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:
32942 2011-01-04 Martin Robinson <mrobinson@igalia.com>
32944 Reviewed by Xan Lopez.
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
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.
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.
32961 2011-01-03 Martin Robinson <mrobinson@igalia.com>
32963 Reviewed by Darin Adler.
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
32968 No new tests. This should not introduce any functional changes.
32970 Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed
32971 all references to PlatformRefPtr in Brew code to RefPtr.
32973 2011-01-04 David Kilzer <ddkilzer@apple.com>
32975 <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network
32977 Reviewed by Antti Koivisto.
32979 This is needed to prevent a WebCore/platform policy violation in
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.
32988 2011-01-04 Brady Eidson <beidson@apple.com>
32990 Reviewed by a spell checker.
32992 * storage/StorageMap.h: mesured? Really?
32994 2011-01-04 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com>
32996 Reviewed by Xan Lopez.
32998 [GTK] Port stock icon painting to GtkStyleContext
32999 https://bugs.webkit.org/show_bug.cgi?id=51764
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.
33005 No new tests. This should not change functionality.
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):
33021 2010-12-31 Antti Koivisto <antti@apple.com>
33023 Reviewed by Dave Hyatt.
33025 Scripts should not be executed before preceding stylesheets are loaded
33026 https://bugs.webkit.org/show_bug.cgi?id=8852
33028 Block inline script execution on pending stylesheet loads. This matches
33029 other browsers and HTML5.
33031 Tests: fast/tokenizer/inline-script-stylesheet-write.html
33032 fast/tokenizer/inline-script-stylesheet.html
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):
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).
33047 * html/parser/HTMLScriptRunner.cpp:
33048 (WebCore::HTMLScriptRunner::sourceFromPendingScript):
33049 (WebCore::HTMLScriptRunner::runScript):
33051 2011-01-04 Xianzhu Wang <wangxianzhu@google.com>
33053 Reviewed by Darin Adler.
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
33058 https://bugs.webkit.org/show_bug.cgi?id=51861
33060 By the way, changed other getIntXX() and setIntXX() methods to use
33061 more precise integer types.
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:
33074 2011-01-04 Yong Li <yoli@rim.com>
33076 Reviewed by Adam Barth.
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.
33083 https://bugs.webkit.org/show_bug.cgi?id=48077
33085 Test case: WebCore/manual-tests/bugzilla-48077.html.
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):
33104 2011-01-04 Tony Gentilcore <tonyg@chromium.org>
33106 Unreviewed build fix.
33108 Include glib-object.h for GObject
33109 https://bugs.webkit.org/show_bug.cgi?id=51876
33111 * bindings/gobject/DOMObjectCache.cpp:
33113 2011-01-04 Ryosuke Niwa <rniwa@webkit.org>
33115 Reviewed by Dan Bernstein.
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
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.
33123 Test: editing/selection/caret-bidi-first-and-last-letters.html
33125 * rendering/InlineTextBox.cpp:
33126 (WebCore::InlineTextBox::offsetForPosition):
33128 2010-12-29 Tony Gentilcore <tonyg@chromium.org>
33130 Reviewed by Darin Adler.
33132 Remove 2 unnecessary includes from Document.h
33133 https://bugs.webkit.org/show_bug.cgi?id=51727
33135 No new tests because no changed functionality.
33137 * dom/Document.cpp:
33139 * editing/Editor.cpp:
33140 * editing/SpellChecker.h:
33141 * editing/SplitTextNodeCommand.cpp:
33142 * editing/TextCheckingHelper.cpp:
33143 * page/FrameView.cpp:
33145 * rendering/HitTestResult.cpp:
33146 * rendering/InlineTextBox.cpp:
33147 * rendering/InlineTextBox.h:
33148 * rendering/svg/SVGInlineFlowBox.cpp:
33150 2011-01-04 Patrick Gansterer <paroga@webkit.org>
33152 Unreviewed WinCE build fix.
33154 * CMakeListsWinCE.txt: Added missing include directories, files and libraries.
33156 2011-01-04 Yi Shen <yi.4.shen@nokia.com>
33158 Reviewed by Simon Hausmann.
33160 Provide an interface to require using fullscreen mediaplayer
33161 https://bugs.webkit.org/show_bug.cgi?id=51133
33163 Only video should be displayed in fullscreen when
33164 requiresFullscreenForVideoPlayback is specified.
33166 No new tests because no client implements requiresFullscreenForVideoPlayback yet.
33168 * html/HTMLMediaElement.cpp:
33169 (WebCore::HTMLMediaElement::updatePlayState):
33171 2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
33173 Reviewed by Kenneth Rohde Christiansen.
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
33178 Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the
33179 platform independent menu informations.
33181 * platform/qt/ContextMenuQt.cpp:
33182 (WebCore::contextMenuItemVector):
33184 2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com>
33186 Unreviewed, rolling out r74960.
33187 http://trac.webkit.org/changeset/74960
33188 https://bugs.webkit.org/show_bug.cgi?id=51868
33190 Rollout since we hit an assert after this patch. (Requested by
33193 * svg/SVGUseElement.cpp:
33194 (WebCore::SVGUseElement::buildInstanceTree):
33196 2011-01-04 Sheriff Bot <webkit.review.bot@gmail.com>
33198 Unreviewed, rolling out r74961.
33199 http://trac.webkit.org/changeset/74961
33200 https://bugs.webkit.org/show_bug.cgi?id=51867
33202 breaks 32/64-bits debug bots build (Requested by philn-tp on
33205 * platform/graphics/gstreamer/GStreamerGWorld.cpp:
33206 (WebCore::GStreamerGWorld::setWindowOverlay):
33208 2011-01-03 Philippe Normand <pnormand@igalia.com>
33210 Rubber-stamped by Eric Seidel.
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
33215 Based on a patch by Mart Raudsepp.
33217 No new tests, build fix only.
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.
33224 2011-01-04 Leo Yang <leo.yang@torchmobile.com.cn>
33226 Reviewed by Dirk Schulze.
33228 Malformed SVG causes crash in updateContainerOffset
33229 https://bugs.webkit.org/show_bug.cgi?id=44610
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>.
33236 Test: svg/custom/recursive-use.svg
33238 * svg/SVGUseElement.cpp:
33239 (WebCore::SVGUseElement::buildInstanceTree):
33241 2011-01-04 Kent Tamura <tkent@chromium.org>
33243 Unreviewed, build fix.
33245 Try to fix Clang build.
33247 * css/CSSParser.cpp:
33248 (WebCore::valueFromSideKeyword):
33249 (WebCore::CSSParser::parseLinearGradient):
33251 2011-01-03 Julie-Jeongeun-Kim <Jeongeun.Kim@obigo.com>
33253 Reviewed by Darin Adler.
33255 HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml
33256 https://bugs.webkit.org/show_bug.cgi?id=48596
33258 border attribute was not parsed in HTMLObjectElement.
33259 I added code for it as HTMLImageElement handled.
33261 new test:fast/html/object-border.html
33263 * html/HTMLObjectElement.cpp:
33264 (WebCore::HTMLObjectElement::parseMappedAttribute):
33266 2011-01-03 Darin Adler <darin@apple.com>
33268 Try to fix Chromium build.
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.
33275 2011-01-03 Darin Adler <darin@apple.com>
33277 Try to fix Leopard build.
33279 * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the
33282 2011-01-03 Abhishek Arya <inferno@chromium.org>
33284 Reviewed by Darin Adler.
33286 Fixes before child calculation when adding anonymous childs to table parts.
33287 https://bugs.webkit.org/show_bug.cgi?id=50932
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.
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
33299 * rendering/RenderTable.cpp:
33300 (WebCore::RenderTable::addChild):
33301 * rendering/RenderTableRow.cpp:
33302 (WebCore::RenderTableRow::addChild):
33303 * rendering/RenderTableSection.cpp:
33304 (WebCore::RenderTableSection::addChild):
33306 2011-01-03 Dan Bernstein <mitz@apple.com>
33308 Reviewed by Simon Fraser.
33310 Shrink HTMLTableCellElement
33311 https://bugs.webkit.org/show_bug.cgi?id=51858
33313 * html/HTMLTableCellElement.cpp:
33314 (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and
33316 * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors.
33318 2011-01-03 Darin Adler <darin@apple.com>
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.
33333 2011-01-03 Darin Adler <darin@apple.com>
33335 Reviewed by Brady Eidson.
33337 Add code to encode/decode the back/forward tree
33338 https://bugs.webkit.org/show_bug.cgi?id=51853
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.
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.
33357 * platform/network/mac/FormDataStreamMac.mm:
33358 (WebCore::advanceCurrentStream): Changed to use uint8_t to match above.
33360 2011-01-03 Simon Fraser <simon.fraser@apple.com>
33362 Attempt to fix GTK build.
33364 * platform/graphics/gtk/FontGtk.cpp:
33365 (WebCore::drawGlyphsShadow):
33367 2011-01-03 Helder Correia <helder@sencha.com>
33369 Reviewed by Simon Fraser.
33371 ContextShadow can avoid code duplication for getting the CTM
33372 https://bugs.webkit.org/show_bug.cgi?id=51799
33374 ContextShadow defines its own getTransformationMatrixFromContext()
33375 which does exactly the same as GraphicsContext::getCTM().
33377 Existing tests: fast/canvas/canvas*shadow*html
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):
33411 2011-01-03 Darin Adler <darin@apple.com>
33413 Reviewed by Dan Bernstein.
33415 InsertTextCommand::m_charactersAdded is unused
33416 https://bugs.webkit.org/show_bug.cgi?id=51849
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.
33424 2011-01-03 Carlos Garcia Campos <cgarcia@igalia.com>
33426 Reviewed by Martin Robinson.
33428 [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp
33429 https://bugs.webkit.org/show_bug.cgi?id=51832
33431 Method paintMenuListButton() contains code common to both gtk 2
33432 and 3, so it can be moved to RenderThemeGtk.cpp instead of
33435 * platform/gtk/RenderThemeGtk.cpp:
33436 (WebCore::RenderThemeGtk::paintMenuListButton):
33437 * platform/gtk/RenderThemeGtk2.cpp:
33438 * platform/gtk/RenderThemeGtk3.cpp:
33440 2011-01-03 Pratik Solanki <psolanki@apple.com>
33442 Reviewed by Darin Adler.
33444 https://bugs.webkit.org/show_bug.cgi?id=51850
33445 Put CFNetwork loader code inside USE(CFNETWORK)
33447 Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork
33448 files to the WebCore Xcode project.
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:
33481 2011-01-03 Yi Shen <yi.4.shen@nokia.com>
33483 Reviewed by Adam Barth.
33485 [Qt] Add SelectAll option to the context menu for the editor
33486 https://bugs.webkit.org/show_bug.cgi?id=50049
33488 Enable SelectAll for the Qt context menu.
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:
33498 2011-01-03 Dan Bernstein <mitz@apple.com>
33500 Reviewed by Darin Adler.
33502 Shrink RootInlineBox
33503 https://bugs.webkit.org/show_bug.cgi?id=51847
33505 * rendering/RootInlineBox.cpp:
33506 (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType()
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.
33512 2011-01-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
33514 Reviewed by Martin Robinson.
33516 [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
33517 https://bugs.webkit.org/show_bug.cgi?id=50698
33519 Fix DOM bindings generation to no longer include the now-gone
33520 webkitprivate.h header, including the appropriate replacements
33523 * bindings/scripts/CodeGeneratorGObject.pm:
33525 2011-01-03 Brady Eidson <beidson@apple.com>
33527 Reviewed by Darin Adler.
33529 Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.
33531 * ForwardingHeaders/wtf/Decoder.h: Added.
33532 * ForwardingHeaders/wtf/Encoder.h: Added.
33534 2011-01-03 Chris Fleizach <cfleizach@apple.com>
33536 Reviewed by Darin Adler.
33538 AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation
33539 https://bugs.webkit.org/show_bug.cgi?id=51833
33541 Make sure the web area returns the contentsSize, not the same size as what is displayed.
33543 Test: platform/mac/accessibility/webarea-size-equals-content-size.html
33545 * accessibility/AccessibilityRenderObject.cpp:
33546 (WebCore::AccessibilityRenderObject::boundingBoxRect):
33548 2011-01-03 Simon Fraser <simon.fraser@apple.com>
33550 Fix warning in 32-bit builds.
33552 * css/CSSGradientValue.cpp:
33553 (WebCore::CSSLinearGradientValue::createGradient):
33555 2011-01-03 Benjamin C Meyer <bmeyer@rim.com>
33557 Reviewed by Daniel Bates.
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
33564 2011-01-03 Dan Bernstein <mitz@apple.com>
33566 Reviewed by Simon Fraser.
33568 Remove the unused RenderTableCell::m_percentageHeight
33569 https://bugs.webkit.org/show_bug.cgi?id=51837
33571 * rendering/RenderTableCell.cpp:
33572 (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight.
33573 * rendering/RenderTableCell.h: Removed m_percentageHeight.
33575 2011-01-03 Simon Fraser <simon.fraser@apple.com>
33577 Reviewed by David Hyatt.
33579 Implement -webkit-linear-gradient and -webkit-radial-gradient
33580 https://bugs.webkit.org/show_bug.cgi?id=28152
33582 Add support for -webkit-radial-gradients.
33584 Tests: fast/gradients/css3-radial-gradients.html
33585 fast/gradients/css3-radial-gradients2.html
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
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):
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
33624 * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors.
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().
33640 2011-01-03 Simon Fraser <simon.fraser@apple.com>
33642 Reviewed by David Hyatt.
33644 Implement -webkit-linear-gradient and -webkit-radial-gradient
33645 https://bugs.webkit.org/show_bug.cgi?id=28152
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>.
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
33655 * css/CSSGradientValue.h:
33656 Add subclasses of CSSGradientValue for linear and radial gradients.
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
33674 (WebCore::CSSLinearGradientValue::createGradient):
33675 (WebCore::CSSRadialGradientValue::cssText):
33676 (WebCore::CSSRadialGradientValue::resolveRadius):
33677 (WebCore::CSSRadialGradientValue::createGradient):
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
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.
33701 2011-01-03 Noam Rosenthal <noam.rosenthal@nokia.com>
33703 Reviewed by Andreas Kling.
33705 [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
33706 https://bugs.webkit.org/show_bug.cgi?id=51464
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.
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):
33721 2011-01-03 David Hyatt <hyatt@apple.com>
33723 Reviewed by Simon Fraser.
33725 https://bugs.webkit.org/show_bug.cgi?id=51328
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.
33733 Added printing/page-count-percentage-height.html
33735 * page/PrintContext.cpp:
33736 (WebCore::PrintContext::computePageRects):
33737 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
33739 2011-01-03 Csaba Osztrogonác <ossy@webkit.org>
33741 [Qt] Unreviewed buildfix for --minimal build after r74895.
33743 * html/InputType.cpp: Missing include added.
33744 * html/NumberInputType.cpp: Missing include added.
33746 2011-01-02 Darin Adler <darin@apple.com>
33748 Reviewed by Kent Tamura.
33750 Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
33751 https://bugs.webkit.org/show_bug.cgi?id=51791
33753 * dom/InputElement.h: Make sanitizeValueForTextField public so it can
33754 be called by InputType.
33756 * html/BaseButtonInputType.cpp:
33757 (WebCore::BaseButtonInputType::accessKeyAction): Added.
33758 (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
33759 * html/BaseButtonInputType.h: Ditto.
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.
33769 * html/BaseDateAndTimeInputType.cpp:
33770 (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
33771 * html/BaseDateAndTimeInputType.h: Ditto.
33773 * html/BaseTextInputType.h: Made more functions private.
33775 * html/ButtonInputType.cpp:
33776 (WebCore::ButtonInputType::isTextButton): Added.
33777 * html/ButtonInputType.h: Ditto.
33779 * html/CheckboxInputType.cpp:
33780 (WebCore::CheckboxInputType::willDispatchClick): Added.
33781 (WebCore::CheckboxInputType::didDispatchClick): Added.
33782 (WebCore::CheckboxInputType::isCheckbox): Added.
33783 * html/CheckboxInputType.h: Ditto.
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.
33793 * html/EmailInputType.cpp:
33794 (WebCore::EmailInputType::isEmailField): Added.
33795 * html/EmailInputType.h: Ditto.
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.
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
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
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
33852 (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
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
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
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
33912 (WebCore::HTMLInputElement::stepUpFromRenderer): Use
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
33942 (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
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
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.
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.
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.
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.
34043 * html/IsIndexInputType.cpp:
34044 (WebCore::IsIndexInputType::shouldRespectListAttribute): Added.
34045 * html/IsIndexInputType.h: Ditto.
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.
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.
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.
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.
34082 * html/ResetInputType.cpp:
34083 (WebCore::ResetInputType::defaultValue): Added.
34084 (WebCore::ResetInputType::isTextButton): Added.
34085 * html/ResetInputType.h: Ditto.
34087 * html/SearchInputType.cpp:
34088 (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added.
34089 (WebCore::SearchInputType::isSearchField): Added.
34090 * html/SearchInputType.h: Ditto.
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.
34099 * html/TelephoneInputType.cpp:
34100 (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added.
34101 (WebCore::TelephoneInputType::isTelephoneField): Added.
34102 * html/TelephoneInputType.h: Ditto.
34104 * html/TextFieldInputType.cpp:
34105 (WebCore::TextFieldInputType::shouldUseInputMethod): Added.
34106 (WebCore::TextFieldInputType::sanitizeValue): Added.
34107 (WebCore::TextFieldInputType::shouldRespectListAttribute): Added.
34108 * html/TextFieldInputType.h: Ditto.
34110 * html/TextInputType.cpp:
34111 (WebCore::TextInputType::canSetSuggestedValue): Added.
34112 (WebCore::TextInputType::shouldRespectSpeechAttribute): Added.
34113 * html/TextInputType.h: Ditto.
34115 * html/TimeInputType.cpp:
34116 (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed
34117 typo in the name of this function.
34118 * html/TimeInputType.h: Ditto.
34120 * html/URLInputType.cpp:
34121 (WebCore::URLInputType::isURLField): Added.
34122 * html/URLInputType.h: Ditto.
34124 2011-01-03 Mihai Parparita <mihaip@chromium.org>
34128 NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same
34129 https://bugs.webkit.org/show_bug.cgi?id=51151
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).
34134 No new tests, should be covered by layout tests (which will need
34135 expectation changes)
34137 * platform/chromium/ScrollbarThemeChromiumMac.mm:
34139 2011-01-03 Antonio Gomes <agomes@rim.com>
34141 Unreviewed build fix for WebKit/Gtk+.
34143 RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be
34144 guarded by ENABLE(VIDEO), as it is in its header.
34148 * platform/gtk/RenderThemeGtk2.cpp:
34150 2011-01-02 Dan Bernstein <mitz@apple.com>
34152 Rubber-stamped by Simon Fraser.
34154 <rdar://problem/8812159> Update copyright strings
34158 2011-01-02 Dan Bernstein <mitz@apple.com>
34160 Reviewed by Sam Weinig.
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
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
34169 * manual-tests/find-count-matches-after-text-control.html: Added.
34171 2011-01-02 Benjamin Poulain <benjamin.poulain@nokia.com>
34173 Reviewed by Csaba Osztrogonác.
34175 WebKit 2 does not build on 64bits with a recent GCC
34176 https://bugs.webkit.org/show_bug.cgi?id=51754
34178 Use explicitely 64 bits types for the attributes of DatabaseDetails.
34180 * storage/DatabaseDetails.h:
34181 (WebCore::DatabaseDetails::expectedUsage):
34182 (WebCore::DatabaseDetails::currentUsage):
34184 2011-01-02 Patrick Gansterer <paroga@webkit.org>
34186 Unreviewed WinCE build fix for r74868.
34188 * platform/graphics/wince/ImageBufferWinCE.cpp:
34189 (WebCore::getImageData):
34191 2011-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
34193 Unreviewed, rolling out r74847.
34194 http://trac.webkit.org/changeset/74847
34195 https://bugs.webkit.org/show_bug.cgi?id=51803
34197 "Preprocessor guards should be in header files" (Requested by
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:
34207 * page/Console.cpp:
34208 * page/ContextMenuController.cpp:
34209 * page/DOMWindow.cpp:
34210 (WebCore::DOMWindow::dispatchEvent):
34211 * page/EventHandler.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):
34223 2011-01-02 Patrick Gansterer <paroga@webkit.org>
34225 [CMake] Unreviewed build fix.
34229 2011-01-02 Dirk Schulze <krit@webkit.org>
34231 Reviewed by Simon Fraser.
34233 Clarify ImageBuffer and ImageData relationship
34234 https://bugs.webkit.org/show_bug.cgi?id=51297
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.
34239 No change of functionality, so no new test added.
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):
34335 2011-01-01 Adam Barth <abarth@webkit.org>
34337 Reviewed by Eric Seidel.
34339 Move JavaScriptCore to Source
34340 https://bugs.webkit.org/show_bug.cgi?id=51604
34342 Update references to JavaScriptCore.
34344 * Android.derived.jscbindings.mk:
34345 * Android.v8bindings.mk:
34347 * WebCore.gyp/WebCore.gyp:
34349 - These changes are subtle and might not be 100% correct.
34350 * move-js-headers.sh:
34352 2011-01-01 Adam Barth <abarth@webkit.org>
34354 Reviewed by Eric Seidel.
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
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.
34364 Tests: fast/frames/sandboxed-iframe-close-top-noclose.html
34365 fast/frames/sandboxed-iframe-close-top.html
34367 * page/DOMWindow.cpp:
34368 (WebCore::DOMWindow::close):
34369 * page/DOMWindow.h:
34370 * page/DOMWindow.idl:
34372 2011-01-01 Adam Barth <abarth@webkit.org>
34374 Reviewed by Eric Seidel.
34376 sandbox iframes have access to top.history methods
34377 https://bugs.webkit.org/show_bug.cgi?id=38152
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.
34384 Test: fast/frames/sandboxed-iframe-history-denied.html
34386 * page/History.cpp:
34387 (WebCore::History::back):
34388 (WebCore::History::forward):
34389 (WebCore::History::go):
34391 * page/History.idl:
34393 2011-01-01 Adam Barth <abarth@webkit.org>
34402 * WebCore.vcproj/WebCore.vcproj:
34403 * WebCore.xcodeproj/project.pbxproj:
34404 * dom/DOMAllInOne.cpp:
34405 * dom/Entity.cpp: Removed.
34407 2011-01-01 Adam Barth <abarth@webkit.org>
34414 * WebCore.vcproj/WebCore.vcproj:
34415 * WebCore.xcodeproj/project.pbxproj:
34416 * bindings/js/JSBindingsAllInOne.cpp:
34417 * bindings/js/JSPopStateEventCustom.cpp: Removed.
34419 2011-01-01 Adam Barth <abarth@webkit.org>
34421 Remove empty files.
34425 * WebCore.vcproj/WebCore.vcproj:
34426 * WebCore.xcodeproj/project.pbxproj:
34427 * bindings/generic/BindingFrame.h: Removed.
34428 * bindings/generic/BindingLocation.h: Removed.
34430 2011-01-01 Konstantin Tokarev <annulen@yandex.ru>
34432 Reviewed by Darin Adler.
34434 Don't include Inspector headers when Inspector is disabled
34435 https://bugs.webkit.org/show_bug.cgi?id=51789
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
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
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
34482 2010-12-31 Adam Barth <abarth@webkit.org>
34484 Reviewed by Darin Adler.
34486 fast/loader/about-blank-hash-change.html fails on Chromium
34487 https://bugs.webkit.org/show_bug.cgi?id=51788
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.
34494 * page/Location.cpp:
34495 (WebCore::Location::setHash):
34497 2010-12-31 Martin Robinson <mrobinson@igalia.com>
34499 Reviewed by Xan Lopez.
34501 [GTK] Use GLib/GIO API for FileSystemGtk implementation
34502 https://bugs.webkit.org/show_bug.cgi?id=51617
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.
34508 No new tests. This code will be tested when an implementation
34509 of beginDragWithFiles is complete.
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.
34523 2010-12-31 Darin Adler <darin@apple.com>
34525 Reviewed by Dan Bernstein.
34527 Some renaming and refactoring of form element code
34528 https://bugs.webkit.org/show_bug.cgi?id=51784
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.
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.
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
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.
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.
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.
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.
34600 2010-12-31 Daniel Bates <dbates@rim.com>
34602 Reviewed by Darin Adler.
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
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>.
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.
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>.
34619 2010-12-31 Darin Adler <darin@apple.com>
34621 * WebCore.xcodeproj/project.pbxproj: Added back the language.
34622 Developers should be using Xcode 3.2.5 or newer.
34624 2010-12-31 Adam Barth <abarth@webkit.org>
34626 Reviewed by Eric Seidel.
34628 Move V8 to WebCore Location implementation
34629 https://bugs.webkit.org/show_bug.cgi?id=51768
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):
34651 2010-12-31 Yi Shen <yi.4.shen@nokia.com>
34653 Reviewed by Eric Seidel.
34655 Make retrieving extraMediaControlsStyleSheet be page dependent.
34656 https://bugs.webkit.org/show_bug.cgi?id=51752
34658 Use themeForPage to retrieve extraMediaControlsStyleSheet for media
34661 No new tests because no platform-specific theme implementation uses
34662 the passed page pointer yet.
34664 * css/CSSStyleSelector.cpp:
34665 (WebCore::CSSStyleSelector::styleForElement):
34667 2010-12-31 Ilya Tikhonovsky <loislo@chromium.org>
34669 Reviewed by Pavel Feldman.
34671 Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.
34673 https://bugs.webkit.org/show_bug.cgi?id=51709
34675 * inspector/front-end/ResourcesPanel.js:
34676 (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
34678 2010-12-31 Patrick Gansterer <paroga@webkit.org>
34680 Unreviewed build fix after r74800.
34682 * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
34683 * bindings/js/JSLocationCustom.cpp: Ditto.
34685 2010-12-31 Adam Barth <abarth@webkit.org>
34687 Rubber-stamped by Eric Seidel.
34689 Move HTML and XML parser benchmarks into PerformanceTests/Parser
34690 https://bugs.webkit.org/show_bug.cgi?id=51772
34692 Remove the benchmarks folder now that it's empty. Future benchmarks
34693 should go in the PerformanceTests directory.
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.
34703 2010-12-31 Patrick Gansterer <paroga@webkit.org>
34705 Reviewed by Adam Barth.
34707 Add XML parser benchmark
34708 https://bugs.webkit.org/show_bug.cgi?id=51612
34710 Move the JavaScript code of html parser into a separate file to share it with xml parser.
34712 * benchmarks/parser/html-parser.html:
34713 * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
34717 * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.
34719 2010-12-29 Zhenyao Mo <zmo@google.com>
34721 Reviewed by Kenneth Russell.
34723 Update validation of stencil mask and ref values
34724 https://bugs.webkit.org/show_bug.cgi?id=50716
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.
34737 2010-12-30 Martin Robinson <mrobinson@igalia.com>
34739 Reviewed by Xan Lopez.
34741 [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
34742 https://bugs.webkit.org/show_bug.cgi?id=51755
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.
34748 No new tests. This should not change functionality.
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.
34762 2010-12-30 Justin Schuh <jschuh@chromium.org>
34764 Reviewed by James Robinson.
34766 Reverting r74292 because it introduced a crash with ruby text.
34767 https://bugs.webkit.org/show_bug.cgi?id=51637
34769 Test: fast/css/counters/counter-ruby-text-cleared.html
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):
34779 2010-12-30 Darin Adler <darin@apple.com>
34781 Reviewed by David Kilzer.
34783 Remove unused JSBinding source files
34784 https://bugs.webkit.org/show_bug.cgi?id=51762
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.
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.
34798 2010-12-30 Tony Gentilcore <tonyg@chromium.org>
34800 Reviewed by Darin Adler.
34802 Remove Document.h include from some headers where it isn't necessary
34803 https://bugs.webkit.org/show_bug.cgi?id=51730
34805 No new tests because no new functionality.
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:
34818 (WebCore::DOMParser::create):
34819 (WebCore::DOMParser::DOMParser):
34821 2010-12-30 Benjamin C Meyer <bmeyer@rim.com>
34823 Reviewed by Darin Adler.
34825 bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
34826 which is required when NOTIFICATIONS is enabled.
34828 https://bugs.webkit.org/show_bug.cgi?id=51761
34832 2010-12-30 Antti Koivisto <antti@apple.com>
34836 Revert accidental project file change.
34838 * WebCore.xcodeproj/project.pbxproj:
34840 2010-12-30 Antti Koivisto <antti@apple.com>
34842 Reviewed by Darin Adler.
34844 https://bugs.webkit.org/show_bug.cgi?id=51134
34845 Move loading related code from MemoryCache to CachedResourceLoader
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
34854 * css/CSSImageValue.cpp:
34855 (WebCore::CSSImageValue::cachedImage):
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).
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):
34868 Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
34870 (WebCore::CachedResource::setLoadPriority):
34872 Check for Unresolved value before setting.
34874 * loader/cache/CachedResource.h:
34875 (WebCore::CachedResource::setOwningCachedResourceLoader):
34877 Rename to be bit less mysterious.
34879 * loader/cache/CachedResourceLoader.cpp:
34880 (WebCore::createResource):
34882 This was moved from MemoryCache.
34884 (WebCore::CachedResourceLoader::~CachedResourceLoader):
34885 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
34886 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
34888 This was moved/merged from MemoryCache.
34890 (WebCore::CachedResourceLoader::canRequest):
34891 (WebCore::CachedResourceLoader::requestResource):
34893 This combines MemoryCache::requestResource and the existing method.
34895 (WebCore::CachedResourceLoader::revalidateResource):
34897 This was moved from MemoryCache.
34899 (WebCore::CachedResourceLoader::loadResource):
34901 New method for initiating loading.
34903 (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
34905 Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
34907 * loader/cache/CachedResourceLoader.h:
34908 * loader/cache/MemoryCache.cpp:
34909 (WebCore::MemoryCache::add):
34910 * loader/cache/MemoryCache.h:
34911 (WebCore::MemoryCache::remove):
34913 2010-12-30 Steve Block <steveblock@google.com>
34915 Reviewed by Gavin Barraclough.
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
34920 This is a policy decision for Android.
34922 No new tests, simply enabling existing, tested code on Android.
34924 * bindings/js/JSDOMWindowBase.cpp:
34925 (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
34927 2010-12-30 Yael Aharon <yael.aharon@nokia.com>
34929 Reviewed by Adam Barth.
34931 REGRESSION: fast/dom/cssTarget-crash.html fails
34932 https://bugs.webkit.org/show_bug.cgi?id=20342
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.
34937 Test: fast/forms/submit-change-fragment.html
34939 * loader/FrameLoader.cpp:
34940 (WebCore::FrameLoader::loadURL):
34941 (WebCore::FrameLoader::loadWithDocumentLoader):
34942 (WebCore::FrameLoader::shouldScrollToAnchor):
34943 * loader/FrameLoader.h:
34945 2010-12-30 Darin Adler <darin@apple.com>
34947 Reviewed by Adam Barth.
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
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
34956 * bindings/js/JSBinding.h: Emptied out, marked for later deletion.
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
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.
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.
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.
34998 * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
34999 * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.
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.
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
35023 * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
35024 (WebCore::Location::create):
35025 (WebCore::Location::frame):
35027 2010-12-30 Alexander Pavlov <apavlov@chromium.org>
35029 Reviewed by Pavel Feldman.
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
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.
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):
35048 2010-12-30 Pavel Podivilov <podivilov@chromium.org>
35050 Reviewed by Pavel Feldman.
35052 Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
35053 https://bugs.webkit.org/show_bug.cgi?id=51745
35055 * inspector/front-end/Breakpoint.js:
35056 (WebInspector.Breakpoint.prototype.set enabled):
35058 2010-12-30 Pavel Podivilov <podivilov@chromium.org>
35060 Reviewed by Pavel Feldman.
35062 Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
35063 https://bugs.webkit.org/show_bug.cgi?id=51748
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):
35071 2010-12-30 Mikhail Naganov <mnaganov@chromium.org>
35073 Reviewed by Pavel Feldman.
35075 Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).
35077 https://bugs.webkit.org/show_bug.cgi?id=51713
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:
35088 2010-12-30 Steve Block <steveblock@google.com>
35090 Reviewed by Sam Weinig.
35092 Visiting macnn.com often causes SQL spew via geolocation database
35093 https://bugs.webkit.org/show_bug.cgi?id=51557
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.
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.
35102 No new tests, implementation clean-up only.
35104 * page/GeolocationPositionCache.cpp:
35105 (WebCore::GeolocationPositionCache::addUser):
35106 (WebCore::GeolocationPositionCache::removeUser):
35107 (WebCore::GeolocationPositionCache::setDatabasePath):
35108 (WebCore::GeolocationPositionCache::startBackgroundThread):
35110 2010-12-29 Philippe Normand <pnormand@igalia.com>
35112 Reviewed by Martin Robinson.
35114 [GTK] minimal build fails at link time due to missing sqlite3 symbols
35115 https://bugs.webkit.org/show_bug.cgi?id=51327
35117 Guard the code calling sqlite3 with the ENABLE(DATABASE) check.
35119 No new tests, build fix only.
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:
35127 2010-12-30 Justin Schuh <jschuh@chromium.org>
35129 Reviewed by Dirk Schulze.
35131 Prevent stringToLengthType() from skipping past end-of-string on invalid length unit.
35132 https://bugs.webkit.org/show_bug.cgi?id=51692
35134 * svg/SVGLength.cpp:
35135 (WebCore::stringToLengthType):
35136 (WebCore::SVGLength::setValueAsString):
35138 2010-12-30 Abhishek Arya <inferno@chromium.org>
35140 Reviewed by Eric Seidel.
35142 Create a helper function for finding descendent video elements for a node.
35143 https://bugs.webkit.org/show_bug.cgi?id=51696
35145 Test: media/video-element-other-namespace-crash.html
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.
35152 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
35154 Reviewed by Yury Semikhatsky.
35156 Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
35157 https://bugs.webkit.org/show_bug.cgi?id=51707
35159 This change brushes up storage agents + removes redundant InspectorBackend class.
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):
35213 2010-12-29 Dirk Schulze <krit@webkit.org>
35215 Reviewed by Darin Adler.
35217 Cleanup SVG code according to the webkit style rules 3
35218 https://bugs.webkit.org/show_bug.cgi?id=51490
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
35224 No changes of functionality, so no new tests.
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):
35318 2010-12-29 Abhishek Arya <inferno@chromium.org>
35320 Reviewed by Darin Adler.
35322 ASSERT(oldchild->parent() == owner) fails.
35323 https://bugs.webkit.org/show_bug.cgi?id=50480
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.
35330 Test: fast/multicol/span/double-merge-anonymous-block-crash.html
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.
35336 2010-12-29 Justin Schuh <jschuh@chromium.org>
35338 Reviewed by Darin Adler.
35340 Check SVG element type in FrameView::scrollToAnchor
35341 https://bugs.webkit.org/show_bug.cgi?id=51718
35343 Test: svg/custom/scroll-to-anchor-in-symbol.svg
35345 * page/FrameView.cpp:
35346 (WebCore::FrameView::scrollToAnchor):
35348 2010-12-29 Anton Muhin <antonm@chromium.org>
35350 Reviewed by Eric Seidel.
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
35355 * bindings/v8/V8DOMWindowShell.cpp:
35356 * bindings/v8/V8DOMWindowShell.h:
35358 2010-12-29 Kenichi Ishibashi <bashi@google.com>
35360 Reviewed by Darin Adler.
35362 Use a HashMap for m_continuation to save memory
35363 https://bugs.webkit.org/show_bug.cgi?id=43716
35365 Saving memory consumption by applying a HashMap convention to
35366 continuation pointers of RenderInline and RenderBlock classes.
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.
35385 2010-12-27 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
35387 Reviewed by Martin Robinson.
35389 [GTK] Enable building whatever already exists of WebKit2
35390 https://bugs.webkit.org/show_bug.cgi?id=37369
35392 No new functionality added or deleted. Only makefile change. Hence, no tests added.
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
35399 2010-12-29 Eric Seidel <eric@webkit.org>
35403 Simplify make-hash-tools.pl
35404 https://bugs.webkit.org/show_bug.cgi?id=49922
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
35409 * WebCore.xcodeproj/project.pbxproj:
35411 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
35413 Not reviewed: revert r74755 and 74757.
35415 2010-12-29 Martin Robinson <mrobinson@igalia.com>
35417 Reviewed by Sam Weinig.
35419 JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
35420 https://bugs.webkit.org/show_bug.cgi?id=51722
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.
35426 No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
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.
35438 2010-12-29 Dan Bernstein <mitz@apple.com>
35440 Reviewed by Kenneth Russel.
35442 A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
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.
35458 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
35460 Not reviewed: Qt build fix.
35462 * inspector/InspectorController.cpp:
35464 2010-12-29 Pavel Feldman <pfeldman@chromium.org>
35466 Reviewed by Yury Semikhatsky.
35468 Web Inspector: extract Database & DOM Storage
35469 agents; remove InspectorBackend.
35470 https://bugs.webkit.org/show_bug.cgi?id=51707
35472 This change brushes up storage agents + removes redundant
35473 InspectorBackend class.
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):
35527 2010-12-29 Tony Gentilcore <tonyg@chromium.org>
35529 Reviewed by Eric Seidel.
35531 Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
35532 https://bugs.webkit.org/show_bug.cgi?id=51067
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.
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.
35542 Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
35543 fast/dom/HTMLScriptElement/remove-in-beforeload.html
35545 * dom/ScriptElement.cpp:
35546 (WebCore::ScriptElement::requestScript):
35548 2010-12-29 Alexander Pavlov <apavlov@chromium.org>
35550 Reviewed by Yury Semikhatsky.
35552 Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
35553 https://bugs.webkit.org/show_bug.cgi?id=51703
35555 * inspector/InspectorController.cpp:
35556 (WebCore::InspectorController::drawElementTitle):
35558 2010-12-29 Yael Aharon <yael.aharon@nokia.com>
35560 Reviewed by Kent Tamura.
35562 [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
35563 https://bugs.webkit.org/show_bug.cgi?id=29071
35565 Use InputType::rangeUnderflow() and InputType::rangeOverflow()
35566 to determine if a control is in-range or out-of-range.
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
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):
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:
35600 2010-12-29 Abhishek Arya <inferno@chromium.org>
35602 Reviewed by Eric Seidel.
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
35608 Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
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().
35614 2010-12-29 Patrick Gansterer <paroga@webkit.org>
35616 Unreviewed build fix for WinCE after r73802.
35618 Reapply parts from r72585:
35619 Port ContextMenuWin.cpp to WinCE
35620 https://bugs.webkit.org/show_bug.cgi?id=48408
35623 * platform/ContextMenu.h:
35624 * platform/win/ContextMenuWin.cpp:
35625 (WebCore::ContextMenu::getContextMenuItems):
35626 (WebCore::ContextMenu::createNativeMenuFromItems):
35628 2010-12-29 Kent Hansen <kent.hansen@nokia.com>
35630 Reviewed by Simon Hausmann.
35632 [Qt] Fix compilation with Qt in namespace
35633 https://bugs.webkit.org/show_bug.cgi?id=51701
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:
35641 2010-12-28 Alexander Pavlov <apavlov@chromium.org>
35643 Reviewed by Pavel Feldman.
35645 Web Inspector: A disabled style property should get enabled when edited
35646 https://bugs.webkit.org/show_bug.cgi?id=51679
35648 Test: inspector/styles-disable-then-change.html
35650 * inspector/front-end/CSSStyleModel.js:
35651 (WebInspector.CSSProperty.prototype.setText):
35652 (WebInspector.CSSProperty.prototype.setText.callback):
35654 2010-12-29 Patrick Gansterer <paroga@webkit.org>
35656 Reviewed by Andreas Kling.
35658 [CMake] Remove WebKitGenerators
35659 https://bugs.webkit.org/show_bug.cgi?id=50445
35661 * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
35663 2010-12-28 Pratik Solanki <psolanki@apple.com>
35665 Reviewed by Eric Seidel.
35667 https://bugs.webkit.org/show_bug.cgi?id=51522
35668 Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
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):
35699 2010-12-28 Daniel Bates <dbates@rim.com>
35701 Reviewed by Sam Weinig.
35703 Substitute // MARK: for compiler-specific #pragma mark
35704 https://bugs.webkit.org/show_bug.cgi?id=51657
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.
35710 * platform/graphics/cg/PathCG.cpp:
35711 * platform/graphics/mac/WebLayer.mm:
35713 2010-12-28 Jan Erik Hanssen <jhanssen@sencha.com>
35715 Reviewed by Eric Seidel.
35717 [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
35718 https://bugs.webkit.org/show_bug.cgi?id=51687
35720 Use a const reference instead of a copy of QPainter::combinedTransform()
35721 in GraphicsContext::getCTM()
35723 * platform/graphics/qt/GraphicsContextQt.cpp:
35724 (WebCore::GraphicsContext::getCTM):
35726 2010-12-28 Takashi Toyoshima <toyoshim@google.com>
35728 Reviewed by Eric Seidel.
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
35734 No new tests. These fixes are trivial.
35737 (WebCore::Element::childTypeAllowed):
35738 * inspector/InspectorResourceAgent.cpp:
35739 (WebCore::cachedResourceTypeString):
35741 2010-12-28 Tony Gentilcore <tonyg@chromium.org>
35743 Reviewed by Eric Seidel.
35745 Remove unused member of PendingScript
35746 https://bugs.webkit.org/show_bug.cgi?id=51684
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.
35752 No new tests because no changed functionality.
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):
35762 2010-12-20 Antonio Gomes <agomes@rim.com>
35764 Reviewed by Daniel Bates.
35766 Spatial Navigation: code clean up (Part VI)
35767 https://bugs.webkit.org/show_bug.cgi?id=50666
35769 No new tests needed.
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
35788 (WebCore::canScrollInDirection): Signature changed.
35789 (WebCore::canBeScrolledIntoView): Ditto.
35790 (WebCore::virtualRectForAreaElementAndDirection): Ditto.
35792 2010-12-28 Adrienne Walker <enne@google.com>
35794 Reviewed by Kenneth Russell.
35796 [chromium] Fix tiled compositor assertion after GPU process recovery.
35797 https://bugs.webkit.org/show_bug.cgi?id=51682
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.
35806 * platform/graphics/chromium/LayerTilerChromium.cpp:
35807 (WebCore::LayerTilerChromium::growLayerToContain):
35809 2010-12-23 Zhenyao Mo <zmo@google.com>
35811 Reviewed by Kenneth Russell.
35813 Initialize to 0 for undefined values in CopyTexImage2D
35814 https://bugs.webkit.org/show_bug.cgi?id=51421
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):
35845 2010-12-23 Zhenyao Mo <zmo@google.com>
35847 Reviewed by Kenneth Russell.
35849 Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
35850 https://bugs.webkit.org/show_bug.cgi?id=39855
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:
35867 2010-12-28 Abhishek Arya <inferno@chromium.org>
35869 Reviewed by Kenneth Russell.
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
35875 Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
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.
35886 2010-12-28 Dimitri Glazkov <dglazkov@chromium.org>
35888 Reviewed by Eric Seidel.
35890 Combine setShadowRoot and clearShadowRoot into a simpler API
35891 https://bugs.webkit.org/show_bug.cgi?id=50971
35893 No change in behavior, and API is not used yet.
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
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.
35905 2010-12-28 Andrey Kosyakov <caseq@chromium.org>
35907 Reviewed by Pavel Feldman.
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
35913 Test: http/tests/inspector/extensions-resources-redirect.html
35915 * inspector/front-end/NetworkManager.js:
35916 (WebInspector.NetworkManager.prototype._appendRedirect):
35918 2010-12-28 Ilya Tikhonovsky <loislo@chromium.org>
35920 Unreviewed build fix for Qt.
35922 ResourceTreeModel.js was added.
35924 * inspector/front-end/WebKit.qrc:
35926 2010-12-28 Mikhail Naganov <mnaganov@chromium.org>
35928 Reviewed by Pavel Feldman.
35930 [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.
35932 https://bugs.webkit.org/show_bug.cgi?id=51680
35934 * inspector/front-end/ProfilesPanel.js:
35935 (WebInspector.ProfilesPanel.prototype._reset):
35937 2010-12-28 Alexander Pavlov <apavlov@chromium.org>
35939 Reviewed by Pavel Feldman.
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
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(...).
35947 Test: inspector/styles-url-linkify.html
35949 * inspector/front-end/StylesSidebarPane.js:
35950 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
35951 (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
35953 2010-12-21 Ilya Tikhonovsky <loislo@chromium.org>
35955 Reviewed by Pavel Feldman.
35957 Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.
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.
35965 https://bugs.webkit.org/show_bug.cgi?id=51334
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):
36069 2010-12-27 Helder Correia <helder@sencha.com>
36071 Reviewed by Ariya Hidayat.
36073 ContextShadow should use AffineTransform instead of TransformationMatrix
36074 https://bugs.webkit.org/show_bug.cgi?id=51661
36076 ContextShadow needs the CTM to make sure shadows are not affected by
36077 transformations when drawing on a canvas. AffineTransform is sufficient
36080 Existing tests: fast/canvas/canvas*shadow*html
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):
36092 2010-12-27 Daniel Bates <dbates@rim.com>
36094 Reviewed by Antonio Gomes.
36096 Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
36097 https://bugs.webkit.org/show_bug.cgi?id=51634
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
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.
36120 2010-12-27 Martin Robinson <mrobinson@igalia.com>
36122 Reviewed by Daniel Bates.
36124 [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
36125 https://bugs.webkit.org/show_bug.cgi?id=51654
36127 Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
36128 on some debug configurations.
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.
36133 * platform/gtk/RenderThemeGtk.cpp:
36134 (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.
36136 2010-12-27 Anton Muhin <antonm@chromium.org>
36138 Reviewed by David Levin.
36140 [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
36141 https://bugs.webkit.org/show_bug.cgi?id=51648
36143 * bindings/v8/ScriptController.cpp:
36144 * bindings/v8/ScriptController.h:
36145 * bindings/v8/V8GCController.cpp:
36146 (WebCore::V8GCController::gcEpilogue):
36147 * bindings/v8/V8GCController.h:
36149 2010-12-27 Yury Semikhatsky <yurys@chromium.org>
36151 Unreviewed. Removed trailing spaces from a localized
36152 string to make it the same as the one used in the code.
36154 * English.lproj/localizedStrings.js:
36156 2010-12-27 Yael Aharon <yael.aharon@nokia.com>
36158 Reviewed by Eric Seidel.
36160 Browser is failing 16 baseline test from Selector API Test Suite
36161 https://bugs.webkit.org/show_bug.cgi?id=42968
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.
36167 No new tests, just updating the existing results for
36168 fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.
36170 * dom/Document.idl:
36171 * dom/DocumentFragment.idl:
36174 2010-12-26 MORITA Hajime <morrita@google.com>
36176 Reviewed by Dan Bernstein.
36178 For box-shadow, non-primary shadows should have specified radii.
36179 https://bugs.webkit.org/show_bug.cgi?id=51386
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.
36185 Test: fast/box-shadow/spread-multiple-normal.html
36187 * rendering/RenderBoxModelObject.cpp:
36188 (WebCore::RenderBoxModelObject::paintBoxShadow):
36190 2010-12-26 Patrick Gansterer <paroga@webkit.org>
36192 Reviewed by Eric Seidel.
36194 Improve output of HTML parser benchmark
36195 https://bugs.webkit.org/show_bug.cgi?id=51611
36197 Calculate and show median, min and max values.
36199 * benchmarks/parser/html-parser.html:
36201 2010-12-26 Abhishek Arya <inferno@chromium.org>
36203 Reviewed by Simon Fraser.
36205 Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer.
36206 https://bugs.webkit.org/show_bug.cgi?id=48772
36208 Test: fast/multicol/renderer-positioned-assert-crash.html
36210 * rendering/RenderLayer.cpp:
36211 (WebCore::RenderLayer::paintPaginatedChildLayer):
36212 (WebCore::RenderLayer::hitTestPaginatedChildLayer):
36214 2010-12-25 Peter Rybin <peter.rybin@gmail.com>
36216 Reviewed by Adam Barth.
36218 Adds currentColumn (and currentLine) to SegmentedString. Switches
36219 HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
36220 needs position for a <script> tag.
36222 SegmentedString should provide column position
36223 https://bugs.webkit.org/show_bug.cgi?id=51311
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):
36250 2010-12-25 Andreas Kling <kling@webkit.org>
36252 Reviewed by Kenneth Rohde Christiansen.
36254 GraphicsContext: Don't pass StrokeStyle (enum) as const reference
36255 https://bugs.webkit.org/show_bug.cgi?id=51608
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):
36276 2010-12-24 Dan Bernstein <mitz@apple.com>
36278 Reviewed by Alexey Proskuryakov.
36280 REGRESSION (r74648): XHR layout test failures
36281 https://bugs.webkit.org/show_bug.cgi?id=51603
36287 2010-12-24 Dan Bernstein <mitz@apple.com>
36289 Try to fix the Qt build after r74648.
36293 * platform/network/qt/CredentialStorageQt.cpp: Added.
36294 (WebCore::CredentialStorage::getFromPersistentStorage):
36296 2010-12-24 Simon Fraser <simon.fraser@apple.com>
36298 Reviewed by Dan Bernstein.
36300 CSSStyleSelector cleanup
36301 https://bugs.webkit.org/show_bug.cgi?id=51597
36303 Make some methods const. Add assertion to checkOneSelector, with the
36304 intention of later removing the if (!e) check (this is hot code).
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):
36318 2010-12-24 Dan Bernstein <mitz@apple.com>
36320 Reviewed by Anders Carlsson.
36322 <rdar://problem/8758386> The web process uses its own credential storage
36323 https://bugs.webkit.org/show_bug.cgi?id=51599
36325 * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
36326 and Credential::isEmpty().
36328 2010-12-24 Yury Semikhatsky <yurys@chromium.org>
36330 Reviewed by Darin Adler.
36332 [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
36333 https://bugs.webkit.org/show_bug.cgi?id=51595
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:
36350 2010-12-24 Carlos Garcia Campos <cgarcia@igalia.com>
36352 Reviewed by Xan Lopez.
36354 [GTK] Show current time / total in media player
36355 https://bugs.webkit.org/show_bug.cgi?id=51535
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:
36364 2010-12-24 Jan Erik Hanssen <jhanssen@sencha.com>
36366 Reviewed by Eric Seidel.
36368 Clean up CSSRuleData in CSSStyleSelector.h
36369 https://bugs.webkit.org/show_bug.cgi?id=27753
36371 Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.
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:
36387 2010-12-24 Yury Semikhatsky <yurys@chromium.org>
36389 Unreviewed. Fix compilation on Windows.
36391 * inspector/InspectorStyleSheet.cpp:
36392 (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
36393 * inspector/InspectorStyleSheet.h:
36395 2010-12-24 Yury Semikhatsky <yurys@chromium.org>
36397 Reviewed by Darin Adler.
36399 inspector/debugger-step-out.html crashing intermittently in the bots
36400 https://bugs.webkit.org/show_bug.cgi?id=50868
36402 Use RefPtr rather instead of raw pointers when keeping references
36403 to refcounted objects.
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):
36426 2010-12-24 Justin Schuh <jschuh@chromium.org>
36428 Reviewed by Nikolas Zimmermann.
36430 SVGElementInstance::m_useElement should be cleared when use element is removed from document
36431 https://bugs.webkit.org/show_bug.cgi?id=51486
36433 Test: svg/custom/use-instanceRoot-with-use-removed.svg
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:
36446 2010-12-23 Joseph Pecoraro <joepeck@webkit.org>
36448 Reviewed by Yury Semikhatsky.
36450 Web Inspector: Missing Localized Strings
36451 https://bugs.webkit.org/show_bug.cgi?id=51542
36453 Added missing strings: "WebSocket", "Frames", "Text", "Transfer",
36454 "Preserve Log upon Navigation", and "Go to Line".
36456 * English.lproj/localizedStrings.js:
36458 2010-12-24 Alexander Pavlov <apavlov@chromium.org>
36460 Reviewed by Yury Semikhatsky.
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
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).
36471 Test: inspector/elements-delete-inline-style.html
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):
36489 2010-12-24 Noel Gordon <noel.gordon@gmail.com>
36491 Reviewed by Andreas Kling.
36493 [chromium] Fix a style nit in the JPEG encoder
36494 https://bugs.webkit.org/show_bug.cgi?id=51574
36496 * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.
36498 2010-12-23 Alexander Pavlov <apavlov@chromium.org>
36500 Reviewed by Maciej Stachowiak.
36502 Web Inspector: CSS shorthand properties expand unnecessarily
36503 https://bugs.webkit.org/show_bug.cgi?id=36304
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.
36512 * css/CSSParser.cpp:
36513 (WebCore::CSSParser::parseBorderRadius):
36515 2010-12-24 Justin Schuh <jschuh@chromium.org>
36517 Reviewed by Darin Adler.
36519 setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
36520 https://bugs.webkit.org/show_bug.cgi?id=51576
36522 Disallowed elements may be pruned from the shadow tree, leaving a null
36523 shadowTreeElement. We should check for that before setting attributes.
36525 Test: svg/custom/animate-disallowed-use-element.svg
36527 * svg/SVGAnimationElement.cpp:
36528 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
36530 2010-12-24 Evan Martin <evan@chromium.org>
36532 Reviewed by Darin Adler.
36534 TextMetrics::width is an integer, but the member is a float
36535 https://bugs.webkit.org/show_bug.cgi?id=51566
36537 Change the return type to a float.
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.)
36543 * html/TextMetrics.h:
36544 (WebCore::TextMetrics::width):
36546 2010-12-24 Ryuan Choi <ryuan.choi@samsung.com>
36548 Reviewed by Kenneth Rohde Christiansen.
36550 [EFL] Add option to enable Touch Events.
36551 https://bugs.webkit.org/show_bug.cgi?id=49125
36553 Add files for EFL to support TOUCH_EVENTS.
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):
36564 2010-12-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
36566 Reviewed by Kenneth Rohde Christiansen.
36568 [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
36569 https://bugs.webkit.org/show_bug.cgi?id=51457
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.
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.
36578 2010-12-24 Justin Schuh <jschuh@chromium.org>
36580 Reviewed by Darin Adler.
36582 SVGFontFaceElement::rebuildFontFace() should exit when not in document
36583 https://bugs.webkit.org/show_bug.cgi?id=51571
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.
36588 Test: svg/custom/use-invalid-font-face.svg
36590 * svg/SVGFontFaceElement.cpp:
36591 (WebCore::SVGFontFaceElement::parseMappedAttribute):
36592 (WebCore::SVGFontFaceElement::rebuildFontFace):
36593 (WebCore::SVGFontFaceElement::childrenChanged):
36595 2010-12-24 Justin Schuh <jschuh@chromium.org>
36597 Reviewed by Darin Adler.
36599 Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
36600 https://bugs.webkit.org/show_bug.cgi?id=51564
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.
36605 Removing dead code, so no new tests needed.
36607 * css/CSSCanvasValue.cpp:
36608 (WebCore::CSSCanvasValue::canvasDestroyed):
36610 2010-12-23 Evan Martin <evan@chromium.org>
36612 Reviewed by Darin Adler.
36614 ViewportArguments.h uses an enum to intialize a bool
36615 https://bugs.webkit.org/show_bug.cgi?id=50982
36617 Initialize userScalable to true, rather than -1.
36618 No tests; fixes a compiler warning.
36620 * dom/ViewportArguments.h:
36621 (WebCore::ViewportArguments::ViewportArguments):
36623 2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
36625 Reviewed by Adam Barth.
36627 [Qt] User name/password stripped from URLs
36628 https://bugs.webkit.org/show_bug.cgi?id=36232
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
36634 Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
36635 http/tests/xmlhttprequest/basic-auth-nouser.html
36637 * platform/network/qt/ResourceHandleQt.cpp:
36638 (WebCore::ResourceHandle::start):
36639 (WebCore::ResourceHandle::loadResourceSynchronously):
36641 2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
36643 Reviewed by Darin Adler.
36645 queryCommandValue("FormatBlock") does not respect editing boundaries
36646 https://bugs.webkit.org/show_bug.cgi?id=51219
36648 Fixed the bug by checking the element we found in elementForFormatBlockCommand
36649 does not contain the editable root.
36651 * editing/FormatBlockCommand.cpp:
36652 (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
36654 2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
36656 Reviewed by Darin Adler.
36658 FormatBlock doesn't preserve typing style but it should
36659 https://bugs.webkit.org/show_bug.cgi?id=51140
36661 Fixed the bug by making preserveTypingStyle return true.
36663 Test: editing/execCommand/format-block-typing-style.html
36665 * editing/FormatBlockCommand.h:
36666 (WebCore::FormatBlockCommand::preservesTypingStyle):
36668 2010-12-23 Jessie Berlin <jberlin@apple.com>
36670 Reviewed by Sam Weinig.
36672 Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
36673 https://bugs.webkit.org/show_bug.cgi?id=51563
36675 Add SecurityOrigin::create(const String& protocol, const String& host, int port).
36678 Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
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:
36687 2010-12-23 Patrick Gansterer <paroga@webkit.org>
36689 Unreviewed build fix for WinCE after r73802.
36692 Port ContextMenuItemWin.cpp to WinCE
36693 https://bugs.webkit.org/show_bug.cgi?id=48407
36695 * platform/win/ContextMenuItemWin.cpp:
36697 2010-12-23 Adam Barth <abarth@webkit.org>
36699 Remove include of non-existant file.
36701 * bindings/v8/custom/V8DOMWindowCustom.cpp:
36703 2010-12-23 Ryosuke Niwa <rniwa@webkit.org>
36705 Reviewed by Darin Adler.
36707 Selection becomes stale when CharacterData is manipulated directly
36708 https://bugs.webkit.org/show_bug.cgi?id=51389
36710 The bug was caused by SelectionController's not adjusting selection when CharacterData's
36711 m_data is modified by its API.
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).
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.
36722 Tests: editing/selection/character-data-mutation-crash.html
36723 editing/selection/character-data-mutation.html
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:
36743 2010-12-23 Adam Barth <abarth@webkit.org>
36745 Reviewed by Darin Adler.
36747 Remove unneeded V8 bindings files
36748 https://bugs.webkit.org/show_bug.cgi?id=51570
36751 * bindings/generic/BindingDOMWindow.h: Removed.
36752 * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
36754 2010-12-23 Dan Bernstein <mitz@apple.com>
36758 * editing/EditorCommand.cpp:
36759 (WebCore::enabledDismissCorrectionPanel):
36761 2010-12-23 Darin Adler <darin@apple.com>
36763 Try to fix crash seen on GTK bot.
36765 * editing/EditorCommand.cpp:
36766 (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
36768 * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
36770 2010-12-23 Sheriff Bot <webkit.review.bot@gmail.com>
36772 Unreviewed, rolling out r74561.
36773 http://trac.webkit.org/changeset/74561
36774 https://bugs.webkit.org/show_bug.cgi?id=51565
36776 "Broke Chromium UI tests on Vista" (Requested by kbr_google on
36779 * platform/graphics/chromium/ImageLayerChromium.cpp:
36780 (WebCore::ImageLayerChromium::updateContentsIfDirty):
36781 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
36782 (WebCore::GraphicsContext3D::getImageData):
36784 2010-12-23 Mihai Parparita <mihaip@chromium.org>
36786 Reviewed by Kent Tamura.
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
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).
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.
36800 * platform/chromium/ChromiumBridge.h:
36801 * platform/chromium/ScrollbarThemeChromiumMac.mm:
36802 (WebCore::scrollbarStateToThemeState):
36803 (WebCore::ScrollbarThemeChromiumMac::paint):
36805 2010-12-23 Darin Adler <darin@apple.com>
36807 Reviewed by Sam Weinig.
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
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.
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.
36841 2010-12-23 Matthew Delaney <mdelaney@apple.com>
36843 Reviewed by Simon Fraser.
36845 Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
36846 https://bugs.webkit.org/show_bug.cgi?id=51560
36850 * platform/graphics/ca/GraphicsLayerCA.cpp:
36851 (WebCore::GraphicsLayerCA::setAcceleratesDrawing):
36853 2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
36855 Reviewed by Andreas Kling.
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
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.
36863 * platform/qt/PasteboardQt.cpp:
36864 (WebCore::Pasteboard::writeSelection):
36866 2010-12-23 Justin Schuh <jschuh@chromium.org>
36868 Reviewed by Eric Seidel.
36870 CSSCursorImageValue destructor should clear referenced element.
36871 https://bugs.webkit.org/show_bug.cgi?id=51417
36873 Calls correct method to clear image and renames method to avoid future confusion.
36875 Test: svg/css/cursor-image-replace.svg
36877 * css/CSSCursorImageValue.cpp:
36878 (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
36879 * svg/SVGElement.cpp:
36880 (WebCore::SVGElement::cursorImageValueRemoved):
36881 * svg/SVGElement.h:
36883 2010-12-22 Sam Weinig <sam@webkit.org>
36885 Reviewed by Darin Adler.
36887 WebKit2 needs to mirror the frame tree in the UIProcess
36888 https://bugs.webkit.org/show_bug.cgi?id=51546
36890 - Add client functions to notify that a frame has been added or
36891 removed from the page cache.
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:
36902 2010-12-22 Matthew Delaney <mdelaney@apple.com>
36904 Reviewed by Simon Fraser.
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
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
36915 2010-12-20 Adrienne Walker <enne@google.com>
36917 Reviewed by Kenneth Russell.
36919 [chromium] Tile root layer of the compositor.
36920 https://bugs.webkit.org/show_bug.cgi?id=49947
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.
36927 Test: LayoutTests/compositing/
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):
36982 2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
36984 Reviewed by Eric Seidel.
36986 Editor.h doesn't need to include SelectionController.h
36987 https://bugs.webkit.org/show_bug.cgi?id=51441
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
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.
37074 2010-12-23 Adam Barth <abarth@webkit.org>
37076 Reviewed by Darin Adler.
37078 Move V8 to WebCore's implementation of showModalDialog
37079 https://bugs.webkit.org/show_bug.cgi?id=51527
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
37086 In this patch, I also remove a bunch of now-unneeded code in the
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:
37102 2010-12-23 Alexander Pavlov <apavlov@chromium.org>
37104 Reviewed by Joseph Pecoraro.
37106 Web Inspector: Can't backspace from CSS value to CSS key field
37107 https://bugs.webkit.org/show_bug.cgi?id=51476
37109 * inspector/front-end/StylesSidebarPane.js:
37110 (WebInspector.StylePropertyTreeElement.prototype.):
37111 (WebInspector.StylePropertyTreeElement.prototype):
37113 2010-12-23 W. James MacLean <wjmaclean@chromium.org>
37115 Reviewed by Kenneth Russell.
37117 [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
37118 https://bugs.webkit.org/show_bug.cgi?id=51186
37120 No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
37122 * platform/graphics/chromium/ImageLayerChromium.cpp:
37123 (WebCore::ImageLayerChromium::updateContentsIfDirty):
37124 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37125 (WebCore::GraphicsContext3D::getImageData):
37127 2010-12-23 Lucas De Marchi <lucas.demarchi@profusion.mobi>
37129 Reviewed by Kenneth Rohde Christiansen.
37131 Fix check by undefined macro
37132 https://bugs.webkit.org/show_bug.cgi?id=51531
37134 Fix check by undefined macro
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
37140 No change in functionality so no new tests.
37142 * platform/network/soup/cache/webkit/soup-cache.h:
37144 2010-12-23 Jonathan Dixon <joth@chromium.org>
37146 Reviewed by Steve Block.
37148 TouchEvents does not support multi-touch on a page with multiple touch targets
37149 https://bugs.webkit.org/show_bug.cgi?id=51258
37151 Test: fast/events/touch/multi-touch-grouped-targets.html
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.
37159 * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
37161 2010-12-23 Philippe Normand <pnormand@igalia.com>
37163 Reviewed by Xan Lopez.
37165 [GTK] media/audio-data-url.html fails since r75504
37166 https://bugs.webkit.org/show_bug.cgi?id=51525
37168 Make the GStreamer media-player advertize 3gpp mime-types as
37169 supported if the 3gp caps are in the typefind factories.
37171 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37172 (WebCore::mimeTypeCache):
37174 2010-12-23 Kent Tamura <tkent@chromium.org>
37176 Reviewed by Dimitri Glazkov.
37178 Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
37180 https://bugs.webkit.org/show_bug.cgi?id=51093
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.
37188 No new tests because this is just a refactoring.
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:
37261 2010-12-23 Alexander Pavlov <apavlov@chromium.org>
37263 Reviewed by Joseph Pecoraro.
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
37268 * inspector/front-end/StylesSidebarPane.js:
37269 (WebInspector.StylePropertyTreeElement.prototype):
37271 2010-12-23 Noel Gordon <noel.gordon@gmail.com>
37273 Reviewed by Adam Barth.
37275 [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
37276 https://bugs.webkit.org/show_bug.cgi?id=51455
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.
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.
37288 No change in behaviour, so no new tests.
37290 * platform/image-encoders/skia/PNGImageEncoder.cpp:
37291 (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
37293 2010-12-22 Noel Gordon <noel.gordon@gmail.com>
37295 Reviewed by Darin Fisher.
37297 [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
37298 https://bugs.webkit.org/show_bug.cgi?id=51321
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.
37304 No new tests: canvas.toDataURL() is covered by existing tests.
37306 * platform/image-encoders/skia/PNGImageEncoder.cpp:
37307 (WebCore::preMultipliedBGRAtoRGBA):
37309 2010-12-22 Ariya Hidayat <ariya@sencha.com>
37311 Reviewed by Simon Fraser.
37313 Implement skewX() and skewY() for CSSMatrix.
37314 https://bugs.webkit.org/show_bug.cgi?id=38335
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().
37321 2010-12-22 Simon Fraser <simon.fraser@apple.com>
37323 Reviewed by Dan Bernstein.
37325 Support unprefixed box-shadow property
37326 https://bugs.webkit.org/show_bug.cgi?id=51448
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.
37332 Test: fast/css/box-shadow.html
37334 * css/CSSComputedStyleDeclaration.cpp:
37335 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
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
37345 * css/CSSPropertyNames.in: add box-shadow
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.
37352 * css/SVGCSSStyleSelector.cpp:
37353 (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
37355 * page/animation/AnimationBase.cpp:
37356 (WebCore::blendFunc):
37357 (WebCore::PropertyWrapperShadow::blend):
37358 (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
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):
37367 2010-12-22 Michael Saboff <msaboff@apple.com>
37369 Reviewed by Sam Weinig.
37371 REGRESSION: Can't shadow/overwrite window.constructor
37372 (causes TypeError exception)
37373 https://bugs.webkit.org/show_bug.cgi?id=48953
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.
37379 * bindings/scripts/CodeGeneratorJS.pm:
37380 * page/DOMWindow.idl:
37382 2010-12-22 Steve Lacey <sjl@chromium.org>
37384 Reviewed by David Levin.
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.
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.
37395 https://bugs.webkit.org/show_bug.cgi?id=51500
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):
37403 2010-12-22 Mihai Parparita <mihaip@chromium.org>
37405 Reviewed by Simon Fraser.
37407 the shadow direction is negated in canvas context shadowOffsetY.
37408 https://bugs.webkit.org/show_bug.cgi?id=25619
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).
37416 Also does the equivalent changes to FontCGWin.
37418 Test: fast/canvas/fillText-shadow.html
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):
37428 2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com>
37430 Unreviewed, rolling out r74503.
37431 http://trac.webkit.org/changeset/74503
37432 https://bugs.webkit.org/show_bug.cgi?id=51513
37434 breaks chromium mac debug compile (Requested by tonyg-cr on
37437 * platform/graphics/chromium/ImageLayerChromium.cpp:
37438 (WebCore::ImageLayerChromium::updateContentsIfDirty):
37439 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37440 (WebCore::GraphicsContext3D::getImageData):
37442 2010-12-22 Dan Bernstein <mitz@apple.com>
37444 Reviewed by Darin Adler.
37446 Replace runtime checks for hyphenation API availability with compile-time checks.
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.
37455 2010-12-22 Simon Fraser <simon.fraser@apple.com>
37457 Reviewed by Darin Adler.
37459 Cache snapshots of plug-ins before painting, to avoid script running during painting
37460 https://bugs.webkit.org/show_bug.cgi?id=51493
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.
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.
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.
37477 * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
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.
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.
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.
37497 (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
37498 (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
37499 them all the message.
37501 * rendering/RenderWidget.h:
37502 * rendering/RenderWidget.cpp:
37503 (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
37505 2010-12-22 Adrienne Walker <enne@google.com>
37507 Reviewed by Kenneth Russell.
37509 Fix null pointer deref when restoring a lost WebGL context.
37510 https://bugs.webkit.org/show_bug.cgi?id=51494
37512 No new tests, as context restored events are not currently testable.
37514 * html/canvas/WebGLRenderingContext.cpp:
37515 (WebCore::WebGLRenderingContext::initializeNewContext):
37516 (WebCore::WebGLRenderingContext::restoreContext):
37518 2010-12-22 Adam Bergkvist <adam.bergkvist@ericsson.com>
37520 Reviewed by Martin Robinson.
37522 [GTK] Building with Blob support fails again
37523 https://bugs.webkit.org/show_bug.cgi?id=51392
37529 2010-12-22 Dan Bernstein <mitz@apple.com>
37531 Reviewed by Anders Carlsson.
37533 canHyphenate() always returns true for the default locale
37534 https://bugs.webkit.org/show_bug.cgi?id=51506
37536 No test, since this change only affects performance.
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.
37542 2010-12-22 Yury Semikhatsky <yurys@chromium.org>
37544 Reviewed by Joseph Pecoraro.
37546 Web Inspector: script name gets parsed as HTML in Call stack panel
37547 https://bugs.webkit.org/show_bug.cgi?id=51468
37549 * inspector/front-end/Placard.js:
37550 (WebInspector.Placard.prototype.set subtitle):
37552 2010-12-22 Eric Carlson <eric.carlson@apple.com>
37554 Reviewed by Darin Adler.
37556 MediaPlayer should look for MIME type in data: URL
37557 https://bugs.webkit.org/show_bug.cgi?id=51195
37559 If no MIME type is passed from the media element for a data: URL, try to get it from
37562 No new tests are possible because the MIME type is just passed to the media engine.
37564 * platform/graphics/MediaPlayer.cpp:
37565 (WebCore::MediaPlayer::load):
37567 2010-12-22 W. James MacLean <wjmaclean@chromium.org>
37569 Reviewed by Kenneth Russell.
37571 [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
37572 https://bugs.webkit.org/show_bug.cgi?id=51186
37574 No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
37576 * platform/graphics/chromium/ImageLayerChromium.cpp:
37577 (WebCore::ImageLayerChromium::updateContentsIfDirty):
37578 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
37579 (WebCore::GraphicsContext3D::getImageData):
37581 2010-12-22 Chris Fleizach <cfleizach@apple.com>
37583 Reviewed by Darin Adler.
37585 WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
37586 https://bugs.webkit.org/show_bug.cgi?id=51488
37588 Test: platform/mac/accessibility/aria-menubar.html
37590 * accessibility/AccessibilityObject.cpp:
37591 (WebCore::createARIARoleMap):
37593 2010-12-22 Zhenyao Mo <zmo@google.com>
37595 Reviewed by Kenneth Russell.
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
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:
37606 2010-12-22 Xan Lopez <xlopez@igalia.com>
37608 Reviewed by Gustavo Noronha.
37610 [GTK] Compilation fixes with GTK+ 2.91.7
37611 https://bugs.webkit.org/show_bug.cgi?id=51487
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.
37625 2010-12-22 Dirk Schulze <krit@wbekit.org>
37627 Reviewed by Nikolas Zimmermann.
37629 Cleanup SVG code according to the webkit style rules 2
37630 https://bugs.webkit.org/show_bug.cgi?id=51461
37632 Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
37634 No changes of functionality, so no new tests.
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):
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:
37708 2010-12-22 Chris Fleizach <cfleizach@apple.com>
37710 Reviewed by Sam Weinig.
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
37715 Support aria-multiline and use it to change the role of an ARIA "textbox"
37716 from AXTextArea to AXTextField.
37718 Test: platform/mac/accessibility/aria-multiline.html
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:
37730 2010-12-22 Simon Fraser <simon.fraser@apple.com>
37732 Reviewed by Dan Bernstein.
37734 CSS 2.1 failure: counter-increment-013 fails
37735 https://bugs.webkit.org/show_bug.cgi?id=51483
37737 Clamp the counter-increment property to the valid range of signed
37740 Test: fast/css/counters/counter-increment-overflow.html
37742 * css/CSSParser.cpp:
37743 (WebCore::clampToSignedInteger):
37744 (WebCore::CSSParser::parseCounter):
37746 2010-12-22 Dan Bernstein <mitz@apple.com>
37748 Rubber-stamped by Mark Rowe.
37750 Changed WebKitTools to Tools in script build phases.
37752 * WebCore.xcodeproj/project.pbxproj:
37754 2010-12-21 Vangelis Kokkevis <vangelis@chromium.org>
37756 Reviewed by Kenneth Russell.
37758 [chromium] Fixing crash with empty render surfaces.
37759 https://bugs.webkit.org/show_bug.cgi?id=51432
37761 Test: platform/chromium/compositing/empty-render-surface-crasher.html
37763 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
37764 (WebCore::RenderSurfaceChromium::draw):
37766 2010-12-21 Pavel Podivilov <podivilov@chromium.org>
37768 Reviewed by Yury Semikhatsky.
37770 Web Inspector: persist JavaScript breakpoints in frontend settings.
37771 https://bugs.webkit.org/show_bug.cgi?id=48434
37773 * bindings/js/ScriptDebugServer.cpp:
37774 (WebCore::ScriptDebugServer::setBreakpoint):
37775 (WebCore::ScriptDebugServer::removeBreakpoint):
37776 * bindings/js/ScriptDebugServer.h:
37777 * bindings/v8/DebuggerScript.js:
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:
37814 2010-12-20 Antti Koivisto <antti@apple.com>
37816 Reviewed by Alexey Proskuryakov.
37818 https://bugs.webkit.org/show_bug.cgi?id=51354
37819 Don't block rendering and script execution on deferred stylesheets
37821 - Don't add low priority stylesheets to the document pending sheet count.
37822 - Resolve media attribute fully for the link element stylesheet load.
37824 Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
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:
37836 2010-12-22 Sheriff Bot <webkit.review.bot@gmail.com>
37838 Unreviewed, rolling out r74473.
37839 http://trac.webkit.org/changeset/74473
37840 https://bugs.webkit.org/show_bug.cgi?id=51463
37842 broke compilation on leopard intel release (Requested by
37843 podivilov on #webkit).
37845 * bindings/js/ScriptDebugServer.cpp:
37846 (WebCore::ScriptDebugServer::setBreakpoint):
37847 (WebCore::ScriptDebugServer::removeBreakpoint):
37848 * bindings/js/ScriptDebugServer.h:
37849 * bindings/v8/DebuggerScript.js:
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):
37928 2010-12-21 Pavel Podivilov <podivilov@chromium.org>
37930 Reviewed by Yury Semikhatsky.
37932 Web Inspector: persist JavaScript breakpoints in frontend settings.
37933 https://bugs.webkit.org/show_bug.cgi?id=48434
37935 * bindings/js/ScriptDebugServer.cpp:
37936 (WebCore::ScriptDebugServer::setBreakpoint):
37937 (WebCore::ScriptDebugServer::removeBreakpoint):
37938 * bindings/js/ScriptDebugServer.h:
37939 * bindings/v8/DebuggerScript.js:
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:
37976 2010-12-22 Dirk Schulze <krit@wbekit.org>
37978 Reviewed by Nikolas Zimmermann.
37980 Cleanup SVG code according to the webkit style rules 1
37981 https://bugs.webkit.org/show_bug.cgi?id=51411
37983 First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
37985 No change of functionality.
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):
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):
38102 (WebCore::convertEmUnitToPixel):
38103 * svg/SVGUseElement.cpp:
38104 (WebCore::isDirectReference):
38106 2010-12-22 Dai Mikurube <dmikurube@google.com>
38108 Reviewed by Kent Tamura.
38110 https://bugs.webkit.org/show_bug.cgi?id=51289
38111 Initial state of checkValidity() and :invalid are incorrect with <select required>
38113 * html/HTMLSelectElement.cpp:
38114 (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.
38116 2010-12-22 Alexander Pavlov <apavlov@chromium.org>
38118 Reviewed by Joseph Pecoraro.
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
38123 Invoke markPropertyStart() after the parser has restored after an error.
38125 * css/CSSGrammar.y:
38127 2010-12-22 Dai Mikurube <dmikurube@google.com>
38129 Reviewed by Kent Tamura.
38131 Assertion failure with <select multiple required>
38132 https://bugs.webkit.org/show_bug.cgi?id=51260
38134 Test: fast/css/pseudo-valid-select-click.html
38136 * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
38137 (WebCore::SelectElement::updateListBoxSelection):
38139 2010-12-21 Darin Adler <darin@apple.com>
38141 Unreviewed correction to unreviewed build fix for r74447.
38143 Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.
38145 * html/HTMLImageLoader.cpp:
38146 (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
38147 logic is inside the #ifdef.
38149 2010-12-21 Simon Fraser <simon.fraser@apple.com>
38151 Reviewed by Darin Adler.
38153 Include the shadow color space as part of the GraphicsContext state
38154 https://bugs.webkit.org/show_bug.cgi?id=51420
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.
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):
38180 2010-12-21 Dan Bernstein <mitz@apple.com>
38182 Reviewed by Sam Weinig.
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
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
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.
38203 2010-12-21 Benjamin Kalman <kalman@chromium.org>
38205 Reviewed by Darin Adler.
38207 Shift-End does not select to the end of the line
38208 https://bugs.webkit.org/show_bug.cgi?id=50610
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.
38213 Test: editing/selection/extend-to-line-boundary.html
38215 * editing/SelectionController.cpp:
38216 (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
38218 (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.
38220 2010-12-21 Jan Erik Hanssen <jhanssen@sencha.com>
38222 Reviewed by Simon Fraser.
38224 matrix3d() must take the zoom factor into account
38225 https://bugs.webkit.org/show_bug.cgi?id=51408
38227 Test: transforms/3d/general/matrix-with-zoom-3d.html
38229 * css/CSSStyleSelector.cpp:
38230 (WebCore::CSSStyleSelector::createTransformOperations):
38232 2010-12-21 Adam Barth <abarth@webkit.org>
38234 Reviewed by Darin Adler.
38236 Move V8 to common implementation of window.open
38237 https://bugs.webkit.org/show_bug.cgi?id=51385
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
38243 * bindings/generic/BindingDOMWindow.h:
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:
38272 2010-12-21 Ryosuke Niwa <rniwa@webkit.org>
38274 Unreviewed build fix for r74447.
38276 Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.
38278 * html/HTMLImageLoader.cpp:
38279 (WebCore::HTMLImageLoader::sourceURI):
38281 2010-12-21 Dan Bernstein <mitz@apple.com>
38283 Reviewed by John Sullivan.
38285 <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget
38287 Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html
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).
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.
38297 2010-12-21 Ryosuke Niwa <rniwa@webkit.org>
38299 Reviewed by Darin Adler.
38301 CharacterData needs cleanup
38302 https://bugs.webkit.org/show_bug.cgi?id=51426
38304 Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.
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:
38318 2010-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
38320 Unreviewed, rolling out r74420.
38321 http://trac.webkit.org/changeset/74420
38322 https://bugs.webkit.org/show_bug.cgi?id=51436
38324 causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
38325 (Requested by tonyg-cr on #webkit).
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):
38339 2010-12-21 Kenneth Russell <kbr@google.com>
38341 Reviewed by Darin Fisher.
38343 Enable extensions used in accelerated 2D canvas implementation
38344 https://bugs.webkit.org/show_bug.cgi?id=51433
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.
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:
38358 2010-12-21 Zhenyao Mo <zmo@google.com>
38360 Reviewed by Kenneth Russell.
38362 WebGLRenderingContext needs to zero textures and renderbuffers
38363 https://bugs.webkit.org/show_bug.cgi?id=49355
38365 Test: fast/canvas/webgl/uninitialized-test.html
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.
38401 2010-12-21 Chris Rogers <crogers@google.com>
38403 Reviewed by Kenneth Russell.
38405 Add AudioBusChromium for decoding audio file data
38406 https://bugs.webkit.org/show_bug.cgi?id=51430
38408 No new tests since audio API is not yet implemented.
38410 * platform/audio/chromium: Added.
38411 * platform/audio/chromium/AudioBusChromium.cpp: Added.
38412 (WebCore::createBusFromInMemoryAudioFile):
38414 2010-12-21 Chris Rogers <crogers@google.com>
38416 Reviewed by Kenneth Russell.
38418 Add web audio spatialization resource files
38419 https://bugs.webkit.org/show_bug.cgi?id=50998
38421 No new tests since audio API is not yet implemented.
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.
38669 2010-12-21 Geoffrey Garen <ggaren@apple.com>
38671 Reviewed by Gavin Barraclough & Oliver Hunt.
38673 Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
38674 https://bugs.webkit.org/show_bug.cgi?id=51359
38676 * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
38678 2010-12-21 Ariya Hidayat <ariya@sencha.com>
38680 Reviewed by Simon Fraser.
38682 https://bugs.webkit.org/show_bug.cgi?id=49774
38683 Need to scale translation values in matrix() by the zoom factor.
38685 Test: fast/transforms/matrix-with-zoom.html
38687 * css/CSSStyleSelector.cpp:
38688 (WebCore::CSSStyleSelector::createTransformOperations):
38690 2010-12-21 Jian Li <jianli@chromium.org>
38692 Reviewed by Darin Adler.
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
38698 Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html
38700 * platform/network/FormData.cpp:
38701 (WebCore::FormData::appendKeyValuePairItems):
38703 2010-12-21 Darin Adler <darin@apple.com>
38705 Reviewed by Sam Weinig.
38707 Mac WebKit delivers an extra didCommit when loading web archives
38708 https://bugs.webkit.org/show_bug.cgi?id=51419
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.
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.
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.
38726 2010-12-21 Yong Li <yoli@rim.com>
38728 Reviewed by Adam Barth.
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.
38735 https://bugs.webkit.org/show_bug.cgi?id=48077
38737 Test case: WebCore/manual-tests/bugzilla-48077.html.
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):
38756 2010-12-21 Anders Carlsson <andersca@apple.com>
38758 Reviewed by John Sullivan.
38760 Clicking missing plug-in text does not show a sheet
38761 https://bugs.webkit.org/show_bug.cgi?id=51403
38764 Export symbols needed by WebKit2.
38766 * WebCore.xcodeproj/project.pbxproj:
38767 Make HTMLPlugInImageElement.h a private header.
38769 * html/HTMLPlugInImageElement.h:
38770 (WebCore::HTMLPlugInImageElement::serviceType):
38771 (WebCore::HTMLPlugInImageElement::url):
38772 Make these member functions public.
38774 2010-12-21 Andras Becsi <abecsi@webkit.org>
38776 Unreviewed build fix.
38778 [Qt] Fix the build with USE_GSTREAMER=1
38780 No new tests needed.
38782 * WebCore.pro: remove nonexisting DataSourceGStreamer sources.
38784 2010-12-21 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
38786 Reviewed by Andreas Kling.
38788 [Qt] QtWebKit doesn't build in debug on Windows
38789 https://bugs.webkit.org/show_bug.cgi?id=41930
38791 Disable incremental linking in windows 32bit debug version as webkit is so
38792 big it fails to link incremental.
38794 Build fix. No new test cases added.
38798 2010-12-21 Dominic Cooney <dominicc@google.com>
38800 Reviewed by Adam Barth.
38802 Rename Node::isShadowNode to isShadowRoot
38803 https://bugs.webkit.org/show_bug.cgi?id=51060
38805 The method gets whether the node is the root of a shadow tree;
38806 renamed to reflect intent.
38808 A simple rename--no new tests needed.
38810 * css/CSSStyleSelector.cpp:
38811 (WebCore::CSSStyleSelector::initForStyleResolve):
38812 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
38814 (WebCore::Node::shadowTreeRootNode):
38815 (WebCore::Node::isInShadowTree):
38816 (WebCore::eventTargetRespectingSVGTargetRules):
38817 (WebCore::Node::getEventAncestors):
38819 (WebCore::Node::isShadowRoot):
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):
38838 2010-12-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
38840 Reviewed by Andreas Kling.
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
38847 Implemented by Asheesh Srivastava.
38849 [QT] QtWebkit geolocation's position.timestamp is not in miliseconds
38850 https://bugs.webkit.org/show_bug.cgi?id=51100
38852 Porting code not covered in layout testing. No new tests added.
38854 * platform/qt/GeolocationServiceQt.cpp:
38855 (WebCore::GeolocationServiceQt::positionUpdated):
38857 2010-12-20 Yuzo Fujishima <yuzo@google.com>
38859 Reviewed by Eric Seidel.
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
38864 Test: fast/css/font-face-font-family-descriptor.html
38866 * css/CSSParser.cpp:
38867 (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule
38868 invalid if its font-family descriptor has multiple (or zero) families.
38870 2010-12-20 Pavel Feldman <pfeldman@chromium.org>
38872 Reviewed by Yury Semikhatsky.
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
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.
38880 * inspector/front-end/ConsoleView.js:
38881 (WebInspector.ConsoleView.prototype._formatnode):
38882 (WebInspector.ConsoleMessage):
38884 2010-12-20 Pavel Feldman <pfeldman@chromium.org>
38886 Reviewed by Joseph Pecoraro.
38888 Web Inspector: cycle through tag name / attributes / new attribute on Tab.
38890 https://bugs.webkit.org/show_bug.cgi?id=38429
38892 * inspector/front-end/ElementsTreeOutline.js:
38893 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
38895 2010-12-20 Yuta Kitamura <yutak@chromium.org>
38897 Reviewed by Alexey Proskuryakov.
38899 WebSocket errors should be logged to console
38900 https://bugs.webkit.org/show_bug.cgi?id=40945
38902 Test: http/tests/inspector/console-websocket-error.html
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):
38920 2010-12-17 MORITA Hajime <morrita@google.com>
38922 Reviewed by James Robinson.
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.
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.
38932 Test: fast/gradients/gradient-after-transparent-border.html
38934 * platform/graphics/skia/PlatformContextSkia.cpp:
38935 (WebCore::PlatformContextSkia::setStrokeShader):
38936 (WebCore::PlatformContextSkia::setFillShader):
38938 2010-12-20 Xiaomei Ji <xji@chromium.org>
38940 Reviewed by Dan Bernstein.
38942 Fix move left/right by character hang.
38943 https://bugs.webkit.org/show_bug.cgi?id=51344
38945 Test: editing/selection/51344.html
38947 * editing/VisiblePosition.cpp:
38948 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
38949 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
38951 2010-12-20 Steve Lacey <sjl@chromium.org>
38953 Reviewed by David Levin.
38955 Add missing default styles in mediaControlsChromium.css to prevent
38957 https://bugs.webkit.org/show_bug.cgi?id=51360
38959 No new tests needed as functionality is covered by existing layout
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):
38967 2010-12-20 Jian Li <jianli@chromium.org>
38969 Reviewed by David Levin.
38971 Add lastModifiedDate attribute to File interface per File API spec
38972 https://bugs.webkit.org/show_bug.cgi?id=49895
38974 lastModifiedDate is not supported for GObject bindings because Date is
38975 not support in code generation.
38977 Test: http/tests/local/fileapi/file-last-modified.html
38979 * fileapi/File.cpp:
38980 (WebCore::File::lastModifiedDate):
38982 * fileapi/File.idl:
38984 2010-12-20 Mark Rowe <mrowe@apple.com>
38986 Reviewed by Dan Bernstein.
38988 <rdar://problem/8757601> Don't install header files in to the Resources directory.
38990 * WebCore.xcodeproj/project.pbxproj:
38992 2010-12-20 Andrei Popescu <andreip@google.com>
38994 Reviewed by Jeremy Orlow.
38996 [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
38997 https://bugs.webkit.org/show_bug.cgi?id=51338
38999 * bindings/v8/SerializedScriptValue.cpp:
39000 (WebCore::ZigZag::Reader::readUint32):
39002 2010-12-20 Beth Dakin <bdakin@apple.com>
39004 Reviewed by Ada Chan.
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>
39011 Only use base inside if(base) block.
39012 * mathml/RenderMathMLSubSup.cpp:
39013 (WebCore::RenderMathMLSubSup::layout):
39015 2010-12-20 Enrica Casucci <enrica@apple.com>
39017 Reviewed by Darin Adler.
39019 Crash at WebCore::SplitElementCommand::SplitElementCommand
39020 https://bugs.webkit.org/show_bug.cgi?id=51278
39021 <rdar://problem/7347139>
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.
39028 Test: editing/execCommand/outdent-inline-blockquote.html
39029 editing/execCommand/outdent-inline-list.html
39031 * editing/IndentOutdentCommand.cpp:
39032 (WebCore::IndentOutdentCommand::outdentParagraph):
39034 2010-12-20 Oliver Hunt <oliver@apple.com>
39036 Reviewed by Darin Adler.
39038 Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
39039 https://bugs.webkit.org/show_bug.cgi?id=51353
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.
39045 I've bumped the serialization version number, and added ObjectReferenceTag
39046 to represent references to objects that have already been seen.
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
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):
39070 2010-12-20 Xan Lopez <xlopez@igalia.com>
39072 Reviewed by Gustavo Noronha.
39074 * GNUmakefile.am: add missing files.
39076 2010-12-20 Abhishek Arya <inferno@chromium.org>
39078 Reviewed by James Robinson.
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
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
39087 Test: fast/css-generated-content/table-before-child-add.html
39089 * rendering/RenderTableRow.cpp:
39090 (WebCore::RenderTableRow::addChild):
39092 2010-12-18 Gavin Barraclough <barraclough@apple.com>
39094 Reviewed by Oliver Hunt.
39096 Bug 26276 - Need a mechanism to determine stack extent
39098 Add forwarding header for StackBounds.h.
39100 * ForwardingHeaders/wtf/StackBounds.h: Added.
39102 2010-12-20 James Robinson <jamesr@chromium.org>
39104 Unreviewed, rolling out r74278.
39105 http://trac.webkit.org/changeset/74278
39106 https://bugs.webkit.org/show_bug.cgi?id=50833
39108 [chromium] Causes many layout tests to crash
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:
39118 2010-12-20 Geoffrey Garen <ggaren@apple.com>
39120 Reviewed by Sam Weinig.
39122 Factored common page set management into a new PageBlock base class
39123 https://bugs.webkit.org/show_bug.cgi?id=51285
39125 * ForwardingHeaders/wtf/PageBlock.h: Added.
39127 2010-12-20 Steve Block <steveblock@google.com>
39129 Reviewed by Jeremy Orlow.
39131 GeolocationPositionCache should do database access on background thread
39132 https://bugs.webkit.org/show_bug.cgi?id=50825
39134 Covered by existing Geolocation tests.
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):
39159 2010-12-20 Andras Becsi <abecsi@webkit.org>
39161 Unreviewed build fix.
39163 [Qt][V8] Add missing sources to the pro file and remove duplications to fix linking.
39165 No new tests needed.
39169 2010-12-20 Alexander Pavlov <apavlov@chromium.org>
39171 Reviewed by Yury Semikhatsky.
39173 Web Inspector: Make CSSCompletions a real class rather than singleton
39174 https://bugs.webkit.org/show_bug.cgi?id=51332
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).
39179 No new tests, as this is a refactoring.
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):
39199 2010-12-10 Pavel Podivilov <podivilov@chromium.org>
39201 Reviewed by Yury Semikhatsky.
39203 Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
39204 https://bugs.webkit.org/show_bug.cgi?id=50813
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):
39222 2010-12-20 Andrei Popescu <andreip@google.com>
39224 Reviewed by Jeremy Orlow.
39226 IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
39227 https://bugs.webkit.org/show_bug.cgi?id=51112
39229 Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.
39231 Test: storage/indexeddb/transaction-crash-on-abort.html
39233 * storage/IDBTransactionBackendImpl.cpp:
39234 (WebCore::IDBTransactionBackendImpl::abort):
39235 (WebCore::IDBTransactionBackendImpl::commit):
39237 2010-12-20 Andrei Popescu <andreip@google.com>
39239 Reviewed by Jeremy Orlow.
39241 IDBCursor::delete is not implemented.
39242 https://bugs.webkit.org/show_bug.cgi?id=51110
39244 Implement IDBCursor::delete.
39245 See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete
39247 Tests: storage/indexeddb/cursor-delete.html
39248 storage/indexeddb/cursor-index-delete.html
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):
39269 2010-12-20 Yury Semikhatsky <yurys@chromium.org>
39271 Reviewed by Pavel Feldman.
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
39276 * inspector/front-end/TextPrompt.js:
39277 (WebInspector.TextPrompt.prototype._moveBackInHistory):
39278 (WebInspector.TextPrompt.prototype._moveForwardInHistory):
39280 2010-12-19 Helder Correia <helder@sencha.com>
39282 Reviewed by Ariya Hidayat.
39284 [Qt] Blur distance should not be affected by transformations
39285 https://bugs.webkit.org/show_bug.cgi?id=51161
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.)"
39292 Test: fast/canvas/canvas-scale-shadowBlur.html
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):
39302 2010-12-19 Dan Bernstein <mitz@apple.com>
39304 Reviewed by Cameron Zwarich.
39306 Text emphasis marks are not repainted correctly in flipped writing modes
39307 https://bugs.webkit.org/show_bug.cgi?id=51307
39309 Tests: fast/repaint/text-emphasis-h.html
39310 fast/repaint/text-emphasis-v.html
39312 * rendering/InlineFlowBox.cpp:
39313 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
39315 2010-12-19 Rob Buis <rwlbuis@gmail.com>
39317 Reviewed by Andreas Kling.
39319 Remove m_drawsContents from RenderSVGContainer.h
39320 https://bugs.webkit.org/show_bug.cgi?id=51305
39322 Remove m_drawsContents, its getter and setter and the call
39323 sites, since it has no effect anymore.
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):
39334 2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
39336 Reviewed by Kenneth Rohde Christiansen.
39338 WebKit does not build with worker but without the javascript debugger
39339 https://bugs.webkit.org/show_bug.cgi?id=51293
39341 Add missing guard for calls depending on the debugger.
39343 * inspector/InspectorController.cpp:
39344 (WebCore::InspectorController::populateScriptObjects):
39345 (WebCore::InspectorController::postWorkerNotificationToFrontend):
39347 2010-12-18 Tom Sepez <tsepez@chromium.org>
39349 Reviewed by David Levin.
39351 https://bugs.webkit.org/show_bug.cgi?id=51055
39352 Fix a null de-reference when an XML file contains a malformed entity
39355 Test: fast/parser/xml-colon-entity.html
39357 * html/parser/HTMLEntitySearch.cpp:
39358 (WebCore::HTMLEntitySearch::advance):
39360 2010-12-18 Noel Gordon <noel.gordon@gmail.com>
39362 Reviewed by David Levin.
39364 [chromium] Simplify the PNG encoder.
39365 https://bugs.webkit.org/show_bug.cgi?id=50905
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<>.
39372 canvas.toDataURL("image/png") is covered by existing tests.
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.
39379 2010-12-18 Dan Bernstein <mitz@apple.com>
39381 Reviewed by Cameron Zwarich.
39383 Text emphasis marks are not always included in the selection highlight
39384 https://bugs.webkit.org/show_bug.cgi?id=51299
39386 Affects pixel results of fast/text/emphasis.html
39388 Account for annotations in selectionTop() and selectionBottom().
39390 * rendering/RootInlineBox.cpp:
39391 (WebCore::RootInlineBox::selectionTop):
39392 (WebCore::RootInlineBox::selectionBottom):
39394 2010-12-18 Dan Bernstein <mitz@apple.com>
39396 Reviewed by Cameron Zwarich.
39398 In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
39399 https://bugs.webkit.org/show_bug.cgi?id=51298
39401 Test: fast/text/emphasis-overlap.html
39403 * rendering/RootInlineBox.cpp:
39404 (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.
39406 2010-12-18 Helder Correia <helder@sencha.com> and Martin Robinson <mrobinson@igalia.com>
39408 Reviewed by Ariya Hidayat.
39410 [Qt] Canvas shadow offset should not be affected by any transformation
39411 https://bugs.webkit.org/show_bug.cgi?id=50422
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
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."
39422 NOTE: this applies only to canvas, not to box shadows.
39424 Test: fast/canvas/canvas-transforms-fillRect-shadow.html
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):
39444 2010-12-18 Ariya Hidayat <ariya@sencha.com>
39446 Reviewed by Andreas Kling.
39448 [Qt] TransparencyLayer should inherit its container render hints
39449 https://bugs.webkit.org/show_bug.cgi?id=51283
39451 * platform/graphics/qt/TransparencyLayer.h:
39452 (WebCore::TransparencyLayer::TransparencyLayer):
39454 2010-12-18 Tony Gentilcore <tonyg@chromium.org>
39456 Reviewed by Laszlo Gombos.
39458 [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
39459 https://bugs.webkit.org/show_bug.cgi?id=50943
39461 See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start
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:
39473 2010-12-17 Justin Schuh <jschuh@chromium.org>
39475 Reviewed by Andreas Kling.
39477 Style fix for r73927
39478 https://bugs.webkit.org/show_bug.cgi?id=51194
39480 No functionality change. No new tests needed.
39482 * html/HTMLCanvasElement.h:
39484 2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
39486 Reviewed by Martin Robinson.
39488 [GTK] Buttons rendering was broken in r74129
39489 https://bugs.webkit.org/show_bug.cgi?id=51173
39491 * platform/gtk/RenderThemeGtk.cpp:
39492 (WebCore::RenderThemeGtk::paintRenderObject):
39494 2010-12-17 Zoltan Herczeg <zherczeg@webkit.org>
39496 Reviewed by Dirk Schulze.
39498 Improve 'arithmetic' operator on feComposite
39499 https://bugs.webkit.org/show_bug.cgi?id=51105
39501 Fixing style errors and bug description for r74177.
39503 * platform/graphics/filters/FEComposite.cpp:
39504 (WebCore::arithmetic):
39506 2010-12-17 Dan Bernstein <mitz@apple.com>
39508 Rubber-stamped by Mark Rowe.
39510 Updated for the renaming of WebKitTools to Tools
39512 * WebCore.vcproj/build-generated-files.sh:
39513 * WebCore.vcproj/migrate-scripts.sh:
39515 2010-12-17 Carol Szabo <carol.szabo@nokia.com>
39517 Reviewed by Darin Adler.
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
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
39532 * rendering/RenderCounter.cpp:
39533 (WebCore::findPlaceForCounter):
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.
39545 2010-12-17 Shimeng (Simon) Wang <swang@google.com>
39547 Reviewed by Steve Block.
39549 Fix V8 JNI binding.
39550 https://bugs.webkit.org/show_bug.cgi?id=51156
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.
39558 * bridge/jni/v8/JNIUtilityPrivate.cpp:
39559 (JSC::Bindings::convertNPVariantToJValue):
39561 2010-12-17 Simon Fraser <simon.fraser@apple.com>
39563 Reviewed by Chris Marrin.
39565 Interrupted accelerated animation can break later transitions
39566 <rdar://problem/8767714>
39567 https://bugs.webkit.org/show_bug.cgi?id=51264
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.
39573 Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
39576 Test: transitions/interrupted-accelerated-transition.html
39578 * page/animation/AnimationController.cpp:
39579 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
39581 2010-12-17 Simon Fraser <simon.fraser@apple.com>
39583 Reviewed by Chris Marrin.
39585 Interrupted accelerated animation can break later transitions
39586 https://bugs.webkit.org/show_bug.cgi?id=51264
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.
39592 Make a couple of methods private.
39594 No behavioral changes, so no tests.
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:
39605 2010-12-17 Dan Bernstein <mitz@apple.com>
39607 Reviewed by Dave Hyatt.
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
39613 Tests: fast/text/emphasis-vertical.html
39614 fast/text/emphasis.html
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.
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
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.
39652 2010-12-17 W. James MacLean <wjmaclean@chromium.org>
39654 Reviewed by James Robinson.
39656 [chromium] Add support to compositor to composite to offscreen texture.
39657 https://bugs.webkit.org/show_bug.cgi?id=50833
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.
39662 External behaviour not changed, so no tests.
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):
39675 2010-12-17 Ariya Hidayat <ariya@sencha.com>
39677 Reviewed by Andreas Kling.
39679 [Qt] Default image interpolation should reset the render hint
39680 https://bugs.webkit.org/show_bug.cgi?id=51233
39682 Save initial SmoothPixmapTransform render hint so that it can be used
39683 with default image interpolation quality to reset back the render hints.
39685 * platform/graphics/qt/GraphicsContextQt.cpp:
39686 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
39687 (WebCore::GraphicsContext::setImageInterpolationQuality):
39689 2010-12-17 Hans Wennborg <hans@chromium.org>
39691 Reviewed by Jeremy Orlow.
39693 IndexedDB: Support Date objects as keys.
39694 https://bugs.webkit.org/show_bug.cgi?id=51193
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:
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
39719 (WebCore::IDBKey::date):
39720 Add getter for the date value.
39722 2010-12-17 Pavel Podivilov <podivilov@chromium.org>
39724 Reviewed by Pavel Feldman.
39726 Web Inspector: add scripts parsed after resource load to SourceFrame.
39727 https://bugs.webkit.org/show_bug.cgi?id=51243
39729 * inspector/front-end/ScriptsPanel.js:
39730 (WebInspector.ScriptsPanel.prototype._addScript):
39731 * inspector/front-end/SourceFrame.js:
39732 (WebInspector.SourceFrame.prototype.addScript):
39734 2010-12-17 Anton Muhin <antonm@chromium.org>
39736 Reviewed by Yury Semikhatsky.
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
39741 Properly group style elements of HTML links, style elements and processing instructions.
39743 * bindings/v8/V8GCController.cpp:
39744 (WebCore::NodeGrouperVisitor::visitDOMWrapper):
39745 (WebCore::NodeGrouperVisitor::addDOMObjectToGroup):
39747 2010-12-17 Pavel Podivilov <podivilov@chromium.org>
39749 Reviewed by Pavel Feldman.
39751 Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
39752 https://bugs.webkit.org/show_bug.cgi?id=51101
39754 * inspector/front-end/ResourceManager.js:
39755 (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
39757 2010-12-17 Benjamin Poulain <benjamin.poulain@nokia.com>
39759 Reviewed by Laszlo Gombos.
39761 The inspector does not compile without JAVASCRIPT_DEBUGGER
39762 https://bugs.webkit.org/show_bug.cgi?id=51246
39764 Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.
39766 * inspector/InspectorController.h:
39768 2010-12-17 Andrey Kosyakov <caseq@chromium.org>
39770 Reviewed by Pavel Feldman.
39772 Web Inspector: clear extra/override headers when front-end is closed
39773 https://bugs.webkit.org/show_bug.cgi?id=51244
39775 * inspector/InspectorController.cpp:
39776 (WebCore::InspectorController::disconnectFrontend):
39777 (WebCore::InspectorController::willSendRequest):
39779 2010-12-17 Pavel Feldman <pfeldman@chromium.org>
39781 Reviewed by Yury Semikhatsky.
39783 Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
39784 https://bugs.webkit.org/show_bug.cgi?id=50893
39786 Now Mac shortcuts are:
39787 - Cmd F/G = find / next
39788 - Cmd L = go to line
39791 - Ctrl+G = go to line
39793 * inspector/front-end/ScriptsPanel.js:
39794 (WebInspector.ScriptsPanel.prototype._registerShortcuts):
39795 * inspector/front-end/inspector.js:
39796 (WebInspector._registerShortcuts):
39798 2010-12-16 Sergio Villar Senin <svillar@igalia.com>
39800 Reviewed by Martin Robinson.
39802 Wrong check in ResourceHandleSoup in error cases
39803 https://bugs.webkit.org/show_bug.cgi?id=51171
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
39810 * platform/network/soup/ResourceHandleSoup.cpp:
39811 (WebCore::sendRequestCallback):
39813 2010-12-17 Andreas Kling <andreas.kling@nokia.com>
39815 Reviewed by Kenneth Rohde Christiansen.
39817 [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
39818 https://bugs.webkit.org/show_bug.cgi?id=49954
39820 * platform/graphics/qt/GraphicsContextQt.cpp:
39821 (WebCore::GraphicsContext::pushTransparencyLayerInternal):
39822 (WebCore::GraphicsContext::beginTransparencyLayer):
39824 2010-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
39826 Reviewed by Martin Robinson.
39828 [GTK] Compile warning introduced in r74129
39829 https://bugs.webkit.org/show_bug.cgi?id=51181
39831 * platform/gtk/RenderThemeGtk.cpp:
39832 (WebCore::RenderThemeGtk::gtkContainer):
39834 2010-12-17 James Simonsen <simonjam@chromium.org>
39836 Reviewed by Darin Fisher.
39838 [Web Timing] Add sslHandshakeStart to interface
39840 https://bugs.webkit.org/show_bug.cgi?id=50400
39842 Test: http/tests/misc/webtiming-ssl.php
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.
39851 2010-12-17 James Simonsen <simonjam@chromium.org>
39853 Reviewed by Darin Fisher.
39855 [Web Timing] Navigation type enums should begin with TYPE_
39856 https://bugs.webkit.org/show_bug.cgi?id=51200
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.
39863 2010-12-17 Steve Block <steveblock@google.com>
39865 Unreviewed build fix.
39867 Fix build when Geolocation is disabled.
39869 No new tests, build fix only.
39871 * page/Geolocation.h:
39873 2010-12-17 Patrick Gansterer <paroga@webkit.org>
39875 Unreviewed. WinCE build fix.
39877 * platform/graphics/GraphicsContext.h:
39879 2010-12-17 Ilya Tikhonovsky <loislo@chromium.org>
39881 Reviewed by Yury Semikhatsky.
39883 Web Inspector: remove unnecessary dependencies from InspectorBackendStub.
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.
39891 https://bugs.webkit.org/show_bug.cgi?id=51184
39894 * inspector/CodeGeneratorInspector.pm:
39895 * inspector/front-end/Callback.js: Removed.
39896 * inspector/front-end/WebKit.qrc:
39897 * inspector/front-end/inspector.html:
39899 2010-12-15 Andrey Kosyakov <caseq@chromium.org>
39901 Reviewed by Pavel Feldman.
39903 Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
39904 https://bugs.webkit.org/show_bug.cgi?id=50493
39906 Test: http/tests/inspector/extensions-headers.html
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):
39920 2010-12-16 Koan-Sin Tan <koansin.tan@gmail.com>
39922 Reviewed by Kent Tamura.
39924 Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
39925 https://bugs.webkit.org/show_bug.cgi?id=50365
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.
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):
39951 2010-12-16 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
39953 Reviewed by Eric Carlson.
39955 Provide an interface to require using fullscreen mediaplayer
39956 https://bugs.webkit.org/show_bug.cgi?id=51133
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.
39963 No new tests because no client implements requiresFullscreenForVideoPlayback yet.
39965 * html/HTMLMediaElement.cpp:
39966 (WebCore::HTMLMediaElement::updatePlayState):
39967 (WebCore::HTMLMediaElement::exitFullscreen):
39969 (WebCore::Chrome::requiresFullscreenForVideoPlayback):
39971 * page/ChromeClient.h:
39972 (WebCore::ChromeClient::requiresFullscreenForVideoPlayback):
39974 2010-12-16 Steve Block <steveblock@google.com>
39976 Reviewed by Steve Block.
39978 GeolocationPositionCache needs refactoring
39979 https://bugs.webkit.org/show_bug.cgi?id=50826
39981 No new tests, refactoring only.
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):
40005 2010-12-16 Ariya Hidayat <ariya@sencha.com>
40007 Reviewed by Andreas Kling.
40009 [Qt] GraphicsContext should respect QWebView render hints
40010 https://bugs.webkit.org/show_bug.cgi?id=51208
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.
40017 * html/HTMLCanvasElement.h:
40018 * platform/graphics/qt/GraphicsContextQt.cpp:
40019 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
40021 2010-12-16 Daniel Bates <dbates@rim.com>
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.
40026 Also, add an empty line between the win32* and wince* conditional include blocks.
40030 2010-12-16 Daniel Bates <dbates@rim.com>
40032 Reviewed by Antonio Gomes.
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
40038 Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
40039 the Qt Windows with smooth scrolling enabled.
40041 No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).
40045 2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
40047 Reviewed by Darin Adler.
40049 execCommand('JustifyCenter') adds extra BR
40050 https://bugs.webkit.org/show_bug.cgi?id=51082
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.
40056 Test: editing/execCommand/justify.html
40058 * editing/CompositeEditCommand.cpp:
40059 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
40061 2010-12-16 Jian Li <jianli@chromium.org>
40063 Unreviewed. Fixed chromium build break caused by r74207.
40065 * platform/ContextMenuItem.h:
40067 2010-12-16 Leandro Pereira <leandro@profusion.mobi>
40069 [EFL] Unreviewed build fix.
40071 Disable ContextMenu support for now while support for
40072 CROSS_PLATFORM_MENUS is written.
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):
40095 2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
40097 Reviewed by Darin Adler.
40099 execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
40100 https://bugs.webkit.org/show_bug.cgi?id=51164
40102 Fixed the bug by always enabling the StyleWithCSS command.
40104 Test: editing/style/stylewithcss-without-selection.html
40106 * editing/EditorCommand.cpp:
40107 (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.
40109 2010-12-16 Anders Carlsson <andersca@apple.com>
40111 Reviewed by Darin Adler.
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
40116 Export SharedBuffer related symbols.
40120 2010-12-16 Pavel Feldman <pfeldman@chromium.org>
40122 Reviewed by Yury Semikhatsky.
40124 Web Inspector: timeline records should only operate WebCore time.
40125 https://bugs.webkit.org/show_bug.cgi?id=51127
40127 * inspector/InspectorTimelineAgent.cpp:
40128 (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
40129 * inspector/TimelineRecordFactory.cpp:
40130 (WebCore::TimelineRecordFactory::createResourceFinishData):
40131 * inspector/TimelineRecordFactory.h:
40133 2010-12-15 Alexey Proskuryakov <ap@apple.com>
40135 Reviewed by Darin Adler.
40137 https://bugs.webkit.org/show_bug.cgi?id=50996
40138 <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used
40140 No new tests, cannot test DNS.
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.
40149 2010-12-16 Yury Semikhatsky <yurys@chromium.org>
40151 Reviewed by Pavel Feldman.
40153 Web Inspector: Console always scroll to the bottom on new events
40154 https://bugs.webkit.org/show_bug.cgi?id=51189
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.
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):
40165 2010-12-16 Pavel Podivilov <podivilov@chromium.org>
40167 Reviewed by Yury Semikhatsky.
40169 Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
40170 https://bugs.webkit.org/show_bug.cgi?id=51174
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):
40185 2010-12-16 Hans Wennborg <hans@chromium.org>
40187 Reviewed by Jeremy Orlow.
40189 IndexedDB: Fix IDBDatabaseError code offset bug
40190 https://bugs.webkit.org/show_bug.cgi?id=51177
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).
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
40201 * storage/IDBDatabaseError.h:
40202 (WebCore::IDBDatabaseError::create):
40203 (WebCore::IDBDatabaseError::createWithoutOffset):
40204 (WebCore::IDBDatabaseError::code):
40206 2010-12-16 Sheriff Bot <webkit.review.bot@gmail.com>
40208 Unreviewed, rolling out r74162.
40209 http://trac.webkit.org/changeset/74162
40210 https://bugs.webkit.org/show_bug.cgi?id=51185
40212 More breakage in GTK+ (Requested by xan_ on #webkit).
40214 * platform/text/TextCodecUTF16.cpp:
40215 (WebCore::TextCodecUTF16::registerEncodingNames):
40217 2010-12-16 Alexander Pavlov <apavlov@chromium.org>
40219 Reviewed by Pavel Feldman.
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
40224 The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
40225 are updated once a stylesheet is reverted.
40227 * inspector/front-end/ElementsPanel.js:
40228 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
40229 (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
40230 (WebInspector.ElementsPanel.prototype._styleSheetChanged):
40232 2010-12-16 Yury Semikhatsky <yurys@chromium.org>
40234 Unreviewed. Fix Chromium Mac Debug Clang compilation.
40236 * platform/graphics/FontFastPath.cpp:
40237 (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
40239 2010-12-16 Alejandro G. Castro <alex@igalia.com>
40241 Unreviewed. Fix GTK3 compilation after 74129.
40243 * platform/gtk/WidgetRenderingContextGtk3.cpp:
40245 2010-12-16 Yury Semikhatsky <yurys@chromium.org>
40247 Unreviewed. Fix Chromium Debug compilation after r74177
40249 * platform/graphics/filters/FEComposite.cpp:
40250 (WebCore::arithmetic):
40252 2010-12-16 Kent Tamura <tkent@chromium.org>
40254 Unreviewed, build fix.
40256 Fix a warning on 32-bit Mac.
40258 * platform/graphics/mac/SimpleFontDataMac.mm:
40259 (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f
40261 2010-12-16 Zoltan Herczeg <zherczeg@webkit.org>
40263 Reviewed by Dirk Schulze.
40265 Improve feArithmeticFilter
40266 https://bugs.webkit.org/show_bug.cgi?id=51105
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.
40272 2% speedup on WebCore/manual-tests/svg-filter-animation.svg
40274 * platform/graphics/filters/FEComposite.cpp:
40275 (WebCore::computeArithmeticPixels):
40276 (WebCore::arithmetic):
40277 (WebCore::FEComposite::apply):
40279 2010-12-15 Brian Weinstein <bweinstein@apple.com>
40281 Reviewed by Jon Honeycutt.
40283 WebKit2 should exit auto scrolling mode when losing focus
40284 https://bugs.webkit.org/show_bug.cgi?id=49209
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.
40289 Updated manual-tests/autoscroll.html with instructions to test this bug.
40291 * manual-tests/autoscroll.html:
40292 * page/FocusController.cpp:
40293 (WebCore::FocusController::setFocused):
40295 2010-12-15 Dan Bernstein <mitz@apple.com>
40297 Reviewed by Darin Adler.
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
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.
40308 * platform/graphics/Font.h:
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
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.
40330 * platform/graphics/GraphicsContext.cpp:
40331 (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().
40333 * platform/graphics/GraphicsContext.h:
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.
40344 * platform/graphics/SimpleFontData.h:
40345 (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().
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.
40352 * platform/graphics/WidthIterator.h:
40354 * platform/graphics/chromium/FontChromiumWin.cpp:
40355 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
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.
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.
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.
40372 * platform/graphics/efl/FontEfl.cpp:
40373 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
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.
40380 * platform/graphics/gtk/FontGtk.cpp:
40381 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
40383 * platform/graphics/haiku/FontHaiku.cpp:
40384 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
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.
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.
40397 * platform/graphics/mac/ComplexTextController.h:
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.
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.
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.
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.
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.
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.
40437 * platform/graphics/win/UniscribeController.cpp:
40438 (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().
40440 * platform/graphics/wince/FontWinCE.cpp:
40441 (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
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.
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.
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.
40459 * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().
40461 2010-12-15 Beth Dakin <bdakin@apple.com>
40463 Reviewed by Darin Adler.
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>
40470 paintingGoesToWindow() should return false if the owning layer has
40472 * rendering/RenderLayerBacking.cpp:
40473 (WebCore::RenderLayerBacking::paintingGoesToWindow):
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):
40481 2010-12-15 Alex Bredariol Grilo <abgrilo@profusion.mobi>
40483 Reviewed by Eric Seidel.
40485 [EFL] Fix timer calling time in SharedTimerEfl
40487 No new features, so no tests added.
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
40494 * platform/efl/SharedTimerEfl.cpp:
40495 (WebCore::stopSharedTimer):
40496 (WebCore::addNewTimer):
40498 2010-12-15 Andreas Kling <andreas.kling@nokia.com>
40500 Reviewed by Ariya Hidayat.
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
40505 Go through GraphicsContext::setCompositeOperation() which does the check for us.
40507 * platform/graphics/qt/StillImageQt.cpp:
40508 (WebCore::StillImage::draw):
40510 2010-12-15 Yong Li <yoli@rim.com>
40512 Reviewed by Darin Adler.
40514 UTF-16 and its variants should be treated as Big Endian when BOM
40516 https://bugs.webkit.org/show_bug.cgi?id=51035
40518 Test: fast/encoding/char-decoding.html (changed)
40520 * platform/text/TextCodecUTF16.cpp:
40521 (WebCore::TextCodecUTF16::registerEncodingNames):
40523 2010-12-15 Simon Fraser <simon.fraser@apple.com>
40525 Reviewed by Chris Marrin.
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
40530 Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
40531 or in the third parameter to translate3d().
40533 Test: transforms/3d/general/3dtransform-values.html
40535 * css/CSSParser.cpp:
40536 (WebCore::CSSParser::parseTransform):
40537 (WebCore::CSSParser::parseTransformOrigin): Whitespace change.
40539 2010-12-15 Simon Fraser <simon.fraser@apple.com>
40541 Reviewed by Chris Marrin.
40543 Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
40544 https://bugs.webkit.org/show_bug.cgi?id=50967
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.
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).
40552 Test: compositing/reflections/remove-add-reflection.html
40554 * platform/graphics/ca/GraphicsLayerCA.cpp:
40555 (WebCore::GraphicsLayerCA::ensureStructuralLayer):
40557 2010-12-15 Timothy Hatcher <timothy@apple.com>
40559 Fix a regression where the Web Inspector console would be empty
40560 if the Inspector is localized.
40562 https://bugs.webkit.org/show_bug.cgi?id=51145
40564 Reviewed by Joseph Pecoraro.
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.
40572 2010-12-15 Simon Fraser <simon.fraser@apple.com>
40574 Reviewed by Adele Peterson.
40576 WebKit2 in compositing mode no longer has font smoothing
40577 https://bugs.webkit.org/show_bug.cgi?id=50733
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.
40583 * platform/graphics/mac/WebLayer.mm:
40584 (drawLayerContents):
40586 2010-12-15 Simon Fraser <simon.fraser@apple.com>
40588 Reviewed by Dan Bernstein.
40590 Allow disabling of font smoothing in compositing layers to be overridden by style
40591 https://bugs.webkit.org/show_bug.cgi?id=50732
40593 Add methods to GraphicsContext to get and set font smoothing,
40594 and have them be part of the graphics state.
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.
40600 Turn off smoothing in compositing layers with this, rather than
40601 the non-stateful 'allow' method.
40603 * manual-tests/compositing/font-smoothing.html: Added.
40604 Manual test because DRT disables font smoothing.
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):
40619 2010-12-15 Matthew Delaney <mdelaney@apple.com>
40621 Reviewed by Simon Fraser.
40623 IOSurface bounds checks on bytesPerRow and allocSize are incorrect
40624 https://bugs.webkit.org/show_bug.cgi?id=51137
40626 No new tests added. For those using this new functionality, many current canvas layout tests will now pass.
40628 * platform/graphics/cg/ImageBufferCG.cpp:
40630 2010-12-15 Kenneth Russell <kbr@google.com>
40632 Reviewed by James Robinson.
40634 Web Audio API: port FFTFrame to MKL
40635 https://bugs.webkit.org/show_bug.cgi?id=50986
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.
40643 * WebCore.gyp/WebCore.gyp:
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):
40659 2010-12-15 Yong Li <yoli@rim.com>
40661 Reviewed by Darin Adler.
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
40667 Test: fast/overflow/lots-of-sibling-inline-boxes.html
40669 * rendering/InlineBox.h:
40670 (WebCore::InlineBox::setConstructed):
40671 (WebCore::InlineBox::next):
40672 * rendering/InlineFlowBox.h:
40673 (WebCore::InlineFlowBox::setConstructed):
40675 2010-12-15 Sam Weinig <sam@webkit.org>
40677 Reviewed by Anders Carlsson.
40679 WebKit2: Can't add files to an <input type=file>
40680 https://bugs.webkit.org/show_bug.cgi?id=51087
40682 Add exported function.
40686 2010-12-15 Andreas Kling <andreas.kling@nokia.com>
40688 Reviewed by Antonio Gomes.
40690 [Qt] screenIsMonochrome() is broken
40691 https://bugs.webkit.org/show_bug.cgi?id=49957
40693 * platform/qt/PlatformScreenQt.cpp:
40694 (WebCore::screenIsMonochrome):
40696 2010-12-15 Martin Robinson <mrobinson@igalia.com>
40698 Reviewed by Gustavo Noronha Silva.
40700 [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
40701 https://bugs.webkit.org/show_bug.cgi?id=48486
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.
40707 No new tests, as this should not change functionality.
40709 * platform/gtk/RenderThemeGtk.cpp:
40710 (WebCore::RenderThemeGtk::paintButton): Add an implementation of button
40711 rendering that uses WidgetRenderingContext.
40713 2010-10-18 Martin Robinson <mrobinson@igalia.com>
40715 Reviewed by Gustavo Noronha Silva.
40717 [GTK] Move input type=range rendering to RenderThemeGtk
40718 https://bugs.webkit.org/show_bug.cgi?id=47836
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
40725 No new tests as this patch does not change functionality.
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
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:
40769 2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
40771 Unreviewed, rolling out r74117.
40772 http://trac.webkit.org/changeset/74117
40773 https://bugs.webkit.org/show_bug.cgi?id=51113
40775 This broke the GTK1 build. (Requested by mrobinson on
40779 * platform/network/soup/cache/webkit/soup-cache.h:
40781 2010-12-15 Jian Li <jianli@chromium.org>
40783 Unreviewed. Fixed a clang compiling error by making the forward
40784 declaration of MediaPlayerFactory be consistent with the definition.
40786 * platform/graphics/MediaPlayer.h:
40788 2010-12-15 David Hyatt <hyatt@apple.com>
40790 Reviewed by Simon Fraser.
40792 Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a
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):
40816 2010-12-13 Pavel Podivilov <podivilov@chromium.org>
40818 Reviewed by Pavel Feldman.
40820 Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel.
40821 https://bugs.webkit.org/show_bug.cgi?id=50908
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):
40854 2010-12-15 Eric Carlson <eric.carlson@apple.com>
40856 Reviewed by Darin Adler.
40858 MediaPlayer should try all installed media engines
40859 https://bugs.webkit.org/show_bug.cgi?id=50209
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:
40874 2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
40876 Reviewed by Martin Robinson.
40878 Changes to enable building WebKit2 for Gtk port
40879 (https://bugs.webkit.org/show_bug.cgi?id=37369)
40881 No new functionality added or deleted. Only makefile change. Hence, no tests added.
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
40886 2010-12-15 Jarred Nicholls <jarred@sencha.com>
40888 Reviewed by Andreas Kling.
40890 [Qt] Implement the File API spec
40891 https://bugs.webkit.org/show_bug.cgi?id=49839
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.
40901 * platform/qt/FileSystemQt.cpp:
40902 (WebCore::directoryName):
40903 (WebCore::readFromFile):
40904 (WebCore::seekFile):
40906 2010-12-14 Antti Koivisto <antti@apple.com>
40908 Reviewed by Alexey Proskuryakov.
40910 https://bugs.webkit.org/show_bug.cgi?id=49548
40911 WebCore cache stores duplicate copies of subresources with URL fragments
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.
40917 Test: http/tests/cache/subresource-fragment-identifier.html
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:
40938 2010-12-15 Anton Muhin <antonm@chromium.org>
40940 Reviewed by David Levin.
40942 [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations
40943 https://bugs.webkit.org/show_bug.cgi?id=50965
40945 * bindings/v8/V8GCController.cpp:
40946 (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
40947 (WebCore::DOMObjectGrouperVisitor::addAllItems):
40949 2010-12-13 Pavel Podivilov <podivilov@chromium.org>
40951 Reviewed by Yury Semikhatsky.
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
40956 BreakpointManager pushes all persistent breakpoints to backend when loaded.
40957 InspectorController restores sticky breakpoints from cookie on navigation.
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):
41001 2010-12-15 Mario Sanchez Prada <msanchez@igalia.com>
41003 Unreviewed, fix compilation warnings after r74066.
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.
41009 2010-12-15 Emil Eklund <eae@chromium.org>
41011 Reviewed by Adam Barth.
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
41017 Test: fast/dom/containerNode.html
41019 * dom/ContainerNode.cpp:
41020 (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event.
41022 2010-12-14 Dan Bernstein <mitz@apple.com>
41024 Reviewed by Maciej Stachowiak.
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
41029 Test: fast/css/appearance-caps-lock-indicator.html
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.
41035 2010-12-14 takano takumi <takano@apple.com>
41037 Reviewed by Dan Bernstein.
41039 text-combine value names have been changed in the css3 proposal.
41040 https://bugs.webkit.org/show_bug.cgi?id=51089
41042 Changed text-combine's value names from "none|cluster|upright" to "none|horizontal".
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.
41054 2010-12-14 Koan-Sin Tan <koansin.tan@gmail.com>
41056 Reviewed by Alexey Proskuryakov.
41058 Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
41059 https://bugs.webkit.org/show_bug.cgi?id=51012
41061 Kana should be displayed correctly in vertical text with broken font.
41063 Test: fast/blockflow/japanese-rl-text-with-broken-font.html
41065 * platform/graphics/Font.cpp:
41066 (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms
41068 2010-12-14 Dan Bernstein <mitz@apple.com>
41070 Reviewed by Sam Weinig.
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
41076 No test possible, since this is just adding a function to be used by upcoming patches.
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:
41084 2010-12-14 Anton D'Auria <adauria@apple.com>
41086 Reviewed by Darin Adler.
41088 Do not allow access to existing HTML5 databases in private browsing
41089 mode https://bugs.webkit.org/show_bug.cgi?id=49332
41091 Test: storage/private-browsing-noread-nowrite.html
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.
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.
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
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):
41160 2010-12-02 MORITA Hajime <morrita@google.com>
41162 Reviewed by Dimitri Glazkov.
41164 [chromium] Fix drawing of inset box shadows
41165 https://bugs.webkit.org/show_bug.cgi?id=41576
41167 When clearing outside clipped path, the context contains unexpected transform.
41168 Fixed to restore original state before the clear.
41170 * platform/graphics/skia/PlatformContextSkia.cpp:
41171 (WebCore::PlatformContextSkia::clipPathAntiAliased):
41172 (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
41174 2010-12-14 Anders Carlsson <andersca@apple.com>
41176 Reviewed by Sam Weinig.
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>
41182 Make sure that Widget::handleEvent is called for applets as well.
41184 * html/HTMLAppletElement.cpp:
41185 (WebCore::HTMLAppletElement::defaultEventHandler):
41186 * html/HTMLAppletElement.h:
41188 2010-12-14 Simon Fraser <simon.fraser@apple.com>
41190 Reviewed by Chris Marrin.
41192 Parts of page disappear
41193 https://bugs.webkit.org/show_bug.cgi?id=41701
41195 The page has text-indent: -1000000px on an element that becomes
41196 compositing, causing a huge tiled layer to get created.
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.
41203 So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false)
41204 for transform animations.
41206 Test: compositing/geometry/limit-layer-bounds-opacity-transition.html
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.
41213 (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation()
41214 with the appropriate property.
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.
41221 2010-12-14 Brady Eidson <beidson@apple.com>
41223 Reviewed by Alexey Proskuryakov.
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
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:
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):
41240 2010-12-14 Simon Fraser <simon.fraser@apple.com>
41242 Reviewed by Chris Marrin.
41244 Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL
41245 https://bugs.webkit.org/show_bug.cgi?id=51072
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
41251 I was not able to reduce the page to a simple testcase.
41253 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
41254 (PlatformCALayer::~PlatformCALayer):
41256 2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
41258 Unreviewed, build fix.
41260 [Qt] Fix the list of header files in WebCore.pro after r74049.
41262 No new tests as there is no new functionality.
41266 2010-12-14 Yael Aharon <yael.aharon@nokia.com>
41268 Reviewed by Andreas Kling.
41270 [Qt] Focus rings are ugly, rects should be united instead of drawn individually
41271 https://bugs.webkit.org/show_bug.cgi?id=49953
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.
41276 Tests: fast/css/focus-ring-detached.html
41277 fast/css/focus-ring-multiline.html
41279 * platform/graphics/qt/GraphicsContextQt.cpp:
41280 (WebCore::drawFocusRingForPath):
41281 (WebCore::GraphicsContext::drawFocusRing):
41283 2010-12-14 Mark Rowe <mrowe@apple.com>
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.
41291 2010-12-14 Simon Fraser <simon.fraser@apple.com>
41293 Reviewed by Dan Bernstein.
41295 compositing/masks/simple-composited-mask.html failure
41296 https://bugs.webkit.org/show_bug.cgi?id=49746
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.
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.
41306 Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added
41307 an enum to say what changed, for somewhat more efficient updating.
41309 Also, when the mask layer gets resized, make sure we mark it as needing
41312 Tested by pixel result of compositing/masks/simple-composited-mask.html
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):
41335 2010-12-14 Mark Rowe <mrowe@apple.com>
41337 Reviewed by Sam Weinig.
41339 <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
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.
41344 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
41345 (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.
41347 2010-12-14 David Hyatt <hyatt@apple.com>
41349 Reviewed by Dan Bernstein.
41351 https://bugs.webkit.org/show_bug.cgi?id=50970
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.
41358 Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise
41359 and for now limit it to RenderBoxes.
41361 Added fast/block/float/floatstack.html
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:
41371 2010-12-14 Mihai Parparita <mihaip@chromium.org>
41373 Reviewed by Dimitri Glazkov.
41375 Move asynchronous event dispatching out of Document
41376 https://bugs.webkit.org/show_bug.cgi?id=49785
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).
41382 No new tests necessary, since no new functionality is exposed (existing
41383 layout tests pass).
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):
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):
41408 2010-12-14 Kyounga Ra <kyounga.ra@gmail.com>
41410 Reviewed by Adam Barth.
41412 <noscript> is rendered with enabled XHTMLMP.
41413 https://bugs.webkit.org/show_bug.cgi?id=48493
41415 * html/HTMLElement.cpp:
41416 (WebCore::HTMLElement::rendererIsNeeded):
41418 2010-12-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
41420 Reviewed by Eric Seidel.
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
41425 No new tests as there is no new functionality.
41427 Guard CONFIG+=link_pkgconfig with !symbian.
41431 2010-12-14 Sheriff Bot <webkit.review.bot@gmail.com>
41433 Unreviewed, rolling out r74040.
41434 http://trac.webkit.org/changeset/74040
41435 https://bugs.webkit.org/show_bug.cgi?id=51050
41437 Breaks 2d.shadow.canvas.transparent.2 and
41438 2d.shadow.image.transparent.2 (Requested by helder on
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):
41456 2010-12-14 Nate Chapin <japhet@chromium.org>
41458 Unreviewed, fixing qt (hopefully for real this time).
41460 Remove a couple more references to loader.h.
41462 * xml/XSLStyleSheetQt.cpp:
41463 * xml/XSLTProcessorQt.cpp:
41465 2010-12-14 Nate Chapin <japhet@chromium.org>
41467 Unreviewed, fix mac and qt builds.
41469 Missed a couple of references to loader.h and
41470 improperly added CachedResourceRequest.h to
41473 * WebCore.xcodeproj/project.pbxproj:
41474 * platform/android/TemporaryLinkStubs.cpp:
41475 * platform/qt/TemporaryLinkStubsQt.cpp:
41477 2010-12-14 Nate Chapin <japhet@chromium.org>
41479 Reviewed by Adam Barth.
41481 Rename Loader to CachedResourceRequest.
41482 https://bugs.webkit.org/show_bug.cgi?id=50848
41484 No new tests, rename only.
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:
41512 2010-12-14 David Hyatt <hyatt@apple.com>
41514 Reviewed by Tim Hatcher.
41516 https://bugs.webkit.org/show_bug.cgi?id=46422
41518 Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for
41519 making printing and pagination work with vertical writing modes.
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):
41559 2010-12-14 Dimitri Glazkov <dglazkov@chromium.org>
41561 Fix GTK build by adding source files that were accidentally skipped in
41564 * GNUmakefile.am: Added SliderThumbElement.
41566 2010-12-14 Beth Dakin <bdakin@apple.com>
41568 Reviewed by Darin Adler.
41570 Fix for https://bugs.webkit.org/show_bug.cgi?id=50974
41571 getComputedStyle() returns wrong values for zoomed elements when
41573 -and corresponding-
41574 <rdar://problem/8522731>
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):
41583 2010-12-13 Dimitri Glazkov <dglazkov@chromium.org>
41585 Reviewed by David Levin.
41587 Move SliderThumbElement into its own file.
41588 https://bugs.webkit.org/show_bug.cgi?id=50973
41590 No change in behavior, so no tests.
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.
41604 2010-12-13 Alexey Proskuryakov <ap@apple.com>
41606 Reviewed by Adam Barth.
41608 https://bugs.webkit.org/show_bug.cgi?id=50953
41609 DNS Prefetch should be an opt-in feature
41611 No new tests, can't test DNS.
41613 * dom/Document.h: Made initDNSPrefetch public, since Page now calls it.
41615 * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged):
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.
41620 * page/Settings.cpp:
41621 (WebCore::Settings::Settings): Changed default to false.
41622 (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change.
41624 2010-12-14 Helder Correia <helder@sencha.com>
41626 Reviewed by Ariya Hidayat.
41628 [Qt] Canvas shadow offset should not be affected by any transformation
41629 https://bugs.webkit.org/show_bug.cgi?id=50422
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
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."
41640 NOTE: this applies only to canvas, not to box shadows.
41642 Test: fast/canvas/canvas-transforms-fillRect-shadow.html
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):
41662 2010-12-14 Alexander Pavlov <apavlov@chromium.org>
41664 Reviewed by Yury Semikhatsky.
41666 Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted
41667 https://bugs.webkit.org/show_bug.cgi?id=51034
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):
41677 2010-12-14 Andreas Kling <andreas.kling@nokia.com>
41679 Reviewed by Kenneth Rohde Christiansen.
41681 [Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
41682 https://bugs.webkit.org/show_bug.cgi?id=51037
41684 It's enough to restore the CompositeOperator after drawing.
41686 * platform/graphics/qt/ImageQt.cpp:
41687 (WebCore::Image::drawPattern):
41689 2010-12-14 Eric Carlson <eric.carlson@apple.com>
41691 Reviewed by Dan Bernstein.
41693 <rdar://problem/8763862>
41694 r72017 used incorrect compiler conditional.
41696 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
41697 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
41699 2010-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
41701 Reviewed by Martin Robinson.
41703 [GTK] Simplify context-menu handling code
41704 https://bugs.webkit.org/show_bug.cgi?id=49658
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):
41724 2010-12-14 Mario Sanchez Prada <msanchez@igalia.com>
41726 Reviewed by Xan Lopez.
41728 [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects
41729 https://bugs.webkit.org/show_bug.cgi?id=27048
41731 Handle focus change for text objects based in caret changes.
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.
41738 Test: platform/gtk/accessibility/caret-browsing-text-focus.html
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.
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.
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.
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.
41771 2010-12-14 Ilya Tikhonovsky <loislo@chromium.org>
41773 Reviewed by Pavel Feldman.
41775 Web Inspector: regroup Inspector.idl entries.
41776 Just for better visibility.
41778 https://bugs.webkit.org/show_bug.cgi?id=51025
41780 * inspector/Inspector.idl:
41782 2010-12-14 Alexander Pavlov <apavlov@chromium.org>
41784 Reviewed by Yury Semikhatsky.
41786 Web Inspector: Reverted stylesheet breaks style data
41787 https://bugs.webkit.org/show_bug.cgi?id=51030
41789 * inspector/InspectorStyleSheet.cpp:
41790 (WebCore::InspectorStyleSheet::reparseStyleSheet):
41792 2010-12-14 Mads Ager <ager@chromium.org>
41794 Reviewed by Pavel Feldman.
41796 [V8] Reflected unsigned attributes should be in the range [0, 2^31)
41797 https://bugs.webkit.org/show_bug.cgi?id=51023
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
41803 * bindings/scripts/CodeGeneratorV8.pm:
41805 2010-12-14 Charlie Reis <creis@chromium.org>
41807 Reviewed by Darin Adler.
41809 Remove stale include of Document.h in V8DOMWrapper.h
41810 https://bugs.webkit.org/show_bug.cgi?id=50607
41812 We no longer need to include Document.h or V8DOMMap.h in
41813 V8DOMWrapper. Removing them to avoid dependencies.
41815 * bindings/v8/V8DOMWrapper.h:
41817 2010-12-14 Julien Chaffraix <jchaffraix@codeaurora.org>
41819 Reviewed by Darin Adler.
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
41824 Tests: http/tests/eventsource/eventsource-content-type-charset.html
41825 http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html
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.
41831 2010-12-14 Pieter Senster <psenster@google.com>
41833 Reviewed by Dirk Schulze.
41835 Incorporate the channel offsets from the ColorMatrix filter in the filter calculation
41836 https://bugs.webkit.org/show_bug.cgi?id=50682
41838 Test: svg/filters/feColorMatrix-offset.svg
41840 * platform/graphics/filters/FEColorMatrix.cpp:
41843 2010-12-14 Jarred Nicholls <jarred@sencha.com>
41845 Reviewed by Kenneth Rohde Christiansen.
41847 Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer)
41849 No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles.
41851 * platform/qt/ClipboardQt.cpp:
41852 (WebCore::ClipboardQt::files):
41854 2010-12-13 Antonio Gomes <agomes@rim.com>
41856 Rubber stamped by Daniel Bates.
41858 Spatial Navigation: code clean up (part V)
41859 https://bugs.webkit.org/show_bug.cgi?id=50666
41861 No new tests needed.
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.
41868 2010-12-13 takano takumi <takano@apple.com>
41870 Reviewed by Dan Bernstein.
41872 GlyphPage::fill() is slow on vertical writing (Mac)
41873 https://bugs.webkit.org/show_bug.cgi?id=50865
41875 No test. Just a performance improvement.
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.
41888 2010-12-13 Antonio Gomes <agomes@rim.com>
41890 Reviewed by Daniel Bates.
41892 Spatial Navigation: code clean up (part IV)
41893 https://bugs.webkit.org/show_bug.cgi?id=50666
41895 Avoid calling canScrollInDirection more than necessary.
41897 No new tests needed.
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):
41905 2010-12-13 Antonio Gomes <agomes@rim.com>
41907 Reviewed by Daniel Bates.
41909 Spatial Navigation: code clean up (part III)
41910 https://bugs.webkit.org/show_bug.cgi?id=50666
41912 No new tests needed.
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
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.
41926 2010-12-13 Mike Lawther <mikelawther@chromium.org>
41928 Reviewed by Daniel Bates.
41930 [skia] ignore transform for canvas shadows
41931 https://bugs.webkit.org/show_bug.cgi?id=50437
41933 * platform/graphics/skia/GraphicsContextSkia.cpp:
41934 (WebCore::GraphicsContext::setPlatformShadow):
41936 2010-12-13 Dai Mikurube <dmikurube@google.com>
41938 Reviewed by Kent Tamura.
41940 ValidityState's exposed functions should check if willValidate() is true before all
41941 https://bugs.webkit.org/show_bug.cgi?id=50617
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
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:
41965 2010-12-13 Noel Gordon <noel.gordon@gmail.com>
41967 Reviewed by David Levin.
41969 [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
41970 https://bugs.webkit.org/show_bug.cgi?id=50545
41972 Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.
41974 No new tests, no change in behaviour.
41976 * platform/graphics/skia/ImageBufferSkia.cpp:
41977 (WebCore::putImageData):
41979 2010-12-13 Gavin Peters <gavinp@chromium.org>
41981 Reviewed by Adam Barth.
41983 Re land Purpose after bad merge
41984 https://bugs.webkit.org/show_bug.cgi?id=51000
41986 * loader/loader.cpp:
41987 (WebCore::Loader::load):
41989 2010-12-13 Dan Bernstein <mitz@apple.com>
41991 Reviewed by Simon Fraser.
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
41996 Many test results updated.
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.
42003 2010-12-13 Mark Rowe <mrowe@apple.com>
42005 Rubber-stamped by Jon Honeycutt.
42007 Remove unnecessary include of Switch module.
42009 There are no switch statements in this file.
42011 * dom/make_names.pl:
42013 2010-12-13 Emil Eklund <eae@chromium.org>
42015 Reviewed by Dimitri Glazkov.
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
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
42027 2010-12-13 Chris Fleizach <cfleizach@apple.com>
42029 Reviewed by Beth Dakin.
42031 AX: aria-invalid should be supported.
42032 https://bugs.webkit.org/show_bug.cgi?id=50573
42034 Test: platform/mac/accessibility/aria-invalid.html
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:]):
42048 (WebCore::Element::updateAfterAttributeChanged):
42049 * html/HTMLAttributeNames.in:
42051 2010-12-13 Joone Hur <joone@kldp.org>
42053 Reviewed by Eric Seidel.
42055 WebKit fails to compile when building with WML support enabled
42056 https://bugs.webkit.org/show_bug.cgi?id=42943
42058 Use TextPosition instead of lineNumber() and columNumber().
42060 No new tests are added, because this is just a build fix.
42062 * dom/XMLDocumentParser.h: Make lineNumber() private.
42063 * wml/WMLErrorHandling.cpp:
42064 (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().
42066 2010-12-13 Chris Fleizach <cfleizach@apple.com>
42068 Reviewed by Beth Dakin.
42070 AX: lists and list boxes need different attributes
42071 https://bugs.webkit.org/show_bug.cgi?id=50978
42073 Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).
42075 * accessibility/mac/AccessibilityObjectWrapper.mm:
42076 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
42078 2010-12-13 David Hyatt <hyatt@apple.com>
42080 Reviewed by Sam Weinig.
42082 https://bugs.webkit.org/show_bug.cgi?id=50963
42084 REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
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
42092 * rendering/RenderLayer.cpp:
42093 (WebCore::RenderLayer::childrenClipRect):
42094 (WebCore::RenderLayer::selfClipRect):
42095 * rendering/RenderView.h:
42096 (WebCore::RenderView::documentRect):
42098 2010-12-13 Simon Fraser <simon.fraser@apple.com>
42100 GraphicsContextPrivate.h was removed. Nuke it from the project.
42102 * WebCore.xcodeproj/project.pbxproj:
42104 2010-12-13 Eric Carlson <eric.carlson@apple.com>
42106 Reviewed by Antti Koivisto.
42108 HTMLMediaElement::endedPlayback should not return true if duration is zero
42109 https://bugs.webkit.org/show_bug.cgi?id=50962
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.
42114 2010-12-13 Brent Fulgham <bfulgham@webkit.org>
42116 Unreviewed build fix after r73840.
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.
42122 2010-12-13 David Hyatt <hyatt@apple.com>
42124 Reviewed by Adam Roben.
42126 Make sure the defaultSpaceEventHandler does logical scrolling.
42128 * page/EventHandler.cpp:
42129 (WebCore::EventHandler::defaultSpaceEventHandler):
42131 2010-12-13 Matthew Delaney <mdelaney@apple.com>
42133 Reviewed by Simon Fraser.
42135 https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas
42137 No new tests necessary.
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:
42150 2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com>
42152 Unreviewed, rolling out r73923.
42153 http://trac.webkit.org/changeset/73923
42154 https://bugs.webkit.org/show_bug.cgi?id=50944
42156 Broke editing/selection/extend-selection-home-end.html on non-
42157 mac platforms. Looks like a real bug. (Requested by ojan on
42160 * editing/SelectionController.cpp:
42161 (WebCore::SelectionController::positionForPlatform):
42162 (WebCore::SelectionController::modifyExtendingForward):
42164 2010-12-13 David Hyatt <hyatt@apple.com>
42166 Reviewed by Sam Weinig.
42168 https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode.
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.
42173 Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
42174 frames got skipped over.
42176 Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
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:
42208 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
42210 Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
42212 REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
42213 https://bugs.webkit.org/show_bug.cgi?id=50950
42215 * Android.jscbindings.mk:
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):
42249 * dom/ErrorEvent.cpp:
42250 * dom/ErrorEvent.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):
42280 2010-12-13 Antti Koivisto <antti@apple.com>
42282 Reviewed by Alexey Proskuryakov.
42284 https://bugs.webkit.org/show_bug.cgi?id=50758
42285 <rdar://problem/8722094>
42286 Defer loading print stylesheets
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.
42295 Tests: http/tests/local/link-stylesheet-load-order-preload.html
42296 http/tests/local/link-stylesheet-load-order.html
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):
42348 2010-12-13 Justin Schuh <jschuh@chromium.org>
42350 Reviewed by Dimitri Glazkov.
42352 Build fix for r73927
42353 https://bugs.webkit.org/show_bug.cgi?id=50946
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.
42359 No behavior changed so no new tests needed.
42361 * css/CSSCanvasValue.cpp:
42362 (WebCore::CSSCanvasValue::canvasDestroyed):
42364 2010-12-13 Matthew Delaney <mdelaney@apple.com>
42366 Reviewed by nobody, build fix.
42368 Unlinking IOSurface framework from xcodeproj.
42370 * WebCore.xcodeproj/project.pbxproj:
42372 2010-12-13 Justin Schuh <jschuh@chromium.org>
42374 Reviewed by Dimitri Glazkov.
42376 HTMLCanvasElement should handle multiple observers.
42377 https://bugs.webkit.org/show_bug.cgi?id=50899
42379 Test: fast/canvas/canvas-bg-multiple-removal.html
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:
42394 2010-12-13 Mihai Parparita <mihaip@chromium.org>
42396 Reviewed by Adam Barth.
42398 [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
42399 https://bugs.webkit.org/show_bug.cgi?id=50841
42401 Test: fast/canvas/strokeText-missing-args.html
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).
42407 * html/canvas/CanvasRenderingContext2D.cpp:
42408 (WebCore::CanvasRenderingContext2D::drawTextInternal):
42410 2010-12-09 Matthew Delaney <mdelaney@apple.com>
42412 Reviewed by Simon Fraser.
42414 Adopt new CG API for canvas
42415 https://bugs.webkit.org/show_bug.cgi?id=50591
42417 No new tests. All current layout tests are sufficient.
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.
42438 2010-12-13 Benjamin Kalman <kalman@chromium.org>
42440 Reviewed by Ojan Vafai.
42442 Shift-End does not select to the end of the line
42443 https://bugs.webkit.org/show_bug.cgi?id=50610
42445 Test: editing/selection/extend-to-line-boundary.html
42447 * editing/SelectionController.cpp:
42448 (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
42450 (WebCore::SelectionController::modifyExtendingForward):
42452 2010-12-13 Adam Roben <aroben@apple.com>
42454 Windows build fix after r73914
42456 * WebCore.vcproj/WebCore.vcproj: Fix malformed XML.
42458 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
42460 Unreviewed. Qt build fix.
42462 * dom/ScriptExecutionContext.cpp:
42463 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
42464 * dom/ScriptExecutionContext.h:
42466 2010-12-13 Mario Sanchez Prada <msanchez@igalia.com>
42468 Reviewed by Xan Lopez.
42470 [Gtk] Additional support is needed for caret browsing
42471 https://bugs.webkit.org/show_bug.cgi?id=25526
42473 Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
42474 browsing is enabled.
42476 This change impacts the GTK-port only as caret browsing is a
42477 feature only used in that platform so far.
42479 Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html
42481 * editing/EditorCommand.cpp:
42482 (WebCore::createCommandMap): Enable the commads when in caret browsing.
42484 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
42486 Unreviewed. Qt build fix.
42489 (WebCore::Event::isErrorEvent):
42490 * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
42493 2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
42495 Reviewed by Yury Semikhatsky.
42497 Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
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.
42504 https://bugs.webkit.org/show_bug.cgi?id=50906
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:
42548 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
42550 Unreviewed. Qt build fix.
42552 * dom/ErrorEvent.cpp:
42553 * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
42556 2010-12-13 Yury Semikhatsky <yurys@chromium.org>
42558 Reviewed by Adam Barth.
42560 WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
42561 https://bugs.webkit.org/show_bug.cgi?id=8519
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.
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.
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
42585 * Android.jscbindings.mk:
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):
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):
42640 2010-12-08 Alexander Pavlov <apavlov@chromium.org>
42642 Reviewed by Joseph Pecoraro.
42644 Web Inspector: Enable CSS property editing name/value-wise (like Firebug does)
42645 https://bugs.webkit.org/show_bug.cgi?id=50565
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.)
42653 Now a user can tab through all editable styles for an element, even across rule boundaries.
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:
42690 * inspector/front-end/inspector.js:
42691 (WebInspector.startEditing.defaultFinishHandler):
42692 (WebInspector.startEditing):
42693 * inspector/front-end/treeoutline.js:
42694 (TreeElement.prototype.select):
42696 2010-12-13 Yael Aharon <yael.aharon@nokia.com>
42700 Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot.
42702 * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style.
42704 2010-12-13 Sheriff Bot <webkit.review.bot@gmail.com>
42706 Unreviewed, rolling out r73898.
42707 http://trac.webkit.org/changeset/73898
42708 https://bugs.webkit.org/show_bug.cgi?id=50919
42710 FileSystem and Database API's were broken (Requested by loislo
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):
42756 2010-12-13 Anton Muhin <antonm@chromium.org>
42758 Reviewed by Pavel Feldman.
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
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):
42788 2010-12-13 Zoltan Herczeg <zherczeg@webkit.org>
42790 Unreviewed build fix for r73894.
42792 SVGFEImage should also check its hasResult() in its apply().
42794 * svg/graphics/filters/SVGFEImage.cpp:
42795 (WebCore::FEImage::apply):
42797 2010-12-13 Ilya Tikhonovsky <loislo@chromium.org>
42799 Reviewed by Yury Semikhatsky.
42801 Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
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.
42808 https://bugs.webkit.org/show_bug.cgi?id=50906
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:
42844 2010-12-13 Zoltan Herczeg <zherczeg@webkit.org>
42846 Reviewed by Dirk Schulze.
42848 Better result passing in filter primitives
42849 https://bugs.webkit.org/show_bug.cgi?id=49907
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.
42861 Filters do not generate their results twice (or more) anymore,
42862 when their apply() called multiple times.
42864 The existing tests cover this feature.
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):
42919 2010-12-13 Csaba Osztrogonác <ossy@webkit.org>
42923 * WebCore.pro: Remove non-existant loader/Request.h from build system.
42925 2010-12-13 Noel Gordon <noel.gordon@gmail.com>
42927 Reviewed by Eric Seidel.
42929 [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10%
42930 https://bugs.webkit.org/show_bug.cgi?id=50804
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.
42936 No new tests: canvas.toDataURL() is covered by existing tests.
42938 * platform/image-encoders/skia/JPEGImageEncoder.cpp:
42939 (WebCore::preMultipliedBGRAtoRGB):
42941 2010-12-13 Helder Correia <helder@sencha.com>
42943 Reviewed by Eric Seidel.
42945 [Qt] StillImage::draw() should use ContextShadow
42946 https://bugs.webkit.org/show_bug.cgi?id=50849
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.
42955 Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
42957 * platform/graphics/qt/StillImageQt.cpp:
42958 (WebCore::StillImage::draw):
42960 2010-12-12 Jon Honeycutt <jhoneycutt@apple.com>
42962 Unreviewed build fix.
42964 * editing/EditingAllInOne.cpp:
42965 Add new file to the all-in-one.
42967 2010-12-12 Jon Honeycutt <jhoneycutt@apple.com>
42969 Unreviewed build fix.
42971 * WebCore.vcproj/WebCore.vcproj:
42972 Remove accidentally-committed conflict marker.
42974 2010-10-28 MORITA Hajime <morrita@google.com>
42976 Reviewed by Ojan Vafai.
42978 spellcheck does not check pasted text
42979 https://bugs.webkit.org/show_bug.cgi?id=40092
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.
42993 Test: editing/spelling/spellcheck-paste.html
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):
43040 (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
43041 (WebCore::Settings::asynchronousSpellCheckingEnabled):
43043 2010-12-09 Antonio Gomes <agomes@rim.com>
43045 Reviewed by Daniel Bates.
43047 Spatial Navigation: code clean up (part II)
43048 https://bugs.webkit.org/show_bug.cgi?id=50666
43050 No new tests needed.
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.
43061 2010-12-12 Philippe Normand <pnormand@igalia.com>
43063 Reviewed by Xan Lopez.
43065 build-webkit --gtk --minimal fails
43066 https://bugs.webkit.org/show_bug.cgi?id=46267
43068 No new tests, build fix only.
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.
43074 2010-12-12 Sam Magnuson <smagnuso@gmail.com>
43076 Reviewed by Eric Seidel.
43078 [Qt] Compile with QT_NO_QUUID_STRING.
43079 https://bugs.webkit.org/show_bug.cgi?id=49745
43081 * platform/UUID.cpp:
43082 (WebCore::createCanonicalUUIDString):
43084 2010-12-12 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
43086 Reviewed by Eric Seidel.
43088 [Qt] Missing style for date pickers on Qt Mobile theme
43089 https://bugs.webkit.org/show_bug.cgi?id=50628
43091 * css/themeQtMobile.css:
43093 2010-12-11 Alice Liu <alice.liu@apple.com>
43097 * platform/network/mac/ResourceResponseMac.mm:
43098 (WebCore::ResourceResponse::platformLazyInit):
43099 Resolve string[0] ambiguity by passing 0U.
43101 2010-12-11 Adam Barth <abarth@webkit.org>
43103 Reviewed by Sam Weinig.
43105 [V8] Move to DOMWindow::setLocation
43106 https://bugs.webkit.org/show_bug.cgi?id=50876
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
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:
43120 2010-10-11 Diego Gonzalez <diegohcg@webkit.org>
43122 Reviewed by Kenneth Rohde Christiansen.
43124 [Qt] Mock DeviceOrientation client for DRT
43125 https://bugs.webkit.org/show_bug.cgi?id=47490
43129 2010-12-11 Joone Hur <joone@kldp.org>
43131 Reviewed by Alexey Proskuryakov.
43133 enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch
43134 https://bugs.webkit.org/show_bug.cgi?id=50871
43136 Fix the warning which occurs when enumeration value is not handled in switch.
43138 No new tests, no change in behavior.
43140 * bindings/js/JSXMLHttpRequestCustom.cpp:
43141 (WebCore::JSXMLHttpRequest::response):
43143 2010-12-11 Patrick Gansterer <paroga@webkit.org>
43145 Reviewed by Darin Adler.
43147 Add an overload to makeString for Vector<char>
43148 https://bugs.webkit.org/show_bug.cgi?id=50123
43150 This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
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):
43161 2010-12-10 Alexey Proskuryakov <ap@apple.com>
43165 * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
43166 Resolve string[0] ambiguity by passing 0U.
43168 2010-12-10 Steve Falkenburg <sfalken@apple.com>
43170 Windows production build fix.
43172 Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts.
43174 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
43175 * WebCore.vcproj/build-generated-files.sh:
43177 2010-12-10 John Knottenbelt <jknotten@chromium.org>
43179 Reviewed by Eric Seidel.
43181 Remove WebCore/platform/mac/GeolocationService.{h,mm}
43182 https://bugs.webkit.org/show_bug.cgi?id=50074
43184 Remove unused non-client-based geolocation code.
43186 * platform/mac/GeolocationServiceMac.h: Removed.
43187 * platform/mac/GeolocationServiceMac.mm: Removed.
43189 2010-12-10 Alexey Proskuryakov <ap@apple.com>
43191 Reviewed by Darin Adler.
43193 https://bugs.webkit.org/show_bug.cgi?id=46573
43194 <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work
43196 Test: http/tests/mime/quoted-charset.php
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.
43202 2010-12-10 Vincent Scheib <scheib@chromium.org>
43204 Reviewed by James Robinson.
43206 Shader::loadShader() must initialize variable passed to getShaderiv
43207 https://bugs.webkit.org/show_bug.cgi?id=50842
43209 Test: fast/canvas/canvas-largedraws.html
43211 * platform/graphics/gpu/Shader.cpp:
43212 (WebCore::Shader::loadShader):
43214 2010-12-10 Vincent Scheib <scheib@chromium.org>
43216 Reviewed by James Robinson.
43218 Texture::updateSubRect should pass IntRect by reference
43219 https://bugs.webkit.org/show_bug.cgi?id=50845
43221 No test, changing to pass by ref.
43223 * platform/graphics/gpu/Texture.cpp:
43224 (WebCore::Texture::updateSubRect):
43225 * platform/graphics/gpu/Texture.h:
43227 2010-12-10 Darin Adler <darin@apple.com>
43229 Reviewed by Sam Weinig.
43231 Move open and showModalDialog implementations from bindings into DOM class DOMWindow
43232 https://bugs.webkit.org/show_bug.cgi?id=50836
43234 * bindings/js/JSDOMWindowCustom.cpp:
43235 (WebCore::JSDOMWindow::open): Removed most of the code and changed to call
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.
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
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.
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
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.
43283 * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures
43284 function, DialogFeaturesMap typedef, and made setWindowFeature function private.
43286 2010-12-10 Chris Fleizach <cfleizach@apple.com>
43288 Reviewed by Darin Adler.
43290 AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
43291 https://bugs.webkit.org/show_bug.cgi?id=50574
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).
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.
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:]):
43317 2010-12-10 Kenneth Russell <kbr@google.com>
43319 Reviewed by Darin Adler.
43321 Clean up assertion in Extensions3DOpenGL.cpp
43322 https://bugs.webkit.org/show_bug.cgi?id=50852
43324 Built Release mode to test. No functionality change.
43326 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43327 (WebCore::Extensions3DOpenGL::ensureEnabled):
43329 2010-12-10 Cosmin Truta <ctruta@chromium.org>
43331 Reviewed by Eric Seidel.
43333 Crash while processing ill-formed <textPath> ouside of <text>
43334 https://bugs.webkit.org/show_bug.cgi?id=47759
43336 Renderers within a <text> subtree are created only when their corresponding elements
43337 satisfy the content model.
43339 Test: svg/custom/invalid-text-content.svg
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:
43356 2010-12-10 Zhenyao Mo <zmo@google.com>
43358 Reviewed by Adam Barth.
43360 Use enums instead of booleans in ImageSource/ImageDecoder constructors
43361 https://bugs.webkit.org/show_bug.cgi?id=50818
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.
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:
43405 2010-12-10 Ryosuke Niwa <rniwa@webkit.org>
43407 Reviewed by Darin Adler.
43409 REGRESSION(r73799): editing/execCommand/4920488.html fails
43410 https://bugs.webkit.org/show_bug.cgi?id=50854
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.
43416 (WebCore::Range::processContents):
43418 2010-12-10 Adam Barth <abarth@webkit.org>
43420 Reviewed by Eric Seidel.
43422 REGRESSION: Infinite redirect on developer.apple.com
43423 https://bugs.webkit.org/show_bug.cgi?id=45627
43425 Tests: fast/loader/form-submit-aborts-parsing.html
43426 fast/loader/location-change-aborts-parsing.html
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.
43433 * html/parser/HTMLDocumentParser.cpp:
43434 (WebCore::HTMLDocumentParser::pumpTokenizer):
43435 * html/parser/HTMLTreeBuilder.h:
43436 (WebCore::HTMLTreeBuilder::isParsingFragment):
43438 2010-12-10 Brian Weinstein <bweinstein@apple.com>
43440 Reviewed by Ada Chan.
43442 When we are creating a ContextMenuItem, only call setSubMenu if we have
43445 * platform/ContextMenuItem.cpp:
43446 (WebCore::ContextMenuItem::ContextMenuItem):
43448 2010-12-10 Kenneth Russell <kbr@google.com>
43450 Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed
43451 for Release builds.
43453 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43455 2010-12-10 Kenneth Russell <kbr@google.com>
43457 Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG.
43459 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
43460 (WebCore::Extensions3DOpenGL::ensureEnabled):
43462 2010-12-10 Kenneth Russell <kbr@google.com>
43464 Reviewed by James Robinson.
43466 Implement extension entry points and remove EXTENSIONS enum
43467 https://bugs.webkit.org/show_bug.cgi?id=40316
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.
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.
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.
43488 * DerivedSources.make:
43493 * WebCore.xcodeproj/project.pbxproj:
43494 * bindings/js/JSWebGLRenderingContextCustom.cpp:
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:
43543 2010-12-10 Darin Adler <darin@apple.com>
43545 Try to fix Windows build.
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.
43552 2010-12-09 Brian Weinstein <bweinstein@apple.com>
43554 Reviewed by Adam Roben.
43556 Prep for WebKit2: Context menu support on Windows
43557 https://bugs.webkit.org/show_bug.cgi?id=50514
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.
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.
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).
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.
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.
43578 No new tests, no change in behavior.
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
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
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.
43624 2010-12-10 Emil Eklund <eae@chromium.org>
43626 Reviewed by Adam Barth.
43628 Fix crash in ReplaceSelectionCommand::doApply when selection is modified
43630 https://bugs.webkit.org/show_bug.cgi?id=50840
43632 Test: editing/execCommand/insertHTML-mutation-crash.html
43634 * editing/ReplaceSelectionCommand.cpp:
43635 (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
43636 Replaced raw node pointer with RefPtr.
43638 (WebCore::ReplaceSelectionCommand::doApply):
43639 Replaced raw node pointer with RefPtr and added null check.
43641 2010-12-10 Emil Eklund <eae@chromium.org>
43643 Reviewed by Adam Barth.
43645 Fix crash in Range::processContents when modified during mutation event.
43646 https://bugs.webkit.org/show_bug.cgi?id=50710
43648 Test: fast/dom/Range/range-extractContents.html
43651 (WebCore::Range::processContents):
43652 Replace raw pointers with RefPtrs and add checks.
43654 2010-12-09 Enrica Casucci <enrica@apple.com>
43656 Reviewed by Alexey Proskuryakov.
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
43662 * dom/KeyboardEvent.h:
43663 (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor,
43664 since it is now used for more than one command.
43666 2010-12-10 Jessie Berlin <jberlin@apple.com>
43668 Windows build fix. Unreviewed.
43670 * WebCore.vcproj/WebCore.vcproj:
43671 Remove duplicate </File> tag.
43673 2010-12-09 Jenn Braithwaite <jennb@chromium.org>
43675 Reviewed by Adam Barth.
43677 TextResourceDecoder::checkForHeadCharset can look way past the limit.
43678 https://bugs.webkit.org/show_bug.cgi?id=47397
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.
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
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:
43719 2010-12-10 Nate Chapin <japhet@chromium.org>
43721 Reviewed by Antti Koivisto.
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).
43730 Loader will be given a more descriptive name in a later patch.
43732 https://bugs.webkit.org/show_bug.cgi?id=49837
43734 Refactor only, no new tests.
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):
43772 (WebCore::Loader::cachedResourceLoader):
43774 2010-12-10 Martin Robinson <mrobinson@igalia.com>
43776 Unreviewed, rolling out r73703.
43777 http://trac.webkit.org/changeset/73703
43778 https://bugs.webkit.org/show_bug.cgi?id=49658
43780 This patch is causing crashes on the GTK+ bots.
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):
43802 2010-12-08 Mihai Parparita <mihaip@chromium.org>
43804 Reviewed by Darin Adler.
43806 fast/canvas/canvas-getImageData-negative-source.html fails on Mac
43807 https://bugs.webkit.org/show_bug.cgi?id=47901
43809 Test: fast/canvas/canvas-getImageData-rounding.html
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).
43818 * html/HTMLCanvasElement.cpp:
43819 (WebCore::HTMLCanvasElement::convertLogicalToDevice):
43820 (WebCore::HTMLCanvasElement::convertToValidDeviceSize):
43821 * html/HTMLCanvasElement.h:
43823 2010-12-10 Hironori Bono <hbono@chromium.org>
43825 Reviewed by Ojan Vafai.
43827 [Chromium] Use libjpeg-turbo instead of libjpeg
43828 https://bugs.webkit.org/show_bug.cgi?id=50054
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.)
43836 No new tests since this does not change the code at all.
43838 * WebCore.gyp/WebCore.gyp:
43840 2010-12-10 Chris Marrin <cmarrin@apple.com>
43842 Reviewed by Simon Fraser.
43844 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
43845 https://bugs.webkit.org/show_bug.cgi?id=49388
43847 Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside
43848 the implementation.
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):
43859 2010-12-10 Pavel Podivilov <podivilov@chromium.org>
43861 Reviewed by Pavel Feldman.
43863 Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor.
43864 https://bugs.webkit.org/show_bug.cgi?id=50679
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):
43882 2010-12-10 Andreas Kling <kling@webkit.org>
43884 Reviewed by Eric Seidel.
43886 Don't do GraphicsContext save/restore just to preserve the CompositeOperator
43887 https://bugs.webkit.org/show_bug.cgi?id=50070
43889 Add GraphicsContext::compositeOperation() so we don't have to do a full
43890 save/restore if the only context-tainting call is setCompositeOperation().
43892 GraphicsContext::setCompositeOperation() now stores the op in its state
43893 and calls a port-specific setPlatformCompositeOperation().
43895 No new tests, this is an optimization.
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):
43930 2010-12-10 Renata Hodovan <reni@webkit.org>
43932 Reviewed by Andreas Kling.
43934 GraphicsContext: Merge m_common and m_data
43935 https://bugs.webkit.org/show_bug.cgi?id=49914
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.
43944 No new test is needed, because this is a refactoring.
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):
44052 2010-12-10 Pavel Podivilov <podivilov@chromium.org>
44054 Reviewed by Yury Semikhatsky.
44056 Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
44057 https://bugs.webkit.org/show_bug.cgi?id=50809
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):
44097 2010-12-10 Adam Roben <aroben@apple.com>
44099 Windows production build fix after r72555
44101 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
44102 "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
44103 .vsprops files, rather than $(WebKitLibrariesDir).
44105 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
44107 Reviewed by nobody, build fix.
44109 [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710.
44111 * platform/network/qt/QtNAMThreadSafeProxy.cpp:
44112 (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
44113 (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
44114 * platform/network/qt/QtNAMThreadSafeProxy.h:
44116 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
44118 Reviewed by nobody, build fix.
44120 [Qt] Fix the build with Qt 4.6 broken in 73710.
44122 * platform/network/qt/QtNAMThreadSafeProxy.cpp:
44123 (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
44124 * platform/network/qt/QtNAMThreadSafeProxy.h:
44126 2010-12-10 Emil Eklund <eae@chromium.org>
44128 Reviewed by Eric Seidel.
44130 Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
44131 https://bugs.webkit.org/show_bug.cgi?id=49982
44133 * page/EventHandler.cpp:
44134 (WebCore::EventHandler::dispatchMouseEvent):
44135 Walk up DOM/hosted tree rather than render tree.
44137 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
44139 Reviewed by Kenneth Rohde Christiansen.
44141 [Qt] Support a QNetworkAccessManager affined to a different thread.
44142 https://bugs.webkit.org/show_bug.cgi?id=50080
44144 This patch introduce thread safe proxy classes for QNetworkAccessManager
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.
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
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.
44159 New test: tst_QWebPage::networkAccessManagerOnDifferentThread
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):
44189 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
44191 Reviewed by Kenneth Rohde Christiansen.
44193 [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes.
44194 https://bugs.webkit.org/show_bug.cgi?id=50761
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.
44200 * platform/network/qt/QNetworkReplyHandler.cpp:
44201 (WebCore::QNetworkReplyHandler::finish):
44203 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
44205 Reviewed by Kenneth Rohde Christiansen.
44207 [Qt] Make sure we send the response before any data.
44208 https://bugs.webkit.org/show_bug.cgi?id=50760
44210 This patch make sure the data available flag is set before
44211 we call sendResponseIfNeeded.
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:
44221 2010-12-10 Koan-Sin Tan <koansin.tan@gmail.com>
44223 Reviewed by Dan Bernstein.
44225 Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
44226 https://bugs.webkit.org/show_bug.cgi?id=50668
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
44233 * platform/graphics/Font.cpp:
44234 (WebCore::Font::isCJKIdeograph):
44236 2010-12-10 Carlos Garcia Campos <cgarcia@igalia.com>
44238 Reviewed by Martin Robinson.
44240 [GTK] Simplify context-menu handling code
44241 https://bugs.webkit.org/show_bug.cgi?id=49658
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):
44261 2010-12-10 Philippe Normand <pnormand@igalia.com>
44263 Reviewed by Gustavo Noronha Silva.
44265 [GStreamer] un-needed methods
44266 https://bugs.webkit.org/show_bug.cgi?id=50805
44268 No new tests, code cleanup only.
44270 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44271 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
44273 2010-12-10 Philippe Normand <pnormand@igalia.com>
44275 Reviewed by Gustavo Noronha Silva.
44277 [GStreamer] data: source could also support non-base64 encoded URIs
44278 https://bugs.webkit.org/show_bug.cgi?id=30007
44280 Removed our ancient implementation of dataurisrc. We should now
44281 use the one in gst-plugins-bad which is more mature.
44284 * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
44285 * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
44286 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
44287 (WebCore::doGstInit):
44289 2010-12-10 Zoltan Herczeg <zherczeg@webkit.org>
44291 Reviewed by Eric Seidel.
44293 [Qt] Fix crashes in debug mode
44294 https://bugs.webkit.org/show_bug.cgi?id=49976
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.
44300 * bridge/qt/qt_instance.cpp:
44301 (JSC::Bindings::QtInstance::newRuntimeObject):
44303 2010-12-10 François Sausset <sausset@gmail.com>
44305 Reviewed by Eric Seidel.
44307 MathML: update baselinePosition() call in RenderMathMLBlock.cpp
44308 https://bugs.webkit.org/show_bug.cgi?id=50540
44310 The call of baselinePosition() is outdated: new arguments added.
44312 * mathml/RenderMathMLBlock.cpp:
44313 (WebCore::RenderMathMLBlock::paint):
44315 2010-12-10 Hans Wennborg <hans@chromium.org>
44317 Reviewed by Jeremy Orlow.
44319 IndexedDB: Numeric keys are floats.
44320 https://bugs.webkit.org/show_bug.cgi?id=50674
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.
44326 * bindings/v8/IDBBindingUtilities.cpp:
44327 (WebCore::createIDBKeyFromValue):
44328 * bindings/v8/custom/V8IDBKeyCustom.cpp:
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):
44343 2010-12-10 Martin Robinson <mrobinson@igalia.com>
44345 Reviewed by Xan Lopez.
44347 [Gtk] style="font-family: courier" makes text disappear
44348 https://bugs.webkit.org/show_bug.cgi?id=47452
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
44355 Test: platform/gtk/fonts/font-with-no-valid-encoding.html
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.
44365 2010-12-09 Ryosuke Niwa <rniwa@webkit.org>
44367 Reviewed by Ojan Vafai.
44369 Make DOM Mutation Events Asynchronous
44370 https://bugs.webkit.org/show_bug.cgi?id=46936
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.
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).
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.
44387 Test: fast/events/mutation/execCommands.html
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.
44401 (WebCore::Element::dispatchAttrRemovalEvent): Ditto.
44402 (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
44404 (WebCore::Node::dispatchScopedEvent): Added.
44405 (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
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.
44423 2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
44425 Unreviewed, rolling out r73684.
44426 http://trac.webkit.org/changeset/73684
44427 https://bugs.webkit.org/show_bug.cgi?id=50801
44429 "missing bug number" (Requested by rniwa on #webkit).
44436 * WebCore.vcproj/WebCore.vcproj:
44437 * WebCore.xcodeproj/project.pbxproj:
44438 * dom/ContainerNode.cpp:
44439 (WebCore::dispatchChildInsertionEvents):
44440 (WebCore::dispatchChildRemovalEvents):
44441 * dom/DOMAllInOne.cpp:
44443 (WebCore::Element::dispatchAttrRemovalEvent):
44444 (WebCore::Element::dispatchAttrAdditionEvent):
44446 (WebCore::Node::dispatchSubtreeModifiedEvent):
44447 (WebCore::Node::dispatchUIEvent):
44449 * dom/ScopedEventQueue.cpp: Removed.
44450 * dom/ScopedEventQueue.h: Removed.
44451 * editing/EditCommand.cpp:
44452 (WebCore::EditCommand::apply):
44454 2010-12-09 Qi Zhang <qi.2.zhang@nokia.com>
44456 Reviewed by Kenneth Rohde Christiansen.
44458 [Qt] enable orientation flag when QtMobility available
44459 https://bugs.webkit.org/show_bug.cgi?id=50781
44461 When QtMobility available, enable orientation flag by default.
44465 2010-12-09 Kenichi Ishibashi <bashi@google.com>
44467 Reviewed by Kent Tamura.
44469 Improve validation API support of <object> and <keygen>
44470 https://bugs.webkit.org/show_bug.cgi?id=50663
44472 Adds validation API to HTMLObjectElement class.
44473 Makes HTMLKeygenElement::willValidate() return false.
44475 Test: fast/forms/setCustomValidity-existence.html
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.
44485 2010-12-09 Sadrul Habib Chowdhury <sadrul@chromium.org>
44487 Reviewed by Kent Tamura.
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
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
44496 Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
44498 * rendering/RenderThemeChromiumSkia.cpp:
44499 (WebCore::RenderThemeChromiumSkia::paintProgressBar):
44501 2010-12-09 Ryosuke Niwa <rniwa@webkit.org>
44503 Reviewed by Ojan Vafai.
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.
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).
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.
44520 Test: fast/events/mutation/execCommands.html
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.
44534 (WebCore::Element::dispatchAttrRemovalEvent): Ditto.
44535 (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
44537 (WebCore::Node::dispatchScopedEvent): Added.
44538 (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
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.
44556 2010-12-09 Sam Weinig <sam@webkit.org>
44558 Reviewed by Gavin Barraclough.
44560 Fix scrolling with mouse wheel in WebKit2 views. Once
44561 we coalesce wheel events, we can re-enable this.
44563 * platform/mac/ScrollAnimatorMac.mm:
44564 (WebCore::ScrollAnimatorMac::scroll):
44566 2010-12-09 Abhishek Arya <inferno@chromium.org>
44568 Reviewed by James Robinson.
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
44574 Test: fast/html/details-element-render-inline-crash.html
44576 * rendering/RenderDetails.cpp:
44577 (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
44578 * rendering/RenderDetails.h: function definition.
44580 2010-12-09 Jasmin Lapalme <jlapalme@druide.com>
44582 Reviewed by Alexey Proskuryakov.
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
44587 Test: fast/xsl/utf8-chunks.xml
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.
44592 2010-12-09 Vincent Scheib <scheib@chromium.org>
44594 Reviewed by James Robinson.
44596 Clip update rectangle for Texture::updateSubRect to texture size
44597 https://bugs.webkit.org/show_bug.cgi?id=49929
44599 Test: fast/canvas/canvas-largedraws.html
44601 * platform/graphics/gpu/Texture.cpp:
44602 (WebCore::Texture::updateSubRect):
44604 2010-12-09 Kenneth Russell <kbr@google.com>
44606 Unreviewed. Another speculative Gtk build fix after r73669. Add
44607 needed derived sources to GNUmakefile.am.
44611 2010-12-09 Kenneth Russell <kbr@google.com>
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.
44619 2010-12-09 Zhenyao Mo <zmo@google.com>
44621 Reviewed by Kenneth Russell.
44623 Expose constructor functions for instanceof checks of WebGL objects
44624 https://bugs.webkit.org/show_bug.cgi?id=36512
44626 Test: fast/canvas/webgl/instanceof-test.html
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.
44647 2010-12-09 Timothy Hatcher <timothy@apple.com>
44649 Export Color::white and Color::transparent.
44651 Reviewed by Anders Carlsson.
44655 2010-12-09 Sam Weinig <sam@webkit.org>
44657 Fix failing Mac tests.
44659 * platform/mac/ScrollAnimatorMac.mm:
44660 (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
44661 AppleScrollAnimationEnabled is false.
44663 2010-12-09 James Robinson <jamesr@chromium.org>
44665 Reviewed by Kenneth Russell.
44667 [chromium] Compositor needs to manage its VRAM use
44668 https://bugs.webkit.org/show_bug.cgi?id=49629
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.
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.
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.
44686 Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
44687 updateContentsIfDirty().
44689 Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
44690 platform/chromium/compositing/lots-of-img-layers.html
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:
44774 2010-12-09 Darin Adler <darin@apple.com>
44776 Reviewed by Sam Weinig.
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.
44782 Fixes some test failures that I somehow missed before the last check-in.
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.
44790 * bindings/js/JSDOMWindowCustom.cpp:
44791 (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
44792 to the DOMWindow::setLocation function.
44794 * page/DOMWindow.cpp:
44795 (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
44796 (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
44798 * page/DOMWindow.h: Update new functions to take DOMWindow rather
44801 2010-12-09 Sam Weinig <sam@webkit.org>
44803 Try and fix the mac build.
44807 2010-12-09 Dan Bernstein <mitz@apple.com>
44809 Reviewed by Dave Hyatt.
44811 Removed an unused variable.
44813 * rendering/InlineFlowBox.cpp:
44814 (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
44816 2010-12-09 Darin Adler <darin@apple.com>
44818 Reviewed by Geoffrey Garen.
44820 Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
44821 https://bugs.webkit.org/show_bug.cgi?id=50640
44823 * bindings/js/JSDOMBinding.cpp:
44824 (WebCore::printErrorMessageForFrame): Removed body; just call through to
44825 DOMWindow::printErrorMessage.
44827 * bindings/js/JSDOMWindowBase.cpp:
44828 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
44829 just call through to DOMWindow::crossDomainAccessErrorMessage.
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.
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
44840 (WebCore::DOMWindow::printErrorMessage): Added.
44841 (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
44843 * page/DOMWindow.h: Added setLocation, printErrorMessage, and
44844 crossDomainAccessErrorMessage.
44846 2010-12-09 Sam Weinig <sam@webkit.org>
44848 Reviewed by Dan Bernstein.
44850 WebKit2 needs smooth scrolling support on the mac
44851 <rdar://problem/8219402>
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.
44873 2010-12-09 Brady Eidson <beidson@apple.com>
44875 Reviewed by Anders Carlsson.
44877 <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
44878 WebKit2 ContextMenuClient support
44880 Export some symbols and headers needed by WebKit2 Mac:
44882 * WebCore.xcodeproj/project.pbxproj:
44884 2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
44886 Unreviewed, rolling out r73635.
44887 http://trac.webkit.org/changeset/73635
44888 https://bugs.webkit.org/show_bug.cgi?id=50778
44890 'Side-effects on 3 css tests needs closer review' (Requested
44891 by mwenge on #webkit).
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:
44903 2010-12-09 Robert Hogan <robert@webkit.org>
44905 Reviewed by Andreas Kling.
44907 [Qt] Search input field doesn't have cancel button
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.
44913 https://bugs.webkit.org/show_bug.cgi?id=42887
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:
44926 2010-12-09 Yael Aharon <yael.aharon@nokia.com>
44928 Reviewed by Antonio Gomes.
44930 Spatial Navigation: Crash when handling iframe of size 0.
44931 https://bugs.webkit.org/show_bug.cgi?id=50730
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.
44938 Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html
44940 * page/FocusController.cpp:
44941 (WebCore::updateFocusCandidateIfNeeded):
44943 2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
44945 Unreviewed, rolling out r73616.
44946 http://trac.webkit.org/changeset/73616
44947 https://bugs.webkit.org/show_bug.cgi?id=50772
44949 Breaks chromium win build (Requested by hwennborg on #webkit).
44951 * bindings/v8/IDBBindingUtilities.cpp:
44952 (WebCore::createIDBKeyFromValue):
44953 * bindings/v8/custom/V8IDBKeyCustom.cpp:
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):
44967 2010-12-09 Antonio Gomes <agomes@rim.com>
44969 Rubber stamped by by Gustavo Noronha Silva.
44971 Buildfix for GTK+ with building with -no-video.
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.
44977 * platform/gtk/RenderThemeGtk.cpp:
44978 (WebCore::getMediaElementFromRenderObject):
44980 2010-12-07 Antonio Gomes <agomes@rim.com>
44982 Reviewed by Daniel Bates.
44984 Spatial Navigation: code clean up
44985 https://bugs.webkit.org/show_bug.cgi?id=50666
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)).
44991 No new tests needed.
44993 * page/FocusController.cpp:
44994 (WebCore::FocusController::findFocusCandidateInContainer):
44995 * page/SpatialNavigation.cpp:
44996 (WebCore::FocusCandidate::FocusCandidate):
44998 2010-12-09 Philippe Normand <pnormand@igalia.com>
45000 Reviewed by Eric Carlson.
45002 [GStreamer] disable fullscreen on MacOS Tiger and Leopard
45003 https://bugs.webkit.org/show_bug.cgi?id=50748
45005 Don't support fullscreen video on Tiger and Leopard, just like the
45008 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
45009 (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
45011 2010-12-06 Philippe Normand <pnormand@igalia.com>
45013 Reviewed by Martin Robinson.
45015 [GTK] Support the Mozilla-style Fullscreen Javascript API
45016 https://bugs.webkit.org/show_bug.cgi?id=50572
45018 * GNUmakefile.am: enable the Javascript Fullscreen API feature if
45019 it's been requested at configure time.
45021 2010-12-09 Yong Li <yoli@rim.com>
45023 Reviewed by Darin Adler.
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
45029 No new test because it relies on the platform implementation
45030 of ImageBuffer. It is hard to make ImageBuffer::create() fail
45033 * platform/graphics/GeneratedImage.cpp:
45034 (WebCore::GeneratedImage::drawPattern):
45036 2010-12-09 Maciej Stachowiak <mjs@apple.com>
45038 Reviewed by Dan Bernstein.
45040 Implement "Use Selection for Find" in WebKit2
45041 https://bugs.webkit.org/show_bug.cgi?id=50737
45042 <rdar://problem/8564881>
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.
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
45059 (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
45060 to the special Find pasteboard.
45062 2010-12-09 Abhishek Arya <inferno@chromium.org>
45064 Reviewed by Dimitri Glazkov.
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
45072 Test: fast/dom/node-iterator-reference-node-moved-crash.html
45074 * dom/Document.cpp:
45075 (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
45077 2010-12-08 Dimitri Glazkov <dglazkov@chromium.org>
45079 Reviewed by Darin Adler.
45081 Provide a generic way to store shadowParent on a Node.
45082 https://bugs.webkit.org/show_bug.cgi?id=50184
45084 This patch makes TreeShared::m_parent act as either parentNode() or
45085 shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
45087 Refactoring, so no new tests. See performance result testing in bug.
45090 (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
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
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
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
45157 (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
45159 (WebCore::TextControlInnerElement::detach): Added.
45160 * rendering/TextControlInnerElements.h: Removed members that are no
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.
45172 2010-12-09 Brady Eidson <beidson@apple.com>
45174 Reviewed by Maciej Stachowiak.
45176 <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
45177 WebKit2 Authentication Support
45181 2010-12-09 Peter Beverloo <peter@lvp-media.com>
45183 Reviewed by Maciej Stachowiak.
45185 Default CSS definitions for the figure and figcaption elements.
45187 Tests: fast/html/figcaption-element.html
45188 fast/html/figure-element.html
45191 (figure): The default figure-style equals a blockquote
45192 (figcaption): A non-sectioning block-level element
45194 2010-12-09 Yury Semikhatsky <yurys@chromium.org>
45196 Reviewed by Pavel Feldman.
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
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
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):
45234 2010-12-09 Dai Mikurube <dmikurube@google.com>
45236 Reviewed by Kent Tamura.
45238 Implement "required" attribute for select tags
45239 https://bugs.webkit.org/show_bug.cgi?id=50380
45241 Test: fast/forms/select-live-pseudo-selectors.html
45242 platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
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.
45272 2010-12-07 Jeremy Orlow <jorlow@chromium.org>
45274 Reviewed by Steve Block.
45276 IndexedDB returns the wrong exceptions
45277 https://bugs.webkit.org/show_bug.cgi?id=50632
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.
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:
45299 2010-12-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
45301 Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
45304 * plugins/gtk/gtk2xtbin.c:
45305 (gtk_xtbin_realize):
45307 2010-12-09 Siddharth Mathur <siddharth.mathur@nokia.com>
45309 Reviewed by Laszlo Gombos.
45311 Use BUILDING_WEBKIT like other ports
45312 https://bugs.webkit.org/show_bug.cgi?id=50713
45314 * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
45316 2010-12-08 Erik Arvidsson <arv@chromium.org>
45318 Reviewed by Darin Adler.
45320 Replace getAttribute().isNull() with fastHasAttribute()
45321 https://bugs.webkit.org/show_bug.cgi?id=50719
45323 Covered by existing tests.
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):
45348 2010-12-08 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
45350 Reviewed by Martin Robinson.
45352 Full page size flash plugins do not show in all situations
45353 https://bugs.webkit.org/show_bug.cgi?id=47742
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.
45361 Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
45363 * plugins/gtk/PluginViewGtk.cpp:
45364 (WebCore::PluginView::setNPWindowIfNeeded):
45366 2010-12-08 David Hyatt <hyatt@apple.com>
45368 Reviewed by Simon Fraser.
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.
45373 * platform/ScrollView.cpp:
45374 (WebCore::ScrollView::wheelEvent):
45376 2010-12-08 Sam Weinig <sam@webkit.org>
45378 Reviewed by Darin Adler.
45380 Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
45381 https://bugs.webkit.org/show_bug.cgi?id=50726
45383 * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.
45385 2010-12-08 Matthew Delaney <mdelaney@apple.com>
45387 Reviewed by Simon Fraser.
45389 Add getter and setters for acceleratesRendering flag on layers
45390 https://bugs.webkit.org/show_bug.cgi?id=50717
45392 * platform/graphics/GraphicsLayer.cpp:
45393 * platform/graphics/ca/GraphicsLayerCA.cpp:
45394 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
45395 Plumbed through acceleratedRendering flag.
45397 2010-12-07 Zhenyao Mo <zmo@google.com>
45399 Reviewed by Kenneth Russell.
45401 WebGLUniformLocation objects must be invalidated during linkProgram
45402 https://bugs.webkit.org/show_bug.cgi?id=37118
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:
45419 2010-12-08 Adele Peterson <adele@apple.com>
45421 Reviewed by Darin Adler.
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
45426 Test: fast/forms/placeholder-position.html
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.
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:
45438 2010-12-08 Chris Rogers <crogers@google.com>
45440 Reviewed by Kenneth Russell.
45442 Add web audio files to mac port Xcode projects
45443 https://bugs.webkit.org/show_bug.cgi?id=50721
45445 No new tests since audio API is not yet implemented.
45447 * WebCore.xcodeproj/project.pbxproj:
45448 * bindings/js/JSDOMWindowCustom.cpp:
45449 (WebCore::JSDOMWindow::webkitAudioContext):
45451 2010-12-08 Kent Tamura <tkent@chromium.org>
45453 Reviewed by Alexey Proskuryakov.
45455 Yensign hack should work with Shift_JIS and ISO-2022-JP encodings.
45456 https://bugs.webkit.org/show_bug.cgi?id=49714
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.
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.
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:
45479 2010-12-08 Andy Estes <aestes@apple.com>
45481 Reviewed by Darin Adler.
45483 Reflected unsigned attributes should be in the range [0, 2^31).
45484 https://bugs.webkit.org/show_bug.cgi?id=50472
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
45492 Tests: bindings/scripts/test/TestObj.idl
45493 fast/html/marquee-element.html
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.
45510 2010-12-08 Carlos Garcia Campos <cgarcia@igalia.com>
45512 Reviewed by Martin Robinson.
45514 [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk
45515 https://bugs.webkit.org/show_bug.cgi?id=50623
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.
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:
45542 2010-12-08 Abhishek Arya <inferno@chromium.org>
45544 Reviewed by Dimitri Glazkov.
45546 Detach node iterator and move to new document when node gets moved.
45547 https://bugs.webkit.org/show_bug.cgi?id=50697
45549 Test: fast/dom/node-iterator-document-moved-crash.html
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):
45560 2010-12-08 James Robinson <jamesr@chromium.org>
45562 Reviewed by Kenneth Russell.
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
45567 Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
45569 Test: compositing/text-on-large-layer.html
45571 * platform/graphics/chromium/ContentLayerChromium.cpp:
45572 (WebCore::ContentLayerChromium::draw):
45574 2010-12-08 Ryosuke Niwa <rniwa@webkit.org>
45576 Reviewed by Dan Bernstein.
45578 REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails
45579 https://bugs.webkit.org/show_bug.cgi?id=33503
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.
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).
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.
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
45605 * rendering/InlineTextBox.cpp:
45606 (WebCore::InlineTextBox::offsetForPosition):
45608 2010-12-08 Anders Carlsson <andersca@apple.com>
45610 Reviewed by Darin Adler.
45612 Fix some clang++ warnings (one of which was an actual bug)
45613 https://bugs.webkit.org/show_bug.cgi?id=50700
45615 * page/mac/DragControllerMac.mm:
45616 (WebCore::DragController::dragOperation):
45617 Add parentheses to silent a clang warning.
45619 * page/mac/EventHandlerMac.mm:
45620 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
45621 Fix || vs && precedence bug uncovered by clang.
45623 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
45624 (WebCore::GraphicsContext3D::reshape):
45625 Use an early return to avoid a warning.
45627 2010-12-08 Chris Marrin <cmarrin@apple.com>
45629 Reviewed by Simon Fraser.
45631 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
45632 https://bugs.webkit.org/show_bug.cgi?id=49388
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.
45640 I also fixed a couple of build issues found when trying out a
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.
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:
45671 2010-12-07 Brian Weinstein <bweinstein@apple.com>
45673 Reviewed by John Sullivan.
45675 Layering Violation in ContextMenu - member variable of type HitTestResult
45676 https://bugs.webkit.org/show_bug.cgi?id=50586
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.
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.
45686 No change in behavior, no new tests.
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.
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
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.
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.
45723 * page/ContextMenuController.h:
45724 (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
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
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.
45751 2010-12-08 Martin Robinson <mrobinson@igalia.com>
45753 Reviewed by John Sullivan.
45755 [GTK] Layering violation in ContextMenuGtk.cpp
45756 https://bugs.webkit.org/show_bug.cgi?id=50676
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.
45762 * platform/gtk/ContextMenuGtk.cpp:
45763 (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
45764 is a layering violation.
45766 2010-12-08 Jessie Berlin <jberlin@apple.com>
45768 Reviewed by Adam Roben.
45770 WebKit2: Implement WebChromeClient::exceededDatabaseQuota
45771 https://bugs.webkit.org/show_bug.cgi?id=50656
45774 Export the symbol for SecurityOrigin::databaseIdentifier.
45776 2010-12-08 Csaba Osztrogonác <ossy@webkit.org>
45778 Unreviewed, rolling out r73521.
45779 http://trac.webkit.org/changeset/73521
45780 https://bugs.webkit.org/show_bug.cgi?id=50640
45782 It broke 90 layout tests
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:
45793 2010-12-08 David Hyatt <hyatt@apple.com>
45795 Reviewed by Anders Carlsson.
45797 https://bugs.webkit.org/show_bug.cgi?id=50576
45799 REGRESSION in position of autocomplete popup on RTL page.
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.
45805 Added three new tests in fast/block/positioning.
45807 * rendering/RenderBox.cpp:
45808 (WebCore::RenderBox::computePositionedLogicalWidth):
45810 2010-12-08 Xiaomei Ji <xji@chromium.org>
45812 Reviewed by David Hyatt.
45814 Fix backward mouse wheeling not working when scroll position is below 0.
45815 https://bugs.webkit.org/show_bug.cgi?id=50370
45817 Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
45818 fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
45820 * platform/ScrollView.cpp:
45821 (WebCore::ScrollView::wheelEvent):
45823 2010-12-08 Simon Fraser <simon.fraser@apple.com>
45825 Reviewed by Dan Bernstein.
45827 Fix pauseAnimation API to work with shorthand properties
45828 https://bugs.webkit.org/show_bug.cgi?id=50639
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.
45834 * page/animation/AnimationBase.cpp:
45835 (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
45836 of wrappers used by a shorthand wrapper.
45838 (WebCore::gatherEnclosingShorthandProperties): Utility function that walks
45839 through the shorthand wrappers, keeping track of which can affect the given
45841 (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
45842 of shorthand properties that can affect the given property.
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.
45849 2010-12-08 David Hyatt <hyatt@apple.com>
45851 Reviewed by Beth Dakin.
45853 <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885
45855 Make sure the transform applied to the RenderView for page scaling is incorporated into the
45856 docTop/Bottom/Left/Right accessors.
45858 * rendering/RenderView.cpp:
45859 (WebCore::RenderView::docTop):
45860 (WebCore::RenderView::docBottom):
45861 (WebCore::RenderView::docLeft):
45862 (WebCore::RenderView::docRight):
45864 2010-12-08 Ilya Tikhonovsky <loislo@chromium.org>
45866 Reviewed by Yury Semikhatsky.
45868 Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
45869 for TimelineAgent functions.
45871 https://bugs.webkit.org/show_bug.cgi?id=50690
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):
45880 2010-12-08 Philippe Normand <pnormand@igalia.com>
45882 Reviewed by Gustavo Noronha Silva.
45884 [GTK] media/fullscreen* failing on 64-bits Debug
45885 https://bugs.webkit.org/show_bug.cgi?id=50394
45887 Avoid emiting durationchanged in the case where the previous
45888 duration was 0 because that case is already handled by the
45891 Test: media/media-fullscreen*.html
45893 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
45894 (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
45896 2010-12-07 Darin Adler <darin@apple.com>
45898 Reviewed by Geoffrey Garen.
45900 Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
45901 https://bugs.webkit.org/show_bug.cgi?id=50640
45903 * bindings/js/JSDOMBinding.cpp:
45904 (WebCore::printErrorMessageForFrame): Removed body; just call through to
45905 DOMWindow::printErrorMessage.
45907 * bindings/js/JSDOMWindowBase.cpp:
45908 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
45909 just call through to DOMWindow::crossDomainAccessErrorMessage.
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.
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
45920 (WebCore::DOMWindow::printErrorMessage): Added.
45921 (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
45923 * page/DOMWindow.h: Added setLocation, printErrorMessage, and
45924 crossDomainAccessErrorMessage.
45926 2010-12-08 Alejandro G. Castro <alex@igalia.com>
45928 Unreviewed, rolling out r73494.
45929 http://trac.webkit.org/changeset/73494
45930 https://bugs.webkit.org/show_bug.cgi?id=50380
45932 The tests added are crashing in the debug bots (macn and gtk)
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):
45953 2010-12-07 Ilya Tikhonovsky <loislo@chromium.org>
45955 Reviewed by Pavel Feldman.
45957 Web Inspector: Inspector protocol cleanup task. Remove
45958 WebInspector wrappers for DOMAgent functions.
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.
45966 https://bugs.webkit.org/show_bug.cgi?id=50626
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):
45984 2010-12-08 Yury Semikhatsky <yurys@chromium.org>
45986 Reviewed by Pavel Feldman.
45988 Web Inspector: remove groupLevel counter from console messages
45989 https://bugs.webkit.org/show_bug.cgi?id=50672
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):
46028 2010-12-07 Pavel Podivilov <podivilov@chromium.org>
46030 Reviewed by Pavel Feldman.
46032 Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
46033 https://bugs.webkit.org/show_bug.cgi?id=50567
46035 Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.
46037 * English.lproj/localizedStrings.js:
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):
46072 2010-12-08 Pavel Podivilov <podivilov@chromium.org>
46074 Reviewed by Pavel Feldman.
46076 Web Inspector: SourceFrame refactoring.
46077 https://bugs.webkit.org/show_bug.cgi?id=50223
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.
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):
46113 2010-12-08 Yuta Kitamura <yutak@chromium.org>
46115 Unreviewed, rolling out r73492.
46116 http://trac.webkit.org/changeset/73492
46117 https://bugs.webkit.org/show_bug.cgi?id=49914
46119 Caused a lot of pixel test failures and broke Windows build.
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):
46225 2010-12-08 Dai Mikurube <dmikurube@google.com>
46227 Reviewed by Kent Tamura.
46229 Implement "required" attribute for select tags
46230 https://bugs.webkit.org/show_bug.cgi?id=50380
46232 Test: fast/forms/select-live-pseudo-selectors.html
46233 platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
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().
46257 2010-12-08 Renata Hodovan <reni@webkit.org>
46259 Reviewed by Andreas Kling.
46261 GraphicsContext: Merge m_common and m_data
46262 https://bugs.webkit.org/show_bug.cgi?id=49914
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.
46271 No new test is needed, because this is a refactoring.
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):
46377 2010-12-07 Anton Muhin <antonm@chromium.org>
46379 Reviewed by Nate Chapin.
46381 Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
46382 https://bugs.webkit.org/show_bug.cgi?id=50246
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):
46401 2010-12-07 Daniel Bates <dbates@rim.com>
46403 Reviewed by Martin Robinson.
46405 Implement focus ring support for image maps
46406 https://bugs.webkit.org/show_bug.cgi?id=50371
46408 Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
46409 drawing a focus ring for image maps.
46411 Tests: fast/images/imagemap-circle-focus-ring.html
46412 fast/images/imagemap-polygon-focus-ring.html
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&, ...).
46422 2010-12-07 Sergio Villar Senin <svillar@igalia.com>
46424 Reviewed by Xan Lopez.
46426 [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
46427 https://bugs.webkit.org/show_bug.cgi?id=50577
46429 Try to download cached resources again if they are no longer
46430 accesible by the cache.
46432 * platform/network/soup/cache/soup-request-http.c:
46434 (webkit_soup_request_http_send_async):
46436 2010-12-06 MORITA Hajime <morrita@google.com>
46438 Reviewed by Dimitri Glazkov.
46440 RenderIndicator subclasses should not change the render tree during layout.
46441 https://bugs.webkit.org/show_bug.cgi?id=50026
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.
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
46454 RenderMeter uses new HidablePartElement for shadow elements,
46455 which can toggle visibiliby between hidden and original value.
46457 Test: fast/dom/HTMLMeterElement/meter-element-crash.html
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:
46494 2010-11-29 Mihai Parparita <mihaip@chromium.org>
46496 Reviewed by Adam Barth.
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
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
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.
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
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:
46531 2010-12-07 Dan Bernstein <mitz@apple.com>
46533 Reviewed by Darin Adler.
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
46539 Tests: fast/repaint/table-writing-modes-h.html
46540 fast/repaint/table-writing-modes-v.html
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.
46546 2010-12-07 Alexey Marinichev <amarinichev@chromium.org>
46548 Reviewed by James Robinson.
46550 [chromium] compositor lost context recovery fix
46551 https://bugs.webkit.org/show_bug.cgi?id=50614
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.
46558 * platform/graphics/chromium/LayerChromium.cpp:
46559 (WebCore::LayerChromium::setNeedsDisplay):
46561 2010-12-07 Anders Carlsson <andersca@apple.com>
46563 Fix the last clang++ build error.
46565 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46566 (PlatformCALayer::animationForKey):
46567 Cast the returned animation to the correct type.
46569 2010-12-07 Anders Carlsson <andersca@apple.com>
46571 Fix some clang++ build errors.
46573 * platform/graphics/ca/GraphicsLayerCA.cpp:
46574 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
46575 Remove unused variable.
46577 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
46578 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46579 Fix constness of pointers.
46581 2010-12-07 Simon Fraser <simon.fraser@apple.com>
46583 Reviewed by Chris Marrin.
46585 Fix the Color -> CGColorRef conversions for the debug colors
46586 used for compositing layers.
46588 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
46589 (PlatformCALayer::setBackgroundColor):
46590 (PlatformCALayer::setBorderColor):
46592 2010-12-07 Brian Weinstein <bweinstein@apple.com>
46594 Reviewed by John Sullivan.
46596 Part of Layering Violation in ContextMenu
46597 https://bugs.webkit.org/show_bug.cgi?id=50586
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.
46603 It was a layering violation to have this class here, because ContextMenu can't know
46604 about ContextMenuController.
46606 This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
46607 and sets up the menu targets there.
46609 No change in behavior, no new tests.
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.
46617 2010-12-07 Simon Fraser <simon.fraser@apple.com>
46619 Reviewed by Dan Bernstein.
46621 -webkit-transition Fails on Multiple text-shadow Shadows
46622 https://bugs.webkit.org/show_bug.cgi?id=42281
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.
46628 Test: transitions/multiple-text-shadow-transition.html
46630 * page/animation/AnimationBase.cpp:
46631 (WebCore::PropertyWrapperShadow::blend):
46633 2010-12-07 Simon Fraser <simon.fraser@apple.com>
46635 Reviewed by Beth Dakin.
46637 CSS animation doesn't work for border-radius
46638 https://bugs.webkit.org/show_bug.cgi?id=48340
46640 Include CSSPropertyBorderRadius in the list of shorthand
46641 properties, so that the individual border-radius properties
46644 Test: transitions/border-radius-transition.html
46646 * page/animation/AnimationBase.cpp:
46647 (WebCore::addShorthandProperties):
46649 2010-12-07 Maciej Stachowiak <mjs@apple.com>
46651 Reviewed by Kent Tamura.
46653 Implement HTML5 hidden attribute
46654 https://bugs.webkit.org/show_bug.cgi?id=40511
46656 Test: fast/html/hidden-attr.html
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.
46662 2010-12-07 Kenneth Russell <kbr@google.com>
46664 Reviewed by David Levin.
46666 Fix compilation of core web audio files on Windows
46667 https://bugs.webkit.org/show_bug.cgi?id=50603
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.
46674 No new tests since audio API is not yet implemented.
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:
46702 2010-11-25 Philippe Normand <pnormand@igalia.com>
46704 Reviewed by Martin Robinson.
46706 [GStreamer] faster elements linking
46707 https://bugs.webkit.org/show_bug.cgi?id=50067
46709 Perform less checks during GStreamer elements linking if building
46710 against GStreamer >= 0.10.30.
46712 * platform/graphics/gstreamer/GStreamerGWorld.cpp:
46713 (WebCore::GStreamerGWorld::enterFullscreen):
46714 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
46715 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
46717 2010-12-07 Philippe Normand <pnormand@igalia.com>
46719 Reviewed by Gustavo Noronha Silva.
46721 [GStreamer] ::buffered() should return multiple ranges in some cases
46722 https://bugs.webkit.org/show_bug.cgi?id=45101
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.
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
46734 Test: http/tests/media/video-buffered.html
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.
46746 2010-12-07 Yael Aharon <yael.aharon@nokia.com>
46748 Reviewed by Antonio Gomes.
46750 Spatial navigation not Working for Map and Area Tags
46751 https://bugs.webkit.org/show_bug.cgi?id=47142
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.
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
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):
46773 2010-12-07 Darin Adler <darin@apple.com>
46775 Try to fix V8 build.
46777 * bindings/generic/BindingDOMWindow.h:
46778 (WebCore::BindingDOMWindow::createWindow): Pass security origin.
46780 2010-12-07 Darin Adler <darin@apple.com>
46784 * loader/CrossOriginAccessControl.cpp: Added a missing include.
46786 2010-12-07 Darin Adler <darin@apple.com>
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.
46796 2010-12-06 Darin Adler <darin@apple.com>
46798 Reviewed by Sam Weinig.
46800 Pass security origin to make local file decision correctly
46801 https://bugs.webkit.org/show_bug.cgi?id=48603
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.
46809 * bindings/js/JSDOMWindowCustom.cpp:
46810 (WebCore::JSDOMWindow::setLocation): Pass security origin.
46811 (WebCore::createWindow): Ditto.
46812 (WebCore::JSDOMWindow::open): Ditto.
46814 * bindings/js/JSDocumentCustom.cpp:
46815 (WebCore::JSDocument::setLocation): Pass security origin.
46817 * dom/Document.cpp:
46818 (WebCore::Document::processHttpEquiv): Pass security origin.
46820 * inspector/InspectorController.cpp:
46821 (WebCore::InspectorController::openInInspectedWindow):
46822 Pass security origin.
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.
46838 * loader/FrameLoader.h: Updated for argument changes above.
46840 * loader/NavigationScheduler.cpp:
46841 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
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
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.
46859 * loader/NavigationScheduler.h: Added the security origin argument
46860 to scheduleLocationChange.
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.
46868 * page/ContextMenuController.cpp:
46869 (WebCore::openNewWindow): Pass in the security origin.
46870 (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
46872 * page/FrameLoadRequest.h: Added a security origin called the requester
46873 to all FrameLoadRequest objects.
46875 * page/XSSAuditor.cpp:
46876 (WebCore::XSSAuditor::findInRequest): Added the security origin.
46878 2010-12-07 Yury Semikhatsky <yurys@chromium.org>
46880 Reviewed by Pavel Feldman.
46882 Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
46883 https://bugs.webkit.org/show_bug.cgi?id=50627
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.
46889 2010-12-07 Csaba Osztrogonác <ossy@webkit.org>
46891 Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
46893 * page/animation/AnimationBase.cpp:
46894 (WebCore::addShorthandProperties):
46896 2010-12-07 Martin Robinson <mrobinson@igalia.com>
46898 Unreviewed, rolling out r73392.
46899 http://trac.webkit.org/changeset/73392
46900 https://bugs.webkit.org/show_bug.cgi?id=50489
46902 This commit caused crashes on the GTK+ bots
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):
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):
46952 2010-12-07 Patrick Gansterer <paroga@webkit.org>
46954 Reviewed by Andreas Kling.
46956 [CMake] Remove WebKitGenerators
46957 https://bugs.webkit.org/show_bug.cgi?id=50445
46959 Move remaining logic into main CMakeLists.txt.
46963 2010-12-07 Justin Schuh <jschuh@chromium.org>
46965 Reviewed by Nikolas Zimmermann.
46967 Clear old SVG cursor entry before adding a new one
46968 https://bugs.webkit.org/show_bug.cgi?id=50549
46970 Test: svg/css/cursor-replace.svg
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:
46986 2010-12-07 Kenichi Ishibashi <bashi@google.com>
46988 Reviewed by Kent Tamura.
46990 Let HTMLObjectElement be a form associated element
46991 https://bugs.webkit.org/show_bug.cgi?id=48821
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.
46999 Test: fast/forms/form-collection-elements-order.html
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
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
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):
47112 2010-12-06 Pavel Feldman <pfeldman@chromium.org>
47114 Not reviewed. Rolling out r72988 for breaking iframes.
47116 * css/CSSImportRule.cpp:
47117 (WebCore::CSSImportRule::insertedIntoParent):
47119 2010-12-06 Hironori Bono <hbono@chromium.org>
47121 Reviewed by David Levin.
47123 [Chromium] Refactor FontCacheChromiumWin.cpp
47124 https://bugs.webkit.org/show_bug.cgi?id=50611
47126 This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
47128 No new tests are added since this is a refactoring.
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.
47138 2010-12-06 Alexey Marinichev <amarinichev@chromium.org>
47140 Reviewed by Kenneth Russell.
47142 Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
47143 https://bugs.webkit.org/show_bug.cgi?id=50364
47145 No new tests since there is currently no way to force a context lost event.
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):
47157 2010-12-06 David Hyatt <hyatt@apple.com>
47159 Reviewed by Simon Fraser.
47161 https://bugs.webkit.org/show_bug.cgi?id=50593
47163 Fix background canvas painting for documents with left/top overflow. The math from the original RTL patch was incorrect.
47165 Just use the RenderView's document dimensions always.
47167 * rendering/RenderBox.cpp:
47168 (WebCore::RenderBox::paintRootBoxDecorations):
47170 2010-12-06 Simon Fraser <simon.fraser@apple.com>
47172 Reviewed by Beth Dakin.
47174 CSS animation doesn't work for border-radius
47175 https://bugs.webkit.org/show_bug.cgi?id=48340
47177 Include CSSPropertyBorderRadius in the list of shorthand
47178 properties, so that the individual border-radius properties
47181 Test: transitions/border-radius-transition.html
47183 * page/animation/AnimationBase.cpp:
47184 (WebCore::addShorthandProperties):
47186 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
47188 Reviewed by Tony Chang.
47190 ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
47191 https://bugs.webkit.org/show_bug.cgi?id=49938
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.
47198 No new tests are added since this is a refactoring.
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:
47242 2010-12-05 Ryosuke Niwa <rniwa@webkit.org>
47244 Reviewed by Tony Chang.
47246 Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
47247 https://bugs.webkit.org/show_bug.cgi?id=47300
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.
47252 Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
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.
47259 Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
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:
47274 2010-12-03 Zhenyao Mo <zmo@google.com>
47276 Reviewed by Kenneth Russell.
47278 Postpone gl delete* calls until shaders/programs are no longer attached
47279 https://bugs.webkit.org/show_bug.cgi?id=50501
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.
47303 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
47305 Yet unreviewed another Leopard build fix for r73380.
47307 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
47308 (PlatformCAAnimation::setKeyTimes):
47309 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
47310 (PlatformCALayer::platformCALayer):
47312 2010-12-06 Andy Estes <aestes@apple.com>
47314 Reviewed by Darin Adler.
47316 Marquee elements do not stop animating when scrollAmount is set to 0.
47317 https://bugs.webkit.org/show_bug.cgi?id=50434
47319 Test: fast/html/marquee-scrollamount.html
47321 * rendering/RenderMarquee.cpp:
47322 (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
47324 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
47326 Unreviewed Leopard buildfix for r73380.
47328 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
47329 (PlatformCAAnimation::setTimingFunctions):
47330 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
47331 (PlatformCALayer::PlatformCALayer):
47333 2010-12-06 Philippe Normand <pnormand@igalia.com>
47335 Reviewed by Martin Robinson.
47337 [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
47338 https://bugs.webkit.org/show_bug.cgi?id=44157
47340 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
47341 (webKitWebSrcNeedDataMainCb):
47342 (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
47343 with cross-platform ResourceHandle::setDefersLoading calls.
47345 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
47347 Unreviewed Leopard build fix for r73388.
47349 * accessibility/AccessibilitySlider.cpp:
47350 (WebCore::AccessibilitySlider::maxValueForRange):
47351 (WebCore::AccessibilitySlider::minValueForRange):
47353 2010-12-06 Ryosuke Niwa <rniwa@webkit.org>
47355 Unreviewed build fix for Leopard after r73379.
47357 * platform/graphics/cg/GraphicsContextCG.cpp:
47358 (WebCore::GraphicsContext::setAllowsFontSmoothing):
47360 2010-12-06 Nate Chapin <japhet@chromium.org>
47362 Reviewed by Adam Barth.
47364 Make DocumentWriter a member of DocumentLoader
47365 instead of FrameLoader.
47366 https://bugs.webkit.org/show_bug.cgi?id=50489
47368 Refactor, no new tests.
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):
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):
47420 2010-12-06 Mark Rowe <mrowe@apple.com>
47424 * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
47425 That's just plain wrong.
47427 2010-12-06 Chris Fleizach <cfleizach@apple.com>
47429 Reviewed by Darin Adler.
47431 HTML5 Slider does not work correctly with VoiceOver
47432 https://bugs.webkit.org/show_bug.cgi?id=50505
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.
47441 Test: platform/mac/accessibility/html-slider-indicator.html
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):
47462 2010-12-06 David Hyatt <hyatt@apple.com>
47464 Reviewed by Simon Fraser.
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.
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.
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.
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.
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.
47488 Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest.
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.
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.
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.
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.
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.
47517 (WebCore::InlineFlowBox::computeOverflow):
47518 The new function that computes both horizontal and vertical overflow for a line box.
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.
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.)
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.
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.
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.
47552 (WebCore::RenderBlock::paint):
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.
47562 (WebCore::RenderBlock::nodeAtPoint):
47565 (WebCore::RenderBlock::layoutColumns):
47566 Remove column overflow computation from layoutColumns and move it to computeOverflow.
47568 (WebCore::RenderBlock::adjustLinePositionForPagination):
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.
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):
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.
47589 (WebCore::RenderBox::paintRootBoxDecorations):
47590 Use docLeft and docTop here, so that writing modes are handled.
47592 (WebCore::RenderBox::clippedOverflowRectForRepaint):
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.
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.
47613 (WebCore::RenderBox::clientLogicalBottom):
47614 New helper for obtaining the logical bottom of the client box.
47616 (WebCore::RenderBox::clientBoxRect):
47617 New helper for obtaining the clientLeft/Top/Width/Height box.
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.
47623 * rendering/RenderFlexibleBox.cpp:
47624 (WebCore::RenderFlexibleBox::layoutBlock):
47625 Changed flexible boxes to just call the base class computeOverflow method.
47627 * rendering/RenderInline.cpp:
47628 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
47629 (WebCore::RenderInline::clippedOverflowRectForRepaint):
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
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.
47646 (WebCore::RenderLayer::computeScrollDimensions):
47647 Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
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
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.
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).
47663 (WebCore::RenderLayer::localBoundingBox):
47666 * rendering/RenderLayer.h:
47667 Added the new overflowTop/Left/Right/Bottom accessors.
47669 * rendering/RenderLineBoxList.cpp:
47670 (WebCore::RenderLineBoxList::anyLineIntersectsRect):
47671 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
47672 (WebCore::RenderLineBoxList::paint):
47673 (WebCore::RenderLineBoxList::hitTest):
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.
47682 * rendering/RenderListMarker.cpp:
47683 (WebCore::RenderListMarker::paint):
47686 * rendering/RenderMarquee.cpp:
47687 (WebCore::RenderMarquee::computePosition):
47688 Changed to use overflow functions instead of rightmost/lowestPosition.
47690 * rendering/RenderMedia.cpp:
47691 * rendering/RenderMedia.h:
47692 Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
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.
47700 * rendering/RenderReplaced.cpp:
47701 (WebCore::RenderReplaced::shouldPaint):
47702 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
47705 * rendering/RenderRubyRun.cpp:
47706 (WebCore::RenderRubyRun::layout):
47707 Call computeOverflow to recompute our overflow information after we adjust the ruby.
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.
47716 * rendering/RenderTableCell.cpp:
47717 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
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.
47726 * rendering/RenderTableCell.h:
47727 (WebCore::RenderTableCell::hasVisualOverflow):
47730 * rendering/RenderTableSection.cpp:
47731 (WebCore::RenderTableSection::layoutRows):
47732 * rendering/RenderTableSection.h:
47733 visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions.
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
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.
47752 * rendering/RootInlineBox.cpp:
47753 (WebCore::RootInlineBox::addHighlightOverflow):
47754 Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
47756 (WebCore::RootInlineBox::alignBoxesInBlockDirection):
47757 Remove the computation of block direction overflow, since it now all happens at once after the line is built.
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
47764 2010-12-06 Chris Marrin <cmarrin@apple.com>
47766 Reviewed by Simon Fraser.
47768 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
47769 https://bugs.webkit.org/show_bug.cgi?id=49388
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.
47779 This patch is only for Mac. Windows implementation has not changed.
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:
47813 2010-12-06 Simon Fraser <simon.fraser@apple.com>
47815 Reviewed by Dan Bernstein.
47817 Font antialiasing (smoothing) changes when elements are rendered into compositing layers
47818 https://bugs.webkit.org/show_bug.cgi?id=23364
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.
47823 * platform/graphics/GraphicsContext.h:
47824 * platform/graphics/cg/GraphicsContextCG.cpp:
47825 (WebCore::GraphicsContext::setAllowsFontSmoothing):
47826 * platform/graphics/mac/WebLayer.mm:
47827 (drawLayerContents):
47829 2010-12-06 Patrick Gansterer <paroga@webkit.org>
47831 Reviewed by Andreas Kling.
47833 [WINCE] Add build system
47834 https://bugs.webkit.org/show_bug.cgi?id=50522
47836 * CMakeListsWinCE.txt: Added.
47838 2010-12-06 Chris Fleizach <cfleizach@apple.com>
47840 Reviewed by Oliver Hunt.
47842 AX does not support HTML5 "required"
47843 https://bugs.webkit.org/show_bug.cgi?id=50507
47845 Test: platform/mac/accessibility/html5-required-attribute.html
47847 * accessibility/AccessibilityRenderObject.cpp:
47848 (WebCore::AccessibilityRenderObject::isRequired):
47850 2010-12-06 Alejandro G. Castro <alex@igalia.com>
47852 Reviewed by Martin Robinson.
47854 [GTK] using shadows leaks memory
47855 https://bugs.webkit.org/show_bug.cgi?id=50541
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
47865 2010-12-06 Yury Semikhatsky <yurys@chromium.org>
47867 Reviewed by Pavel Feldman.
47869 [v8] Web Inspector: remove duplicate code for capturing stack trace
47870 https://bugs.webkit.org/show_bug.cgi?id=50461
47872 No new tests. Covered with existing inspector tests.
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):
47896 == Rolled over to ChangeLog-2010-12-06 ==